> > 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
[email protected]
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [email protected]