DOP-1414 sieve vacation address matching is case sensitive
Mathieu Gosset
mathieu at devandco.net
Mon Nov 9 13:36:38 EET 2020
Hello,
One year ago a bug was reported regarding pigeonhole vacation plugin
https://www.mail-archive.com/dovecot@dovecot.org/msg78588.html
a mail sent to User at domain.com instead of user at domain.com will generate a "
vacation action: discarding vacation response for implicitly delivered
message; no known (envelope) recipient address found in message headers
(recipient=<user at domain.com>, and no additional `:addresses' are specified)"
and no auto-response will be sent
the problem seems to be located in
/src/lib-sieve/plugins/vacation/cmd-vacation.c and the
_contains_my_address_() function
the comparison is done using dovecot's lib-smtp
(src/lib-smtp/smtp-address.h) smtp_address_equals() function, which returns
smtp_address_cmp(.) == 0;
smtp_address_cmp() does a case insensitive comparison of the domain parts
(using null_strcasecmp()) and a case sensitive comparison of the local parts
(using null_strcmp())
There is probably a good reason why the local parts comparison is case
sensitive within smtp_address_cmp(), but having vacation rely on that
function causes the problem described above.
Is there any plan to fix that ?
Regards
More information about the dovecot
mailing list