On Wed, Jun 24, 2009, Chris Bare wrote: > > I'm following the example client on: > > http://linux.die.net/man/3/bio_new_ssl_connect > > > > I am able to establish the ssl connection and send data, but when I go to do > > BIO_read, I get this error: > > > > error:140950D3:SSL routines:SSL3_READ_N:read bio not set > > > > I can see with wireshark that the server is sending back some data, but > > BIO_read returns -1. > > > > with further debugging I find that the ssl object's rbio and wbio fields are > nulled out after calling: > > i2d_CMS_bio_stream(output, cms, mem, flags)); > > Any idea why that would be? > > Here's a distilled version of the code: > > ctx = SSL_CTX_new(SSLv23_client_method()); > output = BIO_new_ssl_connect(ctx); > BIO_get_ssl(output, &ssl); > SSL_set_mode(ssl, SSL_MODE_AUTO_RETRY); > BIO_set_conn_hostname(output, host); > if(BIO_do_connect(output) <= 0) > //handle > if ((use_ssl) && (SSL_get_verify_result(ssl) != X509_V_OK)) > //handle > if ((use_ssl) && (BIO_do_handshake(output) <= 0)) > //handle > > int flags = CMS_STREAM|CMS_NOSMIMECAP; > > cms = CMS_sign(NULL, NULL, NULL, mem, flags); > if (!CMS_add1_signer(cms, scert, skey, NULL, flags)) > //handle > > printf ("ssl->rbio %p\n", ssl->rbio); > printf ("ssl->wbio %p\n", ssl->wbio); > if (!i2d_CMS_bio_stream(output, cms, mem, flags)) > printf ("error writing output\n"); > printf ("i2d_CMS_bio_stream"); > printf ("ssl->rbio %p\n", ssl->rbio); > printf ("ssl->wbio %p\n", ssl->wbio); > > > output is: > ssl->rbio 0x1aadf60 > ssl->wbio 0x1aadf60 > i2d_CMS_bio_stream > ssl->rbio (nil) > ssl->wbio (nil) > > So naturally, after that the next call to BIO_read (output) fails. > > why would the bio's be getting set to null? > Is there some other flag or function I need to use to prevent this? >
A fix has now been applied, please try the current 1.0.0 CVS, get the next snapshot or just manually apply: http://cvs.openssl.org/chngview?cn=18310 Steve. -- Dr Stephen N. Henson. Email, S/MIME and PGP keys: see homepage OpenSSL project core developer and freelance consultant. Homepage: http://www.drh-consultancy.demon.co.uk ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org