[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