Package: postfix
Version: 3.1.8-0+deb9u1
Severity: normal
Tags: newcomer

Dear Maintainer,

I had an issue after upgrading from Debian 8 to Debian 9 related to Postfix and 
PostSRSd.
After investigating, it looks like Postfix has a bug where Return-Path and 
other mail headers
are incorrectly case folded (they become lowercase) and this can introduce 
problems.

For example: SpamAssassin checks the SRS tag in front of the Return-Path header 
with case sensitivity.
This means that some spam rules were being triggered incorrectly and mails 
being sent to Spam incorrectly.

The problem arises when smtputf8_enable is enabled in Postfix
And when you are using a lookup table, in my example a TCP-based lookup table 
for PostSRSd.

I have had contact with the Postfix author Wietse Venema.
After finding the problem, he told me that the issue has been fixed in version 
3.4,
but that the bugfix never made it into the stable releases for some reason.
Version 3.1.11 will probably be released in January though.

Will Debian pick up this version to fix this issue?
It's an annoying issue because right now we either disable UTF8 support,
Or we accept that some of our mails will be marked as spam incorrectly.

Alternative:

The fix is quite simple, just adding a set of parentheses.
Perhaps this could be a Debian patch?

File: util/dict_utf8.c.

--- dict_utf8.c 2015-02-03 11:19:19.000000000 -0500
+++ ../../../postfix-3.4-20181226/src/util/dict_utf8.c  2018-07-07 
17:07:00.000000000 -0400
@@ -104,8 +109,9 @@
     /*
      * Casefold UTF-8.
      */
-    if (fold_flag != 0 && (fold_flag & (dict->flags & DICT_FLAG_FIXED) ?
-                          DICT_FLAG_FOLD_FIX : DICT_FLAG_FOLD_MUL)) {
+    if (fold_flag != 0
+       && (fold_flag & ((dict->flags & DICT_FLAG_FIXED) ?
+                        DICT_FLAG_FOLD_FIX : DICT_FLAG_FOLD_MUL))) {
        if (dict->fold_buf == 0)
            dict->fold_buf = vstring_alloc(10);
        return (casefold(dict->fold_buf, string));

Kind regards
Wesley S.


-- System Information:
Debian Release: 9.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-8-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968), LANGUAGE=en_GB:en 
(charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages postfix depends on:
ii  adduser                3.115
ii  cpio                   2.11+dfsg-6
ii  debconf [debconf-2.0]  1.5.61
ii  dpkg                   1.18.25
ii  init-system-helpers    1.48
ii  libc6                  2.24-11+deb9u3
ii  libdb5.3               5.3.28-12+deb9u1
ii  libicu57               57.1-6+deb9u2
ii  libsasl2-2             2.1.27~101-g0780600+dfsg-3
ii  libssl1.1              1.1.1a-2~20181219073610.6+stretch
ii  lsb-base               9.20161125
ii  netbase                5.4
ii  postfix-sqlite         3.1.8-0+deb9u1
ii  ssl-cert               1.0.39

Versions of packages postfix recommends:
ii  python3  3.5.3-1

Versions of packages postfix suggests:
ii  bsd-mailx [mail-reader]        8.1.2-0.20160123cvs-4
ii  dovecot-core [dovecot-common]  1:2.2.27-3+deb9u2
ii  libsasl2-modules               2.1.27~101-g0780600+dfsg-3
ii  mutt [mail-reader]             1.7.2-1+deb9u1
pn  postfix-cdb                    <none>
pn  postfix-doc                    <none>
pn  postfix-ldap                   <none>
pn  postfix-lmdb                   <none>
pn  postfix-mysql                  <none>
ii  postfix-pcre                   3.1.8-0+deb9u1
pn  postfix-pgsql                  <none>
ii  procmail                       3.22-25+deb9u1
pn  resolvconf                     <none>
ii  sasl2-bin                      2.1.27~101-g0780600+dfsg-3
pn  ufw                            <none>

-- debconf information excluded

Reply via email to