-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tls: remove Next Protocol Negotiation? [rfc] #14602
Comments
Do we know about support for NPN (without ALPN) by the rest of the ecosystem (e.g. browsers, popular web servers, etc.)? I'd be hesitant to remove it yet since web standards adoption tend to lag a fair amount. FWIW the RFC for ALPN was first published in 2014. |
NPN is only two years older. The fact that Chrome hasn't supported it since mid-2016 is IMO a good indicator that it's not used much. |
Firefox(NSS) has already disabled NPN. https://hg.mozilla.org/projects/nss/rev/24581a36b2bb The only affected thing is that some old versions of distributions (e.g. RHEL) still have OpenSSL-1.0.1 with their own backports even it is EOLS. But I think that we cannot care about their each product life cycles for the date when NPN support ends. I agree removing NPN and prefer to start from the documentation-only deprecation in Node-v9. |
+1 to a docs-only deprecation of NPN in 9.x, followed potentially by a runtime deprecation in 10.x. |
Yeah, no, that's not what I'm proposing; that would mean NPN stays around until 2021 because of node 10's LTS status. That's not a good thing for a deprecated protocol. |
A case could definitely be made for a more aggressive schedule and the point about 10.x LTS is good. While it's not my preference, I'd be good with a runtime deprecation in 9.x and EOL on 10.x |
ping @bnoordhuis |
We never seemed to reach real consensus here (but no real opposition either) so unless someone speaks up in the next 48-ish hours, I'll open a pull request removing NPN in Node.js 10. |
NPN has been superseded by ALPN. Chrome and Firefox removed support for NPN in 2016 and 2017 respectively to no ill effect. Fixes: nodejs#14602 PR-URL: nodejs#19403 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Fixes: nodejs#14602 PR-URL: nodejs#19403 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Rationale: NPN has been superseded by ALPN. Chrome dropped support a year ago in Chrome 51. It's not needed for HTTP/2.
Strawman proposal:
tls.convertNPNProtocols()
in node 9 (or now - it's undocumented)NPNProtocols
option or access of.npnProtocol
property in node 9?Backwards compatibility concerns:
Chrome already paved the way, though. I don't see it as a serious concern.
cc @nodejs/security
The text was updated successfully, but these errors were encountered: