On Aug 19, 2014, at 7:50 AM, Susan Hinrichs <shinr...@network-geographics.com> 
wrote:

> Good morning, all.
> 
> I've been working on implementing the SSL plugin extensions described in 
> TS-3006.  Documentation is at 
> http://network-geographics.com/ats/docs/ssl-api.en.html.  The features have 
> been implemented, and I am in the testing stage right now.

Thanks for the docs, this looks very promising. When you are ready to submit 
patches, this will need API review 
<https://cwiki.apache.org/confluence/display/TS/API+Review+Process>.

> Looking for feedback on the design.  Please comment on the bug or reply to 
> the mailing list.

There's already and API to get the SSL *, TSHttpSsnSSLConnectionGet. I don't 
see the need for a TSSslVConn, the TSHttpSsn should be sufficient.

The type of SSL_callback is TSEventFunc, right?

Why do TSSslCertFindByName() and TSSslCertFindByAddress() take a TSSslVConn 
argument?

Are TS_SSL_CLIENT_PRE_HANDSHAKE_HOOK and TS_SSL_SNI_HOOK session hooks? If so, 
they should follow the session hook naming conventions. If not, how do do 
register these hooks?

Ok, in the examples I see TSSslHookAdd ... could this be implemented with 
session hooks?

Previously, then we looked at SSL integration APIs, we eschewed wrapped types 
like TSSslContext in favour of directly returning OpenSSL pointers (as void *). 
My argument at the time was that there's a lot of API surface needed to deal 
with SSL and not much value in just wrapping OpenSSL.

How do you get the client and server sockaddr for calling 
TSSslCertFindByAddress? This is another reason I'd prefer to use TSHttpSsn. Oh, 
wow, I did not know we had TSNetVConn*AddrGet :)

There's no TSSslVConnOp value for the default action? ie. to just accept the 
SSL session?

IIRC, OpenSSL doesn't guarantee anything about the SNI name except that is is a 
bag of bytes. Is it OK for TSSslVConnServernameGet() to present that as a C 
string?

Finally, I'm not thrilled with the idea of using ssl_multicert.config to 
specify the tunneling action. What would you do if you had a wildcard cert and 
only wanted to tunnel a specific name?

cheers,
James

Reply via email to