This patch adds Enhanced Status Code support to the SMTP server, ala RFCs 2034
and 3463.
It also brings the server in to closer alignment with RFC 2821:
1) The SMTP TURN command is removed from the parser. It was a no-op,
and the 502 response is deprecated under RFC 2821.
2) STARTTLS in the absence of a certificate returns a 500 (illegal
command) response; the command is illegal in the absence of a
STARTTLS capability advertisment.
3) The bogus domain checks have been extended to include all the domains
defined in RFC 2606. The domain checks are now case-insensitive, and
they now match sub-domains thereof (e.g. foo.example.com).
4) If filterstate returns a DELAY status, the server issues a 450 reply
(temporary failure) instead of a permanent 554 response. This change
might have an impact on other sites; it's been working fine here for a
couple of weeks, though, and is faithful to the spirit of the RFCs (which
don't necessarily reflect reality at a lot of sites ...) Caveat IETF.
5) A few of the SMTP response codes have been adjusted to more closely reflect
the errors being reported.
|