On Jul 24, 2011, at 12:40 AM, com...@gmx.ch wrote:

> Hi,
> 
> 
> I got some code which uses nonblocking dtls via self fed bios.
> If a unknown session comes up, I create a new session, feed/drain the 
> sessions bios from/to the wire until SSL_accept returns success.
> 
> Now, I added DTLS cookies.
> I expected SSL_accept to return an error if a ClientHello packet is received 
> without the cookie, so I could free the resources for the session and wait 
> for the remote to resent its ClientHello with the cookie, so I can allocate 
> the resources for a new session again and finally complete the handshake.
> 
> Turns out SSL_accept silently accepts a ClientHello without cookie, for 
> packets without a cookie, the cookie verify callback is not called too, so I 
> can't free any resources.
You are supposed to call DTLSv1_listen() to handle the front state...
> The timers do not help me either, as I'd have to keep state for the timers.
> This basically renders the whole idea of DTLS cookies useless.
> 
> ssl3_get_client_hello returns 1 for packets without cookie - if a cookie is 
> requested, but dtls1_accept does not propagate this in any way I could use.
> 
> Therefore my question, what is the proposed way to free resources until a 
> ClientHello packet with valid cookie arrives?
You don't need to free anything. Use the listen for front state handling.
> 
> I think it might be best to change SSL_accept to return SSL_ERROR_SSL for 
> ClientHello packets without cookie - if a cookie is requested.
> This would allow to free up resources of sessions created by received 
> ClientHello packets without cookie.
> 
> 
> I mainly use openssl 0.9.8o, but verified the problem exists in 1.x too.
Robin is always suggesting to use 1.0.0 ...

Best regards
Michael
> 
> 
> MfG
> Markus
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-users@openssl.org
> Automated List Manager                           majord...@openssl.org
> 

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

Reply via email to