1NEWSX(8)                    System Manager's Manual                   NEWSX(8)
2
3
4

NAME

6       newsx - news server exchange; post and fetch news articles
7
8

SYNOPSIS

10       newsx [ options ] [ spoolname [ [ hostname ] port ] ]
11
12

DESCRIPTION

14       newsx  is a client connecting to an NNTP server, posting outgoing arti‐
15       cles batched by the news system, while also fetching new incoming arti‐
16       cles from the same newsserver.
17
18       It  provides  the  NNTP capabilities required for serving a small local
19       news spool such as those that may be found on installations  with  NNTP
20       access through limited ISP accounts only, as well as being suitable for
21       exchanging news with supplemental news  sources  for  full  scale  news
22       servers.
23
24

OPERATION

26       The program would normally be run by user news.
27
28       When started, newsx will go through the spoolname outgoing spool queue,
29       and attempt to post all articles therein to the NNTP server hostname.
30
31       If a username and password for use with the simple authorization proto‐
32       col  have  been supplied, they will be sent to the server first. If the
33       -r option is specified, a MODE READER command will be sent.
34
35       When the outgoing transfer is finished, articles will be  removed  from
36       the  outgoing  spool queue if successful transfer has been acknowledged
37       by the NNTP host, if the article was specified by the host as a  dupli‐
38       cate (already posted), or if a spooled article can no longer be found.
39
40       The  fetch  phase  is  then  initiated.   Articles  available  from the
41       newsserver will be fetched and placed in the incoming spool,  ready  to
42       be injected into the news system by newsrun (C News) or rnews -U (INN).
43
44       The  groups  are  visited  in the sequence that they appear in the host
45       incoming state file, see in.hosts(5).  This may  be  used  actively  to
46       prioritize  between  newsgroups.   A tag mechanism controlled by the -e
47       option is available to limit the number of groups that will be fetched.
48
49       Group names not present in the active file will not be fetched.   Every
50       group name is checked against the spoolname entries in the sys (C News)
51       or newsfeeds (INN) file, as well  as  any  --groups  option,  and  only
52       groups  allowed  there will actually be fetched.  For C News, the group
53       name is also checked against the ME entry, whereas in INN the ME  entry
54       is just prepended to the spoolname entry.
55
56       In  this way, the sys/newsfeed file is used to control which newsgroups
57       are actually received from the remote site, in the same manner that the
58       local server determines which outgoing article will go where.
59
60       If  an  -e  option hasn't been specified, the local active file is then
61       traversed to see if there are groups not mentioned in the current  host
62       newsrc  file.   Again, only groups allowed by sys or newsfeeds is actu‐
63       ally fetched. Since these groups don't have a starting point specified,
64       all available articles will be fetched.
65
66       To  avoid  transferring  cross-posted articles more than once, articles
67       with messags IDs already fetched  in  the  same  session  will  not  be
68       fetched again.
69
70       To  make multiple news sources to be used in an efficient manner, arti‐
71       cles present in the history database will be skipped.
72
73       The pull phase can be omitted entirely by using the -g option.
74
75       Statistics on the connection will be logged to syslog (or  stderr  with
76       -d).  The posted article count is the total number of articles actually
77       posted.  The duplicate count is how many message IDs from  posted  mes‐
78       sages that were found to already exist on the remote system.  The miss‐
79       ing count is those posted  articles  that  could  no  longer  be  found
80       locally,  usually  because they were canceled locally, or perhaps since
81       they were expired already.
82
83       The connection time and the total number of characters transferred  via
84       the  NNTP  layer is logged, in addition to the average speed of article
85       transfer.  The speed given is the net rate, the calculation being based
86       on  the  actual number of characters belonging to news article head and
87       body parts.
88
89       A log file may be specified with the -l option, and a folder of  posted
90       messages maintained with the -f option.
91
92

ARGUMENTS

94       options
95              As detailed below.
96
97       spoolname
98              The  name  of  the  outgoing spool queue.  If not specified, the
99              value of the NNTPSERVER environment variable will be used.
100
101       hostname
102              The hostname of the remote NNTP server to  connect  to.  If  not
103              specified, the name of the spool will be used.
104
105       port   The port used for connecting to hostname.  Will usually not need
106              to be specified, and port "nntp" will be assumed.  The port name
107              "telnet" will receive special treatment.
108
109

OPTIONS FOR LOGGING

111       -f folder, --posted folder
112              Posted  articles  will  be  appended to the standard mail folder
113              indicated.  Note that the article will be added  to  the  folder
114              the  first  time posting of an article is attempted.  The actual
115              status of the posting will appear in the log file.
116
117       -l logfile, --log logfile
118              Log information about successfully posted articles to  the  file
119              indicated.
120
121       --stat statfile
122              A  summary  of article exchange statistics will be logged to the
123              file indicated.
124
125       --scanlogs
126              Obey locks set by the INN scanlogs utility.  This  is  currently
127              only  meaningfull  for  use with a modified scanlogs that under‐
128              stands newsx logs.
129
130

OPTIONS FOR NEWS ACCESS

132       -a authfile, --auth authfile
133              If specified, the username and  password  combination  found  in
134              authfile will be sent to the server as part of the simple autho‐
135              rization protocol when the connection is first  made.  The  file
136              should  consist  of  a  line with two blank-separated words, the
137              first being the username, the second  the  password.  Do  ensure
138              that  this  file  only has read access only for those users that
139              need to know.
140
141       --authgeneric
142              Authentication with  the  server  is  performed  using  AUTHINFO
143              GENERIC.   This  works  by  spawning a child process via /bin/sh
144              string, where string is set in  the  environment  variable  NNT‐
145              PAUTH.   This  process  is expected to handle the authentication
146              portion of the connection.
147
148       -r, --reader
149              A MODE READER command is sent to the remote server. This is used
150              when  connecting  to  remote INN hosts that needs it, and is the
151              default state when using --ihave. With  ihave,  the  command  is
152              issued  between the ihave and fetch phase, otherwise the command
153              is issued initially.
154
155       --no-reader
156              No MODE READER command is sent to the remote server. This is the
157              default state when not using --ihave.
158
159       --readbeforeauth
160              Send  the  MODE READER command before attempting to authenticate
161              via an AUTHINFO command. Otherwise, it is sent after the authen‐
162              tication.   This option will obviously have no effect unless you
163              also specify both --reader and one of  --authgeneric  or  --auth
164              authfile.
165
166       -w chatfile, --chat chatfile
167              Use chatfile to control any special connect sequence that may be
168              required before the NNTP protocol is connected. Only implemented
169              for the "telnet" protocol.
170
171       -x command, --exec command
172              If  specified,  the command will be executed after the host port
173              has been opened. This option is used in rare cases when  special
174              tricks has to be employed to get an NNTP connection activated.
175
176       -y program, --connect program
177              If  specified,  connect  via  a  bidirectional  pipe  to program
178              instead of to a socket. The hostname and port arguments will  be
179              ignored.
180
181

OPTIONS FOR POSTING

183       -p, --no-post
184              Do not attempt to do any posting.
185
186       --ihave
187              Use  NNTP  IHAVE mechanism for submitting news messages, instead
188              of the default POST. If this is for forwarding news in  general,
189              and  not  necessarily news generated locally, the setting of the
190              --fail and --bounce option should be carefully reviewed.
191
192       -m, --no-msgid
193              Remove any message-ID header field from the posted message. This
194              should  cause  the receiving end to generate a fresh message-ID.
195              It should never been used together with --ihave.
196
197       -k, ----keep-path
198              Keep the Path when posting. In posting  mode,  the  Path  is  by
199              default  stripped  together  with the NNTP-Posting-Host and Xref
200              header items, so that the path of the  news  article  as  posted
201              will  appear  to start at the actual posting host. With --ihave,
202              the path is always included.
203
204       --continue
205              Ignore (but report) errors about non-existing  outgoing  spools,
206              and continue with news fetching instead.
207
208       --max-path len
209
210       All outgoing articles are checked to see if the length of
211              their  paths  are  not  too  long.   This is an extra precaution
212              against inadvertently submitting foreign articles  for  posting.
213              This  option  sets the maximum path length allowed.  The default
214              value is 1, consistent with a simple, local, newsspool.  To dis‐
215              able  this  feature,  set  it to an impossibly large value, like
216              999.
217
218

OPTIONS FOR FETCHING

220       -g, --no-fetch
221              Do not attempt to fetch any news articles.
222
223       -e end_tag, --end end_tag
224              Specify a tag in the incoming host state file, see  in.hosts(5).
225              News  fetching  will  end when a corresponding tag line has been
226              reached. The tag line consists of a colon followed  by  the  tag
227              itself.   This is a useful tool for dividing the newsgroups into
228              several categories. Only a few newsgroups may be fetched  during
229              prime  time,  whereas  the  full  list can be fetched once every
230              night, for instance.
231
232       -W winsize, --window winsize
233              Specify the window size with respect  to  how  many  outstanding
234              NNTP  requests will be allowed at any one time. The default set‐
235              ting is 10.  A value of 0 will disable windowing  (aka.  stream‐
236              ing) completely, making debugging easier.  Increasing the window
237              can significantly  improve  the  article  transfer  speed.   The
238              effect  is  particulary pronounced over slow links and when many
239              of the articles are already present in the local spool, where an
240              improvement in speed of over 10 times has been observed compared
241              to running with windowing disabled.  All this at the penalty  of
242              an increased host newsserver load, obviously.
243
244       -b minspool, --size minspool
245              Specify  the minimum incoming spool size. After every new group,
246              if the spool file has reached the byte  size  specified,  a  new
247              spool  batch  will  be  made. Setting this value to 1 will cause
248              every newsgroup to be placed in a separate spool.
249
250       --rnews
251              Pipe incoming messages directly to rnews instead of placing them
252              into the in-coming spool.
253
254       --pipe-to program
255              Pipe  incoming  messages to program instead of placing them into
256              the in-coming spool.  A separate program and pipe  is  initiated
257              for each incoming message.
258
259       --rnews-to program
260              Like  --pipe-to,  but  the  pipe is continuous for each session,
261              with article seperation is in rnews style.
262
263       -z, --sync
264              Omit actual pulling of news articles. Instead, simply update the
265              host incoming state file to synchronize with the currently high‐
266              est available article numbers from the server in question.  This
267              option  can  be useful when a fresh local spool is initiated. No
268              article posting will be attempted.  See also in.hosts(5).
269
270       -Z, --syncnew
271              Omit actual pulling of news articles in previously unseen groups
272              only.   The  net  effect  is  that newly added groups will start
273              fetching from now on, instead of from the first  article  avail‐
274              able at the host server.
275
276       --reset
277              Ignore the latest article information in the host incoming state
278              file and  attempt  fetching  all  articles  available  from  the
279              server,  subject to the normal history lookup constraints.  This
280              option is useful if the remote spool has been reconfigured.  See
281              also in.hosts(5).
282
283       --filter filterprog
284              Enable  message  filtering via the program filterprog.  Uses the
285              highwind interface model, where each article  is  given  to  the
286              filter  in  NNTP-fashion,  and the filter responds with a 335 to
287              accept, and a 435 to reject a message.
288
289       --mfilter filterprog
290              Enable filtering by message ID. The filterprog will  be  invoked
291              once  for  each unseen message, with the message ID as a command
292              line argument.  A non-zero return status will prevent  the  mes‐
293              sage  from  being  transferred.   This function is obsolete, and
294              will probably be removed in later versions.
295
296       -X num, --maxnew num
297              Fetch at most num articles from each new and  previously  unseen
298              newsgroup.
299
300       --maxart num
301              Fetch  at  most num articles from each newsgroup. Note that this
302              might cause articles to be silently lost.
303
304       --no-path
305              Unless the exclusion pattern is set to newsx, all incoming arti‐
306              cles  are  checked  to  see if their path is consistent with the
307              exclusions given in /usr/lib/news/newsfeeds.  This option  omits
308              this check.
309
310       --forget-inactive
311              Remove  information in the incoming hosts state file about news‐
312              groups that are removed from the /usr/lib/news/active file.  See
313              also in.hosts(5).
314
315       --minfree N
316              Don't  fetch  news if there are less than N kbytes free space in
317              the news spool.
318
319       --group list
320              Specify pattern for groups to be  fetched  that  will  apply  in
321              addition  to the ones in /usr/lib/news/newsfeeds.  The syntax is
322              basically the same as for INN newsfeeds(5).  It  is  recommended
323              to  put  list in single quotes, since shells may otherwise treat
324              the ! character in strange ways.  For a list that specifies only
325              negations, an initial '*' clause will be assumed.
326
327       This  options is particularily useful to specify unsymmetric behaviour,
328       i.e.
329              groups where there will be outgoing  traffic,  but  no  incoming
330              articles.  For instance, to explicitly avoid fetching of control
331              groups, use:
332                     --groups '!control.*'
333
334       It can also be useful to specify that only a subset of groups should be
335       fetched for the occasion, e.g:
336              --groups 'comp.*,!*.advocacy'
337
338       It is recommended to put the argument for --groups in single quotes.
339
340

GENERAL OPTIONS

342       -c, --cnews
343              Set to C News mode as opposed to INN. Controls details regarding
344              handling of spool and lock files.
345
346       -i, --inn
347              Set to INN mode as opposed to C News. Controls details regarding
348              handling of spool and lock files.
349
350       --newline
351              Uses  single newline character as line terminator instead of the
352              carriage return, line feed sequence.
353
354       -v, --version
355              Display program version. Include this  when  reporting  bugs  to
356              http://www.kvaleberg.com/bug/
357
358       --help Give a very brief usage summary.
359
360       --no-ps
361              Do not update the process status display.
362
363

OPTIONS FOR NEWSGROUPS

365       Note:  Unless otherwise specified, these options are in addition to the
366       usual actions and do not imply --no-post or --no-fetch.  Specify  those
367       switches if desired.
368
369       --list listname
370              Obtain  a  list  of  newsgroups from the newsserver to listname.
371              The list consists of one  line  per  newsgroup,  containing  the
372              newsgroup  name,  a blank, and a letter showing the group status
373              (usually 'y' for an active group, 'm' for a moderated group).
374
375       If the first character is a '|',
376              listname is assumed to be a program path which will receive  the
377              list as standard input (you will need to put the entire argument
378              in quotes to escape the usual shell interpretation of '|').   If
379              it is a single '-', the list will appear on the standard output.
380              Otherwise it will be assumed to be a filename.
381
382       --newlist listname
383              Obtain a list of newsgroups not currently present on  the  local
384              server  from  the newsserver to listname.  The list is also sub‐
385              ject to the limitations of the sys or newsfeeds file.  The oper‐
386              ation is otherwise as for the --list option.
387
388       --desc descname
389              Obtain  a list of newsgroups descriptions from the newsserver to
390              descname.  Only descriptions for locally active newsgroups rele‐
391              vant to the newsfeed in question will be fetched.
392
393       The  list  consists of one line per newsgroup, containing the newsgroup
394       name,
395              a tab, and a short textual description.  A pipe may be specified
396              in descname kist as for the --list option.
397
398       --alldesc descname
399              Obtain  a list of all newsgroups descriptions available from the
400              newsserver to descname.  The operation is otherwise as  for  the
401              --desc option.
402
403

OPTIONS FOR ERROR HANDLING

405       -t timeout, --timeout timeout
406              Specify  timeout for TCP/IP and lockfile operations, in seconds.
407              The default value is 600.
408
409       --fail time
410              Specify the maximum age of an article. Whenever  an  attempt  of
411              posting  an  article  fails,  and  the  specified  time limit is
412              exceeded, the article will be declared as failed, and  a  bounce
413              message  will be generated.  The default unit is hours; the suf‐
414              fixes s for seconds, m for minutes, h for hours, d for days  and
415              w  for  weeks would change this. They can also be combined, e.g.
416              "4h30m".  In absence of this option, no fail by age will be per‐
417              formed.  Setting the time to zero will bounce messages after the
418              first failed attempt.
419
420       --bounce addr
421              Specify the destination address for messages bounced due to  the
422              fail  time  being  exceeded.   If  addr is specified as none, no
423              bounce will be generated.  The  default  value,  poster,  causes
424              messages to be returned to the sender. This setting should defi‐
425              nitely only be used in situations where newsx  is  utilized  for
426              posting locally generated news.
427
428       --attach how
429              Specifies  the  way  the original message is handled for bounced
430              messages:
431
432         mime Send the original as a Mime attachement. This is the default be‐
433              haviour.
434
435         yes  Append the original to the mail message itself.
436
437         no   Do not attach the original message.
438
439

OPTIONS MOSTLY FOR NEWS GATEWAYS

441       The following options are not for ordinary use: They would only be used
442       for special configurations where newsx is used as a sort of gateway  to
443       inject news messages from other sources.
444
445       --inews
446              Pipe  incoming  messages directly to inews, inject them into the
447              local spool via the same interface as is used for local new mes‐
448              sages.
449
450       --inews-options options
451              Specify  command  line options for --inews. The leading '-' must
452              be included. The default inews options are "-hOS".
453
454       --add-header header
455              Add a specific header to incoming messages. The header  will  be
456              added exactly as specified, adding a trailing newline.
457
458       The exception is for the special 4 letter string "Path".
459              This  will  be  replaced by a header line that says "Path: HOST‐
460              NAME!not-for-mail" if the incoming message  contains  no  Path:.
461              This  can  be  quite  essential  for  news  gateways  to prevent
462              injected messages to be retured back to the source.
463
464

OPTIONS FOR PROFILE FILES

466       --profile file
467              Read a newsx profile from file .  This file can contain  command
468              line   options   to   specify   default  newsx  behaviour.   See
469              newsx.conf(5) for an overview of the format.
470
471       Any option may be used in profile files. Some options are  really  only
472       meaningfull in profile files:
473
474       --spoolname spoolname
475              Specify a default spoolname.
476
477       --hostname hostname
478              Specify a default hostname.
479
480       --port port
481              Specify a default port for connecting to hostname.
482
483

OPTIONS FOR CONFIGURATION

485       Configuration  to  the local news system peculiarities is traditionally
486       done at build-time, but it is possible to specify at runtime in various
487       ways.
488
489       --config
490              Read   and   obey   the  standard  news  configuration  file  in
491              /usr/lib/news/lib/innshellvars.  This allows newsx to  adapt  to
492              changes in the local newsserver configuration dynamically.
493
494       --config-is configfile
495              Like  --config, except that the configuration filename is speci‐
496              fied. A list of  files  may  also  be  specified,  seperated  by
497              colons.  In  this  case, the first file on this list that exists
498              will be used.
499
500       --home newshome
501              Use newshome as the news home directory instead of  the  default
502              /usr/lib/news.  A full path must be specified.
503
504       -s spooldir, --spool spooldir
505              Use  spooldir as the news article spool directory instead of the
506              default /var/spool/news.  A full path must be specified.
507
508       --togo togofile
509              Specify the name of the C News togo file for outgoing  news.  No
510              effect in INN mode.  Required only if different from the default
511              value /var/spool/news/outgoing/spoolname/togo.   A  leading  '/'
512              specifices  a full path, a leading '.' is relative from the cur‐
513              rent   directory,   otherwise   the   name   is   relative    to
514              /var/spool/news/outgoing/spoolname.
515
516       --batch batchdir
517              Use  batchdir  as  the  outgoing  news  article  spool directory
518              instead of the default /usr/lib/newsbin.  A leading  '/'  speci‐
519              fices  a  full  path, a leading '.' is relative from the current
520              directory, otherwise the name is relative to /var/spool/news.
521
522       -h historydb, --history historydb
523              Specify the name of the history database file, used for checking
524              if  news  articles  are  already present in the spool.  Required
525              only  when   using   a   name   different   from   the   default
526              /usr/lib/news/history.   An  empty  argument "" will prevent any
527              referrence to the news history database.
528
529       --active activefile
530              Specify the name of the active newsgroup file for incoming news.
531              Required    only   if   different   from   the   default   value
532              /usr/lib/news/active.  A leading '/' specifices a full  path,  a
533              leading  '.' specifies a path relative to the current directory,
534              otherwise the name is relative to /usr/lib/news.
535
536       --newsfeeds newsfeedsfile
537              Specify the name of the newsfeed specification file.  This  will
538              override  the  default  both in C News (sys) and INN (newsfeeds)
539              modes.  File name conventions as for --active.
540
541       --incoming incomingdir
542              Use incomingdir as the incoming  news  article  spool  directory
543              instead of the default /var/spool/news/incoming.  Fine name con‐
544              ventions as for --active, except that the default  directory  is
545              /var/spool/news.
546
547       --inhosts inhostsdir
548              Use inhostsdir as the news host active file directory instead of
549              the default /var/spool/news/inhosts.  Name  conventions  as  for
550              --incoming.  See also in.hosts(5).
551
552       --hostconfig hostconfigdir
553              Use  hostconfigdir  as  the directory for the host specific pro‐
554              file.  instead of the  default  /var/spool/news/in.hosts.   Name
555              conventions  as  for  --incoming.   See  also newin.hosts(5) and
556              newsx.conf(5).
557
558

OPTIONS FOR TESTING AND DEBUGGING

560       --debug level
561              Set debug level. Any level different from zero diverts reporting
562              to  stderr  instead of syslog, and turns on extra debugging out‐
563              put.  Level 2 will output a '.' for every new article.  Level  3
564              will log all NNTP commands.  Level 4 will produce the same state
565              information that is available via the  process  status  display.
566              Going  to  level  5  will  produce additional debug information,
567              level 6 will include history database debug, while level 7  also
568              will  show all communications over the NNTP socket, article con‐
569              tent included.
570
571       -d, --verbose
572              Enable debugging, and sets the debug level according to the num‐
573              ber of times it is specified.
574
575       -n, --dry-run
576              No-action  flag,  will  "fake" an NNTP connection, and leave the
577              outgoing batch untouched.  Probably useful only with --debug for
578              debugging and dry-testing.
579
580       --verify
581              Used together with --configor --config-is, causes the configura‐
582              tion to be verified, but not adapted to.
583
584       -o, --keepold
585              Keep the previous outgoing spool in an ".old" file.  This  might
586              seem  like  a useful option for ordinary use, but the problem is
587              that a non-empty file  might  cause  a  news  watch  program  to
588              believe there is a stale outgoing spool.
589
590       -u, --no-force
591              After  the  timeout  of lockfile operations, just give up and do
592              not attempt  to  unlock  the  lockfiles  and  remove  the  stale
593              process.
594
595       --no-queue
596              Do  not  queue  up  for access to a news host. If a lock already
597              exists for the specified host, just give up and don't  queue  up
598              for it.
599
600       --locks locksdir
601              Use  locksdir  as the lock file directory instead of the default
602              /usr/lib/news.  Fine name conventions as  for  --active,  except
603              that the default directory is /usr/lib/news.  If the string none
604              is supplied, no locking will occur.  All this should  of  course
605              be used only if you really, really know what you are doing.
606
607       -q "msgid", --enquire "msgid"
608              Enquires whether the msgid is present in the local history data‐
609              base. The msgid should include the angle brackets. Implies --no-
610              post and --no-fetch.
611
612       --no-hostlock
613              Do not implement the newsx host access lock. Should only be used
614              if you really know what you are doing.
615
616       --no-next
617              Do not use the NNTP NEXT  command.  This  causes  newsx  not  to
618              attempt  to  use  NEXT  for  filling  out  gaps  in  the article
619              sequence.
620
621       --missing "num"
622              Tunes the number of missing articles in a row before a NEXT com‐
623              mand  is  issued, instead of a sequential STAT.  A value of zero
624              will cause NEXT to be used extensively. The default value  is  0
625              if no window, 2 if a window is specified.
626
627       --keep-fake
628              Some remote news servers generate faked news articles. Normally,
629              you would want newsx to skip them, but with this option you  can
630              actually fetch them.
631
632

SPECIAL CONNECT SEQUENCE

634       The  -w  option  specifies that a special connect sequence is required,
635       and that a script for this sequence can be found in the chatfile.  This
636       file  consists  of  lines that contains pattern receive and send pairs,
637       separated by blanks. The patterns  may  be  enclosed  in  quotes.   The
638       script is currently only available for the "telnet" protocol.
639
640       A typical invocation line would be:
641                   newsx -w chat.acme acme login.acme.net telnet
642
643       The file chat.acme could look like this:
644                   # login for acme.net NNTP
645                   login: myusername
646                   Password: mypassword
647                   $ "exec telnet news.acme.net nntp"
648                   ECHO
649
650       The script will have to be adapted for local conditions, of course.
651
652       The  special  tag  ECHO  specifies that line echo should be suppressed,
653       required since the host telnet operates in line mode.
654
655       Since this file usually contains passwords and other sensitive informa‐
656       tion, ensure that read access to it is limited.
657
658

PROCESS STATUS

660       The  ps  process status will also show the current newsx status. During
661       the actual news transfer phase, it will show which  group  and  article
662       number that is being fetched. A continuous status can be obtained by;
663                     newsq -c
664
665       This feature can be disabled via the --no-ps option.
666
667

CONFIGURATION FORMAT

669       For INN, the following configuration items will be used:
670
671       $INND  Signals an INN configuration.
672
673       $NEWSBIN
674              Directory for INN binaries.
675
676       $NEWSHOME
677              News home directory.
678
679       $PATHETC
680              Directory for news configuration files. Defaults to $NEWSHOME if
681              not available.
682
683       $SPOOL If $SPOOL contains the string  "/articles",  the  incoming  host
684              directory   $INHOSTS   will  be  formed  by  replacing  it  with
685              "/inhosts". Otherwise, "$SPOOL/in.hosts" will be used.
686
687       $BATCH Outgoing spool.
688
689       $INCOMING
690              Incoming spool.
691
692       $ACTIVE
693              Active file.
694
695       $HISTORY
696              History database.
697
698       $LOCKS DIrectory for lockfiles.
699
700       $NEWSFEEDS
701              Newsfeeds file.
702
703       $EXTENDEDDBZ
704              True is history database in extended format.  Only relevant  for
705              early INN 2.x where there is no libinn, otherwise ignored.
706
707       For C News:
708
709       $NEWSBIN
710
711       $NEWSCTL
712              Equivalent to INN $NEWSHOME.  $ACTIVE will be "$NEWSCTL/active".
713              $HISTORY  will  be  "$NEWSCTL/history".   $NEWSFEEDS   will   be
714              "$NEWSCTL/sys".  $LOCKS and $PATHETC will be "$NEWSCTL".
715
716       $NEWSARTS
717              Equivalent to INN $SPOOL.  $BATCH will be "$NEWSARTS/out.going".
718              $INCOMING  will  be  "$NEWSARTS/in.coming".   $INHOSTS  will  be
719              "$NEWSARTS/in.hosts".
720
721

LOG FILE FORMAT

723       The -l log file of posted articles will contain one line for each arti‐
724       cle.  To be compatible with the INN format, each field is separated  by
725       a tabstop:
726
727       Month  Standard 3 letter abbreviation.
728
729       Date   2 digits
730
731       HH:MM:SS
732              Local time.
733
734       Year   4 digits.
735
736       Spool  Name of outgoing spool.
737
738       <Msgid>
739              Within angle brackets.
740
741       Filename
742              As it appears in the spool file.
743
744       Sender The  value  of  the  Sender-field, or From-field if no Sender is
745              available.
746
747       Status "OK"  for  successfully  posted  items,  "Duplicate"  for  items
748              already posted.
749
750       Lines  Number of lines in the posting.
751
752       Status Message status. "OK" if everything went well, otherwise an error
753              message appears.
754
755

INCOMING SPOOL FORMAT

757       The incoming spool consists of files with the file name ending by ".t".
758       Each  file  can  contain many articles. Each article is prefixed by the
759       following header:
760                   #! rnews N
761
762       The number N is the number of bytes of the article proper, not counting
763       the header line. The article follows after the header line.  It appears
764       exactly as received from the news server except  that  CR/LF  sequences
765       are  replaced  by proper newlines, and the terminating full stop is not
766       included.
767
768

MESSAGE HEADER HANDLING

770       Incoming message headers will pass through without  modification,  with
771       the  exception that the text "newsx" will be added if not there already
772       when the exclusion pattern for the newshost is set to "newsx".
773
774       Most outgoing message header items will also pass through, altough some
775       header items are handled specially:
776
777       From:  Will  be  used  for  indentifying  the sender if everything else
778              fails.
779
780       Message-ID:
781              Will be used for logging purposes. The  --no-msgid  will  remove
782              this item for messages being posted.
783
784       NNTP-Posting-Date:
785
786       NNTP-Posting-Host:
787              Will always be removed for messages being posted.
788
789       Path:  Will  be removed for messages being posted, unless the ----keep-
790              path option is given.
791
792       Reply-to:
793              Will be used for indentifying the sender.
794
795       Sender:
796              Will be used for indentifying the sender.
797
798       Xref:  Will always be removed from outgoing messages.
799
800       X-Server-Date:
801
802       X-Trace:
803
804       X-Complaints-To:
805              Will always be removed for messages being posted.
806
807

DIAGNOSTICS

809       newsx returns error codes as follows:
810              0 - Successful completion
811              1 - General system error
812              2 - Incorrect arguments supplied.
813              3 - Error connecting to remote host
814              4 - NNTP Protocol error
815              5 - Errors accessing outgoing spool file.
816              6 - Errors accessing host newsrc file.
817              7 - Errors accessing incoming spool file.
818              8 - Errors accessing local active and sys files.
819              9 - Socket access error (e.g. connection timeout)
820              10 - Errors accessing authinfo file.
821              11 - Connect script failure.
822              12 - Option -q did not find the message ID.
823              13 - Wait for lock timed out.
824
825

NOTES

827       Distribution fields are ignored by newsx, and the handling of them left
828       to the news server.
829
830

BUGS

832       Report any bugs to http://www.kvaleberg.com/bug/
833
834

FILES

836       See also in.hosts(5).
837
838       /usr/lib/news/newsx.conf
839       Newsx  standard  profile.  If it exists, this profile file will be read
840       before the command line arguments are parsed.  See newsx.conf(5).
841
842       /usr/lib/news/lib/innshellvars
843       The standard news configuration file.
844
845       For C News:
846
847       /var/spool/news/outgoing/spoolname/togo
848              Spool file
849
850       /var/spool/news/outgoing/spoolname/togo.old
851              Previous spool file
852
853       /var/spool/news/outgoing/spoolname/LOCKb
854              Lock file
855
856       /var/spool/news/incoming/.tmp.$$
857              Incoming spool, temporary file.  $$ is the process ID.
858
859       /var/spool/news/incoming/T.$$.S.t
860              Incoming spool, when finished and ready for newsrun.  T  is  the
861              current  Unix  time,  $$ is the process ID, and, S is a sequence
862              number.
863
864       /usr/lib/news/active
865              Local active file, contains a list  over  all  currently  active
866              newsgroups  in the local spool. This is used as a basis for con‐
867              structing  a  list  over  which  newsgroups  will  actually   be
868              requested.
869
870       /usr/lib/news/sys
871              Newsserver configuration file.  This is used as a filter against
872              the local active list,  deciding  which  newsgroups  which  will
873              actually be pulled.  The basic format of each specification is:
874                   site/exclusions:grouplist/distlist:flags:cmd
875
876              If  the  exclusions field is set to newsx, newsx will modify the
877              path of incoming news to include the "newsx" pattern.
878
879              The site field identifies the remote news source.
880
881              The grouplist is a comma separated list of group pattern  names.
882              A  !-prefix  signifies exclusions, and the name all matches any‐
883              thing.
884
885       /usr/lib/news/history
886
887       /usr/lib/news/history.pag
888
889       /usr/lib/news/history.dir
890              Local news spool database.
891
892       For INN:
893
894       /var/spool/news/outgoing/spoolname
895              Spool file
896
897       /var/spool/news/outgoing/spoolname.old
898              Previous spool file
899
900       /usr/lib/news/LOCK.spoolname
901              Lock file
902
903       /usr/lib/news/active
904              Local active file, contains a list  over  all  currently  active
905              newsgroups  in the local spool. This is used as a basis for con‐
906              structing  a  list  over  which  newsgroups  will  actually   be
907              requested.
908
909       /usr/lib/news/newsfeeds
910              Newsserver configuration file.  This is used as a filter against
911              the local active list,  deciding  which  newsgroups  which  will
912              actually be pulled.  The basic format of each specification is:
913                   site/exclusions:grouplist/distlist:flags:param
914
915              If  the  exclusions field is set to newsx, newsx will modify the
916              path of incoming news to include the "newsx" pattern.
917
918              The site field identifies the remote news source.
919
920              The grouplist is a comma separated list of group pattern  names.
921              A  !-prefix  signifies  groups  not  exchanged,  and  the name *
922              matches anything.
923
924       /usr/lib/news/history
925
926       /usr/lib/news/history.pag
927
928       /usr/lib/news/history.dir
929              Local news spool article database.
930
931

AUTHOR

933       Egil Kvaleberg <egil@kvaleberg.no>
934
935

SEE ALSO

937       newsq(1), in.hosts(5)
938
939       C News: news(5), newsdb(5), newssys(5), rnews(8)
940
941       INN:  rnews(1),  inews(1),  wildmat(3),  active(5),  history(5),  news‐
942       feeds(5), ctlinnd(8)
943
944       RFC-977 - Network News Transfer Protocol (NNTP)
945       RFC-1036 - Usenet Article Format
946
947       http://www.kvaleberg.com/ISP-Hookup-HOWTO.html
948       http://www.kvaleberg.com/newsx.html
949
950
951
952
953                                                                      NEWSX(8)
Impressum