Repository: trafficserver Updated Branches: refs/heads/master 81c3eaf72 -> c00762c0f
TS-2586 Improvements to the internal implementation of overridable configuration lookups (_conf_to_memberp() ). Review: Leif Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/c00762c0 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/c00762c0 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/c00762c0 Branch: refs/heads/master Commit: c00762c0f795a7bd6b979fec21bc93fda3ef3b51 Parents: 81c3eaf Author: Yu Qing <[email protected]> Authored: Tue Feb 25 18:54:37 2014 -0700 Committer: Leif Hedstrom <[email protected]> Committed: Tue Feb 25 18:54:37 2014 -0700 ---------------------------------------------------------------------- CHANGES | 4 ++ proxy/InkAPI.cc | 180 ++++++++++++++++++++++++++------------------------- 2 files changed, 95 insertions(+), 89 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c00762c0/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index b32e912..4882721 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache Traffic Server 5.0.0 + *) [TS-2586] Improvements to the internal implementation of overridable + configuration lookups (_conf_to_memberp() ). + Author: Yu Qing <[email protected]> + *) [TS-2210] Add a plugin API to manipulate the session's SSL context. Author: Kang Li <[email protected]> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c00762c0/proxy/InkAPI.cc ---------------------------------------------------------------------- diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc index 07327a5..0bb7f80 100644 --- a/proxy/InkAPI.cc +++ b/proxy/InkAPI.cc @@ -7331,8 +7331,10 @@ TSSkipRemappingSet(TSHttpTxn txnp, int flag) } // Little helper function to find the struct member -void* -_conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *typep) +static void* +_conf_to_memberp(TSOverridableConfigKey conf, + OverridableHttpConfigParams *overridableHttpConfig, + OverridableDataType *typep) { // The default is "Byte", make sure to override that for those configs which are "Int". OverridableDataType typ = OVERRIDABLE_TYPE_BYTE; @@ -7340,298 +7342,298 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t switch (conf) { case TS_CONFIG_URL_REMAP_PRISTINE_HOST_HDR: - ret = &sm->t_state.txn_conf->maintain_pristine_host_hdr; + ret = &overridableHttpConfig->maintain_pristine_host_hdr; break; case TS_CONFIG_HTTP_CHUNKING_ENABLED: - ret = &sm->t_state.txn_conf->chunking_enabled; + ret = &overridableHttpConfig->chunking_enabled; break; case TS_CONFIG_HTTP_NEGATIVE_CACHING_ENABLED: - ret = &sm->t_state.txn_conf->negative_caching_enabled; + ret = &overridableHttpConfig->negative_caching_enabled; break; case TS_CONFIG_HTTP_NEGATIVE_CACHING_LIFETIME: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->negative_caching_lifetime; + ret = &overridableHttpConfig->negative_caching_lifetime; break; case TS_CONFIG_HTTP_CACHE_WHEN_TO_REVALIDATE: - ret = &sm->t_state.txn_conf->cache_when_to_revalidate; + ret = &overridableHttpConfig->cache_when_to_revalidate; break; case TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_IN: - ret = &sm->t_state.txn_conf->keep_alive_enabled_in; + ret = &overridableHttpConfig->keep_alive_enabled_in; break; case TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_OUT: - ret = &sm->t_state.txn_conf->keep_alive_enabled_out; + ret = &overridableHttpConfig->keep_alive_enabled_out; break; case TS_CONFIG_HTTP_KEEP_ALIVE_POST_OUT: - ret = &sm->t_state.txn_conf->keep_alive_post_out; + ret = &overridableHttpConfig->keep_alive_post_out; break; case TS_CONFIG_HTTP_SHARE_SERVER_SESSIONS: ink_assert("Deprecated config key value - TS_CONFIG_HTTP_SHARE_SERVER_SESSIONS"); -// ret = &sm->t_state.txn_conf->share_server_sessions; +// ret = &overridableHttpConfig->share_server_sessions; break; case TS_CONFIG_HTTP_SERVER_SESSION_SHARING_POOL: - ret = &sm->t_state.txn_conf->server_session_sharing_pool; + ret = &overridableHttpConfig->server_session_sharing_pool; break; case TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH: - ret = &sm->t_state.txn_conf->server_session_sharing_match; + ret = &overridableHttpConfig->server_session_sharing_match; break; case TS_CONFIG_NET_SOCK_RECV_BUFFER_SIZE_OUT: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->sock_recv_buffer_size_out; + ret = &overridableHttpConfig->sock_recv_buffer_size_out; break; case TS_CONFIG_NET_SOCK_SEND_BUFFER_SIZE_OUT: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->sock_send_buffer_size_out; + ret = &overridableHttpConfig->sock_send_buffer_size_out; break; case TS_CONFIG_NET_SOCK_OPTION_FLAG_OUT: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->sock_option_flag_out; + ret = &overridableHttpConfig->sock_option_flag_out; break; case TS_CONFIG_HTTP_FORWARD_PROXY_AUTH_TO_PARENT: - ret = &sm->t_state.txn_conf->fwd_proxy_auth_to_parent; + ret = &overridableHttpConfig->fwd_proxy_auth_to_parent; break; case TS_CONFIG_HTTP_ANONYMIZE_REMOVE_FROM: - ret = &sm->t_state.txn_conf->anonymize_remove_from; + ret = &overridableHttpConfig->anonymize_remove_from; break; case TS_CONFIG_HTTP_ANONYMIZE_REMOVE_REFERER: - ret = &sm->t_state.txn_conf->anonymize_remove_referer; + ret = &overridableHttpConfig->anonymize_remove_referer; break; case TS_CONFIG_HTTP_ANONYMIZE_REMOVE_USER_AGENT: - ret = &sm->t_state.txn_conf->anonymize_remove_user_agent; + ret = &overridableHttpConfig->anonymize_remove_user_agent; break; case TS_CONFIG_HTTP_ANONYMIZE_REMOVE_COOKIE: - ret = &sm->t_state.txn_conf->anonymize_remove_cookie; + ret = &overridableHttpConfig->anonymize_remove_cookie; break; case TS_CONFIG_HTTP_ANONYMIZE_REMOVE_CLIENT_IP: - ret = &sm->t_state.txn_conf->anonymize_remove_client_ip; + ret = &overridableHttpConfig->anonymize_remove_client_ip; break; case TS_CONFIG_HTTP_ANONYMIZE_INSERT_CLIENT_IP: - ret = &sm->t_state.txn_conf->anonymize_insert_client_ip; + ret = &overridableHttpConfig->anonymize_insert_client_ip; break; case TS_CONFIG_HTTP_RESPONSE_SERVER_ENABLED: - ret = &sm->t_state.txn_conf->proxy_response_server_enabled; + ret = &overridableHttpConfig->proxy_response_server_enabled; break; case TS_CONFIG_HTTP_INSERT_SQUID_X_FORWARDED_FOR: - ret = &sm->t_state.txn_conf->insert_squid_x_forwarded_for; + ret = &overridableHttpConfig->insert_squid_x_forwarded_for; break; case TS_CONFIG_HTTP_SERVER_TCP_INIT_CWND: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->server_tcp_init_cwnd; + ret = &overridableHttpConfig->server_tcp_init_cwnd; break; case TS_CONFIG_HTTP_SEND_HTTP11_REQUESTS: - ret = &sm->t_state.txn_conf->send_http11_requests; + ret = &overridableHttpConfig->send_http11_requests; break; case TS_CONFIG_HTTP_CACHE_HTTP: - ret = &sm->t_state.txn_conf->cache_http; + ret = &overridableHttpConfig->cache_http; break; case TS_CONFIG_HTTP_CACHE_CLUSTER_CACHE_LOCAL: - ret = &sm->t_state.txn_conf->cache_cluster_cache_local; + ret = &overridableHttpConfig->cache_cluster_cache_local; break; case TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_NO_CACHE: - ret = &sm->t_state.txn_conf->cache_ignore_client_no_cache; + ret = &overridableHttpConfig->cache_ignore_client_no_cache; break; case TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_CC_MAX_AGE: - ret = &sm->t_state.txn_conf->cache_ignore_client_cc_max_age; + ret = &overridableHttpConfig->cache_ignore_client_cc_max_age; break; case TS_CONFIG_HTTP_CACHE_IMS_ON_CLIENT_NO_CACHE: - ret = &sm->t_state.txn_conf->cache_ims_on_client_no_cache; + ret = &overridableHttpConfig->cache_ims_on_client_no_cache; break; case TS_CONFIG_HTTP_CACHE_IGNORE_SERVER_NO_CACHE: - ret = &sm->t_state.txn_conf->cache_ignore_server_no_cache; + ret = &overridableHttpConfig->cache_ignore_server_no_cache; break; case TS_CONFIG_HTTP_CACHE_CACHE_RESPONSES_TO_COOKIES: - ret = &sm->t_state.txn_conf->cache_responses_to_cookies; + ret = &overridableHttpConfig->cache_responses_to_cookies; break; case TS_CONFIG_HTTP_CACHE_IGNORE_AUTHENTICATION: - ret = &sm->t_state.txn_conf->cache_ignore_auth; + ret = &overridableHttpConfig->cache_ignore_auth; break; case TS_CONFIG_HTTP_CACHE_CACHE_URLS_THAT_LOOK_DYNAMIC: - ret = &sm->t_state.txn_conf->cache_urls_that_look_dynamic; + ret = &overridableHttpConfig->cache_urls_that_look_dynamic; break; case TS_CONFIG_HTTP_CACHE_REQUIRED_HEADERS: - ret = &sm->t_state.txn_conf->cache_required_headers; + ret = &overridableHttpConfig->cache_required_headers; break; case TS_CONFIG_HTTP_INSERT_REQUEST_VIA_STR: - ret = &sm->t_state.txn_conf->insert_request_via_string; + ret = &overridableHttpConfig->insert_request_via_string; break; case TS_CONFIG_HTTP_INSERT_RESPONSE_VIA_STR: - ret = &sm->t_state.txn_conf->insert_response_via_string; + ret = &overridableHttpConfig->insert_response_via_string; break; case TS_CONFIG_HTTP_CACHE_HEURISTIC_MIN_LIFETIME: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->cache_heuristic_min_lifetime; + ret = &overridableHttpConfig->cache_heuristic_min_lifetime; break; case TS_CONFIG_HTTP_CACHE_HEURISTIC_MAX_LIFETIME: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->cache_heuristic_max_lifetime; + ret = &overridableHttpConfig->cache_heuristic_max_lifetime; break; case TS_CONFIG_HTTP_CACHE_GUARANTEED_MIN_LIFETIME: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->cache_guaranteed_min_lifetime; + ret = &overridableHttpConfig->cache_guaranteed_min_lifetime; break; case TS_CONFIG_HTTP_CACHE_GUARANTEED_MAX_LIFETIME: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->cache_guaranteed_max_lifetime; + ret = &overridableHttpConfig->cache_guaranteed_max_lifetime; break; case TS_CONFIG_HTTP_CACHE_MAX_STALE_AGE: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->cache_max_stale_age; + ret = &overridableHttpConfig->cache_max_stale_age; break; case TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_IN: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->keep_alive_no_activity_timeout_in; + ret = &overridableHttpConfig->keep_alive_no_activity_timeout_in; break; case TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_OUT: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->keep_alive_no_activity_timeout_out; + ret = &overridableHttpConfig->keep_alive_no_activity_timeout_out; break; case TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_IN: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->transaction_no_activity_timeout_in; + ret = &overridableHttpConfig->transaction_no_activity_timeout_in; break; case TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_OUT: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->transaction_no_activity_timeout_out; + ret = &overridableHttpConfig->transaction_no_activity_timeout_out; break; case TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_OUT: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->transaction_active_timeout_out; + ret = &overridableHttpConfig->transaction_active_timeout_out; break; case TS_CONFIG_HTTP_ORIGIN_MAX_CONNECTIONS: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->origin_max_connections; + ret = &overridableHttpConfig->origin_max_connections; break; case TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->connect_attempts_max_retries; + ret = &overridableHttpConfig->connect_attempts_max_retries; break; case TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES_DEAD_SERVER: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->connect_attempts_max_retries_dead_server; + ret = &overridableHttpConfig->connect_attempts_max_retries_dead_server; break; case TS_CONFIG_HTTP_CONNECT_ATTEMPTS_RR_RETRIES: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->connect_attempts_rr_retries; + ret = &overridableHttpConfig->connect_attempts_rr_retries; break; case TS_CONFIG_HTTP_CONNECT_ATTEMPTS_TIMEOUT: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->connect_attempts_timeout; + ret = &overridableHttpConfig->connect_attempts_timeout; break; case TS_CONFIG_HTTP_POST_CONNECT_ATTEMPTS_TIMEOUT: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->post_connect_attempts_timeout; + ret = &overridableHttpConfig->post_connect_attempts_timeout; break; case TS_CONFIG_HTTP_DOWN_SERVER_CACHE_TIME: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->down_server_timeout; + ret = &overridableHttpConfig->down_server_timeout; break; case TS_CONFIG_HTTP_DOWN_SERVER_ABORT_THRESHOLD: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->client_abort_threshold; + ret = &overridableHttpConfig->client_abort_threshold; break; case TS_CONFIG_HTTP_CACHE_FUZZ_TIME: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->freshness_fuzz_time; + ret = &overridableHttpConfig->freshness_fuzz_time; break; case TS_CONFIG_HTTP_CACHE_FUZZ_MIN_TIME: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->freshness_fuzz_min_time; + ret = &overridableHttpConfig->freshness_fuzz_min_time; break; case TS_CONFIG_HTTP_DOC_IN_CACHE_SKIP_DNS: - ret = &sm->t_state.txn_conf->doc_in_cache_skip_dns; + ret = &overridableHttpConfig->doc_in_cache_skip_dns; break; case TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->background_fill_active_timeout; + ret = &overridableHttpConfig->background_fill_active_timeout; break; case TS_CONFIG_HTTP_RESPONSE_SERVER_STR: typ = OVERRIDABLE_TYPE_STRING; - ret = &sm->t_state.txn_conf->proxy_response_server_string; + ret = &overridableHttpConfig->proxy_response_server_string; break; case TS_CONFIG_HTTP_CACHE_HEURISTIC_LM_FACTOR: typ = OVERRIDABLE_TYPE_FLOAT; - ret = &sm->t_state.txn_conf->cache_heuristic_lm_factor; + ret = &overridableHttpConfig->cache_heuristic_lm_factor; break; case TS_CONFIG_HTTP_CACHE_FUZZ_PROBABILITY: typ = OVERRIDABLE_TYPE_FLOAT; - ret = &sm->t_state.txn_conf->freshness_fuzz_prob; + ret = &overridableHttpConfig->freshness_fuzz_prob; break; case TS_CONFIG_HTTP_BACKGROUND_FILL_COMPLETED_THRESHOLD: typ = OVERRIDABLE_TYPE_FLOAT; - ret = &sm->t_state.txn_conf->background_fill_threshold; + ret = &overridableHttpConfig->background_fill_threshold; break; case TS_CONFIG_NET_SOCK_PACKET_MARK_OUT: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->sock_packet_mark_out; + ret = &overridableHttpConfig->sock_packet_mark_out; break; case TS_CONFIG_NET_SOCK_PACKET_TOS_OUT: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->sock_packet_tos_out; + ret = &overridableHttpConfig->sock_packet_tos_out; break; case TS_CONFIG_HTTP_INSERT_AGE_IN_RESPONSE: - ret = &sm->t_state.txn_conf->insert_age_in_response; + ret = &overridableHttpConfig->insert_age_in_response; break; case TS_CONFIG_HTTP_CHUNKING_SIZE: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->http_chunking_size; + ret = &overridableHttpConfig->http_chunking_size; break; case TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED: - ret = &sm->t_state.txn_conf->flow_control_enabled; + ret = &overridableHttpConfig->flow_control_enabled; break; case TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->flow_low_water_mark; + ret = &overridableHttpConfig->flow_low_water_mark; break; case TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->flow_high_water_mark; + ret = &overridableHttpConfig->flow_high_water_mark; break; case TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP: - ret = &sm->t_state.txn_conf->cache_range_lookup; + ret = &overridableHttpConfig->cache_range_lookup; break; case TS_CONFIG_HTTP_NORMALIZE_AE_GZIP: - ret = &sm->t_state.txn_conf->normalize_ae_gzip; + ret = &overridableHttpConfig->normalize_ae_gzip; break; case TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->default_buffer_size_index; + ret = &overridableHttpConfig->default_buffer_size_index; break; case TS_CONFIG_HTTP_DEFAULT_BUFFER_WATER_MARK: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->default_buffer_water_mark; + ret = &overridableHttpConfig->default_buffer_water_mark; break; case TS_CONFIG_HTTP_REQUEST_HEADER_MAX_SIZE: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->request_hdr_max_size; + ret = &overridableHttpConfig->request_hdr_max_size; break; case TS_CONFIG_HTTP_RESPONSE_HEADER_MAX_SIZE: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->response_hdr_max_size; + ret = &overridableHttpConfig->response_hdr_max_size; break; case TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED: - ret = &sm->t_state.txn_conf->negative_revalidating_enabled; + ret = &overridableHttpConfig->negative_revalidating_enabled; break; case TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->negative_revalidating_lifetime; + ret = &overridableHttpConfig->negative_revalidating_lifetime; break; case TS_CONFIG_HTTP_ACCEPT_ENCODING_FILTER_ENABLED: - ret = &sm->t_state.txn_conf->accept_encoding_filter_enabled; + ret = &overridableHttpConfig->accept_encoding_filter_enabled; break; case TS_CONFIG_SSL_HSTS_MAX_AGE: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->proxy_response_hsts_max_age; + ret = &overridableHttpConfig->proxy_response_hsts_max_age; break; case TS_CONFIG_SSL_HSTS_INCLUDE_SUBDOMAINS: typ = OVERRIDABLE_TYPE_BYTE; - ret = &sm->t_state.txn_conf->proxy_response_hsts_include_subdomains; + ret = &overridableHttpConfig->proxy_response_hsts_include_subdomains; break; case TS_CONFIG_HTTP_CACHE_OPEN_READ_RETRY_TIME: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->cache_open_read_retry_time; + ret = &overridableHttpConfig->cache_open_read_retry_time; break; case TS_CONFIG_HTTP_CACHE_MAX_OPEN_READ_RETRIES: typ = OVERRIDABLE_TYPE_INT; - ret = &sm->t_state.txn_conf->max_cache_open_read_retries; + ret = &overridableHttpConfig->max_cache_open_read_retries; break; // This helps avoiding compiler warnings, yet detect unhandled enum members. @@ -7679,7 +7681,7 @@ TSHttpTxnConfigIntSet(TSHttpTxn txnp, TSOverridableConfigKey conf, TSMgmtInt val } // end 4.1.X BC - void *dest = _conf_to_memberp(conf, s, &type); + void *dest = _conf_to_memberp(conf, s->t_state.txn_conf, &type); if (!dest) return TS_ERROR; @@ -7723,7 +7725,7 @@ TSHttpTxnConfigIntGet(TSHttpTxn txnp, TSOverridableConfigKey conf, TSMgmtInt *va } // end 4.1.X BC - void* src = _conf_to_memberp(conf, s, &type); + void* src = _conf_to_memberp(conf, s->t_state.txn_conf, &type); if (!src) return TS_ERROR; @@ -7752,7 +7754,7 @@ TSHttpTxnConfigFloatSet(TSHttpTxn txnp, TSOverridableConfigKey conf, TSMgmtFloat s->t_state.setup_per_txn_configs(); - TSMgmtFloat* dest = static_cast<TSMgmtFloat*>(_conf_to_memberp(conf, s, &type)); + TSMgmtFloat* dest = static_cast<TSMgmtFloat*>(_conf_to_memberp(conf, s->t_state.txn_conf, &type)); if (type != OVERRIDABLE_TYPE_FLOAT) return TS_ERROR; @@ -7772,7 +7774,7 @@ TSHttpTxnConfigFloatGet(TSHttpTxn txnp, TSOverridableConfigKey conf, TSMgmtFloat sdk_assert(sdk_sanity_check_null_ptr((void*)value) == TS_SUCCESS); OverridableDataType type; - TSMgmtFloat* dest = static_cast<TSMgmtFloat*>(_conf_to_memberp(conf, (HttpSM*)txnp, &type)); + TSMgmtFloat* dest = static_cast<TSMgmtFloat*>(_conf_to_memberp(conf, ((HttpSM*)txnp)->t_state.txn_conf, &type)); if (type != OVERRIDABLE_TYPE_FLOAT) return TS_ERROR;
