Tags: sundayfun/grpc-swift
Tags
Merge pull request from GHSA-2jx2-qcm4-rf9h Motivation: If the server replies early, currently the GRPCWebToHTTPServerCodec takes it upon itself to suppress the rest of the data coming from the client. This design does not match with HTTP/2, where an early return from the server does not suppress this data. As a result, there is no particular reason to have implemented this beyond optimisation. Sadly, this optimisation also opens up a crash vector, because the codec also suppressed the .end message. When combined with the fact that grpc-web re-uses the server state machine, we exposed the server to a crash, because it could see two .heads with no intervening .end. Modifications: Stop suppressing reads, continue to police them and pass them through. Result: Remove a crash vector, stop errors being fatal. Co-authored-by: Cory Benfield <lukasa@apple.com>
Don't log to file in CI (grpc#1129) Motivation: The connection backoff interop test periodically fails in CI when tearing down. In CI we currently capture the logs to file, this isn't too sensible: we can't access them from Travis. Modifications: - Don't log interop test output to file in CI - Print all thrown errors in the connection backoff interop test Result: Some visibilitiy into why the test is occasionally failing
Move the pcap example into Source/Examples/ (grpc#1119) Motivation: The PCAP example depends on swift-nio-extras. Since grpc-swift now depends on swift-nio-extras (and we have target based dependency resolution) the example can live in-source with other examples. Modifications: - Move Examples/PCAPExample to Source/Examples/PacketCapture. - Make it a target in the GRPC package, rather than its own package. Result: Easier to avoid bit-rot.
Added support for NIOSSLCustomVerificationCallback for client connect… …ion (grpc#1107) This allows client apps to perform SSL Public Key Pinning, or override the certificate verification logic
PreviousNext