[ 
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)

Reply via email to