> > 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? > > > > Ouch, this is a nasty bug PR #1748 which has only been noticed when something > non-trivial is attempted with SSL BIOs. > > I'll look into fixing it. >
In further testing, I discovered that saving rbio and wbio, then restoring them in the ssl structure allowed the rest of the program to perform correctly. Let me know if you need any more details on what my program is doing with the cms. -- Chris Bare ch...@bareflix.com ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org