DOP-1414 sieve vacation address matching is case sensitive

Stephan Bosch stephan at rename-it.nl
Mon Nov 9 23:33:51 EET 2020



On 09/11/2020 12:36, Mathieu Gosset wrote:
> 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 ?

It's DOP-1424 and according to the bug tracker it is fixed per 2.3.10.1.

Regards,

Stephan.


More information about the dovecot mailing list