]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.3-20060201
authorWietse Venema <wietse@porcupine.org>
Wed, 1 Feb 2006 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:32:08 +0000 (06:32 +0000)
64 files changed:
postfix/HISTORY
postfix/Makefile.in
postfix/RELEASE_NOTES
postfix/html/oqmgr.8.html
postfix/html/postconf.1.html
postfix/html/qmgr.8.html
postfix/html/smtp.8.html
postfix/html/smtpd.8.html
postfix/man/man8/smtp.8
postfix/man/man8/smtpd.8
postfix/src/anvil/Makefile.in
postfix/src/bounce/Makefile.in
postfix/src/cleanup/Makefile.in
postfix/src/discard/Makefile.in
postfix/src/dns/Makefile.in
postfix/src/dns/dns_lookup.c
postfix/src/error/Makefile.in
postfix/src/flush/Makefile.in
postfix/src/fsstone/Makefile.in
postfix/src/global/Makefile.in
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/global/resolve_clnt.c
postfix/src/global/resolve_clnt.ref
postfix/src/global/rewrite_clnt.ref
postfix/src/local/Makefile.in
postfix/src/master/Makefile.in
postfix/src/oqmgr/Makefile.in
postfix/src/pickup/Makefile.in
postfix/src/pipe/Makefile.in
postfix/src/postalias/Makefile.in
postfix/src/postcat/Makefile.in
postfix/src/postconf/Makefile.in
postfix/src/postdrop/Makefile.in
postfix/src/postfix/Makefile.in
postfix/src/postkick/Makefile.in
postfix/src/postlock/Makefile.in
postfix/src/postlog/Makefile.in
postfix/src/postmap/Makefile.in
postfix/src/postqueue/Makefile.in
postfix/src/postsuper/Makefile.in
postfix/src/proxymap/Makefile.in
postfix/src/qmgr/Makefile.in
postfix/src/qmqpd/Makefile.in
postfix/src/scache/Makefile.in
postfix/src/sendmail/Makefile.in
postfix/src/showq/Makefile.in
postfix/src/smtp/Makefile.in
postfix/src/smtp/smtp.c
postfix/src/smtp/smtp_connect.c
postfix/src/smtpd/Makefile.in
postfix/src/smtpd/smtpd.c
postfix/src/smtpstone/Makefile.in
postfix/src/spawn/Makefile.in
postfix/src/tls/Makefile.in
postfix/src/tlsmgr/Makefile.in
postfix/src/trivial-rewrite/Makefile.in
postfix/src/trivial-rewrite/rewrite.c
postfix/src/util/Makefile.in
postfix/src/util/unix_recv_fd.c
postfix/src/util/unix_send_fd.c
postfix/src/verify/Makefile.in
postfix/src/virtual/Makefile.in
postfix/src/xsasl/Makefile.in

index d79db3f04acdb248470fcbd15a67ca5569a8880f..8adfd6df9bf23ca02daf0da1a0a0e5b51f993850 100644 (file)
@@ -11844,9 +11844,9 @@ Apologies for any names omitted.
 
 20060117
 
-       Safety: daemon processes that need no privileges now insist
-       that they are configured to run without privileges.  Files:
-       master/single_server.c, master/multi_server.c,
+       [withdrawn 20060126] Safety: daemon processes that need no
+       privileges now insist that they are configured to run without
+       privileges.  Files: master/single_server.c, master/multi_server.c,
        master/trigger_server.c.
 
        Cleanup: preserve upper case information of address localpart
@@ -11940,9 +11940,54 @@ Apologies for any names omitted.
        "sendmail -bs", "postconf -b", "postconf -t", and probably
        more. Files: master/{single,multi,trigger}_server.c.
 
-Open problems:
+20060130
 
-       select->poll, kqueue, ...
+       Bugfix: an empty remote_header_rewrite_domain value caused
+       trivial-rewrite to dereference a null pointer, but only in
+       regression tests, not in production. Envelope addresses are
+       by definition rewritten in the local domain context, because
+       an address without domain is equivalent to an address in
+       the local domain; and header addresses are rewritten in the
+       remote context only when remote_header_rewrite_domain is
+       non-empty.  File: trivial-rewrite/rewrite.c.
+
+20060131
+
+       Cleanup: regression tests are now separated into "make
+       tests" for unprivileged tests, and "make root_tests" for
+       tests that require privileges to connect to the Postfix
+       internal sockets. Files Makefile.in, src/*/Makefile.in.
+
+20060201
+
+       Bugfix: despite efforts to treat malformed domain names in
+       DNS replies as hard errors (change 20050726) they were still
+       processed as soft errors. File: dns/dns_lookup.c.
+
+Open issues:
+
+       Investigate if it is feasible to eliminate cleanup(8) from
+       the path of mail that is forwarded or generated internally.
+       Good: we don't want header rewriting or content inspection.
+       Bad: we still need virtual aliasing, even when mail is
+       forwarded internally. This almost seems to imply that we
+       do virtual aliasing earlier?
+
+       Investigate what it would take to eliminate oqmgr, and to
+       make the old behavior configurable in a unified queue manager.
+       This would shave another 2.7 KLOC from the source footprint.
+
+       Document case folding strategy in different maps (access,
+       canonical, etc). Even better: make it configurable, so we
+       can blame the user when they make a mistake :-)
+
+       Eliminate the (incoming,deferred)-active rename operation.
+
+       Softbounce fallback-to-ISP for SOHO users. This requires
+       playing with with the soft_error test in the smtp_trouble.c
+       module, and a way to avoid trying direct-to-MX-backup.
+
+       select -> kqueue, epoll, /dev/poll, poll() ...
 
        Set pipelining flag at start of session and at other protocol
        synchronization points.
@@ -11950,6 +11995,11 @@ Open problems:
        Centralize main.cf parameter input so that defaults work
        consistently.
 
+       Fix default time unit handling so that we can have a default
+       bounce lifetime of $maximal_queue_lifetime, without causing
+       panics when a non-default maximal_queue_lifetime setting
+       includes no time unit.
+
        In second-line servers such as proxymap and trivial-rewrite,
        set the max_idle time limit to a relatively small value so
        that processes will refresh more often.
index 9c9c7b38b8b902454bd77dd4e245b3e92240d756..3d72b4de42fe3543117e04c3d5dce21855bf6fa1 100644 (file)
@@ -22,7 +22,7 @@ makefiles Makefiles:
        done;
        rm -f Makefile; (cat conf/makedefs.out Makefile.in) >Makefile
 
-update printfck tests:
+update printfck tests root_tests:
        set -e; for i in $(DIRS); do \
         (set -e; echo "[$$i]"; cd $$i; $(MAKE) $(OPTS) $@ MAKELEVEL=) || exit 1; \
        done
index 32b9f2279226d43c5a2d0368d9e02ac9db0e02e5..3f88005cd0889e9a81bf595b73a8f4c491db2d0b 100644 (file)
@@ -35,9 +35,6 @@ case, such as regexp:, pcre:, or cidr:.
 For safety reasons, Postfix no longer allows $number substitution
 in regexp: or pcre: transport tables or per-sender relayhost tables.
 
-For safety reasons, daemons that don't need privileges now insist
-that they are configured as unprivileged in master.cf.
-
 Major changes with snapshot 20060123
 ====================================
 
@@ -91,7 +88,7 @@ Major changes with snapshot 20051222
 Dovecot SASL support (SMTP server only). Details can be found
 in the SASL_README document.
 
-You can now use "resolve_numeric_address = yes" to stop Postfix
+You can now use "resolve_numeric_domain = yes" to stop Postfix
 from rejecting user@ipaddress as an invalid destination. It will
 deliver the mail to user@[ipaddress] instead.
 
index 6e25a01e7855b4ee43fa64527cee17a8dd2efa6e..7c8dd84842737834c53b6d0d42f1f5d106b3e5fb 100644 (file)
@@ -176,7 +176,7 @@ OQMGR(8)                                                              OQMGR(8)
        impact outbound delivery rates.
 
 <b>CONFIGURATION PARAMETERS</b>
-       Changes to <b>main.cf</b> are not  picked  up  automatically,  as
+       Changes to <a href="postconf.5.html"><b>main.cf</b></a> are not  picked  up  automatically,  as
        <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> is a persistent process. Use the command "<b>postfix</b>
        <b>reload</b>" after a configuration change.
 
@@ -261,8 +261,8 @@ OQMGR(8)                                                              OQMGR(8)
 
 <b>MISCELLANEOUS CONTROLS</b>
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The  default  location  of  the Postfix main.cf and
-              master.cf configuration files.
+              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
+              <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
               How much time a Postfix daemon process may take  to
index f8046d42169a7e35ce1bfa86c28005b45e504788..02eef42818b375bf133d6138a64152556b00c544 100644 (file)
@@ -59,7 +59,7 @@ POSTCONF(1)                                                        POSTCONF(1)
               sages, with $<b>name</b> expressions  replaced  by  actual
               values.   To  override  the  built-in message text,
               specify a template file at the end of  the  command
-              line,  or  specify  a template file in main.cf with
+              line,  or  specify  a template file in <a href="postconf.5.html">main.cf</a> with
               the  <b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a></b>  parameter.    To   force
               selection  of  the built-in message text templates,
               specify an empty template file name (in shell  lan-
@@ -69,14 +69,14 @@ POSTCONF(1)                                                        POSTCONF(1)
               later.
 
        <b>-c</b> <i>config</i><b>_</b><i>dir</i>
-              The <b>main.cf</b> configuration  file  is  in  the  named
+              The <a href="postconf.5.html"><b>main.cf</b></a> configuration  file  is  in  the  named
               directory  instead  of  the  default  configuration
               directory.
 
        <b>-d</b>     Print default parameter settings instead of  actual
               settings.
 
-       <b>-e</b>     Edit  the  <b>main.cf</b>  configuration file. The file is
+       <b>-e</b>     Edit  the  <a href="postconf.5.html"><b>main.cf</b></a>  configuration file. The file is
               copied to a temporary file then renamed into place.
               Parameters  and values are specified on the command
               line.  Use  quotes  in  order  to   protect   shell
@@ -202,13 +202,13 @@ POSTCONF(1)                                                        POSTCONF(1)
 
        <b>-n</b>     Print parameter settings that are not left at their
               built-in default value, because they are explicitly
-              specified in main.cf.
+              specified in <a href="postconf.5.html">main.cf</a>.
 
        <b>-t</b> [<i>template</i><b>_</b><i>file</i>]
               Display the templates for delivery status notifica-
               tion (DSN) messages. To override the built-in  tem-
               plates,  specify  a template file at the end of the
-              command line, or specify a template file in main.cf
+              command line, or specify a template file in <a href="postconf.5.html">main.cf</a>
               with  the <b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a></b> parameter.  To force
               selection of the  built-in  templates,  specify  an
               empty template file name (in shell language: "").
@@ -228,22 +228,22 @@ POSTCONF(1)                                                        POSTCONF(1)
               Directory with Postfix configuration files.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The following <b>main.cf</b> parameters are  especially  relevant
+       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are  especially  relevant
        to this program.
 
        The  text  below  provides  only  a parameter summary. See
        <a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including examples.
 
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The default location of  the  Postfix  main.cf  and
-              master.cf configuration files.
+              The default location of  the  Postfix  <a href="postconf.5.html">main.cf</a>  and
+              <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a> (empty)</b>
               Pathname  of  a configuration file with bounce mes-
               sage templates.
 
 <b>FILES</b>
-       /etc/postfix/main.cf, Postfix configuration parameters
+       /etc/postfix/<a href="postconf.5.html">main.cf</a>, Postfix configuration parameters
 
 <b>SEE ALSO</b>
        <a href="bounce.5.html">bounce(5)</a>, bounce template file format
index e74a5817ae3c28db720cd62b118ef7e9f71da488..9c14ce638902f90bc25a91fcfe98e85c5d57d381 100644 (file)
@@ -182,7 +182,7 @@ QMGR(8)                                                                QMGR(8)
        impact outbound delivery rates.
 
 <b>CONFIGURATION PARAMETERS</b>
-       Changes  to  <b>main.cf</b>  are  not  picked up automatically as
+       Changes  to  <a href="postconf.5.html"><b>main.cf</b></a>  are  not  picked up automatically as
        <a href="qmgr.8.html"><b>qmgr</b>(8)</a> is a persistent process. Use the "<b>postfix  reload</b>"
        command after a configuration change.
 
@@ -316,8 +316,8 @@ QMGR(8)                                                                QMGR(8)
 
 <b>MISCELLANEOUS CONTROLS</b>
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The  default  location  of  the Postfix main.cf and
-              master.cf configuration files.
+              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
+              <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
               How much time a Postfix daemon process may take  to
index 54aef3151773e33cb9b7d215d8388c124d9f22f3..7149c1885fb3bd1a998f7a6d22d9b1b2077fc6cf 100644 (file)
@@ -105,12 +105,14 @@ SMTP(8)                                                                SMTP(8)
        <a href="http://www.faqs.org/rfcs/rfc1652.html">RFC 1652</a> (8bit-MIME transport)
        <a href="http://www.faqs.org/rfcs/rfc1870.html">RFC 1870</a> (Message Size Declaration)
        <a href="http://www.faqs.org/rfcs/rfc2033.html">RFC 2033</a> (LMTP protocol)
+       <a href="http://www.faqs.org/rfcs/rfc2034.html">RFC 2034</a> (SMTP Enhanced Error Codes)
        <a href="http://www.faqs.org/rfcs/rfc2045.html">RFC 2045</a> (MIME: Format of Internet Message Bodies)
        <a href="http://www.faqs.org/rfcs/rfc2046.html">RFC 2046</a> (MIME: Media Types)
        <a href="http://www.faqs.org/rfcs/rfc2554.html">RFC 2554</a> (AUTH command)
        <a href="http://www.faqs.org/rfcs/rfc2821.html">RFC 2821</a> (SMTP protocol)
        <a href="http://www.faqs.org/rfcs/rfc2920.html">RFC 2920</a> (SMTP Pipelining)
        <a href="http://www.faqs.org/rfcs/rfc3207.html">RFC 3207</a> (STARTTLS command)
+       <a href="http://www.faqs.org/rfcs/rfc3461.html">RFC 3461</a> (SMTP DSN Extension)
        <a href="http://www.faqs.org/rfcs/rfc3463.html">RFC 3463</a> (Enhanced Status Codes)
 
 <b>DIAGNOSTICS</b>
@@ -378,7 +380,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> (empty)</b>
               Optional lookup tables with the Postfix SMTP client
-              TLS  usage  policy  by  next-hop domain name and by
+              TLS  usage  policy  by  next-hop destination and by
               remote SMTP server hostname.
 
        <b><a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a> (5)</b>
index 303b46bfdac0e83f207ad822315e8ca5810a508a..4920b951f03d8cafdb6c330a34bda43a0adcf486 100644 (file)
@@ -47,6 +47,7 @@ SMTPD(8)                                                              SMTPD(8)
        <a href="http://www.faqs.org/rfcs/rfc1869.html">RFC 1869</a> (SMTP service extensions)
        <a href="http://www.faqs.org/rfcs/rfc1870.html">RFC 1870</a> (Message Size Declaration)
        <a href="http://www.faqs.org/rfcs/rfc1985.html">RFC 1985</a> (ETRN command)
+       <a href="http://www.faqs.org/rfcs/rfc2034.html">RFC 2034</a> (SMTP Enhanced Error Codes)
        <a href="http://www.faqs.org/rfcs/rfc2554.html">RFC 2554</a> (AUTH command)
        <a href="http://www.faqs.org/rfcs/rfc2821.html">RFC 2821</a> (SMTP protocol)
        <a href="http://www.faqs.org/rfcs/rfc2920.html">RFC 2920</a> (SMTP Pipelining)
index 5c82b4c33e2258092436506dc0d891edc4f7d3b0..5877a72b2ee259221a74236cc712b6aa35388597 100644 (file)
@@ -99,12 +99,14 @@ RFC 1651 (SMTP service extensions)
 RFC 1652 (8bit-MIME transport)
 RFC 1870 (Message Size Declaration)
 RFC 2033 (LMTP protocol)
+RFC 2034 (SMTP Enhanced Error Codes)
 RFC 2045 (MIME: Format of Internet Message Bodies)
 RFC 2046 (MIME: Media Types)
 RFC 2554 (AUTH command)
 RFC 2821 (SMTP protocol)
 RFC 2920 (SMTP Pipelining)
 RFC 3207 (STARTTLS command)
+RFC 3461 (SMTP DSN Extension)
 RFC 3463 (Enhanced Status Codes)
 .SH DIAGNOSTICS
 .ad
@@ -319,7 +321,7 @@ Log the hostname of a remote SMTP server that offers STARTTLS,
 when TLS is not already enabled for that server.
 .IP "\fBsmtp_tls_per_site (empty)\fR"
 Optional lookup tables with the Postfix SMTP client TLS usage
-policy by next-hop domain name and by remote SMTP server hostname.
+policy by next-hop destination and by remote SMTP server hostname.
 .IP "\fBsmtp_tls_scert_verifydepth (5)\fR"
 The verification depth for remote SMTP server certificates.
 .IP "\fBsmtp_tls_session_cache_database (empty)\fR"
index fdc89d215175836a9a9868fc5477f9735854f211..59e4a04576f9d20c47f05ae81eeff8ee559d91ab 100644 (file)
@@ -50,6 +50,7 @@ RFC 1652 (8bit-MIME transport)
 RFC 1869 (SMTP service extensions)
 RFC 1870 (Message Size Declaration)
 RFC 1985 (ETRN command)
+RFC 2034 (SMTP Enhanced Error Codes)
 RFC 2554 (AUTH command)
 RFC 2821 (SMTP protocol)
 RFC 2920 (SMTP Pipelining)
index f753a2067bbb8a09f072271b5690427ee8759ed4..3a40defa900ff727ac8faea7b70072960d9f02b1 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index 17f58620cd362d9fa67c5d42fe67dd1227781817..2916a25c2f82b10f0ae80887d5c9f377d5ce4dfd 100644 (file)
@@ -42,6 +42,8 @@ test: $(TESTPROG)
 
 tests: update template_test 2template_test
 
+root_tests:
+
 update: ../../libexec/$(PROG) $(SAMPLES)
 
 ../../libexec/$(PROG): $(PROG)
@@ -67,9 +69,9 @@ tidy: clean
 # Avoid dependency on installed Postfix.
 # XXX This still requires that default_privs, mail_owner etc. accounts exist.
 template_test: $(PROG) main.cf template_test.ref
-       MAIL_CONFIG=. ./$(PROG) -SVuzndump_templates >template_test.tmp
+       MAIL_CONFIG=. ./$(PROG) -SVzndump_templates >template_test.tmp
        diff template_test.ref template_test.tmp
-       MAIL_CONFIG=. ./$(PROG) -SVuzndump_templates \
+       MAIL_CONFIG=. ./$(PROG) -SVzndump_templates \
            -o bounce_template_file=template_test.ref > template_test.tmp
        diff template_test.ref template_test.tmp
        rm -f template_test.tmp
index bb287d094ea9d2c3c9130ad3a0bacba4bf30cdbb..3e09e7fe4c34ced35ccb662b3f67e2ef8496d52c 100644 (file)
@@ -30,8 +30,6 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
-
 update: ../../libexec/$(PROG)
 
 ../../libexec/$(PROG): $(PROG)
@@ -61,6 +59,8 @@ cleanup_masquerade: cleanup_masquerade.o
 
 tests: cleanup_masquerade_test
 
+root_tests:
+
 cleanup_masquerade_test: cleanup_masquerade cleanup_masq.ref
        rm -f cleanup_masq.tmp
        ./cleanup_masquerade '' a.b.c,b.c xxx@aa.a.b.c    >>cleanup_masq.tmp
index e3df656ad29504e51ca5f049654fdfb379fdab28..df547859466bf17131da6b17de540ee9532253e6 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index 8144875cf1a1afbd57010e30a21cc19e6579106a..2ed6fd65dda63b0b071cfdad01c96c90bac39a27 100644 (file)
@@ -28,6 +28,8 @@ test: $(TESTPROG)
 tests: test dns_rr_to_pa_test dns_rr_to_sa_test dns_sa_to_rr_test \
        dns_rr_eq_sa_test
 
+root_tests:
+
 $(LIB):        $(OBJS)
        $(AR) $(ARFL) $(LIB) $?
        $(RANLIB) $(LIB)
index 5ec5b8fe4533cef57a004ab22a052a5fcf7e107b..473a3d202a0ea78360b6bc66366a35ead2ebe558 100644 (file)
@@ -456,7 +456,7 @@ static int dns_get_answer(const char *orig_name, DNS_REPLY *reply, int type,
     DNS_RR *rr;
     int     resource_found = 0;
     int     cname_found = 0;
-    int     not_found_status = DNS_RETRY;      /* can't happen */
+    int     not_found_status = DNS_NOTFOUND;   /* can't happen */
     int     status;
 
     /*
index 9dd13f5ef65f118543f2201c793886002f5153b1..86f6a40d3e022a3b9f3b7f43e8fccd4fb4a2eeaa 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index 26b877a0d56328a9a53bce5e3dd4f4cf5458003d..c6d309bc9b3c035b521b02e398aaa90430b201a0 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index 022bd0746da0b588247f7caef17ea7f83757a058..a390e794e56e83df1010d7865f92d9b0b5e2fdb0 100644 (file)
@@ -24,6 +24,10 @@ fsstone: fsstone.o $(LIBS)
 
 test:  $(TESTPROG)
 
+tests:
+
+root_tests:
+
 update: ../../libexec/fsstone
 
 ../../libexec/fsstone: fsstone
index cb9441562921c20e146b46c345a45ac6c1a09c77..fc13115f0fa8b502097038db3939490e04fe35a3 100644 (file)
@@ -276,6 +276,8 @@ tests: tok822_test mime_test mime_nest mime_8bit mime_dom mime_trunc \
        xtext_test scache_multi_test ehlo_mask_test \
        namadr_list_test
 
+root_tests: rewrite_clnt_test resolve_clnt_test
+
 tok822_test: tok822_parse tok822_parse.in tok822_parse.ref
        ./tok822_parse <tok822_parse.in >tok822_parse.tmp 2>&1
        diff tok822_parse.ref tok822_parse.tmp
@@ -340,17 +342,28 @@ xtext_test: xtext
 # Requires: Postfix running, root privileges
 
 rewrite_clnt_test: rewrite_clnt rewrite_clnt.in rewrite_clnt.ref
+       @set -- `id`; case "$$1" in \
+           *"(root)") ;; \
+           *) echo 'This test requires root privilege'; exit 1;; \
+       esac
+       @test -n "`postconf -h remote_header_rewrite_domain`" || { \
+           echo 'This test requires non-empty remote_header_rewrite_domain'; exit 1; }
        ./rewrite_clnt <rewrite_clnt.in >rewrite_clnt.tmp
-       sed "s/MYDOMAIN/`postconf -h mydomain`/" rewrite_clnt.ref | \
-           diff - rewrite_clnt.tmp
+       sed -e "s/MYDOMAIN/`postconf -h mydomain`/" \
+           -e "s/INVALID_DOMAIN/`postconf -h remote_header_rewrite_domain`/" \
+               rewrite_clnt.ref | diff - rewrite_clnt.tmp
        rm -f rewrite_clnt.tmp
 
 # Requires: Postfix, root, relayhost=$mydomain, no transport map
 
 resolve_clnt_test: resolve_clnt resolve_clnt.in resolve_clnt.ref
-       test "`postconf -h relayhost`" = '$$mydomain' || { \
+       @set -- `id`; case "$$1" in \
+           *"(root)") ;; \
+           *) echo 'This test requires root privilege'; exit 1;; \
+       esac
+       @test "`postconf -h relayhost`" = '$$mydomain' || { \
            echo 'This test requires relayhost=$$mydomain'; exit 1; }
-       test "`postconf -h transport_maps`" = "" || { \
+       @test "`postconf -h transport_maps`" = "" || { \
            echo 'This test requires no transport map'; exit 1; }
        sed -e "s/MYDOMAIN/`postconf -h mydomain`/g" \
            -e "s/MYHOSTNAME/`postconf -h myhostname`/g" \
index 9a0c60f0eb83828b4be4f40bb56a1683dc78c39f..7d8eb85e1f2a5d815da041e28a81d10cde5bb9cb 100644 (file)
@@ -646,6 +646,10 @@ extern int var_max_backoff_time;
 #define DEF_MAX_QUEUE_TIME     "5d"
 extern int var_max_queue_time;
 
+ /*
+  * XXX The default can't be $maximal_queue_lifetime, because that panics
+  * when a non-default maximal_queue_lifetime setting contains no time unit.
+  */
 #define VAR_DSN_QUEUE_TIME     "bounce_queue_lifetime"
 #define DEF_DSN_QUEUE_TIME     "5d"
 extern int var_dsn_queue_time;
index 1898c09ed50a210833073be88a60ba8da7592677..210dcab13938aa6f168241225d27779695984c91 100644 (file)
@@ -20,7 +20,7 @@
   * Patches change both the patchlevel and the release date. Snapshots have no
   * patchlevel; they change the release date only.
   */
-#define MAIL_RELEASE_DATE      "20060126"
+#define MAIL_RELEASE_DATE      "20060201"
 #define MAIL_VERSION_NUMBER    "2.3"
 
 #ifdef SNAPSHOT
index 50c95a783f59722647a48b012472a6a2eb70ec6c..182c8688509e2113a135b01b99ec078eb9523a74 100644 (file)
@@ -324,7 +324,7 @@ static void resolve(char *class, char *addr, RESOLVE_REPLY *reply)
     };
     struct RESOLVE_FLAG_TABLE *fp;
 
-    resolve_clnt(class, addr, reply);
+    resolve_clnt(class, RESOLVE_NULL_FROM, addr, reply);
     if (reply->flags & RESOLVE_FLAG_FAIL) {
        vstream_printf("request failed\n");
     } else {
index 4a28f50c4dd88256dfd9fe8eb923da0b29131af9..1692f0acf61bc1706a06753a94cefed985653676 100644 (file)
@@ -1,28 +1,28 @@
 class      resolve
 address    
 transport  local
-nexthop    tail.porcupine.org
-recipient  MAILER-DAEMON@tail.porcupine.org
+nexthop    MYHOSTNAME
+recipient  MAILER-DAEMON@MYHOSTNAME
 flags      CLASS_LOCAL 
 
 class      resolve
 address    @
-transport  local
-nexthop    tail.porcupine.org
-recipient  MAILER-DAEMON@tail.porcupine.org
-flags      CLASS_LOCAL 
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
+recipient  MAILER-DAEMON@
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    @@
-transport  local
-nexthop    tail.porcupine.org
-recipient  MAILER-DAEMON@tail.porcupine.org
-flags      CLASS_LOCAL 
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
+recipient  MAILER-DAEMON@
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    @a.
 transport  smtp
-nexthop    porcupine.org
+nexthop    MYDOMAIN
 recipient  @a
 flags      CLASS_DEFAULT 
 
@@ -42,254 +42,254 @@ flags      FLAG_ERROR CLASS_DEFAULT
 
 class      resolve
 address    !
-transport  local
-nexthop    tail.porcupine.org
-recipient  MAILER-DAEMON@tail.porcupine.org
-flags      CLASS_LOCAL 
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
+recipient  MAILER-DAEMON@
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    a!
 transport  smtp
-nexthop    porcupine.org
-recipient  @a.porcupine.org
+nexthop    MYDOMAIN
+recipient  @a.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
 address    !b
-transport  local
-nexthop    tail.porcupine.org
-recipient  b@tail.porcupine.org
-flags      CLASS_LOCAL 
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
+recipient  b@
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    a!b
 transport  smtp
-nexthop    porcupine.org
-recipient  b@a.porcupine.org
+nexthop    MYDOMAIN
+recipient  b@a.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
 address    !@
-transport  local
-nexthop    tail.porcupine.org
-recipient  MAILER-DAEMON@tail.porcupine.org
-flags      CLASS_LOCAL 
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
+recipient  MAILER-DAEMON@
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    a!@
 transport  smtp
-nexthop    porcupine.org
-recipient  @a.porcupine.org
+nexthop    MYDOMAIN
+recipient  @a.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
 address    !b@
-transport  local
-nexthop    tail.porcupine.org
-recipient  b@tail.porcupine.org
-flags      CLASS_LOCAL 
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
+recipient  b@
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    a!b@
 transport  smtp
-nexthop    porcupine.org
-recipient  b@a.porcupine.org
+nexthop    MYDOMAIN
+recipient  b@a.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
 address    %
-transport  local
-nexthop    tail.porcupine.org
-recipient  MAILER-DAEMON@tail.porcupine.org
-flags      CLASS_LOCAL 
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
+recipient  MAILER-DAEMON@
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    a%
-transport  local
-nexthop    tail.porcupine.org
-recipient  a@tail.porcupine.org
-flags      CLASS_LOCAL 
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
+recipient  a@
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    %b
 transport  smtp
-nexthop    porcupine.org
-recipient  @b.porcupine.org
+nexthop    MYDOMAIN
+recipient  @b.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
 address    a%b
 transport  smtp
-nexthop    porcupine.org
-recipient  a@b.porcupine.org
+nexthop    MYDOMAIN
+recipient  a@b.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
 address    %@
-transport  local
-nexthop    tail.porcupine.org
-recipient  MAILER-DAEMON@tail.porcupine.org
-flags      CLASS_LOCAL 
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
+recipient  MAILER-DAEMON@
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    a%@
-transport  local
-nexthop    tail.porcupine.org
-recipient  a@tail.porcupine.org
-flags      CLASS_LOCAL 
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
+recipient  a@
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    %b@
 transport  smtp
-nexthop    porcupine.org
-recipient  @b.porcupine.org
+nexthop    MYDOMAIN
+recipient  @b.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
 address    @@
-transport  local
-nexthop    tail.porcupine.org
-recipient  MAILER-DAEMON@tail.porcupine.org
-flags      CLASS_LOCAL 
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
+recipient  MAILER-DAEMON@
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    a@@
-transport  local
-nexthop    tail.porcupine.org
-recipient  a@tail.porcupine.org
-flags      CLASS_LOCAL 
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
+recipient  a@
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    @b@
 transport  smtp
-nexthop    porcupine.org
-recipient  @b.porcupine.org
+nexthop    MYDOMAIN
+recipient  @b.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
 address    a@b@
 transport  smtp
-nexthop    porcupine.org
-recipient  a@b.porcupine.org
+nexthop    MYDOMAIN
+recipient  a@b.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
 address    a%b@
 transport  smtp
-nexthop    porcupine.org
-recipient  a@b.porcupine.org
+nexthop    MYDOMAIN
+recipient  a@b.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
-address    a%b@tail.porcupine.org
+address    a%b@MYHOSTNAME
 transport  smtp
-nexthop    porcupine.org
-recipient  a@b.porcupine.org
+nexthop    MYDOMAIN
+recipient  a@b.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
-address    a!b@tail.porcupine.org
+address    a!b@MYHOSTNAME
 transport  smtp
-nexthop    porcupine.org
-recipient  b@a.porcupine.org
+nexthop    MYDOMAIN
+recipient  b@a.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
-address    a@b@tail.porcupine.org
+address    a@b@MYHOSTNAME
 transport  smtp
-nexthop    porcupine.org
-recipient  a@b.porcupine.org
+nexthop    MYDOMAIN
+recipient  a@b.MYDOMAIN
 flags      CLASS_DEFAULT 
 
 class      resolve
-address    a[b]@tail.porcupine.org@tail.porcupine.org
+address    a[b]@MYHOSTNAME@MYHOSTNAME
 transport  local
-nexthop    tail.porcupine.org
-recipient  a[b]@tail.porcupine.org
+nexthop    MYHOSTNAME
+recipient  a[b]@MYHOSTNAME
 flags      CLASS_LOCAL 
 
 class      resolve
-address    a[b]%tail.porcupine.org@tail.porcupine.org
+address    a[b]%MYHOSTNAME@MYHOSTNAME
 transport  local
-nexthop    tail.porcupine.org
-recipient  a[b]@tail.porcupine.org
+nexthop    MYHOSTNAME
+recipient  a[b]@MYHOSTNAME
 flags      CLASS_LOCAL 
 
 class      resolve
-address    a[b]%tail.porcupine.org%tail.porcupine.org
+address    a[b]%MYHOSTNAME%MYHOSTNAME
 transport  local
-nexthop    tail.porcupine.org
-recipient  a[b]@tail.porcupine.org
+nexthop    MYHOSTNAME
+recipient  a[b]@MYHOSTNAME
 flags      CLASS_LOCAL 
 
 class      resolve
-address    tail.porcupine.org!a[b]@tail.porcupine.org
+address    MYHOSTNAME!a[b]@MYHOSTNAME
 transport  local
-nexthop    tail.porcupine.org
-recipient  a [b]@tail.porcupine.org
+nexthop    MYHOSTNAME
+recipient  a [b]@MYHOSTNAME
 flags      CLASS_LOCAL 
 
 class      resolve
-address    tail.porcupine.org!a[b]%tail.porcupine.org
+address    MYHOSTNAME!a[b]%MYHOSTNAME
 transport  local
-nexthop    tail.porcupine.org
-recipient  a [b]@tail.porcupine.org
+nexthop    MYHOSTNAME
+recipient  a [b]@MYHOSTNAME
 flags      CLASS_LOCAL 
 
 class      resolve
-address    tail.porcupine.org!tail.porcupine.org!a[b]
+address    MYHOSTNAME!MYHOSTNAME!a[b]
 transport  local
-nexthop    tail.porcupine.org
-recipient  a [b]@tail.porcupine.org
+nexthop    MYHOSTNAME
+recipient  a [b]@MYHOSTNAME
 flags      CLASS_LOCAL 
 
 class      resolve
 address    user@dom.ain1@dom.ain2
 transport  smtp
-nexthop    porcupine.org
+nexthop    MYDOMAIN
 recipient  user@dom.ain1@dom.ain2
 flags      FLAG_ROUTED CLASS_DEFAULT 
 
 class      resolve
 address    user%dom.ain1@dom.ain2
 transport  smtp
-nexthop    porcupine.org
+nexthop    MYDOMAIN
 recipient  user%dom.ain1@dom.ain2
 flags      FLAG_ROUTED CLASS_DEFAULT 
 
 class      resolve
 address    dom.ain1!user@dom.ain2
 transport  smtp
-nexthop    porcupine.org
+nexthop    MYDOMAIN
 recipient  dom.ain1!user@dom.ain2
 flags      FLAG_ROUTED CLASS_DEFAULT 
 
 class      resolve
 address    user@[1.2.3.4]@dom.ain2
 transport  smtp
-nexthop    porcupine.org
+nexthop    MYDOMAIN
 recipient  user@[1.2.3.4]@dom.ain2
 flags      FLAG_ROUTED CLASS_DEFAULT 
 
 class      resolve
 address    user%[1.2.3.4]@dom.ain2
 transport  smtp
-nexthop    porcupine.org
+nexthop    MYDOMAIN
 recipient  user%[1.2.3.4]@dom.ain2
 flags      FLAG_ROUTED CLASS_DEFAULT 
 
 class      resolve
 address    [1.2.3.4]!user@dom.ain2
 transport  smtp
-nexthop    porcupine.org
+nexthop    MYDOMAIN
 recipient  [1.2.3.4]!user@dom.ain2
 flags      FLAG_ROUTED CLASS_DEFAULT 
 
 class      resolve
-address    user@localhost.porcupine.org
+address    user@localhost.MYDOMAIN
 transport  local
-nexthop    tail.porcupine.org
-recipient  user@localhost.porcupine.org
+nexthop    MYHOSTNAME
+recipient  user@localhost.MYDOMAIN
 flags      CLASS_LOCAL 
 
 class      resolve
@@ -301,10 +301,10 @@ flags      FLAG_ERROR CLASS_DEFAULT
 
 class      resolve
 address    user@1.2.3
-transport  smtp
-nexthop    porcupine.org
+transport  CHANNEL NOT UPDATED
+nexthop    NEXTHOP NOT UPDATED
 recipient  user@1.2.3
-flags      CLASS_DEFAULT 
+flags      FLAG_ERROR CLASS_DEFAULT 
 
 class      resolve
 address    user@host:port
@@ -316,28 +316,28 @@ flags      FLAG_ERROR CLASS_DEFAULT
 class      resolve
 address    user@host
 transport  smtp
-nexthop    porcupine.org
+nexthop    MYDOMAIN
 recipient  user@host
 flags      CLASS_DEFAULT 
 
 class      resolve
 address    user@host
 transport  smtp
-nexthop    porcupine.org
+nexthop    MYDOMAIN
 recipient  user@host
 flags      CLASS_DEFAULT 
 
 class      verify
 address    user@host
 transport  smtp
-nexthop    porcupine.org
+nexthop    MYDOMAIN
 recipient  user@host
 flags      CLASS_DEFAULT 
 
 class      verify
 address    user@host
 transport  smtp
-nexthop    porcupine.org
+nexthop    MYDOMAIN
 recipient  user@host
 flags      CLASS_DEFAULT 
 
index 1af7364835c0c9fde387fa7f1c18bebdd6b0c016..edcd0e00366d44a0fa073e2a0b0da36c654f4f67 100644 (file)
@@ -56,7 +56,7 @@ result     ""@
 
 rule       remote
 address    a!
-result     ""@a.domain.invalid
+result     ""@a.INVALID_DOMAIN
 
 rule       remote
 address    !b
@@ -64,7 +64,7 @@ result     b@
 
 rule       remote
 address    a!b
-result     b@a.domain.invalid
+result     b@a.INVALID_DOMAIN
 
 rule       remote
 address    %
@@ -76,11 +76,11 @@ result     a@
 
 rule       remote
 address    %b
-result     ""@b.domain.invalid
+result     ""@b.INVALID_DOMAIN
 
 rule       remote
 address    a%b
-result     a@b.domain.invalid
+result     a@b.INVALID_DOMAIN
 
 rule       remote
 address    @
@@ -96,7 +96,7 @@ result     a@.
 
 rule       remote
 address    a@b
-result     a@b.domain.invalid
+result     a@b.INVALID_DOMAIN
 
 rule       remote
 address    a@b.
index e099b1e4f7ef961bbb2338ace1ff99d9bd185ec9..486f206e7692e1da830189529e710401d35b6fa9 100644 (file)
@@ -28,7 +28,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index c7e70f939f4e2dd9a3834f59388afaaaaadee3b5..ba4658c9c26375b17f0c94c5c0033395d55c65d9 100644 (file)
@@ -34,7 +34,9 @@ $(PROG): $(OBJS) $(LIBS)
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 $(LIB):        $(LIB_OBJ)
        $(AR) $(ARFL) $(LIB) $?
index accc7a2ed649ef502d93e8c551c476700cdaaf64..c057c492f7de9ff63521c609ee4f13e2969a5493 100644 (file)
@@ -26,7 +26,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/o$(PROG)
 
index fdfc1ce2a9259342a840d23ce7b678cc7d7d12a4..8bcff5547428a34794872116b3265e172a45c5fb 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index f4dde9603b15e7750fb7ffdfa7414447479472af..1e10bd08fbc0f52fd9f6ea0471a58e7ed8c674af 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index b898c0b400a7e1fd7202bcadf232eebb1be6004a..a60ec68062cbdbf665690ffb49c9764efd53be82 100644 (file)
@@ -24,6 +24,8 @@ update: ../../bin/$(PROG)
 
 tests: test1 test2
 
+root_tests:
+
 test1: $(PROG) map.in map-abc1.ref map-ghi1.ref map-uABC1.ref
        ./$(PROG) map.in
        for key in abc ghi; \
index 7ed56122cc13abc08b2497f9183d124d9cc1f820..4c18cd10d9fd7410d5866b95649244a39d93d34b 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../bin/$(PROG)
 
index 5aee04ba0a08943dd2bf561e6cc377a18afef9d5..e721b8db286826be0a06edbb6b826c2e7849d094 100644 (file)
@@ -32,7 +32,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../bin/$(PROG) $(SAMPLES)
 
index d567c6ff506f2dbfd13532fa645de697e2e19c4f..7c1770eefa86cdcc44f5f684a13f3300d4a139fc 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../bin/$(PROG)
 
index 41bfe840e17c4491a22e5de2aa74a494015a9d81..543a684c776fad206a83cba8fa98c22a05edb1eb 100644 (file)
@@ -23,7 +23,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../bin/$(PROG)
 
index e4401db49bc5f3d70badca620602870355c75eb9..261d6d080e0388b62d7673da6a0a0717c7ac50c8 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../bin/$(PROG)
 
index 284f7c6866a7ece1aa39b1478f388dfe8bca042a..d46df3e14be39fbf0c1e35a4221b650bdb77337d 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../bin/$(PROG)
 
index 3457c758a03126f3da63156bbed291b0f9a31acf..65029b7951bd3ab12e7e4745c2c176410247e3bd 100644 (file)
@@ -23,7 +23,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../bin/$(PROG)
 
index 5fa2bec2f1ab7fb0486118970ffcf3a2ef5a3a95..3acf6f2db098434725d898698b4a75b172b5c51b 100644 (file)
@@ -27,6 +27,8 @@ update: ../../bin/$(PROG)
 
 tests: test1 test2
 
+root_tests:
+
 test1: $(PROG) map.in map-abc1.ref map-ghi1.ref map-uABC1.ref
        ./$(PROG) map.in
        for key in abc ghi; \
index 8b331ecc104639cb4daa905a6371e33be592e4bf..f9b06cb933f285f12795e9fbc14974ecf9d4f32f 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../bin/$(PROG)
 
index 73838ac29dd73fd04c09d4737b904ee8517f79bd..6200c3a5bed4440ede8129fc5d9d06a187b87547 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../bin/$(PROG)
 
index 2fefa3e1cf7bfe692517953945947713b2c4c100..4d84aa6da5fb6158a98edb7b2bb02151a5109ad9 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index d7d52652c74e3e4c8e1e0db46e57293dd7e03095..8faf4e80adbeb58eb2ea08a239b449605c7c5908 100644 (file)
@@ -28,7 +28,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index 1ba772ef38cd1bf4649f98b3acf322290d6a53cb..8b54f7e242f17d315af49a0b8a3e91c966128a63 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index e9ccb35c020880a459b04ab9c920d5ce28a29130..8060c9c933fc914f5fb6493e31e78118a6c96367 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index a2ce8a62e882e8fb7a2c46701bf373716579db48..27be129d740eb027742608c4fe7fc3547d1c59b0 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../bin/$(PROG)
 
index 7f6c18804d11ae70adaa31aa8c2fbe052d75f17a..df28b058394c3664cc1e208fb76c1281a95e86cc 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index 1ad8c36908a8829ccad4d2896af020dc52b23a4f..a248fe5b7ae91cb7de0c9dd255047fe99e2e0981 100644 (file)
@@ -27,7 +27,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: smtp_map11_test
+tests:
+
+root_tests:    smtp_map11_test
 
 update: ../../libexec/$(PROG)
 
index ee00bb0ac28984152c333b560fc93a20287172d9..cb50be0122b0e47eebfede5a3837da2960262839 100644 (file)
 /*     RFC 1652 (8bit-MIME transport)
 /*     RFC 1870 (Message Size Declaration)
 /*     RFC 2033 (LMTP protocol)
+/*     RFC 2034 (SMTP Enhanced Error Codes)
 /*     RFC 2045 (MIME: Format of Internet Message Bodies)
 /*     RFC 2046 (MIME: Media Types)
 /*     RFC 2554 (AUTH command)
 /*     RFC 2821 (SMTP protocol)
 /*     RFC 2920 (SMTP Pipelining)
 /*     RFC 3207 (STARTTLS command)
+/*     RFC 3461 (SMTP DSN Extension)
 /*     RFC 3463 (Enhanced Status Codes)
 /* DIAGNOSTICS
 /*     Problems and transactions are logged to \fBsyslogd\fR(8).
 /*     when TLS is not already enabled for that server.
 /* .IP "\fBsmtp_tls_per_site (empty)\fR"
 /*     Optional lookup tables with the Postfix SMTP client TLS usage
-/*     policy by next-hop domain name and by remote SMTP server hostname.
+/*     policy by next-hop destination and by remote SMTP server hostname.
 /* .IP "\fBsmtp_tls_scert_verifydepth (5)\fR"
 /*     The verification depth for remote SMTP server certificates.
 /* .IP "\fBsmtp_tls_session_cache_database (empty)\fR"
index 495c544a765c6496ae6aea0776a537043066459d..add5c570234a5e96a6e9a86814a15e5a1f1a0601 100644 (file)
@@ -823,6 +823,7 @@ static void smtp_connect_remote(SMTP_STATE *state, const char *nexthop,
            } else {
                msg_info("%s (port %d)", STR(why->reason), ntohs(port));
            }
+           /* Insert: test if we must skip the remaining MX hosts. */
        }
        dns_rr_free(addr_list);
        myfree(dest_buf);
index 39cac5bd03fd0c2f62e99ce9c0772ae89e39079a..5efa11f84d26522de7f7b5f117b8de43dff3b8d5 100644 (file)
@@ -64,6 +64,8 @@ tidy: clean
 tests: smtpd_check_test smtpd_check_test2 smtpd_acl_test smtpd_exp_test \
        smtpd_token_test smtpd_check_test4 smtpd_check_dsn_test
 
+root_tests:
+
 smtpd_check_test: smtpd_check smtpd_check.in smtpd_check.ref smtpd_check_access
        ../postmap/postmap hash:smtpd_check_access
        ./smtpd_check <smtpd_check.in >smtpd_check.tmp 2>&1
index a09cf0c94c930212e6a2dbca5c1aef703ab62320..4a6a9e5b28c6204f745442f05b7491d7f6cc58b6 100644 (file)
@@ -40,6 +40,7 @@
 /*     RFC 1869 (SMTP service extensions)
 /*     RFC 1870 (Message Size Declaration)
 /*     RFC 1985 (ETRN command)
+/*     RFC 2034 (SMTP Enhanced Error Codes)
 /*     RFC 2554 (AUTH command)
 /*     RFC 2821 (SMTP protocol)
 /*     RFC 2920 (SMTP Pipelining)
index 0642a3bc9dd35b219dc41a2a30aa3ab62121f46a..212fa78ecf98257ffa4f490b3c9d6466ea015df1 100644 (file)
@@ -33,7 +33,9 @@ qmqp-source: qmqp-source.o $(LIBS)
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../bin/smtp-source ../../bin/smtp-sink ../../bin/qmqp-source \
        ../../bin/qmqp-sink
index 8295ce99cadd081d4ce07e53de1fffc2715e44a6..bb51272001e0eb201c529cdbf6a382dbc3d53743 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index 6ee23df7106cbaa7617fb10f41694d07b11336ca..15cfbc3140094e64e9338520394b63d95995912a 100644 (file)
@@ -31,6 +31,10 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
+tests:
+
+root_tests:
+
 $(LIB):        $(OBJS)
        $(AR) $(ARFL) $(LIB) $?
        $(RANLIB) $(LIB)
index da08f3cd661c53c56a09c4debba7eea593592506..6a23205ee9cc419769bb116ba3b559297f952dd4 100644 (file)
@@ -47,6 +47,8 @@ tidy: clean
 
 tests:
 
+root_tests:
+
 depend: $(MAKES)
        (sed '1,/^# do not edit/!d' Makefile.in; \
        set -e; for i in [a-z][a-z0-9]*.c; do \
index d5c16e2e3399965ee831cedab97307e0ec8777f7..e8366c313e8cf7973323b94325bb3f216a7cc7b8 100644 (file)
@@ -27,7 +27,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 $(BIN_DIR)/$(PROG): $(PROG)
        cp $(PROG) $@
index ac0ffbadfb429158e71b7db4ac2a67839cffcb88..45e507d0bf66a216686b5586a7d2aa152422229c 100644 (file)
@@ -173,7 +173,8 @@ void    rewrite_tree(RWR_CONTEXT *context, TOK822 *tree)
        /*
         * Append missing @origin
         */
-       else if (var_append_at_myorigin != 0) {
+       else if (var_append_at_myorigin != 0
+                && context->origin[0][0] != 0) {
            domain = tok822_sub_append(tree, tok822_alloc('@', (char *) 0));
            tok822_sub_append(tree, tok822_scan(REW_PARAM_VALUE(context->origin),
                                                (TOK822 **) 0));
@@ -186,6 +187,7 @@ void    rewrite_tree(RWR_CONTEXT *context, TOK822 *tree)
      * alone.
      */
     if (var_append_dot_mydomain != 0
+       && context->domain[0][0] != 0
        && (domain = tok822_rfind_type(tree->tail, '@')) != 0
        && domain != tree->tail
        && tok822_find_type(domain, TOK822_DOMLIT) == 0
index cb1b23c1464fb3b04ad39e302809839396123c76..aadfe11c9aeb101c9e8bfff9aa14e3db4163677b 100644 (file)
@@ -414,6 +414,8 @@ tests: valid_hostname_test mac_expand_test dict_test unescape_test \
        dict_cidr_test attr_scan_plain_test htable_test hex_code_test \
        myaddrinfo_test format_tv_test
 
+root_tests:
+
 valid_hostname_test: valid_hostname valid_hostname.in valid_hostname.ref
        ./valid_hostname <valid_hostname.in 2>valid_hostname.tmp
        diff valid_hostname.ref valid_hostname.tmp
index 5c1658531f70f6bd23564ae4d42285640180e1e4..eda51472345aceace651105fdd77e0a92ba0bc89 100644 (file)
@@ -72,7 +72,7 @@ int     unix_recv_fd(int fd)
     }       control_un;
     struct cmsghdr *cmptr;
 
-    memset((char *) &msg, 0, sizeof(msg));
+    memset((char *) &msg, 0, sizeof(msg));             /* Fix 200512 */
     msg.msg_control = control_un.control;
     msg.msg_controllen = CMSG_LEN(sizeof(newfd));      /* Fix 200506 */
 #else
index 20436a0fbbe719d9539b7adb7094c418de2526f2..737780cba103370ef73308321b3a5f6fee73c2cd 100644 (file)
@@ -74,7 +74,7 @@ int     unix_send_fd(int fd, int sendfd)
     }       control_un;
     struct cmsghdr *cmptr;
 
-    memset((char *) &msg, 0, sizeof(msg));
+    memset((char *) &msg, 0, sizeof(msg));             /* Fix 200512 */
     msg.msg_control = control_un.control;
     msg.msg_controllen = CMSG_LEN(sizeof(sendfd));     /* Fix 200506 */
 
index b5a1a2884b421236ec26e602193d71a95b2c62bd..c454c6712c63c8730be364d1a6287476d4e799dd 100644 (file)
@@ -24,6 +24,8 @@ test: $(TESTPROG)
 
 tests: test
 
+root_tests:
+
 update: ../../libexec/$(PROG)
 
 ../../libexec/$(PROG): $(PROG)
index 4f51bb777a3916dae65d779fa5f965573d255223..55ee026a15276d4ab7e619de31e29497873db12c 100644 (file)
@@ -22,7 +22,9 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
-tests: test
+tests:
+
+root_tests:
 
 update: ../../libexec/$(PROG)
 
index ac9d8f3ac296fb371290dddc7bfc83b7514c9760..13d0eca2dbfb58999c3db79a6d08914f756f67cc 100644 (file)
@@ -29,6 +29,10 @@ Makefile: Makefile.in
 
 test:  $(TESTPROG)
 
+tests:
+
+root_tests:
+
 $(LIB):        $(OBJS)
        $(AR) $(ARFL) $(LIB) $?
        $(RANLIB) $(LIB)