/* * 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; }
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; }