rcode = fr_ipaddr_from_sockaddr((struct sockaddr_storage *)ai->ai_addr, ai->ai_addrlen, out, NULL);
freeaddrinfo(res);
- if (!rcode) {
+ if (rcode < 0) {
fr_strerror_printf("Failed converting sockaddr to ipaddr");
return -1;
}
return inet_ntop(src->af, &(src->addr), out, outlen);
}
- if (!fr_ipaddr_to_sockaddr(src, 0, &ss, &salen)) {
- return NULL;
- }
+ if (fr_ipaddr_to_sockaddr(src, 0, &ss, &salen) < 0) return NULL;
if ((error = getnameinfo((struct sockaddr *)&ss, salen, out, outlen, NULL, 0,
NI_NUMERICHOST | NI_NUMERICSERV)) != 0) {
* be OK.
*/
if (fr_ipaddr_from_sockaddr((struct sockaddr_storage *)&if_req.ifr_addr,
- sizeof(if_req.ifr_addr), &ipaddr, NULL) == 0) goto error;
+ sizeof(if_req.ifr_addr), &ipaddr, NULL) < 0) goto error;
*out = ipaddr;
close(fd);
* be OK.
*/
if (fr_ipaddr_from_sockaddr((struct sockaddr_storage *)&if_req.ifr_addr,
- sizeof(if_req.ifr_addr), &ipaddr, NULL) == 0) return -1;
+ sizeof(if_req.ifr_addr), &ipaddr, NULL) < 0) return -1;
*out = ipaddr;
return 0;
memcpy(sa, &s6, sizeof(s6));
#endif
} else {
- return 0;
+ fr_strerror_printf("Unsupported address famility %d", ipaddr->af);
+ return -1;
}
- return 1;
+ return 0;
}
int fr_ipaddr_from_sockaddr(struct sockaddr_storage const *sa, socklen_t salen,
} else {
fr_strerror_printf("Unsupported address famility %d", sa->ss_family);
- return 0;
+ return -1;
}
- return 1;
+ return 0;
}
* Allow the caller to bind us to a specific source IP.
*/
if (src_ipaddr && (src_ipaddr->af != AF_UNSPEC)) {
- if (!fr_ipaddr_to_sockaddr(src_ipaddr, 0, &salocal, &salen)) {
+ if (fr_ipaddr_to_sockaddr(src_ipaddr, 0, &salocal, &salen) < 0) {
close(sockfd);
return -1;
}
}
}
- if (!fr_ipaddr_to_sockaddr(dst_ipaddr, dst_port, &salocal, &salen)) {
+ if (fr_ipaddr_to_sockaddr(dst_ipaddr, dst_port, &salocal, &salen) < 0) {
close(sockfd);
return -1;
}
* Allow the caller to bind us to a specific source IP.
*/
if (src_ipaddr && (src_ipaddr->af != AF_UNSPEC)) {
- if (!fr_ipaddr_to_sockaddr(src_ipaddr, 0, &salocal, &salen)) {
+ if (fr_ipaddr_to_sockaddr(src_ipaddr, 0, &salocal, &salen) < 0) {
close(sockfd);
return -1;
}
}
}
- if (!fr_ipaddr_to_sockaddr(dst_ipaddr, dst_port, &salocal, &salen)) {
+ if (fr_ipaddr_to_sockaddr(dst_ipaddr, dst_port, &salocal, &salen) < 0) {
close(sockfd);
return -1;
}
/*
* Set up sockaddr stuff.
*/
- if (!fr_ipaddr_to_sockaddr(&my_ipaddr, my_port, &salocal, &salen)) return -1;
+ if (fr_ipaddr_to_sockaddr(&my_ipaddr, my_port, &salocal, &salen) < 0) return -1;
rcode = bind(sockfd, (struct sockaddr *) &salocal, salen);
if (rcode < 0) return rcode;
return -1;
}
- if (!fr_ipaddr_from_sockaddr(&salocal, salen, &my_ipaddr, &my_port)) return -1;
+ if (fr_ipaddr_from_sockaddr(&salocal, salen, &my_ipaddr, &my_port) < 0) return -1;
if (src_port) *src_port = my_port;
return 0;
* @fixme: We shoul probably just move to sockaddr_storage for
* all IP address things.
*/
- if (!fr_ipaddr_to_sockaddr(dst_ipaddr, dst_port, &dst, &sizeof_dst)) {
- return -1;
- }
+ if (fr_ipaddr_to_sockaddr(dst_ipaddr, dst_port, &dst, &sizeof_dst) < 0) return -1;
#ifdef WITH_UDPFROMTO
/*
/*
* Convert AF. If unknown, discard packet.
*/
- if (!fr_ipaddr_from_sockaddr(&src, sizeof_src, src_ipaddr, src_port)) {
+ if (fr_ipaddr_from_sockaddr(&src, sizeof_src, src_ipaddr, src_port) < 0) {
FR_DEBUG_STRERROR_PRINTF("Unknown address family");
(void) udp_recv_discard(sockfd);
if (received < 0) return received;
- if (!fr_ipaddr_from_sockaddr(&src, sizeof_src, src_ipaddr, &port)) return -1;
+ if (fr_ipaddr_from_sockaddr(&src, sizeof_src, src_ipaddr, &port) < 0) return -1;
*src_port = port;
if (when && !when->tv_sec) gettimeofday(when, NULL);
return -1;
}
- if (!fr_ipaddr_from_sockaddr(&src, salen, &src_ipaddr, &src_port)) {
+ if (fr_ipaddr_from_sockaddr(&src, salen, &src_ipaddr, &src_port) < 0) {
close(newfd);
DEBUG2(" ... unknown address family");
return 0;
return NULL;
}
- if (!fr_ipaddr_from_sockaddr(&src, sizeof_src,
- &sock->my_ipaddr, &sock->my_port)) {
+ if (fr_ipaddr_from_sockaddr(&src, sizeof_src, &sock->my_ipaddr, &sock->my_port) < 0) {
ERROR("Socket has unsupported address family for '%s'", buffer);
home->last_failed_open = now;
listen_free(&this);
return false;
}
- if (!fr_ipaddr_from_sockaddr(&src, sizeof_src, &ps->src_ipaddr,
- &ps->src_port)) {
+ if (fr_ipaddr_from_sockaddr(&src, sizeof_src, &ps->src_ipaddr, &ps->src_port) < 0) {
fr_strerror_printf("Failed to get IP");
return false;
}