On 03/11/2017 11:48, Stephan Bosch wrote:
Hi,
Sorry, we're in a bit of a v2.3 merge frenzy. Much of the LMTP code will be replaced in v2.3, but I'll give the older code a look as well.
This can take a while though.
Thank you very much for getting back to me, I can appreciate it can get hectic, and I don't wish to appear ungrateful, I wholeheartedly endorse/recommend dovecot and the company I work for does use paid for OX elsewhere. For my own part, the platform I manage is > 300,000 mailboxes and dovecot performs incredibly well.
I came up with some much smaller patches that accomplish the same thing in v2.2 using built-in functions and pushing the re-encoding slightly further up the call stack - address/username being interchangeable over most of the lmtp code makes significant changes problematic, so I thought it best not to try a rework.
Looking at gitub, though, I don't see any significant changes in behaviour as far as the problem I'm seeing goes, which is worrying.
What I'll do is leave the patches here for reference, and pick this up again after the v2.3 release. If you do have time for a further response, I could also provide them as pull requests against current on github if you'd like to request that.
- Cut on the final instead of initial @ when splitting user/domain parts in LMTP, this can fix some issues where localpart contains a quoted @:
dovecot-2.2.33.2-reverse-domaincut.patch
- Fully decode local part on receipt in LMTP, and re-encode when proxying. This fixes the issue where quoted local quotes are stripped on proxy, preventing successful proxying, and some director hashing problems (exposes str_append_maybe_escape in message-address.h, some logging is still inconsistent, though, but would require a major rework):
dovecot-2.2.33.2-quoted-local-proxy.patch
-- David Zambonini