################################################################
##                                                            ##
## NOTE: Server declarations now go below the global options. ##
##                                                            ##
################################################################

## Threads are subject to be expired (removed) by texpire if no article
## from the thread has been read for <expire> days, unless you define
## define special expire intervals. Note that texpire arguments can
## be used to change this to expiring individual articles, or to the
## number of days since arrival of the article. See the texpire manual page.
## Mandatory.
expire = 20

## Leafnode daemons will drop privileges if run as root.
## Use this user account to run executables launched by root:
run_as_user = news

## If you want your users to authenticate themselves, you can uncomment
## the following line and modify it if needed.
## Supported: internal - See README for information on how to define
##                       users and passwords.
##            pam      - on systems that support PAM
##                       BEWARE: PAM has security risks when used to
##                       authenticate against system passwords
# authenticate = internal

## To aid in debugging, here is a switch. Sum up the debug info you
## want, or just use 4095 for "all". Optional.
# ENABLE DEBUG LOG MESSAGES: 1
# I/O (net, disk): 2
# Sort functions: 4
# Active handling: 8
# Configuration parsing: 16
# Filtering: 32
# Locking: 64
# NNTP dialogues: 128 (currently incomplete)
# Expiring: 256
# Additional XOVER debugging: 512
# Cancelling and Superseding: 1024
# Storing: 2048
# debugmode = 1001

## Non-standard expire times (glob(7) wildcard constructs possible). Optional.
## SYNTAX DIFFERS FROM THAT OF LEAFNODE 1.9!
## groups too big to hold articles 20 days:
# groupexpire = comp.os.linux.* 5
## very interesting, hold longer:
# groupexpire = any.local.newsgroup 100
## to archive a group, just set this to 24800 for now, which is 68 years

## How many ARTICLE commands to we stuff down to the server in advance
## of the article just read. Some servers may not get this right,
## set it to 1 in that case. Optional, defaults to 5.
# windowsize = 50

## Never fetch more than this many articles from one group in one run.
## Be careful with this; setting it much below 1000 is probably a bad
## idea. Optional.
# maxfetch = 2000

## Fetch only a few articles when we subscribe a new newsgroup. The
## default is to fetch all articles. Optional.
# initialfetch = 100

## If you want to use leafnode like an offline newsreader (e.g. Forte
## Agent) you can download headers and bodies separately if you set
## delaybody to 1. In this case, fetch will only download the headers
## and only when you select an article, it will download the body.
## This can save a huge amount of bandwith if only few articles are really
## read from groups with lots of postings.
## This feature works not very well with Netscape, though (which is not
## a fault of Leafnode). Optional.
# delaybody = 0

## If you want delaybody mode only for selected groups, you can enable
## this download mode here.  The global delaybody switch above causes all
## groups to be treated that way.  Use one line per group pattern.  Optional.
# groupdelaybody = some.news.groups.*

##
## maxcrosspost, maxage, maxlines, minlines, maxbytes now are configured
## in filterfile.
##

## timeout_short determines how many days fetch gets a newsgroup which
## has been accidentally opened. The default is two days. Optional.
# timeout_short = 2

## timeout_long determines how many days fetch will wait before not getting
## an unread newsgroup any more. The default is seven days. Optional.
# timeout_long = 7

## timeout_active determines how many days fetch will wait before re-reading
## the whole active file. The default is 90 days. Optional.
# timeout_active = 90

## timeout_client determines how many seconds of inactivity to allow before
## a client is forcibly disconnected. The default is 300s. Optional.
# timeout_client = 300

## timeout_delaybody determines how many hours after marking an article
## for download leafnode will discard the mark. Default: use groupexpire
## or expire. Optional.
## Make sure that fetchnews runs at least once before that period is
## over, if you run fetchnews only daily, set at least 25 here!
# timeout_delaybody = 49

## If you want leafnode to log the poster IP address in custom header
## X-Leafnode-NNTP-Posting-Host, uncomment this.
# log_poster_ip = 1

## If you want to have your newsreader score/kill on Xref: lines, you might
## want to uncomment this. Optional.
# create_all_links = 1

## If you want to filter out certain regular expressions in the header,
## create a "filterfile" (how this is done is explained in the README)
## and set (optional):
# filterfile = /etc/leafnode/filters

## If you want to provide a customized pseudo article, create a file
## containing the article body (preferably using ASCII chars only).
## Occurrences of the strings %server %version %newsgroup are replaced
## by the server name, leafnode version and group name respectively.
# pseudoarticle = /etc/leafnode/pseudoarticle

## You can provide a different MTA for sending mails.  Beware of changing
## the default '/usr/sbin/sendmail', the replacement has to offer the
## same interface!
# mta = /usr/sbin/sendmail

## If your newsreader does not supply a Message-ID for your postings
## Leafnode will supply one, using the hostname of the machine it is
## running on.
## NOTICE: You should not usually use this parameter but configure the hostname
## properly instead. If that is not feasible or to choose a certain role
## of a multi-homed host, this parameter can be
## used to override the host name.
## WARNING: Do not use a fantasy name, it may cause your
## articles to be rejected or silently dropped on upstream servers!
## Optional.
# hostname = host.domain.country

## Some people want their postings to only show up when they have been
## received from the upstream. The default is to make posts available
## immediately, even though the upstream may not yet have received or
## may later reject the post. Uncomment this line to only store articles
## locally that a remote server has received.
# no_direct_spool = 1

## If you have multiple servers, but do not want the overviews for the
## same group fetched several times, enable this.  fetchnews will then
## skip all groups it has successfully downloaded once.
##
## WARNING: The "last article fetched from this group" pointer is only
## updated for the server that is actually queried. When the 'first'
## server for a group is dysfunctional, the next that carries this group
## may have "missed" some thousand articles, especially so with
## high-traffic groups such as de.rec.fotografie. Use "initialfetch" and
## "maxfetch" to limit the impact of a failure of the 'first' server.
# only_fetch_once = 1

## This option allows to redirect all logging away from syslog and into
## stderr. It is useful if you're running leafnode from daemontools and
## want to log into multilog, for example.
# logstderr = 1

############################################
##                                        ##
## SERVER declarations go below this line ##
##                                        ##
############################################

## This is the NNTP server leafnode fetches its news from.
## You need read and post access to it. Mandatory.
## Of course, you need to change this to YOUR server
server = news.example.org

## I have free access to my news server. If you don't have, comment out
## the following two lines and change them accordingly. Optional.
# username = gulbrandsen
# password = secret

## Determine how you want to feed your own posts to the upstream.
## Available types are NNTP (the default), UUCP (not yet implemented),
## NONE (do not feed posts to this server -- formerly known as
## separate "dontpost" or "nopost" options)
# feedtype = NNTP

## Standard news servers run on port 119. If your newsserver doesn't, comment
## out the following line and change it accordingly. Optional.
# port = 8000

## This is another news server which stores some groups that are not
## available on the first one. You can define username, password and port
## for each server separately.
# server = password.protected.example
# username = xenu
# password = secret

## This is a news server which does not understand the
## "LIST NEWSGROUP news.group" command. For this reason, we don't try to
## download newsgroups descriptions when getting new newsgroups. This is
## achieved by putting "nodesc = 1" somewhere behind the server
## line.
# server = broken.upstream.example
# nodesc = 1

## You can suppress all group listing commands on a server, for example
## if the server has way too many groups and you use it as fast
## supplement.
# server = some.upstream.example
# noactive = 1

## And this is a news server you only want to post to, but never
## fetch messages from. If set, noactive = 1 is also assumed.
## The default is: noread = 0
# server = post-only.example.com
# noread = 1

## Here we have another news server which has a very slow connection. For
## that reason, we wait a full minute before we give up trying to connect.
## The default is 30 seconds and is applies for each of the addresses of
## the server, so if the server has three IPs, the timeout will be
## three times this value!
# server = really.slow.snail.example
# timeout = 60

## This shows how a server is configured that only has specific news
## groups. Note that this parameter is a PCRE, not a wildmat! See
## pcre(3) or pcre(7), depending on your PCRE version.
# server = cnews.corel.com
# only_groups_pcre = corel\.

## Yet another server which either does not understand the XOVER commands
## correctly or performs better on XHDR.   fetchnews will still fall back
## to using XOVER if you use delaybody mode or filtering.
# server = dont.like.xover.example
# usexhdr = 1

## Set this if your server does not offer the groups, but forwards
## postings into its groups (post-only servers may need this):
# post_anygroup = 1
