On 2016-05-05 17:08, Todd Herr wrote:
Forgive me if this is off topic, but I don't know where else to turn.

I've got a customer who's having trouble sending mail to two domains with nothing obvious (to me) in common save for one thing; both domain's primary MXen look to be sitting behind Cisco PIX devices with Mailguard turned on. I know this because of the greeting I get from both:

220 *******************************************************************

Now, everything I can find about these devices says that they only allow seven SMTP commands:​

    ​ HELO, ​
    MAIL
    ​, ​
    RCPT
    ​, ​
    DATA
    ​, ​
    RSET
    ​, ​
    NOOP
    ​, ​
    QUIT
    ​


And they're supposed to respond with OK to everything else. These two domains, again not obviously related, mail servers in different /8s, don't even do that, though; both of them are responding in
​ unsuspected ways even to commands from the above list, to wit:

    RSET
    500 Syntax error, command unrecognized
    QUIT
    500 Syntax error, command unrecognized
    ​

​ I've never wrangled one of these beasts (haven't even *seen* evidence of one in many years) so I'd like to ask you fine folks if you've ever seen anything like this​ from one of these, and what it means for their configuration? I mean, is this a common bug/misconfiguration, or have I just hit the lottery?


They're broken by design and not fit for purpose. Among their many flaws, they don't even make it to RFC821 3.1, the MAIL command, which is described as the following:

MAIL <SP> FROM:<reverse-path> <CRLF>

Instead, when they receive a "M" in a packet alone, they interpret it as an invalid command and don't bother to parse the rest of the command. However, if you deliver the whole command in one TCP packet, they will accept it; This is patently stupid.

Although TCP won't generally break up such a short string into multiple packets there's actually nothing wrong with doing so and there's no requirement in RFC 821 to send each command in a single packet. It also makes troubleshooting difficult since telnet and similar tools often send each byte as you type it rather than waiting for the <CRLF>. If you can configure your tool to send whole lines, you'll run into other stupidity, but it will at least attempt to recognize commands.

Given that RFC 821 is from August of 1982, I would wholeheartedly recommend unplugging them until they catch up to at least 1984, or if that's not possible, at least disable the SMTP-breaking "feature". Even Microsoft published a how-to article on the topic: https://support.microsoft.com/en-us/kb/320027

--
Dave Warren
http://www.hireahit.com/
http://ca.linkedin.com/in/davejwarren

_______________________________________________
mailop mailing list
mailop@mailop.org
https://chilli.nosignal.org/cgi-bin/mailman/listinfo/mailop

Reply via email to