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. 

Reply via email to