curl / Mailing Lists / curl-users / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Weird MAX_CONCURRENT_STREAMS value with empty HTTP/2 SETTINGS frame

From: Alexandre Pion via curl-users <curl-users_at_cool.haxx.se>
Date: Fri, 5 Jun 2020 17:38:47 +0200 (CEST)

Hi all,

I was looking for MAX_CONCURRENT_STREAMS SETTINGS value with curl and it appears that when receiving an empty SETTINGS frame curl says the server announced 4294967295 MAX_CONCURRENT_STREAMS. Is this a normal behavior ?

The commands I used :

% curl -v --http2 https://odvr.nic.cz/
...
* Using Stream ID: 1 (easy handle 0x562af48fb040)
> GET / HTTP/2
> Host: odvr.nic.cz
> user-agent: curl/7.68.0
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 4294967295)!
< HTTP/2 404
...

% nghttp -nv https://odvr.nic.cz/
...
[ 0.106] send HEADERS frame <length=36, flags=0x25, stream_id=13>
          ; END_STREAM | END_HEADERS | PRIORITY
          (padlen=0, dep_stream_id=11, weight=16, exclusive=0)
          ; Open new stream
          :method: GET
          :path: /
          :scheme: https
          :authority: odvr.nic.czp
          accept: */*
          accept-encoding: gzip, deflate
          user-agent: nghttp2/1.36.0
[ 0.132] recv SETTINGS frame <length=0, flags=0x01, stream_id=0>
          ; ACK
          (niv=0)
[ 0.175] recv (stream_id=13) :status: 404
[ 0.176] recv HEADERS frame <length=1, flags=0x04, stream_id=13>
          ; END_HEADERS
          (padlen=0)
          ; First response header
[ 0.176] recv DATA frame <length=0, flags=0x01, stream_id=13>
          ; END_STREAM
[ 0.176] send GOAWAY frame <length=8, flags=0x00, stream_id=0>
          (last_stream_id=0, error_code=NO_ERROR(0x00), opaque_data(0)=[])

% curl -V
curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1d libidn2/2.0.5 nghttp2/1.36.0
Release-Date: 2020-01-08
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS HTTP2 HTTPS-proxy IDN IPv6 Largefile NTLM NTLM_WB SSL TLS-SRP UnixSockets

Thanks

Alex
-----------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-users
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2020-06-05