-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not allow update max dynamic table size to 0 #16
Comments
After some research it was determined that 1st bit of bytestring is a priority flag
Closing issue. |
Currently support for the |
Hi @kazu-yamamoto , hope you're doing well. I've helped @swamp-agr with the investigations. I think the I suspect strongly an error due to sides-effect of receiving an Dynamic Size Update with mazSize = 0. I know about nothing on HPACK so I don't know what it means to have maxSize=0, but I put down a summary at But the gist is:
throws Should decode something along Feel free to open a new issue. |
DecodeError Exception
in decodeHeader
@lucasdicioccio Thank you for pointing out! |
Hi @kazu-yamamoto, Thank you for response! Let me prepare PR for the issue and move discussion to PR, because we are not pretty sure about whether it fit RFC 7541 or not. Thanks, |
Hi @kazu-yamamoto,
Problem statement
During invocation of
http2-client
that useshttp2
under the hood I encounteredTooSmallTableSize
exception. I create a new issue here to bring some light on this topic. Initial discussion withhttp2-client
is there: haskell-grpc-native/http2-client#65Details
nginx 1.14.0
withhttp2
andhttps
enabled by default.http2-client
with the latest version customized to usehttp2
frommaster
branch of this repo.:method
:GET
http2-client
):1st frame from server is a
SettingsFrame
.2nd frame from server is a
HeadersFrame
with0x4
END_HEADERS flag (and the last one).For this frame
http2-client
creates defaultnewDynamicalTable
.After that
decodeHeader
invoked accordingly.And its execution fails.
Here is minimal reproducible case that received in
http2
master branch withcabal new-repl
(GHC version 8.4.1):decodeHPACK
function erasesmaxNumOfEntries
for emptyDynamicTable
(initial value of buffer size was 4096, thus,maxNumOfEntries
was equal to128
).decodeSimple
onByteString
from test case and it works just fine (There is onlyEntry 42 (Token {ix = 4, shouldBeIndexed = True, isPseudo = True, tokenKey = ":status"}) "403"
)!Questions
http2-client
(so I can follow your guidance and implement it) in order to mitigate the exception?Thanks and Regards,
@swamp-agr
The text was updated successfully, but these errors were encountered: