[flexi-streams-devel] Re: [cl-xmpp-devel] Problem with TLS connection on Franz/ACL8.1

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Many thanks. Here is a patch which works for me to get past this particular problem. =================== - --- streams.lisp 2007-07-07 18:47:57.000000000 +0200 +++ /home/jcornez/Library/world/site/cl+ssl-2007-07-07/streams.lisp 2007-10-25 19:05:27.000000000 +0200 @@ -156,6 +156,25 @@ ;;; interface functions ;;; +#+allegro +(defun make-ssl-client-stream + (socket &key certificate key (method 'ssl-v23-method) external-format + close-callback) + (declare (ignore external-format close-callback)) + (let ((acl-method (case method + ((ssl-v23-method + ssl-v3-method + ssl-v2-client-method + ssl-v23-client-method + ssl-v3-client-method) :sslv23) + ((ssl-TLSv1-method + ssl-TLSv1-client-method) :tlsv1)))) + (socket:make-ssl-client-stream socket + :certificate certificate + :key key + :method acl-method))) + +#-allegro (defun make-ssl-client-stream (socket &key certificate key (method 'ssl-v23-method) external-format close-callback) =================== - -Jason David Lichteblau wrote:
CL+SSL is known to be broken on Allegro with a failure mode like this. I can only guess why, but since Allegro already includes SSL support, perhaps there is some kind of conflict between the two FFI uses.
I think the workaround Edi used in his libraries was to do #+allegro (excl:make-ssl-client-stream ...) #-allegro (cl+ssl:make-ssl-client-stream ...) but if the problem stays unsolved, it would be better to move this kind of hack into CL+SSL itself, so that it wraps the built-in streams on Allegro instead of doing things itself.
Unfortunately I don't really have the time for CL+SSL development at the moment, but patches are always welcome, of course.
d.
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.7 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHINENQlm6HDTMLyMRAiSTAJ46LaVUnJDueUxa3E6DtoI+TsKIaQCgvAtq cGkrHllMGVHCWONoJBg1pFA= =/0Nx -----END PGP SIGNATURE-----
participants (1)
-
Jason S. Cornez