[openssl-users] Questions on internal-buffers being used

Ajay Garg ajaygargnsit at gmail.com
Thu Oct 13 10:04:26 UTC 2016


Thanks Ben for the reply.

I tried the following, and the code hits the block as commented ::


###########################################################################
static char inter_bio_buf[1000];
static char network_bio_buf[1000];

{
        BIO *inter_bio_buf_bio = NULL, *network_bio_buf_bio = NULL;

        inter_bio_buf_bio = BIO_new_mem_buf(inter_bio_buf,
sizeof(inter_bio_buf));
        if(inter_bio_buf_bio == NULL)
        {
            /* Control does not reach here. */
        }

        network_bio_buf_bio = BIO_new_mem_buf(network_bio_buf,
sizeof(network_bio_buf));
        if(network_bio_buf_bio == NULL)
        {
            /* Control does not reach here. */
        }

        if(!BIO_make_bio_pair(inter_bio_buf_bio, network_bio_buf_bio))
        {
            /* CONTROL REACHES HERE. */
        }
}
############################################################################

What am I doing wrong?

On Wed, Oct 12, 2016 at 12:59 AM, Benjamin Kaduk <bkaduk at akamai.com> wrote:

> On 10/11/2016 02:06 PM, Ajay Garg wrote:
>
> Hi All.
>
>
> a)
> In the call,
>
>                       int BIO_new_bio_pair(BIO **bio1, size_t writebuf1, BIO **bio2, size_t writebuf2);
>
> are internal-buffers malloc'ed for each of "bio1" and "bio2"?
>
> If yes, is there a way to pass buffers from the application-layer?
> I ask this, because not all systems possess dynamic-memory allocation (or at least "malloc" is not available on all systems).
>
>
> b)
> Irrespective of the values of "writebuf1" and "writebuf2" in a), I see that everything works perfect.
> So, there's got to be some internal-buffer that manages the complete ssl-packet, most probably instantiated via the call
>
>                       BIO* BIO_new(BIO_f_ssl());
>
>
> Here too, is it possible to pass the buffer from application-layer (because of same reasons as above)?
>
>
>
> You should be able to produce the desired effect with BIO_new_mem_buf()
> (twice) and attaching the resulting BIOs to each other with
> BIO_make_bio_pair().
>
> -Ben
>
> --
> openssl-users mailing list
> To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
>
>


-- 
Regards,
Ajay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20161013/58ff6f7b/attachment.html>


More information about the openssl-users mailing list