-----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.
flexi-streams-devel@common-lisp.net