]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
snapshot-20000506
authorWietse Venema <wietse@porcupine.org>
Sat, 6 May 2000 00:00:00 +0000 (00:00 +0000)
committerWietse Venema <wietse@porcupine.org>
Thu, 17 Jan 2013 23:10:48 +0000 (18:10 -0500)
61 files changed:
postfix/HISTORY
postfix/LMTP_README [new file with mode: 0644]
postfix/RELEASE_NOTES
postfix/SASL_README
postfix/bounce/Makefile.in
postfix/cleanup/Makefile.in
postfix/dns/Makefile.in
postfix/error/Makefile.in
postfix/global/Makefile.in
postfix/global/mail_params.h
postfix/global/mail_version.h
postfix/global/quote_821_local.c [moved from postfix/smtp/quote_821_local.c with 100% similarity]
postfix/global/quote_821_local.h [moved from postfix/smtp/quote_821_local.h with 100% similarity]
postfix/global/smtp_stream.c
postfix/global/tok822_parse.c
postfix/html/lmtp.8.html
postfix/lmtp/CHANGES [deleted file]
postfix/lmtp/Makefile.in
postfix/lmtp/README [deleted file]
postfix/lmtp/README.inet [deleted file]
postfix/lmtp/fixnames
postfix/lmtp/lmtp.c
postfix/lmtp/lmtp.h
postfix/lmtp/lmtp_addr.c
postfix/lmtp/lmtp_proto.c
postfix/lmtp/lmtp_state.c
postfix/lmtp/mail [deleted file]
postfix/lmtp/makefile-patch [deleted file]
postfix/lmtp/quote_821_local.c [deleted file]
postfix/lmtp/quote_821_local.h [deleted file]
postfix/local/Makefile.in
postfix/makelinks [deleted file]
postfix/man/man8/lmtp.8
postfix/master/Makefile.in
postfix/pickup/Makefile.in
postfix/pipe/Makefile.in
postfix/postalias/Makefile.in
postfix/postcat/Makefile.in
postfix/postconf/Makefile.in
postfix/postdrop/Makefile.in
postfix/postfix/Makefile.in
postfix/postkick/Makefile.in
postfix/postlock/Makefile.in
postfix/postlog/Makefile.in
postfix/postmap/Makefile.in
postfix/postsuper/Makefile.in
postfix/qmgr/Makefile.in
postfix/sendmail/Makefile.in
postfix/showq/Makefile.in
postfix/smtp/Makefile.in
postfix/smtp/smtp_addr.c
postfix/smtpd/Makefile.in
postfix/smtpd/smtpd_sasl_glue.c
postfix/smtpd/smtpd_sasl_proto.c
postfix/smtpstone/Makefile.in
postfix/spawn/Makefile.in
postfix/trivial-rewrite/Makefile.in
postfix/util/Makefile.in
postfix/util/binattr.c [deleted file]
postfix/util/binattr.h [deleted file]
postfix/util/vstream.h

index 78ebaa4923f3efa041405204eea8be8a6a598edc..0df70aa11ea5f888ad996481d6c7261d3aa7bdfa 100644 (file)
@@ -3795,11 +3795,6 @@ Apologies for any names omitted.
        Problem report by Michael Ju. Tokarev @ tls.msk.ru.  Files:
        global/mail_params.h, smtpd/smtpd.c.
 
-20000407
-
-       Multi-platform build support: use the makelinks shell script
-       to build a shadow tree with symlinks to the source files.
-
 20000413
 
        Portability: more MacOS X patches by Gerben Wierda.
@@ -3857,24 +3852,28 @@ Apologies for any names omitted.
 
 20000502
 
-       In order to support timeouts with SSL more conveniently,
-       VSTREAMs now have built into them the concept of timeout.
-       Instead of calling read() and write(), the low-level VSTREAM
-       interface now uses timed_read() and timed_write() which
-       have an additional timeout parameter; vstream_ctl(stream,
-       VSTREAM_CTL_TIMEOUT) sets the timeout deadline on a stream,
-       and vstream_ftimeout(stream) queries a stream for timeout
-       errors.  This change simplified timeout handling considerably.
-       Files: util/vbuf.h, util/vstrean.[hc], global/smtp_stream.c,
-       global/timed_ipc.c.
+       In order to support timeouts more conveniently, VSTREAMs
+       now have built into them the concept of timeout.  Instead
+       of calling read() and write(), the low-level VSTREAM
+       interface now by default uses timed_read() and timed_write()
+       which receive a timeout parameter; vstream_ctl(stream,
+       VSTREAM_CTL_TIMEOUT...) sets the timeout deadline on a
+       stream, and vstream_ftimeout(stream) queries a stream for
+       timeout errors.  This change simplified timeout handling
+       considerably.  Files: util/vbuf.h, util/vstrean.[hc],
+       global/smtp_stream.c, global/timed_ipc.c.
 
 20000504
 
-       In order to support application-specific state, VSTREAMs
-       now provide an optional open attribute list. An example is
-       the per-stream jump buffer that was needed in order to
-       clean up the smtp_stream module. Files:  util/vstream.[hc],
-       util/binattr.[hc].
+       Added application context to VSTREAMs, which is passed on
+       transparently to application-provided read/write routines.
+       vstream_ctl(stream, VSTREAM_CTL_CONTEXT...) sets the context.
+       Files:  util/vstream.[hc].
+
+       Added vstream_setjmp() and vstream_longjmp() support to
+       make exception handling more convenient. Turn on exception
+       handling with vstream_ctl(stream, VSTREAM_CTL_EXCEPT...).
+       Files:  util/vstream.[hc].
 
        Cleaned up the smtp_stream module further and got rid of
        the global state that limited the use of this module to
@@ -3882,6 +3881,13 @@ Apologies for any names omitted.
 
 20000505
 
-       Bugfix: flush output in-between tarpit delays, in case the
-       client causes many, many, errors. Found by Lamont Jones,
-       HP. File: smtpd/smtpd_chat.c.
+       Bugfix: the SMTP server now flushes output in-between tarpit
+       delays, to avoid protocol timeouts when a client causes lots
+       of errors. Found by Lamont Jones, HP. File:  smtpd/smtpd_chat.c.
+
+20000506
+
+       Convenience: the LMTP and SMTP clients now append the local
+       domain to unqualified nexthop destinations. This makes it
+       more convenient to set up transport maps. Files: 
+       lmtp/lmtp_addr.c, smtp/smtp_addr.c.
diff --git a/postfix/LMTP_README b/postfix/LMTP_README
new file mode 100644 (file)
index 0000000..2e39a78
--- /dev/null
@@ -0,0 +1,81 @@
+Postfix LMTP support
+====================
+
+Postfix LMTP support was initially implemented by Philip A.
+Prindeville of Mirapoint, Inc., USA, and was modified further by
+Amos Gouaux of University of Texas at Dallas, Richardson, USA.
+Wietse then beat the code into its present shape.
+
+Postfix can be configured to talk to a local or remote LMTP server.
+Most people will run the LMTP server on the same machine that runs
+Postfix. However, a remote LMTP server can be useful if Postfix
+runs on mail relay server(s) that feed incoming mail directly to
+the appropriate mailbox server(s). This way, mailbox servers do
+not need to run an SMTP server at all.  Tidy all the way around.
+
+Configuring the mailbox server (local or remote)
+================================================
+
+On the mailbox server, in this case a CMU Cyrus imapd/popd server,
+add the following to /etc/services:
+
+    pop3            110/tcp                         # Cyrus POP3
+    imap            143/tcp                         # Cyrus IMAP4
+    lmtp            24/tcp
+
+Next, put the following in /etc/inetd.conf:
+
+    lmtp    stream  tcp     nowait  cyrus   /usr/sbin/tcpd  /usr/local/cyrus/bin/deliver -e -l
+
+/usr/sbin/tcpd is from the tcp_wrappers package.  You want this
+to make sure only your mail relay(s) can talk to the LMTP server.
+Postfix by default enables connection cacheing for delivery via
+LMTP, so do not worry about the load of wrapping the LMTP port.
+
+Configuring Postfix
+===================
+
+Similar changes to /etc/services:
+
+    lmtp            24/tcp
+
+You may have to add the following entry to /etc/postfix/master.cf:
+
+    lmtp      unix  -       -       n       -       -       lmtp
+
+NOTES:  Root privs are not necessary!
+
+We put this in /etc/postfix/transport:
+
+    inbox.domain.org     lmtp:inbox.domain.org
+
+Naturally, this means we also have to have in 
+/etc/postfix/main.cf:
+
+    transport_maps      = hash:/etc/postfix/transport
+
+Use the map type of your choice. Use "postconf -m" to find out
+what map types are supported.
+
+Connection cacheing performance
+===============================
+
+After delivering a message via LMTP, Postfix will keep the connection
+open for a while, so that it can be reused for a subsequent delivery.
+This reduces overhead of LMTP servers that create one process per
+connection.  
+
+The Postfix LMTP client makes only one connection at a time. For
+connection cacheing to work well, the Postfix LMTP client has to
+avoid switching destination hosts. If you have multiple LMTP servers,
+configure separate master.cf entries for each LMTP server, and
+configure transport entries that distribute mail domains to the
+right LMTP servers.
+
+    /etc/postfix/transport:
+        foo.com lmtp1:lmtp1host
+        bar.com lmtp2:lmtp2host
+
+    /etc/postfix/master.cf:
+        lmtp1      unix  -       -       n       -       -       lmtp
+        lmtp2      unix  -       -       n       -       -       lmtp
index b57d6ae8e38a482bcc60305b326e16c3c373e829..aba10614af06f9af54ec9fbb55cbaadadcf496c1 100644 (file)
@@ -1,3 +1,25 @@
+Incompatible changes with snapshot-20000506
+===========================================
+
+None.
+
+Major changes with snapshot-20000506
+====================================
+
+Preliminary LMTP client support with connection cacheing, currently
+only over TCP sockets.  Support for LMTP over UNIX-domain support
+will be added later. See the LMTP_README file for more details.
+
+Preliminary support for SASL authentication, both in the SMTP server
+and in the SMTP client. See the SASL_README file for more details.
+
+The pipe mailer now has a configurable end-of-line attribute.
+Specify, for example, "pipe ... eol=\r\n" for delivery mechanisms
+that require CRLF record delimiters.
+
+The manual pages in sample configuration files now show plain text
+without TROFF escape sequences.
+
 Incompatible changes with snapshot-20000309
 ===========================================
 
index 767a13cfe7dd336a2661282a2a625ff5d30d869d..dc1034c7ac55600f4f5d7e298c8b69ce469cc07a 100644 (file)
@@ -3,12 +3,13 @@ WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
 
 Do not use this code.  The Postfix SASL support is based on the
 Cyrus SASL library, which has not enough documentation about how
-the software is supposed to work.
+the software is supposed to work, and it is not clear if the code
+is safe enough for security-critical applications.
 
 Postfix+SASL 1.5.5 appears to work on RedHat 6.1 (pwcheck_method
-of shadow or sasldb), Solaris 2.7 (pwcheck_method of shadow or
-sasldb), and FreeBSD 3.4 (pwcheck_method of sasldb).  On RedHat
-6.1, SASL 1.5.5 needed write access to the sasldb file.
+set to shadow or sasldb), Solaris 2.7 (pwcheck_method set to shadow
+or sasldb), and FreeBSD 3.4 (pwcheck_method set to sasldb).  On
+RedHat 6.1, SASL 1.5.5 insisted on write access to /etc/sasldb.
 
 SASL is a lot of complex code. In a future version the Postfix SASL
 code is likely to be put outside the SMTP server.
@@ -52,12 +53,14 @@ and that the Cyrus SASL libraries are in /usr/local/lib.
 
 On some systems this generates the necessary Makefile definitions:
 
+    % make tidy # if you have left-over files from a previus build
     % make makefiles CCARGS=-DUSE_SASL_AUTH" -I/usr/local/include" \
        AUXLIBS="-L/usr/local/lib -lsasl"
 
 On Solaris 2.x you need to specify run-time link information,
 otherwise ld.so will not find the SASL shared library:
 
+    % make tidy # if you have left-over files from a previus build
     % make makefiles CCARGS=-DUSE_SASL_AUTH" -I/usr/local/include" \
        AUXLIBS="-L/usr/local/lib -R/usr/local/lib -lsasl"
 
index 4922ed1e76f3bf09e22e6205d12a01bf574ab198..1298eee4564fd6d5744f1149c89078210ea00c19 100644 (file)
@@ -62,7 +62,6 @@ bounce.o: ../include/msg.h
 bounce.o: ../include/vstring.h
 bounce.o: ../include/vbuf.h
 bounce.o: ../include/vstream.h
-bounce.o: ../include/binattr.h
 bounce.o: ../include/stringops.h
 bounce.o: ../include/mail_proto.h
 bounce.o: ../include/iostuff.h
@@ -78,7 +77,6 @@ bounce_append_service.o: ../include/msg.h
 bounce_append_service.o: ../include/vstring.h
 bounce_append_service.o: ../include/vbuf.h
 bounce_append_service.o: ../include/vstream.h
-bounce_append_service.o: ../include/binattr.h
 bounce_append_service.o: ../include/stringops.h
 bounce_append_service.o: ../include/mail_queue.h
 bounce_append_service.o: ../include/quote_822_local.h
@@ -92,7 +90,6 @@ bounce_cleanup.o: ../include/vstring.h
 bounce_cleanup.o: ../include/vbuf.h
 bounce_cleanup.o: ../include/mail_queue.h
 bounce_cleanup.o: ../include/vstream.h
-bounce_cleanup.o: ../include/binattr.h
 bounce_cleanup.o: bounce_service.h
 bounce_notify_service.o: bounce_notify_service.c
 bounce_notify_service.o: ../include/sys_defs.h
@@ -100,7 +97,6 @@ bounce_notify_service.o: ../include/msg.h
 bounce_notify_service.o: ../include/vstring.h
 bounce_notify_service.o: ../include/vbuf.h
 bounce_notify_service.o: ../include/vstream.h
-bounce_notify_service.o: ../include/binattr.h
 bounce_notify_service.o: ../include/vstring_vstream.h
 bounce_notify_service.o: ../include/mymalloc.h
 bounce_notify_service.o: ../include/stringops.h
@@ -129,7 +125,6 @@ bounce_recip_service.o: ../include/msg.h
 bounce_recip_service.o: ../include/vstring.h
 bounce_recip_service.o: ../include/vbuf.h
 bounce_recip_service.o: ../include/vstream.h
-bounce_recip_service.o: ../include/binattr.h
 bounce_recip_service.o: ../include/vstring_vstream.h
 bounce_recip_service.o: ../include/mymalloc.h
 bounce_recip_service.o: ../include/stringops.h
index 5c632a5f9ccd8c0c2e716b2c8cbb94ce484a2661..8b1da52c82158bf6067e0414e2e3c037a281ceb3 100644 (file)
@@ -67,7 +67,6 @@ cleanup.o: ../include/vstring.h
 cleanup.o: ../include/vbuf.h
 cleanup.o: ../include/dict.h
 cleanup.o: ../include/vstream.h
-cleanup.o: ../include/binattr.h
 cleanup.o: ../include/argv.h
 cleanup.o: ../include/mail_conf.h
 cleanup.o: ../include/cleanup_user.h
@@ -92,7 +91,6 @@ cleanup_api.o: ../include/mymalloc.h
 cleanup_api.o: ../include/cleanup_user.h
 cleanup_api.o: ../include/mail_queue.h
 cleanup_api.o: ../include/vstream.h
-cleanup_api.o: ../include/binattr.h
 cleanup_api.o: ../include/mail_proto.h
 cleanup_api.o: ../include/iostuff.h
 cleanup_api.o: ../include/bounce.h
@@ -112,7 +110,6 @@ cleanup_envelope.o: ../include/msg.h
 cleanup_envelope.o: ../include/vstring.h
 cleanup_envelope.o: ../include/vbuf.h
 cleanup_envelope.o: ../include/vstream.h
-cleanup_envelope.o: ../include/binattr.h
 cleanup_envelope.o: ../include/mymalloc.h
 cleanup_envelope.o: ../include/record.h
 cleanup_envelope.o: ../include/rec_type.h
@@ -134,7 +131,6 @@ cleanup_extracted.o: ../include/msg.h
 cleanup_extracted.o: ../include/vstring.h
 cleanup_extracted.o: ../include/vbuf.h
 cleanup_extracted.o: ../include/vstream.h
-cleanup_extracted.o: ../include/binattr.h
 cleanup_extracted.o: ../include/argv.h
 cleanup_extracted.o: ../include/mymalloc.h
 cleanup_extracted.o: ../include/cleanup_user.h
@@ -161,7 +157,6 @@ cleanup_init.o: cleanup.h
 cleanup_init.o: ../include/vstring.h
 cleanup_init.o: ../include/vbuf.h
 cleanup_init.o: ../include/vstream.h
-cleanup_init.o: ../include/binattr.h
 cleanup_init.o: ../include/argv.h
 cleanup_init.o: ../include/maps.h
 cleanup_init.o: ../include/dict.h
@@ -177,7 +172,6 @@ cleanup_map11.o: ../include/vstring.h
 cleanup_map11.o: ../include/vbuf.h
 cleanup_map11.o: ../include/dict.h
 cleanup_map11.o: ../include/vstream.h
-cleanup_map11.o: ../include/binattr.h
 cleanup_map11.o: ../include/argv.h
 cleanup_map11.o: ../include/mymalloc.h
 cleanup_map11.o: ../include/cleanup_user.h
@@ -199,7 +193,6 @@ cleanup_map1n.o: ../include/vstring.h
 cleanup_map1n.o: ../include/vbuf.h
 cleanup_map1n.o: ../include/dict.h
 cleanup_map1n.o: ../include/vstream.h
-cleanup_map1n.o: ../include/binattr.h
 cleanup_map1n.o: ../include/mail_addr_map.h
 cleanup_map1n.o: ../include/maps.h
 cleanup_map1n.o: ../include/cleanup_user.h
@@ -225,7 +218,6 @@ cleanup_masquerade.o: ../include/resolve_clnt.h
 cleanup_masquerade.o: ../include/quote_822_local.h
 cleanup_masquerade.o: cleanup.h
 cleanup_masquerade.o: ../include/vstream.h
-cleanup_masquerade.o: ../include/binattr.h
 cleanup_masquerade.o: ../include/maps.h
 cleanup_masquerade.o: ../include/dict.h
 cleanup_masquerade.o: ../include/been_here.h
@@ -237,7 +229,6 @@ cleanup_message.o: ../include/msg.h
 cleanup_message.o: ../include/vstring.h
 cleanup_message.o: ../include/vbuf.h
 cleanup_message.o: ../include/vstream.h
-cleanup_message.o: ../include/binattr.h
 cleanup_message.o: ../include/argv.h
 cleanup_message.o: ../include/split_at.h
 cleanup_message.o: ../include/mymalloc.h
@@ -265,7 +256,6 @@ cleanup_out.o: ../include/msg.h
 cleanup_out.o: ../include/vstring.h
 cleanup_out.o: ../include/vbuf.h
 cleanup_out.o: ../include/vstream.h
-cleanup_out.o: ../include/binattr.h
 cleanup_out.o: ../include/record.h
 cleanup_out.o: ../include/rec_type.h
 cleanup_out.o: ../include/cleanup_user.h
@@ -289,7 +279,6 @@ cleanup_out_recipient.o: cleanup.h
 cleanup_out_recipient.o: ../include/vstring.h
 cleanup_out_recipient.o: ../include/vbuf.h
 cleanup_out_recipient.o: ../include/vstream.h
-cleanup_out_recipient.o: ../include/binattr.h
 cleanup_out_recipient.o: ../include/maps.h
 cleanup_out_recipient.o: ../include/dict.h
 cleanup_out_recipient.o: ../include/tok822.h
@@ -307,7 +296,6 @@ cleanup_rewrite.o: ../include/rewrite_clnt.h
 cleanup_rewrite.o: ../include/quote_822_local.h
 cleanup_rewrite.o: cleanup.h
 cleanup_rewrite.o: ../include/vstream.h
-cleanup_rewrite.o: ../include/binattr.h
 cleanup_rewrite.o: ../include/argv.h
 cleanup_rewrite.o: ../include/maps.h
 cleanup_rewrite.o: ../include/dict.h
@@ -324,7 +312,6 @@ cleanup_state.o: ../include/been_here.h
 cleanup_state.o: ../include/mail_params.h
 cleanup_state.o: cleanup.h
 cleanup_state.o: ../include/vstream.h
-cleanup_state.o: ../include/binattr.h
 cleanup_state.o: ../include/maps.h
 cleanup_state.o: ../include/dict.h
 cleanup_state.o: ../include/tok822.h
index b628a4ca3af39fa791e404f3974bed2aefcc0048..245fc77ee89ca89d5d0fe62297f8740ead53c246 100644 (file)
@@ -101,5 +101,4 @@ test_dns_lookup.o: ../include/vbuf.h
 test_dns_lookup.o: ../include/msg.h
 test_dns_lookup.o: ../include/msg_vstream.h
 test_dns_lookup.o: ../include/vstream.h
-test_dns_lookup.o: ../include/binattr.h
 test_dns_lookup.o: dns.h
index 86b2e3108fe2c074567596f35acdd2bc6dae4430..7d43663d0f5182fd030bf8846510a6264f70a955 100644 (file)
@@ -58,7 +58,6 @@ error.o: ../include/sys_defs.h
 error.o: ../include/msg.h
 error.o: ../include/vstream.h
 error.o: ../include/vbuf.h
-error.o: ../include/binattr.h
 error.o: ../include/deliver_request.h
 error.o: ../include/vstring.h
 error.o: ../include/recipient_list.h
index 9f904dcba6bb248844824b8d3e0f1e39f0bde715..673dc8819fbbfb40b6605a990f948f345aff12de 100644 (file)
@@ -3,55 +3,55 @@ SRCS  = been_here.c bounce.c canon_addr.c cleanup_strerror.c clnt_stream.c \
        debug_peer.c debug_process.c defer.c deliver_completed.c \
        deliver_flock.c deliver_pass.c deliver_request.c domain_list.c \
        dot_lockfile.c dot_lockfile_as.c ext_prop.c file_id.c \
-       header_opts.c is_header.c mail_addr.c \
-       mail_addr_crunch.c mail_addr_find.c mail_addr_map.c \
-       mail_command_read.c mail_command_write.c mail_conf.c \
-       mail_conf_bool.c mail_conf_int.c mail_conf_raw.c mail_conf_str.c \
-       mail_connect.c mail_copy.c mail_date.c mail_error.c mail_flush.c \
-       mail_open_ok.c mail_params.c mail_pathname.c mail_print.c \
-       mail_queue.c mail_run.c mail_scan.c mail_scan_dir.c mail_stream.c \
-       mail_task.c mail_trigger.c maps.c mark_corrupt.c mkmap_db.c \
-       mkmap_dbm.c mkmap_open.c mynetworks.c mypwd.c namadr_list.c \
-       off_cvt.c opened.c own_inet_addr.c peer_name.c pipe_command.c \
-       post_mail.c quote_822_local.c rec_streamlf.c rec_type.c \
-       recipient_list.c record.c remove.c resolve_clnt.c resolve_local.c \
-       rewrite_clnt.c sent.c smtp_stream.c split_addr.c string_list.c \
-       sys_exits.c timed_ipc.c tok822_find.c tok822_node.c tok822_parse.c \
+       header_opts.c is_header.c mail_addr.c mail_addr_crunch.c \
+       mail_addr_find.c mail_addr_map.c mail_command_read.c \
+       mail_command_write.c mail_conf.c mail_conf_bool.c mail_conf_int.c \
+       mail_conf_raw.c mail_conf_str.c mail_connect.c mail_copy.c \
+       mail_date.c mail_error.c mail_flush.c mail_open_ok.c mail_params.c \
+       mail_pathname.c mail_print.c mail_queue.c mail_run.c mail_scan.c \
+       mail_scan_dir.c mail_stream.c mail_task.c mail_trigger.c maps.c \
+       mark_corrupt.c mkmap_db.c mkmap_dbm.c mkmap_open.c mynetworks.c \
+       mypwd.c namadr_list.c off_cvt.c opened.c own_inet_addr.c \
+       peer_name.c pipe_command.c post_mail.c quote_821_local.c \
+       quote_822_local.c rec_streamlf.c rec_type.c recipient_list.c \
+       record.c remove.c resolve_clnt.c resolve_local.c rewrite_clnt.c \
+       sent.c smtp_stream.c split_addr.c string_list.c sys_exits.c \
+       timed_ipc.c tok822_find.c tok822_node.c tok822_parse.c \
        tok822_resolve.c tok822_rewrite.c tok822_tree.c
 OBJS   = been_here.o bounce.o canon_addr.o cleanup_strerror.o clnt_stream.o \
        debug_peer.o debug_process.o defer.o deliver_completed.o \
        deliver_flock.o deliver_pass.o deliver_request.o domain_list.o \
        dot_lockfile.o dot_lockfile_as.o ext_prop.o file_id.o \
-       header_opts.o is_header.o mail_addr.o \
-       mail_addr_crunch.o mail_addr_find.o mail_addr_map.o \
-       mail_command_read.o mail_command_write.o mail_conf.o \
-       mail_conf_bool.o mail_conf_int.o mail_conf_raw.o mail_conf_str.o \
-       mail_connect.o mail_copy.o mail_date.o mail_error.o mail_flush.o \
-       mail_open_ok.o mail_params.o mail_pathname.o mail_print.o \
-       mail_queue.o mail_run.o mail_scan.o mail_scan_dir.o mail_stream.o \
-       mail_task.o mail_trigger.o maps.o mark_corrupt.o mkmap_db.o \
-       mkmap_dbm.o mkmap_open.o mynetworks.o mypwd.o namadr_list.o \
-       off_cvt.o opened.o own_inet_addr.o peer_name.o pipe_command.o \
-       post_mail.o quote_822_local.o rec_streamlf.o rec_type.o \
-       recipient_list.o record.o remove.o resolve_clnt.o resolve_local.o \
-       rewrite_clnt.o sent.o smtp_stream.o split_addr.o string_list.o \
-       sys_exits.o timed_ipc.o tok822_find.o tok822_node.o tok822_parse.o \
+       header_opts.o is_header.o mail_addr.o mail_addr_crunch.o \
+       mail_addr_find.o mail_addr_map.o mail_command_read.o \
+       mail_command_write.o mail_conf.o mail_conf_bool.o mail_conf_int.o \
+       mail_conf_raw.o mail_conf_str.o mail_connect.o mail_copy.o \
+       mail_date.o mail_error.o mail_flush.o mail_open_ok.o mail_params.o \
+       mail_pathname.o mail_print.o mail_queue.o mail_run.o mail_scan.o \
+       mail_scan_dir.o mail_stream.o mail_task.o mail_trigger.o maps.o \
+       mark_corrupt.o mkmap_db.o mkmap_dbm.o mkmap_open.o mynetworks.o \
+       mypwd.o namadr_list.o off_cvt.o opened.o own_inet_addr.o \
+       peer_name.o pipe_command.o post_mail.o quote_821_local.o \
+       quote_822_local.o rec_streamlf.o rec_type.o recipient_list.o \
+       record.o remove.o resolve_clnt.o resolve_local.o rewrite_clnt.o \
+       sent.o smtp_stream.o split_addr.o string_list.o sys_exits.o \
+       timed_ipc.o tok822_find.o tok822_node.o tok822_parse.o \
        tok822_resolve.o tok822_rewrite.o tok822_tree.o
 HDRS   = been_here.h bounce.h canon_addr.h cleanup_user.h clnt_stream.h \
        config.h debug_peer.h debug_process.h defer.h deliver_completed.h \
        deliver_flock.h deliver_pass.h deliver_request.h domain_list.h \
        dot_lockfile.h dot_lockfile_as.h ext_prop.h file_id.h \
-       header_opts.h is_header.h mail_addr.h \
-       mail_addr_crunch.h mail_addr_find.h mail_addr_map.h mail_conf.h \
-       mail_copy.h mail_date.h mail_error.h mail_flush.h mail_open_ok.h \
-       mail_params.h mail_proto.h mail_queue.h mail_run.h mail_scan_dir.h \
-       mail_stream.h mail_task.h mail_version.h maps.h mark_corrupt.h \
-       mkmap.h mynetworks.h mypwd.h namadr_list.h off_cvt.h opened.h \
+       header_opts.h is_header.h mail_addr.h mail_addr_crunch.h \
+       mail_addr_find.h mail_addr_map.h mail_conf.h mail_copy.h \
+       mail_date.h mail_error.h mail_flush.h mail_open_ok.h mail_params.h \
+       mail_proto.h mail_queue.h mail_run.h mail_scan_dir.h mail_stream.h \
+       mail_task.h mail_version.h maps.h mark_corrupt.h mkmap.h \
+       mynetworks.h mypwd.h namadr_list.h off_cvt.h opened.h \
        own_inet_addr.h peer_name.h pipe_command.h post_mail.h \
-       quote_822_local.h rec_streamlf.h rec_type.h recipient_list.h \
-       record.h resolve_clnt.h resolve_local.h rewrite_clnt.h sent.h \
-       smtp_stream.h split_addr.h string_list.h sys_exits.h timed_ipc.h \
-       tok822.h
+       quote_821_local.h quote_822_local.h rec_streamlf.h rec_type.h \
+       recipient_list.h record.h resolve_clnt.h resolve_local.h \
+       rewrite_clnt.h sent.h smtp_stream.h split_addr.h string_list.h \
+       sys_exits.h timed_ipc.h tok822.h
 TESTSRC        = rec2stream.c stream2rec.c recdump.c
 WARN   = -W -Wformat -Wimplicit -Wmissing-prototypes \
        -Wparentheses -Wstrict-prototypes -Wswitch -Wuninitialized \
@@ -63,7 +63,8 @@ LIB   = libglobal.a
 TESTPROG= domain_list dot_lockfile mail_addr_crunch mail_addr_find \
        mail_addr_map mail_date maps mynetworks mypwd namadr_list \
        off_cvt quote_822_local rec2stream recdump resolve_clnt \
-       resolve_local rewrite_clnt stream2rec string_list tok822_parse
+       resolve_local rewrite_clnt stream2rec string_list tok822_parse \
+       quote_821_local
 
 LIBS   = ../lib/libutil.a
 LIB_DIR        = ../lib
@@ -193,6 +194,9 @@ local_transport: $(LIB) $(LIBS)
        $(CC) $(CFLAGS) -DTEST -o $@ $@.c $(LIB) $(LIBS) $(SYSLIBS)
        mv junk $@.o
 
+quote_821_local: quote_821_local.c $(LIBS)
+       $(CC) $(CFLAGS) -DTEST -o $@ $@.c $(LIBS) $(SYSLIBS)
+
 tests: tok822_test
 
 tok822_test: tok822_parse tok822_parse.in tok822_parse.ref
@@ -243,7 +247,6 @@ bounce.o: ../include/vbuf.h
 bounce.o: mail_params.h
 bounce.o: mail_proto.h
 bounce.o: ../include/vstream.h
-bounce.o: ../include/binattr.h
 bounce.o: ../include/iostuff.h
 bounce.o: defer.h
 bounce.o: bounce.h
@@ -265,7 +268,6 @@ clnt_stream.o: ../include/msg.h
 clnt_stream.o: ../include/mymalloc.h
 clnt_stream.o: ../include/vstream.h
 clnt_stream.o: ../include/vbuf.h
-clnt_stream.o: ../include/binattr.h
 clnt_stream.o: ../include/events.h
 clnt_stream.o: ../include/iostuff.h
 clnt_stream.o: mail_proto.h
@@ -290,7 +292,6 @@ defer.o: ../include/vstring.h
 defer.o: ../include/vbuf.h
 defer.o: mail_queue.h
 defer.o: ../include/vstream.h
-defer.o: ../include/binattr.h
 defer.o: mail_proto.h
 defer.o: ../include/iostuff.h
 defer.o: bounce.h
@@ -300,7 +301,6 @@ deliver_completed.o: ../include/sys_defs.h
 deliver_completed.o: ../include/msg.h
 deliver_completed.o: ../include/vstream.h
 deliver_completed.o: ../include/vbuf.h
-deliver_completed.o: ../include/binattr.h
 deliver_completed.o: record.h
 deliver_completed.o: ../include/vstring.h
 deliver_completed.o: rec_type.h
@@ -318,7 +318,6 @@ deliver_pass.o: ../include/msg.h
 deliver_pass.o: ../include/vstring.h
 deliver_pass.o: ../include/vbuf.h
 deliver_pass.o: ../include/vstream.h
-deliver_pass.o: ../include/binattr.h
 deliver_pass.o: deliver_pass.h
 deliver_pass.o: deliver_request.h
 deliver_pass.o: recipient_list.h
@@ -329,7 +328,6 @@ deliver_request.o: ../include/sys_defs.h
 deliver_request.o: ../include/msg.h
 deliver_request.o: ../include/vstream.h
 deliver_request.o: ../include/vbuf.h
-deliver_request.o: ../include/binattr.h
 deliver_request.o: ../include/vstring.h
 deliver_request.o: ../include/mymalloc.h
 deliver_request.o: ../include/iostuff.h
@@ -410,7 +408,6 @@ mail_addr_find.o: ../include/msg.h
 mail_addr_find.o: ../include/dict.h
 mail_addr_find.o: ../include/vstream.h
 mail_addr_find.o: ../include/vbuf.h
-mail_addr_find.o: ../include/binattr.h
 mail_addr_find.o: ../include/argv.h
 mail_addr_find.o: ../include/stringops.h
 mail_addr_find.o: ../include/vstring.h
@@ -427,7 +424,6 @@ mail_addr_map.o: ../include/vstring.h
 mail_addr_map.o: ../include/vbuf.h
 mail_addr_map.o: ../include/dict.h
 mail_addr_map.o: ../include/vstream.h
-mail_addr_map.o: ../include/binattr.h
 mail_addr_map.o: ../include/argv.h
 mail_addr_map.o: ../include/mymalloc.h
 mail_addr_map.o: mail_addr_find.h
@@ -439,14 +435,12 @@ mail_command_read.o: ../include/sys_defs.h
 mail_command_read.o: ../include/vstring.h
 mail_command_read.o: ../include/vbuf.h
 mail_command_read.o: ../include/vstream.h
-mail_command_read.o: ../include/binattr.h
 mail_command_read.o: mail_proto.h
 mail_command_read.o: ../include/iostuff.h
 mail_command_write.o: mail_command_write.c
 mail_command_write.o: ../include/sys_defs.h
 mail_command_write.o: ../include/vstream.h
 mail_command_write.o: ../include/vbuf.h
-mail_command_write.o: ../include/binattr.h
 mail_command_write.o: mail_proto.h
 mail_command_write.o: ../include/iostuff.h
 mail_conf.o: mail_conf.c
@@ -455,7 +449,6 @@ mail_conf.o: ../include/msg.h
 mail_conf.o: ../include/mymalloc.h
 mail_conf.o: ../include/vstream.h
 mail_conf.o: ../include/vbuf.h
-mail_conf.o: ../include/binattr.h
 mail_conf.o: ../include/vstring.h
 mail_conf.o: ../include/dict.h
 mail_conf.o: ../include/argv.h
@@ -469,7 +462,6 @@ mail_conf_bool.o: ../include/msg.h
 mail_conf_bool.o: ../include/dict.h
 mail_conf_bool.o: ../include/vstream.h
 mail_conf_bool.o: ../include/vbuf.h
-mail_conf_bool.o: ../include/binattr.h
 mail_conf_bool.o: ../include/argv.h
 mail_conf_bool.o: mail_conf.h
 mail_conf_int.o: mail_conf_int.c
@@ -479,7 +471,6 @@ mail_conf_int.o: ../include/mymalloc.h
 mail_conf_int.o: ../include/dict.h
 mail_conf_int.o: ../include/vstream.h
 mail_conf_int.o: ../include/vbuf.h
-mail_conf_int.o: ../include/binattr.h
 mail_conf_int.o: ../include/argv.h
 mail_conf_int.o: ../include/stringops.h
 mail_conf_int.o: ../include/vstring.h
@@ -499,7 +490,6 @@ mail_connect.o: ../include/sys_defs.h
 mail_connect.o: ../include/msg.h
 mail_connect.o: ../include/vstream.h
 mail_connect.o: ../include/vbuf.h
-mail_connect.o: ../include/binattr.h
 mail_connect.o: ../include/connect.h
 mail_connect.o: ../include/iostuff.h
 mail_connect.o: ../include/mymalloc.h
@@ -511,7 +501,6 @@ mail_copy.o: ../include/msg.h
 mail_copy.o: ../include/htable.h
 mail_copy.o: ../include/vstream.h
 mail_copy.o: ../include/vbuf.h
-mail_copy.o: ../include/binattr.h
 mail_copy.o: ../include/vstring.h
 mail_copy.o: ../include/vstring_vstream.h
 mail_copy.o: ../include/stringops.h
@@ -537,7 +526,6 @@ mail_flush.o: ../include/sys_defs.h
 mail_flush.o: mail_proto.h
 mail_flush.o: ../include/vstream.h
 mail_flush.o: ../include/vbuf.h
-mail_flush.o: ../include/binattr.h
 mail_flush.o: ../include/iostuff.h
 mail_flush.o: mail_flush.h
 mail_open_ok.o: mail_open_ok.c
@@ -547,7 +535,6 @@ mail_open_ok.o: mail_queue.h
 mail_open_ok.o: ../include/vstring.h
 mail_open_ok.o: ../include/vbuf.h
 mail_open_ok.o: ../include/vstream.h
-mail_open_ok.o: ../include/binattr.h
 mail_open_ok.o: mail_open_ok.h
 mail_params.o: mail_params.c
 mail_params.o: ../include/sys_defs.h
@@ -568,7 +555,6 @@ mail_pathname.o: ../include/vstring.h
 mail_pathname.o: ../include/vbuf.h
 mail_pathname.o: mail_proto.h
 mail_pathname.o: ../include/vstream.h
-mail_pathname.o: ../include/binattr.h
 mail_pathname.o: ../include/iostuff.h
 mail_print.o: mail_print.c
 mail_print.o: ../include/sys_defs.h
@@ -576,7 +562,6 @@ mail_print.o: ../include/msg.h
 mail_print.o: ../include/mymalloc.h
 mail_print.o: ../include/vstream.h
 mail_print.o: ../include/vbuf.h
-mail_print.o: ../include/binattr.h
 mail_print.o: mail_proto.h
 mail_print.o: ../include/iostuff.h
 mail_queue.o: mail_queue.c
@@ -585,7 +570,6 @@ mail_queue.o: ../include/msg.h
 mail_queue.o: ../include/vstring.h
 mail_queue.o: ../include/vbuf.h
 mail_queue.o: ../include/vstream.h
-mail_queue.o: ../include/binattr.h
 mail_queue.o: ../include/mymalloc.h
 mail_queue.o: ../include/argv.h
 mail_queue.o: ../include/dir_forest.h
@@ -610,7 +594,6 @@ mail_scan.o: ../include/msg.h
 mail_scan.o: ../include/vstring.h
 mail_scan.o: ../include/vbuf.h
 mail_scan.o: ../include/vstream.h
-mail_scan.o: ../include/binattr.h
 mail_scan.o: ../include/vstring_vstream.h
 mail_scan.o: ../include/mymalloc.h
 mail_scan.o: mail_proto.h
@@ -626,7 +609,6 @@ mail_stream.o: ../include/mymalloc.h
 mail_stream.o: ../include/vstring.h
 mail_stream.o: ../include/vbuf.h
 mail_stream.o: ../include/vstream.h
-mail_stream.o: ../include/binattr.h
 mail_stream.o: ../include/stringops.h
 mail_stream.o: cleanup_user.h
 mail_stream.o: mail_proto.h
@@ -650,7 +632,6 @@ mail_trigger.o: mail_params.h
 mail_trigger.o: mail_proto.h
 mail_trigger.o: ../include/vstream.h
 mail_trigger.o: ../include/vbuf.h
-mail_trigger.o: ../include/binattr.h
 mail_version.o: mail_version.c
 maps.o: maps.c
 maps.o: ../include/sys_defs.h
@@ -660,7 +641,6 @@ maps.o: ../include/msg.h
 maps.o: ../include/dict.h
 maps.o: ../include/vstream.h
 maps.o: ../include/vbuf.h
-maps.o: ../include/binattr.h
 maps.o: ../include/stringops.h
 maps.o: ../include/vstring.h
 maps.o: ../include/split_at.h
@@ -671,7 +651,6 @@ mark_corrupt.o: ../include/sys_defs.h
 mark_corrupt.o: ../include/msg.h
 mark_corrupt.o: ../include/vstream.h
 mark_corrupt.o: ../include/vbuf.h
-mark_corrupt.o: ../include/binattr.h
 mark_corrupt.o: mail_queue.h
 mark_corrupt.o: ../include/vstring.h
 mark_corrupt.o: mark_corrupt.h
@@ -684,7 +663,6 @@ mkmap_db.o: ../include/vstring.h
 mkmap_db.o: ../include/vbuf.h
 mkmap_db.o: ../include/dict.h
 mkmap_db.o: ../include/vstream.h
-mkmap_db.o: ../include/binattr.h
 mkmap_db.o: ../include/argv.h
 mkmap_db.o: ../include/dict_db.h
 mkmap_db.o: mkmap.h
@@ -697,7 +675,6 @@ mkmap_dbm.o: ../include/vstring.h
 mkmap_dbm.o: ../include/vbuf.h
 mkmap_dbm.o: ../include/dict.h
 mkmap_dbm.o: ../include/vstream.h
-mkmap_dbm.o: ../include/binattr.h
 mkmap_dbm.o: ../include/argv.h
 mkmap_dbm.o: ../include/dict_dbm.h
 mkmap_dbm.o: mkmap.h
@@ -707,7 +684,6 @@ mkmap_open.o: ../include/msg.h
 mkmap_open.o: ../include/dict.h
 mkmap_open.o: ../include/vstream.h
 mkmap_open.o: ../include/vbuf.h
-mkmap_open.o: ../include/binattr.h
 mkmap_open.o: ../include/argv.h
 mkmap_open.o: ../include/sigdelay.h
 mkmap_open.o: ../include/mymalloc.h
@@ -767,7 +743,6 @@ pipe_command.o: ../include/sys_defs.h
 pipe_command.o: ../include/msg.h
 pipe_command.o: ../include/vstream.h
 pipe_command.o: ../include/vbuf.h
-pipe_command.o: ../include/binattr.h
 pipe_command.o: ../include/vstring.h
 pipe_command.o: ../include/stringops.h
 pipe_command.o: ../include/iostuff.h
@@ -785,7 +760,6 @@ post_mail.o: ../include/sys_defs.h
 post_mail.o: ../include/msg.h
 post_mail.o: ../include/vstream.h
 post_mail.o: ../include/vbuf.h
-post_mail.o: ../include/binattr.h
 post_mail.o: ../include/vstring.h
 post_mail.o: mail_params.h
 post_mail.o: record.h
@@ -795,6 +769,11 @@ post_mail.o: ../include/iostuff.h
 post_mail.o: cleanup_user.h
 post_mail.o: post_mail.h
 post_mail.o: mail_date.h
+quote_821_local.o: quote_821_local.c
+quote_821_local.o: ../include/sys_defs.h
+quote_821_local.o: ../include/vstring.h
+quote_821_local.o: ../include/vbuf.h
+quote_821_local.o: quote_821_local.h
 quote_822_local.o: quote_822_local.c
 quote_822_local.o: ../include/sys_defs.h
 quote_822_local.o: ../include/vstring.h
@@ -805,7 +784,6 @@ rec2stream.o: ../include/sys_defs.h
 rec2stream.o: ../include/vstring.h
 rec2stream.o: ../include/vbuf.h
 rec2stream.o: ../include/vstream.h
-rec2stream.o: ../include/binattr.h
 rec2stream.o: record.h
 rec2stream.o: rec_streamlf.h
 rec2stream.o: rec_type.h
@@ -814,7 +792,6 @@ rec_streamlf.o: ../include/sys_defs.h
 rec_streamlf.o: ../include/vstring.h
 rec_streamlf.o: ../include/vbuf.h
 rec_streamlf.o: ../include/vstream.h
-rec_streamlf.o: ../include/binattr.h
 rec_streamlf.o: record.h
 rec_streamlf.o: rec_type.h
 rec_streamlf.o: rec_streamlf.h
@@ -825,7 +802,6 @@ recdump.o: ../include/sys_defs.h
 recdump.o: ../include/msg_vstream.h
 recdump.o: ../include/vstream.h
 recdump.o: ../include/vbuf.h
-recdump.o: ../include/binattr.h
 recdump.o: record.h
 recdump.o: ../include/vstring.h
 recdump.o: rec_streamlf.h
@@ -839,7 +815,6 @@ record.o: ../include/msg.h
 record.o: ../include/mymalloc.h
 record.o: ../include/vstream.h
 record.o: ../include/vbuf.h
-record.o: ../include/binattr.h
 record.o: ../include/vstring.h
 record.o: record.h
 remove.o: remove.c
@@ -852,7 +827,6 @@ resolve_clnt.o: ../include/sys_defs.h
 resolve_clnt.o: ../include/msg.h
 resolve_clnt.o: ../include/vstream.h
 resolve_clnt.o: ../include/vbuf.h
-resolve_clnt.o: ../include/binattr.h
 resolve_clnt.o: ../include/vstring.h
 resolve_clnt.o: ../include/vstring_vstream.h
 resolve_clnt.o: ../include/events.h
@@ -875,7 +849,6 @@ rewrite_clnt.o: ../include/msg.h
 rewrite_clnt.o: ../include/vstring.h
 rewrite_clnt.o: ../include/vbuf.h
 rewrite_clnt.o: ../include/vstream.h
-rewrite_clnt.o: ../include/binattr.h
 rewrite_clnt.o: ../include/vstring_vstream.h
 rewrite_clnt.o: ../include/events.h
 rewrite_clnt.o: ../include/iostuff.h
@@ -895,7 +868,6 @@ smtp_stream.o: ../include/sys_defs.h
 smtp_stream.o: ../include/vstring.h
 smtp_stream.o: ../include/vbuf.h
 smtp_stream.o: ../include/vstream.h
-smtp_stream.o: ../include/binattr.h
 smtp_stream.o: ../include/vstring_vstream.h
 smtp_stream.o: ../include/msg.h
 smtp_stream.o: ../include/iostuff.h
@@ -910,7 +882,6 @@ stream2rec.o: stream2rec.c
 stream2rec.o: ../include/sys_defs.h
 stream2rec.o: ../include/vstream.h
 stream2rec.o: ../include/vbuf.h
-stream2rec.o: ../include/binattr.h
 stream2rec.o: ../include/vstring.h
 stream2rec.o: record.h
 stream2rec.o: rec_streamlf.h
@@ -929,7 +900,6 @@ timed_ipc.o: ../include/sys_defs.h
 timed_ipc.o: ../include/msg.h
 timed_ipc.o: ../include/vstream.h
 timed_ipc.o: ../include/vbuf.h
-timed_ipc.o: ../include/binattr.h
 timed_ipc.o: mail_params.h
 timed_ipc.o: timed_ipc.h
 tok822_find.o: tok822_find.c
index d5a73e7a87b55b47b6d0dcbdad03b49633366547..29bd2d258437839ee8c7cbb3fdc390e4e14cb5f7 100644 (file)
@@ -590,11 +590,11 @@ extern int var_smtp_data2_tmout;
 extern int var_smtp_quit_tmout;
 
 #define VAR_SMTP_SKIP_4XX      "smtp_skip_4xx_greeting"
-#define DEF_SMTP_SKIP_4XX      0
+#define DEF_SMTP_SKIP_4XX      1
 extern bool var_smtp_skip_4xx_greeting;
 
 #define VAR_SMTP_SKIP_5XX      "smtp_skip_5xx_greeting"
-#define DEF_SMTP_SKIP_5XX      0
+#define DEF_SMTP_SKIP_5XX      1
 extern bool var_smtp_skip_5xx_greeting;
 
 #define VAR_IGN_MX_LOOKUP_ERR  "ignore_mx_lookup_error"
index 28b522ed25f8f004260376e9064dd6d153c210bb..81e972d267259882a2ef51936cd9580003e07559 100644 (file)
@@ -15,7 +15,7 @@
   * Version of this program.
   */
 #define VAR_MAIL_VERSION       "mail_version"
-#define DEF_MAIL_VERSION       "Snapshot-20000505"
+#define DEF_MAIL_VERSION       "Snapshot-20000506"
 extern char *var_mail_version;
 
 /* LICENSE
index 12a411b2b5e64e022710ec720712fb5df8906ba2..606ffb65fc0258ad80b228ac765e9b7c708d6371 100644 (file)
@@ -145,13 +145,6 @@ static void smtp_timeout_detect(VSTREAM *stream)
 
 void    smtp_timeout_setup(VSTREAM *stream, int maxtime)
 {
-
-    /*
-     * Stick your TLS/whatever read-write routines here. Notice that the
-     * read/write interface now includes a timeout parameter and application
-     * context, and that a read/write routine is supposed to set errno to
-     * ETIMEDOUT when the alarm clock goes off.
-     */
     vstream_control(stream,
                    VSTREAM_CTL_DOUBLE,
                    VSTREAM_CTL_TIMEOUT, maxtime,
index ad3afabe9c642a9f000d9d5c3e7a061ea909a918..7ca5fc0abf1680c5b02f3aaa1089d6538e8576cf 100644 (file)
@@ -561,7 +561,7 @@ static void tok822_print(TOK822 *list, int indent)
            vstream_printf("%*s %s\n", indent, "", "group \":\"");
        } else {
            vstream_printf("%*s %s \"%s\"\n", indent, "",
-                          tp->type == TOK822_COMMENT_TEXT ? "comment text" :
+                          tp->type == TOK822_COMMENT_TEXT ? "text" :
                           tp->type == TOK822_ATOM ? "atom" :
                           tp->type == TOK822_QSTRING ? "quoted string" :
                           tp->type == TOK822_DOMLIT ? "domain literal" :
@@ -597,6 +597,7 @@ int     main(int unused_argc, char **unused_argv)
     }
     vstring_free(vp);
     vstring_free(buf);
+    return (0);
 }
 
 #endif
index 1313f10cae86cd32fe15d0c5828488fd6a555c82..f25917afa633ed322a1a89be0dfd97cef479fefe 100644 (file)
@@ -9,7 +9,7 @@ LMTP(8)                                                   LMTP(8)
        lmtp - Postfix local delivery via LMTP
 
 <b>SYNOPSIS</b>
-       <b>lmtp</b> [generic Postfix daemon options] [server attributes...]
+       <b>lmtp</b> [generic Postfix daemon options]
 
 <b>DESCRIPTION</b>
        The  LMTP  client processes message delivery requests from
@@ -33,23 +33,6 @@ LMTP(8)                                                   LMTP(8)
        (mail  exchanger) lookups since those are defined only for
        SMTP.
 
-<b>SERVER</b> <b>ATTRIBUTE</b> <b>SYNTAX</b>
-       The server attributes are given in the <b>master.cf</b>  file  at
-       the  end  of  a service definition.  The syntax is as fol-
-       lows:
-
-       <b>server=</b><i>host</i>
-
-       <b>server=</b><i>host</i><b>:</b><i>port</i>
-
-       <b>server=[</b><i>ipaddr</i><b>]</b>
-
-       <b>server=[</b><i>ipaddr</i><b>]:</b><i>port</i>
-              Connect to the specified host or IP address and TCP
-              port  (default:  the  <b>lmtp</b> port as specified in the
-              <b>services</b> database).
-
-
 <b>SECURITY</b>
        The LMTP client is moderately security-sensitive. It talks
        to  LMTP  servers  and  to DNS servers on the network. The
@@ -59,18 +42,6 @@ LMTP(8)                                                   LMTP(8)
        <a href="http://www.faqs.org/rfcs/rfc821.html">RFC 821</a> (SMTP protocol)
        <a href="http://www.faqs.org/rfcs/rfc1651.html">RFC 1651</a> (SMTP service extensions)
        <a href="http://www.faqs.org/rfcs/rfc1870.html">RFC 1870</a> (Message Size Declaration)
-
-
-
-                                                                1
-
-
-
-
-
-LMTP(8)                                                   LMTP(8)
-
-
        <a href="http://www.faqs.org/rfcs/rfc2033.html">RFC 2033</a> (LMTP protocol)
        <a href="http://www.faqs.org/rfcs/rfc2197.html">RFC 2197</a> (Pipelining)
 
@@ -88,6 +59,18 @@ LMTP(8)                                                   LMTP(8)
        The  following  <b>main.cf</b> parameters are especially relevant
        to this program. See the Postfix <b>main.cf</b> file  for  syntax
        details  and  for  default  values. Use the <b>postfix</b> <b>reload</b>
+
+
+
+                                                                1
+
+
+
+
+
+LMTP(8)                                                   LMTP(8)
+
+
        command after a configuration change.
 
 <b>Miscellaneous</b>
@@ -125,18 +108,6 @@ LMTP(8)                                                   LMTP(8)
               The  effectiveness  of  cached  connections will be
               determined by the number of LMTP  servers  in  use,
               and  the  concurrency  limit specified for the LMTP
-
-
-
-                                                                2
-
-
-
-
-
-LMTP(8)                                                   LMTP(8)
-
-
               client.  Cached connections are closed under any of
               the following conditions:
 
@@ -154,6 +125,18 @@ LMTP(8)                                                   LMTP(8)
 
               <b>o</b>      Upon  the onset of another delivery request,
                      the LMTP server associated with the  current
+
+
+
+                                                                2
+
+
+
+
+
+LMTP(8)                                                   LMTP(8)
+
+
                      session  does  not  respond to the <b>RSET</b> com-
                      mand.
 
@@ -192,17 +175,6 @@ LMTP(8)                                                   LMTP(8)
               LMTP server.  If no connection can be  made  within
               the deadline, the message is deferred.
 
-
-
-                                                                3
-
-
-
-
-
-LMTP(8)                                                   LMTP(8)
-
-
        <b>lmtp</b><i>_</i><b>lhlo</b><i>_</i><b>timeout</b>
               Timeout  in  seconds  for sending the <b>LHLO</b> command,
               and for receiving the server response.
@@ -219,6 +191,18 @@ LMTP(8)                                                   LMTP(8)
               Timeout in seconds for sending  the  <b>DATA</b>  command,
               and for receiving the server response.
 
+
+
+
+                                                                3
+
+
+
+
+
+LMTP(8)                                                   LMTP(8)
+
+
        <b>lmtp</b><i>_</i><b>data</b><i>_</i><b>xfer</b><i>_</i><b>timeout</b>
               Timeout in seconds for sending the message content.
 
@@ -257,18 +241,6 @@ LMTP(8)                                                   LMTP(8)
 
        Alterations for LMTP by:
        Philip A. Prindeville
-
-
-
-                                                                4
-
-
-
-
-
-LMTP(8)                                                   LMTP(8)
-
-
        Mirapoint, Inc.
        USA.
 
@@ -288,45 +260,7 @@ LMTP(8)                                                   LMTP(8)
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                                                5
+                                                                4
 
 
 </pre> </body> </html>
diff --git a/postfix/lmtp/CHANGES b/postfix/lmtp/CHANGES
deleted file mode 100644 (file)
index ddabbdf..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-2000 Feb 23
-
-* lmtp.c, lmtp_connect.c, global-patch: added the main.cf
-  configuration parameter "lmtp_tcp_port".  If no port is explicitly 
-  specificed for the connection to the inet LMTP server, first
-  lookup "lmtp" with getservbyname.  If that fails, use the value of 
-  this "lmtp_tcp_port" parameter, which as a default value of 24.
-
-
-2000 Feb 21
-
-* Updated lmtp.c to yield a lmtp.8 man page that more accurately
-  reflects the current code.
-
-* Created man-patch so that lmtp.8 man page is created.  Updated
-  README to include applying this patch.
-
-
-2000 Feb 17
-
-* Correctly handle lmtp master.cf arguments of type "inet".
-  Possible uses are:
-
-  _USAGE_                          _MEANING_
-  serv=inet:                       connect over tcp to $nexthop
-  serv=inet:hostname               connect to named host port 24
-                                   (Actually, what "lmtp" is defined to be
-                                   in /etc/services.)
-  serv=inet:hostname:port          connect to named host named port
-  serv=inet:[ip.address]           connect to named host port 24
-  serv=inet:[ip.address]:port      connect to named address named port
-
-
-2000 Feb 15
-
-* Put in comment about local_destination_recipient_limit
-  in README.local.
-
-* In lmtp_chat.c, changed error reporting so that it goes
-  to var_error_rcpt, like the other Postfix services.
-
-
-2000 Jan 31
-
-* lmtp_proto.c:lmtp_lhlo: Don't worry about LMTP_FEATURE_PIPELINING
-  for sessions of type LMTP_SERV_TYPE_UNIX.
-
-
-2000 Jan 30
-
-* BIG changes.  Removed all the pipe stuff from lmtp.c and
-  lmtp_connect.c  Now, lmtp will either do a remote connection much
-  like the smtp client, or it will connect to a UNIX domain socket
-  to an auxiliary service (spawn).  This makes the lmtp patch
-  simpler because it doesn't have to worry at all about exec-ing an
-  external command, and all the resulting security implications.
-  See README.local for details.  
-
-  NOTE: postfix-19991231-pl04 is REQUIRED for this to work!  
-        (Need the "spawn" service.)
-
-* Updated the makefile-patch for postfix-19991231-pl03.
-
-* lmtp.h: changed the LMTP_ATTR structure to contain "type", "class", and
-  "name" fields, reflecting the change from the pipe mechanism to
-  the local sockets connection.  Changed LMTP_SESSION to contain the 
-  "type" field.  The connection type is recorded in this field in
-  case it is needed elsewhere, like in lmtp_proto.
-
-* lmtp.c:get_service_attr altered for new command syntax.  Examples: 
-
-     serv=unix:private/lmtpd
-     serv=inet:public/lmtpd
-
-  After `serv=' is the "type", followed by `:', then the "class",
-  followed by '/', and then finally the "name".
-
-* Added SAME_DESTINATION macro to lmtp.c:deliver_message for
-  readability, and simpler logic.
-
-* lmtp_connect.c: changed lmtp_connect to contain logic to determine 
-  just what kind of connection to make, removing it from lmtp.c;
-  removed lmtp_connect_pipe; and added lmtp_connect_local, which
-  uses mail_connect_wait to connect to the service running the LMTP
-  server (spawn).  In lmtp_connect, the connection type stored in
-  attr.type is saved into session.type, so it can be used later if
-  necessary. 
-
-* lmtp_proto.c:lmtp_lhlo: towards the end of this function we check
-  to see if service->type is LMTP_SERV_TYPE_UNIX so that we don't
-  try to do a getsockopt on a descriptor that doesn't support it.
-  Is this the best way to handle this?  Or maybe we should just try
-  it and if it bombs, check the error code before simply going
-  fatal?
-
-* Snagged the latest quota_821_local.c from the smtp client.
-
-* Updated the README files accordingly.
-
-
-2000 Jan 28
-
-* Well, wondering about using REWRITE_ADDRESS in lmtp_proto.c,
-  putting the lowercase thing in there.  Though, that would also
-  apply to sender address.  Is that okay?
-
-* We shouldn't be doing DNS lookups at this stage, so can get rid
-  of lmtp_unalias.c.  Also cut out the unalias portion in 
-  REWRITE_ADDRESS in lmtp_proto.c
-
-
-2000 Jan 11
-
-* At the suggestion of Rupa Schomaker, added the following to 
-  lmtp_proto.c:
-
-            lowercase(rcpt->address);  /* [AAG] rupa */
-
-
-1999 Dec 1 (or thereabouts)
-
-* Added lmtp_session_reset to make it easier to remember to reset
-  certain things to 0.  Did this to lmtp_chat_reset too.
-
-* Finally, did some work with the connection caching so that an RSET
-  is sent to the LMTP server.  This is done for two reasons: first,
-  to tell the LMTP server to flush out any status information
-  because we're about to feed it another message, and second, to
-  test the link to see if it is still alive.  If the link has died
-  for some reason, it is reestablished.  Changes to lmtp.c and
-  lmtp_proto.c.
-
-* There was also some tidying in lmtp.c so that things were a little
-  clearer as to what was going on.  I added a few more comments as
-  well.
-
-* I tried to make the master.cf argument parsing a little more
-  consistent with the other Postfix services.  Changes to lmtp.c.
-
-* On the postfix-users mailing list, Valery Brasseur pointed out that
-  errors encountered during LMTP delivery were not getting bounced
-  as appropriate.  This lead me to investigate the matter, wanting
-  to put this LMTP capability into service myself.  I then realized
-  that some of the error checking was a tad over zealous, and so
-  simplified things a bit in lmtp_proto.c.
-
index a342037b07952c495399f28e9751dbbad32468fc..ca9e128774a94e8065e7a6b82662b688a22cf5ac 100644 (file)
@@ -1,8 +1,8 @@
 SHELL  = /bin/sh
-SRCS   = lmtp.c quote_821_local.c lmtp_connect.c lmtp_proto.c lmtp_chat.c \
-       lmtp_session.c lmtp_addr.c lmtp_trouble.c lmtp_state.c
-OBJS   = lmtp.o quote_821_local.o lmtp_connect.o lmtp_proto.o lmtp_chat.o \
-       lmtp_session.o lmtp_addr.o lmtp_trouble.o lmtp_state.o
+SRCS   = lmtp.c lmtp_connect.c lmtp_proto.c lmtp_chat.c lmtp_session.c \
+       lmtp_addr.c lmtp_trouble.c lmtp_state.c
+OBJS   = lmtp.o lmtp_connect.o lmtp_proto.o lmtp_chat.o lmtp_session.o \
+       lmtp_addr.o lmtp_trouble.o lmtp_state.o
 HDRS   = lmtp.h
 TESTSRC        = 
 WARN   = -W -Wformat -Wimplicit -Wmissing-prototypes \
@@ -21,7 +21,7 @@ $(PROG):      $(OBJS) $(LIBS)
        $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS)
 
 Makefile: Makefile.in
-       (set -e; echo "# DO NOT EDIT"; $(OPTS) sh ../makedefs; cat $?) >$@
+       (set -e; echo "# DO NOT EDIT"; $(OPTS) $(SHELL) ../makedefs; cat $?) >$@
 
 test:  $(TESTPROG)
 
@@ -64,7 +64,6 @@ lmtp.o: ../include/sys_defs.h
 lmtp.o: ../include/dict.h
 lmtp.o: ../include/vstream.h
 lmtp.o: ../include/vbuf.h
-lmtp.o: ../include/binattr.h
 lmtp.o: ../include/argv.h
 lmtp.o: ../include/msg.h
 lmtp.o: ../include/mymalloc.h
@@ -93,7 +92,6 @@ lmtp_addr.o: ../include/own_inet_addr.h
 lmtp_addr.o: ../include/dns.h
 lmtp_addr.o: lmtp.h
 lmtp_addr.o: ../include/vstream.h
-lmtp_addr.o: ../include/binattr.h
 lmtp_addr.o: ../include/argv.h
 lmtp_addr.o: ../include/deliver_request.h
 lmtp_addr.o: ../include/recipient_list.h
@@ -104,7 +102,6 @@ lmtp_chat.o: ../include/msg.h
 lmtp_chat.o: ../include/vstring.h
 lmtp_chat.o: ../include/vbuf.h
 lmtp_chat.o: ../include/vstream.h
-lmtp_chat.o: ../include/binattr.h
 lmtp_chat.o: ../include/argv.h
 lmtp_chat.o: ../include/stringops.h
 lmtp_chat.o: ../include/line_wrap.h
@@ -122,7 +119,6 @@ lmtp_connect.o: ../include/sys_defs.h
 lmtp_connect.o: ../include/msg.h
 lmtp_connect.o: ../include/vstream.h
 lmtp_connect.o: ../include/vbuf.h
-lmtp_connect.o: ../include/binattr.h
 lmtp_connect.o: ../include/vstring.h
 lmtp_connect.o: ../include/split_at.h
 lmtp_connect.o: ../include/mymalloc.h
@@ -143,7 +139,6 @@ lmtp_proto.o: ../include/msg.h
 lmtp_proto.o: ../include/vstring.h
 lmtp_proto.o: ../include/vbuf.h
 lmtp_proto.o: ../include/vstream.h
-lmtp_proto.o: ../include/binattr.h
 lmtp_proto.o: ../include/vstring_vstream.h
 lmtp_proto.o: ../include/stringops.h
 lmtp_proto.o: ../include/mymalloc.h
@@ -162,16 +157,16 @@ lmtp_proto.o: ../include/off_cvt.h
 lmtp_proto.o: ../include/mark_corrupt.h
 lmtp_proto.o: lmtp.h
 lmtp_proto.o: ../include/argv.h
-lmtp_proto.o: quote_821_local.h
+lmtp_proto.o: ../include/quote_821_local.h
 lmtp_session.o: lmtp_session.c
 lmtp_session.o: ../include/sys_defs.h
 lmtp_session.o: ../include/mymalloc.h
 lmtp_session.o: ../include/vstream.h
 lmtp_session.o: ../include/vbuf.h
-lmtp_session.o: ../include/binattr.h
+lmtp_session.o: ../include/stringops.h
+lmtp_session.o: ../include/vstring.h
 lmtp_session.o: ../include/debug_peer.h
 lmtp_session.o: lmtp.h
-lmtp_session.o: ../include/vstring.h
 lmtp_session.o: ../include/argv.h
 lmtp_session.o: ../include/deliver_request.h
 lmtp_session.o: ../include/recipient_list.h
@@ -181,7 +176,6 @@ lmtp_state.o: ../include/mymalloc.h
 lmtp_state.o: ../include/vstring.h
 lmtp_state.o: ../include/vbuf.h
 lmtp_state.o: ../include/vstream.h
-lmtp_state.o: ../include/binattr.h
 lmtp_state.o: ../include/config.h
 lmtp_state.o: ../include/mail_conf.h
 lmtp_state.o: lmtp.h
@@ -197,7 +191,6 @@ lmtp_trouble.o: ../include/stringops.h
 lmtp_trouble.o: ../include/mymalloc.h
 lmtp_trouble.o: ../include/smtp_stream.h
 lmtp_trouble.o: ../include/vstream.h
-lmtp_trouble.o: ../include/binattr.h
 lmtp_trouble.o: ../include/deliver_request.h
 lmtp_trouble.o: ../include/recipient_list.h
 lmtp_trouble.o: ../include/deliver_completed.h
@@ -207,8 +200,3 @@ lmtp_trouble.o: ../include/mail_error.h
 lmtp_trouble.o: ../include/name_mask.h
 lmtp_trouble.o: lmtp.h
 lmtp_trouble.o: ../include/argv.h
-quote_821_local.o: quote_821_local.c
-quote_821_local.o: ../include/sys_defs.h
-quote_821_local.o: ../include/vstring.h
-quote_821_local.o: ../include/vbuf.h
-quote_821_local.o: quote_821_local.h
diff --git a/postfix/lmtp/README b/postfix/lmtp/README
deleted file mode 100644 (file)
index 1d39667..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-README
-
-The starting point for this work was the original LMTP patch,
-lmtp-19990427.tar.gz, found in the experimental directory on the
-Postfix mirror ftp sites.  Without this original work by Philip A.
-Prindeville, I probably wouldn't have taken the time to dive into
-this issue.  Fortunately, this individual's work gave me a good 
-starting point to learn about LMTP, and Postfix in general.
-
-First, in the Postfix source directory, apply the following patches:
-
-  patch -p0 < lmtp/makefile-patch
-  patch -p0 < lmtp/global-patch
-  patch -p0 < lmtp/man-patch
-
-Then compile and install Postfix as usual.  There really isn't 
-anything OS specific so it should compile without problems.
-
-NOTE: Previously this patch would do a pipe to an external command
-      to perform local delivery.  That is no longer the case!  This
-      version now requires the "spawn" service be defined.  See
-      README.local for details.
-
-The other way to use this lmtp service is to talk to a remote LMTP
-server.  An example of this would be if an MX host is to insert
-incoming mail directly into a message store that supports the LMTP
-protocol.  This is described in README.inet.
-
-The file CHANGES lists some of the changes that have been made
-since lmtp-19990427.tar.gz, and TODO discusses some thoughts
-that are currently floating around.
-
-Amos
-
diff --git a/postfix/lmtp/README.inet b/postfix/lmtp/README.inet
deleted file mode 100644 (file)
index d52190f..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-README.inet
-
-This is an example of how to set up a remote LMTP server.  This can
-be useful if you have a central/firewall mail router that feeds
-incoming mail into the appropriate inbox server(s), the central box
-can stuff the incoming mail directly into the message store on the
-inbox machine using LMTP.  This also means the inbox machine doesn't
-have to have a SMTP server to handle this intermediate step.  Tidy
-all the way around.
-
-
-** Inbox Server:
-
-On the inbox server, in this case a CMU Cyrus imapd/popd server, add 
-the following to /etc/services:
-
-pop3            110/tcp                         # Cyrus POP3
-imap            143/tcp                         # Cyrus IMAP4
-lmtp            24/tcp
-
-
-Next, put the following in /etc/inetd.conf:
-
-lmtp    stream  tcp     nowait  cyrus   /usr/sbin/tcpd  /usr/local/cyrus/bin/deliver -e -l
-
-
-(/usr/sbin/tcpd is from the tcp_wrappers package.  You want this to
-make sure only your central box can do the stuffing.)
-
-
-** Central Server:
-
-Similar changes to /etc/services:
-
-lmtp            24/tcp
-
-
-Now we add this to /etc/postfix/master.cf:
-
-lmtp      unix  -       -       n       -       -       lmtp
-
-
-NOTES:  No arguments are specified to lmtp!
-        Root privs are not necessary!
-
-We put this in /etc/postfix/transport:
-
-inbox.domain.org     lmtp:inbox.domain.org
-
-
-Naturally, this means we also have to have in 
-/etc/postfix/main.cf:
-
-transport_maps      = hash:/etc/postfix/transport
-
-
-Use the map type of your choice.
-
-That's it.
-
-
-Oh, it may be necessary to apply the following patch to deliver so
-that the final "bye" is not lost.  This should not be necessary in
-releases subsequent to 1.6.20 of cyrus-imapd.
-
-*** deliver.c._orig     Tue Dec 21 11:12:47 1999
---- deliver.c   Wed Dec 22 20:12:54 1999
-***************
-*** 1753,1758 ****
---- 1753,1759 ----
-        case 'Q':
-            if (!strcasecmp(buf, "quit")) {
-                prot_printf(deliver_out,"221 2.0.0 bye\r\n");
-+               prot_flush(deliver_out);
-                exit(0);
-            }
-            goto syntaxerr;
-
-
-
index e19e590116f308ba272f2386cd85b84d3b6eba70..c5e121a5a0ef489a66bee51fc1a2c45e11013817 100644 (file)
@@ -1,3 +1,5 @@
+# script to compare common code between smtp and lmtp
+
 sed '
        s/SMTP/LMTP/g
        s/smtp/lmtp/g
index 34cf6f24066c2c6876cfe720d2ab13eb7f5b50c8..b8a1475591a27ed54053628014ed12987540ea19 100644 (file)
@@ -4,7 +4,7 @@
 /* SUMMARY
 /*     Postfix local delivery via LMTP
 /* SYNOPSIS
-/*     \fBlmtp\fR [generic Postfix daemon options] [server attributes...]
+/*     \fBlmtp\fR [generic Postfix daemon options]
 /* DESCRIPTION
 /*     The LMTP client processes message delivery requests from
 /*     the queue manager. Each request specifies a queue file, a sender
 /*     service is found, the \fBlmtp_tcp_port\fR configuration parameter
 /*     (default value of 24) will be used. The LMTP client does not perform
 /*     MX (mail exchanger) lookups since those are defined only for SMTP.
-/* SERVER ATTRIBUTE SYNTAX
-/* .ad
-/* .fi
-/*     The server attributes are given in the \fBmaster.cf\fR file at
-/*     the end of a service definition.  The syntax is as follows:
-/* .IP "\fBserver=\fR\fIhost\fR"
-/* .IP "\fBserver=\fR\fIhost\fR\fB:\fR\fIport\fR"
-/* .IP "\fBserver=[\fR\fIipaddr\fR\fB]\fR"
-/* .IP "\fBserver=[\fR\fIipaddr\fR\fB]:\fR\fIport\fR"
-/*     Connect to the specified host or IP address and TCP port (default: the
-/*     \fBlmtp\fR port as specified in the \fBservices\fR database).
-/* .PP
 /* SECURITY
 /* .ad
 /* .fi
@@ -258,43 +246,11 @@ char   *var_error_rcpt;
 int     lmtp_errno;
 static LMTP_STATE *state = 0;
 
-/* get_service_attr - get command-line attributes */
-
-static void get_service_attr(LMTP_STATE *state, char **argv)
-{
-    char   *myname = "get_service_attr";
-
-    /*
-     * Iterate over the command-line attribute list.
-     */
-    if (msg_verbose)
-       msg_info("%s: checking argv for lmtp server", myname);
-
-    for ( /* void */ ; *argv != 0; argv++) {
-
-       /*
-        * Connect to a fixed LMTP server.
-        */
-       if (strncasecmp("server=", *argv, sizeof("server=") - 1) == 0) {
-           state->fixed_dest = *argv + sizeof("server=") - 1;
-           if (state->fixed_dest[0] == 0)
-               msg_fatal("invalid destination: %s", *argv);
-       }
-
-       /*
-        * Bad.
-        */
-       else
-           msg_fatal("unknown attribute name: %s", *argv);
-    }
-}
-
 /* deliver_message - deliver message with extreme prejudice */
 
 static int deliver_message(DELIVER_REQUEST *request, char **unused_argv)
 {
     char   *myname = "deliver_message";
-    char   *destination;
     VSTRING *why;
     int     result;
 
@@ -321,7 +277,6 @@ static int deliver_message(DELIVER_REQUEST *request, char **unused_argv)
     why = vstring_alloc(100);
     state->request = request;
     state->src = request->fp;
-    destination = state->fixed_dest ? state->fixed_dest : request->nexthop;
 
     /*
      * See if we can reuse an existing connection.
@@ -330,9 +285,9 @@ static int deliver_message(DELIVER_REQUEST *request, char **unused_argv)
 
        /*
         * Disconnect if we're going to a different destination. Discard
-        * transcript and status information from sending QUIT.
+        * transcript and status information for sending QUIT.
         */
-       if (strcasecmp(state->session->dest, destination) != 0) {
+       if (strcasecmp(state->session->dest, request->nexthop) != 0) {
            lmtp_quit(state);
            lmtp_chat_reset(state);
            state->session = lmtp_session_free(state->session);
@@ -340,7 +295,7 @@ static int deliver_message(DELIVER_REQUEST *request, char **unused_argv)
 
        /*
         * Disconnect if RSET can't be sent over an existing connection.
-        * Discard transcript and status information from sending RSET.
+        * Discard transcript and status information for sending RSET.
         */
        else if (lmtp_rset(state) != 0) {
            lmtp_chat_reset(state);
@@ -369,7 +324,7 @@ static int deliver_message(DELIVER_REQUEST *request, char **unused_argv)
        /*
         * Bounce or defer the recipients if no connection can be made.
         */
-       if ((state->session = lmtp_connect(destination, why)) == 0) {
+       if ((state->session = lmtp_connect(request->nexthop, why)) == 0) {
            lmtp_site_fail(state, lmtp_errno == LMTP_RETRY ? 450 : 550,
                           "%s", vstring_str(why));
        }
@@ -395,7 +350,8 @@ static int deliver_message(DELIVER_REQUEST *request, char **unused_argv)
        lmtp_xfer(state);
 
     /*
-     * Optionally, notify the postmaster of problems.
+     * Optionally, notify the postmaster of problems with establishing a
+     * session or with delivering mail.
      */
     if (state->history != 0
     && (state->error_mask & name_mask(mail_error_masks, var_notify_classes)))
@@ -403,9 +359,9 @@ static int deliver_message(DELIVER_REQUEST *request, char **unused_argv)
 
     /*
      * Disconnect if we're not cacheing connections. The pipelined protocol
-     * state machine knows to send QUIT as appropriate.
+     * state machine knows if it should have sent a QUIT command.
      */
-    if (!var_lmtp_cache_conn && state->session != 0)
+    if (state->session != 0 && !var_lmtp_cache_conn)
        state->session = lmtp_session_free(state->session);
 
     /*
@@ -441,10 +397,9 @@ static void lmtp_service(VSTREAM *client_stream, char *unused_service, char **ar
 
 /* post_init - post-jail initialization */
 
-static void post_init(char *unused_name, char **argv)
+static void post_init(char *unused_name, char **unused_argv)
 {
     state = lmtp_state_alloc();
-    get_service_attr(state, argv);
 }
 
 /* pre_init - pre-jail initialization */
index 04faa6e8be33cdbab21658b23aa1bcd9411e6fd9..241b248d2e9eba30c4eaf42b1c475372821ff6d4 100644 (file)
@@ -38,7 +38,6 @@ typedef struct LMTP_STATE {
     int     sndbufsize;                        /* total window size */
     int     sndbuffree;                        /* remaining window */
     int     reuse;                     /* connection being reused */
-    char   *fixed_dest;                        /* fixed remote server */
 } LMTP_STATE;
 
 #define LMTP_FEATURE_ESMTP     (1<<0)
index 72bc77db33ab5a407a89d4537f673fce5c5ebf97..6c6c3259e8b9823dbd146184648cb8313926d075 100644 (file)
@@ -166,7 +166,7 @@ static DNS_RR *lmtp_addr_one(DNS_RR *addr_list, char *host, unsigned pref, VSTRI
     /*
      * Append the addresses for this host to the address list.
      */
-    switch (dns_lookup(host, T_A, 0, &addr, (VSTRING *) 0, why)) {
+    switch (dns_lookup(host, T_A, RES_DEFNAMES, &addr, (VSTRING *) 0, why)) {
     case DNS_OK:
        for (rr = addr; rr; rr = rr->next)
            rr->pref = pref;
index e4396bf8a353d3ce3e31af070b5a1a6747f3f3c6..2366d63059a12bdcadb56c1952688ce5b3be6d55 100644 (file)
@@ -32,7 +32,8 @@
 /*
 /*     lmtp_rset() sends a lone RSET command and waits for the response.
 /*
-/*     lmtp_quit() sends a lone QUIT command and waits for the response.
+/*     lmtp_quit() sends a lone QUIT command and waits for the response
+/*     only if waiting for QUIT replies is enabled.
 /* DIAGNOSTICS
 /*     lmtp_lhlo(), lmtp_xfer(), lmtp_rset() and lmtp_quit() return 0 in
 /*     case of success, -1 in case of failure. For lmtp_xfer(), lmtp_rset()
@@ -258,7 +259,7 @@ int     lmtp_lhlo(LMTP_STATE *state)
 
 /* lmtp_loop - the LMTP state machine */
 
-static int lmtp_loop(LMTP_STATE *state, int init_state)
+static int lmtp_loop(LMTP_STATE *state, int send_state, int recv_state)
 {
     char   *myname = "lmtp_loop";
     DELIVER_REQUEST *request = state->request;
@@ -269,8 +270,6 @@ static int lmtp_loop(LMTP_STATE *state, int init_state)
     int    *survivors = 0;
     int     next_state;
     int     next_rcpt;
-    int     send_state;
-    int     recv_state;
     int     send_rcpt;
     int     recv_rcpt;
     int     nrcpt;
@@ -324,7 +323,6 @@ static int lmtp_loop(LMTP_STATE *state, int init_state)
      * LMTP dialog with RSET.
      */
     nrcpt = 0;
-    recv_state = send_state = init_state;
     next_rcpt = send_rcpt = recv_rcpt = recv_dot = 0;
     mail_from_rejected = 0;
     sndbuffree = state->sndbufsize;
@@ -545,7 +543,7 @@ static int lmtp_loop(LMTP_STATE *state, int init_state)
                    if (++recv_dot >= nrcpt) {
                        if (msg_verbose)
                            msg_info("%s: finished . command", myname);
-                       recv_state = var_lmtp_cache_conn ?
+                       recv_state = var_lmtp_skip_quit_resp || var_lmtp_cache_conn ?
                            LMTP_STATE_LAST : LMTP_STATE_QUIT;
                    }
                    break;
@@ -554,7 +552,7 @@ static int lmtp_loop(LMTP_STATE *state, int init_state)
                     * Ignore the RSET response.
                     */
                case LMTP_STATE_ABORT:
-                   recv_state = var_lmtp_cache_conn ?
+                   recv_state = var_lmtp_skip_quit_resp || var_lmtp_cache_conn ?
                        LMTP_STATE_LAST : LMTP_STATE_QUIT;
                    break;
 
@@ -662,19 +660,20 @@ static int lmtp_loop(LMTP_STATE *state, int init_state)
 
 int     lmtp_xfer(LMTP_STATE *state)
 {
-    return (lmtp_loop(state, LMTP_STATE_MAIL));
+    return (lmtp_loop(state, LMTP_STATE_MAIL, LMTP_STATE_MAIL));
 }
 
-/* lmtp_rset - send a lone RSET command */
+/* lmtp_rset - send a lone RSET command and wait for response */
 
 int     lmtp_rset(LMTP_STATE *state)
 {
-    return (lmtp_loop(state, LMTP_STATE_RSET));
+    return (lmtp_loop(state, LMTP_STATE_RSET, LMTP_STATE_RSET));
 }
 
 /* lmtp_quit - send a lone QUIT command */
 
 int     lmtp_quit(LMTP_STATE *state)
 {
-    return (lmtp_loop(state, LMTP_STATE_QUIT));
+    return (lmtp_loop(state, LMTP_STATE_QUIT, var_lmtp_skip_quit_resp ?
+                     LMTP_STATE_LAST : LMTP_STATE_QUIT));
 }
index c0ae6a45b70860a0cf5493c5782bbc07b4c225fa..7a962660999969cdbeee531dd04c2982267f8975 100644 (file)
@@ -78,7 +78,6 @@ LMTP_STATE *lmtp_state_alloc(void)
     state->sndbufsize = 0;
     state->sndbuffree = 0;
     state->reuse = 0;
-    state->fixed_dest = 0;
     return (state);
 }
 
diff --git a/postfix/lmtp/mail b/postfix/lmtp/mail
deleted file mode 100644 (file)
index 35b9743..0000000
+++ /dev/null
@@ -1,753 +0,0 @@
-From wietse@porcupine.org  Sat Apr 15 10:47:09 2000
-Return-Path: <wietse@porcupine.org>
-Delivered-To: wietse@hades.porcupine.org
-Received: from spike.porcupine.org (spike.porcupine.org [168.100.189.2])
-       by hades.porcupine.org (Postfix) with ESMTP id 567DC18A54
-       for <wietse@hades.porcupine.org>; Sat, 15 Apr 2000 10:47:09 -0400 (EDT)
-Received: by spike.porcupine.org (Postfix, from userid 100)
-       id BE9C14563D; Sat, 15 Apr 2000 10:47:08 -0400 (EDT)
-Delivered-To: wietse@porcupine.org
-Received: from ns0.utdallas.edu (ns0.utdallas.edu [129.110.10.1])
-       by spike.porcupine.org (Postfix) with ESMTP id E91E045630
-       for <wietse@porcupine.org>; Sat, 15 Apr 2000 09:37:17 -0400 (EDT)
-Received: from spartacus.utdallas.edu (spartacus.utdallas.edu [129.110.3.11])
-       by ns0.utdallas.edu (Postfix) with SMTP id 7D0601A00B9
-       for <wietse@porcupine.org>; Sat, 15 Apr 2000 08:36:35 -0500 (CDT)
-To: Wietse Venema <wietse@porcupine.org>
-Subject: [Markku Järvinen <Markku.Jarvinen@tpo.fi>] postfix lmtp
-From: Amos Gouaux <amos@utdallas.edu>
-Date: 15 Apr 2000 08:37:54 -0500
-Message-ID: <q6m66tj32od.fsf@spartacus.utdallas.edu>
-Lines: 73
-User-Agent: Gnus/5.0804 (Gnus v5.8.4) XEmacs/21.1 (Bryce Canyon)
-MIME-Version: 1.0
-Content-Type: multipart/mixed; boundary="=-=-="
-Sender: wietse@porcupine.org
-Status: ROr
-
---=-=-=
-
-I suspect you've already dealt with this one during the merging, but
-forwarding in case not.
-
-I do recall one reason why I just inserted RSET into the state
-machine as I did--I wanted to check the response.  Though, this is
-easily remedied by having a mini state machine in the lmtp_rset
-function.
-
-I guess I thought that having RSET in the state machine would be
-okay because of this:
-
-            while ((rec_type = rec_get(state->src, state->scratch, 0)) > 0) {
-                if (rec_type != REC_TYPE_NORM && rec_type != REC_TYPE_CONT)
-                    break;
-                if (prev_type != REC_TYPE_CONT)
-                    if (vstring_str(state->scratch)[0] == '.')
-                        smtp_fputc('.', session->stream);
-                if (rec_type == REC_TYPE_CONT)
-                    smtp_fwrite(vstring_str(state->scratch),
-                                VSTRING_LEN(state->scratch),
-                                session->stream);
-                else
-                    smtp_fputs(vstring_str(state->scratch),
-                               VSTRING_LEN(state->scratch),
-                               session->stream);
-                prev_type = rec_type;
-            }
-
-Wouldn't this just suck in the entire message text, then put a '.'
-into the dialog?  How would a RSET in the message text jumble up the
-state machine?
-
-Amos
-
-
-
---=-=-=
-Content-Type: message/rfc822; charset=""
-Content-Disposition: inline
-Content-Transfer-Encoding: quoted-printable
-
-Return-Path: <markku.jarvinen@tpo.fi>
-X-Sieve: cmu-sieve 1.3
-Received: from antivirus.tpo.fi (ns3.tpo.fi [212.63.10.250])
-       by ns0.utdallas.edu (Postfix) with ESMTP id 0700019FFF2
-       for <amos@utdallas.edu>; Fri, 14 Apr 2000 04:14:18 -0500 (CDT)
-Received: from ky.tpo.fi (localhost [127.0.0.1])
-       by antivirus.tpo.fi (8.9.3/8.9.3) with ESMTP id MAA09192
-       for <amos@utdallas.edu>; Fri, 14 Apr 2000 12:14:51 +0300 (EET DST)
-Rec=
-eived: from mtaj (home-f.ttk.tpo.fi [212.63.14.2])
-       by ky.tpo.fi (Postfix) with SMTP id 801AFF568
-       for <amos@utdallas.edu>; Fri, 14 Apr 2000 12:14:50 +0300 (EET DST)
-Mes=
-sage-ID: <05f601bfa5f1$bb2097c0$69fd1fac@ttk.tpo.fi>
-From: Markku J=E4rvinen <Markku.Jarvinen@tpo.fi>
-To: <amos@utdallas.edu>
-Subject: postfix lmtp
-Date: Fri, 14 Apr 2000 12:13:42 +0300
-MIME-Version: 1.0
-Content-Type: text/plain;
-       charset=3D"iso-8859-1"
-Content-Transfer-Encoding: 7bit
-X-Priority: 3
-X-MSMail-Priority: Normal
-X-Mailer: Microsoft Outlook Express 5.00.2919.6600
-X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600
-
-Hi!
-
-In line 349 of lmtp_proto.c you just print the sender into LMTP-transac=
-tion.
-vstring_sprintf(next_command, "MAIL FROM:<%s>", request->sender);
-This fails when the sender address has spaces in it, you should first r=
-un it
-through quota_821_local to get it into the right format for LMTP (same =
-as
-SMTP).
-
-    - Markku
-
-
-
---=-=-=--
-
-
-
-
-From wietse@porcupine.org  Sat Feb 26 09:17:05 2000
-Return-Path: <wietse@porcupine.org>
-Delivered-To: wietse@hades.porcupine.org
-Received: from spike.porcupine.org (spike.porcupine.org [168.100.189.2])
-       by hades.porcupine.org (Postfix) with ESMTP id E0D7F1886D
-       for <wietse@hades.porcupine.org>; Sat, 26 Feb 2000 09:17:04 -0500 (EST)
-Received: by spike.porcupine.org (Postfix, from userid 100)
-       id A520145659; Sat, 26 Feb 2000 09:17:04 -0500 (EST)
-Delivered-To: wietse@porcupine.org
-Received: from ns0.utdallas.edu (ns0.utdallas.edu [129.110.10.1])
-       by spike.porcupine.org (Postfix) with ESMTP id 5773F45657
-       for <wietse@porcupine.org>; Fri, 25 Feb 2000 19:41:51 -0500 (EST)
-Received: from spartacus.utdallas.edu (spartacus.utdallas.edu [129.110.3.11])
-       by ns0.utdallas.edu (Postfix) with SMTP id 782F91A00D7
-       for <wietse@porcupine.org>; Fri, 25 Feb 2000 18:04:16 -0600 (CST)
-To: wietse@porcupine.org (Wietse Venema)
-Subject: Re: lmtp update
-References: <20000221181534.11F7C45659@spike.porcupine.org>
-From: Amos Gouaux <amos@utdallas.edu>
-Date: 25 Feb 2000 18:04:54 -0600
-In-Reply-To: wietse@porcupine.org's message of "Mon, 21 Feb 2000 13:15:34 -0500 (EST)"
-Message-ID: <q6mitzcvnfd.fsf@spartacus.utdallas.edu>
-Lines: 6
-User-Agent: Gnus/5.0804 (Gnus v5.8.4) XEmacs/21.1 (Bryce Canyon)
-MIME-Version: 1.0
-Content-Type: multipart/mixed; boundary="=-=-="
-Sender: wietse@porcupine.org
-Status: RO
-
---=-=-=
-
-How's this?
-
-Amos
-
-
---=-=-=
-Content-Disposition: attachment; filename=lmtp-man
-Content-Description: lmtp-man
-
-.TH LMTP 8 
-.ad
-.fi
-.SH NAME
-lmtp
-\-
-Postfix local delivery via LMTP
-.SH SYNOPSIS
-.na
-.nf
-\fBlmtp\fR [generic Postfix daemon options] [server attributes...]
-.SH DESCRIPTION
-.ad
-.fi
-The LMTP client processes message delivery requests from
-the queue manager. Each request specifies a queue file, a sender
-address, a domain or host to deliver to, and recipient information.
-This program expects to be run from the \fBmaster\fR(8) process
-manager.
-
-The LMTP client updates the queue file and marks recipients
-as finished, or it informs the queue manager that delivery should
-be tried again at a later time. Delivery problem reports are sent
-to the \fBbounce\fR(8) or \fBdefer\fR(8) daemon as appropriate.
-
-There are two basic modes of operation for the LMTP client:
-.IP \(bu
-Communication with a local LMTP server via UNIX domain sockets.
-.IP \(bu
-Communication with a (possibly remote) LMTP server via
-Internet sockets.
-.PP
-If no server attributes are specified, the LMTP client will contact
-the destination host derived from the message delivery request using
-the TCP port defined as \fBlmtp\fR in \fBservices\fR(4).  If no such
-service is found, the \fBlmtp_tcp_port\fR configuration parameter
-(default value of 24) will be used.
-
-In order to use a local LMTP server, this LMTP server will need to
-be specified via the server attributes described in the following
-section.  Typically, the LMTP client would also be configured as the
-\fBlocal\fR delivery agent in the \fBmaster.cf\fR file.
-.SH SERVER ATTRIBUTE SYNTAX
-.na
-.nf
-.ad
-.fi
-The server attributes are given in the \fBmaster.cf\fR file at
-the end of a service definition.  The syntax is as follows:
-.IP "\fBserv\fR=\fItype\fR:\fIserver\fR"
-The LMTP server to connect to for final delivery.  The \fItype\fR
-portion can be either \fBunix\fR or \fBinet\fR. The \fIserver\fR
-portion is the path or address of the LMTP server, depending on the
-value of \fItype\fR, as shown below:
-.RS
-.IP "\fBserv=unix:\fR\fIclass\fR\fB/\fR\fIservname\fR"
-This specifies that the local LMTP server \fIservname\fR should be
-contacted for final delivery.  Both \fIclass\fR (either \fBpublic\fR
-or \fBprivate\fR) and \fIservname\fR correspond to the LMTP server
-entry in the \fBmaster.cf\fR file.  This LMTP server will likely
-be defined as a \fBspawn\fR(8) service.
-.IP "\fBserv=inet:"
-If nothing follows the \fBinet:\fR type specifier, a connection will
-be attempted to the destination host indicated in the delivery request.
-This simplest case is identical to defining the LMTP client without
-any server attributes at all.
-.IP "\fBserv=inet:\fR\fIaddress\fR"
-In this case, an Internet socket will be made to the server
-specified by \fIaddress\fR.  The connection will use a destination
-port as described in the previous section.
-.IP "\fBserv=inet:\fR\fIaddress\fR\fB:\fR\fIport\fR"
-Connect to the LMTP server at \fIaddress\fR, but this time use port
-\fIport\fR instead of the default \fBlmtp\fR port.
-.IP "\fBserv=inet:[\fR\fIipaddr\fR\fB]\fR"
-The LMTP server to contact is specified using an Internet address
-in the "dot notation".  That is, the numeric IP address rather
-than the DNS name for the server.  The default \fBlmtp\fR port
-is used.
-.IP "\fBserv=inet:[\fR\fIipaddr\fR\fB]:\fR\fIport\fR"
-The LMTP server to contact is specified using the numeric IP address,
-at the port specified.
-.RE
-.PP
-.SH SECURITY
-.na
-.nf
-.ad
-.fi
-The LMTP client is moderately security-sensitive. It talks to LMTP
-servers and to DNS servers on the network. The LMTP client can be
-run chrooted at fixed low privilege.
-.SH STANDARDS
-.na
-.nf
-RFC 2033 (LMTP protocol)
-RFC 821 (SMTP protocol)
-RFC 1651 (SMTP service extensions)
-RFC 1870 (Message Size Declaration)
-RFC 2197 (Pipelining)
-.SH DIAGNOSTICS
-.ad
-.fi
-Problems and transactions are logged to \fBsyslogd\fR(8).
-Corrupted message files are marked so that the queue manager can
-move them to the \fBcorrupt\fR queue for further inspection.
-
-Depending on the setting of the \fBnotify_classes\fR parameter,
-the postmaster is notified of bounces, protocol problems, and of
-other trouble.
-.SH BUGS
-.ad
-.fi
-.SH CONFIGURATION PARAMETERS
-.na
-.nf
-.ad
-.fi
-The following \fBmain.cf\fR parameters are especially relevant to
-this program. See the Postfix \fBmain.cf\fR file for syntax details
-and for default values. Use the \fBpostfix reload\fR command after
-a configuration change.
-.SH Miscellaneous
-.ad
-.fi
-.IP \fBdebug_peer_level\fR
-Verbose logging level increment for hosts that match a
-pattern in the \fBdebug_peer_list\fR parameter.
-.IP \fBdebug_peer_list\fR
-List of domain or network patterns. When a remote host matches
-a pattern, increase the verbose logging level by the amount
-specified in the \fBdebug_peer_level\fR parameter.
-.IP \fBerror_notice_recipient\fR
-Recipient of protocol/policy/resource/software error notices.
-.IP \fBnotify_classes\fR
-When this parameter includes the \fBprotocol\fR class, send mail to the
-postmaster with transcripts of LMTP sessions with protocol errors.
-.IP \fBlmtp_skip_quit_response\fR
-Do not wait for the server response after sending QUIT.
-.IP \fBlmtp_tcp_port\fR
-The TCP port to be used when connecting to a LMTP server.  Used as
-backup if the \fBlmtp\fR service is not found in \fBservices\fR(4).
-.SH "Resource controls"
-.ad
-.fi
-.IP \fBlmtp_cache_connection\fR
-Should we cache the connection to the LMTP server? The effectiveness
-of cached connections will be determined by the number of LMTP servers
-in use, and the concurrency limit specified for the LMTP client.
-Cached connections are closed under any of the following conditions:
-.RS
-.IP \(bu
-The idle timeout for the LMTP client is reached. This limit is
-enforced by \fBmaster\fR(8).
-.IP \(bu
-A message request to a different destination than the one currently
-cached.
-.IP \(bu
-The maximum number of requests per session is reached. This limit is
-enforced by \fBmaster\fR(8).
-.IP \(bu
-Upon the onset of another delivery request, the LMTP server associated
-with the current session does not respond to the \fBRSET\fR command.
-.RE
-.IP \fBlmtp_destination_concurrency_limit\fR
-Limit the number of parallel deliveries to the same destination.
-The default limit is taken from the
-\fBdefault_destination_concurrency_limit\fR parameter.
-.IP \fBlmtp_destination_recipient_limit\fR
-Limit the number of recipients per message delivery.
-The default limit is taken from the
-\fBdefault_destination_recipient_limit\fR parameter.
-.IP \fBlocal_destination_recipient_limit\fR
-Limit the number of recipients per message delivery.
-The default limit is taken from the
-\fBdefault_destination_recipient_limit\fR parameter.
-
-This parameter becomes significant if the LMTP client is used
-for local delivery.  Some LMTP servers can optimize final delivery
-if multiple recipients are allowed.  Therefore, it may be advantageous
-to set this to some number greater than one, depending on the capabilities
-of the machine.
-
-Setting this parameter to 0 will lead to an unlimited number of
-recipients per delivery.  However, this could be risky since it may
-make the machine vulnerable to running out of resources if messages
-are encountered with an inordinate number of recipients.  Exercise
-care when setting this parameter.
-.SH "Timeout controls"
-.ad
-.fi
-.IP \fBlmtp_connect_timeout\fR
-Timeout in seconds for opening a connection to the LMTP server.
-If no connection can be made within the deadline, the message
-is deferred.
-.IP \fBlmtp_lhlo_timeout\fR
-Timeout in seconds for sending the \fBLHLO\fR command, and for
-receiving the server response.
-.IP \fBlmtp_mail_timeout\fR
-Timeout in seconds for sending the \fBMAIL FROM\fR command, and for
-receiving the server response.
-.IP \fBlmtp_rcpt_timeout\fR
-Timeout in seconds for sending the \fBRCPT TO\fR command, and for
-receiving the server response.
-.IP \fBlmtp_data_init_timeout\fR
-Timeout in seconds for sending the \fBDATA\fR command, and for
-receiving the server response.
-.IP \fBlmtp_data_xfer_timeout\fR
-Timeout in seconds for sending the message content.
-.IP \fBlmtp_data_done_timeout\fR
-Timeout in seconds for sending the "\fB.\fR" command, and for
-receiving the server response. When no response is received, a
-warning is logged that the mail may be delivered multiple times.
-.IP \fBlmtp_rset_timeout\fR
-Timeout in seconds for sending the \fBRSET\fR command, and for
-receiving the server response.
-.IP \fBlmtp_quit_timeout\fR
-Timeout in seconds for sending the \fBQUIT\fR command, and for
-receiving the server response.
-.SH SEE ALSO
-.na
-.nf
-bounce(8) non-delivery status reports
-local(8) local mail delivery
-master(8) process manager
-qmgr(8) queue manager
-services(4) Internet services and aliases
-spawn(8) auxiliary command spawner
-syslogd(8) system logging
-.SH LICENSE
-.na
-.nf
-.ad
-.fi
-The Secure Mailer license must be distributed with this software.
-.SH AUTHOR(S)
-.na
-.nf
-Wietse Venema
-IBM T.J. Watson Research
-P.O. Box 704
-Yorktown Heights, NY 10598, USA
-
-Alterations for LMTP by:
-Philip A. Prindeville
-Mirapoint, Inc.
-USA.
-
-Additional work on LMTP by:
-Amos Gouaux
-University of Texas at Dallas
-P.O. Box 830688, MC34
-Richardson, TX 75083, USA
-
---=-=-=--
-
-
-
-
-From wietse@porcupine.org  Sat Feb  5 09:32:03 2000
-Return-Path: <wietse@porcupine.org>
-Delivered-To: wietse@hades.porcupine.org
-Received: from spike.porcupine.org (spike.porcupine.org [168.100.189.2])
-       by hades.porcupine.org (Postfix) with ESMTP id A7661188A7
-       for <wietse@hades.porcupine.org>; Sat,  5 Feb 2000 09:32:03 -0500 (EST)
-Received: by spike.porcupine.org (Postfix, from userid 100)
-       id 700394563E; Sat,  5 Feb 2000 09:32:03 -0500 (EST)
-Delivered-To: wietse@porcupine.org
-Received: from ns0.utdallas.edu (ns0.utdallas.edu [129.110.10.1])
-       by spike.porcupine.org (Postfix) with ESMTP id 605FE4563C
-       for <wietse@porcupine.org>; Mon, 31 Jan 2000 18:35:02 -0500 (EST)
-Received: from spartacus.utdallas.edu (spartacus.utdallas.edu [129.110.3.11])
-       by ns0.utdallas.edu (Postfix) with SMTP id 02E4C1A005D
-       for <wietse@porcupine.org>; Mon, 31 Jan 2000 17:34:59 -0600 (CST)
-To: wietse@porcupine.org (Wietse Venema)
-Subject: Re: lmtp-20000130.tar.gz
-References: <20000131225228.008114563F@spike.porcupine.org>
-From: Amos Gouaux <amos@utdallas.edu>
-Date: 31 Jan 2000 17:35:34 -0600
-In-Reply-To: wietse@porcupine.org's message of "Mon, 31 Jan 2000 17:52:28 -0500 (EST)"
-Message-ID: <q6mzotlvmpl.fsf@spartacus.utdallas.edu>
-Lines: 119
-User-Agent: Gnus/5.0803 (Gnus v5.8.3) XEmacs/21.1 (Bryce Canyon)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Sender: wietse@porcupine.org
-Status: O
-
->>>>> On Mon, 31 Jan 2000 17:52:28 -0500 (EST),
->>>>> Wietse Venema <wietse@porcupine.org> (wv) writes:
-
-wv> For local transports, command pipelining does not have the benefit
-wv> that it has for TCP over non-local connections.
-
-So in other words I was making things too complicated.  
-Figures.  I have a knack for doing that.
-
-I've updated alpha-lmtp.tar.gz again.
-
-Here's the CHANGES file:
-
-
-2000 Jan 31
-
-* lmtp_proto.c:lmtp_lhlo: Don't worry about LMTP_FEATURE_PIPELINING
-  for sessions of type LMTP_SERV_TYPE_UNIX.
-
-
-2000 Jan 30
-
-* BIG changes.  Removed all the pipe stuff from lmtp.c and
-  lmtp_connect.c  Now, lmtp will either do a remote connection much
-  like the smtp client, or it will connect to a UNIX domain socket
-  to an auxiliary service (spawn).  This makes the lmtp patch
-  simpler because it doesn't have to worry at all about exec-ing an
-  external command, and all the resulting security implications.
-  See README.local for details.  
-
-  NOTE: postfix-19991231-pl04 is REQUIRED for this to work!  
-        (Need the "spawn" service.)
-
-* Updated the makefile-patch for postfix-19991231-pl03.
-
-* lmtp.h: changed the LMTP_ATTR structure to contain "type", "class", and
-  "name" fields, reflecting the change from the pipe mechanism to
-  the local sockets connection.  Changed LMTP_SESSION to contain the 
-  "type" field.  The connection type is recorded in this field in
-  case it is needed elsewhere, like in lmtp_proto.
-
-* lmtp.c:get_service_attr altered for new command syntax.  Examples: 
-
-     serv=unix:private/lmtpd
-     serv=inet:public/lmtpd
-
-  After `serv=' is the "type", followed by `:', then the "class",
-  followed by '/', and then finally the "name".
-
-* Added SAME_DESTINATION macro to lmtp.c:deliver_message for
-  readability, and simpler logic.
-
-* lmtp_connect.c: changed lmtp_connect to contain logic to determine 
-  just what kind of connection to make, removing it from lmtp.c;
-  removed lmtp_connect_pipe; and added lmtp_connect_local, which
-  uses mail_connect_wait to connect to the service running the LMTP
-  server (spawn).  In lmtp_connect, the connection type stored in
-  attr.type is saved into session.type, so it can be used later if
-  necessary. 
-
-* lmtp_proto.c:lmtp_lhlo: towards the end of this function we check
-  to see if service->type is LMTP_SERV_TYPE_UNIX so that we don't
-  try to do a getsockopt on a descriptor that doesn't support it.
-  Is this the best way to handle this?  Or maybe we should just try
-  it and if it bombs, check the error code before simply going
-  fatal?
-
-* Snagged the latest quota_821_local.c from the smtp client.
-
-* Updated the README files accordingly.
-
-
-2000 Jan 28
-
-* Well, wondering about using REWRITE_ADDRESS in lmtp_proto.c,
-  putting the lowercase thing in there.  Though, that would also
-  apply to sender address.  Is that okay?
-
-* We shouldn't be doing DNS lookups at this stage, so can get rid
-  of lmtp_unalias.c.  Also cut out the unalias portion in 
-  REWRITE_ADDRESS in lmtp_proto.c
-
-
-2000 Jan 11
-
-* At the suggestion of Rupa Schomaker, added the following to 
-  lmtp_proto.c:
-
-            lowercase(rcpt->address);  /* [AAG] rupa */
-
-
-1999 Dec 1 (or thereabouts)
-
-* Added lmtp_session_reset to make it easier to remember to reset
-  certain things to 0.  Did this to lmtp_chat_reset too.
-
-* Finally, did some work with the connection caching so that an RSET
-  is sent to the LMTP server.  This is done for two reasons: first,
-  to tell the LMTP server to flush out any status information
-  because we're about to feed it another message, and second, to
-  test the link to see if it is still alive.  If the link has died
-  for some reason, it is reestablished.  Changes to lmtp.c and
-  lmtp_proto.c.
-
-* There was also some tidying in lmtp.c so that things were a little
-  clearer as to what was going on.  I added a few more comments as
-  well.
-
-* I tried to make the master.cf argument parsing a little more
-  consistent with the other Postfix services.  Changes to lmtp.c.
-
-* On the postfix-users mailing list, Valery Brasseur pointed out that
-  errors encountered during LMTP delivery were not getting bounced
-  as appropriate.  This lead me to investigate the matter, wanting
-  to put this LMTP capability into service myself.  I then realized
-  that some of the error checking was a tad over zealous, and so
-  simplified things a bit in lmtp_proto.c.
-
-
-
-
-
-
-From wietse@porcupine.org  Wed Dec  8 19:50:01 1999
-Return-Path: <wietse@porcupine.org>
-Delivered-To: wietse@hades.porcupine.org
-Received: from spike.porcupine.org (spike.porcupine.org [168.100.189.2])
-       by hades.porcupine.org (Postfix) with ESMTP id D83EE18868
-       for <wietse@hades.porcupine.org>; Wed,  8 Dec 1999 19:50:00 -0500 (EST)
-Received: by spike.porcupine.org (Postfix, from userid 100)
-       id 827F645AFB; Wed,  8 Dec 1999 10:51:18 -0500 (EST)
-Delivered-To: wietse@porcupine.org
-Received: from ns0.utdallas.edu (ns0.utdallas.edu [129.110.10.1])
-       by spike.porcupine.org (Postfix) with ESMTP id 90E1A457F8
-       for <wietse@porcupine.org>; Tue,  7 Dec 1999 11:37:16 -0500 (EST)
-Received: from spartacus.utdallas.edu (spartacus.utdallas.edu [129.110.3.11])
-       by ns0.utdallas.edu (Postfix) with SMTP id 139E719FFFE
-       for <wietse@porcupine.org>; Tue,  7 Dec 1999 10:37:02 -0600 (CST)
-To: wietse@porcupine.org (Wietse Venema)
-Subject: Re: LMTP stuff
-References: <19991206162939.1C9BB458EB@spike.porcupine.org>
-From: Amos Gouaux <amos+lists.postfix@utdallas.edu>
-Date: 07 Dec 1999 10:37:25 -0600
-In-Reply-To: wietse@porcupine.org's message of "Mon, 6 Dec 1999 11:29:38 -0500 (EST)"
-Message-ID: <q6m7liqiu62.fsf@spartacus.utdallas.edu>
-Lines: 46
-User-Agent: Gnus/5.070099 (Pterodactyl Gnus v0.99) XEmacs/21.1 (Bryce Canyon)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Sender: wietse@porcupine.org
-Status: RO
-
-Okay, I put out the following tar file:
-
-ftp://ftp.utdallas.edu/pub/staff/amos/postfix/lmtp-19990427-02.tar.gz
-
-It's not quite as tidy as I would like it, and hope to eventually
-make it.  I've been making changes gradually, in part because it
-might be fun to play with the connection caching later, and in part
-because I'm new to the internals of Postfix.  Speaking of which, I
-must say it has been a real pleasure poking around this code.  It's
-fascinating to see how you've created this infrastructure by which
-all the various components communicate with one another.  Pretty
-slick stuff.  Very educational too.
-
-Most of the changes are in lmtp_proto.c and lmtp.c.  I noticed in
-the former that he's passing status around a lot, using the
-recv_state and send_state members instead of using local vars for
-these values.  I'm guess that was to keep track of the state
-throughout the connection caching.  I left that as is.
-
-In lmtp.c I removed the for loop he had, and parse the argv in a
-separate function to make it a bit cleaner.  I'm assuming that with
-the lmtp service there won't be much of a need to expand the argv
-like it is with the pipe service, correct?  
-
-After seeing one of your posts yesterday about the nexthop arg to
-pipe, I'm wondering if this lmtp should support that as well.  I
-noticed in the LMTP RFC that this LMTP can either be a local
-program, or communicate to a "Gateway Delivery Agent".  If there was
-a nexthop arg to lmtp, folks could specify this gateway host there.
-Or, they could use the transport map and not define any args to lmtp
-at all.
-
-It's amazing how much time can be consumed just contemplating what
-args should be permissible, and what's the most efficient way to
-process them.  I was even wondering, if no variable expansion should
-take place, if `LMTP_ATTR attr' should be global, and the call to
-get_service_attr placed in a function pointed to by
-MAIL_SERVER_PRE_INIT so it's only invoked once.  Still more things
-to learn.  
-
-Oh well, I've flung quite a bit mail at this thing and it seems to
-be handling it fine.  So perhaps it will at least be sufficient to
-satisfy folks for the time being.
-
-Amos
-
-
-
-
-
-From wietse@porcupine.org  Tue Nov 23 18:09:44 1999
-Return-Path: <wietse@porcupine.org>
-Delivered-To: wietse@hades.porcupine.org
-Received: from spike.porcupine.org (spike.porcupine.org [168.100.189.2])
-       by hades.porcupine.org (Postfix) with ESMTP id BD43F18864
-       for <wietse@hades.porcupine.org>; Tue, 23 Nov 1999 18:09:44 -0500 (EST)
-Received: by spike.porcupine.org (Postfix, from userid 100)
-       id 4CC0445A9B; Tue, 23 Nov 1999 13:24:06 -0500 (EST)
-Delivered-To: wietse@porcupine.org
-Received: from russian-caravan.cloud9.net (russian-caravan.cloud9.net [168.100.1.4])
-       by spike.porcupine.org (Postfix) with ESMTP id 979F145A9A
-       for <wietse@porcupine.org>; Tue, 23 Nov 1999 13:19:06 -0500 (EST)
-Received: by russian-caravan.cloud9.net (Postfix)
-       id AE6E576434; Tue, 23 Nov 1999 13:16:34 -0500 (EST)
-Delivered-To: postfix-users-outgoing@cloud9.net
-Received: by russian-caravan.cloud9.net (Postfix, from userid 54)
-       id 340DA76423; Tue, 23 Nov 1999 13:16:34 -0500 (EST)
-Delivered-To: postfix-users@cloud9.net
-Received: from atn01.axime.com (atn01.axime.com [160.92.1.141])
-       by russian-caravan.cloud9.net (Postfix) with ESMTP id 32BE6763C6
-       for <postfix-users@postfix.org>; Tue, 23 Nov 1999 13:16:32 -0500 (EST)
-Received: from atos-group.com (sys-pc21.segin.com [172.18.2.119])
-       by atn01.axime.com (8.8.8/8.8.8[Atos Multimedia]) with ESMTP id TAA25333;
-       Tue, 23 Nov 1999 19:16:20 +0100 (MET)
-Message-ID: <383AD9F2.8915CCA6@atos-group.com>
-Date: Tue, 23 Nov 1999 18:16:18 +0000
-From: valery brasseur <vbrasseur@atos-group.com>
-Organization: Atos Multimedia
-X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.2.12 i686)
-X-Accept-Language: en, fr-FR
-MIME-Version: 1.0
-To: Amos Gouaux <amos+lists.postfix@utdallas.edu>
-Cc: postfix-users@postfix.org
-Subject: Re: LMTP?
-References: <q6memdj3djk.fsf@spartacus.utdallas.edu> <3839189C.C4E94EA1@atos-group.com> <q6mso1yn00k.fsf@spartacus.utdallas.edu>
-Content-Type: text/plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-Precedence: bulk
-Sender: wietse@porcupine.org
-Status: RO
-
-Here is the patch a use on the lmtp part of postfix for using LMTP on
-Solaris (note that these diffs are not necessary for Linux !)
-It's seems that the probleme come from the interpretation of the return
-code from cyrus-deliver.
-
-note : they are against lmtp-19990427.tar.gz
-
---- lmtp/lmtp_proto.c   Tue Apr 20 09:42:45 1999
-+++ /postfix-19990906/lmtp/lmtp_proto.c    Thu Sep  2 15:04:57 1999
-@@ -445,12 +445,12 @@
-                        if (resp->code / 100 == 2) {
-                            ++nrcpt;
-                            recipient_list_add(&survivors, rcpt->offset,
-rcpt->address);
--                       } else if (resp->code == 550
-+                       } else /* if (resp->code == 550
-                                  && strncmp(resp->str, "550 5.1.1", 9)
-== 0) {
-                            deliver_completed(state->src, -1);
-                            state->status |= -1;
-                            rcpt->offset = 0;
--                       } else {
-+                       } else */ {o
-                            lmtp_rcpt_fail(state, resp->code, rcpt,
-                                           "host %s said: %s",
-session->host,
-                                           translit(resp->str, "\n", "
-"));
-
-
-Hope it will help.
-
-Amos Gouaux wrote:
-> 
-> >>>>> On Mon, 22 Nov 1999 10:19:08 +0000,
-> >>>>> valery brasseur <vbrasseur@atos-group.com> (vb) writes:
-> 
-> vb> I use it with cyrus, but I have done made some patch to the LMTP code
-> vb> and deliver code because return code where not what the other was
-> vb> expected !!!
-> 
-> Do you think you could submit these patches to the list?
-> 
-> I knew something had to be amiss.  Using the Postfix sendmail
-> command I attempted to send mail to a non-existent user, jdoe.  The
-> syslog from Postfix indicated successful delivery:
-> 
-> Nov 22 07:03:45 area52 postfix/pipe[3082]: 6316124718: to=<jdoe@area52.utdallas.edu>, relay=lmtp, delay=0, status=sent (jdoe@area52.utdallas.edu)
-> 
-> However, when I run deliver by hand, the response isn't so positive:
-> 
-> rcpt to:<jdoe@area52.utdallas.edu>
-> 550 5.1.1 User unknown
-> 
-> Thanks,
-> Amos
-
--- 
-Valery BRASSEUR                | Phone # +33 320 60 7982 
-Atos Branche Multimedia        | Fax   # +33 320 60 7649
- "Unix -- where you can do anything in two keystrokes or less..."
-                         -- Unknown
-
-
-
-
diff --git a/postfix/lmtp/makefile-patch b/postfix/lmtp/makefile-patch
deleted file mode 100644 (file)
index 0cf80e9..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-*** ../../orig/Makefile.in     Fri Dec 31 09:49:41 1999
---- Makefile.in        Fri Feb 25 16:27:24 2000
-***************
-*** 4,10 ****
-  DIRS = util global dns master postfix smtpstone sendmail error \
-       pickup cleanup smtpd local trivial-rewrite qmgr smtp bounce pipe \
-       showq postalias postcat postconf postdrop postkick postlock postlog \
-!      postmap postsuper # spawn man html
-  
-  default: update
-  
---- 4,10 ----
-  DIRS = util global dns master postfix smtpstone sendmail error \
-       pickup cleanup smtpd local trivial-rewrite qmgr smtp bounce pipe \
-       showq postalias postcat postconf postdrop postkick postlock postlog \
-!      postmap postsuper lmtp spawn man # html
-  
-  default: update
-  
diff --git a/postfix/lmtp/quote_821_local.c b/postfix/lmtp/quote_821_local.c
deleted file mode 100644 (file)
index 49c2772..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-/*++
-/* NAME
-/*     quote_821_local 3
-/* SUMMARY
-/*     quote local part of address
-/* SYNOPSIS
-/*     #include "quote_821_local.h"
-/*
-/*     VSTRING *quote_821_local(dst, src)
-/*     VSTRING *dst;
-/*     char    *src;
-/* DESCRIPTION
-/*     quote_821_local() quotes the local part of a mailbox address and
-/*     returns a result that can be used in SMTP commands as specified
-/*     by RFC 821.
-/*
-/*     Arguments:
-/* .IP dst
-/*     The result.
-/* .IP src
-/*     The input address.
-/* STANDARDS
-/*     RFC 821 (SMTP protocol)
-/* BUGS
-/*     The code assumes that the domain is RFC 821 clean.
-/* LICENSE
-/* .ad
-/* .fi
-/*     The Secure Mailer license must be distributed with this software.
-/* AUTHOR(S)
-/*     Wietse Venema
-/*     IBM T.J. Watson Research
-/*     P.O. Box 704
-/*     Yorktown Heights, NY 10598, USA
-/*
-/*      Alterations for LMTP by:
-/*      Philip A. Prindeville
-/*      Mirapoint, Inc.
-/*      USA.
-/*
-/*      Additional work on LMTP by:
-/*      Amos Gouaux
-/*      University of Texas at Dallas
-/*      P.O. Box 830688, MC34
-/*      Richardson, TX 75083, USA
-/*--*/
-
-/* System library. */
-
-#include <sys_defs.h>
-#include <string.h>
-#include <ctype.h>
-
-/* Utility library. */
-
-#include <vstring.h>
-
-/* Global library. */
-
-#include "quote_821_local.h"
-
-/* Application-specific. */
-
-#define YES    1
-#define        NO      0
-
-/* is_821_dot_string - is this local-part an rfc 821 dot-string? */
-
-static int is_821_dot_string(char *local_part, char *end)
-{
-    char   *cp;
-    int     ch;
-
-    /*
-     * Detect any deviations from the definition of dot-string. We could use
-     * lookup tables to speed up some of the work, but hey, how large can a
-     * local-part be anyway?
-     */
-    if (local_part[0] == 0 || local_part[0] == '.')
-       return (NO);
-    for (cp = local_part; cp < end && (ch = *cp) != 0; cp++) {
-       if (ch == '.' && cp[1] == '.')
-           return (NO);
-       if (ch > 127)
-           return (NO);
-       if (ch == ' ')
-           return (NO);
-       if (ISCNTRL(ch))
-           return (NO);
-       if (ch == '<' || ch == '>'
-           || ch == '(' || ch == ')'
-           || ch == '[' || ch == ']'
-           || ch == '\\' || ch == ','
-           || ch == ';' || ch == ':'
-           /* || ch == '@' */ || ch == '"')
-           return (NO);
-    }
-    if (cp[-1] == '.')
-       return (NO);
-    return (YES);
-}
-
-/* make_821_quoted_string - make quoted-string from local-part */
-
-static VSTRING *make_821_quoted_string(VSTRING *dst, char *local_part, char *end)
-{
-    char   *cp;
-    int     ch;
-
-    /*
-     * Put quotes around the result, and prepend a backslash to characters
-     * that need quoting when they occur in a quoted-string.
-     */
-    VSTRING_RESET(dst);
-    VSTRING_ADDCH(dst, '"');
-    for (cp = local_part; cp < end && (ch = *cp) != 0; cp++) {
-       if (ch > 127 || ch == '\r' || ch == '\n' || ch == '"' || ch == '\\')
-           VSTRING_ADDCH(dst, '\\');
-       VSTRING_ADDCH(dst, ch);
-    }
-    VSTRING_ADDCH(dst, '"');
-    VSTRING_TERMINATE(dst);
-    return (dst);
-}
-
-/* quote_821_local - quote local part of address according to rfc 821 */
-
-VSTRING *quote_821_local(VSTRING *dst, char *addr)
-{
-    char   *at;
-
-    /*
-     * According to RFC 821, a local-part is a dot-string or a quoted-string.
-     * We first see if the local-part is a dot-string. If it is not, we turn
-     * it into a quoted-string. Anything else would be too painful.
-     */
-    if ((at = strrchr(addr, '@')) == 0)                /* just in case */
-       at = addr + strlen(addr);               /* should not happen */
-    if (is_821_dot_string(addr, at)) {
-       return (vstring_strcpy(dst, addr));
-    } else {
-       make_821_quoted_string(dst, addr, at);
-       return (vstring_strcat(dst, at));
-    }
-}
-
-#ifdef TEST
-
- /*
-  * Test program for local-part quoting as per rfc 821
-  */
-#include <stdlib.h>
-#include <vstream.h>
-#include <vstring_vstream.h>
-#include "quote_821_local.h"
-
-main(void)
-{
-    VSTRING *src = vstring_alloc(100);
-    VSTRING *dst = vstring_alloc(100);
-
-    while (vstring_fgets_nonl(src, VSTREAM_IN)) {
-       vstream_fprintf(VSTREAM_OUT, "%s\n",
-                       vstring_str(quote_821_local(dst, vstring_str(src))));
-       vstream_fflush(VSTREAM_OUT);
-    }
-    exit(0);
-}
-
-#endif
diff --git a/postfix/lmtp/quote_821_local.h b/postfix/lmtp/quote_821_local.h
deleted file mode 100644 (file)
index 17543f2..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*++
-/* NAME
-/*     quote_821_local 3h
-/* SUMMARY
-/*     quote rfc 821 local part
-/* SYNOPSIS
-/*     #include "quote_821_local.h"
-/* DESCRIPTION
-/* .nf
-
- /*
-  * Utility library.
-  */
-#include <vstring.h>
-
- /*
-  * External interface.
-  */
-extern VSTRING *quote_821_local(VSTRING *, char *);
-
-/* LICENSE
-/* .ad
-/* .fi
-/*     The Secure Mailer license must be distributed with this software.
-/* AUTHOR(S)
-/*     Wietse Venema
-/*     IBM T.J. Watson Research
-/*     P.O. Box 704
-/*     Yorktown Heights, NY 10598, USA
-/*
-/*      Alterations for LMTP by:
-/*      Philip A. Prindeville
-/*      Mirapoint, Inc.
-/*      USA.
-/*
-/*      Additional work on LMTP by:
-/*      Amos Gouaux
-/*      University of Texas at Dallas
-/*      P.O. Box 830688, MC34
-/*      Richardson, TX 75083, USA
-/*--*/
index 5535f16469921525e1e7d01af498b03a583e297b..3f836ffefd2b2f6cf3295890fbea13f77ec0ee9e 100644 (file)
@@ -67,7 +67,6 @@ alias.o: ../include/htable.h
 alias.o: ../include/dict.h
 alias.o: ../include/vstream.h
 alias.o: ../include/vbuf.h
-alias.o: ../include/binattr.h
 alias.o: ../include/argv.h
 alias.o: ../include/stringops.h
 alias.o: ../include/vstring.h
@@ -97,7 +96,6 @@ command.o: ../include/htable.h
 command.o: ../include/vstring.h
 command.o: ../include/vbuf.h
 command.o: ../include/vstream.h
-command.o: ../include/binattr.h
 command.o: ../include/argv.h
 command.o: ../include/defer.h
 command.o: ../include/bounce.h
@@ -116,7 +114,6 @@ deliver_attr.o: ../include/sys_defs.h
 deliver_attr.o: ../include/msg.h
 deliver_attr.o: ../include/vstream.h
 deliver_attr.o: ../include/vbuf.h
-deliver_attr.o: ../include/binattr.h
 deliver_attr.o: local.h
 deliver_attr.o: ../include/htable.h
 deliver_attr.o: ../include/vstring.h
@@ -132,7 +129,6 @@ delivered.o: ../include/htable.h
 delivered.o: ../include/vstring.h
 delivered.o: ../include/vbuf.h
 delivered.o: ../include/vstream.h
-delivered.o: ../include/binattr.h
 delivered.o: ../include/vstring_vstream.h
 delivered.o: ../include/stringops.h
 delivered.o: ../include/record.h
@@ -152,7 +148,6 @@ dotforward.o: ../include/msg.h
 dotforward.o: ../include/vstring.h
 dotforward.o: ../include/vbuf.h
 dotforward.o: ../include/vstream.h
-dotforward.o: ../include/binattr.h
 dotforward.o: ../include/htable.h
 dotforward.o: ../include/open_as.h
 dotforward.o: ../include/lstat_as.h
@@ -179,7 +174,6 @@ file.o: ../include/htable.h
 file.o: ../include/vstring.h
 file.o: ../include/vbuf.h
 file.o: ../include/vstream.h
-file.o: ../include/binattr.h
 file.o: ../include/deliver_flock.h
 file.o: ../include/open_as.h
 file.o: ../include/mail_copy.h
@@ -203,7 +197,6 @@ forward.o: ../include/argv.h
 forward.o: ../include/vstring.h
 forward.o: ../include/vbuf.h
 forward.o: ../include/vstream.h
-forward.o: ../include/binattr.h
 forward.o: ../include/vstring_vstream.h
 forward.o: ../include/iostuff.h
 forward.o: ../include/stringops.h
@@ -228,7 +221,6 @@ include.o: ../include/htable.h
 include.o: ../include/mymalloc.h
 include.o: ../include/vstream.h
 include.o: ../include/vbuf.h
-include.o: ../include/binattr.h
 include.o: ../include/open_as.h
 include.o: ../include/stat_as.h
 include.o: ../include/iostuff.h
@@ -255,7 +247,6 @@ indirect.o: ../include/been_here.h
 indirect.o: local.h
 indirect.o: ../include/vstream.h
 indirect.o: ../include/vbuf.h
-indirect.o: ../include/binattr.h
 indirect.o: ../include/vstring.h
 indirect.o: ../include/tok822.h
 indirect.o: ../include/resolve_clnt.h
@@ -269,7 +260,6 @@ local.o: ../include/htable.h
 local.o: ../include/vstring.h
 local.o: ../include/vbuf.h
 local.o: ../include/vstream.h
-local.o: ../include/binattr.h
 local.o: ../include/iostuff.h
 local.o: ../include/name_mask.h
 local.o: ../include/set_eugid.h
@@ -297,7 +287,6 @@ local_expand.o: ../include/mail_params.h
 local_expand.o: local.h
 local_expand.o: ../include/htable.h
 local_expand.o: ../include/vstream.h
-local_expand.o: ../include/binattr.h
 local_expand.o: ../include/been_here.h
 local_expand.o: ../include/tok822.h
 local_expand.o: ../include/resolve_clnt.h
@@ -310,7 +299,6 @@ mailbox.o: ../include/htable.h
 mailbox.o: ../include/vstring.h
 mailbox.o: ../include/vbuf.h
 mailbox.o: ../include/vstream.h
-mailbox.o: ../include/binattr.h
 mailbox.o: ../include/mymalloc.h
 mailbox.o: ../include/stringops.h
 mailbox.o: ../include/set_eugid.h
@@ -340,7 +328,6 @@ maildir.o: ../include/stringops.h
 maildir.o: ../include/vstring.h
 maildir.o: ../include/vbuf.h
 maildir.o: ../include/vstream.h
-maildir.o: ../include/binattr.h
 maildir.o: ../include/make_dirs.h
 maildir.o: ../include/set_eugid.h
 maildir.o: ../include/get_hostname.h
@@ -367,7 +354,6 @@ recipient.o: ../include/vstring.h
 recipient.o: ../include/vbuf.h
 recipient.o: ../include/dict.h
 recipient.o: ../include/vstream.h
-recipient.o: ../include/binattr.h
 recipient.o: ../include/argv.h
 recipient.o: ../include/bounce.h
 recipient.o: ../include/mail_params.h
@@ -387,7 +373,6 @@ resolve.o: ../include/vbuf.h
 resolve.o: ../include/htable.h
 resolve.o: ../include/mail_proto.h
 resolve.o: ../include/vstream.h
-resolve.o: ../include/binattr.h
 resolve.o: ../include/iostuff.h
 resolve.o: ../include/resolve_clnt.h
 resolve.o: ../include/rewrite_clnt.h
@@ -403,7 +388,6 @@ token.o: ../include/msg.h
 token.o: ../include/vstring.h
 token.o: ../include/vbuf.h
 token.o: ../include/vstream.h
-token.o: ../include/binattr.h
 token.o: ../include/htable.h
 token.o: ../include/readlline.h
 token.o: ../include/mymalloc.h
@@ -428,7 +412,6 @@ unknown.o: ../include/been_here.h
 unknown.o: ../include/mail_params.h
 unknown.o: ../include/mail_proto.h
 unknown.o: ../include/vstream.h
-unknown.o: ../include/binattr.h
 unknown.o: ../include/iostuff.h
 unknown.o: ../include/bounce.h
 unknown.o: local.h
diff --git a/postfix/makelinks b/postfix/makelinks
deleted file mode 100644 (file)
index 59ac48b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-# makelinks - create shadow tree with links to source files
-
-case $# in
-    2) src=`cd $1 || kill $$; pwd`; dst=$2;;
-    *) echo "Usage: $0 source-dir dest-dir" 1>&2; exit 1;;
-esac
-
-test -d $dst && { echo "$0: destination directory $dst exists" 1>&2; exit 1; }
-mkdir -p $dst || exit 1
-cd $dst
-(cd $src; find . -type d -print) | xargs mkdir -p
-(cd $src; find . ! -type d -print) | while read name
-do
-       ln -s $src/$name $name
-done
index 294234e2b8f8b2078c27fa6317986466e4f8d7d0..4d981bb9fb569429a887c644aaeacd0969ebe99f 100644 (file)
@@ -8,7 +8,7 @@ Postfix local delivery via LMTP
 .SH SYNOPSIS
 .na
 .nf
-\fBlmtp\fR [generic Postfix daemon options] [server attributes...]
+\fBlmtp\fR [generic Postfix daemon options]
 .SH DESCRIPTION
 .ad
 .fi
@@ -29,20 +29,6 @@ the TCP port defined as \fBlmtp\fR in \fBservices\fR(4).  If no such
 service is found, the \fBlmtp_tcp_port\fR configuration parameter
 (default value of 24) will be used. The LMTP client does not perform
 MX (mail exchanger) lookups since those are defined only for SMTP.
-.SH SERVER ATTRIBUTE SYNTAX
-.na
-.nf
-.ad
-.fi
-The server attributes are given in the \fBmaster.cf\fR file at
-the end of a service definition.  The syntax is as follows:
-.IP "\fBserver=\fR\fIhost\fR"
-.IP "\fBserver=\fR\fIhost\fR\fB:\fR\fIport\fR"
-.IP "\fBserver=[\fR\fIipaddr\fR\fB]\fR"
-.IP "\fBserver=[\fR\fIipaddr\fR\fB]:\fR\fIport\fR"
-Connect to the specified host or IP address and TCP port (default: the
-\fBlmtp\fR port as specified in the \fBservices\fR database).
-.PP
 .SH SECURITY
 .na
 .nf
index 00bfd0545cdd568c3a5b40c4922d8848010ca058..8ea5ee4409f12522d9a99dea604e9ec8628eef6b 100644 (file)
@@ -88,7 +88,6 @@ master.o: ../include/vbuf.h
 master.o: ../include/mymalloc.h
 master.o: ../include/iostuff.h
 master.o: ../include/vstream.h
-master.o: ../include/binattr.h
 master.o: ../include/stringops.h
 master.o: ../include/myflock.h
 master.o: ../include/watchdog.h
@@ -116,7 +115,6 @@ master_ent.o: ../include/mymalloc.h
 master_ent.o: ../include/vstring.h
 master_ent.o: ../include/vbuf.h
 master_ent.o: ../include/vstream.h
-master_ent.o: ../include/binattr.h
 master_ent.o: ../include/argv.h
 master_ent.o: ../include/stringops.h
 master_ent.o: ../include/readlline.h
@@ -189,7 +187,6 @@ master_wakeup.o: ../include/events.h
 master_wakeup.o: ../include/mail_proto.h
 master_wakeup.o: ../include/vstream.h
 master_wakeup.o: ../include/vbuf.h
-master_wakeup.o: ../include/binattr.h
 master_wakeup.o: ../include/iostuff.h
 master_wakeup.o: mail_server.h
 master_wakeup.o: master.h
@@ -204,7 +201,6 @@ multi_server.o: ../include/events.h
 multi_server.o: ../include/vstring.h
 multi_server.o: ../include/vbuf.h
 multi_server.o: ../include/vstream.h
-multi_server.o: ../include/binattr.h
 multi_server.o: ../include/msg_vstream.h
 multi_server.o: ../include/mymalloc.h
 multi_server.o: ../include/stringops.h
@@ -229,7 +225,6 @@ single_server.o: ../include/chroot_uid.h
 single_server.o: ../include/vstring.h
 single_server.o: ../include/vbuf.h
 single_server.o: ../include/vstream.h
-single_server.o: ../include/binattr.h
 single_server.o: ../include/msg_vstream.h
 single_server.o: ../include/mymalloc.h
 single_server.o: ../include/events.h
@@ -257,7 +252,6 @@ trigger_server.o: ../include/chroot_uid.h
 trigger_server.o: ../include/vstring.h
 trigger_server.o: ../include/vbuf.h
 trigger_server.o: ../include/vstream.h
-trigger_server.o: ../include/binattr.h
 trigger_server.o: ../include/msg_vstream.h
 trigger_server.o: ../include/mymalloc.h
 trigger_server.o: ../include/events.h
index f43aa98852082c183c479b8a0dc578b28390ecf4..1f20f1934f270056acbd2e2e462fa3761f834aa4 100644 (file)
@@ -60,7 +60,6 @@ pickup.o: ../include/scan_dir.h
 pickup.o: ../include/vstring.h
 pickup.o: ../include/vbuf.h
 pickup.o: ../include/vstream.h
-pickup.o: ../include/binattr.h
 pickup.o: ../include/open_as.h
 pickup.o: ../include/set_eugid.h
 pickup.o: ../include/mail_queue.h
index 72383694aef6dd60a071c604f4855b7f56264a83..f6879fa0a309f57bdba640dc1171e6bc5cfac9ce 100644 (file)
@@ -58,7 +58,6 @@ pipe.o: ../include/sys_defs.h
 pipe.o: ../include/msg.h
 pipe.o: ../include/vstream.h
 pipe.o: ../include/vbuf.h
-pipe.o: ../include/binattr.h
 pipe.o: ../include/vstring.h
 pipe.o: ../include/argv.h
 pipe.o: ../include/htable.h
index bce6b38223b8d5b16eed3b60eda65f3b163d71f5..1ffd123525aadeb3066a2eb032742cf9ec7668e3 100644 (file)
@@ -60,7 +60,6 @@ postalias.o: ../include/mymalloc.h
 postalias.o: ../include/vstring.h
 postalias.o: ../include/vbuf.h
 postalias.o: ../include/vstream.h
-postalias.o: ../include/binattr.h
 postalias.o: ../include/msg_vstream.h
 postalias.o: ../include/readlline.h
 postalias.o: ../include/stringops.h
index 0b54c63ba540e56c45482cf37da684174ce584f2..09a49588499b5ba36c5f7c45b18af3f7beed3764 100644 (file)
@@ -58,7 +58,6 @@ postcat.o: ../include/sys_defs.h
 postcat.o: ../include/msg.h
 postcat.o: ../include/vstream.h
 postcat.o: ../include/vbuf.h
-postcat.o: ../include/binattr.h
 postcat.o: ../include/vstring.h
 postcat.o: ../include/msg_vstream.h
 postcat.o: ../include/vstring_vstream.h
index 90ee9126945c570024dc40ab578415f480147884..28514a3428b58e5ae36f817840c82678ce7c1015 100644 (file)
@@ -69,7 +69,6 @@ postconf.o: ../include/sys_defs.h
 postconf.o: ../include/msg.h
 postconf.o: ../include/vstream.h
 postconf.o: ../include/vbuf.h
-postconf.o: ../include/binattr.h
 postconf.o: ../include/msg_vstream.h
 postconf.o: ../include/get_hostname.h
 postconf.o: ../include/stringops.h
index f56560015d0e00eb71f64b52b29d80783518e18d..8f24b00c0264665a900b172c4b5b38dee74b2a86 100644 (file)
@@ -59,7 +59,6 @@ postdrop.o: ../include/msg.h
 postdrop.o: ../include/mymalloc.h
 postdrop.o: ../include/vstream.h
 postdrop.o: ../include/vbuf.h
-postdrop.o: ../include/binattr.h
 postdrop.o: ../include/vstring.h
 postdrop.o: ../include/msg_vstream.h
 postdrop.o: ../include/msg_syslog.h
index a35382acb0a42fcfe63f8c6cf3cd502ce4d5061c..4a0a9933ec35c219070dcf5615998e59729847d3 100644 (file)
@@ -61,7 +61,6 @@ postfix.o: postfix.c
 postfix.o: ../include/sys_defs.h
 postfix.o: ../include/vstream.h
 postfix.o: ../include/vbuf.h
-postfix.o: ../include/binattr.h
 postfix.o: ../include/msg.h
 postfix.o: ../include/msg_vstream.h
 postfix.o: ../include/msg_syslog.h
index 46036d384d01659a9fff69335f36bcdeb20b58bf..c846ca697f5890fefbdb774083a498e2767f9539 100644 (file)
@@ -59,7 +59,6 @@ postkick.o: ../include/msg.h
 postkick.o: ../include/mymalloc.h
 postkick.o: ../include/vstream.h
 postkick.o: ../include/vbuf.h
-postkick.o: ../include/binattr.h
 postkick.o: ../include/msg_vstream.h
 postkick.o: ../include/safe.h
 postkick.o: ../include/mail_proto.h
index 571d36d9c9b071d1a38f030804307e6c5c003cec..0d194091b33bbcc58c773bd3073af10f25f9e794 100644 (file)
@@ -59,7 +59,6 @@ postlock.o: ../include/msg.h
 postlock.o: ../include/vstring.h
 postlock.o: ../include/vbuf.h
 postlock.o: ../include/vstream.h
-postlock.o: ../include/binattr.h
 postlock.o: ../include/msg_vstream.h
 postlock.o: ../include/iostuff.h
 postlock.o: ../include/mail_params.h
index ed5c75e463b821721fe144742278d3acb995a7b7..e3f00e469c1d256a89e5af529b151067d8b05ccd 100644 (file)
@@ -63,7 +63,6 @@ postlog.o: ../include/msg.h
 postlog.o: ../include/vstring.h
 postlog.o: ../include/vbuf.h
 postlog.o: ../include/vstream.h
-postlog.o: ../include/binattr.h
 postlog.o: ../include/vstring_vstream.h
 postlog.o: ../include/msg_output.h
 postlog.o: ../include/msg_vstream.h
index 0fa850f4d5a5d1fbbdded34edb18e2721c635f86..db3a6bd5fb060a86a8238c837106cfb35800e031 100644 (file)
@@ -60,7 +60,6 @@ postmap.o: ../include/mymalloc.h
 postmap.o: ../include/vstring.h
 postmap.o: ../include/vbuf.h
 postmap.o: ../include/vstream.h
-postmap.o: ../include/binattr.h
 postmap.o: ../include/msg_vstream.h
 postmap.o: ../include/readlline.h
 postmap.o: ../include/stringops.h
index eb8068c83a28d4781dc0a2ad45cbc30b39a95c85..b5caf22cb743a95cde3038c026c2cb8a2c09c747 100644 (file)
@@ -60,7 +60,6 @@ postsuper.o: ../include/msg.h
 postsuper.o: ../include/msg_syslog.h
 postsuper.o: ../include/vstream.h
 postsuper.o: ../include/vbuf.h
-postsuper.o: ../include/binattr.h
 postsuper.o: ../include/msg_vstream.h
 postsuper.o: ../include/scan_dir.h
 postsuper.o: ../include/vstring.h
index b24a648123acc5ff4866613542708329302a75be..99ce9e6eff584234870545a3ab903af3318d83d7 100644 (file)
@@ -64,7 +64,6 @@ qmgr.o: ../include/msg.h
 qmgr.o: ../include/events.h
 qmgr.o: ../include/vstream.h
 qmgr.o: ../include/vbuf.h
-qmgr.o: ../include/binattr.h
 qmgr.o: ../include/dict.h
 qmgr.o: ../include/argv.h
 qmgr.o: ../include/mail_queue.h
@@ -86,7 +85,6 @@ qmgr_active.o: ../include/events.h
 qmgr_active.o: ../include/mymalloc.h
 qmgr_active.o: ../include/vstream.h
 qmgr_active.o: ../include/vbuf.h
-qmgr_active.o: ../include/binattr.h
 qmgr_active.o: ../include/mail_params.h
 qmgr_active.o: ../include/mail_open_ok.h
 qmgr_active.o: ../include/mail_queue.h
@@ -106,7 +104,6 @@ qmgr_bounce.o: ../include/bounce.h
 qmgr_bounce.o: ../include/deliver_completed.h
 qmgr_bounce.o: ../include/vstream.h
 qmgr_bounce.o: ../include/vbuf.h
-qmgr_bounce.o: ../include/binattr.h
 qmgr_bounce.o: qmgr.h
 qmgr_bounce.o: ../include/scan_dir.h
 qmgr_bounce.o: ../include/maps.h
@@ -117,7 +114,6 @@ qmgr_defer.o: ../include/sys_defs.h
 qmgr_defer.o: ../include/msg.h
 qmgr_defer.o: ../include/vstream.h
 qmgr_defer.o: ../include/vbuf.h
-qmgr_defer.o: ../include/binattr.h
 qmgr_defer.o: ../include/defer.h
 qmgr_defer.o: ../include/bounce.h
 qmgr_defer.o: qmgr.h
@@ -131,7 +127,6 @@ qmgr_deliver.o: ../include/msg.h
 qmgr_deliver.o: ../include/vstring.h
 qmgr_deliver.o: ../include/vbuf.h
 qmgr_deliver.o: ../include/vstream.h
-qmgr_deliver.o: ../include/binattr.h
 qmgr_deliver.o: ../include/vstring_vstream.h
 qmgr_deliver.o: ../include/events.h
 qmgr_deliver.o: ../include/iostuff.h
@@ -149,7 +144,6 @@ qmgr_enable.o: ../include/sys_defs.h
 qmgr_enable.o: ../include/msg.h
 qmgr_enable.o: ../include/vstream.h
 qmgr_enable.o: ../include/vbuf.h
-qmgr_enable.o: ../include/binattr.h
 qmgr_enable.o: qmgr.h
 qmgr_enable.o: ../include/scan_dir.h
 qmgr_enable.o: ../include/maps.h
@@ -162,7 +156,6 @@ qmgr_entry.o: ../include/mymalloc.h
 qmgr_entry.o: ../include/events.h
 qmgr_entry.o: ../include/vstream.h
 qmgr_entry.o: ../include/vbuf.h
-qmgr_entry.o: ../include/binattr.h
 qmgr_entry.o: ../include/mail_params.h
 qmgr_entry.o: qmgr.h
 qmgr_entry.o: ../include/scan_dir.h
@@ -176,7 +169,6 @@ qmgr_message.o: ../include/mymalloc.h
 qmgr_message.o: ../include/vstring.h
 qmgr_message.o: ../include/vbuf.h
 qmgr_message.o: ../include/vstream.h
-qmgr_message.o: ../include/binattr.h
 qmgr_message.o: ../include/split_at.h
 qmgr_message.o: ../include/valid_hostname.h
 qmgr_message.o: ../include/argv.h
@@ -206,7 +198,6 @@ qmgr_move.o: ../include/mail_queue.h
 qmgr_move.o: ../include/vstring.h
 qmgr_move.o: ../include/vbuf.h
 qmgr_move.o: ../include/vstream.h
-qmgr_move.o: ../include/binattr.h
 qmgr_move.o: ../include/mail_scan_dir.h
 qmgr_move.o: qmgr.h
 qmgr_move.o: ../include/maps.h
@@ -223,7 +214,6 @@ qmgr_queue.o: ../include/recipient_list.h
 qmgr_queue.o: qmgr.h
 qmgr_queue.o: ../include/vstream.h
 qmgr_queue.o: ../include/vbuf.h
-qmgr_queue.o: ../include/binattr.h
 qmgr_queue.o: ../include/scan_dir.h
 qmgr_queue.o: ../include/maps.h
 qmgr_queue.o: ../include/dict.h
@@ -234,7 +224,6 @@ qmgr_rcpt_list.o: ../include/mymalloc.h
 qmgr_rcpt_list.o: qmgr.h
 qmgr_rcpt_list.o: ../include/vstream.h
 qmgr_rcpt_list.o: ../include/vbuf.h
-qmgr_rcpt_list.o: ../include/binattr.h
 qmgr_rcpt_list.o: ../include/scan_dir.h
 qmgr_rcpt_list.o: ../include/maps.h
 qmgr_rcpt_list.o: ../include/dict.h
@@ -248,7 +237,6 @@ qmgr_scan.o: ../include/mail_scan_dir.h
 qmgr_scan.o: qmgr.h
 qmgr_scan.o: ../include/vstream.h
 qmgr_scan.o: ../include/vbuf.h
-qmgr_scan.o: ../include/binattr.h
 qmgr_scan.o: ../include/maps.h
 qmgr_scan.o: ../include/dict.h
 qmgr_scan.o: ../include/argv.h
@@ -260,7 +248,6 @@ qmgr_transport.o: ../include/events.h
 qmgr_transport.o: ../include/mymalloc.h
 qmgr_transport.o: ../include/vstream.h
 qmgr_transport.o: ../include/vbuf.h
-qmgr_transport.o: ../include/binattr.h
 qmgr_transport.o: ../include/iostuff.h
 qmgr_transport.o: ../include/mail_proto.h
 qmgr_transport.o: ../include/recipient_list.h
index 50a3c8e2795b3f60b84d26ce7c8e10dd7752497b..da946438b5ccef0a313e1f5fb7b8212a912f4f46 100644 (file)
@@ -59,7 +59,6 @@ sendmail.o: ../include/msg.h
 sendmail.o: ../include/mymalloc.h
 sendmail.o: ../include/vstream.h
 sendmail.o: ../include/vbuf.h
-sendmail.o: ../include/binattr.h
 sendmail.o: ../include/vstring.h
 sendmail.o: ../include/msg_vstream.h
 sendmail.o: ../include/msg_syslog.h
index 7a2c010a42da8a259cae8caf806878a124bb8984..ec75f8c9bc6180c1b72dc3f10b8cbc8a760d277b 100644 (file)
@@ -60,7 +60,6 @@ showq.o: ../include/scan_dir.h
 showq.o: ../include/vstring.h
 showq.o: ../include/vbuf.h
 showq.o: ../include/vstream.h
-showq.o: ../include/binattr.h
 showq.o: ../include/vstring_vstream.h
 showq.o: ../include/stringops.h
 showq.o: ../include/mymalloc.h
index f5afaf01a1e1d2537e9d04fa6876aee1e7c4b4ca..a39e68a3eefa9926c769458a54f58bd647dce831 100644 (file)
@@ -1,9 +1,9 @@
 SHELL  = /bin/sh
-SRCS   = smtp.c quote_821_local.c smtp_connect.c smtp_proto.c smtp_chat.c \
-       smtp_session.c smtp_addr.c smtp_trouble.c smtp_unalias.c smtp_state.c \
+SRCS   = smtp.c smtp_connect.c smtp_proto.c smtp_chat.c smtp_session.c \
+       smtp_addr.c smtp_trouble.c smtp_unalias.c smtp_state.c \
        smtp_sasl_proto.c smtp_sasl_glue.c
-OBJS   = smtp.o quote_821_local.o smtp_connect.o smtp_proto.o smtp_chat.o \
-       smtp_session.o smtp_addr.o smtp_trouble.o smtp_unalias.o smtp_state.o \
+OBJS   = smtp.o smtp_connect.o smtp_proto.o smtp_chat.o smtp_session.o \
+       smtp_addr.o smtp_trouble.o smtp_unalias.o smtp_state.o \
        smtp_sasl_proto.o smtp_sasl_glue.o
 HDRS   = smtp.h smtp_sasl.h
 TESTSRC        = 
@@ -12,7 +12,7 @@ WARN  = -W -Wformat -Wimplicit -Wmissing-prototypes \
        -Wunused
 DEFS   = -I. -I$(INC_DIR) -D$(SYSTYPE)
 CFLAGS = $(DEBUG) $(OPT) $(DEFS)
-TESTPROG= quote_821_local smtp_unalias
+TESTPROG= smtp_unalias
 PROG   = smtp
 INC_DIR        = ../include
 LIBS   = ../lib/libmaster.a ../lib/libglobal.a ../lib/libdns.a ../lib/libutil.a
@@ -49,9 +49,6 @@ clean:
 
 tidy:  clean
 
-quote_821_local: quote_821_local.c $(LIBS)
-       $(CC) $(CFLAGS) -DTEST -o $@ $@.c $(LIBS) $(SYSLIBS)
-
 smtp_unalias: smtp_unalias.c $(LIBS)
        $(CC) $(CFLAGS) -DTEST -o $@ $@.c $(LIBS) $(SYSLIBS)
 
@@ -64,17 +61,11 @@ depend: $(MAKES)
        @$(EXPORT) make -f Makefile.in Makefile 1>&2
 
 # do not edit below this line - it is generated by 'make depend'
-quote_821_local.o: quote_821_local.c
-quote_821_local.o: ../include/sys_defs.h
-quote_821_local.o: ../include/vstring.h
-quote_821_local.o: ../include/vbuf.h
-quote_821_local.o: quote_821_local.h
 smtp.o: smtp.c
 smtp.o: ../include/sys_defs.h
 smtp.o: ../include/dict.h
 smtp.o: ../include/vstream.h
 smtp.o: ../include/vbuf.h
-smtp.o: ../include/binattr.h
 smtp.o: ../include/argv.h
 smtp.o: ../include/msg.h
 smtp.o: ../include/mymalloc.h
@@ -105,7 +96,6 @@ smtp_addr.o: ../include/own_inet_addr.h
 smtp_addr.o: ../include/dns.h
 smtp_addr.o: smtp.h
 smtp_addr.o: ../include/vstream.h
-smtp_addr.o: ../include/binattr.h
 smtp_addr.o: ../include/argv.h
 smtp_addr.o: ../include/deliver_request.h
 smtp_addr.o: ../include/recipient_list.h
@@ -116,7 +106,6 @@ smtp_chat.o: ../include/msg.h
 smtp_chat.o: ../include/vstring.h
 smtp_chat.o: ../include/vbuf.h
 smtp_chat.o: ../include/vstream.h
-smtp_chat.o: ../include/binattr.h
 smtp_chat.o: ../include/argv.h
 smtp_chat.o: ../include/stringops.h
 smtp_chat.o: ../include/line_wrap.h
@@ -134,7 +123,6 @@ smtp_connect.o: ../include/sys_defs.h
 smtp_connect.o: ../include/msg.h
 smtp_connect.o: ../include/vstream.h
 smtp_connect.o: ../include/vbuf.h
-smtp_connect.o: ../include/binattr.h
 smtp_connect.o: ../include/vstring.h
 smtp_connect.o: ../include/split_at.h
 smtp_connect.o: ../include/mymalloc.h
@@ -155,7 +143,6 @@ smtp_proto.o: ../include/msg.h
 smtp_proto.o: ../include/vstring.h
 smtp_proto.o: ../include/vbuf.h
 smtp_proto.o: ../include/vstream.h
-smtp_proto.o: ../include/binattr.h
 smtp_proto.o: ../include/vstring_vstream.h
 smtp_proto.o: ../include/stringops.h
 smtp_proto.o: ../include/mymalloc.h
@@ -174,7 +161,7 @@ smtp_proto.o: ../include/off_cvt.h
 smtp_proto.o: ../include/mark_corrupt.h
 smtp_proto.o: smtp.h
 smtp_proto.o: ../include/argv.h
-smtp_proto.o: quote_821_local.h
+smtp_proto.o: ../include/quote_821_local.h
 smtp_proto.o: smtp_sasl.h
 smtp_sasl_glue.o: smtp_sasl_glue.c
 smtp_sasl_glue.o: ../include/sys_defs.h
@@ -190,7 +177,6 @@ smtp_sasl_glue.o: ../include/string_list.h
 smtp_sasl_glue.o: ../include/maps.h
 smtp_sasl_glue.o: ../include/dict.h
 smtp_sasl_glue.o: ../include/vstream.h
-smtp_sasl_glue.o: ../include/binattr.h
 smtp_sasl_glue.o: ../include/argv.h
 smtp_sasl_glue.o: smtp.h
 smtp_sasl_glue.o: ../include/deliver_request.h
@@ -204,7 +190,6 @@ smtp_sasl_proto.o: ../include/mail_params.h
 smtp_sasl_proto.o: smtp.h
 smtp_sasl_proto.o: ../include/vstream.h
 smtp_sasl_proto.o: ../include/vbuf.h
-smtp_sasl_proto.o: ../include/binattr.h
 smtp_sasl_proto.o: ../include/vstring.h
 smtp_sasl_proto.o: ../include/argv.h
 smtp_sasl_proto.o: ../include/deliver_request.h
@@ -215,7 +200,6 @@ smtp_session.o: ../include/sys_defs.h
 smtp_session.o: ../include/mymalloc.h
 smtp_session.o: ../include/vstream.h
 smtp_session.o: ../include/vbuf.h
-smtp_session.o: ../include/binattr.h
 smtp_session.o: ../include/stringops.h
 smtp_session.o: ../include/vstring.h
 smtp_session.o: smtp.h
@@ -228,7 +212,6 @@ smtp_state.o: ../include/mymalloc.h
 smtp_state.o: ../include/vstring.h
 smtp_state.o: ../include/vbuf.h
 smtp_state.o: ../include/vstream.h
-smtp_state.o: ../include/binattr.h
 smtp_state.o: ../include/mail_conf.h
 smtp_state.o: smtp.h
 smtp_state.o: ../include/argv.h
@@ -244,7 +227,6 @@ smtp_trouble.o: ../include/stringops.h
 smtp_trouble.o: ../include/mymalloc.h
 smtp_trouble.o: ../include/smtp_stream.h
 smtp_trouble.o: ../include/vstream.h
-smtp_trouble.o: ../include/binattr.h
 smtp_trouble.o: ../include/deliver_request.h
 smtp_trouble.o: ../include/recipient_list.h
 smtp_trouble.o: ../include/deliver_completed.h
@@ -263,7 +245,6 @@ smtp_unalias.o: ../include/msg.h
 smtp_unalias.o: ../include/dns.h
 smtp_unalias.o: smtp.h
 smtp_unalias.o: ../include/vstream.h
-smtp_unalias.o: ../include/binattr.h
 smtp_unalias.o: ../include/argv.h
 smtp_unalias.o: ../include/deliver_request.h
 smtp_unalias.o: ../include/recipient_list.h
index 4e3ae5938fe76343257c387c868fe50473f2fc76..a10c32c2d0ffe82d622d61687f66bf0eecad77a9 100644 (file)
@@ -176,7 +176,7 @@ static DNS_RR *smtp_addr_one(DNS_RR *addr_list, char *host, unsigned pref, VSTRI
     /*
      * Append the addresses for this host to the address list.
      */
-    switch (dns_lookup(host, T_A, 0, &addr, (VSTRING *) 0, why)) {
+    switch (dns_lookup(host, T_A, RES_DEFNAMES, &addr, (VSTRING *) 0, why)) {
     case DNS_OK:
        for (rr = addr; rr; rr = rr->next)
            rr->pref = pref;
@@ -247,7 +247,7 @@ static DNS_RR *smtp_addr_fallback(DNS_RR *addr_list)
        cp = saved_fallback_relay = mystrdup(var_fallback_relay);
        for (pref = FB_PREF; (relay = mystrtok(&cp, " \t\r\n,")) != 0; pref++) {
            smtp_errno = 0;
-           switch (dns_lookup(relay, T_MX, 0, &mx_names, (VSTRING *) 0, why)) {
+           switch (dns_lookup(relay, T_MX, RES_DEFNAMES, &mx_names, (VSTRING *) 0, why)) {
            default:
                smtp_errno = SMTP_RETRY;
                break;
index b20ef9557d2d7a334ae2528fbe1f4040f3ef68e3..840116d4193f6f6517bf6a58aa92a1649fb0bbe6 100644 (file)
@@ -100,7 +100,6 @@ smtpd.o: ../include/mymalloc.h
 smtpd.o: ../include/vstring.h
 smtpd.o: ../include/vbuf.h
 smtpd.o: ../include/vstream.h
-smtpd.o: ../include/binattr.h
 smtpd.o: ../include/vstring_vstream.h
 smtpd.o: ../include/stringops.h
 smtpd.o: ../include/events.h
@@ -139,7 +138,6 @@ smtpd_chat.o: ../include/argv.h
 smtpd_chat.o: ../include/vstring.h
 smtpd_chat.o: ../include/vbuf.h
 smtpd_chat.o: ../include/vstream.h
-smtpd_chat.o: ../include/binattr.h
 smtpd_chat.o: ../include/stringops.h
 smtpd_chat.o: ../include/line_wrap.h
 smtpd_chat.o: ../include/mymalloc.h
@@ -170,7 +168,6 @@ smtpd_check.o: ../include/argv.h
 smtpd_check.o: ../include/mymalloc.h
 smtpd_check.o: ../include/dict.h
 smtpd_check.o: ../include/vstream.h
-smtpd_check.o: ../include/binattr.h
 smtpd_check.o: ../include/htable.h
 smtpd_check.o: ../include/dns.h
 smtpd_check.o: ../include/namadr_list.h
@@ -198,7 +195,6 @@ smtpd_peer.o: ../include/vstring.h
 smtpd_peer.o: ../include/vbuf.h
 smtpd_peer.o: smtpd.h
 smtpd_peer.o: ../include/vstream.h
-smtpd_peer.o: ../include/binattr.h
 smtpd_peer.o: ../include/argv.h
 smtpd_peer.o: ../include/mail_stream.h
 smtpd_sasl_glue.o: smtpd_sasl_glue.c
@@ -212,7 +208,6 @@ smtpd_sasl_glue.o: ../include/smtp_stream.h
 smtpd_sasl_glue.o: ../include/vstring.h
 smtpd_sasl_glue.o: ../include/vbuf.h
 smtpd_sasl_glue.o: ../include/vstream.h
-smtpd_sasl_glue.o: ../include/binattr.h
 smtpd_sasl_glue.o: smtpd.h
 smtpd_sasl_glue.o: ../include/argv.h
 smtpd_sasl_glue.o: ../include/mail_stream.h
@@ -226,7 +221,6 @@ smtpd_sasl_proto.o: ../include/mail_params.h
 smtpd_sasl_proto.o: ../include/mail_proto.h
 smtpd_sasl_proto.o: ../include/vstream.h
 smtpd_sasl_proto.o: ../include/vbuf.h
-smtpd_sasl_proto.o: ../include/binattr.h
 smtpd_sasl_proto.o: ../include/iostuff.h
 smtpd_sasl_proto.o: ../include/mail_error.h
 smtpd_sasl_proto.o: ../include/name_mask.h
@@ -244,7 +238,6 @@ smtpd_state.o: ../include/events.h
 smtpd_state.o: ../include/mymalloc.h
 smtpd_state.o: ../include/vstream.h
 smtpd_state.o: ../include/vbuf.h
-smtpd_state.o: ../include/binattr.h
 smtpd_state.o: ../include/name_mask.h
 smtpd_state.o: ../include/msg.h
 smtpd_state.o: ../include/cleanup_user.h
index a1ed45b5edd085957204aaf39cc5e413ca3adf48..46771e3a155fa6eba99a4d366c57888ea5738aa8 100644 (file)
@@ -270,11 +270,11 @@ char   *smtpd_sasl_authenticate(SMTPD_STATE *state,
     const char *errstr = 0;
 
 #define IFELSE(e1,e2,e3) ((e1) ? (e2) : (e3))
-#define LOG_IFSET(text,var) IFELSE((var),(text),""), IFELSE((var),(var),"")
 
     if (msg_verbose)
        msg_info("%s: sasl_method %s%s%s", myname, sasl_method,
-                LOG_IFSET(", init_response ", init_response));
+                IFELSE(init_response, ", init_response ", ""),
+                IFELSE(init_response, init_response, ""));
 
     /*
      * Sanity check.
index 5fc374d566ce2f37a2f9c7d7a717b246235435b7..5f80e3ca815200947d7ec972a385aed2f684865b 100644 (file)
@@ -194,13 +194,15 @@ char   *smtpd_sasl_mail_opt(SMTPD_STATE *state, const char *addr)
 void    smtpd_sasl_mail_log(SMTPD_STATE *state)
 {
 #define IFELSE(e1,e2,e3) ((e1) ? (e2) : (e3))
-#define LOG_IFSET(text,var) IFELSE((var),(text),""), IFELSE((var),(var),"")
 
-    msg_info("%s: client=%s[%s]%s%s%s%s",
+    msg_info("%s: client=%s[%s]%s%s%s%s%s%s",
             state->queue_id, state->name, state->addr,
-            LOG_IFSET(", sasl_method=", state->sasl_method),
-            LOG_IFSET(", sasl_username=", state->sasl_username),
-            LOG_IFSET(", sasl_sender=", state->sasl_sender));
+            IFELSE(state->sasl_method, ", sasl_method=", ""),
+            IFELSE(state->sasl_method, state->sasl_method, ""),
+            IFELSE(state->sasl_username, ", sasl_username=", ""),
+            IFELSE(state->sasl_username, state->sasl_username, ""),
+            IFELSE(state->sasl_sender, ", sasl_sender=", ""),
+            IFELSE(state->sasl_sender, state->sasl_sender, ""));
 }
 
 /* smtpd_sasl_mail_reset - SASL-specific MAIL FROM cleanup */
index da2794c34b645fa39ac809debac02df0fb287d5f..702f55cf64bf505c3ae2a381670e3727c58dc5c9 100644 (file)
@@ -67,7 +67,6 @@ smtp-sink.o: ../include/msg.h
 smtp-sink.o: ../include/vstring.h
 smtp-sink.o: ../include/vbuf.h
 smtp-sink.o: ../include/vstream.h
-smtp-sink.o: ../include/binattr.h
 smtp-sink.o: ../include/vstring_vstream.h
 smtp-sink.o: ../include/get_hostname.h
 smtp-sink.o: ../include/listen.h
@@ -82,7 +81,6 @@ smtp-source.o: ../include/msg.h
 smtp-source.o: ../include/msg_vstream.h
 smtp-source.o: ../include/vstream.h
 smtp-source.o: ../include/vbuf.h
-smtp-source.o: ../include/binattr.h
 smtp-source.o: ../include/vstring.h
 smtp-source.o: ../include/vstring_vstream.h
 smtp-source.o: ../include/get_hostname.h
index 536edc19d51ebcee5647470ffb320092fef57a70..d535d6df0b20d64438faea114fd48f8ab1966e17 100644 (file)
@@ -60,7 +60,6 @@ spawn.o: ../include/argv.h
 spawn.o: ../include/dict.h
 spawn.o: ../include/vstream.h
 spawn.o: ../include/vbuf.h
-spawn.o: ../include/binattr.h
 spawn.o: ../include/mymalloc.h
 spawn.o: ../include/spawn_command.h
 spawn.o: ../include/split_at.h
index 7aa7d8b8be612764f7fd816fe2457b039b5ff366..07fc185e2f64d250fae77dbd519429e0ac68e3a8 100644 (file)
@@ -65,7 +65,6 @@ resolve.o: ../include/msg.h
 resolve.o: ../include/vstring.h
 resolve.o: ../include/vbuf.h
 resolve.o: ../include/vstream.h
-resolve.o: ../include/binattr.h
 resolve.o: ../include/vstring_vstream.h
 resolve.o: ../include/split_at.h
 resolve.o: ../include/mail_params.h
@@ -86,7 +85,6 @@ rewrite.o: ../include/msg.h
 rewrite.o: ../include/vstring.h
 rewrite.o: ../include/vbuf.h
 rewrite.o: ../include/vstream.h
-rewrite.o: ../include/binattr.h
 rewrite.o: ../include/vstring_vstream.h
 rewrite.o: ../include/split_at.h
 rewrite.o: ../include/mail_params.h
@@ -107,7 +105,6 @@ transport.o: ../include/mymalloc.h
 transport.o: ../include/split_at.h
 transport.o: ../include/dict.h
 transport.o: ../include/vstream.h
-transport.o: ../include/binattr.h
 transport.o: ../include/argv.h
 transport.o: ../include/mail_params.h
 transport.o: ../include/maps.h
@@ -118,7 +115,6 @@ trivial-rewrite.o: ../include/msg.h
 trivial-rewrite.o: ../include/vstring.h
 trivial-rewrite.o: ../include/vbuf.h
 trivial-rewrite.o: ../include/vstream.h
-trivial-rewrite.o: ../include/binattr.h
 trivial-rewrite.o: ../include/vstring_vstream.h
 trivial-rewrite.o: ../include/split_at.h
 trivial-rewrite.o: ../include/stringops.h
index dda83a1131a0ac7ce1ddce04fc3172c9ed7f9046..c0a48c3941122e0c3c8ac7eebc94e5da2a5d7dbb 100644 (file)
@@ -21,7 +21,7 @@ SRCS  = argv.c argv_split.c attr.c basename.c binhash.c chroot_uid.c \
        write_buf.c write_wait.c dict_unix.c dict_pcre.c stream_listen.c \
        stream_connect.c stream_trigger.c dict_regexp.c mac_expand.c \
        clean_env.c watchdog.c spawn_command.c duplex_pipe.c sane_rename.c \
-       sane_link.c unescape.c timed_read.c timed_write.c binattr.c 
+       sane_link.c unescape.c timed_read.c timed_write.c 
 OBJS   = argv.o argv_split.o attr.o basename.o binhash.o chroot_uid.o \
        close_on_exec.o concatenate.o dict.o dict_db.o dict_dbm.o \
        dict_env.o dict_ht.o dict_ldap.o dict_mysql.o dict_ni.o dict_nis.o \
@@ -44,7 +44,7 @@ OBJS  = argv.o argv_split.o attr.o basename.o binhash.o chroot_uid.o \
        write_buf.o write_wait.o dict_unix.o dict_pcre.o stream_listen.o \
        stream_connect.o stream_trigger.o dict_regexp.o mac_expand.o \
        clean_env.o watchdog.o spawn_command.o duplex_pipe.o sane_rename.o \
-       sane_link.o unescape.o timed_read.o timed_write.o binattr.o 
+       sane_link.o unescape.o timed_read.o timed_write.o 
 HDRS   = argv.h attr.h binhash.h chroot_uid.h connect.h dict.h dict_db.h \
        dict_dbm.h dict_env.h dict_ht.h dict_ldap.h dict_mysql.h \
        dict_ni.h dict_nis.h dict_nisplus.h dir_forest.h events.h \
@@ -59,7 +59,7 @@ HDRS  = argv.h attr.h binhash.h chroot_uid.h connect.h dict.h dict_db.h \
        timed_connect.h timed_wait.h trigger.h username.h valid_hostname.h \
        vbuf.h vbuf_print.h vstream.h vstring.h vstring_vstream.h \
        dict_unix.h dict_pcre.h dict_regexp.h mac_expand.h clean_env.h \
-       watchdog.h spawn_command.h sane_fsops.h binattr.h
+       watchdog.h spawn_command.h sane_fsops.h 
 TESTSRC        = fifo_open.c fifo_rdwr_bug.c fifo_rdonly_bug.c select_bug.c \
        stream_test.c dup2_pass_on_exec.c
 WARN   = -W -Wformat -Wimplicit -Wmissing-prototypes \
@@ -315,11 +315,6 @@ basename.o: sys_defs.h
 basename.o: stringops.h
 basename.o: vstring.h
 basename.o: vbuf.h
-binattr.o: binattr.c
-binattr.o: sys_defs.h
-binattr.o: mymalloc.h
-binattr.o: htable.h
-binattr.o: binattr.h
 binhash.o: binhash.c
 binhash.o: sys_defs.h
 binhash.o: mymalloc.h
@@ -350,7 +345,6 @@ dict.o: htable.h
 dict.o: mymalloc.h
 dict.o: vstream.h
 dict.o: vbuf.h
-dict.o: binattr.h
 dict.o: vstring.h
 dict.o: readlline.h
 dict.o: mac_parse.h
@@ -368,7 +362,6 @@ dict_db.o: iostuff.h
 dict_db.o: myflock.h
 dict_db.o: dict.h
 dict_db.o: vstream.h
-dict_db.o: binattr.h
 dict_db.o: argv.h
 dict_db.o: dict_db.h
 dict_dbm.o: dict_dbm.c
@@ -381,7 +374,6 @@ dict_env.o: safe.h
 dict_env.o: dict.h
 dict_env.o: vstream.h
 dict_env.o: vbuf.h
-dict_env.o: binattr.h
 dict_env.o: argv.h
 dict_env.o: dict_env.h
 dict_ht.o: dict_ht.c
@@ -391,7 +383,6 @@ dict_ht.o: htable.h
 dict_ht.o: dict.h
 dict_ht.o: vstream.h
 dict_ht.o: vbuf.h
-dict_ht.o: binattr.h
 dict_ht.o: argv.h
 dict_ht.o: dict_ht.h
 dict_ldap.o: dict_ldap.c
@@ -408,7 +399,6 @@ dict_nis.o: vstring.h
 dict_nis.o: vbuf.h
 dict_nis.o: dict.h
 dict_nis.o: vstream.h
-dict_nis.o: binattr.h
 dict_nis.o: argv.h
 dict_nis.o: dict_nis.h
 dict_nisplus.o: dict_nisplus.c
@@ -419,7 +409,6 @@ dict_nisplus.o: htable.h
 dict_nisplus.o: dict.h
 dict_nisplus.o: vstream.h
 dict_nisplus.o: vbuf.h
-dict_nisplus.o: binattr.h
 dict_nisplus.o: argv.h
 dict_nisplus.o: dict_nisplus.h
 dict_open.o: dict_open.c
@@ -430,7 +419,6 @@ dict_open.o: msg.h
 dict_open.o: dict.h
 dict_open.o: vstream.h
 dict_open.o: vbuf.h
-dict_open.o: binattr.h
 dict_open.o: dict_env.h
 dict_open.o: dict_unix.h
 dict_open.o: dict_dbm.h
@@ -455,7 +443,6 @@ dict_regexp.o: msg.h
 dict_regexp.o: safe.h
 dict_regexp.o: vstream.h
 dict_regexp.o: vbuf.h
-dict_regexp.o: binattr.h
 dict_regexp.o: vstring.h
 dict_regexp.o: stringops.h
 dict_regexp.o: readlline.h
@@ -471,7 +458,6 @@ dict_unix.o: vstring.h
 dict_unix.o: vbuf.h
 dict_unix.o: dict.h
 dict_unix.o: vstream.h
-dict_unix.o: binattr.h
 dict_unix.o: argv.h
 dict_unix.o: dict_unix.h
 dir_forest.o: dir_forest.c
@@ -638,7 +624,6 @@ match_list.o: mymalloc.h
 match_list.o: vstring.h
 match_list.o: vbuf.h
 match_list.o: vstream.h
-match_list.o: binattr.h
 match_list.o: vstring_vstream.h
 match_list.o: stringops.h
 match_list.o: argv.h
@@ -652,7 +637,6 @@ match_ops.o: split_at.h
 match_ops.o: dict.h
 match_ops.o: vstream.h
 match_ops.o: vbuf.h
-match_ops.o: binattr.h
 match_ops.o: argv.h
 match_ops.o: match_ops.h
 match_ops.o: stringops.h
@@ -667,7 +651,6 @@ msg_output.o: mymalloc.h
 msg_output.o: vstring.h
 msg_output.o: vbuf.h
 msg_output.o: vstream.h
-msg_output.o: binattr.h
 msg_output.o: msg_vstream.h
 msg_output.o: stringops.h
 msg_output.o: percentm.h
@@ -684,7 +667,6 @@ msg_vstream.o: msg_vstream.c
 msg_vstream.o: sys_defs.h
 msg_vstream.o: vstream.h
 msg_vstream.o: vbuf.h
-msg_vstream.o: binattr.h
 msg_vstream.o: msg.h
 msg_vstream.o: msg_output.h
 msg_vstream.o: msg_vstream.h
@@ -730,7 +712,6 @@ open_lock.o: sys_defs.h
 open_lock.o: msg.h
 open_lock.o: vstream.h
 open_lock.o: vbuf.h
-open_lock.o: binattr.h
 open_lock.o: vstring.h
 open_lock.o: safe_open.h
 open_lock.o: myflock.h
@@ -763,7 +744,6 @@ readlline.o: readlline.c
 readlline.o: sys_defs.h
 readlline.o: vstream.h
 readlline.o: vbuf.h
-readlline.o: binattr.h
 readlline.o: vstring.h
 readlline.o: readlline.h
 ring.o: ring.c
@@ -776,7 +756,6 @@ safe_open.o: sys_defs.h
 safe_open.o: msg.h
 safe_open.o: vstream.h
 safe_open.o: vbuf.h
-safe_open.o: binattr.h
 safe_open.o: vstring.h
 safe_open.o: safe_open.h
 sane_accept.o: sane_accept.c
@@ -803,7 +782,6 @@ select_bug.o: sys_defs.h
 select_bug.o: msg.h
 select_bug.o: vstream.h
 select_bug.o: vbuf.h
-select_bug.o: binattr.h
 select_bug.o: msg_vstream.h
 set_eugid.o: set_eugid.c
 set_eugid.o: sys_defs.h
@@ -858,7 +836,6 @@ stream_test.o: msg.h
 stream_test.o: msg_vstream.h
 stream_test.o: vstream.h
 stream_test.o: vbuf.h
-stream_test.o: binattr.h
 stream_test.o: listen.h
 stream_test.o: connect.h
 stream_trigger.o: stream_trigger.c
@@ -950,14 +927,12 @@ vstream.o: vbuf.h
 vstream.o: iostuff.h
 vstream.o: vstring.h
 vstream.o: vstream.h
-vstream.o: binattr.h
 vstream_popen.o: vstream_popen.c
 vstream_popen.o: sys_defs.h
 vstream_popen.o: msg.h
 vstream_popen.o: exec_command.h
 vstream_popen.o: vstream.h
 vstream_popen.o: vbuf.h
-vstream_popen.o: binattr.h
 vstream_popen.o: argv.h
 vstream_popen.o: set_ugid.h
 vstream_popen.o: clean_env.h
@@ -975,7 +950,6 @@ vstring_vstream.o: msg.h
 vstring_vstream.o: vstring.h
 vstring_vstream.o: vbuf.h
 vstring_vstream.o: vstream.h
-vstring_vstream.o: binattr.h
 vstring_vstream.o: vstring_vstream.h
 watchdog.o: watchdog.c
 watchdog.o: sys_defs.h
diff --git a/postfix/util/binattr.c b/postfix/util/binattr.c
deleted file mode 100644 (file)
index a50f58e..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-/*++
-/* NAME
-/*     binattr 3
-/* SUMMARY
-/*     binary-valued attribute list manager
-/* SYNOPSIS
-/*     #include <binattr.h>
-/*
-/*     typedef struct {
-/* .in +4
-/*             char    *key;
-/*             char    *value;
-/*             /* private fields... */
-/* .in -4
-/*     } BINATTR_ENTRY;
-/*
-/*     BINATTR *binattr_create(size)
-/*     int     size;
-/*
-/*     char    *binattr_get(table, name)
-/*     BINATTR *table;
-/*     const char *name;
-/*
-/*     BINATTR_ENTRY *binattr_set(table, name, value, free_fn)
-/*     BINATTR *table;
-/*     const char *name;
-/*     void    (*free_fn)(char *);
-/*
-/*     void    binattr_unset(table, name)
-/*     BINATTR *table;
-/*     const char *name;
-/*
-/*     void    binattr_free(table)
-/*     BINATTR *table;
-/* DESCRIPTION
-/*     This module maintains open attribute lists of arbitrary
-/*     binary values. Each attribute has a string-valued name.
-/*     The caller specifies the memory management policy for
-/*     attribute values, which can be arbitrary binary data.
-/*     Attribute lists grow on demand as entries are added.
-/*
-/*     binattr_create() creates a table of the specified size,
-/*     or whatever the underlying code deems suitable.
-/*
-/*     binattr_get() looks up the named attribute in the specified
-/*     attribute list, and returns the value that was stored with
-/*     binattr_set(). The result is a null pointer when the requested
-/*     information is not found.
-/*
-/*     binattr_set() adds or replaces the named entry in the specified
-/*     attribute list.  This function expects as attribute value a
-/*     generic character pointer. Use proper casts when storing data of
-/*     a different type, or the result will be undefined.
-/*
-/*     binattr_unset() removes the named attribute from the specified
-/*     attribute list. This operation is undefined for non-existing
-/*     attributes.
-/*
-/*     binattr_free() destroys the specified attribute list including
-/*     the information that is stored in it.
-/*
-/*     Arguments:
-/* .IP table
-/*     Open attribute list created with binattr_create.
-/* .IP name
-/*     Attribute name. Attribute names are unique within a list.
-/* .IP value
-/*     The value stored under the named attribute.
-/* .IP free_fn
-/*     Pointer to function that destroys the value stored under the
-/*     named attribute, or a null pointer.
-/* DIAGNOSTICS
-/*     Panic: interface violations and internal consistency problems.
-/*     Fatal errors: out of memory.
-/* LICENSE
-/* .ad
-/* .fi
-/*     The Secure Mailer license must be distributed with this software.
-/* AUTHOR(S)
-/*     Wietse Venema
-/*     IBM T.J. Watson Research
-/*     P.O. Box 704
-/*     Yorktown Heights, NY 10598, USA
-/*--*/
-
-/* System library. */
-
-#include <sys_defs.h>
-
-/* Utility library. */
-
-#include <mymalloc.h>
-#include <htable.h>
-#include "binattr.h"
-
-/* binattr_create - create binary attribute list */
-
-BINATTR *binattr_create(int size)
-{
-    return (htable_create(size));
-}
-
-/* binattr_free - destroy binary attribute list */
-
-void    binattr_free(BINATTR *table)
-{
-    HTABLE_INFO **info;
-    HTABLE_INFO **ht;
-    BINATTR_INFO *h;
-
-    for (ht = info = htable_list(table); *ht != 0; ht++) {
-       h = (BINATTR_INFO *) (ht[0]->value);
-       if (h->free_fn)
-           h->free_fn(h->value);
-    }
-    myfree((char *) info);
-}
-
-/* binattr_get - look up binary attribute */
-
-char   *binattr_get(BINATTR *table, const char *name)
-{
-    BINATTR_INFO *info;
-
-    return ((info = (BINATTR_INFO *) htable_find(table, name)) == 0 ? 0 : info->value);
-}
-
-/* binattr_set - set or replace binary attribute */
-
-BINATTR_INFO *binattr_set(BINATTR *table, const char *name, char *value, BINATTR_FREE_FN free_fn)
-{
-    BINATTR_INFO *info;
-
-    if ((info = (BINATTR_INFO *) htable_find(table, name)) != 0) {
-       if (info->value != value) {
-           if (info->free_fn)
-               info->free_fn(info->value);
-           info->value = value;
-       }
-       info->free_fn = free_fn;
-    } else {
-       info = (BINATTR_INFO *) mymalloc(sizeof(*info));
-       info->value = value;
-       info->free_fn = free_fn;
-       htable_enter(table, name, (char *) info);
-    }
-    return (info);
-}
-
-/* binattr_free_callback - destructor callback */
-
-static void binattr_free_callback(char *ptr)
-{
-    BINATTR_INFO *info = (BINATTR_INFO *) ptr;
-
-    if (info->free_fn)
-       info->free_fn(info->value);
-}
-
-/* binattr_unset - remove attribute */
-
-void    binattr_unset(BINATTR *table, const char *name)
-{
-    htable_delete(table, name, binattr_free_callback);
-}
diff --git a/postfix/util/binattr.h b/postfix/util/binattr.h
deleted file mode 100644 (file)
index d69b9bd..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef _BINATTR_H_INCLUDED_
-#define _BINATTR_H_INCLUDED_
-
-/*++
-/* NAME
-/*     binattr 3h
-/* SUMMARY
-/*     binary-valued attribute list manager
-/* SYNOPSIS
-/*     #include <binattr.h>
-/* DESCRIPTION
-/* .nf
-
- /* Structure of one hash table entry. */
-
-typedef void (*BINATTR_FREE_FN) (char *);
-
-typedef struct BINATTR_INFO {
-    char   *key;                       /* lookup key */
-    char   *value;                     /* associated value */
-    BINATTR_FREE_FN free_fn;           /* destructor */
-} BINATTR_INFO;
-
- /* Structure of one hash table. */
-
-typedef struct HTABLE BINATTR;
-
-extern BINATTR *binattr_create(int);
-extern void binattr_free(BINATTR *);
-extern char *binattr_get(BINATTR *, const char *);
-extern BINATTR_INFO *binattr_set(BINATTR *, const char *, char *, BINATTR_FREE_FN);
-extern void binattr_unset(BINATTR *, const char *);
-
-/* LICENSE
-/* .ad
-/* .fi
-/*     The Secure Mailer license must be distributed with this software.
-/* AUTHOR(S)
-/*     Wietse Venema
-/*     IBM T.J. Watson Research
-/*     P.O. Box 704
-/*     Yorktown Heights, NY 10598, USA
-/* CREATION DATE
-/*     Fri Feb 14 13:43:19 EST 1997
-/* LAST MODIFICATION
-/*     %E% %U%
-/* VERSION/RELEASE
-/*     %I%
-/*--*/
-
-#endif
index 400eaf9a49bd39d612e27bb63cc7cec2e213a903..246cf492d13e92f971072db6aa4963a7b7d57e85 100644 (file)
@@ -22,7 +22,6 @@
   * Utility library.
   */
 #include <vbuf.h>
-#include <binattr.h>
 
  /*
   * Simple buffered stream. The members of this structure are not part of the