nghttpx: RST_STREAM for invalid request header values

This commit is contained in:
Tatsuhiro Tsujikawa 2015-01-25 22:46:12 +09:00
parent 2a56a3d9ea
commit 0b48448270
1 changed files with 1 additions and 10 deletions

View File

@ -179,19 +179,10 @@ int on_header_callback(nghttp2_session *session, const nghttp2_frame *frame,
return 0;
}
if (!nghttp2_check_header_name(name, namelen)) {
// we are not forgiving for malformed header field name in
// request.
if (!http2::check_nv(name, namelen, value, valuelen)) {
upstream->rst_stream(downstream, NGHTTP2_PROTOCOL_ERROR);
return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE;
}
if (!nghttp2_check_header_value(value, valuelen)) {
return 0;
}
if (!http2::check_nv(name, namelen, value, valuelen)) {
// Simply discard name/value, as if it never happen.
return 0;
}
auto token = http2::lookup_token(name, namelen);