Esempio n. 1
0
/*
 * Canonicalize a server host name if possible.
 * The returned pointer must be freed after usage.
 */
static char *canonical_hostname(const char *serverName)
{
    char *hostname;
    ne_sock_addr *addr;
    
    addr = ne_addr_resolve(serverName, NE_ADDR_CANON);
    if (ne_addr_result(addr) || ne_addr_canonical(addr) == NULL) {
        /* Lookup failed */
        char buf[256];
        NE_DEBUG(NE_DBG_HTTPAUTH,
                 "sspi: Could not resolve IP address for `%s': %s\n",
                 serverName, ne_addr_error(addr, buf, sizeof buf));
        hostname = ne_strdup(serverName);
    }
    else {
        hostname = ne_strdup(ne_addr_canonical(addr));
    }

    ne_addr_destroy(addr);

    return hostname;
}
Esempio n. 2
0
static int addr_canonical(void)
{
    ne_sock_addr *sa;
    const char *h;

    sa = ne_addr_resolve("localhost", NE_ADDR_CANON);
    ONN("could not resolve localhost", sa == NULL);
    
    h = ne_addr_canonical(sa);
    ONN("no canonical name for localhost", h == NULL);

    NE_DEBUG(NE_DBG_SOCKET, "canonical name: %s\n", h);

    ne_addr_destroy(sa);
    
    return OK;
}