<!doctype linuxdoc system>
<linuxdoc>
  <article>
      <title>DConnect&reg Daemon</title>
      <author>
	<name> </name>
      </author>
    <toc>
    <sect>
      <heading>Czym jest DConnect Deamon?</heading>
      <p>
DConnect Deamon jest hubem Direct Connect (stworzonego przez NeoModus Software) pracujacym pod kontrolą systemu *nix. Stworzyliśmy go, ponieważ chcieliśmy otrzymać stabilny program, dla stabilnego systemu. DConnect pracuje jako demon systemowy.

Najnowszą wersję programu DConnect Deamon możesz znaleźć na stronie <url url="http://www.dc.ds.pg.gda.pl">
        </p>
    </sect>
    
    <sect>
      <heading>Cechy programu</heading>
      <sect1>
	<heading>Co już jest.</heading>
	<p>
        <list>
	    <item> implementacja programu w szybkim, czystym C</item>
	    <item> obsługa libwrap (hosts.allow, hosts.deny)</item>
	    <item> niewielkie zużycie pamięci przez użytkownika</item>
	    <item> wykorzystanie wątków (bez rozwidleń)</item>
	    <item> obsługa wymaganych wzorców nick'ów</item>
	    <item> tworzenie użytkowników z prawami administratorów i zabezpieczanie ich kont hasłem</item>
	    <item> czasowe/całkowite banowanie </item>
	    <item> wykopywanie</item>
	    <item>przekierowania</item>
	    <item> obsluga systemow operacyjnych:
		<itemize>
			<item*BSD</item>
			<item>Linux</item>
			<item>MacOS X</item>
			<item>Windows</item>
			<item>Solaris</item>
			    
		</itemize>
	    </item>


	  </list>
        </p>
      </sect1>
      <sect1>
	<heading>Co zostało do zrobienia? (ToDo)</heading>
	<p>
<list>
	    <item>dokumentacja</item>
	    <item>pełna implementacja protokołu DC:
              <itemize>
		<item>sprawdzanie klucza</item>
		<item>obsługa wyszukiwania i kolejkowania dla trybu pasywnego</item>
		<item>lista OP'ów</item>

		<item>hub net: MultiSearch, MultiConnectToMe</item>
              </itemize>
            </item>
	    <item>logowanie:
<itemize>
		<item>w zależności od ustawień w pliku konfiguracji</item>
		<item>wrzucanie czatów publicznych, prywatnych, komunikatów serwera itp. do oddzielnych logów</item>
		<item>Umieszczanie logów w lokalizacji podanej w dchub.conf</item>
		<item>rózne poziomy debugowania</item>
	      </itemize>
</item>
	    <item>parser pliku konfiguracyjnego</item>
	    <item>zdalne podłączenie FTP/HTTP (?)</item>
	    <item>gromadzenie danych statystycznych z wykorzystaniem HTML/SQL lub czegoś podobnego</item>

	    <item>wykorzystanie skryptów (perl, tcl, etc.)</item>
	    <item>obłsuga IPv6 (? jeśli to wogóle jest możliwe :) ?)</item>
	    <item>skrypty dla Debiana, RedHata, etc. ...</item>
	    <item>hosty wirtualne</item>
	    <item>obsługa przekierowań</item>
	    <item>administracja hubem:
<itemize>
		<item>przy wykorzystaniu telnetu</item>
		<item>przy wykorzystaniu WWW</item>
		<item>za pomocą konta administratora</item>
	      </itemize>
</item>

	    <item>zabezpieczenia:
<itemize>
		<item>chroot</item>
		<item>dla użytkownika przy uruchamianiu z linii poleceń</item>
		<item>umieszczanie nazw  użytkowników/grup mogących korzystać z hub'a w pliku konfiguracyjnym</item>
	      </itemize>
</item>
<item>Dodatkowe funkcje chata:
<itemize>
		<item>+time  - pokazuje czas i date na hubie</item>
		<item>+show ops  - pokazuje dostęnych Operatorów</item>
		<item>+myip  - pokazuje twoje IP</item>
		<item>+seen &lt;nick&gt; - pokazuje kiedy użytkownik ostatni raz był na hubie</item>
		<item>+away &lt;message&gt; - ustawia away (+away bez &lt;message&gt; wyłącza tryb away)</item>
		<item>+wi &lt;nick&gt;  - pokazuje status away</item>
</itemize>
</item>
	    <item>możliwość wyłączenia chatów - tylko wiadomości od admina i od huba</item>
	    <item>określenie, które hosty są uprawnione do udostępniania czegokolwiek</item>
	    <item>tylko określone hosty/domeny/klasy adresowe są widoczne na liście użytkowników huba</item>
	  </list>
</p>
      </sect1>
    </sect>
    <sect>
      <heading>Licencja.</heading>
      <p>
Tłumaczenie licencji GNU pochodzi ze strony <htmlurl url="http://www.linux.org.pl" name="Polish Linux User Group">. Oryginał znajduje się na stronie <htmlurl url="http://www.fsf.org/copyleft/gpl.html" name="GNU General Public License">
<table>
<tabular ca="ll">
<bf>Uwaga!</bf>To jest nieoficjalne tłumaczenie Powszechnej Licencji Publicznej GNU na język polski. Nie zostało opublikowane przez Free Software Foundation ipod względem prawnym nie stanowi warunków rozpowszechniania oprogramowania stosującego GNU GPL -- ustanawia je wyłącznie oryginalny angielski tekst licencji GNU GPL. Jednak mamy nadzieję, że pomoże ono lepiej zrozumieć Licencję osobom mówiącym po polsku.
|
<bf>Note!</bf> This is an unofficial translation of the GNU General Public License into Polish. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL--only the original English text of the GNU GPL does that. However, we hope that this translation will help Polish speakers understand the GNU GPL better.
          </tabular>
	</table>

<bf>Powszechna Licencja Publiczna GNU</bf>
<p>
Wersja 2, czerwiec 1991
<p>
Copyright &copy; 1989, 1991 Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139 USA. 

Zezwala się na kopiowanie i rozpowszechnianie wiernych kopii niniejszego
dokumentu licencyjnego, jednak bez prawa wprowadzania zmian. 

<bf>Preambuła</bf>

Większość licencji na oprogramowanie pomyślana jest po to, aby odebrać użytkownikowi możliwość swobodnego udostępniania innym i zmieniania danego software'u. Natomiast w wypadku Powszechnej Licencji Publicznej GNU (GNU General Public License, GPL) celem jest zagwarantowanie użytkownikowi swobody udostępniania i zmieniania tego bezpłatnego oprogramowania, a więc danie pewności, iż oprogramowanie jest wolno dostępne dla wszystkich użytkowników. Niniejsza Powszechna Licencja Publiczna dotyczy większości oprogramowania wydawanego przez Fundację Wolnego Oprogramowania (Free Software Foundation) oraz wszelkich innych programów, których autorzy zobowiązują się do jej stosowania. (Niektóre rodzaje oprogramowania wydawanego przez Fundację objęte są Powszechną Licencją Publiczną GNU dla Bibliotek, GNU Library General Public License). Użytkownik może stosować ją również do swoich programów. 

Mówiąc o wolnym oprogramowaniu mamy na myśli swobodę, a nie cenę. Nasze Powszechne Licencje Publiczne wprowadzono po to, aby zapewnić Państwu swobodę rozpowszechniania kopii tego oprogramowania (i - jeśli ktoś chce - pobierania za tę usługę opłaty), jak również aby udostępnić kod źródłowy oraz umożliwić dokonywanie zmian tego oprogramowania lub wykorzystywania jego fragmentów w nowych, wolnych programach. Nie bez znaczenia jest też sama możliwość dotarcia do Państwa z informacją o wszystkich tych udogodnieniach.

W celu ochrony praw użytkownika jesteśmy zmuszeni wprowadzać ograniczenia zabraniające komukolwiek kwestionowanie jego praw albo sugerowanie rezygnacji z tych praw. Ograniczenia te sprowadzają się do pewnych dla Państwa obowiązków w przypadku rozpowszechniania przez Was kopii naszego oprogramowania bądź dokonywania w nim zmian.

Na przykład, jeśli rozprowadzacie Państwo kopie takiego programu, niezależnie czy gratisowo, czy za opłatą, musicie Państwo odbiorcy udzielić wszelkich tych praw, jakie mieliście sami. Musicie zapewnić mu również otrzymanie kodu źródłowego (lub możliwość otrzymania) oraz przedstawić niniejsze Warunki, aby mógł on poznać swoje prawa. 

Ochrona Państwa praw przebiega w dwóch etapach:

<itemize>
	  <item>zastrzegamy prawo własności autorskiej do oprogramowania,</item>
	  <item>oferujemy Państwu niniejszą licencję, która daje Wam sankcjonowane prawem zezwolenie na kopiowanie, rozpowszechnianie i/lub modyfikowanie tego oprogramowania.</item>

</itemize>

Ponadto dla ochrony tak autora, jak i naszej, pragniemy mieć pewność, że każdy zrozumie, iż na niniejsze wolne oprogramowanie nie udziela się gwarancji. W razie dokonania w nim przez kogoś modyfikacji i puszczenia dalej do obrotu, pragniemy, aby dalsi odbiorcy zdawali sobie sprawę z tego, że problemy wprowadzone przez inne osoby nie są wyrazem oryginalnych działań twórców.

I rzecz ostatnia: każdemu wolnemu programowi stale zagrażają patenty na oprogramowanie. Naszym pragnieniem jest unikanie takiego niebezpieczeństwa, kiedy redystrybutorzy wolnego programu indywidualnie uzyskują prawa patentowe, nadając tym samym programowi charakter prawnie zastrzeżony. W celu zapobieżenia takim zjawiskom jednoznacznie wyjaśniliśmy, że każdy patent musi być wydawany albo dla swobodnego użytku przez wszystkich, albo nie wydawany wcale. 

Poniżej podajemy dokładne zasady i warunki kopiowania, rozpowszechniania i modyfikowania.

<bf>Zasady i warunki kopiowania, rozpowszechniania i modyfikowania</bf>

Niniejsza Licencja dotyczy programów i innych prac, na których umieszczona jest pochodząca od właściciela praw autorskich informacja, że dany program lub praca może być rozpowszechniana na warunkach niniejszej Powszechnej Licencji Publicznej. Używane poniżej słowo "Program" oznacza właśnie takie programy lub prace, zaś określenie "praca oparta na Programie" dotyczy albo Programu, albo pochodzącej od niego pracy w rozumieniu prawa autorskiego, to jest pracy zawierającej Program lub jego część dosłowną, bądź zmodyfikowaną i/lub przełożoną na inny język. (W dalszym ciągu niniejszego, pojęcie przekładu włącza się bez ograniczeń
do terminu "modyfikacja"). Do każdego licencjobiorcy będziemy zwracać się "per Ty". 

Niniejsza Licencja nie obejmuje działań innych niż kopiowanie, rozprowadzanie i modyfikowanie - nie mieszczą się one w jej zakresie. Czynność używania Programu nie jest poddana ograniczeniom, a produkty uzyskane z Programu objęte są Licencją tylko wtedy, gdy ich treść stanowi pracę opartą na Programie (niezależnie od stworzenia jej przy użyciu Programu). To, czy fakt taki jest prawdą, zależy od tego, co dany Program wykonuje. 
<p>
<enum>
	  <item>
Możesz kopiować i rozprowadzać w dowolnych mediach wierne kopie kodu źródłowego Programu w otrzymanej formie pod warunkiem, że w widoczny sposób i odpowiednio podasz na każdej kopii właściwą informację o prawie autorskim i zrzeczenie się uprawnień z tytułu gwarancji; wszelkie napisy informacyjne na temat Licencji ifaktu nieudzielania gwarancji musisz chronić przed uszkodzeniem, zaś wszystkim innym odbiorcom Programu musisz wraz z Programem wręczać egzemplarz niniejszej Licencji. 
<p>
Możesz pobierać opłatę za fizyczną czynność przekazania kopii i według własnej decyzji możesz za opłatą proponować ochronę gwarancyjną. 
<p>
</item>

<item>
Możesz modyfikować swoją kopię czy kopie Programu oraz dowolne jego części, tworząc przez to pracę opartą na Programie, jak również kopiować i rozprowadzać takie modyfikacje i pracę na warunkach podanych w pkt.1 powyżej - pod warunkiem przestrzegania całości poniższych wymogów:
<p>
<itemize>
	      <item>
Musisz spowodować umieszczenie na zmodyfikowanych plikach widocznej informacji o tym, że dane pliki zostały przez ciebie zmienione, wraz z datą dokonania zmian. 
    </item>
	      <item>
Musisz doprowadzić do tego, aby każda rozpowszechniana lub publikowana przez ciebie praca, która w całości lub części zawiera Program, albo pochodzi od niego lub jego części, była w całości i bezpłatnie licencjonowana dla wszelkich stron trzecich na warunkach niniejszej Licencji. 
    </item>
	      <item>
Jeżeli zmodyfikowany program podczas korzystania z niego w normalnym trybie odczytuje polecenia interaktywnie, musisz spowodować, aby po uruchomieniu (użyty winteraktywny sposób w najzwyklejszym trybie), wydrukowywał on lub wyświetlał powiadomienie o odnośnym prawie autorskim i braku gwarancji (ewentualnie o zapewnianiu gwarancji przez ciebie), oraz o tym, że użytkownicy mogą redystrybuować ten program na niniejszych warunkach wraz z informacją, jak użytkownik może zapoznać się z treścią niniejszej Licencji.  (Wyjątek: jeśli sam Program jest interaktywny, ale normalnie nie drukuje takiego powiadomienia, twoja praca oparta na nim też nie musi wydrukowywać takiego powiadomienia).<p>
 </item>
	    </itemize>
Niniejsze wymogi odnoszą się do zmodyfikowanej pracy jako całości. Jeśli dające się ustalić sekcje danej pracy nie pochodzą od Programu i mogą być racjonalnie uważane za samodzielne i odrębne same w obie, to niniejsza Licencja i jej warunki nie mają zastosowania do takich sekcji przy rozprowadzaniu ich przez ciebie jako odrębne prace. Jeśli jednak rozprowadzasz je jako część całości, będącej pracą opartą na Programie, rozpowszechnianie tej całości musi być dokonywane na warunkach niniejszej Licencji, której zezwolenia dla innych licencjobiorców rozciągają się w całej szerokości na tę całość, a tym samym i na każdą indywidualną jej część, niezależnie od jej autorstwa. 
<p>
Dlatego też intencją tego fragmentu nie jest roszczenie sobie praw albo podważanie twych praw do pracy napisanej w całości przez ciebie. Chodzi nam raczej o korzystanie z prawa kontrolowania dystrybucji pochodnych i zbiorowych prac opartych na Programie. 
<p>
I jeszcze jedno: samo tylko połączenie z Programem (lub z pracą opartą na Programie) innej pracy - nie opartej na Programie, w ramach wolumenu nośnika przechowywania lub dystrybucji, nie powoduje objęcia takiej pracy zakresem niniejszej Licencji. 

</item>
	  <item>
Możesz kopiować i rozprowadzać Program (lub opartą na nim pracę - zgodnie z pkt.2 w kodzie wynikowym lub w formie wykonywalnej w myśl postanowień pkt.1 i 2 powyżej, pod warunkiem zrealizowania również poniższych wymogów:
<p>
<itemize>
	      <item>
Musisz dołączyć do niego odpowiadający mu, kompletny i możliwy do odczytania przez urządzenia cyfrowe kod źródłowy, który musi być rozpowszechniany na warunkach pkt.1 i 2 powyżej i na nośniku zwyczajowo używanym dla wzajemnej wymiany oprogramowania; lub 
</item>
	      <item>
dołączyć do niego pisemną ofertę, ważną co najmniej 3 lata, przyznającą każdej stronie trzeciej - za opłatą nie przekraczającą twego kosztu fizycznego wykonywania dystrybucji źródła - kompletną, odczytywalną przez urządzenia cyfrowe kopię odpowiadającego mu kodu źródłowego, rozprowadzaną na warunkach pkt.1 i 2 powyżej, na nośniku zwyczajowo używanym do wzajemnej wymiany oprogramowania; lub
</item>
	      <item>
dołączyć do niego informację, jaką otrzymałeś na temat oferty rozprowadzania odpowiedniego kodu źródłowego. (Ta możliwość dozwolona jest tylko dla dystrybucji niehandlowej i jedynie wtedy, gdy otrzymałeś dany program w kodzie wynikowym lub formie wykonywalnej wraz z wymienioną ofertą - zgodnie z podpunktem "b" powyżej).
</item>
	    </itemize>
Określenie kod źródłowy dla pracy oznacza formę pracy preferowaną dla wprowadzania do niej modyfikacji. Dla wykonanej pracy, kompletny kod źródłowy oznacza cały kod źródłowy wszystkich modułów, wszelkie sprzężone z nią pośredniczące pliki opisujące oraz zbiory komend stosowane do sterowania kompilacją i instalowaniem programów. Niemniej jednak, jako wyjątek specjalny, dystrybuowany (w formie źródłowej albo binarnej) kod źródłowy nie musi obejmować niczego, co jest normalnie rozprowadzane przy pomocy głównych komponentów (kompilator, jądro itd.) systemu operacyjnego, na którym pracuje część wykonywalna, o ile sam taki komponent towarzyszy tej części. 
<p>
Jeśli dystrybucja części wykonywalnej albo kodu wynikowego realizowana jest poprzez oferowanie dostępu do kopii z wyznaczonego miejsca, to oferowanie równoważnego dostępu dla kopiowania kodu źródłowego z tego samego miejsca liczy się jako rozpowszechnianie kodu źródłowego, nawet gdy strony trzecie nie są zmuszone do kopiowania źródła wraz z kodem wynikowym. 
<p>
</item>
	  <item>
Poza przypadkami jednoznacznie dozwolonymi w niniejszej Licencji, nie możesz kopiować, modyfikować, sublicencjonować ani rozpowszechniać Programu. We wszystkich pozostałych wypadkach, każda próba skopiowania, sublicencjonowania lub rozpowszechnienia Programu jest nieważna i powoduje automatyczne wygaśnięcie twoich praw z tytułu Licencji. Niemniej jednak, stronom, które już otrzymały od ciebie kopie albo prawa w ramach niniejszej Licencji, licencje nie wygasają tak długo, jak długo strony te w pełni stosują się do nich. 
<p>
</item>
	  <item>
Nie musisz akceptować niniejszej Licencji, jeżeli jej nie podpisałeś. Niemniej jednak, nic innego nie zapewni ci zezwolenia na modyfikowanie lub rozprowadzanie Programu i pochodzących od niego prac. Działania takie są prawnie zabronione, jeżeli nie przyjmujesz niniejszej Licencji. Dlatego też, poprzez modyfikowanie bądź rozpowszechnianie Programu (lub pracy na nim opartej) dajesz wyraz swojej akceptacji dla Licencji i wszelkich jej postanowień i warunków dotyczących kopiowania, rozprowadzania i modyfikowania Programu lub opartych na nim prac. 
<p>
</item>
	  <item>
W każdym przypadku redystrybucji przez ciebie Programu (albo opartej na nim pracy), odbiorca automatycznie otrzymuje od pierwotnego licencjodawcy licencję na kopiowanie, rozpowszechnianie i modyfikowanie Programu na niniejszych zasadach i warunkach. Na korzystanie przez odbiorcę z udzielonych w niniejszej Licencji praw nie możesz narzucać już dalszych ograniczeń. Nie jesteś stroną odpowiedzialną za kontrolę przestrzegania Licencji przez osoby trzecie. 
<p>
</item>
	  <item>
Jeśli na skutek wyroku sądowego lub zarzutu naruszenia patentu, jak też z każdej innej przyczyny (nie ograniczonej do kwestii patentowych) zostaną narzucone na ciebie (niezależnie czy to mocą wyroku sądowego, umowy, czy w inny sposób) warunki sprzeczne z warunkami niniejszej Licencji, to nie zwalniają one ciebie z warunków Licencji. Jeśli nie możesz prowadzić dystrybucji tak, aby wypełniać jednocześnie swoje obowiązki z tytułu  niniejszej Licencji i inne odnośne obowiązki, to w rezultacie nie możesz wcale rozprowadzać Programu. Na przykład, gdyby licencja patentowa nie zezwalała na wolną od opłat licencyjnych redystrybucję Programu przez wszystkie osoby, które otrzymały kopie bezpośrednio lub pośrednio od ciebie, to jedynym sposobem pozwalającym ci na przestrzeganie i licencji patentowej, i Licencji niniejszej, byłoby całkowite powstrzymanie się od jakiejkolwiek dystrybucji Programu. 
<p>
Jeżeli w jakichś szczególnych okolicznościach któryś fragment niniejszego punktu stałby się nieważny lub niewykonywalny, to intencją jest, aby znajdowała zastosowanie pozostała część punktu, a treść całego punktu była stosowana w pozostałych okolicznościach.
<p>
Celem niniejszego punktu nie jest zachęcanie do naruszania patentów czy innych praw własności, albo też do podważania ich ważności; niniejszy punkt za swój jedyny cel ma ochronę integralności systemu rozpowszechniania wolnego oprogramowania, realizowanego za pomocą publicznych licencji. Wielu ludzi bezinteresownie wniosło swój wkład do stworzenia szerokiego zakresu oprogramowania upowszechnianego w tym systemie, mając zaufanie do konsekwentnego jego stosowania; wyłącznie do autora/ofiarodawcy należy decyzja, czy życzy on sobie rozprowadzania oprogramowania za pośrednictwem innego systemu i licencjobiorca nie może tego prawa wyboru ograniczać. 
<p>
Intencją niniejszego punktu jest jasne i wyraźne przedstawienie tego, co uważa się za skutki, jakie rodzi pozostała część niniejszej Licencji. 
<p>
</item>
	  <item>
W przypadku, gdy dystrybucja i/lub używanie Programu w niektórych krajach poddane jest ograniczeniom patentowym lub zastrzeżeniom prawami autorskimi, początkowy posiadacz praw autorskich, który poddaje Program pod oddziaływanie niniejszej Licencji, może dodać wyraźnie zakreślone geograficzne ograniczenie rozpowszechniania wyłączające te kraje, dzięki czemu dystrybucja dozwolona będzie wyłącznie w krajach czy wśród krajów nie objętych takim wyłączeniem. W przypadku takim, niniejsza Licencja obejmuje dane ograniczenie tak, jakby było ono wpisane w jej treść. 
<p>
</item>
	  <item>
W miarę potrzeby Fundacja Wolnego Oprogramowania może publikować poprawione i/lub nowe wersje Powszechnej Licencji Publicznej. Takie nowe wersje będą napisane w duchu podobnym do obecnej wersji, ale mogą różnić się w szczegółach poruszających nowe problemy czy zagadnienia. 
<p>
Każdej wersji nadaje się wyróżniający ją numer. Jeżeli Program podaje numer wersji niniejszej Licencji, odnoszący się do tej wersji i "wszelkich wersji następnych", masz do wyboru albo stosować się do postanowień i warunków tej wersji, albo którejkolwiek wersji późniejszej wydanej przez Fundację Wolnego Oprogramowania. O ile Program nie podaje numeru wersji niniejszej Licencji, możesz wybrać dowolną wersję kiedykolwiek opublikowaną przez Fundację. 
<p>
</item>

	  <item>
Jeśli chcesz włączyć części Programu do innych wolnych programów, których warunki rozpowszechniania są inne, zwróć się pisemnie do autora z prośbą o pozwolenie. W przypadku oprogramowania objętego przez Fundację prawem autorskim, napisz do Fundacji; czasami czynimy od tego odstępstwa.  W naszej decyzji kierujemy się dwoma celami: utrzymania wolnego statusu wszystkich pochodnych naszego wolnego oprogramowania oraz - generalnie - promowania współudziału i wielokrotnego stosowania oprogramowania.
<p>
</item>
<item>
BRAK GWARANCJI!
<p>PONIEWAŻ PROGRAM JEST LICENCJONOWANY BEZPŁATNIE, NIE JEST OBJĘTY GWARANCJĄ W ZAKRESIE DOZWOLONYM PRZEZ OBOWIĄZUJĄCE PRZEPISY. O ILE NA PIŚMIE NIE STANOWI SIĘ INACZEJ, POSIADACZE PRAW AUTORSKICH I/LUB INNE STRONY ZAPEWNIAJĄ PROGRAM W STANIE, W JAKIM JEST ("JAK WIDAĆ") BEZ JAKIEJKOLWIEK GWARANCJI, ANI WYRAŹNEJ, ANI DOMYŚLNEJ, W TYM MIĘDZY INNYMI DOMYŚLNYCH GWARANCJI CO DO PRZYDATNOŚCI HANDLOWEJ I PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. CAŁOŚĆ RYZYKA W ZAKRESIE JAKOŚCI I SKUTECZNOŚCI DZIAŁANIA PROGRAMU PONOSISZ SAM. W RAZIE GDYBY PROGRAM OKAZAŁ SIĘ WADLIWY, PONOSISZ KOSZT CAŁEGO NIEZBĘDNEGO SERWISU, NAPRAWY I KORYGOWANIA. 
<p>
</item>
	  <item>
O ILE OBOWIĄZUJĄCE PRAWO NIE STANOWI INACZEJ ALBO CZEGOŚ INNEGO NIE UZGODNIONO W FORMIE PISEMNEJ, ŻADEN POSIADACZ PRAW AUTORSKICH ANI INNA STRONA MODYFIKUJĄCA I/LUB REDYSTRYBUJĄCA PROGRAM ZGODNIE Z POWYŻSZYMI ZEZWOLENIAMI, W ŻADNYM WYPADKU NIE JEST ODPOWIEDZIALNA WOBEC CIEBIE ZA SZKODY, W TYM SZKODY OGÓLNE, SPECJALNE, UBOCZNE LUB SKUTKOWE, WYNIKŁE Z UŻYCIA BĄDŹ NIEMOŻLIWOŚCI UŻYCIA PROGRAMU (W TYM, MIĘDZY INNYMI, ZA UTRATĘ DANYCH LUB POWSTANIE DANYCH NIEDOKŁADNYCH, ALBO ZA STRATY PONIESIONE PRZEZ CIEBIE LUB STRONY TRZECIE, JAK TEŻ NIEDZIAŁANIE PROGRAMU Z INNYMI PROGRAMAMI), NAWET JEŚLI DANY POSIADACZ BĄDŹ INNA STRONA ZOSTALI POWIADOMIENI O MOŻLIWOŚCI POWSTANIA TAKICH SZKÓD. 
<p>
</item>
	</enum>
<bf>KONIEC ZASAD I WARUNKÓW</bf>
</sect>

    <sect>
      <heading>Instalacja.</heading>
      <sect1>
	<heading>Wymagania.</heading>
	<p>
Aby skompilować DConnect Daemon, musisz mieć zainstalowane:
<list>
	    <item>libwrap</item>
	    <item>libpthread</item>
	    <item>automake</item>
	    <item>autoconf</item>
	    <item>libtool</item>
	    <item>gettext (not used now...)</item>
	  </list>
</p>
      </sect1>

      <sect1>
	<heading>Instalacja.</heading>
	<p>
Poniższa sekwencja poleceń powinna działać w większości przypadków
<list>
	    <item>&dollar; cd dcd-0.0.3</item>
	    <item>&dollar; ./configure</item>
	    <item>&dollar; make</item>
	    <item>&dollar; make install<p><p></item>
	  </list>

Prawdopodobnie możesz chcieć skorzystać z kilku tradycyjnych opcji konfiguracyjnych. Sam Dconnect Deamon nie posiada specyficznych opcji konfiguracyjnych, tak więc nie zawracaj sobie nimi głowy :)
</p>
     </sect1>

      <sect1>
	<heading>Plik konfiguracyjny.</heading>
	<p>Podczas instalacji, standardowy plik konfiguracyjny <em>dchub.conf</em> jest umieszczony domyślnie w katalogu <em>/etc/dcd</em>. Niektóre z opcji zawartych w pliku jeszcze nie są brane pod uwagę w chwili uruchamiania programu. Póki co, nie modyfikuj tego pliku, w czasie gdy uruchomiony jest demon DCD.

Parametry w dchub.conf

<bf>Opcje główne:</bf>

<em>listening_port</em> - port na którym pracuje hub - domyślnie 411

<em>daemon = 0</em> - jeżeli nie chcesz, aby DCD pracował jako demon, odkomentuj tę linię

<em>user = 65534<newline>
group = 65534</em>

UID/GID - jeżeli nie potrzebujesz żadnych logów dotyczących użytkowników i grup, odkomentuj te linie

<em>logfile_location</em> - lokalizacji logów. Domyślnie jest to <em>/var/log/dcd/dcd.log</em>. Na razie opcja ta jest ignorowana.

<bf>Konfiguracja hub'a:</bf>

<em>hubname</em> - Nazwa hub'a. Domyślną jest "DConnect Daemon"

<em>motd</em> - "Message of the day" - komunikat wysyłany przez hub'a do użytownika, po udanym logowaniu.

<em>user_limit</em> - Określa maksymalną liczbę użytkowników, którzy mogą podłączyć się do huba. Domyślną wartością jest 1000.

<em>ban</em> - To co admini lubią najbardziej :) Niestety jeszcze nie działa :(

<em>allow_broken_key</em> - ponieważ sprawdzanie klucza nie jest jeszcze zaimplementowane, opcja ta jest ignorowana.

<em>ping_timeout</em> - Czas oczekiwania przez hub, na połączenie z użytkownikiem.

<em>register_timeout</em> - Czas oczekiwania przez hub, na autoryzację użytkownika (w sekundach). Domyślnie - 30s.

<em>nickname_pattern</em> - Wzorzec nick'a użytkownika, który może podłączyć się do hub'a. Aby dowiedzieć się więcej o tworzeniu wzorców zajrzyj do match.c (wildcards). Cóż, opcja ta powinna być zrobiona z wykorzystaniem regexp - na razie jest to zrobione na piechotę.
Przykład:
<em>nickname_pattern = *[ds?*]</em>
Domyślnie nickname_pattern = *

<em>min_share</em> - Minimalny rozmiar danych, jaki musi udostępnić użytkownik podłączający się do hub'a (w MB). Domyślnie - 300MB.

<em>min_slots</em> - Minimalna liczba slotów, udostępnianych przez użytkownika. Domyslnie jest 4.
       </p>

      </sect1>
    </sect>
    <sect>
      <heading>Znane błędy.</heading>
      <p>
Tiaa... Wiemy że "trochę" ich jest :)

The most important are:
<list>
	  <item>trochę lokalnych przepełnień bufora</item>
	  <item>nie można nadać nazwy użytkownika ze znakami narodowymi</item>
	  <item>rehashowanie po -HUP jakoś nie działa</item>
	  <item>nazwa huba przy publicmsg jest ustawiona na sztywno</item>
	  <item>podczas logowania klient używający NeoModus Direct Connect 1.0 preview Build 8 czasem nie dostaje listy użytkowników. Build 9 działa normalnie.</item>
	</list>

Jeżeli znajdziesz inne błędy, napisz do nas: <htmlurl url="mailto:dc-hub@ds.pg.gda.pl" name="dc-hub@ds.pg.gda.pl"></p>
    </sect>
    <sect>
      <heading>Protokół Direct Connect.</heading>
      <p>

<bf>Wykumany przez Alberta</bf> w oparciu o analizę kodów źródłowych:

<list>
	  <item>DCJavaClient 0.20 (<bf>J</bf>) - 2001 - Stefan Görling - stefan@gorling.se (Java)</item>
	  <item>Opendcd 0.2 (<bf>O</bf>)- 2001 - suxxx@users.sourceforge.net (Kylix)</item>
	  <item>DCHub 0.0.3 (<bf>H</bf>) - Eric Prevoteau - www@ac2i.tzo.com (Linux C)</item>
	</list>

<table loc="ht">
	  <tabular ca="cccl"> 

NR <colsep>ŹRÓDŁO<colsep>NAZWA I STRUKTURA<colsep>OPIS
<rowsep>
1 <colsep><bf>H</bf> <colsep> <bf>&dollar;BadPass</bf><colsep>Informacja o tym że autoryzacja nie powiodła się (hasło przysłane poleceniem <it>$MyPass</it> nie jest poprawne).
<bf> Kierunek:</bf>
<newline> hub &rarr; client
<newline><bf> Parametry:</bf> &brvbar
<rowsep>

1 <colsep><bf>J,O,H</bf> <colsep><bf>&dollar;ConnectToMe</bf><colsep>Nie rozpoznane <newline><newline>
                <bf> Kierunek:</bf><newline>
          
                <bf> Parametry:</bf>
<rowsep> 
        2<colsep>
        <bf>J</bf><colsep>
        <bf>&dollar;Kierunek</bf><colsep> Nie rozpoznane<newline><newline>
                <bf> Kierunek:</bf><newline>
                <newline>
                <bf> Parametry:</bf><newline>

<rowsep> 
        3<colsep>
        <bf>J</bf><colsep>
        <bf>&dollar;FileLength</bf><colsep>Informacja o wielkości pliku, o który pytano poleceniem $Get (podczas bezpośredniego połšczenia między klientami). Stąd klient sciągający dane, wie ile bajtów danych ma się spodziewać.<newline><newline>
                <bf> Kierunek:</bf>
                <newline> client &rarr; client<newline>
                <bf> Parametry:</bf><newline>
                <it> fileSize</it> &brvbar

<rowsep> 
        4<colsep>
        <bf>J,H</bf><colsep>
        <bf>&dollar;ForceMove</bf><colsep>Żądanie przekierowania na innego huba. Można zrobić balansowanie obciążenia (2 huby i przekierowania w zależności od ilości udostępnionych danych, pory dnia, lub osiedla z którego klient się łączy)<newline><newline>
                <bf> Kierunek:</bf> <newline> hub &rarr; client<newline>
                <bf> Parametry:</bf><newline>
                <it> hubName</it> &brvbar

<rowsep> 
        5<colsep>
        <bf>J</bf><colsep>
        <bf>&dollar;Get</bf><colsep>Prośba o ściągnięcie, lub dociągnięcie pliku (podczas bezpośredniego połączenia między klientami). Drugi klient powinien odpowiedzieć komendą <it>$FileLength</it>, po czym wysyłamy komendę $Send wyzwalającą transfer danych.<newline><newline>
                <bf> Kierunek:</bf>
                <newline> client &rarr; client<newline>
                <bf> Parametry:</bf><newline>
                <it> fileName&dollar;startByte</it> &brvbar

<rowsep> 
        6<colsep>
        <bf>J,O</bf><colsep>
        <bf>&dollar;GetINFO</bf><colsep>Prośba o dane klienta. Hub analizuje pole <it>nick</it> i przesyła komendę do konkretnego klienta. Odbiorca powinien odpowiedzieć komendą <it>$MyINFO</it>.<newline><newline>
                <bf> Kierunek:</bf>
                <newline> client &rarr; hub &rarr; client<newline>
                <bf> Parametry:</bf><newline>
                <it> nick senderNick</it> &brvbar

<rowsep> 
        7<colsep>
        <bf>J,O</bf><colsep>
        <bf>&dollar;GetNickList</bf><colsep>Prośba o przysłanie listy nicków podłączonych do huba. Hub odpowiada poleceniem <it>$NickList</it> oraz <it>$OpList</it>.<newline><newline>
                <bf> Kierunek:</bf>
                <newline> client &rarr; hub<newline>
                <bf> Parametry:</bf>
                <newline> &brvbar

<rowsep> 
        1<colsep>
        <bf>O,H</bf><colsep>
        <bf>&dollar;GetPass</bf><colsep>Prośba o autoryzcję (sprawdzanie prawa do nicka). W odpowiedzi klient przysyła polecenie <it>$MyPass</it> z hasłem.<newline><newline>
                <bf> Kierunek:</bf>
                <newline> hub &rarr; client<newline>
                <bf> Parametry:</bf>
                <newline> &brvbar

<rowsep> 
        8<colsep>
        <bf>J,O</bf><colsep>
        <bf>&dollar;Hello</bf><colsep>Informacja do wszystkich, że podłączył się nowy klient. Klienci powinni odpowiedzieć komendš <it>$MyINFO</it> przesyłając mu informacje o sobie (<bf>J</bf>).<newline><newline>
        <bf> Kierunek:</bf> 
        <newline> hub &rarr; all<newline>
        <bf> Parametry:</bf><newline>
        <it> nick</it> &brvbar

<rowsep> 
        21<colsep>
        <bf>H</bf><colsep>
        <bf>&dollar;HubIsFull</bf><colsep>Wysyłane do klienta wtedy, gdy nie ma możliwości przekierowania, a hub jest już pełny.<newline><newline>
                <bf> Kierunek:</bf>
                <newline> hub &rarr; client<newline>
                <bf> Parametry:</bf>
                <newline> &brvbar

<rowsep> 
        9<colsep>
        <bf>J,H</bf><colsep>
        <bf>&dollar;HubName</bf><colsep>Informacja wysyłana przez huba do dopiero co podłączonego klienta.<newline><newline>
                <bf> Kierunek:</bf>
                <newline> hub &rarr; klient<newline>
                <bf> Parametry:</bf><newline>
                <it> hubName</it> &brvbar

<rowsep> 
        10<colsep>
        <bf>J,O,H</bf><colsep>
        <bf>&dollar;Key</bf><colsep>Odpowiedź klienta na polecenie $Lock (żądanie autentykacji). Klucz <it>key</it> jest wyliczany na podstawie algorytmu zaszytego w kliencie i pola <it>salt</it> przysłanego poleceniem <it>$Lock</it>.<newline><newline>
                <bf> Kierunek:</bf>
                <newline> client &rarr; hub; client <&rarr; client<newline>
                <bf> Parametry:</bf><newline>
                <it> key</it> &brvbar

<rowsep>
        1<colsep>
        <bf>O,H</bf><colsep>
        <bf>&dollar;Kick</bf><colsep>Karne rozłączenie od huba. Tylko admin ma takie prawo.<newline><newline>
                <bf> Kierunek:</bf>
                <newline> client &rarr; hub<newline>
                <bf> Parametry:</bf><newline>
                <it> nick</it> &brvbar

<rowsep>
        11<colsep>
        <bf>J,O,H</bf><colsep>
        <bf>&dollar;Lock</bf><colsep>Żądanie autentykacji. Jest to zabezpieczenie utrudniające połączenie się do huba niekomercyjnym klientom.Na nasze szczęście algorytm wyliczania klucza został już złamany. :) W odpowiedzi	klient powinien przysłać do huba komendę <it>$Key</it> z wyliczonym na podstawie<it>salt</it> kluczem. Autentykacja jest przeprowadzana również podczas bezpośredniego połączenia między klientami (sesja download) i to w obie strony. Długość <it>salt</it> jest zmienna (conajmniej 3 bajty - w (<bf>H</bf>) długość jest losowana z przedziału 50-100, a znaki spomiędzy '%' - 'z'), natomiast <it>privateKey</it> nie jest w żadnym z analizowanych źródeł wykorzystywane.<newline><newline>
                <bf> Kierunek:</bf>
                <newline> hub &rarr; client; client <&rarr; client<newline>
                <bf> Parametry:</bf><newline>
                <it> salt</it> Pk=<it>privateKey</it> &brvbar

<rowsep>
        1<colsep>
        <bf>O,H</bf><colsep>
        <bf>&dollar;LoggedIn</bf><colsep>Informacja o tym że autoryzacja powiodła się (hasło przysłane poleceniem <it>$MyPass</it> jest poprawne) i użytkownik został zalogowany na hubie.<newline><newline>
                <bf> Kierunek:</bf>
                <newline> hub &rarr; client<newline>
                <bf> Parametry:</bf>
                <newline> &brvbar

<rowsep>
        12<colsep>
        <bf>J</bf><colsep>
        <bf>&dollar;MaxedOut</bf><colsep> Nie rozpoznane.<newline><newline>
                <bf> Kierunek:</bf><newline>
                <newline>
                <bf> Parametry:</bf><newline>

<rowsep>
        1<colsep>
        <bf>O</bf><colsep>
        <bf>&dollar;MultiSearch</bf><colsep> Nie rozpoznane.<newline><newline>
                <bf> Kierunek:</bf><newline>
                <newline>
                <bf> Parametry:</bf><newline>

<rowsep>
        13<colsep>
        <bf>J,O</bf><colsep>
        <bf>&dollar;MyINFO</bf><colsep>Informacja o sobie samym. Hub zapisuje sobie wszystkie parametry	i rozsyła to polecenie do pozostałych klientów(dodajšc na poczštku $ALL - stąd wynika,że istnieje też wersja $MyINFO ale adresowana do konkretnego klienta).<newline><newline>
                <bf> Kierunek:</bf>
                <newline> client &rarr; hub; hub &rarr; all<newline>
                <bf> Parametry:</bf><newline>
                <it> nick description</it>&dollar; <it>connectionTypeF</it>&dollar;<it>email&dollar;</it>&dollar;<it>sharedBytes</it>&dollar; &brvbar <bf>(klient &rarr; hub)</bf>
<newline> &dollar;ALL <it>nick description</it>&dollar; <it>connectionTypeF</it>&dollar;<it>email</it>&dollar;<it>sharedBytes</it>&dollar; &brvbar <bf>(hub &rarr; all)</bf>
<newline> - description - dowolny opis
<newline> - connectionType - 56Kbps/33.6Kbps/28.8Kbps/Satellite/ISDN/DSL/Cable/LAN(T1)/LAN(T3)
<newline> - F - jednobajtowa flaga (default \x01) - jeżeli pierwszy bit jest ustawiony na 0 to klient znajduje się za firewall'em (\x00).
<newline> - email - adres (często pusty)
<newline> - sharedBytes - liczba bajtów udostępnianych        

<rowsep>
        14<colsep>
        <bf>J</bf><colsep>
        <bf>&dollar;MyNick</bf><colsep>	Informacja o nicku. Jest to pierwsze polecenie które jest wysyłane podczas bezpośredniego połšczenia między klientami (sesja download).<newline><newline>
                <bf> Kierunek:</bf>
                <newline> client &rarr; client<newline>
                <bf> Parametry:</bf><newline>
                <it> nick</it> &brvbar

<rowsep>
        13<colsep>
        <bf>O,H</bf><colsep>
        <bf>&dollar;MyPass</bf><colsep>Odpowiedź na <it>$GetPass</it> czyli potwierdzenie prawa do nicka.	Jeśli hasło się zgadza, to hub rozsyła do wszystkich <it>$Hello</it> z informacją, że jest nowy użytkownik. Jeśli jest to użytkownik z prawami admina, to hub rozsyła do wszystkich polecenia <it>$LoggedIn</it> oraz <it>$Hello</it>. Jeśli hasło jest niepoprawne, następuje rozłączenie klienta (<bf>O</bf>), lub wysłanie komendy <it>&dollar;BadPass</it> (<bf>H</bf>).<newline><newline>
                <bf> Kierunek:</bf>
                <newline> client &rarr; hub<newline>
                <bf> Parametry:</bf><newline>
                <it> password</it> &brvbar

<rowsep>
        15<colsep>
        <bf>J,O</bf><colsep>
        <bf>&dollar;NickList</bf><colsep>Lista wszystkich nicków zalogowanych na hubie (bez rozróżnienia czy jest to admin, czy nie). Jest to odpowiedź serwera na komendę <it>$GetNickList</it>.	Zwracana lista nicków jest rozdzielona separatorem '$$'. Użytkownik z prawami admina widzi dodatkowo użytkownika HubSecurity (jako pierwszego na zwracanej liście).<newline><newline>
                <bf> Kierunek:</bf>
                <newline> hub &rarr; client<newline>
                <bf> Parametry:</bf><newline>
                <it> nick1</it>&dollar;&dollar;<it>nick2</it>&dollar;&dollar;<it>nick3</it> &brvbar

<rowsep>
	4<colsep>
	<bf>O</bf><colsep>
	<bf>&dollar;OpForceMove</bf><colsep>Żądanie przekierowania użytkownika z prawami admina na innego huba.<newline><newline>
	        <bf> Kierunek:</bf>
                <newline> hub &rarr; client<newline>
	        <bf> Parametry:</bf><newline>
	        <it> hubName</it> &brvbar

<rowsep>
	16<colsep>
	<bf>J,O</bf><colsep>
	<bf>&dollar;OpList</bf><colsep>	Lista adminów zalogowanych na hubie. Jest to odpowiedź serwera na komendę <it>$GetNickList</it>.Zwracana lista nicków jest rozdzielona separatorem '$$'. Użytkownik z prawami admina widzi dodatkowo użytkownika HubSecurity (jako pierwszego na liście).<newline><newline>
	        <bf> Kierunek:</bf>
                <newline> hub &rarr; client<newline>
	        <bf> Parametry:</bf><newline>
	        <it> nick1</it>&dollar;&dollar;<it>nick2</it>&dollar;&dollar;<it>nick3</it> &brvbar

<rowsep>
	17<colsep>
	<bf>J</bf><colsep>
	<bf>&dollar;Quit</bf><colsep>Eleganckie zakończenie połączenia. Hub usuwa nadawcę ze swojej listy, a następnie rozsyła polecenie <it>$Quit</it> do pozostałych klientów, żeby mogli również usunąć nadawcę ze swoich list.<newline><newline>
	        <bf> Kierunek:</bf>
                <newline> client &rarr; hub &rarr; all<newline>
	        <bf> Parametry:</bf><newline>
	        <it> nick</it> &brvbar

<rowsep>
	18<colsep>
	<bf>J,O,H</bf><colsep>
	<bf>&dollar;RevConnectToMe</bf><colsep> Nie rozpoznana.
	        <newline><newline>
	        <bf> Kierunek:</bf><newline>
	        <newline>
	        <bf> Parametry:</bf><newline>

<rowsep>
	19<colsep>
	<bf>J,O,H</bf><colsep>
	<bf>&dollar;Search</bf><colsep>	Wyszukiwanie pliku. Ze struktury wynika, że huby mogą przekazywać między sobą to polecenie.<newline><newline>
	        <bf> Kierunek:</bf>
                <newline> client &rarr hub &rarr &lsqb hub &rsqb &rarr all<newline>
	        <bf> Parametry:</bf><newline>
	        <it> Hub</it>:<it>senderNick ifSize</it>?<it>ifLess</it>?<it>size</it>?<it>dataType</it>?<it>pattern</it> &brvbar
<newline> - ifSize - F gdy rozmiar pliku nie ma znaczenia, w przeciwnym razie T
<newline> - ifLess - F gdy szukamy plików o rozmiarze większym od <it>size</it>, T - gdy mniejszych
<newline> - size - rozmiar w bajtach
<newline> - dataType - 1=any, 2=audio, 3=compressed, 4=document, 5=exe, 6=picture, 7=videos, 8=folder

<rowsep>
	20<colsep>
	<bf>J</bf><colsep>
	<bf>&dollar;Send</bf><colsep>Polecenie wyzwalające potok danych podczas sesji download (między klientami). Wysyłane uprzednio polecenia $Get i $FileLength określają który plik jest przesyłany, od którego bajtu i jaka porcja danych jest transmitowana.<newline><newline>
	        <bf> Kierunek:</bf>
                <newline> client &rarr; client <newline>
	        <bf> Parametry:</bf><newline> &brvbar

<rowsep>
	21<colsep>
	<bf>J,O,H</bf><colsep>
	<bf>&dollar;SR</bf><colsep> Nie rozpoznane.
	        <newline><newline>
	        <bf> Kierunek:</bf><newline>
	        <newline>
	        <bf> Parametry:</bf><newline>

<rowsep>
	22<colsep>
	<bf>J,H</bf><colsep>
	<bf>&dollar;To</bf><colsep>Wysłanie wiadomości prywatnej (na chacie DC).<newline><newline>
	        <bf> Kierunek:</bf><newline> client &rarr; hub &rarr; client<newline>
	        <bf> Parametry:</bf><newline>
	        <it> nick</it> To: <it>senderNick</it>&dollar;&lt;<it>senderNick</it>&gt;<it>message</it> &brvbar

<rowsep>
	23<colsep>
	<bf>J,H</bf><colsep>
	<bf>&dollar;ValidateNick</bf><colsep>Walidacja nicka. Wysyłana do huba zaraz po <it>$Key</it> (czyli na początku połączenia). Hub  sprawdza czy nick nie jest już zajęty lub zabanowany. W nicku nie mogą wystąpić znaki ' ' oraz '$'. Jeśli nick jest chroniony haslem to wysyłane jest polecenie <it>$GetPass</it> po to by potwierdzić prawo do korzystania z nicka (<bf>O</bf>). Hub rozsyła <it>$Hello</it> do wszystkich klientów informujšc ich,	że podłączył się nowy użytkownik (<bf>O</bf>).<newline><newline>
	        <bf> Kierunek:</bf>
                <newline> client &rarr; hub<newline>
	        <bf> Parametry:</bf><newline>
	        <it> nick</it> &brvbar

<rowsep>
	24<colsep>
	<bf>J,H</bf><colsep>
	<bf>&dollar;Version</bf><colsep>Informacja o wersji klienta. Nie ma w tej chwili żadnego zastosowania.<newline><newline>
        	<bf> Kierunek:</bf>
                <newline> client &rarr; hub<newline>
        	<bf> Parametry:</bf><newline>
        	<it> clientVersion</it> &brvbar

</tabular>
</table>
 
</p>
    </sect>
    <sect>
      <heading>Autorzy.</heading>
      <p>
A oto i My (kolejność alfabetyczna):

<list>
	  <item>
Michał "Fela" Felski <htmlurl url="mailto:fela@ds.pg.gda.pl" name="MAIL">
<itemize>
	      <item>
    projekt i wykonanie strony WWW projektu.
</item>
	    </itemize>
</item>
	  <newline>
	  <item>
Paweł "blues" Gołaszewski <htmlurl url="mailto:blues@ds.pg.gda.pl" name="MAIL">
<itemize>
	      <item>Obsługa ac/am</item>
	      <item>Obsługa repozytorium cvs</item>
	      <item>Budowanie pakietów</item>
	    </itemize>
</item>
	  <newline> 
	  <item>
Sebastian "rawsock" Rosenkiewicz <htmlurl url="mailto:rawsock@ds.pg.gda.pl" name="MAIL">
<itemize>
	      <item>Programowanie sieciowe</item>
	      <item>Implementacja protokołu</item>
	    </itemize>
</item>
	  <newline>
	  <item>
Artur P. "ventox" Wojcik <htmlurl url="mailto:ventox@wp.pl" name="MAIL">
<itemize>
	      <item>framework</item>
	      <item>Konfiguracja</item>
	    </itemize>
</item>
	  <newline>
	  <item>
Robert "Albert" Żóralski <htmlurl url="mailto:robertzor@pletwa.pl" name="MAIL">
<itemize>
	      <item>
	Złamanie protokołu DC
</item>
	    </itemize>
</item>

	</list>
</p>
    </sect>
  </article>
</linuxdoc>
