Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for innfeed.conf (redhat section 5)

innfeed.conf(5) 		       File Formats Manual			  innfeed.conf(5)

NAME
       innfeed.conf - configuration file for innfeed

DESCRIPTION
       This man page describes the configuration file for version 1.0 of innfeed. This format has
       changed dramatically since version 0.9.3.

       The file innfeed.conf is used to control the innfeed(1) program. It is a fairly	free-for-
       mat file that consists of three types of entries: key/value, peer and group.  Comments are
       taken from the hash character ``#'' to the end of the line.

       Key/value entries are a keyword and a value separated by a colon (which can itself be sur-
       rounded by whitespace). For example:

	      max-connections: 10

       A legal key starts with a letter and contains only letters, numbers and ``_'', ``-''.

       There  are 5 different type of values: integers, floating-point numbers, characters, bool-
       eans, and strings. Integer and floating point numbers are as to be  expected  except  that
       exponents  in floating point numbers are not supported. A boolean value is either ``true''
       or ``false'' (case is not significant). A character value is a single-quoted character  as
       defined	by  the  C-language.  A  string value is any other sequence of characters. If the
       string needs to contain whitespace, then it must be quoted with double  quotes,	and  uses
       the same format for embedding non-printing characters as normal C-language string.

       Peer entries look like:

	      peer <name> {
		      # body ...
	      }

       The  word ``peer'' is required. The ``<name>'' is the same as the site name in INN's news-
       feeds file. The body of a peer entry contains some number  (possibly  zero)  of	key/value
       entries.

       Group entries look like:

	      group <name> {
		   # body
	      }

       The word ``group'' is required. The ``<name>'' is any string valid as a key. The body of a
       group entry contains any number of the three types of entries. So key/value pairs  can  be
       defined	inside	a  group, and peers can be nested inside a group, and other groups can be
       nested inside a group.

       Key/value entries that are defined outside of all peer and group entries are said to be at
       ``global  scope''. There are global key/value entries that apply to the process as a whole
       (for example the location of the backlog file directory), and there are	global	key/value
       entries	that act as defaults for peers. When innfeed looks for a specific value in a peer
       entry (for example, the maximum number of connections to set up),  if  the  value  is  not
       defined	in the peer entry, then the enclosing groups are examined for the entry (starting
       at the closest enclosing group). If there are no enclosing groups, or the enclosing groups
       don't define the key/value, then the value at global scope is used.

       A small example could be:

	      # Global value applied to all peers that have
	      # no value of their own.
	      max-connections: 5

	      # A peer definition. ``uunet'' is the name used by innd in
	      # the newsfeeds file.
	      peer uunet {
		   ip-name: usenet1.uu.net
	      }

	      peer vixie {
		      ip-name: gw.home.vix.com
		      max-connections: 10      # override global value.
	      }

	      # A group of two peers who can handle more connections
	      # than normal
	      group fast-sites {
		   max-connections: 15

		   # Another peer. The ``max-connections'' value from the
		   # ``fast-sites'' group scope is used. The ``ip-name'' value
		   # defaults to the peer's name.
		   peer data.ramona.vix.com {
		   }

		   peer bb.home.vix.com {
			max-connections: 20 # he can really cook.
		   }
	      }

       Given  the above configuration file, the defined peers would have the following values for
       the ``max-connections'' key.

	      uunet		     5
	      vixie		    10
	      data.ramona.vix.com   15
	      bb.home.vix.com	    20

       Innfeed ignores key/value pairs it is not interested in. Any config file value that can be
       set via a command line option, is not used if the command-line option is given.

       Config files can be included in other config files via the syntax:
	      $INCLUDE filename
       There is a maximum nesting depth of 10.

       For a fuller example config file, see the supplied innfeed.conf.

GLOBAL VALUES
       The  following listing show all the keys that apply to the process as whole. These are not
       required (compiled-in defaults are used where needed).

       news-spool
	      This key requires a pathname value. It specifies where the top of the article spool
	      is. This corresponds to the ``-a'' command-line option.

       input-file
	      This  key  requires  a  pathname	value. It specifies the pathname (relative to the
	      backlog-directory) that should be read in funnel-file  mode.  This  corresponds  to
	      giving  a  filename  as  an  argument  on the command-line (i.e.	its presence also
	      implies that funnel-file mode should be used).

       pid-file
	      This key requires a pathname value. It specifies	the  pathname  (relative  to  the
	      backlog-directory) where the pid of the innfeed process should be stored. This cor-
	      responds to the ``-p'' command-line option.

       debug-level
	      This key defines the debug level for the process. A non-zero number generates a lot
	      of  messages to stderr, or to the config-defined ``log-file''.  This corresponds to
	      the ``-d'' command-line option.

       use-mmap
	      This key requires a boolean value. It specifies whether mmaping should be  used  if
	      innfeed  has  been built with mmap support. If article data on disk is not in NNTP-
	      ready format (CR/LF at the end of each line), then after	mmaping  the  article  is
	      read into memory and fixed up, so mmaping has no positive effect (and possibly some
	      negative effect depending on your system), and so in such a case this value  should
	      be false. This corresponds to the ``-M'' command-line option.

       log-file
	      This  key  requires  a pathname value. It specifies where any logging messages that
	      couldn't be sent via syslog(3) should go (such as those generated when  a  positive
	      value  for  ``debug-value'',  is used). This corresponds to the ``-l'' command-line
	      option. A relative pathname is relative to the ``backlog-directory'' value.

       backlog-directory
	      This key requires a pathname value. It specifies where the current innfeed  process
	      should store backlog files. This corresponds to the ``-b'' command-line option.

       backlog-highwater
	      This  key  requires a positive integer value. It specifies how many articles should
	      be kept on the backlog file queue before starting to write new entries to disk.

       backlog-ckpt-period
	      This key requires a positive integer value. It specifies how many  seconds  between
	      checkpoints  of  the input backlog file. Too small a number will mean frequent disk
	      accesses, too large a number will mean after a crash  innfeed  will  re-offer  more
	      already-processed articles than necessary.

       backlog-newfile-period
	      This  key  requires a positive integer value. It specifies how many seconds between
	      checks for externally generated backlog files that are to be  picked  up	and  pro-
	      cessed.

       dns-retry
	      The key requires a positive integer value. It defines the number of seconds between
	      attempts to re-lookup host information that previous failed to be resolved.

       dns-expire
	      The key requires a positive integer value. It defines the number of seconds between
	      refreshes  of  name  to  address DNS translation. This is so long running processes
	      don't get stuck with stale data, should peer ip addresses change..

       close-period
	      The key requires a positive integer value. It is the maximum number  of  seconds	a
	      connection  should be kept open. Some NNTP servers don't deal well with connections
	      being held open for long periods.

       gen-html
	      This key requires a boolean value. It specifies whether the status-file  should  be
	      HTML-ified.

       status-file
	      This  key  requires  a  pathname	value. It specifies the pathname (relative to the
	      backlog-directory) where the periodic status  of	the  innfeed  process  should  be
	      stored. This corresponds to the ``-S'' command-line option.

       connection-stats
	      This  key  requires a boolean value. If the value is true, then whenever the trans-
	      mission statistics for a peer are logged, then each active connection logs its  own
	      statistics. This corresponds to the ``-z'' command-line option.

       host-queue-highwater
	      This  key  requires  a positive integer value. It defines how many articles will be
	      held internally for a peer before new arrivals  cause  article  information  to  be
	      spooled to the backlog file.

       stats-period
	      This  key  requires  a  positive integer value. It defines how many seconds innfeed
	      waits between generating statistics on transfer rates.

       stats-reset
	      This key requires a positive integer value. It defines  how  many  seconds  innfeed
	      waits  before  resetting all internal transfer counters back to zero (after logging
	      one final time). This is so a innfeed-process running more than a day will generate
	      ``final'' stats that will be picked up by logfile processing scripts.

       initial-reconnect-time
	      This  key  requires  a positive integer value. It defines how many seconds to first
	      wait before retrying to reconnect after a connection failure. If the  next  attempt
	      fails  too,  then  the reconnect time is approximately doubled until the connection
	      succeeds, or max-reconnection-time is reached.

       max-reconnect-time
	      This key requires an integer value. It defines the maximum  number  of  seconds  to
	      wait  between  attempt  to  reconnect to a peer. The initial value for reconnection
	      attempts is defined by initial-reconnect-time, and it is doubled after  each  fail-
	      ure, up to this value.

       stdio-fdmax
	      This  key requires a non-negative integer value. If the value is greater than zero,
	      then whenever a network socket file descriptor is created and it has a  value  less
	      than  this,  the	file descriptor will be dup'ed to bring the value up greater than
	      this. This is to leave lower numbered file descriptors free for stdio. Certain sys-
	      tems,  Sun's  in	particular, require this. SunOS 4.1.x usually requires a value of
	      128 and Solaris requires a value of 256. The default if this is not  specified,  is
	      0.

       bindaddress
	      Which interface IP address innfeed should bind the local end of its connections to.
	      Must be in dotted-quad format (nnn.nnn.nnn.nnn).	If not set, innfeed  defaults  to
	      letting the kernel choose this address.  The default value is unset.

GLOBAL PEER DEFAULTS
       All  the key/value pairs mentioned in this section must be specified at global scope. They
       may also be specified inside a group or peer definition. Note that when	peers  are  added
       dynamically  (i.e.  when innfeed receives an article for an unspecified peer), it will add
       the peer site using the parameters specified at global scope.

       article-timeout
	      This key requires a non-negative integer value. If no articles need to be  sent  to
	      the peer for this many seconds, then the peer is considered idle and all its active
	      connections are torn down.

       response-timeout
	      This key requires a non-negative integer value. It defines the  maximum  amount  of
	      time to wait for a response from the peer after issuing a command.

       initial-connections
	      This  key  requires  a non-negative integer value. It defines the number of connec-
	      tions to be opened immediately when setting up a peer binding. A value of  0  means
	      no connections will be created until an article needs to be sent.

       max-connections
	      This  key requires positive integer value. It defines the maximum number of connec-
	      tions to run in parallel to the peer. A value of zero specifies an unlimited number
	      of  maximum  connections.  In general use of an unlimited number of maximum connec-
	      tions is not recommended. Do not ever set max-connections  to  zero  with  dynamic-
	      method  0  set,  as  this will saturate peer hosts with connections. [ Note that in
	      previous versions of innfeed, a value of 1 had a special meaning. This is no longer
	      the case, 1 means a maximum of 1 connection ].

       dynamic-method
	      This  key requires a value between 0 and 3. It controls how connections (up to max-
	      connections) are opened up to the maximum specified by max-connections. In  general
	      (and  specifically, with dynamic-method 0) a new connection is opened when the cur-
	      rent number of connections is below max-connections, and an article is to  be  sent
	      whilst  no  current  connections	are  idle.  Without further restraint (i.e. using
	      dynamic-method 0), in practice this  means  that	max-connections  connections  are
	      established  whilst  articles  are being sent. Use of other dynamic-method settings
	      imposes a further limit on the amount of connections opened below that specified by
	      max-connections. This limit is calculated in different ways, depending of the value
	      of dynamic-method.  Users should note that adding  additional  connections  is  not
	      always  productive  -  just  because opening twice as many connections results in a
	      small percentage increase of articles accepted by the remote peer, this may  be  at
	      considerable  resource cost both locally and at the remote site, whereas the remote
	      site might well have received the extra articles sent from another peer a  fraction
	      of  a  second later. Opening large numbers of connections is considered antisocial.
	      The meanings of the various settings are:

	      0 no method
		     Increase of connections up to max-connections is unrestrained.

	      1 maximize articles per second
		     Connections are increased (up to max-connections) and  decreased  so  as  to
		     maximize  the  number  of	articles per second sent, whilst using the fewest
		     connections to do this.

	      2 set target queue length
		     Connections are increased (up to max-connections) and  decreased  so  as  to
		     keep the queue of articles to be sent within the bounds set by dynamic-back-
		     log-low and dynamic-backlog-high, whilst using the minimum  resource  possi-
		     ble.   As	the  queue  will tend to fill if the site is not keeping up, this
		     method ensures that the maximum number of articles are offered to	the  peer
		     whilst using the minimum number of connections to achieve this.

	      3 combination
		     This method uses a combination of methods 1 and 2 above. For sites accepting
		     a large percentage of articles, method 2 will be used to ensure these  sites
		     are offered as complete a feed as possible. For sites accepting a small per-
		     centage of articles, method 1 is used, to minimize  remote  resource  usage.
		     For intermediate sites, an appropriate combination is used.

       dynamic-backlog-low
	      This  key  takes a value between 0 and 100 and represents (as a percentage) the low
	      water mark for the host queue. When the host queue falls	below  this  level,  when
	      using  dynamic-method  2	or  3,	if  2  or more connections are open, innfeed will
	      attempt to drop connections to the host. An IIR filter is applied to the	value  to
	      prevent  connection flap (see dynamic-filter). A value of 25.0 is recommended. This
	      value must be smaller than dynamic-backlog-high.

       dynamic-backlog-high
	      This key takes a value between 0 and 100 and represents (as a percentage) the  high
	      water  mark  for	the  host queue. When the host queue rises above this level, when
	      using dynamic-method 2 or 3, if less than max-connections are  open  to  the  host,
	      innfeed  will  attempt  to  open	further connections to the host. An IIR filter is
	      applied to the value to prevent connection flap (see dynamic-filter).  A	value  of
	      50.0 is recommended.  This value must be larger than dynamic-backlog-low.

       dynamic-backlog-filter
	      This  key  takes a floating-point value between 0 and 1 which represents the filter
	      coefficient used by the IIR filter used to implement dynamic-method 2 and  3.   The
	      recommended  value of this filter is 0.7, giving a time constant of 1/(1-0.7) arti-
	      cles. Higher values will result in slower response to queue fullness changes, lower
	      values with faster response.

       max-queue-size
	      This  key requires a positive integer value. It defines the maximum number of arti-
	      cles to process at one time when using streaming to transmit to a peer. Larger num-
	      bers  mean more memory consumed as articles usually get pulled into memory (see the
	      description of use-mmap).

       streaming
	      This key requires a boolean value. It defines whether streaming commands	are  used
	      to transmit articles to the peers.

       no-check-high
	      This  key requires a floating-point number which must be in the range [0.0, 100.0].
	      When running transmitting with the streaming commands, innfeed  attempts	an  opti-
	      mization	called	``no-CHECK''  mode. This involves not asking the peer if it wants
	      the article, but just sending it. This optimization occurs when the  percentage  of
	      the  articles  the peer has accepted gets larger than this number. If this value is
	      set to 100.0, then this effectively turns off no-CHECK mode, as the percentage  can
	      never  get above 100.0. If this value is too small, then the number of articles the
	      peer rejects will get bigger (and your bandwidth will be wasted). A value  of  95.0
	      is  usually  pretty  good. NOTE: In innfeed 0.9.3 and earlier this value was in the
	      range [0.0, 9.0].

       no-check-low:
	      This key requires a floating-point number which must be in the range [0.0,  100.0),
	      and  it  must be smaller that the value for no-check-high. When running in no-CHECK
	      mode, as described above, if the percentage of articles the  remote  accepts  drops
	      below  this number, then the no-CHECK optimization is turned off until the percent-
	      age gets above the no-check-high value again. If there is small difference  between
	      this and the no-check-high value (less than about 5.0), then innfeed may frequently
	      go in and out of no-CHECK mode. If the difference is too big, then it will make  it
	      harder to get out of no-CHECK mode when necessary (wasting bandwidth). Keeping this
	      to between 5.0 and 10.0 less than no-check-high is usually pretty good.

       no-check-filter
	      This is a floating point value representing the time constant,  in  articles,  over
	      which  the  CHECK  /  no-CHECK calculations are done. The recommended value is 50.0
	      which will implement an IIR filter of time constant 50.  This  roughly  equates  to
	      making  a  decision  about  the mode over the previous 50 articles. A higher number
	      will result in a slower response to changing percentages of  articles  accepted;	a
	      lower number will result in a faster response.

       port-number
	      This  key  requires  a positive integer value. It defines the tcp/ip port number to
	      use when connecting to the remote.

       drop-deferred
	      This key requires a boolean value. By default it is set to false. When set to true,
	      and a peer replies with code 431 or 436 (try again later) just drop the article and
	      don't try to re-send it. This is useful for some peers that keep on deferring arti-
	      cles  for a long time to prevent innfeed from trying to offer the same article over
	      and over again.

       min-queue-connection
	      This key requires a boolean value. By default it is set to false. When set to true,
	      innfeed  will  attempt  to use a connection with the least queue size (or the first
	      empty connection).  If this key is set to true, it  is  recommended  that  dynamic-
	      method be set to 0. This allows for article propagation with the least delay.

       no-backlog
	      This  key requires a boolean value. It specifies whether spooling should be enabled
	      (false, the default) or disabled (true). Note that when no-backlog is set, articles
	      reported as "spooled" are actually silently discarded.

       backlog-limit
	      This  key  requires  a  non-negative integer value. If the number is 0 then backlog
	      files are allowed to grown without bound when the peer is unable to  keep  up  with
	      the  article  flow. If this number is greater than 0 then it specifies the size (in
	      bytes) the backlog file should get truncated to when the	backlog  file  reaches	a
	      certain limit. The limit depends on whether backlog-factor or backlog-limit-high is
	      used.

       backlog-factor
	      This key requires a floating point value, which must be larger than 1.0. It is used
	      in  conjunction  with  the  peer	key  backlog-limit.  If backlog-limit has a value
	      greater than zero, then when the backlog file gets larger than the  value  backlog-
	      limit  *	backlog-factor, then the backlog file will be truncated to the size back-
	      log-limit. For example if backlog-limit has a value of 1000000, and  backlog-factor
	      has  a value of 2.0, then when the backlogfile gets to be larger than 2000000 bytes
	      in size, it will be truncated to 1000000 bytes.  The front portion of the  file  is
	      removed,	and  the  trimming happens on line boundaries, so the final size may be a
	      bit less than this number. If backlog-limit-highwater is defined too, then backlog-
	      factor takes precedence.

       backlog-limit-highwater
	      This  key  requires a positive integer value that must be larger than the value for
	      backlog-limit. If the size of the backlog file gets  larger  than  this  value  (in
	      bytes),  then the backlog file will be shrunk down to the size of backlog-limit. If
	      both backlog-factor and backlog-limit-highwater are  defined,  then  the	value  of
	      backlog-factor is used.

PEER VALUES
       As  previously  explained,  the	peer  definitions can contain redefinitions of any of the
       key/value pairs described in  the  GLOBAL  PEER	DEFAULTS  section  above.  There  is  one
       key/value pair that is specific to a peer definition.

       ip-name
	      This key requires a word value. The word is the host's FQDN, or the dotted quad ip-
	      address. If this value is not specified then the name of the peer is taken to  also
	      be its ip-name. See the entry for data.ramona.vix.com in the example below.

RELOADING
       If innfeed gets a SIGHUP signal, then it will reread the config file. All values at global
       scope except for ``backlog-directory'' can be changed. Any new peers  are  added  and  any
       missing peers have their connections closed.

EXAMPLE
       Below is the sample innfeed.conf file.
	      #
	      # innfeed.conf file. See the comment block at the
	      # end for a fuller description.
	      #

	      ##
	      ## Global values. Not specific to any peer. These
	      ## are optional, but if used will override the
	      ## compiled in values. Command-line options used
	      ## will override these values.
	      ##

	      pid-file: 	      innfeed.pid
	      debug-level:	      0
	      use-mmap: 	      false
	      log-file: 	      innfeed.log
	      stdio-fdmax:	      0

	      backlog-directory:      innfeed
	      backlog-rotate-period:  60
	      backlog-ckpt-period:    30
	      backlog-newfile-period: 600

	      dns-retry:	      900
	      dns-expire:	      86400
	      close-period:	      3600
	      gen-html: 	      false
	      status-file:	      innfeed.status
	      connection-stats:       false
	      host-queue-highwater:   200
	      stats-period:	      600
	      stats-reset:	      43200

	      max-reconnect-time:     3600
	      initial-reconnect-time: 30

	      ##
	      ## Defaults for all peers. These must all exist at
	      ## global scope. Any of them can be redefined
	      ## inside a peer or group definition.
	      ##

	      article-timeout:	      600
	      response-timeout:       300
	      initial-connections:    1
	      max-connections:	      5
	      max-queue-size:	      25
	      streaming:	      true
	      no-check-high:	      95.0
	      no-check-low:	      90.0
	      no-check-filter:	      50.0
	      port-number:	      119
	      backlog-limit:	      0
	      backlog-factor:	      1.10
	      backlog-limit-highwater:0
	      dynamic-method:	      3
	      dynamic-backlog-filter: 0.7
	      dynamic-backlog-low:    25.0
	      dynamic-backlog-high:   50.0
	      no-backlog:	      false

	      ##
	      ## Peers.
	      ##
	      peer decwrl {
		      ip-name:		      news1.pa.dec.com
	      }

	      peer uunet {
		      ip-name:		      news.uunet.uu.net
		      max-connections:	      10
	      }

	      peer data.ramona.vix.com {
		      # ip-name defaults to data.ramona.vix.com
		      streaming:	      false
	      }

	      peer bb.home.vix.com {
		      ip-name:	      192.5.5.33
	      }

	      # Blank lines are ignored. Everything after a '#'
	      # is ignored too.
	      #
	      # Format is:
	      # 	      key : value
	      #
	      # See innfeed.conf(5) for a description of
	      # necessary & useful keys. Unknown keys and their
	      # values are ignored.
	      #
	      # Values may be a integer, floating-point, c-style
	      # single-quoted characters, boolean, and strings.
	      #
	      # If a string value contains whitespace, or
	      # embedded quotes, or the comment character
	      # (``#''), then the whole string must be quoted
	      # with double quotes.  Inside the quotes, you may
	      # use the standard c-escape sequence
	      # (\t,\n,\r,\f,\v,\",\').
	      #
	      # Examples:
	      #       eg-string:      "NewConfigfile0
	      #       eg-long-string: "A long string that goes
	      # 		      over multiple lines. The
	      # 		      newline is kept in the
	      # 		      string except when quoted
	      # 		      with a backslash #		       as here."
	      #       eg-simple-string: A-no-quote-string
	      #       eg-integer:     10
	      #       eg-boolean:     true
	      #       eg-char:	      'a'
	      #       eg-ctrl-g:      ' 07'

HISTORY
       Written	by  James  Brister <brister@vix.com> for InterNetNews.	This is revision 1.9.2.1,
       dated 2001/03/11.

SEE ALSO
       innfeed(1), newsfeeds(5)

										  innfeed.conf(5)


All times are GMT -4. The time now is 08:51 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password