From: Wietse Z Venema Date: Mon, 25 Aug 2025 05:00:00 +0000 (-0500) Subject: postfix-3.11-20250825 X-Git-Tag: v3.11.0-RC1~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e0168dc93254cf4e588919ea5e4b101cd7d7f541;p=thirdparty%2Fpostfix.git postfix-3.11-20250825 --- diff --git a/postfix/HISTORY b/postfix/HISTORY index 6a4f349d5..53b03a912 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -29575,3 +29575,21 @@ Apologies for any names omitted. smtpd 'disconnect' command counts did not count malformed commands with "bad syntax" and "bad UTF-8 syntax" errors. File: smtpd/smtpd.c. + +20250819 + + Bugfix: the 20250717 workaround broke DBM library support + which is still needed on Solaris. File: util/dict_dbm.c. + +20250823 + + Bugfix (defect introduced: Postfix 3.9, date 20230517): + posttls-finger logged a zero port number. Viktor Dukhovni. + File: posttls-finger/posttls-finger.c. + +20250825 + + Bugfix (defect introduced: 20250626): panic() in dict_register() + when dict_open() was called recursively, after dict_proxy_open() + changed the name of a dictionary on-the-fly by skipping a + proxy: prefix). File: util/dict_open.c. diff --git a/postfix/proto/stop.double-history b/postfix/proto/stop.double-history index 4df865938..78427bde6 100644 --- a/postfix/proto/stop.double-history +++ b/postfix/proto/stop.double-history @@ -195,3 +195,4 @@ proto proto COMPATIBILITY_README html virtual virtual c request Reported by John Doe File tlsproxy tlsproxy c smtpd smtpd c smtpd smtpd_chat c global mail_params h + Files Makefile in smtp smtp h smtp smtp_connect c diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index 1ea8819c7..85e924775 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 "20250818" +#define MAIL_RELEASE_DATE "20250825" #define MAIL_VERSION_NUMBER "3.11" #ifdef SNAPSHOT diff --git a/postfix/src/posttls-finger/posttls-finger.c b/postfix/src/posttls-finger/posttls-finger.c index baa5ca81b..38c2eae31 100644 --- a/postfix/src/posttls-finger/posttls-finger.c +++ b/postfix/src/posttls-finger/posttls-finger.c @@ -1651,7 +1651,7 @@ static void connect_remote(STATE *state, char *dest) if (level == TLS_LEV_INVALID || (state->stream = connect_addr(state, addr)) == 0) { msg_info("Failed to establish session to %s via %s:%u: %s", - dest, HNAME(addr), addr->port, + dest, HNAME(addr), ntohs(state->port), vstring_str(state->why->reason)); continue; } diff --git a/postfix/src/util/dict_dbm.c b/postfix/src/util/dict_dbm.c index 9263c78cc..9c1ceccc8 100644 --- a/postfix/src/util/dict_dbm.c +++ b/postfix/src/util/dict_dbm.c @@ -472,7 +472,7 @@ DICT *dict_dbm_open(const char *path, int open_flags, int dict_flags) msg_fatal("open database %s: cannot support GDBM", path); if (fstat(dict_dbm->dict.stat_fd, &st) < 0) msg_fatal("dict_dbm_open: fstat: %m"); - if (open_mode == O_RDONLY) + if (open_flags == O_RDONLY) dict_dbm->dict.mtime = st.st_mtime; dict_dbm->dict.owner.uid = st.st_uid; dict_dbm->dict.owner.status = (st.st_uid != 0); diff --git a/postfix/src/util/dict_open.c b/postfix/src/util/dict_open.c index 83afcd9ea..e951f52f6 100644 --- a/postfix/src/util/dict_open.c +++ b/postfix/src/util/dict_open.c @@ -496,9 +496,10 @@ DICT *dict_open3(const char *dict_type, const char *dict_name, VSTRING *reg_name = vstring_alloc(100); DICT *dict; + /* Workaround for dict_proxy_open() with DICT_FLAG_NO_FILE. */ #define DICT_OPEN3_RETURN(d) do { \ DICT *_d = (d); \ - dict_register(vstring_str(reg_name), _d); \ + dict_register(_d->reg_name? _d->reg_name : vstring_str(reg_name), _d); \ vstring_free(reg_name); \ return (_d); \ } while (0)