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