You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
TLS: newSession breaks with Safari and curl on OSX (but not most other clients) #7821
changed the title [-]TLS: newSession breaks with Safari and curl on IOS (but not most other clients)[/-][+]TLS: newSession breaks with Safari and curl on OSX (but not most other clients)[/+]on Jul 21, 2016
@indutny, your suggested change fixes IE11-on-Win7, curl-on-linux, and curl-on-osx.
Probably Safari, too, but I can't test that ATM.
I will close issue as soon as test Safari, but I think that's it.
My code - and all the examples I could find online - were from 2013, before that callback existed.
Activity
risacher commentedon Jul 21, 2016
Oh, and works with Firefox and Chrome either way.
I also had problems with IE11 on Win7 (but not Win8 or Win10) - but I'm not sure that's the same bug yet.
[-]TLS: newSession breaks with Safari and curl on IOS (but not most other clients)[/-][+]TLS: newSession breaks with Safari and curl on OSX (but not most other clients)[/+]mscdex commentedon Jul 21, 2016
/cc @nodejs/crypto
indutny commentedon Jul 21, 2016
Thank you for opening this issue! May I ask you to share a reduced test case that will reproduce this problem?
risacher commentedon Jul 22, 2016
See attached. I note that I've observed the problem with both node v6.3.0 and v5.12.0
If it helps, I can spin up a ec2 server with this running to poke against.
minimal_server.js.txt
risacher commentedon Jul 22, 2016
For testing purposes, https://test.risacher.org/ is up running the minimal server with a self-signed cert on node v6.3.0.
I observe that Safari gets the cert, because it complains about the trust chain, but then it hangs after I agree to an exception for the cert.
Curl-on-OSX, OTOH, looks like this:
Compared to Curl-on-Ubuntu:
risacher commentedon Jul 22, 2016
Oh, and I originally saw the problem with a "real" cert, so I don't think the self-signed cert is a factor.
risacher commentedon Jul 22, 2016
Just verified that IE11 on Windows 7 also will not connect. (Win 8 and later work okay.)
indutny commentedon Jul 22, 2016
@risacher I believe that this happens because of the missing
callbackinvocation fornewSessionevent. Please try changing code to:indutny commentedon Jul 22, 2016
As per docs,
newSessionpassescbas a third argument.risacher commentedon Jul 22, 2016
@indutny, your suggested change fixes IE11-on-Win7, curl-on-linux, and curl-on-osx.
Probably Safari, too, but I can't test that ATM.
I will close issue as soon as test Safari, but I think that's it.
My code - and all the examples I could find online - were from 2013, before that callback existed.
Thank you for your help.
indutny commentedon Jul 22, 2016
No problem at all, glad that we figured it out! :)
risacher commentedon Jul 22, 2016
Yup. Adding callback fixes Safari too.