> [sean.cunning...@mandiant.com - Thu Jun 25 08:23:49 2009]:
> 
> 
> This bug is not platform specific.
> 
> Some proxies, such as nginx, implement custom session caches via the
>    openssl callback API's.  This implementation makes use of the
>    i2d_SSL_SESSION API to copy the session into a contiguous block of
>    memory.  When the next session matches, the cache calls
>    d2i_SSL_SESSION to transform the block of memory back into a
>    session object, which it then returns to OpenSSL.  However, the
>    session's compress_meth is not persisted i2d_SSL_SESSION, so if the
>    compress_meth is non-zero, it is not properly restored.  The SSL
>    connection then fails with a 'error:1408F06B:SSL
>    routines:SSL3_GET_RECORD:bad decompression' on the client side.
> 

While I agree that OpenSSL doesn't include the compression method in
SSL_SESSION, I'm trying to see how this could happen in practice. 

Currently OpenSSL always uses the values in client hello and server
hello to negotiate compression even for a resumed session. So provided
the client includes the compression method from the original method in
client hello (as required by standards) the server should end up using
compression again.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to