Hello,

With OpenSSL 1.0.0d DLL I get
"error:1408F044:SSL routines:SSL3_GET_RECORD:internal error"
on the first attempt of a BIO_read after a cached session was
assigned with SSL_set_session. That happens only if option
SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER is set. The same code
works fine with versions from 0.9.7g to 0.9.8r. 

Here's the relevant Pascal code, error handling and stuff removed:

FSsl := SSL_new(pCtx);
FSslBio := BIO_new(BIO_f_ssl);
BIO_new_bio_pair(@FIBio, SslBufferSize, @FNBio, SslBufferSize);
SSL_set_ex_data(FSsl, 0, Self);
SSL_CTX_set_client_cert_cb(pCtx, ClientCertCb);
SSL_set_session(FSsl, CachedSession);
SSL_set_bio(FSsl, FIBio, FIBio);
SSL_set_info_callback(FSsl, InfoCb);
BIO_ctrl(FSslBio, BIO_C_SET_SSL, BIO_NOCLOSE, FSsl);
If (BIO_read(FSslbio, @Dummy, 0) < 0) and (not BIO_should_retry(FSslbio)) then  
 // Error here // 

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

Reply via email to