aboutsummaryrefslogtreecommitdiff
path: root/lib/http2.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2014-08-07 17:41:14 +0200
committerDaniel Stenberg <daniel@haxx.se>2014-08-07 17:41:14 +0200
commitdc61480c541093b859c52f6993e9013b0f5993b0 (patch)
tree859fc8c3c58d2446447743b17f51c8b0e1dfee63 /lib/http2.c
parentf05e1a991a642faeb531f80f78aaf1d11a2fb392 (diff)
http2: added some more logging for debugging stream problems
Diffstat (limited to 'lib/http2.c')
-rw-r--r--lib/http2.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/http2.c b/lib/http2.c
index f57159084..2e527f29a 100644
--- a/lib/http2.c
+++ b/lib/http2.c
@@ -431,6 +431,8 @@ static int on_header(nghttp2_session *session, const nghttp2_frame *frame,
struct connectdata *conn = (struct connectdata *)userp;
struct http_conn *c = &conn->proto.httpc;
int rv;
+ int goodname;
+ int goodheader;
(void)session;
(void)frame;
@@ -446,8 +448,14 @@ static int on_header(nghttp2_session *session, const nghttp2_frame *frame,
return 0;
}
- if(!nghttp2_check_header_name(name, namelen) ||
- !nghttp2_check_header_value(value, valuelen)) {
+ goodname = nghttp2_check_header_name(name, namelen);
+ goodheader = nghttp2_check_header_value(value, valuelen);
+
+ if(!goodname || !goodheader) {
+
+ infof(conn->data, "Detected bad incoming header %s%s, reset stream!\n",
+ goodname?"":"name",
+ goodheader?"":"value");
rv = nghttp2_submit_rst_stream(session, NGHTTP2_FLAG_NONE,
frame->hd.stream_id,
@@ -504,7 +512,7 @@ static int on_header(nghttp2_session *session, const nghttp2_frame *frame,
Curl_add_buffer(c->header_recvbuf, value, valuelen);
Curl_add_buffer(c->header_recvbuf, "\r\n", 2);
- infof(conn->data, "got http2 header: %*s: %*s\n",
+ infof(conn->data, "got http2 header: %.*s: %.*s\n",
namelen, name, valuelen, value);
}