4 innd, inndstart \- InterNetNews daemon
80 który jest demonem news (InterNetNews), obs³uguje wszystkie nadchodz±ce
81 feedy. Najpierw wczytuje do pamiêci pliki
85 .IR incoming.conf (5).
86 Potem otwiera port NNTP do odbierania artyku³ów ze zdalnych stacji (zobacz
87 opcjê ``\fB\-p\fP''). Je¶li w include/config.h zdefiniowano
88 .IR HAVE_UNIX_DOMAIN_SOCKETS ,
89 to do odbioru artyku³ów od lokalnych procesów, takich jak
93 otwierane jest gzniazdo strumieniowe dziedziny Uniksowej, a dla
95 odwierane jest analogiczne gniazdo datagramowe.
96 Gdy makro to nie jest zdefiniowane, u¿ywane s± ³±cza nazwane.
98 wykorzystywany jest do kierowania serwer na wykonywanie okre¶lonych akcji.
101 i dwa pliki raportowe, zastêpuj±ce jego standardowe wyj¶cie i wyj¶cie b³êdu.
103 Po otwarciu wszystkich plików i gniazd,
105 oczekuje na po³±czenia i dane na swoich portach, u¿ywaj±c do tego
107 i nieblokuj±cego I/O.
108 Je¶li nie ma dostêpnych danych, to wypró¿ni od swoje wewn±trzrdzeniowe
109 struktury danych. Domy¶lna liczba sekund opó¼nienia przed wypró¿nieniem jest
111 .I <DEFAULT_TIMEOUT w config.data>
113 .\" =()<.IR @<typDEFAULT_TIMEOUT>@ ) >()=
119 otrzyma b³±d ENOSPC (zobacz
123 pliku article, lub bazy historii, to wy¶le sobie komendê ``throttle''.
124 Stanie siê to równie¿ je¶li otrzyma zbyt wiele b³êdów I/O podczas próby
125 zapisu do jakiego¶ pliku.
129 Domy¶lnie, je¶li host nie jest wymieniony w pliku
131 to po³±czenie jest przekazywane do
133 Po u¿yciu tej flagi dowolny host mo¿e siê pod³±czyæ i przesy³aæ artyku³y.
137 odrzuca stare artyku³y. Zasadniczo zachowanie to mo¿e byæ sterowane przez
138 bazê historii, lecz czasem stacja wyrzuca w sieæ paczkê bardzo starych
139 artyku³ów. Flaga ``\fB\c\fP'' okre¶la odciêcie. Na przyk³ad ``\fB\-c21\fP''
140 odrzuca wszelkie artyku³y, wys³ane dawniej ni¿ 21 dni temu. Warto¶æ zerowa
141 powstrzymuje ten test. Domy¶ln± warto¶ci± jest 14 dni, lecz mo¿na to zmieniæ
142 opcj± ``artcutoff'' w
146 Je¶li u¿yta jest flaga ``\fB\-C\fP'', to
148 przyjmie i przepropaguje lecz nie przetwarza wiadomo¶ci anulowania i
149 powstrzymania. Jest to przeznaczone dla stacji, w których nadu¿ywane s±
150 anulowania i które wybieraj± mechanizm z lepsz± autoryzacj±.
154 normalnie przechodzi w t³o, ustawia standardowe wyj¶cia na pliki raportowe i
155 od³±cza siê od terminala. Po u¿yciu flagi ``\fB\-d\fP'' serwer tego nie
156 robi, a po u¿yciu flagi ``\fB\-f\fP'', serwer pozostaje na pierwszym planie.
159 Flagi ``\fB\-H\fP'', ``\fB\-T\fP'' i ``\fB\-X\fP'' steruj± liczb± po³±czeñ
160 dozwolonych na minutê. Ma to w za³o¿eniach dzia³aæ jako ochrona serwera
161 przed czytnikami, które wykonuj± w ci±gu minuty zbyt wiele po³±czeñ z
162 serwerem. Zazwyczaj nie u¿ywa siê tego, chyba ¿e rzeczywi¶cie pojawia siê
164 Tablica u¿ywana do tych sprawdzeñ jest ograniczona do 128 wpisów i jest
165 u¿ywana jako pier¶cieñ (ring). Rozmiar zosta³ wybrany do u³atwienia
166 obliczania indeksu i do upewnienia siê, ¿e nie zabraknie ci miejsca.
167 Praktycznie wydaje siê w±tpliwe, ¿eby¶ wykorzysta³ nawet po³owê tablicy
170 Flaga ``\fB\-H\fP'' ogranicza liczbê razy, do której host mo¿e siê po³±czyæ
171 z serwerem podczas ``\fB\-X\fP'' sekund. Domy¶lnie 2.
173 Flaga ``\fB\-T\fP'' ogranicza ca³kowit± liczbê nadchodz±cych po³±czeñ innda
174 w okresie ``\fB\-X\fP'' sekund. Maksymaln± warto¶ci± jest 128. Domy¶ln± 60.
176 Flaga ``\fB\-X\fP'' ustawia liczbê sekund, u¿ywan± przez ``\fB\-H\fP'' i
177 ``\fB\-T\fP''. Warto¶æ zerowa wy³±cza sprawdzanie. Domy¶lnie jest 0.
180 Flaga ``\fB\-i\fP'' ogranicza liczbê nadchodz±cych po³±czeñ NNTP. Warto¶æ
181 zerowa wy³±cza to sprawdzenie. Domy¶ln± warto¶ci±, je¶li w \fIinn.conf\fR(5)
182 nie podano opcji ``maxconnections'' jest 50.
183 Wymieniona opcja jest zastêpowana warto¶ci± tej opcji.
186 Opcja ta umo¿liwia wi±zanie innda do podanego adresu interfejsu IP. Adres IP
187 musi byæ w postaci kropkowej czwórki liczb (nnn.nnn.nnn.nnn). Zobacz te¿
188 opcjê ``bindaddress'' w
192 Flaga ``\fB\-l\fP'' ogranicza rozmiar artyku³u. Po u¿yciu tej flagi,
193 wszystkie artyku³y wiêksze ni¿
195 bajtów bêd± odrzucane. Domy¶ln± warto¶ci± jest 1000000L bajtów. Sprawdzanie
196 mo¿na wy³±czyæ, u¿ywaj±c warto¶ci zerowej.
199 Flaga ``\fB\-L\fP'' powoduje, ¿e
201 nie tworzy dowi±zañ do crosspostowanych artyku³ów. Stacja typu
202 ``feed-only'' mo¿e tego u¿yæ do zwiêkszenia wydajno¶ci. Mo¿na to te¿
203 po³±czyæ z feedem kana³owym do programu
205 i przerzuciæ zadanie tworzenia dowi±zañ poza pêtlê przetwarzania innda.
208 Flaga ``\fB\-m\fP'' s³u¿y do uruchamiania serwera w zatrzymanym lub
209 st³umionym stanie (zobacz
211 Argument rozpoczyna siê pojedyncz± liter±:
216 wskazuj±ce na ``go'' (startuj), ``pause'' (zatrzymaj) lub ``throttle''
220 Flaga ``\-n'' okre¶la czy pauzowanie lub st³umienie serwera powinno równie¿
221 wy³±czyæ przysz³e procesy czytnikowe. Warto¶æ ``\fBy\fP'' powoduje, ¿e
222 czytniki zachowuj± siê jak serwer, a warto¶æ ``\fBn\fP'' umo¿liwia czytanie
223 nawet gdy serwer nie pracuje.
224 Domy¶lnie zezwala siê na czytanie, a zmieniæ mo¿na to opcj±
225 ``readerswhenstopped'' z
229 Flaga ``\fB\-o\fP'' s³u¿y ograniczaniu ilo¶ci plików, które s± utrzymywane
230 otwarte dla wychodz±cych feedów plikowych. Domy¶ln± warto¶ci± jest liczba
231 dostêpnych deskryptorów minus czê¶æ zarezerwowana do u¿ytku wewnêtrznego.
234 Po u¿yciu flagi ``\fB\-p\fP'' przyjmuje siê, ¿e port NNTP jest otwierany na
235 podanym deskryptorze. (Je¶li u¿yta jest ta flaga, to
237 zak³ada, ¿e pracuje z w³a¶ciwymi uprawnieniami i nie bêdzie wo³a³
239 na ¿adnych z tworzonych plików lub katalogów.)
242 Je¶li u¿yta jest flaga ``\fB\-P\fP'', to podany port jest u¿ywany do
243 nas³uchiwania po³±czeñ.
245 musi mieæ wystarczaj±ce uprawnienia startowe by otworzyæ podany port.
248 Je¶li u¿yta jest flaga ``\fB\-r\fP'', serwer przenumeruje plik
250 zupe³nie tak, jak po wys³aniu komendy ``renumber''.
253 Je¶li u¿yta jest flaga ``\fB\-s\fP'', to
255 nic nie bêdzie robiæ, lecz tylko sprawdzi sk³adniê pliku
257 Je¶li bêd± tam b³êdy, to zg³osi kod b³êdu; rzeczywiste b³êdy bêd± natomiast
262 Zmienia czas opó¼nienia przed wypró¿nieniem do
267 Raporty s± normalnie buforowane; flaga ta wy³±cza to zachowanie.
270 Flaga ``\fB\-Z\fP'' wy³±cza strumieniowanie, wiêc
272 nie przyjmie `mode stream' i innych poleceñ strumieniowych.
275 jest ma³ym programem typu front-end, który otwiera port NNTP, ustawia uid i
276 gid na opiekuna news, a nastêpnie uruchamia demona
278 z flag± ``\fB\-p\fP'' i minimalnym bezpiecznym ¶rodowiskiem.
279 Jest to ma³y front-end dla stacji, która nie chce uruchamiaæ
281 z uprawnieniami roota.
282 .SH "KOMUNIKATY STERUJ¡CE"
283 Artyku³y przychodz±ce, maj±ce nag³ówek Control, lub nag³ówek Subject, który
284 rozpoczyna siê piêcioma znakami \&``cmsg\ '', s± nazywane
285 .IR "komunikatami steruj±cymi" .
286 Poza komunikatem anulowania, s± one zaimplementowane przez zewnêtrzne
288 .I <pathcontrol w inn.conf>
290 .I <usecontrolchan w inn.conf>
291 jest ustawione na ``false''. (Komunikaty anulowania (cancel) od¶wie¿aj± bazê
292 historii, wiêc musz± byæ obs³ugiwane wewnêtrznie; koszt synchronizowania,
293 blokowania i odblokowywania by³by zbyt wysoki przy odbiorze wielu takich
296 Gdy nadchodzi komunikat steruj±cy, pierwsze s³owo tekstu jest konwertowane
297 na ma³e litery i jest u¿ywane jako nazwa uruchamianego programu. Je¶li
298 program nie istnieje, wywo³ywany jest domy¶lny program, okre¶lony przez
299 .IR "<pathcontrol w inn.conf>/default" .
301 Wszystkie programy steruj±ce s± wywo³ywane z czterema parametrami. Pierwszym
302 jest adres nadawcy komunikatu; jest to pobierane z nag³ówka Sender. Je¶li
303 nag³ówek ten jest pusty, to dane s± pobierane z nag³ówka From. Nastêpnym
304 parametrem jest adres zwrotny replik; pobierany z nag³ówka Reply-To.
305 Je¶li nag³ówek ten jest pusty, u¿yty zostanie adres nadawcy.
306 Trzecim parametrem bêdzie nazwa pliku, w którym znajduje siê artyku³
307 wzglêdem katalogu sk³adowego news.
308 Czwartym parametrem jest host, który wys³a³ artyku³. Jest to odczytywane z
312 .I <usecontrolchan w inn.conf>
313 jest ustawione na ``true'', to ¿aden komunikat steruj±cy nie bêdzie
314 przetwarzany przez program zewnêtrzny, forkowany przez innda. Zamiast tego,
315 bêdzie przetwarzany przez skrypt
317 który jest wywo³ywany jako program kana³owy innda. Nie musisz do u¿ywania
318 tego skryptu konfigurowaæ
320 Przetwarzanie z u¿yciem
322 mo¿e zredukowaæ nadmierne obci±¿enie, je¶li zbyt wiele komunikatów
323 steruj±cych pojawia siê naraz.
325 Dystrybucja komunikatu steruj±cego jest odmienna od dystrybucji
326 standardowych artyku³ów.
328 Komunikaty steruj±ce normalnie wpadaj± do grupy dyskusyjnej
330 Mog± one byæ zapisywane w podgrupach, lecz w oparciu o polecenie komunikatu
332 Na przyk³ad komunikat newgroup mo¿e byæ zapisany w grupie
336 je¶li specjalizowana podgrupa nie istnieje.
338 Stacje mog± jawnie udostêpniaæ grupê ``control'' w ich listach zapisowych,
339 lecz zwykle lepiej jest j± wy³±czyæ. Je¶li komunikat steruj±cy jest wysy³any
340 na grupê, której nazwa koñczy siê czterema znakami ``.ctl'', to przyrostek
341 jest obcinany, a to co pozostanie jest u¿ywane jako nazwa grupy.
342 Na przyk³ad komunikat anuluj±cy, wys³any na ``news.admin.ctl'' zostanie
343 przes³any do wszystkich stacji zapisanych na grupy ``control'' lub
347 .I <mergetogroups w inn.conf>
348 jest ustawione na ``true'', to gdy artyku³ jest wysy³any na grupê, która
349 rozpoczyna siê trzema literami ``to.'', to zostanie potraktowany specjalnie
350 je¶li grupa ta nie istnieje w pliku
352 artuku³ jest sk³adowany do grupy ``to'' i jest wysy³any do pierwszej stacji,
353 nazwanej po przedrostku. Na przyk³ad, wysy³anie do ``to.uunet'' zostanie
354 z³o¿one do ``to'' i przes³ane do stacji ``uunet''.
356 .SH "RÓ¯NICE PROTOKO£U"
358 implementuje komendy NNTP zdefiniowane w RFC 977 z nastêpuj±cymi
363 mo¿e wystêpowaæ dodatkowo argument
365 \&``\fIactive.times\fP'',
366 \&``\fInewsgroups\fP''
368 \&``\fIsubscription\fP''.
369 Jest to popularne rozszerzenie, lecz nie w pe³ni obs³ugiwane; zobacz
372 Zaimplementowane s± komendy
373 \&``\fIauthinfo user\fP''
375 \&``\fIauthinfo pass\fP''.
376 Zobacz draft-barber-nntp-imp-07.txt dla dalszych szczegó³ów.
378 Udostêpniona jest nowa komenda,
379 \&``\fImode reader\fP''.
380 Komenda ta powoduje, ¿e serwer przekazuje po³±czenie do
383 \&``\fImode query\fP''
384 przeznaczona jest dla przysz³ych zastosowañ i obecnie jest traktowana tak
387 Udostêpnione s± komendy wspieraj±ce transfer strumieniowy:
388 \&``\fIcheck messageid\fP'' i ``\fItakethis messageid\fP''.
390 Udostêpniona jest komenda transferu wsadowego ``\fIxbatch
391 liczba-bajtów\fP''. Komenda ta odczyta \fIliczbê-bajtów\fP bajtów i zapisze
392 je dla dalszego przetwarzania przez rnews(1) (który nale¿y uruchomiæ
393 oddzielnie). Obejrzyj programy innxbatch i sendxbatches.sh.
395 Pozosta³ymi zaimplementowanymi komendami s±
402 .SH "MODYFIKACJE NAG£ÓWKÓW"
404 modyfikuje tak ma³o nag³ówków, jak ma³o siê da, lecz móg³by byæ lepszy.
406 Oto lista nag³ówków, które, je¶li istniej±, s± usuwane:
416 Puste nag³ówki oraz nag³ówki, sk³adaj±ce siê z bia³ych spacji równie¿ s±
419 Do nag³ówka Path doklejana jest nazwa lokalnej stacji
420 (okre¶lanej przez warto¶æ ``pathhost'' w
422 i wyrzyknik (je¶li nazwa pierwszej stacji nag³ówka ró¿ni siê od lokalnej).
424 Nag³ówek Xref jest usuwany i tworzony jest nowy.
426 W przypadku nieobecno¶ci, nag³ówek Lines jest dodawany.
429 nie przepisuje nieprawid³owych nag³ówków. Na przyk³ad nie bêdzie zmieniaæ
430 nieprawid³owego nag³ówka Lines, ale odrzuci artyku³.
433 raportuje wszystkie nadchodz±ce artyku³y do pliku raportowego. Jest to plik
434 tekstowy o zmiennej ilo¶ci rozdzielanych spacjami pól o jednym z
435 nastêpuj±cych formatów:
438 mon dd hh:mm:ss.mmm + feed <Message-ID> stacja...
439 mon dd hh:mm:ss.mmm j feed <Message-ID> stacja...
440 mon dd hh:mm:ss.mmm c feed <Message-ID> stacja...
441 mon dd hh:mm:ss.mmm - feed <Message-ID> powód...
445 Po polu Message-ID mo¿e byæ równie¿ pole nazwy hosta i rozmiaru, zale¿nie od
446 opcji ``nntplinklog'' i ``logsize'' z
449 Pierwsze trzy pola s± polami daty i czasu w rozdzielczo¶ci milisekundowej.
450 Pi±te pole jest stacj±, która wys³a³a artyku³ (odczytywane z nag³ówka Path).
451 Szóste pole jest identyfikatorem artyku³u; je¶li informacja jest
452 niedostêpna, pojawi siê w jej miejscu pytajnik.
454 Czwarte pole okre¶la czy artyku³ zosta³ przyjêty czy nie. Je¶li jest tam
455 znak plus, to zosta³ przyjêty. Je¶li ``j'', to zosta³ przyjêty, lecz
456 wszystkie grupy maj± w swoich rekordach
458 ``j'', wiêc artyku³ zosta³ z³o¿ony do grupy ``junk''.
459 Je¶li w polu pojawi³a siê litera ``c'', to przed pojawieniem siê
460 oryginalnego artyku³u odebrany zosta³ komunikat anuluj±cy.
461 We wszystkich tych przypadkach artyku³ zosta³ przyjêty i pole ``stacja...''
462 zawiera rozdzielon± spacjami listê stacji, do których artyku³ jest
465 Je¶li czwarte pole zawiera znak minusa, o artyku³ zosta³ odrzucony. Powodami
469 "%s" header too long (za d³ugi nag³ówek)
470 "%s" wants to cancel <%s> by "%s" ("%s" chce anulowaæ <%c> poprzez "%s")
471 Article exceeds local limit of %s bytes (Artyku³ przekracza lokalny
473 Article posted in the future -- "%s" (Artyku³ wys³any w przysz³o¶ci -- "%s")
474 Bad "%s" header (Z³y nag³ówek "%s")
475 Can't write history (Nie mogê zapisaæ historii)
477 Duplicate "%s" header (Zduplikowany nag³ówek "%s")
478 EOF in headers (EOF w nag³ówkach)
479 Linecount %s != %s +- %s (Liczba linii %s != %s +- %s)
480 Missing %s header (Brak nag³ówka %s)
482 No colon-space in "%s" header (Brak dwukropka-spacji w nag³ówku "%s")
483 No space (Brak spacji (albo miejsca???))
484 Space before colon in "%s" header (Spacja przed dwukropkiem w nag³ówku "%s")
485 Too old -- "%s" (Za stare -- "%s")
486 Unapproved for "%s" (Niezatwierdzone dla "%s")
487 Unwanted newsgroup "%s" (Niechciana grupa dyskusyjna "%s")
488 Unwanted distribution "%s" (Niechciana dystrybucja "%s")
489 Whitespace in "Newsgroups" header -- "%s" (Bia³a spacja w nag³ówku
490 "Newsgroups" -- "%s")
493 Gdzie ``%s'' jest podmieniane przez konretniejsze informacje.
495 Zauwa¿, ¿e je¶li artyku³ jest przyjêty i <wanttrash w inn.conf> jest
496 ustawione na ``ues'' i ¿adna z grup nie jest odpowiednia, to zostanie
497 zraportowany w dwóch liniach: w linii ``j'' i ``\-''.
500 zg³asza te¿ obszerne raporty poprzez
502 Pierwsze s³owo komunikatu raportowego bêdzie: nazw± stacji, je¶li wpis jest
503 dla niej specyficzny (np. komunikat ``connected''); s³owem ``SERVER'', je¶li
504 komunikat jest zwi±zany z serwerem, np. gdy pojawi siê b³±d odczystu.
506 Je¶li drugim s³owem s± cztery litery ``cant'', to zg³aszany jest b³±d.
507 W tym przypadku nastêpne dwa s³owa ogólnie nazywaj± wywo³anie systemowe lub
508 funkcjê biblioteczn±, która siê nie powiod³a oraz obiekt, wokó³ którego
509 wykonywane by³y dzia³ania. Reszta linii mo¿e zawieraæ inne informacje.
511 W innych przypadkach, drugie s³owa okre¶la rodzaj zmiany, a reszta linii
512 u¶ci¶la tê informacjê. S³owo ``internal'' ogólnie oznacza wewnêtrzny b³±d
516 przechwytuje sygna³y SIGTERM i SIGDANGER i wy³±cza siê po nich. Je¶li u¿yta
517 jest flaga ``-d'', przechwytywany bêdzie równie¿ SIGINT i bêdzie dzia³a³
521 przechwytuje sygna³ SIGUSR1 i odtwarza kana³ steruj±cy, wykorzystywany
525 Napisane przez Richa $alza <rsalz@uunet.uu.net> dla InterNetNews.
527 Jest to rewizja \\$3, z daty \\$4.