newsfeeds man page on BSDi

Man page or keyword search:  
man Server   6284 pages
apropos Keyword Search (all sections)
Output format
BSDi logo
[printable version]



NEWSFEEDS(5)					     NEWSFEEDS(5)

NAME
       newsfeeds - determine where Usenet articles get sent

DESCRIPTION
       The  file  <pathetc  in	inn.conf>/newsfeeds specifies how
       incoming articles should be distributed	to  other  sites.
       It  is  parsed  by the InterNetNews server innd(8) when it
       starts up, or when directed to by ctlinnd(8).

       The file is interpreted as a set of lines according to the
       following  rules.   If  a line ends with a backslash, then
       the backslash, the newline,  and	 any  whitespace  at  the
       start of the next line is deleted.  This is repeated until
       the entire ``logical'' line is collected.  If the  logical
       line is blank, or starts with a number sign (``#''), it is
       ignored.

       All other lines are interpreted as feed entries.	 An entry
       should  consist of four colon-separated fields; two of the
       fields may have	optional  sub-fields,  marked  off  by	a
       slash.  Fields or sub-fields that take multiple parameters
       should be separated by  a  comma.   Extra  whitespace  can
       cause  problems.	  Except for the site names, case is sig-
       nificant.  The format of an entry is:
	      sitename[/exclude,exclude,...]\
		   :pattern,pattern...[/distrib,distrib...]\
		   :flag,flag...\
		   :param
       Each field is described below.

       The sitename is the name of the site to which a news arti-
       cle  can	 be sent.  It is used for writing log entries and
       for determining if an article should  be	 forwarded  to	a
       site.   If  sitename already appears in the article's Path
       header, then the article will not be  sent  to  the  site.
       The name is usually whatever the remote site uses to iden-
       tify itself in the Path line, but can be almost	any  word
       that makes sense; special local entries (such as archivers
       or gateways) should probably end with an exclamation point
       to  make	 sure  that they do not have the same name as any
       real site.  For example, ``gateway'' is	an  obvious  name
       for  the local entry that forwards articles out to a mail-
       ing list.  If a site with the name  ``gateway''	posts  an
       article,	 when the local site receives the article it will
       see the name in the Path and not send the article  to  its
       own  ``gateway''	 entry.	  See also the description of the
       ``Ap'' flag, below.  If an entry	 has  an  exclusion  sub-
       field,  then  the article will not be sent to that site if
       any of the names specified as excludes appear in the  Path
       header.	 The  same sitename can be used more than once --
       the appropriate action will be taken for each  entry  that
       should  receive	the  article,  regardless  of the name --
       although this is recommended only  for  program	feeds  to
       avoid confusion.	 Case is not significant in site names.

								1

NEWSFEEDS(5)					     NEWSFEEDS(5)

       The  patterns specify which groups to send to the site and
       are interpreted to build a ``subscription list''	 for  the
       site.  The default subscription is to get all groups.  The
       patterns in the field are wildmat(3)-style  patterns,  and
       are  matched  in order against the list of newsgroups that
       the local site receives.	 If the first character of a pat-
       tern  is an exclamation mark, then any groups matching the
       pattern are removed from the subscription,  otherwise  any
       matching	 groups	 are  added.  For example, to receive all
       ``comp'' groups, but  only  comp.sources.unix  within  the
       sources	newsgroups,  the following set of patterns can be
       used:
	      comp.*,!comp.sources.*,comp.sources.unix
       There are three things to note about  this  example.   The
       first is that the trailing ``.*'' is required.  The second
       is that, again, the result of the last match is	the  most
       important.   The third is that ``comp.sources.*'' could be
       written as ``comp.sources*'' but this would not	have  the
       same effect if there were a ``comp.sources-only'' group.

       There  is  also	a  way	to subscribe to a newsgroup nega-
       tively.	That is to say, do not send this  group	 even  if
       the article is cross-posted to a subscribed newsgroup.  If
       the first character of a pattern is an  atsign  ``@'',  it
       means that any article posted to a group matching the pat-
       tern will not be sent  even  though  the	 article  may  be
       cross-posted  to	 a  group  which is subscribed.	 The same
       rules of precedence apply in that the last  match  is  the
       one which counts.  For example, if you want to prevent all
       articles posted to  any	"alt.binaries.warez"  group  from
       being  propagated  even	if  it is cross-posted to another
       "alt" group or any other group for that matter,	then  the
       following set of patterns can be used:
	      alt.*,@alt.binaries.warez.*,misc.*
       If  you	reverse	 the  alt.* and alt.binaries.warez.* pat-
       terns, it would nullify the atsign because the  result  of
       the  last  match	 is the one that counts.  Using the above
       example, if an article is posted to one	or  more  of  the
       alt.binaries.warez.*   groups   and   is	 cross-posted  to
       misc.test, then the article is not sent.

       See innd(8) for details on the propagation of control mes-
       sages.

       A  subscription	can  be	 further  modified  by specifying
       ``distributions'' that  the  site  should  or  should  not
       receive.	 The default is to send all articles to all sites
       that subscribe to any of the  groups  where  it	has  been
       posted  ,  but if an article has a Distribution header and
       any distribs are specified, then they are checked  accord-
       ing to the following rules:

       1.     If  the Distribution header matches any of the val-
	      ues in the sub-field, then the article is sent.

								2

NEWSFEEDS(5)					     NEWSFEEDS(5)

       2.     If a distrib starts with an exclamation point,  and
	      it  matches the Distribution header, then the arti-
	      cle is not sent.

       3.     If Distribution header does not match  any  distrib
	      in  the  site's  entry, and no negations were used,
	      then the article is not sent.

       4.     If Distribution header does not match  any  distrib
	      in  the  site's entry, and any distrib started with
	      an exclamation point, then the article is sent.

       If an article has more than  one	 distribution  specified,
       then  each one is according to the above rules.	If any of
       the specified  distributions  indicate  that  the  article
       should  be  sent, it is; if none do, it is not sent -- the
       rules are used as a ``logical or.''  It	is  almost  defi-
       nitely a mistake to have a single feed that specifies dis-
       tributions that start with an exclamation point along with
       some that don't.

       Distributions  are  text words, not patterns; entries like
       ``*'' or ``all'' have no special meaning.

       The flags parameter  specifies  miscellaneous  parameters.
       They may be specified in any order; flags that take values
       should have the value immediately after	the  flag  letter
       with no whitespace.  The valid flags are:

       <size  An  article  will only be sent to the site if it is
	      less than size  bytes  long.   The  default  is  no
	      limit.

       >size  An  article  will only be sent to the site if it is
	      greater than size bytes long.  The  default  is  no
	      limit.

       Achecks
	      An  article  will	 only  be  sent to the site if it
	      meets the requirements  specified	 in  the  checks,
	      which should be chosen from the following set:
		   c	Exclude all kinds of control messages
		   C	Only include all kinds of control messages
		   d	Distribution header required
		   e	Only include message whose newsgroups in
			Newsgroups header all exist in active
		   o	Overview data is created if storage
			api is turned on
		   p	Do not check Path header for the sitename before
			propagating (the exclusions are still checked).
	      If  both	``c''  and ``C'' are specified simultane-
	      ously, the last specified one is adopted.

								3

NEWSFEEDS(5)					     NEWSFEEDS(5)

       Bhigh/low
	      If a site is being  fed  by  a  file,  channel,  or
	      exploder	(see  below),  the  server  will normally
	      start trying to write the information  as	 soon  as
	      possible.	  Providing a buffer may give better sys-
	      tem performance and help smooth out overall load if
	      a	 large	batch of news comes in.	 The value of the
	      this flag should be  two	numbers	 separated  by	a
	      slash.   The first specifies the point at which the
	      server can start draining the  feed's  I/O  buffer,
	      and  the	second specifies when to stop writing and
	      begin buffering again; the units	are  bytes.   The
	      default  is  to  do no buffering, sending output as
	      soon as it is possible to do so.

       Fname  This flag specifies  the	name  of  the  file  that
	      should be used if it is necessary to begin spooling
	      for the site (see below).	 If name is not an  abso-
	      lute  pathname,  it  is  taken  to  be  relative to
	      <pathoutgoing in inn.conf>.  Then, if the	 destina-
	      tion  is	a directory, the file togo in that direc-
	      tory will be used as filename.

       Gcount If this flag is specified, an article will only  be
	      sent  to	the  site if it is posted to no more than
	      count newsgroups.

       Hcount If this flag is specified, an article will only  be
	      sent  to the site if it has count or fewer sites in
	      its Path line.  This flag should only be used as	a
	      rough  guide because of the loose interpretation of
	      the Path header; some sites put the  poster's  name
	      in  the header, and some sites that might logically
	      be considered to be one hop become two because they
	      put  the	posting workstation's name in the header.
	      The default value for count is one.

       Isize  The flag specifies the size of the internal  buffer
	      for a file feed.	If there are more file feeds than
	      allowed by the system, they will be buffered inter-
	      nally  in least-recently-used order.  If the inter-
	      nal buffer grows bigger then size	 bytes,	 however,
	      the  data	 will  be  written out to the appropriate
	      file.  The default value	is  <SITE_BUFFER_SIZE  in
	      config.data> bytes (typically (16 * 1024 ) .)

       Nmodifiers
	      The  newsgroups  that  a site receives are modified
	      according to the modifiers, which should be  chosen
	      from the following set:
		   m	Only moderated groups
		   u	Only unmoderated groups

								4

NEWSFEEDS(5)					     NEWSFEEDS(5)

       Ppriority
	      The nice priority that this channel or program feed
	      should receive.  This should be a	 positive  number
	      between  0 and 20, and is the priority that the new
	      process will run with.  This can be used	to  raise
	      the  priority  to	 normal	 if  you  are  using  the
	      nicekids inn.conf variable.

       OOriginator
	      If this is used then articles  sent  to  this  feed
	      must  contain  a X-Trace header and the first field
	      in the header must match the  parameter  used  with
	      this  flag.   Originator	can be a wildmat(3)-style
	      pattern.	One use of this is to restrict	the  feed
	      to locally generated posts.

       Ssize  If  the  amount of data queued for the site gets to
	      be larger than size bytes,  then	the  server  will
	      switch  to  spooling, appending to a file specified
	      by   the	 ``F''	 flag,	 or   <pathoutgoing    in
	      inn.conf>/sitename  if the ``F'' flag is not speci-
	      fied.  Spooling usually happens only for channel or
	      exploder feeds.

       Ttype  This  flag specifies the type of feed for the site.
	      Type should be a letter chosen from  the	following
	      set:
		   c	Channel
		   f	File
		   l	Log entry only
		   m	Funnel (multiple entries feed into one)
		   p	Program
		   x	Exploder
	      Each feed is described below in the section on feed
	      types.  The default is Tf.

       Witems If a site is fed by  file,  channel,  or	exploder,
	      this flag controls what information is written.  If
	      a site is fed  by	 a  program,  only  the	 asterisk
	      (``*'') has any effect.  The items should be chosen
	      from the following set:
		   b	Size of the article in bytes
		   f	Article's full pathname
		   g	The newsgroup the article is in;
			if cross-posted, then the first of the groups this
			site gets
		   h	Article's Message-ID hash key
		   m	Article's Message-ID
		   n	Article's pathname relative to the spool directory or
			token of the article if storage api is turned on
		   p	The time the article was posted as seconds since epoch.
		   s	The site that fed the article to the server; from the
			Path: header or the IP address of the site that sent
			the article depending on the ``logipaddr'' field in

								5

NEWSFEEDS(5)					     NEWSFEEDS(5)

			inn.conf(8)
		   t	Time article was received as seconds since epoch
		   *	Names of the appropriate funnel entries;
			or all sites that get the article
		   D	Value of the Distribution header;
			? if none present
		   H	All headers
		   N	Value of the Newsgroups header
		   P	Article's Path header
		   O	Overview data
		   R	Information needed for replication
	      More than one letter can be used; the entries  will
	      be  separated  by a space, and written in the order
	      in which they are specified.  The default is Wn.

	      The ``H'' and ``O'' items are intended for  use  by
	      programs	that  create news overview databases.  If
	      ``H'' is present, then the all the article's  head-
	      ers  are written followed by a blank line.  An Xref
	      header (even if one does not appear  in  the  filed
	      article)	and  a Bytes header, specifying the arti-
	      cle's size (see ``b'' description below for  clari-
	      fying size meaning), will also be part of the head-
	      ers.  If used, this should be the only item in  the
	      list;  if	 preceded by other items, however, a new-
	      line will	 be  written  before  the  headers.   The
	      ``hR''  (for storage api) or ``O'' (for non-storage
	      api) generates input to  the  overchan(8)	 program.
	      It, too, should be the only item in the list.

	      The  asterisk has special meaning.  It expands to a
	      space-separated list of all sites that received the
	      current  article.	  If  the site is the target of a
	      funnel however (i.e., it is named	 by  other  sites
	      which  have  a  ``Tm''  flag),  then  the	 asterisk
	      expands to the  names  of	 the  funnel  feeds  that
	      received the article.  If the site is fed by a pro-
	      gram, then an asterisk in the param field	 will  be
	      expanded	 into  the  list  of  funnel  feeds  that
	      received the article.  A site fed by a program can-
	      not  get	the  site list unless it is the target of
	      other ``Tm'' feeds.

	      If storage api is turned on, the	``b''  and  ``f''
	      items  differs  from non-storage api slightly.  The
	      ``b'' item shows the size of wire formatted size of
	      the article.  The ``f'' item shows the token of the
	      article, and this is equivalent to the ``n''  item.

       The  interpretation of the param field depends on the type
       of feed, and is explained in more detail below in the sec-
       tion on feed types.  It can be omitted.

       The  site  named ME is special.	There must be exactly one

								6

NEWSFEEDS(5)					     NEWSFEEDS(5)

       such entry, and it should be the first entry in the  file.
       If the ME entry has an exclusion sub-field, then the arti-
       cles are	 rejected  if  any  of	the  names  specified  as
       excludes appear in the Path header.  If the ME entry has a
       subscription  list,  then  that	list   is   automatically
       prepended  to  the subscription list of all other entries.
       For example, ``*,!control,!junk,!foo.*'' can  be	 used  to
       set up the initial subscription list for all feeds so that
       local postings are not propagated unless ``foo.*'' explic-
       itly  appears  in the site's subscription list.	Note that
       most subscriptions should have ``!junk,!control'' in their
       pattern	list;  see the discussion of ``control messages''
       in innd(8).  (Unlike other  news	 software,  it	does  not
       affect  what  groups  are  received;  that  is done by the
       active(5) file.)

       If the ME entry has a  distribution  subfield,  then  only
       articles	 that  match  the distribution list are accepted;
       all  other  articles  are  rejected.   A	 commercial  news
       server,	for  example,  might  have  ``/!local'' to reject
       local postings from other, misconfigured, sites.

FEED TYPES
       Innd provides four basic types of feeds: log,  file,  pro-
       gram, and channel.  An exploder is a special type of chan-
       nel.  In addition, several entries can feed into the  same
       feed;  these are funnel feeds, that refer to an entry that
       is one of the other types.  Note that the term ``feed'' is
       technically a misnomer, since the server does not transfer
       articles, but reports that an article should  be	 sent  to
       the site.

       The  simplest  feed  is	one  that  is fed by a log entry.
       Other   than   a	  mention   in	  the	 news	 logfile,
       <pathlogininn.conf>/news,  no  data  is	ever written out.
       This is equivalent to a ``Tf'' entry writing to	/dev/null
       except that no file is opened.

       A  site	fed  by a file is the next simplest type of feed.
       When the site should receive an article, one line is writ-
       ten to the file named by the param field.  If param is not
       an absolute pathname,  it  is  taken  to	 be  relative  to
       <pathoutgoing in inn.conf>.    If   empty,   the	 filename
       defaults	 to  <pathoutgoing in inn.conf>/sitename.    This
       name should be unique.

       When  a	site  fed by a file is flushed (see ctlinnd), the
       following steps are performed.  The script doing the flush
       should  have  first renamed the file.  The server tries to
       write out any buffered data, and	 then  closes  the  file.
       The  renamed  file  is  now available for use.  The server
       will then re-open the original file, which  will	 now  get
       created.

								7

NEWSFEEDS(5)					     NEWSFEEDS(5)

       A  site	fed  by a program has a process spawned for every
       article that the site receives.	The param field must be a
       sprintf(3) format string that may have a single %s parame-
       ter, which will be given a pathname for the article  rela-
       tive  to the news spool directory or a token.  If the name
       is not a token, the full path name may be obtained by pre-
       fixing  the %s in the param field by the news spool direc-
       tory prefix.  Standard input will be set to  the	 article,
       unless  the  article name is a token.  Standard output and
       error   will   be    set	   to	 the	error	 log	(
       <pathlogininn.conf>/errlog.  The process will run with the
       user and group ID of the <pathrun in inn.conf>  directory.
       Innd will try to avoid spawning a shell if the command has
       no shell meta-characters; this feature can be defeated  by
       appending  a  semi-colon	 to  the end of the command.  The
       full pathname of the program to be run must be  specified;
       for security, PATH environment is not searched.

       If  the entry is the target of a funnel, and if the ``W*''
       flag is used, then a single asterisk may be  used  in  the
       param  field where it will be replaced by the names of the
       sites that fed into the funnel.	If the	entry  is  not	a
       funnel, or if the ``W*'' flag is not used, then the aster-
       isk has no special meaning.

       Flushing a site fed by a program does no action.

       When a site is fed by a channel	or  exploder,  the  param
       field  names  the process to start.  Again, the full path-
       name of the process must be given.  When the  site  is  to
       receive	an  article,  the  process receives a line on its
       standard input telling it  about	 the  article.	 Standard
       output  and  error,  and	 the user and group ID of the all
       sub-process are set as for a program feed, above.  If  the
       process	exits, it will be restarted.  If the process can-
       not be started, the server will	spool  input  to  a  file
       named  <pathoutgoing in inn.conf>/sitename.   It will then
       try to start the process some time later.

       When a site fed by a channel or exploder is  flushed,  the
       server  closes down its end of the pipe.	 Any pending data
       that has	 not  been  written  will  be  spooled;	 see  the
       description  of the ``S'' flag, above.  No signal is sent;
       it is up to the program to  notice  EOF	on  its	 standard
       input and exit.	The server then starts a new process.

       Exploders are a superset of channel feeds.  In addition to
       channel behavior, exploders can	be  sent  command  lines.
       These  lines  start  with  an exclamation point, and their
       interpretation is up to the exploder.  The following  mes-
       sages are generated automatically by the server:
	      newgroup group
	      rmgroup group
	      flush

								8

NEWSFEEDS(5)					     NEWSFEEDS(5)

	      flush site
       These  messages	are  sent when the ctlinnd command of the
       same name is received by the  server.   In  addition,  the
       ``send''	 command can be used to send an arbitrary command
       line to the exploder child-process.  The primary	 exploder
       is buffchan(8).

       Funnel feeds provide a way of merging several site entries
       into a single output stream.  For a site	 feeding  into	a
       funnel,	the  param field names the actual entry that does
       the feeding.

EXAMPLES
	      ##  Initial subscription list and our distributions.
	      ME:*,!junk,!foo.*/world,usa,na,ne,foo,ddn,gnu,inet\
		   ::
	      ##  Feed all moderated source postings to an archiver
	      source-archive!:!*,*sources*,!*wanted*,!*.d\
		   :Tc,Wn:<PREFIX specified with --prefix at configure>/bin/archive -f -i \
		       /usr/spool/news.archive/INDEX
	      ##  Watch for big postings
	      watcher!:*\
		   :Tc,Wbnm\
		   :exec awk '$1 > 1000000 { print "BIG", $2, $3 }' >/dev/console
	      ##  A UUCP feed, where we try to keep the "batching" between 4 and 1K.
	      ihnp4:/world,usa,na,ddn,gnu\
		   :Tf,Wnb,B4096/1024:
	      ##  Usenet as mail; note ! in funnel name to avoid Path conflicts.
	      ##  Can't use ! in "fred" since it would like look a UUCP address.
	      fred:!*,comp.sources.unix,comp.sources.bugs\
		   :Tm:mailer!
	      barney@bar.com:!*,news.software.nntp,comp.sources.bugs\
		   :Tm:mailer!
	      mailer!:!*\
		   :W*,Tp:/usr/ucb/Mail -s "News article" *
	      ##  NNTP feeds fed off-line via nntpsend or equivalent.
	      feed1::Tf,Wnm:feed1.domain.name
	      peer.foo.com:foo.*:Tf,Wnm:peer.foo.com
	      ##  Real-time transmission.
	      mit.edu:/world,usa,na,ne,ddn,gnu,inet\
		   :Tc,Wnm:<PREFIX specified with --prefix at configure>/bin/nntplink -i stdin mit.edu
	      ##  Two sites feeding into a hypothetical NNTP fan-out program:
	      nic.near.net:\
		   :Tm:nntpfunnel1
	      uunet.uu.net/uunet:!ne.*/world,usa,na,foo,ddn,gnu,inet\
		   :Tm:nntpfunnel1
	      nntpfunnel1:!*\
		   :Tc,Wmn*:<PREFIX specified with --prefix at configure>/bin/nntpfanout
	      ##  A UUCP site that wants comp.* and moderated soc groups
	      uucpsite!comp:!*,comp.*/world,usa,na,gnu\
		   :Tm:uucpsite
	      uucpsite!soc:!*,soc.*/world,usa,na,gnu\
		   :Tm,Nm:uucpsite
	      uucpsite:!*\

								9

NEWSFEEDS(5)					     NEWSFEEDS(5)

		   :Tf,Wnb:/usr/spool/batch/uucpsite

       The last two sets of entries show how funnel feeds can  be
       used.   For  example, the nntpfanout program would receive
       lines like the following on its standard input:
	      <123@litchi.foo.com> comp/sources/unix/888 nic.near.net uunet.uu.net
	      <124@litchi.foo.com> ne/general/1003 nic.near.net
       Since the UUCP funnel is only destined for one  site,  the
       asterisk is not needed and entries like the following will
       be written into the file:
	      <qwe#37x@snark.uu.net> comp/society/folklore/3
	      <123@litchi.foo.com> comp/sources/unix/888

HISTORY
       Written by Rich $alz  <rsalz@uunet.uu.net>  for	InterNet-
       News.  This is revision 1.1.2.2, dated 1999/09/22.

SEE ALSO
       active(5),  buffchan(8), ctlinnd(8), inn.conf(5), innd(8),
       wildmat(3).

							       10

[top]

List of man pages available for BSDi

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net