]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.12-20260506
authorWietse Z Venema <wietse@porcupine.org>
Wed, 6 May 2026 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <ietf-dane@dukhovni.org>
Sat, 9 May 2026 14:42:25 +0000 (00:42 +1000)
23 files changed:
postfix/HISTORY
postfix/Makefile.in
postfix/README_FILES/REQUIRETLS_README
postfix/html/REQUIRETLS_README.html
postfix/html/postconf.5.html
postfix/man/man5/postconf.5
postfix/proto/REQUIRETLS_README.html
postfix/proto/postconf.proto
postfix/proto/stop.double-history
postfix/proto/stop.spell-history
postfix/src/global/mail_version.h
postfix/src/postalias/Makefile.in
postfix/src/postalias/postalias.c
postfix/src/postfix/postfix.c
postfix/src/postlog/postlog.c
postfix/src/postmap/Makefile.in
postfix/src/postmap/postmap.c
postfix/src/postmulti/Makefile.in
postfix/src/postmulti/postmulti.c
postfix/src/postscreen/postscreen_tls_conf.c
postfix/src/proxymap/proxymap.c
postfix/src/smtpd/Makefile.in
postfix/src/util/Makefile.in

index c302bc772855a046939118a38163ba7b83cfaa31..b1a98282e248800018f8a1660a7318ad0ee98a4b 100644 (file)
@@ -30838,7 +30838,7 @@ Apologies for any names omitted.
        util/attr_print_plain.c, util/attr_scan0.c, util/attr_scan0.ref,
        util/attr_scan64.c, util/attr_scan64.ref, util/attr_scan_plain.c,
        util/attr_scan_plain.ref. There is no code that uses this now,
-       but there are tests to make sure that it is works when needed.
+       but there are tests to make sure that it works when needed.
 
 20260408
 
@@ -31043,11 +31043,41 @@ Apologies for any names omitted.
        Next up is replacing a large number of "[%s]:%s" format strings
        in postscreen code.
 
-20240629
+20260429
 
        Testing: portability. Files: postscreen/postscreen_dnsbl_test.c,
        testing/mock_myaddrinfo_test.c.
 
+20260501
+
+       The Postfix 3.12 proxymap server missed one of the fixes
+       for Claude findings. File: proxymap/proxymap.c.
+
+20260506
+
+       Tech debt: make the $process_name initialization consistent
+       across Postfix command-line tools. Files: postalias/postalias.c,
+       postfix/postfix.c, postmap/postmap.c, postmulti/postmulti.c.
+
+       Tech debt: consistent logging with "postfix" prefix across
+       Postfix command-line tools, but avoid "postfix/postfix"
+       stutter. File: postmulti/postmulti.c.
+
+       Tech debt: make postlog logging initialization consistent
+       with other command-line tools. File: postlog/postlog.c.
+
+       No change: don't add syslog/maillog_file logging to the
+       postcat and postkick command-line tools.
+
+       Documentation: readability and typographical fixes. Files:
+       proto/REQUIRETLS_README.html, proto/postconf.proto,
+       postscreen/postscreen_tls_conf.c.
+
+       Workaround for MacOS: rename a top-level temporary "testing"
+       directory to "test-conf". On MacOS, "rm -rf testing" deleted
+       the TESTING text file. Files: Makefile.in, postalias/Makefile.in,
+       postmap/Makefile.in, smtpd/Makefile.in, util/Makefile.in.
+       
 TODO
 
        Reorganize PTEST_LIB, PMOCK_LIB, TESTLIB, TESTLIBS, etc.
index aa3713d04892a9b5cb5c8a1306bfe4dcf1db36c8..bd611efdd970023cfd488d5ba8bd16222f0af5fc 100644 (file)
@@ -20,7 +20,7 @@ LIBEXEC       = libexec/post-install libexec/postfix-script libexec/postfix-wrapper \
 PLUGINS        = meta/dynamicmaps.cf
 META   = meta/main.cf.proto meta/master.cf.proto meta/postfix-files \
        meta/makedefs.out $(PLUGINS)
-TESTING        = testing/main.cf
+TESTING        = test-conf/main.cf
 EXPAND = sed -e "s;\$${LIB_PREFIX};$(LIB_PREFIX);" \
            -e "s;\$${LIB_SUFFIX};$(LIB_SUFFIX);"
 SHLIB_DIR_OVERRIDE = \
@@ -100,9 +100,9 @@ libexec/postfix-wrapper: conf/postfix-wrapper
 meta/main.cf.proto: conf/main.cf
        rm -f $@ && ln -f $? $@
 
-testing/main.cf:
+test-conf/main.cf:
        rm -f $@
-       mkdir -p testing
+       mkdir -p test-conf
        echo 'meta_directory = $(BUILD_ROOT)/meta' >> $@
        echo 'shlib_directory = $(BUILD_ROOT)/lib' >> $@
 
@@ -254,7 +254,7 @@ tidy:       clean
            make.err */make.err */*/make.err \
            *.gmon */*.gmon */*/*.gmon \
            conf/main.cf.default conf/bounce.cf.default meta/*
-       rm -rf testing
+       rm -rf test-conf
        find . -type s -print | xargs rm -f
        find . -type d -print | xargs chmod 755
        find . -type f -print | xargs chmod a+r
index 81e1452f7ad215a3064d4c2aabe7d201fb3a5027..10f7fecc22632865a86cfc51cd87056938ecbbe5 100644 (file)
@@ -30,8 +30,8 @@ future with REQUIRETLS.
 I\bIn\bnt\btr\bro\bod\bdu\buc\bct\bti\bio\bon\bn
 
 The REQUIRETLS extension in ESMTP is defined in RFC 8689. When a sender
-requests REQUIRETLS. the message must be sent only over strongly-authenticated
-SMTP or LMTP connections.
+requests REQUIRETLS. the message must be sent only over authenticated SMTP or
+LMTP connections. Support for REQUIRETLS was added in Postfix 3.11.
 
 Specifically:
 
index 9650470ab94df1ab3daa4165f2860b49d699f19e..a59cb9b7d441caab6d106f21841816b9701f1969 100644 (file)
@@ -51,7 +51,8 @@ is still uncommon, with a path towards a future with REQUIRETLS.
 
 <p> The REQUIRETLS extension in ESMTP is defined in <a href="https://tools.ietf.org/html/rfc8689">RFC 8689</a>. When
 a sender requests REQUIRETLS. the message must be sent only over
-strongly-authenticated SMTP or LMTP connections. </p>
+authenticated SMTP or LMTP connections. Support for REQUIRETLS was
+added in Postfix 3.11. </p>
 
 <p> Specifically: </p>
 
index b3cf3373c4172815181db6dd859ffd7612031737..7631a7cbc4f477ed475645295204e87171694604 100644 (file)
@@ -15049,8 +15049,8 @@ in all specified lookup tables, and stop at the first match. If no
 match was found, this may be followed by substring lookups as
 described below. </p>
 
-<li> <p> If any lookup result returns "DUNNO", terminate the search
-and pretend that no name match and no address match were found.
+<li> <p> If any lookup returns "DUNNO", terminate the search and
+pretend that no name match and no address match were found.
 </p>
 
 </ul>
@@ -15069,8 +15069,8 @@ substrings have been tried. </p>
 
 <li> <p> To generate domain name substring queries without the
 leading '.' (examples: "example.com" and "com"), specify the
-applicable configuration parameter name ("smtpd_tls_policy_maps",
-"<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>", or "postscreen_tls_policy_maps") in the
+applicable configuration parameter name ("<a href="postconf.5.html#smtpd_tls_loglevel_maps">smtpd_tls_loglevel_maps</a>",
+"<a href="postconf.5.html#smtp_tls_loglevel_maps">smtp_tls_loglevel_maps</a>", or "<a href="postconf.5.html#postscreen_tls_loglevel_maps">postscreen_tls_loglevel_maps</a>") in the
 <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </p>
 
 <li> <p> After all table queries with a full IP address produce
index a4b25a0e6aa20306900f8e698a9d4f7888003798..fc5997b1922102b257a4888d8078b491a0563315 100644 (file)
@@ -9927,8 +9927,8 @@ in all specified lookup tables, and stop at the first match. If no
 match was found, this may be followed by substring lookups as
 described below.
 .IP \(bu
-If any lookup result returns "DUNNO", terminate the search
-and pretend that no name match and no address match were found.
+If any lookup returns "DUNNO", terminate the search and
+pretend that no name match and no address match were found.
 .br
 .PP
 This feature may generate substring queries for a fixed\-string
@@ -9943,8 +9943,8 @@ substrings have been tried.
 .IP \(bu
 To generate domain name substring queries without the
 leading '.' (examples: "example.com" and "com"), specify the
-applicable configuration parameter name ("smtpd_tls_policy_maps",
-"smtp_tls_policy_maps", or "postscreen_tls_policy_maps") in the
+applicable configuration parameter name ("smtpd_tls_loglevel_maps",
+"smtp_tls_loglevel_maps", or "postscreen_tls_loglevel_maps") in the
 parent_domain_matches_subdomains parameter value.
 .IP \(bu
 After all table queries with a full IP address produce
index 189902f3abd6a04750ca2ff09b6a1f8c8cba883a..bfd7d8ca43415b29ee8def5e10f10eb1e94ec3d9 100644 (file)
@@ -51,7 +51,8 @@ is still uncommon, with a path towards a future with REQUIRETLS.
 
 <p> The REQUIRETLS extension in ESMTP is defined in RFC 8689. When
 a sender requests REQUIRETLS. the message must be sent only over
-strongly-authenticated SMTP or LMTP connections. </p>
+authenticated SMTP or LMTP connections. Support for REQUIRETLS was
+added in Postfix 3.11. </p>
 
 <p> Specifically: </p>
 
index d18943fa878c4991f06905df124fb0326161e16e..77683ff3960f5c0e39e1f0ba5ffec969490e0504 100644 (file)
@@ -20916,8 +20916,8 @@ in all specified lookup tables, and stop at the first match. If no
 match was found, this may be followed by substring lookups as
 described below. </p>
 
-<li> <p> If any lookup result returns "DUNNO", terminate the search
-and pretend that no name match and no address match were found.
+<li> <p> If any lookup returns "DUNNO", terminate the search and
+pretend that no name match and no address match were found.
 </p>
 
 </ul>
@@ -20936,8 +20936,8 @@ substrings have been tried. </p>
 
 <li> <p> To generate domain name substring queries without the
 leading '.' (examples: "example.com" and "com"), specify the
-applicable configuration parameter name ("smtpd_tls_policy_maps",
-"smtp_tls_policy_maps", or "postscreen_tls_policy_maps") in the
+applicable configuration parameter name ("smtpd_tls_loglevel_maps",
+"smtp_tls_loglevel_maps", or "postscreen_tls_loglevel_maps") in the
 parent_domain_matches_subdomains parameter value. </p>
 
 <li> <p> After all table queries with a full IP address produce
index 7a92b6f0d95022954ab3baab1b63b0f3942a9653..7b282060f0b397c4e20fea0cdefb8490e80e60a5 100644 (file)
@@ -248,3 +248,9 @@ proto  proto stop proto stop double cc
  postscreen postscreen h postscreen postscreen_starttls c 
  posttls finger posttls finger c smtp smtp c smtp smtp h 
  smtp smtp_proto c smtpd smtpd c tls tls_client c tls tls h 
+ across Postfix command line tools Files postalias postalias c 
+ for Claude findings File proxymap proxymap c 
+ Postfix command line tools but avoid postfix postfix 
+ postfix postfix c postmap postmap c postmulti postmulti c 
+ stutter File postmulti postmulti c 
+ with other command line tools File postlog postlog c 
index b9ef6afd39dbc0f6e569af3d87aaa534ed7e7d79..e30c9f947f549e556f3ad06aa16da145af9c894f 100644 (file)
@@ -138,3 +138,4 @@ MAXINT
 gmock
 sunos
 WebPKI
+rf
index 5bd42d3df1b10ec47e8d3f7d0ea54c31fadb87d6..1a84519633392553575aeffce22d3b30f0a8e7dc 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      "20260429"
+#define MAIL_RELEASE_DATE      "20260506"
 #define MAIL_VERSION_NUMBER    "3.12"
 
 #ifdef SNAPSHOT
index c6ea1d0f8d82fb5edf0bba5789065303ab32284b..87cd3c52a176976f57db9f4069bc48f39af82f5a 100644 (file)
@@ -31,7 +31,7 @@ root_tests:
 test1: $(PROG) map.in map-abc1.ref map-ghi1.ref map-uABC1.ref
        @echo ; echo RUN test1
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        ${SHLIB_ENV} ${VALGRIND} ./$(PROG) -c . map.in
        for key in abc ghi; \
@@ -49,7 +49,7 @@ test1:        $(PROG) map.in map-abc1.ref map-ghi1.ref map-uABC1.ref
 test2: $(PROG) map.in map-abc2.ref map-ghi2.ref map-uABC2.ref
        @echo ; echo RUN test2
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        ${SHLIB_ENV} ${VALGRIND} ./$(PROG) -c . map.in
        for key in abc ghi; \
@@ -67,7 +67,7 @@ test2:        $(PROG) map.in map-abc2.ref map-ghi2.ref map-uABC2.ref
 fail_test: $(PROG) aliases fail_test.in fail_test.ref
        @echo ; echo RUN fail_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        -(${SHLIB_ENV} MAIL_CONFIG=. $(NOSLEEP) sh fail_test.in 2>&1 || exit 0) | sed \
            -e 's/No error:/Unknown error:/' \
@@ -79,7 +79,7 @@ fail_test: $(PROG) aliases fail_test.in fail_test.ref
 mode_conflict_test: $(PROG) mode_conflict_test.in mode_conflict_test.ref
        @echo ; echo RUN mode_conflict_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        $(SHLIB_ENV) MAIL_CONFIG=. $(NOSLEEP) sh -x mode_conflict_test.in >mode_conflict_test.tmp 2>&1
        diff mode_conflict_test.ref mode_conflict_test.tmp
@@ -92,7 +92,7 @@ json_query_test: $(PROG)
        # Exercise code in postalias_query().
        @echo ; echo RUN json_query_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        echo '{"postmaster": "root"}' >json_query.tmp
        $(SHLIB_ENV) ${VALGRIND} ./$(PROG)  -jq postmaster \
                'inline:{{postmaster = root}}' | diff json_query.tmp -
@@ -105,7 +105,7 @@ json_queries_test: $(PROG)
        # Exercise json formatting in postalias_queries().
        @echo ; echo RUN json_queries_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        echo '{"postmaster": "root"}' >json_queries.tmp
        (echo postmaster; echo other) | $(SHLIB_ENV) ${VALGRIND} \
                ./$(PROG) -jq - 'inline:{{postmaster = root}}' | \
@@ -117,7 +117,7 @@ json_sequence_test: $(PROG)
        # Exercise json formatting in postalias_seq().
        @echo ; echo RUN json_sequence_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        rm -f json_sequence.tmp
        (echo '{"postmaster": "root"}'; echo '{"root": "real-user"}') |\
                sort >json_sequence.tmp
index ccbd61aac1519ae572b260dd180aaf3f974b77a6..19e187384f858900f9577359b804895220de3490 100644 (file)
@@ -810,6 +810,7 @@ int     main(int argc, char **argv)
        argv[0] = slash + 1;
     msg_vstream_init(argv[0], VSTREAM_ERR);
     maillog_client_init(mail_task(argv[0]), MAILLOG_CLIENT_FLAG_NONE);
+    set_mail_conf_str(VAR_PROCNAME, var_procname = mystrdup(argv[0]));
 
     /*
      * Check the Postfix library version as soon as we enable logging.
index 0904c5be76cc23f3f4e01e8a3cf42ef92b892b1e..7fd34716ab8e89c9679ada72ce4be62abdedd8ac 100644 (file)
 
 #include <msg.h>
 #include <msg_vstream.h>
+#include <mymalloc.h>
 #include <stringops.h>
 #include <clean_env.h>
 #include <argv.h>
@@ -528,6 +529,7 @@ int     main(int argc, char **argv)
        argv[0] = slash + 1;
     msg_vstream_init(argv[0], VSTREAM_ERR);
     maillog_client_init(argv[0], MAILLOG_CLIENT_FLAG_LOGWRITER_FALLBACK);
+    set_mail_conf_str(VAR_PROCNAME, var_procname = mystrdup(argv[0]));
 
     /*
      * Check the Postfix library version as soon as we enable logging.
index 200a68ee7f248ce306e8ca5af0ffaae932299017..4a40c7af8d1e2ccbe7329f06dc7da142f35b44c0 100644 (file)
@@ -283,9 +283,9 @@ int     main(int argc, char **argv)
      * user.
      */
     argv[0] = POSTLOG_CMD;
-    tag = mail_task(argv[0]);
-    msg_vstream_init(tag, VSTREAM_ERR);
-    maillog_client_init(tag, MAILLOG_CLIENT_FLAG_LOGWRITER_FALLBACK);
+    msg_vstream_init(argv[0], VSTREAM_ERR);
+    maillog_client_init(tag = mail_task(argv[0]),
+                       MAILLOG_CLIENT_FLAG_LOGWRITER_FALLBACK);
 
     /*
      * Check the Postfix library version as soon as we enable logging.
@@ -328,7 +328,8 @@ int     main(int argc, char **argv)
      */
     mail_conf_read();
     /* Re-evaluate mail_task() after reading main.cf. */
-    maillog_client_init(mail_task(POSTLOG_CMD), MAILLOG_CLIENT_FLAG_NONE);
+    maillog_client_init(mail_task(POSTLOG_CMD),
+                       MAILLOG_CLIENT_FLAG_LOGWRITER_FALLBACK);
 #if 0
     mail_dict_init();                          /* proxy, sql, ldap */
     get_mail_conf_str_table(str_table);
index a4f5f7e8c2bfa53e7334a7f2f0d78abd54c31ebe..43f0c6ff26f41475d3d05d7c6287e77358cf8ae0 100644 (file)
@@ -36,7 +36,7 @@ root_tests:
 test1: $(PROG) map.in map-abc1.ref map-ghi1.ref map-uABC1.ref
        @echo ; echo RUN test1
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -c . map.in
        for key in abc ghi; \
@@ -54,7 +54,7 @@ test1:        $(PROG) map.in map-abc1.ref map-ghi1.ref map-uABC1.ref
 test2: $(PROG) map.in map-abc2.ref map-ghi2.ref map-uABC2.ref
        @echo ; echo RUN test2
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -c . map.in
        for key in abc ghi; \
@@ -72,7 +72,7 @@ test2:        $(PROG) map.in map-abc2.ref map-ghi2.ref map-uABC2.ref
 fail_test: $(PROG) aliases fail_test.in fail_test.ref
        @echo ; echo RUN fail_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        -($(SHLIB_ENV) MAIL_CONFIG=. $(NOSLEEP) sh fail_test.in || exit 0) >fail_test.tmp 2>&1
        diff fail_test.ref fail_test.tmp
@@ -82,7 +82,7 @@ fail_test: $(PROG) aliases fail_test.in fail_test.ref
 quote_test: $(PROG) aliases quote_test.in quote_test.ref
        @echo ; echo RUN quote_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        rm -f quote_test_map.*
        $(SHLIB_ENV) MAIL_CONFIG=. sh quote_test.in >quote_test.tmp 2>&1
@@ -93,7 +93,7 @@ quote_test: $(PROG) aliases quote_test.in quote_test.ref
 file_test: $(PROG) file_test.in file_test.ref
        @echo ; echo RUN file_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        rm -f file_test_map.* postmap-file-1 postmap-file-2
        $(SHLIB_ENV) MAIL_CONFIG=. $(NOSLEEP) sh file_test.in >file_test.tmp 2>&1
@@ -105,7 +105,7 @@ file_test: $(PROG) file_test.in file_test.ref
 mode_conflict_test: $(PROG) mode_conflict_test.in mode_conflict_test.ref
        @echo ; echo RUN mode_conflict_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        $(SHLIB_ENV) MAIL_CONFIG=. $(NOSLEEP) sh -x mode_conflict_test.in >mode_conflict_test.tmp 2>&1
        diff mode_conflict_test.ref mode_conflict_test.tmp
@@ -115,7 +115,7 @@ mode_conflict_test: $(PROG) mode_conflict_test.in mode_conflict_test.ref
 cdb_bulk_test: $(PROG)
        @echo ; echo RUN cdb_bulk_test
        rm -f cdb_bulk.cdb main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        tr A-Z a-z < /usr/share/dict/words| \
            sed -e 's/.*/&      &/' -e 10000q| LANG=C sort -u >cdb_bulk
        touch -t 197101010000 main.cf
@@ -129,7 +129,7 @@ cdb_bulk_test: $(PROG)
 lmdb_abb_test: $(PROG) lmdb_abb lmdb_abb.ref
        @echo ; echo RUN lmdb_abb_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        rm -f lmdb_abb.lmdb
        ($(SHLIB_ENV) $(VALGRIND) ./postmap -c . lmdb:lmdb_abb; \
@@ -141,7 +141,7 @@ lmdb_abb_test: $(PROG) lmdb_abb lmdb_abb.ref
 lmdb_bulk_test: $(PROG)
        @echo ; echo RUN lmdb_bulk_test
        rm -f lmdb_retry.lmdb main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        tr A-Z a-z < /usr/share/dict/words| \
            sed -e 's/.*/&      &/' -e 10000q| LANG=C sort -u >lmdb_retry
        echo lmdb_map_size=10240 >>main.cf
@@ -156,7 +156,7 @@ lmdb_bulk_test: $(PROG)
 lmdb_incr_test: $(PROG)
        @echo ; echo RUN lmdb_incr_test
        rm -f lmdb_retry.lmdb main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        tr A-Z a-z < /usr/share/dict/words| \
            sed -e 's/.*/&      &/' -e 1000q| LANG=C sort -u >lmdb_retry
        echo lmdb_map_size=10240 >>main.cf
@@ -174,7 +174,7 @@ json_tests: json_query_test json_queries_test json_sequence_test \
 json_query_test: $(PROG)
        @echo ; echo RUN json_query_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        # Exercise code in postmap_query().
        echo '{"foo": "fooval"}' >json_query.tmp
@@ -189,7 +189,7 @@ json_queries_test: $(PROG)
        @echo ; echo RUN json_queries_test
        # Exercise json formatting in postmap_queries() with non-message input.
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        echo '{"foo": "fooval"}' >json_queries.tmp
        (echo foo; echo bar) | $(SHLIB_ENV) ${VALGRIND} \
@@ -202,7 +202,7 @@ json_sequence_test: $(PROG)
        # Exercise json formatting in postmap_seq().
        @echo ; echo RUN json_sequence_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        rm -f json_sequence.tmp
        (echo '{"bar": "barval"}'; echo '{"foo": "fooval"}') |\
@@ -217,7 +217,7 @@ json_header_test: $(PROG)
        # Exercise json formatting in postmap_queries() in 'header' mode.
        @echo ; echo RUN json_header_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        echo '{"Subject: test": "got subject"}' > json_header.tmp
        (echo Subject: test; echo body) | $(SHLIB_ENV) ${VALGRIND} ./$(PROG) \
@@ -230,7 +230,7 @@ json_body_test: $(PROG)
        # Exercise json formatting in postmap_queries() in 'body' mode.
        @echo ; echo RUN json_body_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        echo '{"body": "got other"}' > json_body.tmp
        (echo Subject: test; echo body) | $(SHLIB_ENV) ${VALGRIND} ./$(PROG) \
index c23b80b50552a706fc0256c2380a55fc2ee7a54b..cf97313f450df7869ee13c663a91fdafa59fedc0 100644 (file)
@@ -1035,6 +1035,7 @@ int     main(int argc, char **argv)
        argv[0] = slash + 1;
     msg_vstream_init(argv[0], VSTREAM_ERR);
     maillog_client_init(mail_task(argv[0]), MAILLOG_CLIENT_FLAG_NONE);
+    set_mail_conf_str(VAR_PROCNAME, var_procname = mystrdup(argv[0]));
 
     /*
      * Check the Postfix library version as soon as we enable logging.
index a1b05c2d545066dcbfb7ea5b062de3cf9f52fd84..56ec3aa0a6493905cd95b8264b8bf8db6ca7f9ff 100644 (file)
@@ -113,6 +113,7 @@ postmulti.o: ../../include/htable.h
 postmulti.o: ../../include/mail_conf.h
 postmulti.o: ../../include/mail_params.h
 postmulti.o: ../../include/mail_parm_split.h
+postmulti.o: ../../include/mail_task.h
 postmulti.o: ../../include/mail_version.h
 postmulti.o: ../../include/maillog_client.h
 postmulti.o: ../../include/msg.h
index 1c737de6556c50650ee633300dbd34b325fa5e03..293356d7f6adc645ba24090d6433fba69536722f 100644 (file)
 #include <mail_params.h>
 #include <mail_conf.h>
 #include <mail_parm_split.h>
+#include <mail_task.h>
 #include <maillog_client.h>
 
 /* Application-specific. */
@@ -1759,7 +1760,9 @@ int     main(int argc, char **argv)
     if ((slash = strrchr(argv[0], '/')) != 0 && slash[1])
        argv[0] = slash + 1;
     msg_vstream_init(argv[0], VSTREAM_ERR);
-    maillog_client_init(argv[0], MAILLOG_CLIENT_FLAG_LOGWRITER_FALLBACK);
+    maillog_client_init(mail_task(argv[0]),
+                       MAILLOG_CLIENT_FLAG_LOGWRITER_FALLBACK);
+    set_mail_conf_str(VAR_PROCNAME, var_procname = mystrdup(argv[0]));
 
     /*
      * Check the Postfix library version as soon as we enable logging.
index 4b52a6d171205656ebfbf09e7509e9b15f0610b6..331d29826fe1be660c66028ba628a07a3ab24bfc 100644 (file)
@@ -13,7 +13,7 @@
 /*     bool    psc_tls_pre_jail(void)
 /*
 /*     bool    psc_tls_pre_start(
-/*     const char *remote_endpt,
+/*     const PSC_STATE *state,
 /*     TLS_SERVER_START_PROPS *start_props)
 /* DESCRIPTION
 /*     This module converts Postfix configuration settings into
index 97053b1098145b8901a0dc526bcc070c21b83be0..509b3183aa436aaa9128137e428d016bdb6f1aea 100644 (file)
@@ -422,7 +422,7 @@ static void proxymap_sequence_service(VSTREAM *client_stream)
 {
     int     inst_flags;
     int     request_flags;
-    DICT   *dict;
+    DICT   *dict = 0;
     int     request_func;
     const char *reply_key;
     const char *reply_value;
@@ -461,11 +461,12 @@ static void proxymap_sequence_service(VSTREAM *client_stream)
     }
 
     /*
-     * Respond to the client.
+     * Respond to the client. 202604 Claude: don't dereference uninitialized
+     * dict.
      */
     attr_print(client_stream, ATTR_FLAG_NONE,
               SEND_ATTR_INT(MAIL_ATTR_STATUS, reply_status),
-              SEND_ATTR_INT(MAIL_ATTR_FLAGS, dict->flags),
+              SEND_ATTR_INT(MAIL_ATTR_FLAGS, dict ? dict->flags : 0),
               SEND_ATTR_STR(MAIL_ATTR_KEY, reply_key),
               SEND_ATTR_STR(MAIL_ATTR_VALUE, reply_value),
               ATTR_TYPE_END);
index 1332909752b7578bb54fcce3391f452b24a0a5be..b0018faaecab018ea3d6a70f134da5958fadb3f6 100644 (file)
@@ -79,7 +79,7 @@ root_tests:
 smtpd_check_test: smtpd_check smtpd_check.in smtpd_check.ref smtpd_check_access
        @echo ; echo RUN smtpd_check_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        $(SHLIB_ENV) $(VALGRIND) ../postmap/postmap -c. hash:smtpd_check_access
        $(SHLIB_ENV) $(VALGRIND) ./smtpd_check <smtpd_check.in >smtpd_check.tmp 2>&1
@@ -92,7 +92,7 @@ smtpd_check_test: smtpd_check smtpd_check.in smtpd_check.ref smtpd_check_access
 smtpd_check_test2: smtpd_check smtpd_check.in2 smtpd_check.ref2 smtpd_check_access
        @echo ; echo RUN smtpd_check_test2
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        $(SHLIB_ENV) $(VALGRIND) ../postmap/postmap -c. hash:smtpd_check_access
        $(SHLIB_ENV) $(VALGRIND) ./smtpd_check <smtpd_check.in2 >smtpd_check.tmp 2>&1
@@ -103,7 +103,7 @@ smtpd_check_test2: smtpd_check smtpd_check.in2 smtpd_check.ref2 smtpd_check_acce
 smtpd_check_test4: smtpd_check smtpd_check.in4 smtpd_check.ref4 smtpd_check_access
        @echo ; echo RUN smtpd_check_test4
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        $(SHLIB_ENV) $(VALGRIND) ../postmap/postmap -c. hash:smtpd_check_access
        $(SHLIB_ENV) $(VALGRIND) ./smtpd_check <smtpd_check.in4 >smtpd_check.tmp 2>&1
@@ -114,7 +114,7 @@ smtpd_check_test4: smtpd_check smtpd_check.in4 smtpd_check.ref4 smtpd_check_acce
 smtpd_acl_test: smtpd_check smtpd_acl.in smtpd_acl.ref smtpd_check_access
        @echo ; echo RUN smtpd_acl_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        $(SHLIB_ENV) $(VALGRIND) ../postmap/postmap -c. hash:smtpd_check_access
        $(SHLIB_ENV) $(VALGRIND) ./smtpd_check <smtpd_acl.in >smtpd_check.tmp 2>&1
@@ -135,7 +135,7 @@ ADDRINFO_FIX = sed -e 's/No address associated with hostname/hostname nor servna
 smtpd_exp_test: smtpd_check smtpd_exp.in smtpd_exp.ref
        @echo ; echo RUN smtpd_acl_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        $(SHLIB_ENV) $(VALGRIND) ../postmap/postmap -c. hash:smtpd_check_access
        $(SHLIB_ENV) $(VALGRIND) ./smtpd_check <smtpd_exp.in >smtpd_exp.tmp 2>&1
@@ -153,7 +153,7 @@ smtpd_server_test: smtpd_check smtpd_server.in smtpd_server.ref
 smtpd_nullmx_test: smtpd_check smtpd_nullmx.in smtpd_nullmx.ref
        @echo ; echo RUN smtpd_nullmx_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        $(SHLIB_ENV) $(VALGRIND) ../postmap/postmap -c. hash:smtpd_check_access
        $(SHLIB_ENV) $(VALGRIND) ./smtpd_check <smtpd_nullmx.in >smtpd_nullmx.tmp 2>&1
@@ -173,7 +173,7 @@ smtpd_dns_filter_test: smtpd_check smtpd_dns_filter.in smtpd_dns_filter.ref \
 smtpd_check_dsn_test: smtpd_check smtpd_check_dsn.in smtpd_check_dsn.ref smtpd_check_access
        @echo ; echo RUN smtpd_check_dsn_test
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197101010000 main.cf
        $(SHLIB_ENV) $(VALGRIND) ../postmap/postmap -c. hash:smtpd_check_access
        $(SHLIB_ENV) $(VALGRIND) ./smtpd_check <smtpd_check_dsn.in >smtpd_check.tmp 2>&1
index 84ce4124ec9ce0683c718e9f8b4d305d874977d4..b41e3ed9c0de594eb18c3128318b4989f7543b0a 100644 (file)
@@ -740,7 +740,7 @@ attr_scan0_test: attr_print0 attr_scan0 attr_scan0.ref
 
 dict_test: dict_open testdb dict_test.in dict_test.ref
        rm -f testdb.db testdb.dir testdb.pag main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197601010000 main.cf
        $(SHLIB_ENV) ../postmap/postmap -Nc. hash:testdb
        $(SHLIB_ENV) ${VALGRIND} ./dict_open hash:testdb write < dict_test.in 2>&1 | sed 's/uid=[0-9][0-9][0-9]*/uid=USER/' >dict_test.tmp
@@ -943,7 +943,7 @@ base32_code_test: base32_code
 
 dict_thash_test: ../postmap/postmap dict_thash.map dict_thash.in dict_thash.ref
        rm -f main.cf
-       cp ../../testing/main.cf .
+       cp ../../test-conf/main.cf .
        touch -t 197601010000 main.cf
        $(SHLIB_ENV) ${VALGRIND} ../postmap/postmap -fsc. texthash:dict_thash.map 2>&1 | \
            LANG=C sort | diff dict_thash.map -