./curl -v --tcp-fastopen https://www.google.de
* Rebuilt URL to: https://www.google.de/
* Trying 2a00:1450:4008:802::2003...
* Connected to www.google.de () port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: none
* Unknown SSL protocol error in connection to www.google.de:443
* Closing connection 0
curl: (35) Unknown SSL protocol error in connection to www.google.de:443
./curl -v https://www.google.de
* Rebuilt URL to: https://www.google.de/
* Trying 2a00:1450:4008:802::2003...
* Connected to www.google.de (2a00:1450:4008:802::2003) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use http/1.1
arnd@kallisto:~/packages/curl/curl-7.49.1/src$ ./curl -V
curl 7.49.1 (x86_64-pc-linux-gnu) libcurl/7.49.1 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets
For some reason curl requests for https URLs with --tcp-fast-open
cause a SSL protocol error.
When doing tcpdump, I don't even see a connection attempt from curl, despite curl
claiming in verbose output it "Connected to" the host.
Without HTTPs, TFO works fine. Without TFO HTTPs works fine.
I did this
I expected the following (but with --tcp-fastopen)
curl/libcurl version
operating system
Ubuntu 16.04, amd64