From: Wietse Venema Date: Wed, 1 Feb 2006 05:00:00 +0000 (-0500) Subject: postfix-2.3-20060201 X-Git-Tag: v2.3-RC1~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9e99240c44110f655c4af9a35bf1e49c9774b2c4;p=thirdparty%2Fpostfix.git postfix-2.3-20060201 --- diff --git a/postfix/HISTORY b/postfix/HISTORY index d79db3f04..8adfd6df9 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -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. diff --git a/postfix/Makefile.in b/postfix/Makefile.in index 9c9c7b38b..3d72b4de4 100644 --- a/postfix/Makefile.in +++ b/postfix/Makefile.in @@ -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 diff --git a/postfix/RELEASE_NOTES b/postfix/RELEASE_NOTES index 32b9f2279..3f88005cd 100644 --- a/postfix/RELEASE_NOTES +++ b/postfix/RELEASE_NOTES @@ -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. diff --git a/postfix/html/oqmgr.8.html b/postfix/html/oqmgr.8.html index 6e25a01e7..7c8dd8484 100644 --- a/postfix/html/oqmgr.8.html +++ b/postfix/html/oqmgr.8.html @@ -176,7 +176,7 @@ OQMGR(8) OQMGR(8) impact outbound delivery rates. CONFIGURATION PARAMETERS - Changes to main.cf are not picked up automatically, as + Changes to main.cf are not picked up automatically, as oqmgr(8) is a persistent process. Use the command "postfix reload" after a configuration change. @@ -261,8 +261,8 @@ OQMGR(8) OQMGR(8) MISCELLANEOUS CONTROLS config_directory (see 'postconf -d' output) - The default location of the Postfix main.cf and - master.cf configuration files. + The default location of the Postfix main.cf and + master.cf configuration files. daemon_timeout (18000s) How much time a Postfix daemon process may take to diff --git a/postfix/html/postconf.1.html b/postfix/html/postconf.1.html index f8046d421..02eef4281 100644 --- a/postfix/html/postconf.1.html +++ b/postfix/html/postconf.1.html @@ -59,7 +59,7 @@ POSTCONF(1) POSTCONF(1) sages, with $name 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 main.cf with the bounce_template_file 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. -c config_dir - The main.cf configuration file is in the named + The main.cf configuration file is in the named directory instead of the default configuration directory. -d Print default parameter settings instead of actual settings. - -e Edit the main.cf configuration file. The file is + -e Edit the main.cf 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) -n Print parameter settings that are not left at their built-in default value, because they are explicitly - specified in main.cf. + specified in main.cf. -t [template_file] 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 main.cf with the bounce_template_file 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. CONFIGURATION PARAMETERS - The following main.cf parameters are especially relevant + The following main.cf parameters are especially relevant to this program. The text below provides only a parameter summary. See postconf(5) for more details including examples. config_directory (see 'postconf -d' output) - The default location of the Postfix main.cf and - master.cf configuration files. + The default location of the Postfix main.cf and + master.cf configuration files. bounce_template_file (empty) Pathname of a configuration file with bounce mes- sage templates. FILES - /etc/postfix/main.cf, Postfix configuration parameters + /etc/postfix/main.cf, Postfix configuration parameters SEE ALSO bounce(5), bounce template file format diff --git a/postfix/html/qmgr.8.html b/postfix/html/qmgr.8.html index e74a5817a..9c14ce638 100644 --- a/postfix/html/qmgr.8.html +++ b/postfix/html/qmgr.8.html @@ -182,7 +182,7 @@ QMGR(8) QMGR(8) impact outbound delivery rates. CONFIGURATION PARAMETERS - Changes to main.cf are not picked up automatically as + Changes to main.cf are not picked up automatically as qmgr(8) is a persistent process. Use the "postfix reload" command after a configuration change. @@ -316,8 +316,8 @@ QMGR(8) QMGR(8) MISCELLANEOUS CONTROLS config_directory (see 'postconf -d' output) - The default location of the Postfix main.cf and - master.cf configuration files. + The default location of the Postfix main.cf and + master.cf configuration files. daemon_timeout (18000s) How much time a Postfix daemon process may take to diff --git a/postfix/html/smtp.8.html b/postfix/html/smtp.8.html index 54aef3151..7149c1885 100644 --- a/postfix/html/smtp.8.html +++ b/postfix/html/smtp.8.html @@ -105,12 +105,14 @@ SMTP(8) SMTP(8) 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 @@ -378,7 +380,7 @@ SMTP(8) SMTP(8) smtp_tls_per_site (empty) 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. smtp_tls_scert_verifydepth (5) diff --git a/postfix/html/smtpd.8.html b/postfix/html/smtpd.8.html index 303b46bfd..4920b951f 100644 --- a/postfix/html/smtpd.8.html +++ b/postfix/html/smtpd.8.html @@ -47,6 +47,7 @@ SMTPD(8) SMTPD(8) 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) diff --git a/postfix/man/man8/smtp.8 b/postfix/man/man8/smtp.8 index 5c82b4c33..5877a72b2 100644 --- a/postfix/man/man8/smtp.8 +++ b/postfix/man/man8/smtp.8 @@ -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" diff --git a/postfix/man/man8/smtpd.8 b/postfix/man/man8/smtpd.8 index fdc89d215..59e4a0457 100644 --- a/postfix/man/man8/smtpd.8 +++ b/postfix/man/man8/smtpd.8 @@ -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) diff --git a/postfix/src/anvil/Makefile.in b/postfix/src/anvil/Makefile.in index f753a2067..3a40defa9 100644 --- a/postfix/src/anvil/Makefile.in +++ b/postfix/src/anvil/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/bounce/Makefile.in b/postfix/src/bounce/Makefile.in index 17f58620c..2916a25c2 100644 --- a/postfix/src/bounce/Makefile.in +++ b/postfix/src/bounce/Makefile.in @@ -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 diff --git a/postfix/src/cleanup/Makefile.in b/postfix/src/cleanup/Makefile.in index bb287d094..3e09e7fe4 100644 --- a/postfix/src/cleanup/Makefile.in +++ b/postfix/src/cleanup/Makefile.in @@ -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 diff --git a/postfix/src/discard/Makefile.in b/postfix/src/discard/Makefile.in index e3df656ad..df5478594 100644 --- a/postfix/src/discard/Makefile.in +++ b/postfix/src/discard/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/dns/Makefile.in b/postfix/src/dns/Makefile.in index 8144875cf..2ed6fd65d 100644 --- a/postfix/src/dns/Makefile.in +++ b/postfix/src/dns/Makefile.in @@ -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) diff --git a/postfix/src/dns/dns_lookup.c b/postfix/src/dns/dns_lookup.c index 5ec5b8fe4..473a3d202 100644 --- a/postfix/src/dns/dns_lookup.c +++ b/postfix/src/dns/dns_lookup.c @@ -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; /* diff --git a/postfix/src/error/Makefile.in b/postfix/src/error/Makefile.in index 9dd13f5ef..86f6a40d3 100644 --- a/postfix/src/error/Makefile.in +++ b/postfix/src/error/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/flush/Makefile.in b/postfix/src/flush/Makefile.in index 26b877a0d..c6d309bc9 100644 --- a/postfix/src/flush/Makefile.in +++ b/postfix/src/flush/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/fsstone/Makefile.in b/postfix/src/fsstone/Makefile.in index 022bd0746..a390e794e 100644 --- a/postfix/src/fsstone/Makefile.in +++ b/postfix/src/fsstone/Makefile.in @@ -24,6 +24,10 @@ fsstone: fsstone.o $(LIBS) test: $(TESTPROG) +tests: + +root_tests: + update: ../../libexec/fsstone ../../libexec/fsstone: fsstone diff --git a/postfix/src/global/Makefile.in b/postfix/src/global/Makefile.in index cb9441562..fc13115f0 100644 --- a/postfix/src/global/Makefile.in +++ b/postfix/src/global/Makefile.in @@ -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.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.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" \ diff --git a/postfix/src/global/mail_params.h b/postfix/src/global/mail_params.h index 9a0c60f0e..7d8eb85e1 100644 --- a/postfix/src/global/mail_params.h +++ b/postfix/src/global/mail_params.h @@ -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; diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index 1898c09ed..210dcab13 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -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 diff --git a/postfix/src/global/resolve_clnt.c b/postfix/src/global/resolve_clnt.c index 50c95a783..182c86885 100644 --- a/postfix/src/global/resolve_clnt.c +++ b/postfix/src/global/resolve_clnt.c @@ -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 { diff --git a/postfix/src/global/resolve_clnt.ref b/postfix/src/global/resolve_clnt.ref index 4a28f50c4..1692f0acf 100644 --- a/postfix/src/global/resolve_clnt.ref +++ b/postfix/src/global/resolve_clnt.ref @@ -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 diff --git a/postfix/src/global/rewrite_clnt.ref b/postfix/src/global/rewrite_clnt.ref index 1af736483..edcd0e003 100644 --- a/postfix/src/global/rewrite_clnt.ref +++ b/postfix/src/global/rewrite_clnt.ref @@ -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. diff --git a/postfix/src/local/Makefile.in b/postfix/src/local/Makefile.in index e099b1e4f..486f206e7 100644 --- a/postfix/src/local/Makefile.in +++ b/postfix/src/local/Makefile.in @@ -28,7 +28,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/master/Makefile.in b/postfix/src/master/Makefile.in index c7e70f939..ba4658c9c 100644 --- a/postfix/src/master/Makefile.in +++ b/postfix/src/master/Makefile.in @@ -34,7 +34,9 @@ $(PROG): $(OBJS) $(LIBS) test: $(TESTPROG) -tests: test +tests: + +root_tests: $(LIB): $(LIB_OBJ) $(AR) $(ARFL) $(LIB) $? diff --git a/postfix/src/oqmgr/Makefile.in b/postfix/src/oqmgr/Makefile.in index accc7a2ed..c057c492f 100644 --- a/postfix/src/oqmgr/Makefile.in +++ b/postfix/src/oqmgr/Makefile.in @@ -26,7 +26,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/o$(PROG) diff --git a/postfix/src/pickup/Makefile.in b/postfix/src/pickup/Makefile.in index fdfc1ce2a..8bcff5547 100644 --- a/postfix/src/pickup/Makefile.in +++ b/postfix/src/pickup/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/pipe/Makefile.in b/postfix/src/pipe/Makefile.in index f4dde9603..1e10bd08f 100644 --- a/postfix/src/pipe/Makefile.in +++ b/postfix/src/pipe/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/postalias/Makefile.in b/postfix/src/postalias/Makefile.in index b898c0b40..a60ec6806 100644 --- a/postfix/src/postalias/Makefile.in +++ b/postfix/src/postalias/Makefile.in @@ -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; \ diff --git a/postfix/src/postcat/Makefile.in b/postfix/src/postcat/Makefile.in index 7ed56122c..4c18cd10d 100644 --- a/postfix/src/postcat/Makefile.in +++ b/postfix/src/postcat/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../bin/$(PROG) diff --git a/postfix/src/postconf/Makefile.in b/postfix/src/postconf/Makefile.in index 5aee04ba0..e721b8db2 100644 --- a/postfix/src/postconf/Makefile.in +++ b/postfix/src/postconf/Makefile.in @@ -32,7 +32,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../bin/$(PROG) $(SAMPLES) diff --git a/postfix/src/postdrop/Makefile.in b/postfix/src/postdrop/Makefile.in index d567c6ff5..7c1770eef 100644 --- a/postfix/src/postdrop/Makefile.in +++ b/postfix/src/postdrop/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../bin/$(PROG) diff --git a/postfix/src/postfix/Makefile.in b/postfix/src/postfix/Makefile.in index 41bfe840e..543a684c7 100644 --- a/postfix/src/postfix/Makefile.in +++ b/postfix/src/postfix/Makefile.in @@ -23,7 +23,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../bin/$(PROG) diff --git a/postfix/src/postkick/Makefile.in b/postfix/src/postkick/Makefile.in index e4401db49..261d6d080 100644 --- a/postfix/src/postkick/Makefile.in +++ b/postfix/src/postkick/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../bin/$(PROG) diff --git a/postfix/src/postlock/Makefile.in b/postfix/src/postlock/Makefile.in index 284f7c686..d46df3e14 100644 --- a/postfix/src/postlock/Makefile.in +++ b/postfix/src/postlock/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../bin/$(PROG) diff --git a/postfix/src/postlog/Makefile.in b/postfix/src/postlog/Makefile.in index 3457c758a..65029b795 100644 --- a/postfix/src/postlog/Makefile.in +++ b/postfix/src/postlog/Makefile.in @@ -23,7 +23,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../bin/$(PROG) diff --git a/postfix/src/postmap/Makefile.in b/postfix/src/postmap/Makefile.in index 5fa2bec2f..3acf6f2db 100644 --- a/postfix/src/postmap/Makefile.in +++ b/postfix/src/postmap/Makefile.in @@ -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; \ diff --git a/postfix/src/postqueue/Makefile.in b/postfix/src/postqueue/Makefile.in index 8b331ecc1..f9b06cb93 100644 --- a/postfix/src/postqueue/Makefile.in +++ b/postfix/src/postqueue/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../bin/$(PROG) diff --git a/postfix/src/postsuper/Makefile.in b/postfix/src/postsuper/Makefile.in index 73838ac29..6200c3a5b 100644 --- a/postfix/src/postsuper/Makefile.in +++ b/postfix/src/postsuper/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../bin/$(PROG) diff --git a/postfix/src/proxymap/Makefile.in b/postfix/src/proxymap/Makefile.in index 2fefa3e1c..4d84aa6da 100644 --- a/postfix/src/proxymap/Makefile.in +++ b/postfix/src/proxymap/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/qmgr/Makefile.in b/postfix/src/qmgr/Makefile.in index d7d52652c..8faf4e80a 100644 --- a/postfix/src/qmgr/Makefile.in +++ b/postfix/src/qmgr/Makefile.in @@ -28,7 +28,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/qmqpd/Makefile.in b/postfix/src/qmqpd/Makefile.in index 1ba772ef3..8b54f7e24 100644 --- a/postfix/src/qmqpd/Makefile.in +++ b/postfix/src/qmqpd/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/scache/Makefile.in b/postfix/src/scache/Makefile.in index e9ccb35c0..8060c9c93 100644 --- a/postfix/src/scache/Makefile.in +++ b/postfix/src/scache/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/sendmail/Makefile.in b/postfix/src/sendmail/Makefile.in index a2ce8a62e..27be129d7 100644 --- a/postfix/src/sendmail/Makefile.in +++ b/postfix/src/sendmail/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../bin/$(PROG) diff --git a/postfix/src/showq/Makefile.in b/postfix/src/showq/Makefile.in index 7f6c18804..df28b0583 100644 --- a/postfix/src/showq/Makefile.in +++ b/postfix/src/showq/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/smtp/Makefile.in b/postfix/src/smtp/Makefile.in index 1ad8c3690..a248fe5b7 100644 --- a/postfix/src/smtp/Makefile.in +++ b/postfix/src/smtp/Makefile.in @@ -27,7 +27,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: smtp_map11_test +tests: + +root_tests: smtp_map11_test update: ../../libexec/$(PROG) diff --git a/postfix/src/smtp/smtp.c b/postfix/src/smtp/smtp.c index ee00bb0ac..cb50be012 100644 --- a/postfix/src/smtp/smtp.c +++ b/postfix/src/smtp/smtp.c @@ -85,12 +85,14 @@ /* 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). @@ -289,7 +291,7 @@ /* 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" diff --git a/postfix/src/smtp/smtp_connect.c b/postfix/src/smtp/smtp_connect.c index 495c544a7..add5c5702 100644 --- a/postfix/src/smtp/smtp_connect.c +++ b/postfix/src/smtp/smtp_connect.c @@ -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); diff --git a/postfix/src/smtpd/Makefile.in b/postfix/src/smtpd/Makefile.in index 39cac5bd0..5efa11f84 100644 --- a/postfix/src/smtpd/Makefile.in +++ b/postfix/src/smtpd/Makefile.in @@ -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.tmp 2>&1 diff --git a/postfix/src/smtpd/smtpd.c b/postfix/src/smtpd/smtpd.c index a09cf0c94..4a6a9e5b2 100644 --- a/postfix/src/smtpd/smtpd.c +++ b/postfix/src/smtpd/smtpd.c @@ -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) diff --git a/postfix/src/smtpstone/Makefile.in b/postfix/src/smtpstone/Makefile.in index 0642a3bc9..212fa78ec 100644 --- a/postfix/src/smtpstone/Makefile.in +++ b/postfix/src/smtpstone/Makefile.in @@ -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 diff --git a/postfix/src/spawn/Makefile.in b/postfix/src/spawn/Makefile.in index 8295ce99c..bb5127200 100644 --- a/postfix/src/spawn/Makefile.in +++ b/postfix/src/spawn/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/tls/Makefile.in b/postfix/src/tls/Makefile.in index 6ee23df71..15cfbc314 100644 --- a/postfix/src/tls/Makefile.in +++ b/postfix/src/tls/Makefile.in @@ -31,6 +31,10 @@ Makefile: Makefile.in test: $(TESTPROG) +tests: + +root_tests: + $(LIB): $(OBJS) $(AR) $(ARFL) $(LIB) $? $(RANLIB) $(LIB) diff --git a/postfix/src/tlsmgr/Makefile.in b/postfix/src/tlsmgr/Makefile.in index da08f3cd6..6a23205ee 100644 --- a/postfix/src/tlsmgr/Makefile.in +++ b/postfix/src/tlsmgr/Makefile.in @@ -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 \ diff --git a/postfix/src/trivial-rewrite/Makefile.in b/postfix/src/trivial-rewrite/Makefile.in index d5c16e2e3..e8366c313 100644 --- a/postfix/src/trivial-rewrite/Makefile.in +++ b/postfix/src/trivial-rewrite/Makefile.in @@ -27,7 +27,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: $(BIN_DIR)/$(PROG): $(PROG) cp $(PROG) $@ diff --git a/postfix/src/trivial-rewrite/rewrite.c b/postfix/src/trivial-rewrite/rewrite.c index ac0ffbadf..45e507d0b 100644 --- a/postfix/src/trivial-rewrite/rewrite.c +++ b/postfix/src/trivial-rewrite/rewrite.c @@ -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 diff --git a/postfix/src/util/Makefile.in b/postfix/src/util/Makefile.in index cb1b23c14..aadfe11c9 100644 --- a/postfix/src/util/Makefile.in +++ b/postfix/src/util/Makefile.in @@ -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.tmp diff valid_hostname.ref valid_hostname.tmp diff --git a/postfix/src/util/unix_recv_fd.c b/postfix/src/util/unix_recv_fd.c index 5c1658531..eda514723 100644 --- a/postfix/src/util/unix_recv_fd.c +++ b/postfix/src/util/unix_recv_fd.c @@ -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 diff --git a/postfix/src/util/unix_send_fd.c b/postfix/src/util/unix_send_fd.c index 20436a0fb..737780cba 100644 --- a/postfix/src/util/unix_send_fd.c +++ b/postfix/src/util/unix_send_fd.c @@ -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 */ diff --git a/postfix/src/verify/Makefile.in b/postfix/src/verify/Makefile.in index b5a1a2884..c454c6712 100644 --- a/postfix/src/verify/Makefile.in +++ b/postfix/src/verify/Makefile.in @@ -24,6 +24,8 @@ test: $(TESTPROG) tests: test +root_tests: + update: ../../libexec/$(PROG) ../../libexec/$(PROG): $(PROG) diff --git a/postfix/src/virtual/Makefile.in b/postfix/src/virtual/Makefile.in index 4f51bb777..55ee026a1 100644 --- a/postfix/src/virtual/Makefile.in +++ b/postfix/src/virtual/Makefile.in @@ -22,7 +22,9 @@ Makefile: Makefile.in test: $(TESTPROG) -tests: test +tests: + +root_tests: update: ../../libexec/$(PROG) diff --git a/postfix/src/xsasl/Makefile.in b/postfix/src/xsasl/Makefile.in index ac9d8f3ac..13d0eca2d 100644 --- a/postfix/src/xsasl/Makefile.in +++ b/postfix/src/xsasl/Makefile.in @@ -29,6 +29,10 @@ Makefile: Makefile.in test: $(TESTPROG) +tests: + +root_tests: + $(LIB): $(OBJS) $(AR) $(ARFL) $(LIB) $? $(RANLIB) $(LIB)