sandmant--- via Postfix-users:
> I am updating a system from postfix-2.10.1 to postfix-3.5.9 (and
> RHEL7->RHEL9), and it seems my forward_path is no longer getting processed
> correctly.
>
> postconf shows the correct forward_path:
>
> root@rt2:/etc/postfix-auth> postconf -c /etc/postfix-auth/ forward_path
>
> forward_path = $home/.forward${recipient_delimiter}${extension}+auth,
> $home/.forward${recipient_delimiter}${extension},
> $home/.forward${recipient_delimiter}auth, $home/.forward
>
> but the local agent chooses $home/.forward, even though a previous file
> ($home/.forward${recipient_delimiter}auth) exists:
>
This is a rare and unexpected compatibility break.
In such a case, it would be reasonable for Postfix to use the
configured recipient_delimiter value, especially if that is the
default value, instead of trying to use the empty recipient_delimiter
value that was derived from the email message.
Wietse
20231026
Bugfix: forward_path compatibility break when a recipient
address has no recipient delimiter. Reported by Tod A.
Sandman. Files: proto/postconf.proto, local/local_expand.c.
diff '--exclude=man' '--exclude=html' '--exclude=README_FILES'
'--exclude=INSTALL' '--exclude=.indent.pro' -r -bur
/var/tmp/postfix-3.9-20231024/proto/postconf.proto ./proto/postconf.proto
--- /var/tmp/postfix-3.9-20231024/proto/postconf.proto 2023-10-08
15:17:57.000000000 -0400
+++ ./proto/postconf.proto 2023-10-26 15:57:28.860195914 -0400
@@ -1781,7 +1781,9 @@
<dt><b>$recipient_delimiter</b></dt>
<dd>The address extension delimiter that was found in the recipient
-address (Postfix 2.11 and later), or the system-wide recipient
+address (Postfix 2.11 and later), or the 'first' delimiter specified
+with the system-wide recipient address extension delimiter (Postfix
+3.5.22, 3.5.12, 3.7.8, 3.8.3), or the system-wide recipient
address extension delimiter (Postfix 2.10 and earlier). </dd>
<dt><b>${name?value}</b></dt>
diff '--exclude=man' '--exclude=html' '--exclude=README_FILES'
'--exclude=INSTALL' '--exclude=.indent.pro' -r -bur
/var/tmp/postfix-3.9-20231024/src/local/local_expand.c
./src/local/local_expand.c
--- /var/tmp/postfix-3.9-20231024/src/local/local_expand.c 2014-12-06
20:35:33.000000000 -0500
+++ ./src/local/local_expand.c 2023-10-26 15:37:34.361968574 -0400
@@ -138,6 +138,8 @@
} else if (STREQ(name, "recipient_delimiter")) {
rcpt_delim[0] =
local->state->msg_attr.local[strlen(local->state->msg_attr.user)];
+ if (rcpt_delim[0] == 0)
+ rcpt_delim[0] = var_rcpt_delim[0];
rcpt_delim[1] = 0;
return (rcpt_delim[0] ? rcpt_delim : 0);
#if 0
_______________________________________________
Postfix-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]