with "database X is older than source file Y". Files:
util/dict.c, util/dict_db.c, util/dict_dbm.c, util/dict_lmdb.c,
util/dict_sdbm.c.
+
+20251028
+
+ Documentation: removed incorrect text from the parameter
+ description for smtp_cname_overrides_servername. File:
+ proto/postconf.proto.
+
+20251120
+
+ Bugfix (defect introduced: Postfix 2.9, date: 20120307):
+ segfault with duplicate parameter name in "postconf -X" or
+ "postconf -#'. File: postconf/postconf_edit.c.
password file lookups more predictable. This is the default setting
as of Postfix 2.3. </p>
-<p> When DNS CNAME records are validated with secure DNS lookups
-(<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> = dnssec), they are always allowed to
-override the above servername (Postfix 2.11 and later). </p>
-
<p> This feature is available in Postfix 2.2.9 and later. </p>
password file lookups more predictable. This is the default setting
as of Postfix 2.3.
.PP
-When DNS CNAME records are validated with secure DNS lookups
-(smtp_dns_support_level = dnssec), they are always allowed to
-override the above servername (Postfix 2.11 and later).
-.PP
This feature is available in Postfix 2.2.9 and later.
.SH smtp_connect_timeout (default: 30s)
The Postfix SMTP client time limit for completing a TCP connection, or
password file lookups more predictable. This is the default setting
as of Postfix 2.3. </p>
-<p> When DNS CNAME records are validated with secure DNS lookups
-(smtp_dns_support_level = dnssec), they are always allowed to
-override the above servername (Postfix 2.11 and later). </p>
-
<p> This feature is available in Postfix 2.2.9 and later. </p>
%PARAM lmtp_cname_overrides_servername yes
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
-#define MAIL_RELEASE_DATE "20251026"
-#define MAIL_VERSION_NUMBER "3.9.6"
+#define MAIL_RELEASE_DATE "20251125"
+#define MAIL_VERSION_NUMBER "3.9.7"
#ifdef SNAPSHOT
#define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
msg_panic("pcf_edit_main: unknown mode %d", mode);
}
if ((cvalue = htable_find(table, pattern)) != 0) {
- msg_warn("ignoring earlier request: '%s = %s'",
- pattern, cvalue->value);
+ if (edit_value && cvalue->value
+ && strcmp(edit_value, cvalue->value) != 0)
+ msg_warn("ignoring earlier request: '%s = %s'",
+ pattern, cvalue->value);
htable_delete(table, pattern, myfree);
}
cvalue = (struct cvalue *) mymalloc(sizeof(*cvalue));