INCOMING.CONF(5)

NAME
incoming.conf - names and addresses that feed us news

DESCRIPTION
The file <pathetc in inn.conf>/incoming.conf consists of three types of entries: key/value, peer and group. Comments are from the hash character ``#'' to the end of the line. Blank lines are ignored. All key/value entries within each type must not be duplicated.

Key/value entries are a keyword immediately followed by a colon, at least one blank and a value. For example:

           max-connections: 10

A legal key does not contains blanks, colons, nor ``#''. There are 3 different types of values: integers, booleans, and strings. Integers are as to be expected. A boolean value is either ``true'' or ``false'' (case is significant). A string value is any other sequence of characters. If the string needs to contain whitespace, then it must be quoted with double quotes.

Peer entries look like:

            peer <name> {
                 # body
            }

The word ``peer'' is required. ``<name>''is a label for this peer. The ``<name>'' is any string valid as a key. The body of a peer entry contains some number 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''. Global key/value entries act as defaults for peers. When innd(8) looks for a specific value in a peer entry (for example, the maximum number of connections to allow), 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.
    peer uunet {
         hostname: usenet1.uu.net
    }
    peer vixie {
         hostname: gw.home.vix.com
         max-connections: 10 # override global value.
    }
    # A group of two peers who can open 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 ``hostname'' value
         # defaults to the peer's name.
         peer data.ramona.vix.com {
         }
         peer bb.home.vix.com {
             hostname: 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

Ten keys are allowed:

hostname:
    This key requires a string value. It is a list of hostnames separated by a comma. A hostname is the host's FQDN, or the dotted quad ip-address of the peer. If this key is not present in a peer block, the hostname defaults to the label of the peer.

streaming:
    This key requires a boolean value. It defines whether streaming commands are allowed from this peer. (default=true)

max-connections:
    This key requires a positive integer value. It defines the maximum number of connections allowed. A value of zero specifies an unlimited number of maximum connections (``unlimited'' or ``none'' can be used as synonym). (default=0)

hold-time:
    This key requires a positive integer value. It defines the hold time before closing, if the connection is over max-connections. A value of zero specifies immediate close. (default=0)

password:
    This key requires a string value. It is used if you wish to require a peer to supply a password. (default=no password)

identd:
    This key requires a string value. It is used if you wish to require a peer's user name retrieved through identd match the specified string. Note that currently innd(8) does not implement any timeout in identd callbacks, so enabling this option may cause innd to hang if the remote peer does not respond to ident callbacks in a reasonable timeframe (default=no identd)

patterns:
    This key requires a string value. It is a list of newsfeeds(5)-style list of newsgroups which are to be accepted from this host. (default="*")

email:
    This key requires a string value. Reserved for future use. (default=empty)

comment:
    This key requires a string value. Reserved for future use. (default=empty)

skip:
    This key requires a boolean value. Setting this entry causes this peer to be skipped. (default=false)

noresendid:
    This key requires a boolean value. It defines whether innd(8) should send ``431 RESENDID'' responses if a message is offered that is being received from another peer. This can be useful for peers that resend messages right away, as innfeed does. (default=false)

nolist:
    This key requires a boolean value. It defines whether a peer is allowed to issue list command. (default=false)

HISTORY
Written by Fabien Tassin <fta@sofaraway.org> for InterNetNews.

SEE ALSO
inn.conf(5), innd(8), newsfeeds(5), uwildmat(3).