Hello,

today, we stumbled across a possible bug with the recipient_delimiter
option. Steps to reproduce are:


1. Set recipient_delimiter to - (minus sign), instead of the typical + sign.
2. Create a local system user with a - sign, e.g. foo-test.
3. Send mail to foo-test@mailhost

Postfix will log this:

Dec 15 17:59:09 mailhost postfix/local[7486]: B4D124341:
to=<foo-test@mailhost>, relay=local, delay=0, status=bounced (unknown
user: "foo-test")

and bounce the message.

Now if you disable the recipient_delimiter, or set the delimiter to +
instead, delivery to foo-test works fine. Also, if you create a user
"foo" and re-enable the minus delimiter, mail to foo-test goes to foo
instead.

I verified this behavior on 3 different systems, the newest one running
Postfix 2.9.3, the oldest running 2.2.x (ancient, I know), and it seems
like a bug to me. According to the documentation, Postfix should try to
deliver to foo-test first, if that doesn't exist, it should try foo. In
any case, logging 'unknown user: "foo-test"' while getent passwd shows
the user exists is a bug itself already. I also confirmed with some
people in #postfix on Freenode that this isn't expected behavior.

It would be very helpful for us if this could be fixed, as we're trying
to migrate a system where users have been using the minus sign for
recipient_delimiter to a system which has users with a minus sign in the
name.


Thank you very much in advance,

Chris

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to