-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Please test with broken HTTP/2 stream IDs #104
Comments
Thanks. I think bradfitz/http2 has handled this but I need to verify and see whether grpc handles it appropriately. |
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
Draining of client transport when the streamID approaches MaxStreamID was handled here: #5889. It contains a test for this scenario as well. |
We have checks on the server for validating the incoming stream ID here: https://github.com/grpc/grpc-go/blob/master/internal/transport/http2_server.go#L369, but I can't seem to find tests for this. |
Hi there,
We recently got hit in C with a crash that happened when HTTP/2 stream IDs went unexpected (violating the invariant of increase on a connection) and also aren't prepared for the situation where we approach or cross max stream id (0x7fffffffu). Please check that this case works in Go. If you need some client code to test that, I can let you use the client code that was sent to me.
This is related to C issues: grpc/grpc#946 and grpc/grpc#957
Thanks!
Vijay
The text was updated successfully, but these errors were encountered: