nghttpx: RST_STREAM for invalid request header values
This commit is contained in:
parent
2a56a3d9ea
commit
0b48448270
|
@ -179,19 +179,10 @@ int on_header_callback(nghttp2_session *session, const nghttp2_frame *frame,
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (!nghttp2_check_header_name(name, namelen)) {
|
if (!http2::check_nv(name, namelen, value, valuelen)) {
|
||||||
// we are not forgiving for malformed header field name in
|
|
||||||
// request.
|
|
||||||
upstream->rst_stream(downstream, NGHTTP2_PROTOCOL_ERROR);
|
upstream->rst_stream(downstream, NGHTTP2_PROTOCOL_ERROR);
|
||||||
return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE;
|
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);
|
auto token = http2::lookup_token(name, namelen);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue