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

uhv: nghttp2 patch: add option to disable header validation #19751

Closed
Tracked by #20261
ameily opened this issue Jan 31, 2022 · 2 comments · Fixed by #22078
Closed
Tracked by #20261

uhv: nghttp2 patch: add option to disable header validation #19751

ameily opened this issue Jan 31, 2022 · 2 comments · Fixed by #22078
Assignees
Labels
area/http enhancement Feature requests. Not bugs or questions. no stalebot Disables stalebot from closing an issue

Comments

@ameily
Copy link
Contributor

ameily commented Jan 31, 2022

As part of the unified header validation component, nghttp2 will need to be modified at build time to include a new option that disables header validation on a per-request basis. This issue is similar to #19750, which is targeting HTTP 1 parsing. The intent is that nghttp2 will be configured to disable header validation when the UHV is being used.

The result will be a patch that is applied during the build. We could also potentially share the patch upstream if desired.

There is an existing option within nghttp2 to disable all http messaging mechanisms (nghttp2_option_set_no_http_messaging). However, that appears to be too heavy-handed and would affect larger portions of the h2 codec. The patch would most likely skip calls to nghttp_check_header_*() when loading the header.

@ameily ameily added the triage Issue requires triage label Jan 31, 2022
@snowp snowp added enhancement Feature requests. Not bugs or questions. and removed triage Issue requires triage labels Feb 4, 2022
@github-actions
Copy link

github-actions bot commented Mar 6, 2022

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale stalebot believes this issue/PR has not been touched recently label Mar 6, 2022
@yanavlasov yanavlasov added area/http no stalebot Disables stalebot from closing an issue and removed stale stalebot believes this issue/PR has not been touched recently labels Mar 8, 2022
@yanavlasov yanavlasov self-assigned this Mar 8, 2022
@ameily
Copy link
Contributor Author

ameily commented May 24, 2022

With the recent move to oghttp2, we'll be closing our existing PR and opening a new one that targets oghttp2. Similar to H1, header validations for H2 will be disabled when the UHV compile time flag is enabled. We plan on using the new validate_http_headers exposed by the external_quiche_http2::adapter::OgHttp2Adapter::Options class, most likely within the Http2Options constructor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/http enhancement Feature requests. Not bugs or questions. no stalebot Disables stalebot from closing an issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants