You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2020/06/16 21:51:03 UTC
[trafficserver] branch 9.0.x updated: change overridable var type
for proxy.config.http.server_session_sharing.match from int to string
(#6822)
This is an automated email from the ASF dual-hosted git repository.
zwoop pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/9.0.x by this push:
new 5cec370 change overridable var type for proxy.config.http.server_session_sharing.match from int to string (#6822)
5cec370 is described below
commit 5cec370a69ac2636b49406f183503d106ff47e2a
Author: Xin Li <33...@users.noreply.github.com>
AuthorDate: Fri Jun 12 13:10:59 2020 -0700
change overridable var type for proxy.config.http.server_session_sharing.match from int to string (#6822)
Co-authored-by: xinli1 <xi...@linkedin.com>
(cherry picked from commit 85d50c2d7e916e7e30c698fdb1c32b1db7779455)
---
proxy/http/HttpConfig.cc | 10 ++++++----
proxy/http/HttpConfig.h | 2 ++
src/shared/overridable_txn_vars.cc | 2 +-
src/traffic_server/InkAPI.cc | 5 +++++
4 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/proxy/http/HttpConfig.cc b/proxy/http/HttpConfig.cc
index ebe0886..59adba3 100644
--- a/proxy/http/HttpConfig.cc
+++ b/proxy/http/HttpConfig.cc
@@ -1113,6 +1113,7 @@ HttpConfig::startup()
// [amc] This is a bit of a mess, need to figure out to make this cleaner.
RecRegisterConfigUpdateCb("proxy.config.http.server_session_sharing.match", &http_server_session_sharing_cb, &c);
http_config_enum_mask_read("proxy.config.http.server_session_sharing.match", c.oride.server_session_sharing_match);
+ HttpEstablishStaticConfigStringAlloc(c.oride.server_session_sharing_match_str, "proxy.config.http.server_session_sharing.match");
http_config_enum_read("proxy.config.http.server_session_sharing.pool", SessionSharingPoolStrings, c.server_session_sharing_pool);
RecRegisterConfigUpdateCb("proxy.config.http.insert_forwarded", &http_insert_forwarded_cb, &c);
@@ -1409,10 +1410,11 @@ HttpConfig::reconfigure()
params->oride.flow_high_water_mark = params->oride.flow_low_water_mark = 0;
}
- params->oride.server_session_sharing_match = m_master.oride.server_session_sharing_match;
- params->oride.server_min_keep_alive_conns = m_master.oride.server_min_keep_alive_conns;
- params->server_session_sharing_pool = m_master.server_session_sharing_pool;
- params->oride.keep_alive_post_out = m_master.oride.keep_alive_post_out;
+ params->oride.server_session_sharing_match = m_master.oride.server_session_sharing_match;
+ params->oride.server_session_sharing_match_str = ats_strdup(m_master.oride.server_session_sharing_match_str);
+ params->oride.server_min_keep_alive_conns = m_master.oride.server_min_keep_alive_conns;
+ params->server_session_sharing_pool = m_master.server_session_sharing_pool;
+ params->oride.keep_alive_post_out = m_master.oride.keep_alive_post_out;
params->oride.keep_alive_no_activity_timeout_in = m_master.oride.keep_alive_no_activity_timeout_in;
params->oride.keep_alive_no_activity_timeout_out = m_master.oride.keep_alive_no_activity_timeout_out;
diff --git a/proxy/http/HttpConfig.h b/proxy/http/HttpConfig.h
index 7c6eb7a..6ee850b 100644
--- a/proxy/http/HttpConfig.h
+++ b/proxy/http/HttpConfig.h
@@ -469,6 +469,7 @@ struct OverridableHttpConfigParams {
MgmtInt server_min_keep_alive_conns = 0;
MgmtByte server_session_sharing_match = 0;
+ char *server_session_sharing_match_str = nullptr;
MgmtByte auth_server_session_private = 1;
MgmtByte fwd_proxy_auth_to_parent = 0;
MgmtByte uncacheable_requests_bypass_parent = 1;
@@ -853,6 +854,7 @@ inline HttpConfigParams::~HttpConfigParams()
ats_free(proxy_response_via_string);
ats_free(anonymize_other_header_list);
ats_free(oride.body_factory_template_base);
+ ats_free(oride.server_session_sharing_match_str);
ats_free(oride.proxy_response_server_string);
ats_free(oride.global_user_agent_header);
ats_free(oride.ssl_client_cert_filename);
diff --git a/src/shared/overridable_txn_vars.cc b/src/shared/overridable_txn_vars.cc
index c38d8d4..3be8970 100644
--- a/src/shared/overridable_txn_vars.cc
+++ b/src/shared/overridable_txn_vars.cc
@@ -101,7 +101,7 @@ const std::unordered_map<std::string_view, std::tuple<const TSOverridableConfigK
{"proxy.config.http.cache.ignore_server_no_cache", {TS_CONFIG_HTTP_CACHE_IGNORE_SERVER_NO_CACHE, TS_RECORDDATATYPE_INT}},
{"proxy.config.http.cache.heuristic_min_lifetime", {TS_CONFIG_HTTP_CACHE_HEURISTIC_MIN_LIFETIME, TS_RECORDDATATYPE_INT}},
{"proxy.config.http.cache.heuristic_max_lifetime", {TS_CONFIG_HTTP_CACHE_HEURISTIC_MAX_LIFETIME, TS_RECORDDATATYPE_INT}},
- {"proxy.config.http.server_session_sharing.match", {TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH, TS_RECORDDATATYPE_INT}},
+ {"proxy.config.http.server_session_sharing.match", {TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH, TS_RECORDDATATYPE_STRING}},
{"proxy.config.http.cache.ignore_accept_mismatch", {TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_MISMATCH, TS_RECORDDATATYPE_INT}},
{"proxy.config.http.cache.open_write_fail_action", {TS_CONFIG_HTTP_CACHE_OPEN_WRITE_FAIL_ACTION, TS_RECORDDATATYPE_INT}},
{"proxy.config.http.insert_squid_x_forwarded_for", {TS_CONFIG_HTTP_INSERT_SQUID_X_FORWARDED_FOR, TS_RECORDDATATYPE_INT}},
diff --git a/src/traffic_server/InkAPI.cc b/src/traffic_server/InkAPI.cc
index 0be202f..6d8a56d 100644
--- a/src/traffic_server/InkAPI.cc
+++ b/src/traffic_server/InkAPI.cc
@@ -8761,6 +8761,7 @@ TSHttpTxnConfigStringSet(TSHttpTxn txnp, TSOverridableConfigKey conf, const char
case TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH:
if (value && length > 0) {
HttpConfig::load_server_session_sharing_match(value, s->t_state.my_txn_conf().server_session_sharing_match);
+ s->t_state.my_txn_conf().server_session_sharing_match_str = const_cast<char *>(value);
}
break;
case TS_CONFIG_SSL_CLIENT_VERIFY_SERVER_POLICY:
@@ -8833,6 +8834,10 @@ TSHttpTxnConfigStringGet(TSHttpTxn txnp, TSOverridableConfigKey conf, const char
*value = sm->t_state.txn_conf->body_factory_template_base;
*length = sm->t_state.txn_conf->body_factory_template_base_len;
break;
+ case TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH:
+ *value = sm->t_state.txn_conf->server_session_sharing_match_str;
+ *length = *value ? strlen(*value) : 0;
+ break;
default: {
MgmtConverter const *conv;
const void *src = _conf_to_memberp(conf, sm->t_state.txn_conf, conv);