Index: ossp-pkg/lmtp2nntp/00TODO RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/00TODO,v rcsdiff -q -kk '-r1.21' '-r1.22' -u '/v/ossp/cvs/ossp-pkg/lmtp2nntp/00TODO,v' 2>/dev/null --- 00TODO 2001/08/29 14:58:21 1.21 +++ 00TODO 2001/08/30 08:35:44 1.22 @@ -1,5 +1,4 @@ -use "RFC1918-like" private Domainnames for @example.com (check which name is registered) whatsup draufleiten RFC1891 ENVID RFC1891 6.2 Index: ossp-pkg/lmtp2nntp/lmtp2nntp.c RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/Attic/lmtp2nntp.c,v rcsdiff -q -kk '-r1.34' '-r1.35' -u '/v/ossp/cvs/ossp-pkg/lmtp2nntp/Attic/lmtp2nntp.c,v' 2>/dev/null --- lmtp2nntp.c 2001/08/29 14:58:21 1.34 +++ lmtp2nntp.c 2001/08/30 08:35:44 1.35 @@ -130,8 +130,8 @@ */ fprintf(stderr, "USAGE: %s " - "[-d deliverymode] [-g groupmode] [-h host[:port]] " - "[-m maxmessagesize] [-t tracefile] [-v] [-V] newsgroup [newsgroup ...]" + "[-V] [-d deliverymode] [-g groupmode] [-h host[:port]] " + "[-m maxmessagesize] [-t tracefile] [-v] newsgroup [newsgroup ...]" "\n", command); return; @@ -205,8 +205,12 @@ */ /* read in the arguments */ - while ((i = getopt(argc, argv, "d:g:h:m:t:vV")) != -1) { + while ((i = getopt(argc, argv, "Vd:g:h:m:t:v")) != -1) { switch (i) { + case 'V': /*POD [B<-V>] (version)*/ + fprintf(stdout, "%s\n", lmtp2nntp_version.v_gnu); + exit(0); + break; case 'd': /*POD [B<-d> I] */ if (strcasecmp(optarg, "post") == 0) ctx->option_deliverymode = DELIVERYMODE_POST; @@ -259,7 +263,7 @@ exit(ERR_EXECUTION); } break; - case 'h': /*POD [B<-h> I[I<:port>]] */ + case 'h': /*POD [B<-h> I[I<:port>][,I[I<:port>], ...]] */ if (argz_create_sep(optarg, ',', &azHosts, &asHosts) != 0) exit(ERR_EXECUTION); cp = NULL; @@ -320,10 +324,6 @@ case 'v': /*POD [B<-v>] (verbose)*/ ctx->option_verbose = TRUE; break; - case 'V': /*POD [B<-V>] (version)*/ - fprintf(stdout, "%s\n", lmtp2nntp_version.v_gnu); - exit(0); - break; case '?': default: usage(progname); Index: ossp-pkg/lmtp2nntp/lmtp2nntp.pod RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp.pod,v rcsdiff -q -kk '-r1.9' '-r1.10' -u '/v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp.pod,v' 2>/dev/null --- lmtp2nntp.pod 2001/08/29 14:58:21 1.9 +++ lmtp2nntp.pod 2001/08/30 08:35:44 1.10 @@ -8,13 +8,14 @@ =head1 SYNOPSIS B +[B<-V>] [B<-d> I] [B<-g> I] -[B<-h> I[I<:port>]] +[B<-h> I[I<:port>][,I[I<:port>], ...]] [B<-m> I] [B<-t> I] [B<-v>] -[B<-V>] +I [I ...] B [B<-o> I] [B<-j> I] @@ -22,7 +23,6 @@ [B<-T> I] [B<-l> I] - =head1 DESCRIPTION The B program is a LMTP service which is usually invoked by a MTA. @@ -37,55 +37,9 @@ =over 4 -=item B<-o> I - -Outgoing network IP address or hostname to bind to. - -=item B<-j> I - -Own FQDN used in LMTP and NNTP protocols. - -=item B<-i> I - -Message id of MTA (for logging purposes only). - -=item B<-t> I +=item B<-V> -LMTP and NNTP protocol timeouts (in seconds). - -=item [B<-m> I] - -Maximum message size in bytes. Default is 8388608 (8M). Values below 64 are -considered unacceptable small. - -=item B<-p> I - -Incoming protocol. Default is C which means B -reads the incoming mail from F in RFC822 message format and reports errors to F. -Alternatively if I is C, B speaks Local Mail -Transport Protocol (LMTP) according to RFC 2033 on F/F. - -=item B<-l> C - -=item B<-l> C[C<:>I] - -=item B<-l> CI - -Logging target. This option can be specified more than once. Default is no -logging. Default I for C is C. - -=item B<-h> 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. 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. +Print version information. =item B<-d> I @@ -105,12 +59,32 @@ Possible values for I are C (default), C and C
. In C mode, the Cs specified as command line arguments are ultimate destinations for the received messages. Addresses from -envelope are ignored. In C mode the newsgroup(s) are taken from the -LMTP envelope, in C
mode the newsgroup(s) are taken from the header. -In all modes C header is rewritten. In C and C
-mode groups must still be specified as command line arguments. However, in -these modes the command line arguments are filters representing allowed -groups. Filters can be specified as wildmat's. +envelope and headers are ignored. In C mode the newsgroup(s) are +taken from the LMTP envelope, in C
mode the newsgroup(s) are taken +from the header. In all modes C header is rewritten. In +C and C
mode groups must still be specified as command line +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>], ...]] + +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<-m> I] + +Maximum message size in bytes. Default is 8388608 (8M). Values below 64 are +considered unacceptable small. =item B<-t> I @@ -122,10 +96,45 @@ Enable verbose processing messages in logfile. When using C these messages are logged with C level. -=item I +=item I [I ...] + +Newsgroup to post the message to or filter, depending on groupmode. Multiple +groups can be specified. Crosspostings succeed if delivery to I group +succeeds. -Newsgroup to post the message to. Multiple groups can be specified. -Crosspostings only succeed if delivery to I groups succeed. +B + +=item B<-o> I + +Outgoing network IP address or hostname to bind to. + +=item B<-j> I + +Own FQDN used in LMTP and NNTP protocols. + +=item B<-i> I + +Message id of MTA (for logging purposes only). + +=item B<-t> I + +LMTP and NNTP protocol timeouts (in seconds). + +=item B<-p> I + +Incoming protocol. Default is C which means B +reads the incoming mail from F in RFC822 message format and reports errors to F. +Alternatively if I is C, B speaks Local Mail +Transport Protocol (LMTP) according to RFC 2033 on F/F. + +=item B<-l> C + +=item B<-l> C[C<:>I] + +=item B<-l> CI + +Logging target. This option can be specified more than once. Default is no +logging. Default I for C is C. =back @@ -134,12 +143,12 @@ t.virtusertable # mail to news gateway - posting+*@mail.de.cw.net %2@lmtp2nntp + posting+*@first.gateway.example %2@lmtp2nntp t.mailertable # mail to news gateway - lmtp2nntp lmtp2nntp:visp.engelschall.com + lmtp2nntp lmtp2nntp:second.gateway.example sendmail.m4 @@ -149,94 +158,85 @@ define(`LMTP2NNTP_MAILER_DELIVERYMODE', `post') define(`LMTP2NNTP_MAILER_GROUPMODE', `envelope') define(`LMTP2NNTP_MAILER_ARGS', `-t confMYVARDIR/lmtp2nntp.log') - define(`LMTP2NNTP_MAILER_GROUPS', `cw.\* en.\*') + define(`LMTP2NNTP_MAILER_GROUPS', `alt.test.\* alt.binaries.test') MAILER(lmtp2nntp) -=head1 EXAMPLE +=head1 DIAGNOSTICS - $ cat rfc822.message | lmtp2nntp -l /tmp/log -v -h mynews foo.bar +when invoked as LMTP server -reads rfc822.message and posts it into group "foo.bar" using NNTP service on -host "mynews". Activity is logged to /tmp/log. If posting is -successful, the exit status is 0. + 0 = successful execution + 1 = execution failed - $ cat rfc822.message | lmtp2nntp -h news1 -h news2 -h news3 foo.bar +Returning proper delivery status notification is part of the LMTP protocol. -reads rfc822.message and posts it into group "foo.bar" using NNTP service on -all hosts "news1", "news2" and "news3". Activtiy is not logged. -If at least one posting is successful, the exit status is 0. +=head1 STANDARDS - $ cat rfc822.message | lmtp2nntp -l stderr foo.bar quux.bar test.bar +=over 4 -reads rfc822.message and posts it into groups "foo.bar", "quux.bar" and -"test.bar" using NNTP service on host C<${NNTPSERVER:-news}>. Activity -is logged to stderr. Only if all three crosspostings succeed, the exit -status is 0. +=item RFC0821 Simple Mail Transfer Protocol. -=head1 DIAGNOSTICS +J. Postel. Aug-01-1982. (Format: TXT=124482 bytes) (Obsoletes RFC0788 ) +(Obsoleted by RFC2821) (Also STD0010) (Status: STANDARD ) -when invoked from command line +=item RFC0822 Standard for the format of ARPA Internet text messages. - 0 = successful execution and delivery - 1 = execution failed - 2 = cannot deliver to any nntpserver +D. Crocker. Aug-13-1982. (Format: TXT=109200 bytes) (Obsoletes RFC0733) +(Obsoleted by RFC2822) (Updated by RFC1123, RFC1138, RFC1148, RFC1327, +RFC2156) (Also STD0011) (Status: STANDARD) -when invoked as LMTP server +=item RFC0977 Network News Transfer Protocol. - 0 = successful execution - 1 = execution failed +B. Kantor, P. Lapsley. Feb-01-1986. (Format: TXT=55062 bytes) (Status: +PROPOSED STANDARD) -delivery status is part of the LMTP protocol +=item RFC1035 Domain names - implementation and specification. -=head1 STANDARDS +P.V. Mockapetris. Nov-01-1987. (Format: TXT=125626 bytes) (Obsoletes +RFC0973, RFC0882, RFC0883) (Updated by RFC1101, RFC1183, RFC1348, +RFC1876, RFC1982, RFC1995, RFC1996, RFC2065, RFC2136, RFC2181, RFC2137, +RFC2308, RFC2535, RFC2845) (Also STD0013) (Status: STANDARD) + +=item RFC1652 SMTP Service Extension for 8bit-MIMEtransport. -0821 Simple Mail Transfer Protocol. J. Postel. Aug-01-1982. (Format: - TXT=124482 bytes) (Obsoletes RFC0788) (Obsoleted by RFC2821) (Also - STD0010) (Status: STANDARD) - -0822 Standard for the format of ARPA Internet text messages. D. - Crocker. Aug-13-1982. (Format: TXT=109200 bytes) (Obsoletes RFC0733) - (Obsoleted by RFC2822) (Updated by RFC1123, RFC1138, RFC1148, - RFC1327, RFC2156) (Also STD0011) (Status: STANDARD) - -0977 Network News Transfer Protocol. B. Kantor, P. Lapsley. - Feb-01-1986. (Format: TXT=55062 bytes) (Status: PROPOSED STANDARD) - -1035 Domain names - implementation and specification. P.V. - Mockapetris. Nov-01-1987. (Format: TXT=125626 bytes) (Obsoletes - RFC0973, RFC0882, RFC0883) (Updated by RFC1101, RFC1183, RFC1348, - RFC1876, RFC1982, RFC1995, RFC1996, RFC2065, RFC2136, RFC2181, - RFC2137, RFC2308, RFC2535, RFC2845) (Also STD0013) (Status: STANDARD) - -1652 SMTP Service Extension for 8bit-MIMEtransport. J. Klensin, N. - Freed, M. Rose, E. Stefferud, D. Crocker. July 1994. (Format: - TXT=11842 bytes) (Obsoletes RFC1426) (Status: DRAFT STANDARD) - -1854 SMTP Service Extension for Command Pipelining. N. Freed. October - 1995. (Format: TXT=14097 bytes) (Obsoleted by RFC2197) (Status: - PROPOSED STANDARD) - -1893 Enhanced Mail System Status Codes. G. Vaudreuil. January 1996. - (Format: TXT=28218 bytes) (Status: PROPOSED STANDARD) - -1894 An Extensible Message Format for Delivery Status Notifications. - K. Moore, G. Vaudreuil. January 1996. (Format: TXT=77462 bytes) - (Updated by RFC2852) (Status: PROPOSED STANDARD) - -2034 SMTP Service Extension for Returning Enhanced Error Codes. N. - Freed. October 1996. (Format: TXT=10460 bytes) (Status: PROPOSED - STANDARD) - -2606 Reserved Top Level DNS Names. D. Eastlake, A. Panitz. June 1999. - (Format: TXT=8008 bytes) (Also BCP0032) (Status: BEST CURRENT - PRACTICE) - -2821 Simple Mail Transfer Protocol. J. Klensin, Editor. April 2001. - (Format: TXT=192504 bytes) (Obsoletes RFC0821, RFC0974, RFC1869) - (Status: PROPOSED STANDARD) +J. Klensin, N. Freed, M. Rose, E. Stefferud, D. Crocker. July 1994. +(Format: TXT=11842 bytes) (Obsoletes RFC1426) (Status: DRAFT STANDARD) -2980 Common NNTP Extensions. S. Barber. October 2000. (Format: - TXT=57165 bytes) (Status: INFORMATIONAL) +=item RFC1854 SMTP Service Extension for Command Pipelining. + +N. Freed. October 1995. (Format: TXT=14097 bytes) (Obsoleted by RFC2197) +(Status: PROPOSED STANDARD) + +=item RFC1893 Enhanced Mail System Status Codes. + +G. Vaudreuil. January 1996. (Format: TXT=28218 bytes) (Status: PROPOSED +STANDARD) + +=item RFC1894 An Extensible Message Format for Delivery Status Notifications. + +K. Moore, G. Vaudreuil. January 1996. (Format: TXT=77462 bytes) (Updated +by RFC2852) (Status: PROPOSED STANDARD) + +=item RFC2034 SMTP Service Extension for Returning Enhanced Error Codes. + +N. Freed. October 1996. (Format: TXT=10460 bytes) (Status: PROPOSED +STANDARD) + +=item RFC2606 Reserved Top Level DNS Names. + +D. Eastlake, A. Panitz. June 1999. (Format: TXT=8008 bytes) (Also +BCP0032) (Status: BEST CURRENT PRACTICE) + +=item RFC2821 Simple Mail Transfer Protocol. + +J. Klensin, Editor. April 2001. (Format: TXT=192504 bytes) (Obsoletes RFC0821, RFC0974, RFC1869) (Status: PROPOSED STANDARD) + +=item RFC2980 Common NNTP Extensions. + +S. Barber. October 2000. (Format: TXT=57165 bytes) (Status: +INFORMATIONAL) + +=back =head1 AUTHOR