> >             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

Reply via email to