I am having a problem that IMHO should be solved by the following in main.cf. I am using version 2.7.1 in Debian squeeze:

smtpd_data_restrictions =
   permit_mynetworks,
   reject_unauth_pipelining,
   reject_multi_recipient_bounce

This says to me that if the host is listed in mynetworks, it should stop looking at the rest of the restrictions. This doesn't happen. The log complains about improper command pipelining, and the SMTP conversation sends a 503. I have done some testing, and have learned that reject_multi_recipient_bounce *IS* ignored if the source matches mynetworks, and takes effect if the source is not listed there.

The client that's doing this is xymon, a monitoring application. It sends "mail" followed by "quit" and looks for a 220 response. The code is not flexible enough to do it properly, which means sending helo, waiting for a response, then sending some useful test command and waiting for another response. The test does pass, because the first thing the server sends is a 220.

Am I running into expected behavior? I agree with the notion that unauthorized pipelining is bad, but what if I have a broken system that I am forced to use? Shouldn't I be able, through either permit_mynetworks or another mechanism, to allow that client to do it while denying everyone else? I am not hampered by what I've discovered, but I consider it to be a bug that should be fixed, because it might affect someone else.

I filed a bug on this problem with the Debian project some time ago, but aside from one person who privately sent me a link to a general postfix howto for Ubuntu, I've gotten no response.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=604707

Thanks,
Shawn

Reply via email to