Skip to content

Commit

Permalink
release-1.28: Disable Envoy removing TE request header (#6290)
Browse files Browse the repository at this point in the history
Removal of the header was added by default in Envoy v1.29.0.
This change reverts back to prior behavior.

This change can be reverted once envoyproxy/envoy#32255 is
backported or present in a new release of Envoy.

Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
  • Loading branch information
sunjayBhatia committed Mar 18, 2024
1 parent 91e3b45 commit a807fc6
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 12 deletions.
1 change: 1 addition & 0 deletions .codespell.ignorewords
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ als
wit
aks
immediatedly
te
9 changes: 7 additions & 2 deletions internal/envoy/v3/runtime.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,13 @@ func RuntimeLayers(configurableRuntimeFields map[string]*structpb.Value) []*envo
func baseRuntimeLayer() *structpb.Struct {
return &structpb.Struct{
Fields: map[string]*structpb.Value{
"re2.max_program_size.error_level": structpb.NewNumberValue(maxRegexProgramSizeError),
"re2.max_program_size.warn_level": structpb.NewNumberValue(maxRegexProgramSizeWarn),
// Disable Envoy removing the client TE request header. Removing
// the header was added by default in Envoy v1.29.0.
// Can remove once https://github.com/envoyproxy/envoy/pull/32255 is
// backported or present in a new release of Envoy.
"envoy.reloadable_features.sanitize_te": structpb.NewBoolValue(false),
"re2.max_program_size.error_level": structpb.NewNumberValue(maxRegexProgramSizeError),
"re2.max_program_size.warn_level": structpb.NewNumberValue(maxRegexProgramSizeWarn),
},
}
}
5 changes: 3 additions & 2 deletions internal/envoy/v3/runtime_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,9 @@ func TestRuntimeLayers(t *testing.T) {
for name, tc := range testCases {
t.Run(name, func(t *testing.T) {
expectedFields := map[string]*structpb.Value{
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
"re2.max_program_size.warn_level": structpb.NewNumberValue(1000),
"envoy.reloadable_features.sanitize_te": structpb.NewBoolValue(false),
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
"re2.max_program_size.warn_level": structpb.NewNumberValue(1000),
}
for k, v := range tc.configurableFields {
expectedFields[k] = v
Expand Down
23 changes: 15 additions & 8 deletions internal/xdscache/v3/runtime_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,9 @@ func TestRuntimeCacheContents(t *testing.T) {
t.Run(name, func(t *testing.T) {
rc := NewRuntimeCache(tc.runtimeSettings)
fields := map[string]*structpb.Value{
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
"re2.max_program_size.warn_level": structpb.NewNumberValue(1000),
"envoy.reloadable_features.sanitize_te": structpb.NewBoolValue(false),
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
"re2.max_program_size.warn_level": structpb.NewNumberValue(1000),
}
for k, v := range tc.additionalFields {
fields[k] = v
Expand All @@ -82,8 +83,9 @@ func TestRuntimeCacheQuery(t *testing.T) {
Name: "dynamic",
Layer: &structpb.Struct{
Fields: map[string]*structpb.Value{
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
"re2.max_program_size.warn_level": structpb.NewNumberValue(1000),
"envoy.reloadable_features.sanitize_te": structpb.NewBoolValue(false),
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
"re2.max_program_size.warn_level": structpb.NewNumberValue(1000),
},
},
},
Expand Down Expand Up @@ -148,8 +150,9 @@ func TestRuntimeVisit(t *testing.T) {
Name: "dynamic",
Layer: &structpb.Struct{
Fields: map[string]*structpb.Value{
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
"re2.max_program_size.warn_level": structpb.NewNumberValue(1000),
"envoy.reloadable_features.sanitize_te": structpb.NewBoolValue(false),
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
"re2.max_program_size.warn_level": structpb.NewNumberValue(1000),
},
},
},
Expand Down Expand Up @@ -187,6 +190,7 @@ func TestRuntimeVisit(t *testing.T) {
Name: "dynamic",
Layer: &structpb.Struct{
Fields: map[string]*structpb.Value{
"envoy.reloadable_features.sanitize_te": structpb.NewBoolValue(false),
"envoy.resource_limits.listener.ingress_http.connection_limit": structpb.NewNumberValue(100),
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
"re2.max_program_size.warn_level": structpb.NewNumberValue(1000),
Expand Down Expand Up @@ -231,6 +235,7 @@ func TestRuntimeVisit(t *testing.T) {
Name: "dynamic",
Layer: &structpb.Struct{
Fields: map[string]*structpb.Value{
"envoy.reloadable_features.sanitize_te": structpb.NewBoolValue(false),
"envoy.resource_limits.listener.ingress_http.connection_limit": structpb.NewNumberValue(100),
"envoy.resource_limits.listener.ingress_https.connection_limit": structpb.NewNumberValue(100),
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
Expand Down Expand Up @@ -298,6 +303,7 @@ func TestRuntimeCacheOnChangeDelete(t *testing.T) {
Name: "dynamic",
Layer: &structpb.Struct{
Fields: map[string]*structpb.Value{
"envoy.reloadable_features.sanitize_te": structpb.NewBoolValue(false),
"envoy.resource_limits.listener.ingress_http.connection_limit": structpb.NewNumberValue(100),
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
"re2.max_program_size.warn_level": structpb.NewNumberValue(1000),
Expand All @@ -312,8 +318,9 @@ func TestRuntimeCacheOnChangeDelete(t *testing.T) {
Name: "dynamic",
Layer: &structpb.Struct{
Fields: map[string]*structpb.Value{
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
"re2.max_program_size.warn_level": structpb.NewNumberValue(1000),
"envoy.reloadable_features.sanitize_te": structpb.NewBoolValue(false),
"re2.max_program_size.error_level": structpb.NewNumberValue(1 << 20),
"re2.max_program_size.warn_level": structpb.NewNumberValue(1000),
},
},
},
Expand Down

0 comments on commit a807fc6

Please sign in to comment.