[cl-smtp-devel] patch: 1) newline conversions; 2) ssl modes

Anton Vodonosov avodonosov at yandex.ru
Sun Mar 23 03:22:12 UTC 2008


Current cl-smtp code assumes that socket stream
converts #\Newline to one byte 0xA (LF).
It is not necessary true. For instance in CLISP
on Windows default newline conversion is CRLF.
I.e. by #\Return #\NewLine we send CRCRLF to server
instead of CRLF.

The suggestion is to create binary socket stream
and wrap it by flexi-stream with explicitly specified
newline conversion.

The second issue is SSL functionality. As Tim Ritchey
noted in his blog (http://redromelogic.com/blog/display?id=20)
SSL connection to the port 465 do not requires STARTTLS
negotiation. In the mail agent The Bat also there are
three modes for smtp connection:
- usual (default port 25)
- secure to standard port (STARTTLS, default port 25)
- secure to special port (TLS, default port 465).

So I would suggest instead of boolean parameter SSL
introduce parameter SECURE with three possible values:
nil, :tls and :starttls. And make default value of the
PORT depend on the SECURE value.

The changes proposed are in the attached patch.

BTW, it would be good to update the tarball linked
from the project page and from cliki to current
CVS state.

Best regards,
-- Anton
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cl-smtp.diff
Type: application/octet-stream
Size: 13928 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/cl-smtp-devel/attachments/20080323/b70bf0ae/attachment.obj>

More information about the cl-smtp-devel mailing list