/*
 * efnet-pl, Copyright (C) 2004-2007 Adam Wysocki
 *
 * Najnowsza wersja: http://www.chmurka.net/p/efnet-pl.zip
 * Skargi i wnioski: Adam Wysocki, gophi <at> chmurka.net
 *
 * efnet-pl to proxy IRCowe, zamieniajce polskie znaki w standardzie 
 * Windows-1250 (uywanym m.in. przez mIRCa) na standard ISO-8859-2, 
 * powszechnie uywany w Internecie. efnet-pl zostao zaprojektowane 
 * tak, eby maksymalnie uatwi uywanie go. Oprcz tumaczenia polskich 
 * znakw posiada wbudowany serwer identyfikacji, zwracajcy odpowiedzi 
 * w zalenoci od nazwy uytkownika, przekazanej przez program mIRC. 
 * Proxy moe by take uywane do czenia si z innymi serwerami ni 
 * irc.efnet.pl.
 *
 * Uycie: W wikszoci przypadkw wystarczy po prostu uruchomienie 
 * programu efnet-pl.exe i wpisanie w mIRCu serwera o nazwie localhost. 
 * Jeli masz z tym problemy, zajrzyj na stron www.efnet.pl do dziau 
 * "Jak zacz", gdzie dokadniej opisalimy sposb konfiguracji mIRCa.
 *
 * Dla zaawansowanych uytkownikw przewidzielimy wiksz kontrol nad 
 * programem. W linii polece mona poda jedn lub wicej opcji spord:
 *
 *  * -h: powoduje wypisanie krtkiego ekranu pomocy i wyjcie.
 *
 *  * -i ident: moe wynosi -, + lub nazwa. Jeli zostanie podany - (minus), 
 *    serwer identyfikacji zostanie wyczony. Jeli zostanie podany +, to 
 *    serwer zostanie wczony, a nazwa uytkownika zwracana przez niego 
 *    bdzie brana z komendy USER, wysyanej przez program mIRC. Jeli 
 *    zostanie podana nazwa, to serwer zignoruje komend USER i bdzie 
 *    zwraca podan nazw. Jeli poczenie z serwerem identyfikacji 
 *    nastpi wczeniej ni komenda USER, to zostanie zwrcony bd 
 *    NO-USER. Domyln wartoci jest +.
 *
 *  * -b port: okrela podstawowy port, na ktrym sucha efnet-pl. Proxy 
 *    przyjmuje tylko jedno poczenie na ten port. Jeli podczas trwajcego 
 *    poczenia nadejdzie inne poczenie, to zostanie ono automatycznie 
 *    zakoczone. Domylna warto: 6667.
 *
 *  * -l host: okrela hosta lub adres IP interfejsu, na ktrym ma sucha 
 *    efnet-pl. To przydatne jeli chcemy mie stuprocentow pewno, e 
 *    nikt spoza lokalnej maszyny nie poczy si z serwerem. Mona poda 
 *    -, wtedy program bdzie sucha na wszystkich interfejsach. Domylna 
 *    warto: 127.0.0.1.
 *
 *  * -a port: okrela port, na ktrym sucha serwer identyfikacji. Jeli 
 *    podano opcj -i -, to warto jest ignorowana. Serwer identyfikacji 
 *    sucha na wszystkich interfejsach.
 *
 *  * -s serwer: serwer, z ktrym program si czy. Przydatne jeli kto 
 *    chce uywa proxy do pocze z innymi serwerami, ni irc.efnet.pl. 
 *    Domylna warto: irc.efnet.pl.
 *
 *  * -p port: port, na ktrym proxy czy si z serwerem IRC. Przydatne, 
 *    jeli kto chce uywa efnet-pl do transkodowania innego protokou 
 *    ni IRC. Domylna warto: 6667.
 *
 * Proxy przystosowane jest do pracy z jednym uytkownikiem. Oznacza to, 
 * e umoliwia jednoczesne poczenie tylko jednego programu mIRC, tylko 
 * jednego serwera IRC do serwera identyfikacji, itp.
 *
 * Programem mona sterowa z klawiatury. Przyjmowane klawisze:
 *
 *   q: natychmiastowe wyjcie z programu.
 *   k: zabicie biecego poczenia (mIRCa z proxy i proxy z serwerem).
 *   K: zabicie biecego poczenia serwera IRC z serwerem autoryzacji.
 *
 * Ze wzgldu na jednouytkownikowe zastosowanie w programie nie 
 * zaimplementowano obsugi timeoutw, czyli ogranicze czasowych 
 * na wykonanie okrelonych zada. Ze wzgldu na swoj elastyczno, 
 * po wyczeniu sprawdzania komendy USER (opcja -i - lub -i +ident) 
 * program moe robi za proxy take dla usug niezwizanych z IRCem, 
 * jak np. Usenet News.
 *
 * Program wywietla wszystkie uyteczne informacje na konsoli tekstowej. 
 * Nie tworzy adnych plikw na dysku ani w aden sposb, poza translacj 
 * znakw, nie ingeruje w dane przesyane midzy programem mIRC i serwerem. 
 * Program jest darmowy, mona rozpowszechnia go na dowolnych nonikach 
 * pod warunkiem, e nie bdzie w aden sposb zmieniony i zostan doczone 
 * pliki: efnet-pl.exe (plik wykonywalny), efnet-pl.txt (ten opis) oraz 
 * efnet-pl.c (kompletny kod rdowy). W zwizku ze sposobem dystrybucji 
 * programu ani autor ani firma ATM S.A. nie daje adnej gwarancji na niego, 
 * na to e bdzie dziaa poprawnie ani nawet na to, e bdzie dziaa 
 * w ogle, jednak w przypadku problemw technicznych warto skontaktowa 
 * si z autorem (adres podany na pocztku tego pliku).
 *
 * Po skompilowaniu program trzeba zlinkowa z bibliotek obsugujc 
 * Windows Sockets, np. watcom\lib386\nt\wsock32.lib.
 * 
 * Changelog:
 *
 *  * [09.07.2004] v1.0a - mirc-pl.
 *  * [12.08.2004] v1.1 - mirc-pl dla sieci efnet.
 *  * [18.09.2004] v2.0 - kompletne przepisanie mirc-pl, dodanie wielu opcji.
 *  * [24.09.2004] v2.1 - poprawienie zgoszonego przez Jacka Wojaczyskiego 
 *                        buga w funkcji tunelujcej.
 *  * [30.12.2006] v2.2 - poprawienie zgoszonego przez Marcina Frankowskiego 
 *                        buga w funkcji parsujcej lini polece.
 */
