You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "James Peach (JIRA)" <ji...@apache.org> on 2016/06/21 23:56:57 UTC
[jira] [Created] (TS-4574) Let TSHttpTxnServerAddrSet clear the
address
James Peach created TS-4574:
-------------------------------
Summary: Let TSHttpTxnServerAddrSet clear the address
Key: TS-4574
URL: https://issues.apache.org/jira/browse/TS-4574
Project: Traffic Server
Issue Type: Improvement
Components: TS API
Reporter: James Peach
After using {{TSHttpTxnServerAddrSet}} to route requests to a specific destination, you might change your mind and decide to allow an internal DNS lookup.
I propose that we allow {{TSHttpTxnServerAddrSet}} to take a {{NULL}} argument to clear and API DNS result that was previously set.
{code}
diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc
index 5772c12..362bf32 100644
--- a/proxy/InkAPI.cc
+++ b/proxy/InkAPI.cc
@@ -5336,6 +5336,13 @@ TSHttpTxnServerAddrSet(TSHttpTxn txnp, struct sockaddr const *addr)
sdk_assert(sdk_sanity_check_txn(txnp) == TS_SUCCESS);
HttpSM *sm = reinterpret_cast<HttpSM *>(txnp);
+
+ if (addr == NULL) {
+ sm->t_state.api_server_addr_set = false;
+ sm->t_state.server_info.dst_addr.setToAnyAddr(AF_INET);
+ return TS_SUCCESS;
+ }
+
if (ats_ip_copy(&sm->t_state.server_info.dst_addr.sa, addr)) {
sm->t_state.api_server_addr_set = true;
return TS_SUCCESS;
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)