You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by bc...@apache.org on 2020/07/15 23:30:46 UTC

[trafficserver] branch 7.1.x updated: HTTP/2: ignore unknown settings (#6965)

This is an automated email from the ASF dual-hosted git repository.

bcall pushed a commit to branch 7.1.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/7.1.x by this push:
     new 6532288  HTTP/2: ignore unknown settings (#6965)
6532288 is described below

commit 6532288c92c24b743116a4b2192cc626889f2594
Author: David Calavera <da...@gmail.com>
AuthorDate: Wed Jul 15 16:30:34 2020 -0700

    HTTP/2: ignore unknown settings (#6965)
    
    (cherry picked from commit 74d65887625fe9a291a27520598dc93326d800b0)
    
    Co-authored-by: Masaori Koshiba <ma...@apache.org>
---
 proxy/http2/HTTP2.cc               | 3 ++-
 proxy/http2/Http2ConnectionState.h | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/proxy/http2/HTTP2.cc b/proxy/http2/HTTP2.cc
index c4e1029..bdb44d7 100644
--- a/proxy/http2/HTTP2.cc
+++ b/proxy/http2/HTTP2.cc
@@ -152,7 +152,8 @@ http2_settings_parameter_is_valid(const Http2SettingsParameter &param)
   };
 
   if (param.id == 0 || param.id >= HTTP2_SETTINGS_MAX) {
-    return false;
+    // Do nothing - 6.5.2 Unsupported parameters MUST be ignored
+    return true;
   }
 
   if (param.value > settings_max[param.id]) {
diff --git a/proxy/http2/Http2ConnectionState.h b/proxy/http2/Http2ConnectionState.h
index 695678e..925ccb8 100644
--- a/proxy/http2/Http2ConnectionState.h
+++ b/proxy/http2/Http2ConnectionState.h
@@ -85,7 +85,7 @@ public:
     if (id < HTTP2_SETTINGS_MAX) {
       return this->settings[indexof(id)] = value;
     } else {
-      ink_assert(!"Bad Settings Identifier");
+      // Do nothing - 6.5.2 Unsupported parameters MUST be ignored
     }
 
     return 0;