From dc61480c541093b859c52f6993e9013b0f5993b0 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 7 Aug 2014 17:41:14 +0200 Subject: [PATCH] http2: added some more logging for debugging stream problems --- lib/http2.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/http2.c b/lib/http2.c index f5715908402ae7..2e527f29a11274 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); }