[CORE] Compare port in ogs_sockaddr_is_equal() (#1608)
This commit is contained in:
parent
7be7029ac4
commit
038d383584
|
@ -416,17 +416,23 @@ bool ogs_sockaddr_is_equal(void *p, void *q)
|
||||||
if (a->ogs_sa_family != b->ogs_sa_family)
|
if (a->ogs_sa_family != b->ogs_sa_family)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (a->ogs_sa_family == AF_INET && memcmp(
|
switch (a->ogs_sa_family) {
|
||||||
&a->sin.sin_addr, &b->sin.sin_addr, sizeof(struct in_addr)) == 0)
|
case AF_INET:
|
||||||
return true;
|
if (a->sin.sin_port != b->sin.sin_port)
|
||||||
else if (a->ogs_sa_family == AF_INET6 && memcmp(
|
|
||||||
&a->sin6.sin6_addr, &b->sin6.sin6_addr, sizeof(struct in6_addr)) == 0)
|
|
||||||
return true;
|
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
|
if (memcmp(&a->sin.sin_addr, &b->sin.sin_addr, sizeof(struct in_addr)) != 0)
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
case AF_INET6:
|
||||||
|
if (a->sin6.sin6_port != b->sin6.sin6_port)
|
||||||
|
return false;
|
||||||
|
if (memcmp(&a->sin6.sin6_addr, &b->sin6.sin6_addr, sizeof(struct in6_addr)) != 0)
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
ogs_error("Unexpected address faimily %u", a->ogs_sa_family);
|
||||||
|
ogs_abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int parse_network(ogs_ipsubnet_t *ipsub, const char *network)
|
static int parse_network(ogs_ipsubnet_t *ipsub, const char *network)
|
||||||
|
|
|
@ -169,8 +169,7 @@ ogs_sbi_client_t *ogs_sbi_client_find(ogs_sockaddr_t *addr)
|
||||||
ogs_assert(addr);
|
ogs_assert(addr);
|
||||||
|
|
||||||
ogs_list_for_each(&ogs_sbi_self()->client_list, client) {
|
ogs_list_for_each(&ogs_sbi_self()->client_list, client) {
|
||||||
if (ogs_sockaddr_is_equal(client->node.addr, addr) == true &&
|
if (ogs_sockaddr_is_equal(client->node.addr, addr) == true)
|
||||||
OGS_PORT(client->node.addr) == OGS_PORT(addr))
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue