-
Notifications
You must be signed in to change notification settings - Fork 258
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
Bug: Handshake may fail when using specific ClientHelloID #104
Comments
So far I didn't find a single host will trigger this error that is not on CloudFlare. Will be interesting if someone can get a working browser with On a side note, |
Similarly. I am observing the same problem with the site on Cloudflare.
|
Hi @lyashm, Thanks for the feedback. What error message will you get if you run my code in Also, would you like to provide a code snippet that throws I think these 2 may or may not be related, further investigation is needed. I haven't been able to look into this issue in detail yet. |
This issue is caused by certificate compression and is fixed in #95. |
Fixed since tagged version v1.1.1. |
Certificate compression is defined in RFC 8879: https://datatracker.ietf.org/doc/html/rfc8879 This implementation is client-side only, for server certificates. - Fixes refraction-networking#104.
Certificate compression is defined in RFC 8879: https://datatracker.ietf.org/doc/html/rfc8879 This implementation is client-side only, for server certificates. - Fixes refraction-networking#104.
Original Issue
The TLS Handshake below will fail with errMsg
local error: tls: unexpected message
when
hostname
is served by CloudFlare* andch
is set toHelloChrome_Auto
.* Including their site
www.cloudflare.com
, their DoH servers1.1.1.1
,1.0.0.1
,cloudflare-dns.com
, and all my sites with CloudFlare.Rough investigation
The error was thrown in
*Conn.readHandshake()
here byIn other words, an unknown
handshake type
asdata[0]
has been received. The unknown byte is0x19
(DEC:25
) which is undefined.After a few more attempts, all three
HelloChrome_70
,HelloChrome_72
,HelloChrome_83
will be triggering exact the same error.All other
ClientHelloID
(except forHelloCustom
) work great when handshake with CloudFlare served hosts.Test Sample
cloudflare_test.go
Works better if you print the error byte in
conn.go:1061
The text was updated successfully, but these errors were encountered: