From 81899d5483691265ff5c98d94bec071789e572d8 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Wed, 12 Feb 2025 10:35:46 -0400 Subject: [PATCH] MT#55283 convert sockaddr_parse_any to bool Change-Id: I0bd04ab7f12d31feab469c7b3a6ac8df591ec8cd --- daemon/call_interfaces.c | 4 ++-- daemon/main.c | 4 ++-- lib/socket.c | 8 ++++---- lib/socket.h | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/daemon/call_interfaces.c b/daemon/call_interfaces.c index 820b0f399..608f8000d 100644 --- a/daemon/call_interfaces.c +++ b/daemon/call_interfaces.c @@ -121,11 +121,11 @@ static int addr_parse_udp(struct stream_params *sp, char **out) { sp->protocol = &transport_protocols[PROTO_UNKNOWN]; if (out[RE_UDP_UL_ADDR4] && *out[RE_UDP_UL_ADDR4]) { - if (sockaddr_parse_any(&sp->rtp_endpoint.address, out[RE_UDP_UL_ADDR4])) + if (!sockaddr_parse_any(&sp->rtp_endpoint.address, out[RE_UDP_UL_ADDR4])) goto fail; } else if (out[RE_UDP_UL_ADDR6] && *out[RE_UDP_UL_ADDR6]) { - if (sockaddr_parse_any(&sp->rtp_endpoint.address, out[RE_UDP_UL_ADDR6])) + if (!sockaddr_parse_any(&sp->rtp_endpoint.address, out[RE_UDP_UL_ADDR6])) goto fail; } else diff --git a/daemon/main.c b/daemon/main.c index cea84f4dc..8b1baf39a 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -294,7 +294,7 @@ static bool if_add(intf_config_q *q, struct ifaddrs *ifas, const str *name, /* address */ sockaddr_t *addr = g_slice_alloc(sizeof(*addr)); - if (!sockaddr_parse_any(addr, address)) { + if (sockaddr_parse_any(addr, address)) { if (is_addr_unspecified(addr)) return false; g_queue_push_tail(&addrs, addr); @@ -317,7 +317,7 @@ static bool if_add(intf_config_q *q, struct ifaddrs *ifas, const str *name, sockaddr_t adv = {0}; if (adv_addr) { - if (sockaddr_parse_any(&adv, adv_addr)) { + if (!sockaddr_parse_any(&adv, adv_addr)) { ilog(LOG_DEBUG, "Could not parse '%s' as an address, attempting DNS lookup", adv_addr); if (sockaddr_getaddrinfo(&adv, adv_addr)) { ilog(LOG_WARN, "DNS lookup for '%s' failed", adv_addr); diff --git a/lib/socket.c b/lib/socket.c index 5797886b5..a2a988a09 100644 --- a/lib/socket.c +++ b/lib/socket.c @@ -548,7 +548,7 @@ gboolean endpoint_eq(const endpoint_t *a, const endpoint_t *b) { -int sockaddr_parse_any(sockaddr_t *dst, const char *src) { +bool sockaddr_parse_any(sockaddr_t *dst, const char *src) { int i; sockfamily_t *fam; @@ -556,10 +556,10 @@ int sockaddr_parse_any(sockaddr_t *dst, const char *src) { fam = &__socket_families[i]; if (fam->addr_parse(dst, src)) { dst->family = fam; - return 0; + return true; } } - return -1; + return false; } int sockaddr_parse_any_str(sockaddr_t *dst, const str *src) { char buf[64]; @@ -568,7 +568,7 @@ int sockaddr_parse_any_str(sockaddr_t *dst, const str *src) { if (src->len >= sizeof(buf)) return -1; sprintf(buf, STR_FORMAT, STR_FMT(src)); - return sockaddr_parse_any(dst, buf); + return sockaddr_parse_any(dst, buf) ? 0 : -1; } int sockaddr_parse_str(sockaddr_t *dst, sockfamily_t *fam, const str *src) { char buf[64]; diff --git a/lib/socket.h b/lib/socket.h index 733f96e3b..cf23382ef 100644 --- a/lib/socket.h +++ b/lib/socket.h @@ -286,7 +286,7 @@ void dummy_socket(socket_t *r, const sockaddr_t *); sockfamily_t *get_socket_family_rfc(const str *s); sockfamily_t *__get_socket_family_enum(enum socket_families); -int sockaddr_parse_any(sockaddr_t *dst, const char *src); +bool sockaddr_parse_any(sockaddr_t *dst, const char *src); int sockaddr_parse_any_str(sockaddr_t *dst, const str *src); int sockaddr_parse_str(sockaddr_t *dst, sockfamily_t *fam, const str *src); int endpoint_parse_any(endpoint_t *, const char *); // address (ip) optional @@ -313,7 +313,7 @@ INLINE int endpoint_parse_port_any(endpoint_t *e, const char *p, unsigned int po if (port > 0xffff) return -1; e->port = port; - return sockaddr_parse_any(&e->address, p); + return sockaddr_parse_any(&e->address, p) ? 0 : -1; } // address (ip) required INLINE int endpoint_parse_any_full(endpoint_t *d, const char *s) {