Thanks Dave for your time and patience.

I am porting an existing Windows-based TCP/IP server (receive-only, not a
Web server) to OpenSSL.

The way it works with TCP/IP is it sets up a socket, binds it to the desired
port, sets up a timeval, and issues a select. When the select is satisfied
if the socket is ready it starts a thread that issues an accept and goes
into a receive loop. Otherwise it does some housekeeping like checking for a
"quit" flag. In any event it loops back around to the select. Pretty typical
I think.

Most of that ports fairly straightforwardly to OpenSSL. Not one to one, but
pretty straghtforward: BIO_new_accept(), BIO_do_accept() * 2, BIO_pop(),
SSL_setbio(), ...

What about the select? Is there some sort of BIO_select()? Is there some way
to do SSL on native sockets rather than BIO objects? BIO has (I think!) a
regular system socket under the covers -- is there a supported API for
getting that socket so I can do a select on it?

Or do I have to re-write somehow with non-blocking sockets and/or using
signals for my timeout rather than select()? Or ... ?

I have tried getting TCP/IP bind and BIO_do/new_accept() to coexist but they
don't want to share a port, and my BIO_do_accept fails in the absence of a
preceding BIO_do/new_accept().

Thanks much. Tried searching for an answer but "accept" and "bind" and
"select" are such common keywords, and most of the hits are either for
select for determining when a socket is readable or writable, or for
OpenSSL's session timeouts.
-- 
View this message in context: 
http://old.nabble.com/How-do-session-accept-timeout-with-OpenSSL-tp34299004p34299004.html
Sent from the OpenSSL - User mailing list archive at Nabble.com.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to