mirror of
https://github.com/nghttp2/nghttp2.git
synced 2025-12-08 11:08:52 +08:00
nghttpx: Fix numeric hostname verification
This commit is contained in:
@@ -1817,12 +1817,15 @@ namespace {
|
|||||||
int verify_numeric_hostname(X509 *cert, const StringRef &hostname,
|
int verify_numeric_hostname(X509 *cert, const StringRef &hostname,
|
||||||
const Address *addr) {
|
const Address *addr) {
|
||||||
const void *saddr;
|
const void *saddr;
|
||||||
|
size_t saddrlen;
|
||||||
switch (addr->su.storage.ss_family) {
|
switch (addr->su.storage.ss_family) {
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
saddr = &addr->su.in.sin_addr;
|
saddr = &addr->su.in.sin_addr;
|
||||||
|
saddrlen = sizeof(addr->su.in.sin_addr);
|
||||||
break;
|
break;
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
saddr = &addr->su.in6.sin6_addr;
|
saddr = &addr->su.in6.sin6_addr;
|
||||||
|
saddrlen = sizeof(addr->su.in6.sin6_addr);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -1;
|
return -1;
|
||||||
@@ -1847,7 +1850,7 @@ int verify_numeric_hostname(X509 *cert, const StringRef &hostname,
|
|||||||
size_t ip_addrlen = altname->d.iPAddress->length;
|
size_t ip_addrlen = altname->d.iPAddress->length;
|
||||||
|
|
||||||
ip_found = true;
|
ip_found = true;
|
||||||
if (addr->len == ip_addrlen && memcmp(saddr, ip_addr, ip_addrlen) == 0) {
|
if (saddrlen == ip_addrlen && memcmp(saddr, ip_addr, ip_addrlen) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user