Commit adb2b108 authored by Victor J. Orlikowski's avatar Victor J. Orlikowski
Browse files

inet_addr and inet_network are not interchangable.

Furthermore, use apr_inet_addr, rather than ap_inet_addr (though they map
to the same thing).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89855 13f79535-47bb-0310-9956-ffa450edef68
parent 0e9d3deb
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -276,11 +276,7 @@ PROXY_DECLARE(char *)
	if (!apr_isdigit(host[i]) && host[i] != '.')
	    break;
    /* must be an IP address */
#if defined(WIN32) || defined(NETWARE) || defined(TPF) || defined(BEOS)
    if (host[i] == '\0' && (inet_addr(host) == -1))
#else
    if (host[i] == '\0' && (ap_inet_addr(host) == -1 || inet_network(host) == -1))
#endif
    if (host[i] == '\0' && (apr_inet_addr(host) == -1))
    {
	return "Bad IP address in URL";
    }
@@ -630,7 +626,7 @@ PROXY_DECLARE(int) ap_proxy_is_ipaddr(struct dirconn_entry *This, apr_pool_t *p)
    long bits;

    /* if the address is given with an explicit netmask, use that */
    /* Due to a deficiency in ap_inet_addr(), it is impossible to parse */
    /* Due to a deficiency in apr_inet_addr(), it is impossible to parse */
    /* "partial" addresses (with less than 4 quads) correctly, i.e.  */
    /* 192.168.123 is parsed as 192.168.0.123, which is not what I want. */
    /* I therefore have to parse the IP address manually: */