[prev in list] [next in list] [prev in thread] [next in thread]
List: postfix-users
Subject: Re: postfix milter body chunk length
From: Wietse Venema <wietse () porcupine ! org>
Date: 2019-08-16 14:37:08
Message-ID: 4695W84x84zJrNt () spike ! porcupine ! org
[Download RAW message or body]
Matthias Schneider:
> Any chance to get a config for MILTER_CHUNK_SIZE? It would be great so
> have an easy and fast switch. I may have different settings on different
> mail systems (because of 3rd party milters), its hard to manage
> different customized postfix versions in my distribution repositories.
Why? It's a compile-time constant in sendmail/libmilter. In Postfix,
MILTER_CHUNK_SIZE is not the only constant to limit packet sizes.
There is also the XXX_MAX_DATA sanity limit for responses from the
Milters, that will trigger a panic if the size is exceeded (that
should probably be just a protocol error). All that stuff would
need to be updated to make the packet size configurable without
introducing unstable edge cases.
Wietse
>
> Thanks,
>
> Matthias Schneider
>
> Am 16.08.19 um 15:32 schrieb Matthias Schneider:
> > Any chance to get a config for MILTER_CHUNK_SIZE? It would be great so
> > have an easy and fast switch. I may have different settings on
> > different mail systems (because of 3rd party milters), its hard to
> > manage different customized postfix versions in my distribution
> > repositories.
> >
> >
> > Thanks,
> >
> > Matthias Schneider
> >
> >
> >
> > Am 16.08.19 um 14:49 schrieb Viktor Dukhovni:
> >>> On Aug 16, 2019, at 10:33 PM, Matthias Schneider
> >>> <matthias.schneider@rmail.de> wrote:
> >>>
> >>> I was wondering why the transfer of a 100mb mail to my milter
> >>> application was slow, i found the bottleneck in the body chunk
> >>> transfer.
> >>>
> >>> The maximum packet length seems to be fixed to 64k, it would be
> >>> great if we could make that configurable in postfix (uint32 is
> >>> possible).
> >> * milter communication fails if a single header is larger than 64K.
> >>
> >> ?? If a single header is larger than 64KB (which is not possible in the
> >> ?? default configuration) then it cannot be transferred in one block to
> >> ?? libmilter and hence the communication fails.? This can be avoided by
> >> ?? increasing the constant MILTER_CHUNK_SIZE in
> >> ?? include/libmilter/mfdef.h and recompiling sendmail, libmilter, and
> >> ?? all (statically linked) milters (or by using undocumented compile
> >> ?? time options: _FFR_MAXDATASIZE/_FFR_MDS_NEGOTIATE; you have to
> >> ?? read the source code in order to use these properly).
> >>
>
Wietse
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic