--- lmtp2nntp.pod 2001/10/09 10:19:12 1.26
+++ lmtp2nntp.pod 2001/10/09 20:12:30 1.27
@@ -37,7 +37,7 @@
[B<-K>]
[B<-P> I<pidfile>]
[B<-a> I<addr>/I<mask>[,I<addr>/I<mask>[,...]]
-[B<-b> C<->|I<path>|I<addr>[I<:port>]]
+[B<-b> I<addr>[I<:port>]|C<->|I<path>]
[B<-c> I<addr>[I<:port>]]
[B<-d> I<addr>[I<:port>][,I<addr>[I<:port>], ...]]
[B<-g> I<groupmode>]
@@ -67,34 +67,65 @@
=over 4
-=item B<-b> C<->|I<path>|I<addr>[I<:port>] (LMTP bind)
+=item B<-D>
-Where to bind for incoming LMTP connections. Supported are "C<->"
-(stdin/stdout), I<path> (for Unix Domain socket) and I<addr>[I<:port>]
-(for TCP Internet Domain socket).
+Daemonize program and detach from current terminal.
-=item B<-c> I<addr>[I<:port>]
+=item B<-K>
-Where to bind for outgoing NNTP connections. If an address is
-specified but port is omitted the kernel chooses an ephemeral port. If you
-want to specify a port but no address replace address with 0.0.0.0. If
-completely omitted, 0.0.0.0:0 is assumed which causes the kernel to choose an
-address based on routing information and an ephemeral port.
-
-=item B<-d> I<deliverymode>
-
-Possible values for I<deliverymode> are C<post>, C<feed> or a string in
-"LLL/D.D.D" format used to fake a LMTP return code. In C<post> mode articles
-are sent to the NNTP server(s) using POST command. Before posting, a duplicate
-check using STAT command is issued. In C<feed> mode articles are sent to the
-NNTP server(s) using IHAVE command. Specifying a return code and DSN replaces
-the post/ feed logic by a noop and assumes the given string must be returned
-to the LMTP side. The slash is replaced by a space internally. The default is
-"553/5.7.1" meaning "Requested action not taken: mailbox name not allowed/
-Delivery not authorized, message refused". This is useful for debugging LMTP
-setups without engaging NNTP. Fake mode makes it possible to run without any
-B<-h> option. However, if B<-h> option is given the NNTP client tries to
-connect but it's return codes are ignored.
+Kill the daemon. After processing this option the program is terminated so
+this option effectivly renders most other options invalid not including
+specification of a pidfile and logging. The pid must be listed in pidfile.
+
+=item B<-P> I<pidfile>
+
+Pidfile to remember the process ID when running as or killing the daemon. Care
+must be taken when using relative path names as daemonizing changes the
+current working directory to '/'.
+
+=item B<-a> I<addr>/I<mask>[,I<addr>/I<mask>[,...]] (LMTP daemon ACL)
+
+Access control list specifying TCP INET addresses and masks where incoming
+LMTP connections are accepted from. This option can be specified more than
+once and it is possible to specify more than one addr/ mask per option as a
+comma-separated list. Omitting a mask defaults to a host comparison. The mask
+is a CIDR style bitmask where /0 means no comparison and enforces a match.
+Omitting the wholly option defaults to 0.0.0.0/0 which allows access from
+everywhere. It is possible to specify both inclusive and exclusive addresses,
+the latter have to prefixed with an exclamation mark. In order to pass the ACL
+a client must match any inclusion and not match any exclusion. If you do not
+specify any inclusions a fake inclusion of 0.0.0.0/0 is appended internally.
+Any addr can be a name to be resolved first.
+
+=item B<-b> I<addr>[I<:port>]|C<->|I<path> (LMTP daemon bind)
+
+Bind address accepting incoming LMTP connections. Supported are "C<->" for
+stdio, I<path> for Unix Domain socket and I<addr>[I<:port>] for TCP INET
+socket. Omitting this option defaults to stdio. The path for a UNIX domain
+socket must start with a slash. The addr can be a name to be resolved first.
+
+=item B<-c> I<addr>[I<:port>] (NNTP client bind)
+
+Client connections for outgoing NNTP communication bind to this address. If an
+address is specified but port is omitted the kernel chooses an ephemeral port.
+If you want to specify a port but no address replace address with all zeroes.
+If completely omitted, 0.0.0.0:0 is assumed which causes the kernel to choose
+an address based on routing information and an ephemeral port. The addr can
+be a name to be resolved first.
+
+=item B<-d> I<addr>[I<:port>][,I<addr>[I<:port>], ...] (NNTP client peer)
+
+Destination hostname or address and optional TCP port of a NNTP service.
+Unless a port is specified, getserbyname(nntp) is queried with fallback to
+119/tcp. If C<-d> option is ommited, the environment variable C<NNTPSERVER> is
+read, if this is undefined or empty C<news> is used and if this doesn't
+resolve, C<localhost> is assumed. This option can be specified more than once
+and it is possible to specify more than one host/ port per option as a
+comma-separated list. Any addr can be a name to be resolved first. It is
+assumed that multiple servers are used to increase the reliability of the news
+system and to speed up distribution by posting the same article to more than
+one server. In regard to this program they must provide the same groups and
+talk to each other.
=item B<-g> I<groupmode>
@@ -108,26 +139,18 @@
arguments. However, in these modes the command line arguments are filters
representing allowed groups. Filters can be specified as wildmat's.
-=item B<-h> I<host>[I<:port>][,I<host>[I<:port>], ...]
+=item B<-l> I<level>[:I<logfile>]
-Hostname or address and optional TCP port of a NNTP service. Unless a port is
-specified, getserbyname(nntp) is queried with fallback to 119/tcp. If C<-h>
-option is ommited, the environment variable C<NNTPSERVER> is read, if this is
-undefined or empty C<news> is used and if this doesn't resolve, C<localhost>
-is assumed.
-
-This option can be specified more than once and it is possible to specify more
-than one host/ port per option as a comma-separated list. It is assumed that
-multiple servers are used to increase the reliability of the news system and
-to speed up distribution by posting the same article to more than one server.
-In regard to this program they must provide the same groups and talk to each
-other.
-
-=item B<-k>
-
-Kill the daemon. After processing the -k option the program is terminated so
-it renders most other options invalid not including -p and -l. The pid must be
-listed in pidfile using -p option.
+The level measures the degree and importance of output and can be any of
+PANIC, CRITICAL, ERROR, WARNING, NOTICE, INFO, TRACE or DEBUG. The recommended
+level for daily operations is NOTICE. The default name for logfile is
+"logfile". This program is using the logging library (l2) which is currently
+under development. An early access snapshot with limited functionality has
+been included. Currently the common denominator of usage between lmtp2nntp
+and l2 is to use logging into a file only. Note that this will change soon as
+during integration of l2 into lmtp2nntp logging channels for local syslog and
+a SMTP client were already finished and IRC and NNTP clients are under
+development.
=item B<-m> I<mailfrom>
@@ -140,46 +163,45 @@
Own FQDN used in LMTP and NNTP protocols. This overrides the nodename returned
by uname(3).
-=item B<-p> I<pidfile>
+=item B<-o> I<operationmode>
-Pidfile to remember the process ID when -a option forces us to run as a
-daemon. Also to be used with -k.
+Possible values for I<operationmode> are C<post>, C<feed> or a string in
+"LLL/D.D.D" format used to fake a LMTP return code. In C<post> mode articles
+are sent to the NNTP server(s) using POST command. Before posting, a duplicate
+check using STAT command is issued. In C<feed> mode articles are sent to the
+NNTP server(s) using IHAVE command. Specifying a return code and DSN replaces
+the post/ feed logic by a noop and assumes the given string must be returned
+to the LMTP side. The slash is replaced by a space internally. The default is
+"553/5.7.1" meaning "Requested action not taken: mailbox name not allowed/
+Delivery not authorized, message refused". This is useful for debugging LMTP
+setups without engaging NNTP. Fake mode makes it possible to run without any
+B<-d> option. However, if B<-d> option is given the NNTP client tries to
+connect but it's return codes are ignored.
=item B<-s> I<size>
Size limitation on message in bytes. Default is 8388608 (8M). Values below 64
are considered unacceptable small.
-=item B<-t> I<timeout>
-
-Timeout for the LMTP daemon managing alternate IO (see -a) to wait for input
-after having accepted a connection. Value is given in seconds, the default is
-three. Zero means to wait infinite. Use low numbers to prevend DoS attacks.
-
-=item B<-l> I<level>[:I<logfile>]
+=item B<-t> I<name>=I<sec>[,I<name>=I<sec>[,...]
-The level measures the degree and importance of output and can be any of
-PANIC, CRITICAL, ERROR, WARNING, NOTICE, INFO, TRACE or DEBUG. The recommended
-level for daily operations is NOTICE. The default name for logfile is
-"logfile". This program is using the logging library (l2) which is currently
-under development. An early access snapshot with limited functionality has
-been included. Currently the common denominator of usage between lmtp2nntp
-and l2 is to use logging into a file only. Note that this will change soon as
-during integration of l2 into lmtp2nntp logging channels for local syslog and
-a SMTP client were already finished and IRC and NNTP clients are under
-development.
+Timeout for various actions. Possible names are C<lmtp> for any LMTP and
+C<nntp> for any NNTP actions. More granular actions can be specified according
+to the following table, which also lists the system defaults. Setting sec to
+zero means to wait infinite. Note that LMTP timeouts only apply to socket
+operations, stdio always waits infinite.
+
+ lmtp:accept = 0
+ lmtp:read = 10
+ lmtp:write = 10
+ nntp:connect = 360
+ nntp:read = 60
+ nntp:write = 60
=item B<-v>
Print version information.
-=item B<-w> I<waittime>
-
-Specify the time the NNTP client waits for the initial connect to complete and
-the time to wait for every server's response. Value is given in seconds and
-must be greater than or equal to one second. The default is OS dependent for
-the connect and a three second timeout waiting for a server's response.
-
=item I<newsgroup> [I<newsgroup> ...]
Newsgroup to post the message to or filter, depending on groupmode. Multiple
|