You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "David Ben Zakai (JIRA)" <ji...@apache.org> on 2016/10/04 17:44:20 UTC
[jira] [Commented] (TS-4578) Skip HostDB lookup for all address
literals
[ https://issues.apache.org/jira/browse/TS-4578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15546105#comment-15546105 ]
David Ben Zakai commented on TS-4578:
-------------------------------------
Hi,
I'm thinking about taking this one by adding the following function:
bool
is_valid_ip_address(char *ip_address) {
// try ipv4
struct sockaddr_in sa;
int result = inet_pton(AF_INET, ipAddress, &(sa.sin_addr));
// Try ipv6
if (!result) {
result = inet_pton(AF_INET6, ipAddress, &(sa.sin_addr));
}
return result != 0;
}
I'd like to hear your input. Am I going in the right direction here? (if this function is ok with you guys where should I put it?)
Thanks!
> Skip HostDB lookup for all address literals
> -------------------------------------------
>
> Key: TS-4578
> URL: https://issues.apache.org/jira/browse/TS-4578
> Project: Traffic Server
> Issue Type: Improvement
> Components: Core, DNS
> Reporter: James Peach
> Labels: newbie
> Fix For: sometime
>
>
> In {{HttpSM.cc}}:
> {code}
> if ((strncmp(t_state.dns_info.lookup_name, "127.0.0.1", 9) == 0 || strncmp(t_state.dns_info.lookup_name, "::1", 3) == 0) &&
> ats_ip_pton(t_state.dns_info.lookup_name, t_state.host_db_info.ip()) == 0) {
> // If it's 127.0.0.1 or ::1 don't bother with hostdb
> DebugSM("dns", "[HttpTransact::HandleRequest] Skipping DNS lookup for %s because it's loopback",
> t_state.dns_info.lookup_name);
> t_state.dns_info.lookup_success = true;
> call_transact_and_set_next_state(NULL);
> break;
> {code}
> There's no reason to restrict address literals to loopback. It seems like we should be able to do this for all address literals.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)