<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2016-09-06 16:27 GMT+02:00 Matt Caswell <span dir="ltr"><<a href="mailto:matt@openssl.org" target="_blank">matt@openssl.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-"><br>
<br>
On 06/09/16 15:22, Lorenzo Miniero wrote:<br>
> 2016-09-06 16:05 GMT+02:00 Matt Caswell <<a href="mailto:matt@openssl.org">matt@openssl.org</a><br>
</span>> <mailto:<a href="mailto:matt@openssl.org">matt@openssl.org</a>>>:<br>
<span class="gmail-">><br>
><br>
><br>
>     On 06/09/16 14:55, Lorenzo Miniero wrote:<br>
>     > Apologies for reviving this old thread, but a user of my project made me<br>
>     > notice that my code doesn't compile on Openssl 1.1.0 anymore. Apparently<br>
>     > the cause is some structures have been made opaque in the new version.<br>
>     > In my case, the structure that breaks the code is BIO, as I used some of<br>
>     > its previously public properties in my filter. Is there any transition<br>
>     > documentation page that can help figuring out how I can adapt it<br>
>     > accordingly? Or is the way my filter was written at the time hopelessly<br>
>     > broken now, and a different approach to do the same needed?<br>
><br>
>     Probably there is a "getter" function to get at what you need. What<br>
>     properties are they?<br>
><br>
>     The BIO_METHOD structure is also now opaque and needs to be setup via<br>
>     the BIO_meth_*() functions. See:<br>
><br>
>     <a href="https://www.openssl.org/docs/manmaster/crypto/BIO_meth_new.html" rel="noreferrer" target="_blank">https://www.openssl.org/docs/<wbr>manmaster/crypto/BIO_meth_new.<wbr>html</a><br>
>     <<a href="https://www.openssl.org/docs/manmaster/crypto/BIO_meth_new.html" rel="noreferrer" target="_blank">https://www.openssl.org/docs/<wbr>manmaster/crypto/BIO_meth_new.<wbr>html</a>><br>
><br>
><br>
><br>
> Thanks for the quick answer!<br>
><br>
> Adapting the BIO_METHOD stuff looks easy enough indeed, thanks for the<br>
> pointers. The problem is that, in my BIO_METHOD callbacks, I access some<br>
> of the BIO properties for the logic to implement. For instance, in the<br>
> *create callback I set, among others, my own helper struct pointer in<br>
> the ->ptr property of the involved BIO, so that I can always access it<br>
> when using the BIO itself; or, in the *write callback, I access the<br>
> ->next_bio property.<br>
<br>
</span>Use BIO_get_data()/BIO_set_data() for ptr, and BIO_next()/BIO_set_next()<br>
for next_bio.<br>
<div class="gmail-HOEnZb"><div class="gmail-h5"><br></div></div></blockquote><div><br></div><div><br></div><div>I was looking at the BIO docs right now (BIO_set_init and the others) but you beat me to it... thanks again for the very fast help, it's really appreciated!</div><div><br></div><div>Lorenzo</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">
Matt<br>
<br>
--<br>
openssl-users mailing list<br>
To unsubscribe: <a href="https://mta.openssl.org/mailman/listinfo/openssl-users" rel="noreferrer" target="_blank">https://mta.openssl.org/<wbr>mailman/listinfo/openssl-users</a><br>
</div></div></blockquote></div><br></div></div>