On Tue, Jan 20, 2004 at 03:15:04PM +0100, Gabriel Kihlman wrote:
>
> > Can you investigate this some more? I originally tried to use
> > Net::SSLeay's accept() and connect() in non-blocking mode, but that
> > broke the SSL session negotiation.
> >
> > While accept() and connect() follow the BSD sockets interface,
> > Net::SSLeay expects them to send and receive data before they return.
> > In O_NONBLOCK mode, accept() and connect() return before the SSL session
> > is fully established, and I don't know how to resume that.
>
> I just tried with nonblocking and it worked fine with your testsuite
> (app-{server|client}.perl)..
>
> I just check the error returned from accept() and call it again. Seems
> like the internal buffers in OpenSSL does the right thing..
[...]
Thanks for the patches, and thanks, Sam, for the non-blocking pointers.
I had to check for both ERROR_WANT_READ and ERROR_WANT_WRITE in the
TIEHANDLE methods, but otherwise it works fine.
http://poe.perl.org/poedown/sslpoe.tar.gz contains the latest version
with your patches.
--
Rocco Caputo - [EMAIL PROTECTED] -http://poe.perl.org/