I posted two-line patch that should work with 3.1 and 3.2 (developed for 3.3).
Wietse Christian Ro??ner: > Hi Victor, > > do you have a patch that works for Postfix-3.2.0? I tried to apply the patch > below, but it does not succeed. > > Thanks > > Christian > > ------------------------- > > On Mon, Apr 03, 2017 at 02:03:41PM -0400, Viktor Dukhovni wrote: > > > > Any idea is welcome. > > > > For Postfix 3.2.0 see: https://github.com/vdukhovni/postfix/pull/8 > > For 3.3-20170218, see: https://github.com/vdukhovni/postfix/pull/7 > > > > The underlying patch is identical. There could be other ways > > to address the issue, perhaps by avoiding changing the static > > smtpd_input_transp_mask variable, but such a change would be > > more invasive. > > On the other hand, perhaps not so bad after all: > > diff --git a/src/smtpd/smtpd.c b/src/smtpd/smtpd.c > index 986264b2..742863c4 100644 > --- a/src/smtpd/smtpd.c > +++ b/src/smtpd/smtpd.c > @@ -2007,8 +2007,15 @@ static int mail_open_stream(SMTPD_STATE *state) > else if (SMTPD_STAND_ALONE(state) == 0) { > int cleanup_flags; > > + /* > + * Safety: disable non_smtpd_milters when not sending our own mail > + * filter list. Otherwise the next stage could handle this message > as a > + * local submission. > + */ > cleanup_flags = input_transp_cleanup(CLEANUP_FLAG_MASK_EXTERNAL, > - smtpd_input_transp_mask) > + smtpd_input_transp_mask | > + (state->milters ? 0 : > + INPUT_TRANSP_MILTER)) > | CLEANUP_FLAG_SMTP_REPLY; > if (state->flags & SMTPD_FLAG_SMTPUTF8) > cleanup_flags |= CLEANUP_FLAG_SMTPUTF8; > @@ -5378,14 +5385,6 @@ static void setup_milters(SMTPD_STATE *state) > var_milt_unk_macros, > var_milt_macro_deflts); > } > - > - /* > - * Safety: disable non_smtpd_milters when not sending our own mail > filter > - * list. Otherwise the next stage could handle this message as a local > - * submission. > - */ > - if (state->milters == 0) > - smtpd_input_transp_mask |= INPUT_TRANSP_MILTER; > } > > /* teardown_milters - release resources */ > > -- > Viktor.