-
-
Notifications
You must be signed in to change notification settings - Fork 32.9k
Open
Labels
help wantedIssues that need assistance from volunteers or PRs that need help to proceed.Issues that need assistance from volunteers or PRs that need help to proceed.http2Issues or PRs related to the http2 subsystem.Issues or PRs related to the http2 subsystem.
Description
- Version: 10.15.3
- Platform: node: 10-alpine official docker image
- Subsystem: http2
This comes from googleapis/nodejs-datastore#415. It looks like occasionally http2 headers objects are being provided from the http2
module with invalid and clearly incorrect header keys. For example, some bad headers objects look like these
[Object: null prototype] {
':status': 200,
'content-disposition': 'attachment',
'content-type': 'application/grpc',
' pø0': 'Wed, 10 Jul 2019 23:39:46 GMT',
'alt-svc': 'quic=":443"; ma=2592000; v="46,43,39"'
}
[Object: null prototype] {
':status': 200,
'content-disposition': 'attachment',
'content-type': 'application/grpc',
'A\u0000\u0000\u0000': 'Wed, 10 Jul 2019 22:37:34 GMT',
'alt-svc': 'quic=":443"; ma=2592000; v="46,43,39"'
}
[Object: null prototype] {
':status': 200,
'content-disposition': 'attachment',
'content-type': 'application/grpc',
' ÐÕJ': 'Wed, 10 Jul 2019 23:58:43 GMT',
'alt-svc': 'quic=":443"; ma=2592000; v="46,43,39"'
}
while valid headers look like this:
[Object: null prototype] {
':status': 200,
'content-disposition': 'attachment',
'content-type': 'application/grpc',
date: 'Wed, 10 Jul 2019 23:05:02 GMT',
'alt-svc': 'quic=":443"; ma=2592000; v="46,43,39"'
}
In all of the cases we have seen, it looks like the date
key is replace with this garbled nonsense. My guess is that it is relevant that that header is the one most likely to be encoded in the format Literal Header Field Never Indexed — Indexed Name because the value changes with every request.
Metadata
Metadata
Assignees
Labels
help wantedIssues that need assistance from volunteers or PRs that need help to proceed.Issues that need assistance from volunteers or PRs that need help to proceed.http2Issues or PRs related to the http2 subsystem.Issues or PRs related to the http2 subsystem.