Index: ossp-pkg/lmtp2nntp/lmtp2nntp.pod RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp.pod,v rcsdiff -q -kk '-r1.26' '-r1.27' -u '/v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp.pod,v' 2>/dev/null --- 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] [B<-a> I/I[,I/I[,...]] -[B<-b> C<->|I|I[I<:port>]] +[B<-b> I[I<:port>]|C<->|I] [B<-c> I[I<:port>]] [B<-d> I[I<:port>][,I[I<:port>], ...]] [B<-g> I] @@ -67,34 +67,65 @@ =over 4 -=item B<-b> C<->|I|I[I<:port>] (LMTP bind) +=item B<-D> -Where to bind for incoming LMTP connections. Supported are "C<->" -(stdin/stdout), I (for Unix Domain socket) and I[I<:port>] -(for TCP Internet Domain socket). +Daemonize program and detach from current terminal. -=item B<-c> I[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 - -Possible values for I are C, C or a string in -"LLL/D.D.D" format used to fake a LMTP return code. In C mode articles -are sent to the NNTP server(s) using POST command. Before posting, a duplicate -check using STAT command is issued. In C 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 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/I[,I/I[,...]] (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[I<:port>]|C<->|I (LMTP daemon bind) + +Bind address accepting incoming LMTP connections. Supported are "C<->" for +stdio, I for Unix Domain socket and I[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[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[I<:port>][,I[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 is +read, if this is undefined or empty C is used and if this doesn't +resolve, C 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 @@ -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[I<:port>][,I[I<:port>], ...] +=item B<-l> I[:I] -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 is read, if this is -undefined or empty C is used and if this doesn't resolve, C -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 @@ -140,46 +163,45 @@ Own FQDN used in LMTP and NNTP protocols. This overrides the nodename returned by uname(3). -=item B<-p> I +=item B<-o> I -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 are C, C or a string in +"LLL/D.D.D" format used to fake a LMTP return code. In C mode articles +are sent to the NNTP server(s) using POST command. Before posting, a duplicate +check using STAT command is issued. In C 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 limitation on message in bytes. Default is 8388608 (8M). Values below 64 are considered unacceptable small. -=item B<-t> I - -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[:I] +=item B<-t> I=I[,I=I[,...] -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 for any LMTP and +C 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 - -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 [I ...] Newsgroup to post the message to or filter, depending on groupmode. Multiple