Session caching

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Session caching

Arno Garrels
Hello,

I'm stress-testing a server. My client creates multiple, concurrent,
asynchron socket connections (single thread).
All connections use the same CTX. After successfull ssl handshake
I get the reference of a session by SSL_get1_Session(), connections
try to reuse that session thru SSL_set_session() followed by
SSL_SESSION_Free().  

Sometimes I get an AV on the call to SSL_SESSION_Free().
Any idea why?

BTW: I've no problem when I use i2d_SSL_SESSION/d2i_SSL_SESSION.

Arno Garrels

----

Win, openssl v0.9.7g, Delphi.

exception message : AV at Addr 0121B029 in Modul 'LIBEAY32.dll'.
read from Addr FEEEFEF2.

main thread ($510):
0121b029 LIBEAY32.dll                    sk_free
0122f06c LIBEAY32.dll                    CRYPTO_free_ex_data
01187d6c SSLEAY32.DLL                    SSL_SESSION_free
004963a0 GPRSClient.exe WSocket    11618 TCustomSslWSocket.InitSSLConnection

disassembling:
0121b020 public sk_free:                  ; function entry point
0121b020   push    esi
0121b021   mov     esi, [esp+8]
0121b025   test    esi, esi
0121b027   jz      loc_121b042
0121b029 > mov     eax, [esi+4]
0121b02c   test    eax, eax
0121b02e   jz      loc_121b039
0121b030   push    eax
0121b031   call    +$147aa ($122f7e0)     ; CRYPTO_free (LIBEAY32.dll)
0121b036   add     esp, 4
0121b039   push    esi
0121b03a   call    +$147a1 ($122f7e0)     ; CRYPTO_free (LIBEAY32.dll)
0121b03f   add     esp, 4
0121b042   pop     esi
0121b043   ret

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]