Opened 9 years ago
Last modified 9 years ago
#861 accepted defect
Possibility of Inconsistent HPACK Dynamic Table Size in HTTP/2 Implementation
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | nginx-module | Version: | 1.9.x |
Keywords: | Cc: | ||
uname -a: | Linux vagrant-ubuntu-trusty-64 3.13.0-68-generic #111-Ubuntu SMP Fri Nov 6 18:17:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux | ||
nginx -V: | nginx version: nginx/1.9.9 |
Description
The hpack dynamic table is only initialized upon addition of the first entry (see ngx_http_v2_add_header) in http/v2/ngx_http_v2_table.c.
If a dynamic table size update is sent before the first header to be added, the size will be set appropriately. However, once the first header is added, the table size is updated with NGX_HTTP_V2_TABLE_SIZE, resulting in a different size than the client.
After a brief reading of the HTTP/2 and HPACK specification, it appears that updating the dynamic table size before adding any headers is allowed.
Change History (2)
comment:2 by , 9 years ago
Component: | documentation → nginx-module |
---|---|
Status: | new → accepted |
Thank you for the report. Yes, it looks like a problem, but it's absolutely safe.
Note:
See TracTickets
for help on using tickets.
Also, I apologize for marking the component as documentation. I would update it to nginx-core, but I don't see an option to do so.