[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [gnurl] 100/153: http2: make sure to send after RST_STREAM
From: |
gnunet |
Subject: |
[GNUnet-SVN] [gnurl] 100/153: http2: make sure to send after RST_STREAM |
Date: |
Tue, 11 Sep 2018 12:52:51 +0200 |
This is an automated email from the git hooks/post-receive script.
ng0 pushed a commit to branch master
in repository gnurl.
commit c7ea4ddd2e5db304bc3170eeb8d5aa91f1921013
Author: Daniel Stenberg <address@hidden>
AuthorDate: Thu Aug 16 13:21:11 2018 +0200
http2: make sure to send after RST_STREAM
If this is the last stream on this connection, the RST_STREAM might not
get pushed to the wire otherwise.
Fixes #2882
Closes #2887
Researched-by: Michael Kaufmann
---
lib/http2.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/lib/http2.c b/lib/http2.c
index e9ec73a6d..9380ca7cf 100644
--- a/lib/http2.c
+++ b/lib/http2.c
@@ -1146,6 +1146,9 @@ void Curl_http2_done(struct connectdata *conn, bool
premature)
struct HTTP *http = data->req.protop;
struct http_conn *httpc = &conn->proto.httpc;
+ if(!httpc->h2) /* not HTTP/2 ? */
+ return;
+
if(data->state.drain)
drained_transfer(data, httpc);
@@ -1166,8 +1169,10 @@ void Curl_http2_done(struct connectdata *conn, bool
premature)
if(premature) {
/* RST_STREAM */
- nghttp2_submit_rst_stream(httpc->h2, NGHTTP2_FLAG_NONE, http->stream_id,
- NGHTTP2_STREAM_CLOSED);
+ if(!nghttp2_submit_rst_stream(httpc->h2, NGHTTP2_FLAG_NONE,
+ http->stream_id, NGHTTP2_STREAM_CLOSED))
+ (void)nghttp2_session_send(httpc->h2);
+
if(http->stream_id == httpc->pause_stream_id) {
infof(data, "stopped the pause stream!\n");
httpc->pause_stream_id = 0;
--
To stop receiving notification emails like this one, please contact
address@hidden
- [GNUnet-SVN] [gnurl] 123/153: gopher: Do not translate `?' to `%09', (continued)
- [GNUnet-SVN] [gnurl] 123/153: gopher: Do not translate `?' to `%09', gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 120/153: RELEASE-NOTES: synced, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 122/153: cookie tests: treat files as text, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 114/153: Enable more GCC warnings, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 119/153: Tests: fixes for Windows, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 121/153: libcurl-thread.3: expand somewhat on the NO_SIGNAL motivation, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 112/153: curl-compilers: enable -Wbad-function-cast on GCC, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 115/153: test1148: disable if decimal separator is not point, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 111/153: configure: conditionally enable pedantic-errors, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 116/153: x509asn1: use FALLTHROUGH, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 100/153: http2: make sure to send after RST_STREAM,
gnunet <=
- [GNUnet-SVN] [gnurl] 128/153: docs: clarify NO_PROXY env variable functionality, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 99/153: test1268: check the stderr output as "text", gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 106/153: SSLCERTS: improve the openssl command line, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 108/153: INTERNALS: require GnuTLS >= 2.11.3, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 89/153: travis: disable h2 torture tests for "coverage", gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 93/153: CMake: CMake config files are defining CURL_STATICLIB for static builds, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 97/153: curl: warn the user if a given file name looks like an option, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 102/153: upload: allocate upload buffer on-demand, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 105/153: docs/SECURITY-PROCESS: now we name the files after the CVE id, gnunet, 2018/09/11
- [GNUnet-SVN] [gnurl] 104/153: RELEASE-NOTES: synced, gnunet, 2018/09/11