[ https://issues.apache.org/jira/browse/TS-4622?focusedWorklogId=25754&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-25754 ]
ASF GitHub Bot logged work on TS-4622: -------------------------------------- Author: ASF GitHub Bot Created on: 20/Jul/16 14:32 Start Date: 20/Jul/16 14:32 Worklog Time Spent: 10m Work Description: Github user jacksontj commented on a diff in the pull request: https://github.com/apache/trafficserver/pull/773#discussion_r71536060 --- Diff: proxy/http/HttpTransact.cc --- @@ -1783,7 +1783,13 @@ HttpTransact::OSDNSLookup(State *s) // update some state variables with hostdb information that has // been provided. ats_ip_copy(&s->server_info.dst_addr, s->host_db_info.ip()); - s->server_info.dst_addr.port() = htons(s->hdr_info.client_request.port_get()); // now we can set the port. + // TODO ideally only if ports aren't defined in remap + // If the SRV response has a port number, we should honor it. Otherwise we do the port defined in remap + if (s->dns_info.srv_port) { + s->server_info.dst_addr.port() = htons(s->dns_info.srv_port); + } else { + s->server_info.dst_addr.port() = htons(s->hdr_info.client_request.port_get()); // now we can set the port. + } --- End diff -- I'll change the conditional-- that definitely makes sense. From looking at the API callout code-- it does seem like its already broken :/ It seems that `TSHttpTxnServerAddrSet()` is called before the DNS lookup-- and if so it bypasses the [dns lookup| https://github.com/apache/trafficserver/blob/master/proxy/http/HttpSM.cc#L7179]. So, I would think in this section of HttpTransact we would want to skip all port setting if `api_server_addr_set` is true. Issue Time Tracking ------------------- Worklog Id: (was: 25754) Time Spent: 1h (was: 50m) > Ports from SRV lookups aren't used > ---------------------------------- > > Key: TS-4622 > URL: https://issues.apache.org/jira/browse/TS-4622 > Project: Traffic Server > Issue Type: Bug > Components: DNS > Reporter: Thomas Jackson > Assignee: Thomas Jackson > Fix For: 7.0.0 > > Time Spent: 1h > Remaining Estimate: 0h > > Although the dns processor parses out the ports and we keep track of them, it > seems that the port from the SRV response is not used at all when connecting > to the origin. Simple fix, we simply need to set the port before doing > `do_http_server_open` (potentially earlier if we want to let plugins etc. > override the port?) -- This message was sent by Atlassian JIRA (v6.3.4#6332)