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 > >>> 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