[plt-scheme] openssl changes

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Wed Apr 26 22:14:33 EDT 2006

If you use the "openssl" collection, beware that I've re-written the
OpenSSL binding. The old "mzssl.c" has been replaced by "mzssl.ss"
built with `(lib "foreign.ss")'.

I've tested the new implementation for a while (and this message was
sent through it), but watch out for problems.

The new binding is a little slower than the old one --- not so much
because it's in Scheme instead of C, but because it uses a higher-level
interface to MzScheme's port and thread system (i.e., fewer special
cases). I think this difference could be eliminated with some work, so
let me know if performance is an issue, but I expect that the
difference is small compared to network overhead.

In addition to the old functions, the new "mzssl.ss" provides
`ports->ssl-ports', which implements the SSL protocol over a given pair
of ports. In other words, the OpenSSL binding is no longer tied to TCP.
Still, the most useful functions (e.g., `ssl-connect') combine a TCP
function (e.g., `tcp-connect') with the generic SSL facilities.


Posted on the users mailing list.