Package: postfix
Version: 3.4.1-1
Severity: important

Dear Maintainer,

as also reported upstrean at
https://marc.info/?t=155301763200003&r=1&w=2

i am running postfix 3.4.1-1 (from debian sid).

i recently noticed that mails from multiple senders (most importantly google 
mail)
are being rejected with:
> 552 5.3.4 Chunk exceeds message size limit

postfix logs:
> Mar 19 17:42:48 ngs postfix/smtpd[22671]: warning: 25E74C1: BDAT request from 
> \
> mail-ed1-f44.google.com[209.85.208.44] exceeds message size limit

this happens regardless of the actual message size,
even a one-line plaintext message is rejected.

/etc/postfix/main.cf has:
header_size_limit = 4096000
message_size_limit = 0

downgrading to 3.3.2 fixed the issue.

i found the responsible code in postfix-3.4.1/src/smtpd/smtpd.c 
commenting out that check also fixes the issue.

    /* Block too large chunks. */
    if (state->act_size > var_message_limit - chunk_size) {
        state->error_mask |= MAIL_ERROR_POLICY;
        msg_warn("%s: BDAT request from %s exceeds message size limit",
                 state->queue_id ? state->queue_id : "NOQUEUE",
                 state->namaddr);
        return skip_bdat(state, chunk_size, final_chunk,
                         "552 5.3.4 Chunk exceeds message size limit");
    }


after some more reading of code,
it turns out that this usage of `var_message_limit` is missing the check
of `var_message_limit > 0` that in other places enables `0` to mean
"no limit", and thus it enforces a limit of 0 with my config :(


-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.15.0-2-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages postfix depends on:
ii  adduser                3.118
ii  cpio                   2.12+dfsg-6
ii  debconf [debconf-2.0]  1.5.71
ii  dpkg                   1.19.5
ii  e2fsprogs              1.45.0-1
ii  libc6                  2.28-8
ii  libdb5.3               5.3.28+dfsg1-0.6
ii  libicu63               63.1-6
ii  libsasl2-2             2.1.27+dfsg-1
ii  libssl1.1              1.1.1b-1
ii  lsb-base               10.2019031300
ii  netbase                5.6
ii  ssl-cert               1.0.39

Versions of packages postfix recommends:
ii  python3  3.7.2-1

Versions of packages postfix suggests:
ii  bsd-mailx [mail-reader]  8.1.2-0.20180807cvs-1
ii  libsasl2-modules         2.1.27+dfsg-1
ii  mutt [mail-reader]       1.10.1-2
pn  postfix-cdb              <none>
pn  postfix-doc              <none>
pn  postfix-ldap             <none>
pn  postfix-lmdb             <none>
pn  postfix-mysql            <none>
ii  postfix-pcre             3.4.1-1
pn  postfix-pgsql            <none>
ii  postfix-sqlite           3.4.1-1
ii  procmail                 3.22-26
pn  resolvconf               <none>
pn  ufw                      <none>

-- debconf-show failed

Reply via email to