Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Console View

Legend:   Passed Failed Warnings Failed Again Running Exception Offline No data

Laramie Leavitt
http2: close the http2 connection when no more requests may be sent
Well-behaving HTTP2 servers send two GOAWAY messages. The first
message is a warning that indicates that the server is going to
stop accepting streams. The second one actually closes the stream.

nghttp2 reports this state (and the other state of no more stream
identifiers) via the call nghttp2_session_check_request_allowed().
In this state the client should not create more streams on the
session (tcp connection), and in curl this means that the server
has requested that the connection is closed.

It would be also be possible to put the connclose() call into the
on_http2_frame_recv() function that triggers on the GOAWAY message.

This fixes a bug seen when the client sees the following sequence of
frames:

// advisory GOAWAY
HTTP2 GOAWAY [stream-id = 0, promised-stream-id = -1]
... some additional frames

// final GOAWAY
HTTP2 GOAWAY [stream-id = 0, promised-stream-id = N ]

Before this change, curl will attempt to reuse the connection even
after the last stream, will encounter this error:

* Found bundle for host localhost: 0x5595f0a694e0 [can multiplex]
* Re-using existing connection! (#0) with host localhost
* Connected to localhost (::1) port 10443 (#0)
* Using Stream ID: 9 (easy handle 0x5595f0a72e30)
> GET /index.html?5 HTTP/2
> Host: localhost:10443
> user-agent: curl/7.68.0
> accept: */*
>
* stopped the pause stream!
* Connection #0 to host localhost left intact
curl: (16) Error in the HTTP2 framing layer

This error may posion the connection cache, causing future requests
which resolve to the same curl connection to go through the same error
path.

Closes #5643
laramiel
GitHub Pull Request #5648 (4 commits)
sterchelen
GitHub Pull Request #5626 (4 commits)
d73afef0bdaa...
Daniel Stenberg
http2: only do the *done() cleanups for HTTP
baruchsiach
GitHub Pull Request #5667 (1 commit)
simo5
GitHub Pull Request #5155 (6 commits)
filipsalomonsson
GitHub Pull Request #5655 (2 commits)
mback2k
GitHub Pull Request #5659 (2 commits)
963d17add2a6...
Filip Salomonsson
CURLINFO_CERTINFO.3: fix typo

Closes https://github.com/curl/curl/pull/5655
c0ff
GitHub Pull Request #5664 (1 commit)
7cec4da6449f...
Marc Hörsken
appveyor: collect libcurl.dll with version suffix
69bfde451597...
Daniel Stenberg
http2: only do the *done() cleanups for HTTP

Follow-up to ef86daf4d3

Closes #5650
Fixes #5646
691df98d5195...
Alex Kiernan
gnutls: Fetch backend when using proxy

Fixes: 89865c149 ("gnutls: remove the BACKEND define kludge")
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
sterchelen
GitHub Pull Request #5656 (1 commit)
mback2k
GitHub Pull Request #5659 (3 commits)
laramiel
GitHub Pull Request #5648 (5 commits)
carenas
GitHub Pull Request #5668 (1 commit)
wsmoses
GitHub Pull Request #5652 (1 commit)
laramiel
GitHub Pull Request #5648 (1 commit)
gvollant
GitHub Pull Request #5657 (1 commit)
sterchelen
GitHub Pull Request #5672 (1 commit)
baruchsiach
GitHub Pull Request #5666 (1 commit)
laramiel
GitHub Pull Request #5648 (2 commits)
2b3eddf47ab2...
Marc Hörsken
workflows: align CodeQL inline with existing actions
ihsinme
GitHub Pull Request #5654 (1 commit)
mback2k
GitHub Pull Request #5659 (4 commits)
laramiel
GitHub Pull Request #5648 (8 commits)
Daniel Stenberg
ftpserver: don't verify SMTP MAIL FROM names
Rely on tests asking the names to get refused instead - test servers
should be as dumb as possible. Edited test 914, 955 and 959 accordingly.

Closes #5639
matthiasng
GitHub Pull Request #5662 (1 commit)
0fda8db95c98...
Alex Kiernan
gnutls: repair the build with `CURL_DISABLE_PROXY`

`http_proxy`/`proxy_ssl`/`tunnel_proxy` will not be available in `conn`
if `CURL_DISABLE_PROXY` is enabled.  Repair the build with that
configuration.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Closes #5645