UnrealIRCd 3.2 – kanaly a unicode.
To dzisiaj na moim blogu osoby niezainteresowane tematyką informatyczną się ponudzą.
Dzisiaj, drogie dzieci (tjaaa…) opowiem wam o zjawisku kanałów zawierających znaki unicode w swoich nazwach. Ale o co chodzi?
‘Znaczki’ o które mi chodzi to różne specjalne znaki, typu: €, ث, ©, ñ, á. Oczywiście na serwerach opartych o unreala można dołączyć na kanały zawierające takie znaki w nazwach, nawet je rejestrować w serwisach. Nie powinno tak być.
Dlaczego?
Kodowanie. Każdy może mieć inne kodowanie, przez co nie wszystkie znaki wyświetlane są poprawnie. Przykładowo:
użytkownik dołączył do kanału #€, jego zestaw znaków to unicode UTF-8. Ja, korzystając z ISO-8859-2 widzę to jako #EUR. Próbując dołączyć do tego kanału, dołączam na #EUR, nie na #€.
Nawet jeśli mam UTF-8, ktoś może użyć innego kodowania, przez co nie będe w stanie prawidłowo dołączyć na ten kanał.
Zakładając że tworzy się tam jakiś ddosnet, dochodzi do łamania prawa, lub łamania regulaminu sieci, nie jestem w stanie jako administrator tego sprawdzić (no bo jak mogę kontrolować kanał nie mogąc do niego dołączyć?).
Dodatkowo, niektóre znaki unicode w nazwach kanałów powodują błędne działanie IRCd. Znikające okna, kanały-duchy… No ale jak temu zapobiec?
Kolega Tril, na potrzeby naszej sieci, napisał mały moduł który uniemożliwia dołączanie do kanałów posiadających inne znaki niż [A-Za-z0-9-_.]. Moduł pobrać można z >tego linku<
Jeszcze mała instrukcja jak zainstalować moduł:
cd /home/samaelszafran/Unreal3.2/src/moduleswget http://blog.samaelszafran.pl/download/m_chanchar.ccd ../..make custommodule MODULEFILE=m_chancharmake install #tylko jesli zainstalowalismy Unreala w innej sciezce.
Następnie dodajemy w configu następującą linijkę:
loadmodule "src/modules/m_chanchar.so";
No. To na tyle. Dobranoc Państwu ;)

Zostaw komentarz