Hi all, Please take a minute to review the following proposed plugin API to support the TLS Next Protocol Negotiation extension, https://issues.apache.org/jira/browse/TS-841.
If there are no objections in the next day or so, I will commit. /* -------------------------------------------------------------------------- TLS Next Protocol well-known protocol names. */ extern tsapi const char * TS_NPN_PROTOCOL_HTTP_1_0; extern tsapi const char * TS_NPN_PROTOCOL_HTTP_1_1; extern tsapi const char * TS_NPN_PROTOCOL_SPDY_1; extern tsapi const char * TS_NPN_PROTOCOL_SPDY_2; extern tsapi const char * TS_NPN_PROTOCOL_SPDY_3; /** Listen on all SSL ports for connections for the specified protocol name. TSNetAcceptNamedProtocol registers the specified protocol for all statically configured TLS ports. When a client using the TLS Next Protocol Negotiation extension negotiates the requested protocol, TrafficServer will route the request to the given handler. Note that the protocol is not registered on ports opened by other plugins. The event and data provided to the handler are the same as for TSNetAccept(). If a connection is successfully accepted, the event code will be TS_EVENT_NET_ACCEPT and the event data will be a valid TSVConn bound to the accepted connection. TSNetAcceptNamedProtocol fails if the requested protocol cannot be registered on all of the configured TLS ports. If it fails, the protocol will not be registered on any ports (ie.. no partial failure). */ tsapi TSReturnCode TSNetAcceptNamedProtocol(TSCont contp, const char * protocol); thanks, James