Skip to content
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

QPACK-18: Encoding of string literals #4244

Closed
gloinul opened this issue Oct 19, 2020 · 2 comments · Fixed by #4249
Closed

QPACK-18: Encoding of string literals #4244

gloinul opened this issue Oct 19, 2020 · 2 comments · Fixed by #4249
Labels
-qpack editorial An issue that does not affect the design of the protocol; does not require consensus. ietf-lc An issue that was raised during IETF Last Call.

Comments

@gloinul
Copy link
Contributor

gloinul commented Oct 19, 2020

Section 4.1.2:
Although this is summary of the definition in HPACK, where this issue is clear I think this document should describe things corretly.

HPACK defines string literals to begin on a byte boundary. They begin with a single bit flag, denoted as 'H' in this document (indicating whether the string is Huffman-coded), followed by the Length encoded as a 7-bit prefix integer, and finally Length bytes of data. When Huffman encoding is enabled, the Huffman table from Appendix B of [RFC7541] is used without modification.

The length field as described here, provides an uncertainty if it is the data pre huffman (if applied) encoding or post encoding. HPACK is clear that it is the later. Can you please clarify that the length if the length of the encoded string that is encoded using N-bit prefix integer encoding.

"An "N-bit prefix string literal" begins with the same Huffman flag, followed by the length encoded as an (N-1)-bit prefix integer." This definition if it is the byte or the prefix field that begins with the huffman flag. I would guess that what is meant is that a 6-bit prefix string literal would have a start byte of "??Hxxxxx" rather than "H??xxxxx".

@larseggert larseggert added -qpack ietf-lc An issue that was raised during IETF Last Call. labels Oct 19, 2020
@larseggert larseggert added this to Triage in Late Stage Processing via automation Oct 19, 2020
@larseggert
Copy link
Member

This would be an "editorial" change.

@larseggert larseggert added the editorial An issue that does not affect the design of the protocol; does not require consensus. label Oct 19, 2020
@project-bot project-bot bot moved this from Triage to Editorial Issues in Late Stage Processing Oct 19, 2020
@MikeBishop
Copy link
Contributor

Yes, the latter is correct. A prefixed string literal does not begin on a byte boundary; the first bit (when it begins) is the Huffman bit, and the remainder is a prefixed integer.

Late Stage Processing automation moved this from Editorial Issues to Issue Handled Oct 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-qpack editorial An issue that does not affect the design of the protocol; does not require consensus. ietf-lc An issue that was raised during IETF Last Call.
Projects
Late Stage Processing
  
Issue Handled
Development

Successfully merging a pull request may close this issue.

3 participants