> On Jan 27, 2015, at 8:34 AM, Susan Hinrichs 
> <shinr...@network-geographics.com> wrote:
> 
> 
> On 1/27/2015 10:30 AM, James Peach wrote:
>>> On Jan 27, 2015, at 8:18 AM, Susan Hinrichs 
>>> <shinr...@network-geographics.com> wrote:
>>> 
>>> Originally, I was planning on leaving in plugin support for both the SNI 
>>> callback and the cert callback.  But as I reflect, I question that 
>>> decision.  I think it adds complexity without giving more power to the 
>>> plugin writer.
>>> 
>>> Both callbacks take place at the same point in the handshake.  From both 
>>> callbacks you can set the certificate.  Depending on the version and patch 
>>> level, only one of the callbacks will let you pause processing.
>>> 
>>> Perhaps it is better to support only point for the plugin to callback after 
>>> the client hello during the handshake processing? If we did that, ATS could 
>>> adapt depending on the linked version of openssl and the plugin would not 
>>> change.  I'd still add a TS_SSL_CERT_HOOK for clarity, but I'd make it the 
>>> same value as TS_SSL_SNI_HOOK.
>> Why do you need to make this change? What is the compatibility impact?
> 
> Well we do need to support the certificate callbacks in openssl 1.0.2, so we 
> have a means to pause handshake processing to load certificates, etc in a 
> stock version of openssl.

Sorry I wasn't especially clear. I intended to ask why we need to change the 
hook name? Are the hooks so different that we can't do the right thing under 
the covers?

>>> If openssl 1.0.1 is linked, it would execute the plugin's callback during 
>>> the SNI callback.  If openssl 1.0.2 is linked, it would execute the 
>>> plugin's callback during the certificate callback.
>> Did openssl 1.0.1 contain your patch? If there is no released version of 
>> openssl that contains the original callback you added, what is is that we 
>> need to support?
> My patch was not rolled into open ssl.  The only reason to continue to 
> support it is that we had previously supported it.  If you are unable to move 
> to openssl 1.0.2, then at least you can patch up openssl 1.0.1 (though if you 
> can run with a patched version you can likely upgrade too).
> 
> My second idea, would have the least impact upon people who have already 
> invested effort in writing plugins on the SNI callback.
> 
> Judging from your questions, you don't see a reason to support both a SNI 
> callback and a certificate callback either.  Is that right?

I don't really know. Are they different in the new OpenSSL API?

J

Reply via email to