You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ac...@apache.org on 2020/05/04 15:11:00 UTC
[trafficserver] branch master updated: HttpSM cleaning up non-sense
pointer indirection (#6721)
This is an automated email from the ASF dual-hosted git repository.
acanary pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new e4dd6b6 HttpSM cleaning up non-sense pointer indirection (#6721)
e4dd6b6 is described below
commit e4dd6b6197af6cc1530d05221f59a9fd3a5dee90
Author: a-a-ron <ac...@verizonmedia.com>
AuthorDate: Mon May 4 10:10:53 2020 -0500
HttpSM cleaning up non-sense pointer indirection (#6721)
* HttpSM cleaning up non-sense pointer indirection
* adding assert to appease clang-analyser
---
proxy/http/HttpSM.cc | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index 1bf7500..9b47469 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -618,10 +618,10 @@ HttpSM::setup_client_read_request_header()
void
HttpSM::setup_blind_tunnel_port()
{
- NetVConnection *netvc = ua_txn->get_netvc();
- SSLNetVConnection *ssl_vc = dynamic_cast<SSLNetVConnection *>(netvc);
+ NetVConnection *netvc = ua_txn->get_netvc();
+ ink_release_assert(netvc);
int host_len;
- if (ssl_vc) {
+ if (SSLNetVConnection *ssl_vc = dynamic_cast<SSLNetVConnection *>(netvc)) {
if (!t_state.hdr_info.client_request.url_get()->host_get(&host_len)) {
// the URL object has not been created in the start of the transaction. Hence, we need to create the URL here
URL u;
@@ -638,19 +638,19 @@ HttpSM::setup_blind_tunnel_port()
if (ssl_vc->get_tunnel_port() > 0) {
t_state.hdr_info.client_request.url_get()->port_set(ssl_vc->get_tunnel_port());
} else {
- t_state.hdr_info.client_request.url_get()->port_set(t_state.state_machine->ua_txn->get_netvc()->get_local_port());
+ t_state.hdr_info.client_request.url_get()->port_set(netvc->get_local_port());
}
} else {
t_state.hdr_info.client_request.url_get()->host_set(ssl_vc->get_server_name(), strlen(ssl_vc->get_server_name()));
- t_state.hdr_info.client_request.url_get()->port_set(t_state.state_machine->ua_txn->get_netvc()->get_local_port());
+ t_state.hdr_info.client_request.url_get()->port_set(netvc->get_local_port());
}
}
} else {
char new_host[INET6_ADDRSTRLEN];
- ats_ip_ntop(t_state.state_machine->ua_txn->get_netvc()->get_local_addr(), new_host, sizeof(new_host));
+ ats_ip_ntop(netvc->get_local_addr(), new_host, sizeof(new_host));
t_state.hdr_info.client_request.url_get()->host_set(new_host, strlen(new_host));
- t_state.hdr_info.client_request.url_get()->port_set(t_state.state_machine->ua_txn->get_netvc()->get_local_port());
+ t_state.hdr_info.client_request.url_get()->port_set(netvc->get_local_port());
}
call_transact_and_set_next_state(HttpTransact::HandleBlindTunnel);
}
@@ -1468,11 +1468,11 @@ plugins required to work with sni_routing.
if (tunnel_port > 0) {
t_state.hdr_info.client_request.url_get()->port_set(tunnel_port);
} else {
- t_state.hdr_info.client_request.url_get()->port_set(t_state.state_machine->ua_txn->get_netvc()->get_local_port());
+ t_state.hdr_info.client_request.url_get()->port_set(netvc->get_local_port());
}
} else if (ssl_vc) {
t_state.hdr_info.client_request.url_get()->host_set(ssl_vc->get_server_name(), strlen(ssl_vc->get_server_name()));
- t_state.hdr_info.client_request.url_get()->port_set(t_state.state_machine->ua_txn->get_netvc()->get_local_port());
+ t_state.hdr_info.client_request.url_get()->port_set(netvc->get_local_port());
}
}
// FALLTHROUGH
@@ -2189,7 +2189,7 @@ HttpSM::process_hostdb_info(HostDBInfo *r)
bool use_client_addr = t_state.http_config_param->use_client_target_addr == 1 && t_state.client_info.is_transparent &&
t_state.dns_info.os_addr_style == HttpTransact::DNSLookupInfo::OS_Addr::OS_ADDR_TRY_DEFAULT;
if (use_client_addr) {
- NetVConnection *vc = t_state.state_machine->ua_txn ? t_state.state_machine->ua_txn->get_netvc() : nullptr;
+ NetVConnection *vc = ua_txn ? ua_txn->get_netvc() : nullptr;
if (vc) {
client_addr = vc->get_local_addr();
// Regardless of whether the client address matches the DNS record or not,
@@ -7339,7 +7339,7 @@ HttpSM::set_next_state()
} else if (t_state.http_config_param->use_client_target_addr == 2 && !t_state.url_remap_success &&
t_state.parent_result.result != PARENT_SPECIFIED && t_state.client_info.is_transparent &&
t_state.dns_info.os_addr_style == HttpTransact::DNSLookupInfo::OS_Addr::OS_ADDR_TRY_DEFAULT &&
- ats_is_ip(addr = t_state.state_machine->ua_txn->get_netvc()->get_local_addr())) {
+ ats_is_ip(addr = ua_txn->get_netvc()->get_local_addr())) {
/* If the connection is client side transparent and the URL
* was not remapped/directed to parent proxy, we can use the
* client destination IP address instead of doing a DNS