envoyproxy/envoy

Avoid using HeaderMapImpl for gRPC metadata

Open

#7,921 opened on Aug 14, 2019

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/securitybughelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

Today, we use HeaderMapImpl for gRPC metadata, e.g. https://github.com/envoyproxy/envoy/blob/3dd84d3b41b6be378ccb71e81c0063a84bb956e3/include/envoy/grpc/async_client.h#L70. This is not safe, since in general, this metadata may contain binary and HeaderMapImpl can't contain NUL.

We should switch to using a simple map or the like to model these values, treating them as metadata rather than headers.

Contributor guide