| 
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.
 |