Closed Bug 482870 Opened 11 years ago Closed 4 years ago

Implement a protocol-information API for sockets


(Core :: Networking, enhancement)

Not set





(Reporter: KaiE, Unassigned)


(Whiteboard: [psm-arch])

The SSL networking code is a general layer, currently protocol independent.

On various occasions it would have been helpful to have information about the protocol used for a given SSL socket.

This bug requests to implement a new API that allows to query a socket for the name of the higher level application protocol, e.g. http, imap, pop3, ldap, smtp etc.

This would be helpful for:
- programming cert overrides
- error messages
- SSL client auth decisions
Patch for bug 495115 needs to communicate some information between http channel and the PSM socket layer.  The current patch version is doing a nasty thing going through http transaction, connection and the socket layer, because there is no other way to do.  Similar 'hacking' was observed in bug 466080, where we added new parameters/flags on several places to pass information about anonymous load.

My idea to create a communication path for cases like this is to add a channel to the notification callbacks chain, the channel itself or, better, some intermediate class holding just a desired info for which we do not care of its lifetime.

This class would implement nsIInterfaceRequestor and any new interface we would need.  Socket layer would then access this callback through nsNSSSocketInfo->mCallbacks->GetInterface directly.

Whiteboard: [psm-arch]
I think the alpn code fills this space..
Closed: 4 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.