From: Arran Cudbard-Bell Date: Wed, 3 May 2017 15:39:39 +0000 (-0400) Subject: Shorten field names in fr_ipaddr_t X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf250358aa8e3d6ed8a8360a67ee761b5d01ed01;p=thirdparty%2Ffreeradius-server.git Shorten field names in fr_ipaddr_t s/vp_ipaddr/vp_ipv4addr/ --- diff --git a/src/include/inet.h b/src/include/inet.h index c3a27f7188d..50af7a0d660 100644 --- a/src/include/inet.h +++ b/src/include/inet.h @@ -43,8 +43,8 @@ extern "C" { typedef struct fr_ipaddr_t { int af; //!< Address family. union { - struct in_addr ip4addr; //!< IPv4 address. - struct in6_addr ip6addr; //!< IPv6 address. + struct in_addr v4; //!< IPv4 address. + struct in6_addr v6; //!< IPv6 address. } ipaddr; uint8_t prefix; //!< Prefix length - Between 0-32 for IPv4 and 0-128 for IPv6. uint32_t zone_id; //!< A host may have multiple link-local interfaces diff --git a/src/include/pair.h b/src/include/pair.h index 0bdef3fb217..47d75881e34 100644 --- a/src/include/pair.h +++ b/src/include/pair.h @@ -182,7 +182,7 @@ typedef struct value_pair_raw { #define vp_strvalue data.datum.strvalue #define vp_integer data.datum.integer -#define vp_ipaddr data.datum.ipaddr.s_addr +#define vp_ipv4addr data.datum.ipaddr.s_addr #define vp_date data.datum.date #define vp_filter data.datum.filter #define vp_octets data.datum.octets diff --git a/src/lib/util/inet.c b/src/lib/util/inet.c index dddae0cff3e..91799301a8c 100644 --- a/src/lib/util/inet.c +++ b/src/lib/util/inet.c @@ -92,11 +92,11 @@ void fr_ipaddr_mask(fr_ipaddr_t *addr, uint8_t prefix) switch (addr->af) { case AF_INET: - addr->ipaddr.ip4addr = fr_inaddr_mask(&addr->ipaddr.ip4addr, prefix); + addr->ipaddr.v4 = fr_inaddr_mask(&addr->ipaddr.v4, prefix); break; case AF_INET6: - addr->ipaddr.ip6addr = fr_in6addr_mask(&addr->ipaddr.ip6addr, prefix); + addr->ipaddr.v6 = fr_in6addr_mask(&addr->ipaddr.v6, prefix); break; default: @@ -379,7 +379,7 @@ int fr_inet_pton4(fr_ipaddr_t *out, char const *value, ssize_t inlen, bool resol * Allow '*' as the wildcard address usually 0.0.0.0 */ if ((value[0] == '*') && (value[1] == '\0')) { - out->ipaddr.ip4addr.s_addr = htonl(INADDR_ANY); + out->ipaddr.v4.s_addr = htonl(INADDR_ANY); /* * Convert things which are obviously integers to IP addresses @@ -388,10 +388,10 @@ int fr_inet_pton4(fr_ipaddr_t *out, char const *value, ssize_t inlen, bool resol * IP address. */ } else if (is_integer(value) || ((value[0] == '0') && (value[1] == 'x'))) { - out->ipaddr.ip4addr.s_addr = htonl(strtoul(value, NULL, 0)); + out->ipaddr.v4.s_addr = htonl(strtoul(value, NULL, 0)); } else if (!resolve) { - if (inet_pton(AF_INET, value, &out->ipaddr.ip4addr.s_addr) <= 0) { + if (inet_pton(AF_INET, value, &out->ipaddr.v4.s_addr) <= 0) { fr_strerror_printf("Failed to parse IPv4 addreess string \"%s\"", value); return -1; } @@ -422,7 +422,7 @@ int fr_inet_pton4(fr_ipaddr_t *out, char const *value, ssize_t inlen, bool resol * * @todo we should allow hostnames to be parsed as prefixes. */ - if (ip_prefix_addr_from_str(&out->ipaddr.ip4addr, buffer) <= 0) { + if (ip_prefix_addr_from_str(&out->ipaddr.v4, buffer) <= 0) { fr_strerror_printf("Failed to parse IPv4 prefix string \"%s\"", value); return -1; } @@ -440,7 +440,7 @@ int fr_inet_pton4(fr_ipaddr_t *out, char const *value, ssize_t inlen, bool resol } if (mask_bits && (mask < 32)) { - out->ipaddr.ip4addr = fr_inaddr_mask(&out->ipaddr.ip4addr, mask); + out->ipaddr.v4 = fr_inaddr_mask(&out->ipaddr.v4, mask); } out->prefix = (uint8_t) mask; @@ -491,9 +491,9 @@ int fr_inet_pton6(fr_ipaddr_t *out, char const *value, ssize_t inlen, bool resol * Allow '*' as the wildcard address */ if ((value[0] == '*') && (value[1] == '\0')) { - memset(out->ipaddr.ip6addr.s6_addr, 0, sizeof(out->ipaddr.ip6addr.s6_addr)); + memset(out->ipaddr.v6.s6_addr, 0, sizeof(out->ipaddr.v6.s6_addr)); } else if (!resolve) { - if (inet_pton(AF_INET6, value, out->ipaddr.ip6addr.s6_addr) <= 0) { + if (inet_pton(AF_INET6, value, out->ipaddr.v6.s6_addr) <= 0) { fr_strerror_printf("Failed to parse IPv6 address string \"%s\"", value); return -1; } @@ -514,7 +514,7 @@ int fr_inet_pton6(fr_ipaddr_t *out, char const *value, ssize_t inlen, bool resol buffer[p - value] = '\0'; if (!resolve) { - if (inet_pton(AF_INET6, buffer, out->ipaddr.ip6addr.s6_addr) <= 0) { + if (inet_pton(AF_INET6, buffer, out->ipaddr.v6.s6_addr) <= 0) { fr_strerror_printf("Failed to parse IPv6 address string \"%s\"", value); return -1; } @@ -534,8 +534,8 @@ int fr_inet_pton6(fr_ipaddr_t *out, char const *value, ssize_t inlen, bool resol if (mask && (prefix < 128)) { struct in6_addr addr; - addr = fr_in6addr_mask(&out->ipaddr.ip6addr, prefix); - memcpy(out->ipaddr.ip6addr.s6_addr, addr.s6_addr, sizeof(out->ipaddr.ip6addr.s6_addr)); + addr = fr_in6addr_mask(&out->ipaddr.v6, prefix); + memcpy(out->ipaddr.v6.s6_addr, addr.s6_addr, sizeof(out->ipaddr.v6.s6_addr)); } out->prefix = (uint8_t) prefix; @@ -1041,18 +1041,18 @@ int fr_ipaddr_cmp(fr_ipaddr_t const *a, fr_ipaddr_t const *b) switch (a->af) { case AF_INET: - return memcmp(&a->ipaddr.ip4addr, - &b->ipaddr.ip4addr, - sizeof(a->ipaddr.ip4addr)); + return memcmp(&a->ipaddr.v4, + &b->ipaddr.v4, + sizeof(a->ipaddr.v4)); #ifdef HAVE_STRUCT_SOCKADDR_IN6 case AF_INET6: if (a->zone_id < b->zone_id) return -1; if (a->zone_id > b->zone_id) return +1; - return memcmp(&a->ipaddr.ip6addr, - &b->ipaddr.ip6addr, - sizeof(a->ipaddr.ip6addr)); + return memcmp(&a->ipaddr.v6, + &b->ipaddr.v6, + sizeof(a->ipaddr.v6)); #endif default: @@ -1074,7 +1074,7 @@ int fr_ipaddr_to_sockaddr(fr_ipaddr_t const *ipaddr, uint16_t port, memset(&s4, 0, sizeof(s4)); s4.sin_family = AF_INET; - s4.sin_addr = ipaddr->ipaddr.ip4addr; + s4.sin_addr = ipaddr->ipaddr.v4; s4.sin_port = htons(port); memset(sa, 0, sizeof(*sa)); memcpy(sa, &s4, sizeof(s4)); @@ -1087,7 +1087,7 @@ int fr_ipaddr_to_sockaddr(fr_ipaddr_t const *ipaddr, uint16_t port, memset(&s6, 0, sizeof(s6)); s6.sin6_family = AF_INET6; - s6.sin6_addr = ipaddr->ipaddr.ip6addr; + s6.sin6_addr = ipaddr->ipaddr.v6; s6.sin6_port = htons(port); s6.sin6_scope_id = ipaddr->zone_id; memset(sa, 0, sizeof(*sa)); @@ -1116,7 +1116,7 @@ int fr_ipaddr_from_sockaddr(struct sockaddr_storage const *sa, socklen_t salen, memcpy(&s4, sa, sizeof(s4)); ipaddr->af = AF_INET; ipaddr->prefix = 32; - ipaddr->ipaddr.ip4addr = s4.sin_addr; + ipaddr->ipaddr.v4 = s4.sin_addr; if (port) *port = ntohs(s4.sin_port); #ifdef HAVE_STRUCT_SOCKADDR_IN6 @@ -1131,7 +1131,7 @@ int fr_ipaddr_from_sockaddr(struct sockaddr_storage const *sa, socklen_t salen, memcpy(&s6, sa, sizeof(s6)); ipaddr->af = AF_INET6; ipaddr->prefix = 128; - ipaddr->ipaddr.ip6addr = s6.sin6_addr; + ipaddr->ipaddr.v6 = s6.sin6_addr; if (port) *port = ntohs(s6.sin6_port); ipaddr->zone_id = s6.sin6_scope_id; #endif diff --git a/src/lib/util/socket.c b/src/lib/util/socket.c index d7a9dc8a139..146a6d43027 100644 --- a/src/lib/util/socket.c +++ b/src/lib/util/socket.c @@ -516,7 +516,7 @@ int fr_socket_server_base(int proto, fr_ipaddr_t *ipaddr, int *port, char const */ if (ipaddr->af == AF_INET6) { # ifdef IPV6_V6ONLY - if (IN6_IS_ADDR_UNSPECIFIED(&ipaddr->ipaddr.ip6addr)) { + if (IN6_IS_ADDR_UNSPECIFIED(&ipaddr->ipaddr.v6)) { int on = 1; if (setsockopt(sockfd, IPPROTO_IPV6, IPV6_V6ONLY, @@ -744,7 +744,7 @@ int fr_socket(fr_ipaddr_t const *ipaddr, uint16_t port) */ #ifdef IPV6_V6ONLY - if (IN6_IS_ADDR_UNSPECIFIED(&ipaddr->ipaddr.ip6addr)) { + if (IN6_IS_ADDR_UNSPECIFIED(&ipaddr->ipaddr.v6)) { int on = 1; if (setsockopt(sockfd, IPPROTO_IPV6, IPV6_V6ONLY, @@ -821,13 +821,13 @@ int fr_is_inaddr_any(fr_ipaddr_t *ipaddr) { if (ipaddr->af == AF_INET) { - if (ipaddr->ipaddr.ip4addr.s_addr == INADDR_ANY) { + if (ipaddr->ipaddr.v4.s_addr == INADDR_ANY) { return 1; } #ifdef HAVE_STRUCT_SOCKADDR_IN6 } else if (ipaddr->af == AF_INET6) { - if (IN6_IS_ADDR_UNSPECIFIED(&(ipaddr->ipaddr.ip6addr))) { + if (IN6_IS_ADDR_UNSPECIFIED(&(ipaddr->ipaddr.v6))) { return 1; } #endif diff --git a/src/lib/util/value.c b/src/lib/util/value.c index 26d3f059259..0a7af1d6b8d 100644 --- a/src/lib/util/value.c +++ b/src/lib/util/value.c @@ -1951,7 +1951,7 @@ int value_box_from_str(TALLOC_CTX *ctx, value_box_t *dst, return -1; } - dst->datum.ipaddr.s_addr = addr.ipaddr.ip4addr.s_addr; + dst->datum.ipaddr.s_addr = addr.ipaddr.v4.s_addr; } goto finish; @@ -1962,7 +1962,7 @@ int value_box_from_str(TALLOC_CTX *ctx, value_box_t *dst, if (fr_inet_pton4(&addr, in, inlen, fr_hostname_lookups, false, true) < 0) return -1; dst->datum.ipv4prefix[1] = addr.prefix; - memcpy(&dst->datum.ipv4prefix[2], &addr.ipaddr.ip4addr.s_addr, sizeof(dst->datum.ipv4prefix) - 2); + memcpy(&dst->datum.ipv4prefix[2], &addr.ipaddr.v4.s_addr, sizeof(dst->datum.ipv4prefix) - 2); } goto finish; @@ -1982,7 +1982,7 @@ int value_box_from_str(TALLOC_CTX *ctx, value_box_t *dst, return -1; } - memcpy(&dst->datum.ipv6addr, addr.ipaddr.ip6addr.s6_addr, sizeof(dst->datum.ipv6addr)); + memcpy(&dst->datum.ipv6addr, addr.ipaddr.v6.s6_addr, sizeof(dst->datum.ipv6addr)); } goto finish; @@ -1993,7 +1993,7 @@ int value_box_from_str(TALLOC_CTX *ctx, value_box_t *dst, if (fr_inet_pton6(&addr, in, inlen, fr_hostname_lookups, false, true) < 0) return -1; dst->datum.ipv6prefix[1] = addr.prefix; - memcpy(&dst->datum.ipv6prefix[2], addr.ipaddr.ip6addr.s6_addr, sizeof(dst->datum.ipv6prefix) - 2); + memcpy(&dst->datum.ipv6prefix[2], addr.ipaddr.v6.s6_addr, sizeof(dst->datum.ipv6prefix) - 2); } goto finish; @@ -2283,7 +2283,7 @@ int value_box_from_str(TALLOC_CTX *ctx, value_box_t *dst, } *dst_type = PW_TYPE_IPV4_ADDR; - dst->datum.ipaddr.s_addr = ipaddr.ipaddr.ip4addr.s_addr; + dst->datum.ipaddr.s_addr = ipaddr.ipaddr.v4.s_addr; ret = dict_attr_sizes[PW_TYPE_COMBO_IP_ADDR][0]; /* size of IPv4 address */ } } diff --git a/src/main/client.c b/src/main/client.c index e082570060c..4535cef6bf6 100644 --- a/src/main/client.c +++ b/src/main/client.c @@ -1272,14 +1272,14 @@ RADCLIENT *client_afrom_request(RADCLIENT_LIST *clients, REQUEST *request) case PW_TYPE_IPV4_ADDR: if (da->attr == PW_FREERADIUS_CLIENT_IP_ADDRESS) { c->ipaddr.af = AF_INET; - c->ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + c->ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; c->ipaddr.prefix = 32; cp = cf_pair_alloc(c->cs, "ipv4addr", strvalue, T_OP_SET, T_BARE_WORD, T_BARE_WORD); } else if (da->attr == PW_FREERADIUS_CLIENT_SRC_IP_ADDRESS) { #ifdef WITH_UDPFROMTO RDEBUG2("src_ipaddr = %s", strvalue); c->src_ipaddr.af = AF_INET; - c->src_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + c->src_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; c->src_ipaddr.prefix = 32; cp = cf_pair_alloc(c->cs, "src_ipaddr", strvalue, T_OP_SET, T_BARE_WORD, T_BARE_WORD); #else @@ -1292,13 +1292,13 @@ RADCLIENT *client_afrom_request(RADCLIENT_LIST *clients, REQUEST *request) case PW_TYPE_IPV6_ADDR: if (da->attr == PW_FREERADIUS_CLIENT_IPV6_ADDRESS) { c->ipaddr.af = AF_INET6; - c->ipaddr.ipaddr.ip6addr = vp->vp_ipv6addr; + c->ipaddr.ipaddr.v6 = vp->vp_ipv6addr; c->ipaddr.prefix = 128; cp = cf_pair_alloc(c->cs, "ipv6addr", strvalue, T_OP_SET, T_BARE_WORD, T_BARE_WORD); } else if (da->attr == PW_FREERADIUS_CLIENT_SRC_IPV6_ADDRESS) { #ifdef WITH_UDPFROMTO c->src_ipaddr.af = AF_INET6; - c->src_ipaddr.ipaddr.ip6addr = vp->vp_ipv6addr; + c->src_ipaddr.ipaddr.v6 = vp->vp_ipv6addr; c->src_ipaddr.prefix = 128; cp = cf_pair_alloc(c->cs, "src_addr", strvalue, T_OP_SET, T_BARE_WORD, T_BARE_WORD); #else @@ -1311,8 +1311,8 @@ RADCLIENT *client_afrom_request(RADCLIENT_LIST *clients, REQUEST *request) case PW_TYPE_IPV4_PREFIX: if (da->attr == PW_FREERADIUS_CLIENT_IP_PREFIX) { c->ipaddr.af = AF_INET; - memcpy(&c->ipaddr.ipaddr.ip4addr, &vp->vp_ipv4prefix[2], - sizeof(c->ipaddr.ipaddr.ip4addr.s_addr)); + memcpy(&c->ipaddr.ipaddr.v4, &vp->vp_ipv4prefix[2], + sizeof(c->ipaddr.ipaddr.v4.s_addr)); fr_ipaddr_mask(&c->ipaddr, (vp->vp_ipv4prefix[1] & 0x3f)); cp = cf_pair_alloc(c->cs, "ipv4addr", strvalue, T_OP_SET, T_BARE_WORD, T_BARE_WORD); } @@ -1322,8 +1322,8 @@ RADCLIENT *client_afrom_request(RADCLIENT_LIST *clients, REQUEST *request) case PW_TYPE_IPV6_PREFIX: if (da->attr == PW_FREERADIUS_CLIENT_IPV6_PREFIX) { c->ipaddr.af = AF_INET6; - memcpy(&c->ipaddr.ipaddr.ip6addr, &vp->vp_ipv6prefix[2], - sizeof(c->ipaddr.ipaddr.ip6addr)); + memcpy(&c->ipaddr.ipaddr.v6, &vp->vp_ipv6prefix[2], + sizeof(c->ipaddr.ipaddr.v6)); fr_ipaddr_mask(&c->ipaddr, vp->vp_ipv6prefix[1]); cp = cf_pair_alloc(c->cs, "ipv6addr", strvalue, T_OP_SET, T_BARE_WORD, T_BARE_WORD); } diff --git a/src/main/listen.c b/src/main/listen.c index f4f59007be5..8c14d6db115 100644 --- a/src/main/listen.c +++ b/src/main/listen.c @@ -1073,7 +1073,7 @@ int common_socket_print(rad_listen_t const *this, char *buffer, size_t bufsize) ADDSTRING(") -> ("); if ((sock->my_ipaddr.af == AF_INET) && - (sock->my_ipaddr.ipaddr.ip4addr.s_addr == htonl(INADDR_ANY))) { + (sock->my_ipaddr.ipaddr.v4.s_addr == htonl(INADDR_ANY))) { strlcpy(buffer, "*", bufsize); } else { fr_inet_ntoh(&sock->my_ipaddr, buffer, bufsize); @@ -1110,7 +1110,7 @@ int common_socket_print(rad_listen_t const *this, char *buffer, size_t bufsize) ADDSTRING(") -> home_server ("); if ((sock->other_ipaddr.af == AF_INET) && - (sock->other_ipaddr.ipaddr.ip4addr.s_addr == htonl(INADDR_ANY))) { + (sock->other_ipaddr.ipaddr.v4.s_addr == htonl(INADDR_ANY))) { strlcpy(buffer, "*", bufsize); } else { fr_inet_ntoh(&sock->other_ipaddr, buffer, bufsize); @@ -1131,7 +1131,7 @@ int common_socket_print(rad_listen_t const *this, char *buffer, size_t bufsize) ADDSTRING(" address "); if ((sock->my_ipaddr.af == AF_INET) && - (sock->my_ipaddr.ipaddr.ip4addr.s_addr == htonl(INADDR_ANY))) { + (sock->my_ipaddr.ipaddr.v4.s_addr == htonl(INADDR_ANY))) { strlcpy(buffer, "*", bufsize); } else { fr_inet_ntoh(&sock->my_ipaddr, buffer, bufsize); @@ -1296,7 +1296,7 @@ int common_socket_parse(CONF_SECTION *cs, rad_listen_t *this) * Try IPv4 first */ memset(&ipaddr, 0, sizeof(ipaddr)); - ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_NONE); + ipaddr.ipaddr.v4.s_addr = htonl(INADDR_NONE); rcode = cf_pair_parse(NULL, cs, "ipaddr", FR_ITEM_POINTER(PW_TYPE_COMBO_IP_ADDR, &ipaddr), NULL, T_INVALID); if (rcode < 0) return -1; @@ -1313,7 +1313,7 @@ int common_socket_parse(CONF_SECTION *cs, rad_listen_t *this) memset(&ipaddr, 0, sizeof(ipaddr)); ipaddr.af = AF_INET6; ipaddr.prefix = 128; - ipaddr.ipaddr.ip6addr = in6addr_any; /* in6addr_any binds to all addresses */ + ipaddr.ipaddr.v6 = in6addr_any; /* in6addr_any binds to all addresses */ } rcode = cf_pair_parse(NULL, cs, "port", FR_ITEM_POINTER(PW_TYPE_SHORT, &sock->my_port), "0", T_BARE_WORD); diff --git a/src/main/pair.c b/src/main/pair.c index 9b3e08bf69b..601984246de 100644 --- a/src/main/pair.c +++ b/src/main/pair.c @@ -221,7 +221,7 @@ int radius_compare_vps(UNUSED REQUEST *request, VALUE_PAIR *check, VALUE_PAIR *v break; case PW_TYPE_IPV4_ADDR: - ret = ntohl(vp->vp_ipaddr) - ntohl(check->vp_ipaddr); + ret = ntohl(vp->vp_ipv4addr) - ntohl(check->vp_ipv4addr); break; case PW_TYPE_IPV6_ADDR: diff --git a/src/main/process.c b/src/main/process.c index a6d9826bbb6..12007504aaf 100644 --- a/src/main/process.c +++ b/src/main/process.c @@ -2989,11 +2989,11 @@ static int request_will_proxy(REQUEST *request) if (vp->da->attr == PW_PACKET_DST_IP_ADDRESS) { dst_ipaddr.af = AF_INET; - dst_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + dst_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; dst_ipaddr.prefix = 32; } else { dst_ipaddr.af = AF_INET6; - memcpy(&dst_ipaddr.ipaddr.ip6addr, &vp->vp_ipv6addr, sizeof(vp->vp_ipv6addr)); + memcpy(&dst_ipaddr.ipaddr.v6, &vp->vp_ipv6addr, sizeof(vp->vp_ipv6addr)); dst_ipaddr.prefix = 128; } @@ -4170,11 +4170,11 @@ static void request_coa_originate(REQUEST *request) vp = fr_pair_find_by_num(coa->proxy->packet->vps, 0, PW_PACKET_DST_IP_ADDRESS, TAG_ANY); if (vp) { ipaddr.af = AF_INET; - ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; ipaddr.prefix = 32; } else if ((vp = fr_pair_find_by_num(coa->proxy->packet->vps, 0, PW_PACKET_DST_IPV6_ADDRESS, TAG_ANY)) != NULL) { ipaddr.af = AF_INET6; - ipaddr.ipaddr.ip6addr = vp->vp_ipv6addr; + ipaddr.ipaddr.v6 = vp->vp_ipv6addr; ipaddr.prefix = 128; } else if ((vp = fr_pair_find_by_num(coa->proxy->packet->vps, 0, PW_HOME_SERVER_POOL, TAG_ANY)) != NULL) { coa->home_pool = home_pool_byname(vp->vp_strvalue, diff --git a/src/main/radclient.c b/src/main/radclient.c index 69cbe1bfb15..9d4d8feb35a 100644 --- a/src/main/radclient.c +++ b/src/main/radclient.c @@ -459,13 +459,13 @@ static int radclient_init(TALLOC_CTX *ctx, rc_file_pair_t *files) case PW_PACKET_DST_IP_ADDRESS: request->packet->dst_ipaddr.af = AF_INET; - request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->packet->dst_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; request->packet->dst_ipaddr.prefix = 32; break; case PW_PACKET_DST_IPV6_ADDRESS: request->packet->dst_ipaddr.af = AF_INET6; - request->packet->dst_ipaddr.ipaddr.ip6addr = vp->vp_ipv6addr; + request->packet->dst_ipaddr.ipaddr.v6 = vp->vp_ipv6addr; request->packet->dst_ipaddr.prefix = 128; break; @@ -480,13 +480,13 @@ static int radclient_init(TALLOC_CTX *ctx, rc_file_pair_t *files) case PW_PACKET_SRC_IP_ADDRESS: request->packet->src_ipaddr.af = AF_INET; - request->packet->src_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->packet->src_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; request->packet->src_ipaddr.prefix = 32; break; case PW_PACKET_SRC_IPV6_ADDRESS: request->packet->src_ipaddr.af = AF_INET6; - request->packet->src_ipaddr.ipaddr.ip6addr = vp->vp_ipv6addr; + request->packet->src_ipaddr.ipaddr.v6 = vp->vp_ipv6addr; request->packet->src_ipaddr.prefix = 128; break; diff --git a/src/main/radsniff.c b/src/main/radsniff.c index ccf2f2176dd..144f421f382 100644 --- a/src/main/radsniff.c +++ b/src/main/radsniff.c @@ -1313,18 +1313,18 @@ static void rs_packet_process(uint64_t count, rs_event_t *event, struct pcap_pkt */ if (ip) { current->src_ipaddr.af = AF_INET; - current->src_ipaddr.ipaddr.ip4addr.s_addr = ip->ip_src.s_addr; + current->src_ipaddr.ipaddr.v4.s_addr = ip->ip_src.s_addr; current->dst_ipaddr.af = AF_INET; - current->dst_ipaddr.ipaddr.ip4addr.s_addr = ip->ip_dst.s_addr; + current->dst_ipaddr.ipaddr.v4.s_addr = ip->ip_dst.s_addr; } else { current->src_ipaddr.af = AF_INET6; - memcpy(current->src_ipaddr.ipaddr.ip6addr.s6_addr, ip6->ip_src.s6_addr, - sizeof(current->src_ipaddr.ipaddr.ip6addr.s6_addr)); + memcpy(current->src_ipaddr.ipaddr.v6.s6_addr, ip6->ip_src.s6_addr, + sizeof(current->src_ipaddr.ipaddr.v6.s6_addr)); current->dst_ipaddr.af = AF_INET6; - memcpy(current->dst_ipaddr.ipaddr.ip6addr.s6_addr, ip6->ip_dst.s6_addr, - sizeof(current->dst_ipaddr.ipaddr.ip6addr.s6_addr)); + memcpy(current->dst_ipaddr.ipaddr.v6.s6_addr, ip6->ip_dst.s6_addr, + sizeof(current->dst_ipaddr.ipaddr.v6.s6_addr)); } current->src_port = ntohs(udp->src); diff --git a/src/main/realms.c b/src/main/realms.c index ff5d1ab5c3b..44590c2d917 100644 --- a/src/main/realms.c +++ b/src/main/realms.c @@ -2445,13 +2445,13 @@ home_server_t *home_server_ldb(char const *realmname, case HOME_POOL_CLIENT_BALANCE: switch (request->packet->src_ipaddr.af) { case AF_INET: - hash = fr_hash(&request->packet->src_ipaddr.ipaddr.ip4addr, - sizeof(request->packet->src_ipaddr.ipaddr.ip4addr)); + hash = fr_hash(&request->packet->src_ipaddr.ipaddr.v4, + sizeof(request->packet->src_ipaddr.ipaddr.v4)); break; case AF_INET6: - hash = fr_hash(&request->packet->src_ipaddr.ipaddr.ip6addr, - sizeof(request->packet->src_ipaddr.ipaddr.ip6addr)); + hash = fr_hash(&request->packet->src_ipaddr.ipaddr.v6, + sizeof(request->packet->src_ipaddr.ipaddr.v6)); break; default: @@ -2464,13 +2464,13 @@ home_server_t *home_server_ldb(char const *realmname, case HOME_POOL_CLIENT_PORT_BALANCE: switch (request->packet->src_ipaddr.af) { case AF_INET: - hash = fr_hash(&request->packet->src_ipaddr.ipaddr.ip4addr, - sizeof(request->packet->src_ipaddr.ipaddr.ip4addr)); + hash = fr_hash(&request->packet->src_ipaddr.ipaddr.v4, + sizeof(request->packet->src_ipaddr.ipaddr.v4)); break; case AF_INET6: - hash = fr_hash(&request->packet->src_ipaddr.ipaddr.ip6addr, - sizeof(request->packet->src_ipaddr.ipaddr.ip6addr)); + hash = fr_hash(&request->packet->src_ipaddr.ipaddr.v6, + sizeof(request->packet->src_ipaddr.ipaddr.v6)); break; default: diff --git a/src/main/session.c b/src/main/session.c index 2656ae87647..81ece38e2ee 100644 --- a/src/main/session.c +++ b/src/main/session.c @@ -62,7 +62,7 @@ int session_zap(REQUEST *request, uint32_t nasaddr, uint32_t nas_port, #define INTPAIR(n,v) PAIR(n,v,vp_integer) -#define IPPAIR(n,v) PAIR(n,v,vp_ipaddr) +#define IPPAIR(n,v) PAIR(n,v,vp_ipv4addr) #define STRINGPAIR(n,v) do { \ if(!(vp = fr_pair_afrom_num(stopreq->packet,0, n))) { \ @@ -138,7 +138,7 @@ int rad_check_ts(uint32_t nasaddr, uint32_t nas_port, char const *user, fr_ipaddr_t ipaddr; ipaddr.af = AF_INET; - ipaddr.ipaddr.ip4addr.s_addr = nasaddr; + ipaddr.ipaddr.v4.s_addr = nasaddr; /* * Find NAS type. diff --git a/src/main/snmp.c b/src/main/snmp.c index e495fdc19b2..d7e772eaf1d 100644 --- a/src/main/snmp.c +++ b/src/main/snmp.c @@ -209,7 +209,7 @@ static int snmp_client_ipv4addr_get(UNUSED TALLOC_CTX *ctx, value_box_t *out, */ if (client->ipaddr.af != AF_INET) return 0; - out->datum.ipaddr = client->ipaddr.ipaddr.ip4addr; + out->datum.ipaddr = client->ipaddr.ipaddr.v4; out->length = dict_attr_sizes[PW_TYPE_IPV4_ADDR][0]; return 0; diff --git a/src/main/stats.c b/src/main/stats.c index c9c42b08561..9050ade225f 100644 --- a/src/main/stats.c +++ b/src/main/stats.c @@ -513,7 +513,7 @@ void request_stats_reply(REQUEST *request) if (server_port) { ipaddr.af = AF_INET; - ipaddr.ipaddr.ip4addr.s_addr = server_ip->vp_ipaddr; + ipaddr.ipaddr.v4.s_addr = server_ip->vp_ipv4addr; cl = listener_find_client_list(&ipaddr, server_port->vp_integer, IPPROTO_UDP); /* @@ -529,7 +529,7 @@ void request_stats_reply(REQUEST *request) if (vp) { memset(&ipaddr, 0, sizeof(ipaddr)); ipaddr.af = AF_INET; - ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; client = client_find(cl, &ipaddr, IPPROTO_UDP); #ifdef WITH_TCP if (!client) { @@ -562,7 +562,7 @@ void request_stats_reply(REQUEST *request) &request->reply->vps, PW_FREERADIUS_STATS_CLIENT_IP_ADDRESS, VENDORPEC_FREERADIUS); if (vp) { - vp->vp_ipaddr = client->ipaddr.ipaddr.ip4addr.s_addr; + vp->vp_ipv4addr = client->ipaddr.ipaddr.v4.s_addr; } if (client->ipaddr.prefix != 32) { @@ -619,7 +619,7 @@ void request_stats_reply(REQUEST *request) if (!server_port) return; ipaddr.af = AF_INET; - ipaddr.ipaddr.ip4addr.s_addr = server_ip->vp_ipaddr; + ipaddr.ipaddr.v4.s_addr = server_ip->vp_ipv4addr; this = listener_find_byipaddr(&ipaddr, server_port->vp_integer, IPPROTO_UDP); @@ -675,7 +675,7 @@ void request_stats_reply(REQUEST *request) memset(&ipaddr, 0, sizeof(ipaddr)); #endif ipaddr.af = AF_INET; - ipaddr.ipaddr.ip4addr.s_addr = server_ip->vp_ipaddr; + ipaddr.ipaddr.v4.s_addr = server_ip->vp_ipv4addr; home = home_server_find(&ipaddr, server_port->vp_integer, IPPROTO_UDP); diff --git a/src/main/unit_test_module.c b/src/main/unit_test_module.c index 286cf019906..ea1c153a1bf 100644 --- a/src/main/unit_test_module.c +++ b/src/main/unit_test_module.c @@ -188,11 +188,11 @@ static REQUEST *request_from_file(FILE *fp, RADCLIENT *client) request->packet->code = PW_CODE_ACCESS_REQUEST; request->packet->src_ipaddr.af = AF_INET; - request->packet->src_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_LOOPBACK); + request->packet->src_ipaddr.ipaddr.v4.s_addr = htonl(INADDR_LOOPBACK); request->packet->src_port = 18120; request->packet->dst_ipaddr.af = AF_INET; - request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_LOOPBACK); + request->packet->dst_ipaddr.ipaddr.v4.s_addr = htonl(INADDR_LOOPBACK); request->packet->dst_port = 1812; /* @@ -233,13 +233,13 @@ static REQUEST *request_from_file(FILE *fp, RADCLIENT *client) case PW_PACKET_DST_IP_ADDRESS: request->packet->dst_ipaddr.af = AF_INET; - request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->packet->dst_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; request->packet->dst_ipaddr.prefix = 32; break; case PW_PACKET_DST_IPV6_ADDRESS: request->packet->dst_ipaddr.af = AF_INET6; - request->packet->dst_ipaddr.ipaddr.ip6addr = vp->vp_ipv6addr; + request->packet->dst_ipaddr.ipaddr.v6 = vp->vp_ipv6addr; request->packet->dst_ipaddr.prefix = 128; break; @@ -249,13 +249,13 @@ static REQUEST *request_from_file(FILE *fp, RADCLIENT *client) case PW_PACKET_SRC_IP_ADDRESS: request->packet->src_ipaddr.af = AF_INET; - request->packet->src_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->packet->src_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; request->packet->src_ipaddr.prefix = 32; break; case PW_PACKET_SRC_IPV6_ADDRESS: request->packet->src_ipaddr.af = AF_INET6; - request->packet->src_ipaddr.ipaddr.ip6addr = vp->vp_ipv6addr; + request->packet->src_ipaddr.ipaddr.v6 = vp->vp_ipv6addr; request->packet->src_ipaddr.prefix = 128; break; @@ -374,11 +374,11 @@ static REQUEST *request_from_file(FILE *fp, RADCLIENT *client) request->packet->code = PW_CODE_ACCESS_REQUEST; request->packet->src_ipaddr.af = AF_INET; - request->packet->src_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_LOOPBACK); + request->packet->src_ipaddr.ipaddr.v4.s_addr = htonl(INADDR_LOOPBACK); request->packet->src_port = 18120; request->packet->dst_ipaddr.af = AF_INET; - request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_LOOPBACK); + request->packet->dst_ipaddr.ipaddr.v4.s_addr = htonl(INADDR_LOOPBACK); request->packet->dst_port = 1812; /* diff --git a/src/main/xlat_eval.c b/src/main/xlat_eval.c index 5870b8e368b..1d237bec42d 100644 --- a/src/main/xlat_eval.c +++ b/src/main/xlat_eval.c @@ -180,7 +180,7 @@ static char *xlat_getvp(TALLOC_CTX *ctx, REQUEST *request, vp_tmpl_t const *vpt, case PW_PACKET_SRC_IP_ADDRESS: if (packet->src_ipaddr.af == AF_INET) { virtual = fr_pair_afrom_da(ctx, vpt->tmpl_da); - virtual->vp_ipaddr = packet->src_ipaddr.ipaddr.ip4addr.s_addr; + virtual->vp_ipv4addr = packet->src_ipaddr.ipaddr.v4.s_addr; vp = virtual; } break; @@ -188,7 +188,7 @@ static char *xlat_getvp(TALLOC_CTX *ctx, REQUEST *request, vp_tmpl_t const *vpt, case PW_PACKET_DST_IP_ADDRESS: if (packet->dst_ipaddr.af == AF_INET) { virtual = fr_pair_afrom_da(ctx, vpt->tmpl_da); - virtual->vp_ipaddr = packet->dst_ipaddr.ipaddr.ip4addr.s_addr; + virtual->vp_ipv4addr = packet->dst_ipaddr.ipaddr.v4.s_addr; vp = virtual; } break; @@ -197,8 +197,8 @@ static char *xlat_getvp(TALLOC_CTX *ctx, REQUEST *request, vp_tmpl_t const *vpt, if (packet->src_ipaddr.af == AF_INET6) { virtual = fr_pair_afrom_da(ctx, vpt->tmpl_da); memcpy(&virtual->vp_ipv6addr, - &packet->src_ipaddr.ipaddr.ip6addr, - sizeof(packet->src_ipaddr.ipaddr.ip6addr)); + &packet->src_ipaddr.ipaddr.v6, + sizeof(packet->src_ipaddr.ipaddr.v6)); vp = virtual; } break; @@ -207,8 +207,8 @@ static char *xlat_getvp(TALLOC_CTX *ctx, REQUEST *request, vp_tmpl_t const *vpt, if (packet->dst_ipaddr.af == AF_INET6) { virtual = fr_pair_afrom_da(ctx, vpt->tmpl_da); memcpy(&virtual->vp_ipv6addr, - &packet->dst_ipaddr.ipaddr.ip6addr, - sizeof(packet->dst_ipaddr.ipaddr.ip6addr)); + &packet->dst_ipaddr.ipaddr.v6, + sizeof(packet->dst_ipaddr.ipaddr.v6)); vp = virtual; } break; diff --git a/src/main/xlat_func.c b/src/main/xlat_func.c index 6a36b1c9ce7..75d2a1cbd68 100644 --- a/src/main/xlat_func.c +++ b/src/main/xlat_func.c @@ -119,7 +119,7 @@ static ssize_t xlat_integer(UNUSED TALLOC_CTX *ctx, char **out, size_t outlen, * is bigendian and will convert it for us. */ case PW_TYPE_IPV4_ADDR: - return snprintf(*out, outlen, "%u", htonl(vp->vp_ipaddr)); + return snprintf(*out, outlen, "%u", htonl(vp->vp_ipv4addr)); case PW_TYPE_IPV4_PREFIX: return snprintf(*out, outlen, "%u", htonl((*(uint32_t *)(vp->vp_ipv4prefix + 2)))); diff --git a/src/modules/proto_arp/proto_arp.c b/src/modules/proto_arp/proto_arp.c index 8c0ac6da71d..f6e42f8ce27 100644 --- a/src/modules/proto_arp/proto_arp.c +++ b/src/modules/proto_arp/proto_arp.c @@ -252,7 +252,7 @@ static int arp_socket_parse(CONF_SECTION *cs, rad_listen_t *this) client = &sock->client; memset(client, 0, sizeof(*client)); client->ipaddr.af = AF_INET; - client->ipaddr.ipaddr.ip4addr.s_addr = INADDR_NONE; + client->ipaddr.ipaddr.v4.s_addr = INADDR_NONE; client->ipaddr.prefix = 0; client->longname = client->shortname = sock->lsock.interface; client->secret = client->shortname; diff --git a/src/modules/proto_bfd/proto_bfd.c b/src/modules/proto_bfd/proto_bfd.c index a21122d1116..c67e0fa59af 100644 --- a/src/modules/proto_bfd/proto_bfd.c +++ b/src/modules/proto_bfd/proto_bfd.c @@ -1543,7 +1543,7 @@ static int bfd_parse_ip_port(CONF_SECTION *cs, fr_ipaddr_t *ipaddr, uint16_t *po * Try IPv4 first */ memset(ipaddr, 0, sizeof(*ipaddr)); - ipaddr->ipaddr.ip4addr.s_addr = htonl(INADDR_NONE); + ipaddr->ipaddr.v4.s_addr = htonl(INADDR_NONE); rcode = cf_pair_parse(NULL, cs, "ipaddr", FR_ITEM_POINTER(PW_TYPE_IPV4_ADDR, ipaddr), NULL, T_INVALID); if (rcode < 0) return -1; @@ -1784,7 +1784,7 @@ static int bfd_socket_print(const rad_listen_t *this, char *buffer, size_t bufsi FORWARD; if ((sock->my_ipaddr.af == AF_INET) && - (sock->my_ipaddr.ipaddr.ip4addr.s_addr == htonl(INADDR_ANY))) { + (sock->my_ipaddr.ipaddr.v4.s_addr == htonl(INADDR_ANY))) { strlcpy(buffer, "*", bufsize); } else { fr_inet_ntoh(&sock->my_ipaddr, buffer, bufsize); diff --git a/src/modules/proto_detail/proto_detail.c b/src/modules/proto_detail/proto_detail.c index 773dab4938d..22b4704dcb4 100644 --- a/src/modules/proto_detail/proto_detail.c +++ b/src/modules/proto_detail/proto_detail.c @@ -743,7 +743,7 @@ open_file: memset(packet, 0, sizeof(*packet)); packet->sockfd = -1; packet->src_ipaddr.af = AF_INET; - packet->src_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_NONE); + packet->src_ipaddr.ipaddr.v4.s_addr = htonl(INADDR_NONE); /* * If everything's OK, this is a waste of memory. @@ -769,13 +769,13 @@ open_file: vp = fr_pair_find_by_num(packet->vps, 0, PW_PACKET_SRC_IP_ADDRESS, TAG_ANY); if (vp) { packet->src_ipaddr.af = AF_INET; - packet->src_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + packet->src_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; packet->src_ipaddr.prefix = 32; } else { vp = fr_pair_find_by_num(packet->vps, 0, PW_PACKET_SRC_IPV6_ADDRESS, TAG_ANY); if (vp) { packet->src_ipaddr.af = AF_INET6; - memcpy(&packet->src_ipaddr.ipaddr.ip6addr, + memcpy(&packet->src_ipaddr.ipaddr.v6, &vp->vp_ipv6addr, sizeof(vp->vp_ipv6addr)); packet->src_ipaddr.prefix = 128; } @@ -784,13 +784,13 @@ open_file: vp = fr_pair_find_by_num(packet->vps, 0, PW_PACKET_DST_IP_ADDRESS, TAG_ANY); if (vp) { packet->dst_ipaddr.af = AF_INET; - packet->dst_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + packet->dst_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; packet->dst_ipaddr.prefix = 32; } else { vp = fr_pair_find_by_num(packet->vps, 0, PW_PACKET_DST_IPV6_ADDRESS, TAG_ANY); if (vp) { packet->dst_ipaddr.af = AF_INET6; - memcpy(&packet->dst_ipaddr.ipaddr.ip6addr, + memcpy(&packet->dst_ipaddr.ipaddr.v6, &vp->vp_ipv6addr, sizeof(vp->vp_ipv6addr)); packet->dst_ipaddr.prefix = 128; } @@ -804,7 +804,7 @@ open_file: packet->dst_port = 1024 + ((data->counter >> 16) & 0xff); packet->dst_ipaddr.af = AF_INET; - packet->dst_ipaddr.ipaddr.ip4addr.s_addr = htonl((INADDR_LOOPBACK & ~0xffffff) | ((data->counter >> 24) & 0xff)); + packet->dst_ipaddr.ipaddr.v4.s_addr = htonl((INADDR_LOOPBACK & ~0xffffff) | ((data->counter >> 24) & 0xff)); /* * Create / update accounting attributes. @@ -1122,7 +1122,7 @@ static int detail_parse(CONF_SECTION *cs, rad_listen_t *this) client = &data->detail_client; memset(client, 0, sizeof(*client)); client->ipaddr.af = AF_INET; - client->ipaddr.ipaddr.ip4addr.s_addr = INADDR_NONE; + client->ipaddr.ipaddr.v4.s_addr = INADDR_NONE; client->ipaddr.prefix = 0; client->longname = client->shortname = data->filename; client->secret = client->shortname; diff --git a/src/modules/proto_dhcp/dhcp.c b/src/modules/proto_dhcp/dhcp.c index 5b3bfc078b7..69d1ff6870c 100644 --- a/src/modules/proto_dhcp/dhcp.c +++ b/src/modules/proto_dhcp/dhcp.c @@ -535,11 +535,11 @@ RADIUS_PACKET *fr_dhcp_recv_pcap(fr_pcap_t *pcap) src_port = ntohs(udp->src); src_ipaddr.af = AF_INET; - src_ipaddr.ipaddr.ip4addr = ip->ip_src; + src_ipaddr.ipaddr.v4 = ip->ip_src; src_ipaddr.prefix = 32; src_ipaddr.zone_id = 0; dst_ipaddr.af = AF_INET; - dst_ipaddr.ipaddr.ip4addr = ip->ip_dst; + dst_ipaddr.ipaddr.v4 = ip->ip_dst; dst_ipaddr.prefix = 32; dst_ipaddr.zone_id = 0; @@ -637,8 +637,8 @@ int fr_dhcp_send_pcap(fr_pcap_t *pcap, uint8_t *dst_ether_addr, RADIUS_PACKET *p ip_hdr->ip_p = 17; ip_hdr->ip_sum = 0; /* Filled later */ - ip_hdr->ip_src.s_addr = packet->src_ipaddr.ipaddr.ip4addr.s_addr; - ip_hdr->ip_dst.s_addr = packet->dst_ipaddr.ipaddr.ip4addr.s_addr; + ip_hdr->ip_src.s_addr = packet->src_ipaddr.ipaddr.v4.s_addr; + ip_hdr->ip_dst.s_addr = packet->dst_ipaddr.ipaddr.v4.s_addr; /* IP header checksum */ ip_hdr->ip_sum = fr_ip_header_checksum((uint8_t const *)ip_hdr, 5); @@ -661,8 +661,8 @@ int fr_dhcp_send_pcap(fr_pcap_t *pcap, uint8_t *dst_ether_addr, RADIUS_PACKET *p /* UDP checksum is done here */ udp_hdr->checksum = fr_udp_checksum((uint8_t const *)udp_hdr, ntohs(udp_hdr->len), udp_hdr->checksum, - packet->src_ipaddr.ipaddr.ip4addr, - packet->dst_ipaddr.ipaddr.ip4addr); + packet->src_ipaddr.ipaddr.v4, + packet->dst_ipaddr.ipaddr.v4); ret = pcap_inject(pcap->handle, dhcp_packet, (end - dhcp_packet + packet->data_len)); if (ret < 0) { @@ -772,7 +772,7 @@ static ssize_t decode_value_internal(TALLOC_CTX *ctx, vp_cursor_t *cursor, fr_di /* * Keep value in Network Order! */ - memcpy(&vp->vp_ipaddr, p, 4); + memcpy(&vp->vp_ipv4addr, p, 4); vp->vp_length = 4; p += 4; break; @@ -782,7 +782,7 @@ static ssize_t decode_value_internal(TALLOC_CTX *ctx, vp_cursor_t *cursor, fr_di /* * Keep value in Network Order! */ - memcpy(&vp->vp_ipaddr, p, 16); + memcpy(&vp->vp_ipv4addr, p, 16); vp->vp_length = 16; p += 16; break; @@ -1181,7 +1181,7 @@ int fr_dhcp_decode(RADIUS_PACKET *packet) break; case PW_TYPE_IPV4_ADDR: - memcpy(&vp->vp_ipaddr, p, 4); + memcpy(&vp->vp_ipv4addr, p, 4); vp->vp_length = 4; break; @@ -1401,7 +1401,7 @@ static ssize_t encode_value(uint8_t *out, size_t outlen, break; case PW_TYPE_IPV4_ADDR: - memcpy(p, &vp->vp_ipaddr, 4); + memcpy(p, &vp->vp_ipv4addr, 4); p += 4; break; @@ -1747,13 +1747,13 @@ int fr_dhcp_encode(RADIUS_PACKET *packet) /* DHCP-Client-IP-Address */ if ((vp = fr_pair_find_by_num(packet->vps, DHCP_MAGIC_VENDOR, 263, TAG_ANY))) { - memcpy(p, &vp->vp_ipaddr, 4); + memcpy(p, &vp->vp_ipv4addr, 4); } p += 4; /* DHCP-Your-IP-address */ if ((vp = fr_pair_find_by_num(packet->vps, DHCP_MAGIC_VENDOR, 264, TAG_ANY))) { - lvalue = vp->vp_ipaddr; + lvalue = vp->vp_ipv4addr; } else { lvalue = htonl(INADDR_ANY); } @@ -1763,7 +1763,7 @@ int fr_dhcp_encode(RADIUS_PACKET *packet) /* DHCP-Server-IP-Address */ vp = fr_pair_find_by_num(packet->vps, DHCP_MAGIC_VENDOR, 265, TAG_ANY); if (vp) { - lvalue = vp->vp_ipaddr; + lvalue = vp->vp_ipv4addr; } else { lvalue = htonl(INADDR_ANY); } @@ -1774,7 +1774,7 @@ int fr_dhcp_encode(RADIUS_PACKET *packet) * DHCP-Gateway-IP-Address */ if ((vp = fr_pair_find_by_num(packet->vps, DHCP_MAGIC_VENDOR, 266, TAG_ANY))) { - lvalue = vp->vp_ipaddr; + lvalue = vp->vp_ipv4addr; } else { lvalue = htonl(INADDR_ANY); } @@ -1918,7 +1918,7 @@ int fr_dhcp_add_arp_entry(int fd, char const *interface, memset(&req, 0, sizeof(req)); sin = (struct sockaddr_in *) &req.arp_pa; sin->sin_family = AF_INET; - sin->sin_addr.s_addr = ip->vp_ipaddr; + sin->sin_addr.s_addr = ip->vp_ipv4addr; strlcpy(req.arp_dev, interface, sizeof(req.arp_dev)); @@ -2020,10 +2020,10 @@ int fr_dhcp_send_raw_packet(int sockfd, struct sockaddr_ll *link_layer, RADIUS_P ip_hdr->ip_sum = 0; /* Filled later */ /* saddr: Packet-Src-IP-Address (default: 0.0.0.0). */ - ip_hdr->ip_src.s_addr = packet->src_ipaddr.ipaddr.ip4addr.s_addr; + ip_hdr->ip_src.s_addr = packet->src_ipaddr.ipaddr.v4.s_addr; /* daddr: packet destination IP addr (should be 255.255.255.255 for broadcast). */ - ip_hdr->ip_dst.s_addr = packet->dst_ipaddr.ipaddr.ip4addr.s_addr; + ip_hdr->ip_dst.s_addr = packet->dst_ipaddr.ipaddr.v4.s_addr; /* IP header checksum */ ip_hdr->ip_sum = fr_ip_header_checksum((uint8_t const *)ip_hdr, 5); @@ -2042,7 +2042,7 @@ int fr_dhcp_send_raw_packet(int sockfd, struct sockaddr_ll *link_layer, RADIUS_P /* UDP checksum is done here */ udp_hdr->checksum = fr_udp_checksum((uint8_t const *)(dhcp_packet + ETH_HDR_SIZE + IP_HDR_SIZE), ntohs(udp_hdr->len), udp_hdr->checksum, - packet->src_ipaddr.ipaddr.ip4addr, packet->dst_ipaddr.ipaddr.ip4addr); + packet->src_ipaddr.ipaddr.v4, packet->dst_ipaddr.ipaddr.v4); return sendto(sockfd, dhcp_packet, (ETH_HDR_SIZE + IP_HDR_SIZE + UDP_HDR_SIZE + packet->data_len), 0, (struct sockaddr *) link_layer, sizeof(struct sockaddr_ll)); @@ -2223,9 +2223,9 @@ RADIUS_PACKET *fr_dhcp_recv_raw_packet(int sockfd, struct sockaddr_ll *link_laye packet->dst_port = udp_dst_port; packet->src_ipaddr.af = AF_INET; - packet->src_ipaddr.ipaddr.ip4addr.s_addr = ip_hdr->ip_src.s_addr; + packet->src_ipaddr.ipaddr.v4.s_addr = ip_hdr->ip_src.s_addr; packet->dst_ipaddr.af = AF_INET; - packet->dst_ipaddr.ipaddr.ip4addr.s_addr = ip_hdr->ip_dst.s_addr; + packet->dst_ipaddr.ipaddr.v4.s_addr = ip_hdr->ip_dst.s_addr; return packet; } diff --git a/src/modules/proto_dhcp/dhcpclient.c b/src/modules/proto_dhcp/dhcpclient.c index f26f93a36d8..553050977c4 100644 --- a/src/modules/proto_dhcp/dhcpclient.c +++ b/src/modules/proto_dhcp/dhcpclient.c @@ -175,13 +175,13 @@ static RADIUS_PACKET *request_init(char const *filename) case PW_PACKET_DST_IP_ADDRESS: request->dst_ipaddr.af = AF_INET; - request->dst_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->dst_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; request->dst_ipaddr.prefix = 32; break; case PW_PACKET_DST_IPV6_ADDRESS: request->dst_ipaddr.af = AF_INET6; - request->dst_ipaddr.ipaddr.ip6addr = vp->vp_ipv6addr; + request->dst_ipaddr.ipaddr.v6 = vp->vp_ipv6addr; request->dst_ipaddr.prefix = 128; break; @@ -191,13 +191,13 @@ static RADIUS_PACKET *request_init(char const *filename) case PW_PACKET_SRC_IP_ADDRESS: request->src_ipaddr.af = AF_INET; - request->src_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->src_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; request->src_ipaddr.prefix = 32; break; case PW_PACKET_SRC_IPV6_ADDRESS: request->src_ipaddr.af = AF_INET6; - request->src_ipaddr.ipaddr.ip6addr = vp->vp_ipv6addr; + request->src_ipaddr.ipaddr.v6 = vp->vp_ipv6addr; request->src_ipaddr.prefix = 128; break; @@ -358,8 +358,8 @@ static RADIUS_PACKET *fr_dhcp_recv_raw_loop(int lsockfd, if (vp1 && vp2) { nb_offer ++; offer_list = talloc_realloc(request_p, offer_list, dc_offer_t, nb_offer); - offer_list[nb_offer - 1].server_addr = vp1->vp_ipaddr; - offer_list[nb_offer - 1].offered_addr = vp2->vp_ipaddr; + offer_list[nb_offer - 1].server_addr = vp1->vp_ipv4addr; + offer_list[nb_offer - 1].offered_addr = vp2->vp_ipv4addr; } } } @@ -709,7 +709,7 @@ int main(int argc, char **argv) exit(1); } - if (server_ipaddr.ipaddr.ip4addr.s_addr == 0xFFFFFFFF) { + if (server_ipaddr.ipaddr.v4.s_addr == 0xFFFFFFFF) { ERROR("Using interface: %s (index: %d) in raw packet mode", iface, iface_ind); raw_mode = true; } diff --git a/src/modules/proto_dhcp/proto_dhcp.c b/src/modules/proto_dhcp/proto_dhcp.c index 3049ac21ecc..3d87d12d6c0 100644 --- a/src/modules/proto_dhcp/proto_dhcp.c +++ b/src/modules/proto_dhcp/proto_dhcp.c @@ -91,7 +91,7 @@ static int dhcprelay_process_client_request(REQUEST *request) * It's invalid to have giaddr=0 AND a relay option */ giaddr = fr_pair_find_by_num(request->packet->vps, DHCP_MAGIC_VENDOR, 266, TAG_ANY); /* DHCP-Gateway-IP-Address */ - if (giaddr && (giaddr->vp_ipaddr == htonl(INADDR_ANY)) && + if (giaddr && (giaddr->vp_ipv4addr == htonl(INADDR_ANY)) && fr_pair_find_by_num(request->packet->vps, DHCP_MAGIC_VENDOR, 82, TAG_ANY)) { /* DHCP-Relay-Agent-Information */ RDEBUG2("Received packet with giaddr = 0 and containing relay option: Discarding packet"); return 1; @@ -123,7 +123,7 @@ static int dhcprelay_process_client_request(REQUEST *request) */ /* set SRC ipaddr/port to the listener ipaddr/port */ request->packet->src_ipaddr.af = AF_INET; - request->packet->src_ipaddr.ipaddr.ip4addr.s_addr = sock->lsock.my_ipaddr.ipaddr.ip4addr.s_addr; + request->packet->src_ipaddr.ipaddr.v4.s_addr = sock->lsock.my_ipaddr.ipaddr.v4.s_addr; request->packet->src_port = sock->lsock.my_port; vp = fr_pair_find_by_num(request->control, DHCP_MAGIC_VENDOR, 270, TAG_ANY); /* DHCP-Relay-To-IP-Address */ @@ -131,7 +131,7 @@ static int dhcprelay_process_client_request(REQUEST *request) /* set DEST ipaddr/port to the next server ipaddr/port */ request->packet->dst_ipaddr.af = AF_INET; - request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->packet->dst_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; request->packet->dst_port = sock->lsock.my_port; /* @@ -173,9 +173,9 @@ static int dhcprelay_process_server_reply(REQUEST *request) giaddr = fr_pair_find_by_num(request->packet->vps, DHCP_MAGIC_VENDOR, 266, TAG_ANY); /* DHCP-Gateway-IP-Address */ /* --with-udpfromto is needed just for the following test */ - if (!giaddr || giaddr->vp_ipaddr != request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr) { + if (!giaddr || giaddr->vp_ipv4addr != request->packet->dst_ipaddr.ipaddr.v4.s_addr) { RDEBUG2("Packet received from server was not for us (was for 0x%x). Discarding packet", - ntohl(request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr)); + ntohl(request->packet->dst_ipaddr.ipaddr.v4.s_addr)); return 1; } @@ -189,7 +189,7 @@ static int dhcprelay_process_server_reply(REQUEST *request) /* * We're a relay, and send the reply to giaddr. */ - request->reply->dst_ipaddr.ipaddr.ip4addr.s_addr = giaddr->vp_ipaddr; + request->reply->dst_ipaddr.ipaddr.v4.s_addr = giaddr->vp_ipv4addr; request->reply->dst_port = request->packet->dst_port; /* server port */ if ((request->packet->code == PW_DHCP_NAK) || @@ -197,7 +197,7 @@ static int dhcprelay_process_server_reply(REQUEST *request) ((vp = fr_pair_find_by_num(request->packet->vps, DHCP_MAGIC_VENDOR, 262, TAG_ANY)) /* DHCP-Flags */ && (vp->vp_integer & 0x8000) && ((vp = fr_pair_find_by_num(request->packet->vps, DHCP_MAGIC_VENDOR, 263, TAG_ANY)) /* DHCP-Client-IP-Address */ && - (vp->vp_ipaddr == htonl(INADDR_ANY))))) { + (vp->vp_ipv4addr == htonl(INADDR_ANY))))) { /* * RFC 2131, page 23 * @@ -207,7 +207,7 @@ static int dhcprelay_process_server_reply(REQUEST *request) * - Broadcast flag is set up and ciaddr == NULL */ RDEBUG2("Response will be broadcast"); - request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_BROADCAST); + request->packet->dst_ipaddr.ipaddr.v4.s_addr = htonl(INADDR_BROADCAST); } else { /* * RFC 2131, page 23 @@ -217,8 +217,8 @@ static int dhcprelay_process_server_reply(REQUEST *request) * otherwise to yiaddr */ if ((vp = fr_pair_find_by_num(request->packet->vps, DHCP_MAGIC_VENDOR, 263, TAG_ANY)) /* DHCP-Client-IP-Address */ && - (vp->vp_ipaddr != htonl(INADDR_ANY))) { - request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + (vp->vp_ipv4addr != htonl(INADDR_ANY))) { + request->packet->dst_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; } else { vp = fr_pair_find_by_num(request->packet->vps, DHCP_MAGIC_VENDOR, 264, TAG_ANY); /* DHCP-Your-IP-Address */ if (!vp) { @@ -227,7 +227,7 @@ static int dhcprelay_process_server_reply(REQUEST *request) } RDEBUG2("Response will be unicast to &DHCP-Your-IP-Address"); - request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->packet->dst_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; /* * When sending a DHCP_OFFER, make sure our ARP table @@ -304,13 +304,13 @@ static rlm_rcode_t dhcp_process(REQUEST *request) * to send the reply. */ vp = fr_pair_find_by_num(request->packet->vps, DHCP_MAGIC_VENDOR, 266, TAG_ANY); /* DHCP-Gateway-IP-Address */ - if (vp && (vp->vp_ipaddr != htonl(INADDR_ANY))) { + if (vp && (vp->vp_ipv4addr != htonl(INADDR_ANY))) { VALUE_PAIR *relay; /* DHCP-Relay-IP-Address */ relay = radius_pair_create(request->reply, &request->reply->vps, 272, DHCP_MAGIC_VENDOR); - if (relay) relay->vp_ipaddr = vp->vp_ipaddr; + if (relay) relay->vp_ipv4addr = vp->vp_ipv4addr; } vp = fr_pair_find_by_num(request->packet->vps, DHCP_MAGIC_VENDOR, 53, TAG_ANY); /* DHCP-Message-Type */ @@ -482,21 +482,21 @@ static rlm_rcode_t dhcp_process(REQUEST *request) vp = fr_pair_find_by_num(request->reply->vps, 0, PW_PACKET_SRC_IP_ADDRESS, TAG_ANY); if (vp) { request->reply->if_index = 0; /* Must be 0, we don't know the outbound if_index */ - request->reply->src_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->reply->src_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; /* * The request was unicast (via a relay) */ - } else if (request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr != htonl(INADDR_BROADCAST) && - request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr != htonl(INADDR_ANY)) { - request->reply->src_ipaddr.ipaddr.ip4addr.s_addr = request->packet->dst_ipaddr.ipaddr.ip4addr.s_addr; + } else if (request->packet->dst_ipaddr.ipaddr.v4.s_addr != htonl(INADDR_BROADCAST) && + request->packet->dst_ipaddr.ipaddr.v4.s_addr != htonl(INADDR_ANY)) { + request->reply->src_ipaddr.ipaddr.v4.s_addr = request->packet->dst_ipaddr.ipaddr.v4.s_addr; request->reply->if_index = request->packet->if_index; /* * The listener was bound to an IP address, or we determined * the address automatically, as it was the only address bound * to the interface, and we bound to the interface. */ - } else if (sock->src_ipaddr.ipaddr.ip4addr.s_addr != htonl(INADDR_ANY)) { - request->reply->src_ipaddr.ipaddr.ip4addr.s_addr = sock->src_ipaddr.ipaddr.ip4addr.s_addr; + } else if (sock->src_ipaddr.ipaddr.v4.s_addr != htonl(INADDR_ANY)) { + request->reply->src_ipaddr.ipaddr.v4.s_addr = sock->src_ipaddr.ipaddr.v4.s_addr; #ifdef WITH_IFINDEX_IPADDR_RESOLUTION /* * We built with udpfromto and have the if_index of the receiving @@ -510,13 +510,13 @@ static rlm_rcode_t dhcp_process(REQUEST *request) RPEDEBUG("Failed determining src_ipaddr from if_index"); return RLM_MODULE_FAIL; } - request->reply->src_ipaddr.ipaddr.ip4addr.s_addr = primary.ipaddr.ip4addr.s_addr; + request->reply->src_ipaddr.ipaddr.v4.s_addr = primary.ipaddr.v4.s_addr; #endif /* * There's a Server-Identification attribute */ } else if ((vp = fr_pair_find_by_num(request->reply->vps, DHCP_MAGIC_VENDOR, 54, TAG_ANY))) { - request->reply->src_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->reply->src_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; } else { REDEBUG("Unable to determine correct src_ipaddr for response"); return RLM_MODULE_FAIL; @@ -532,9 +532,9 @@ static rlm_rcode_t dhcp_process(REQUEST *request) * public IP, but the gateway a private one. */ vp = fr_pair_find_by_num(request->reply->vps, DHCP_MAGIC_VENDOR, 272, TAG_ANY); /* DHCP-Relay-IP-Address */ - if (vp && (vp->vp_ipaddr != ntohl(INADDR_ANY))) { + if (vp && (vp->vp_ipv4addr != ntohl(INADDR_ANY))) { RDEBUG2("Reply will be unicast to giaddr from original packet"); - request->reply->dst_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->reply->dst_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; request->reply->dst_port = request->packet->dst_port; vp = fr_pair_find_by_num(request->reply->vps, 0, PW_PACKET_DST_PORT, TAG_ANY); @@ -553,9 +553,9 @@ static rlm_rcode_t dhcp_process(REQUEST *request) * not the client port. */ vp = fr_pair_find_by_num(request->reply->vps, DHCP_MAGIC_VENDOR, 266, TAG_ANY); /* DHCP-Gateway-IP-Address */ - if (vp && (vp->vp_ipaddr != htonl(INADDR_ANY))) { + if (vp && (vp->vp_ipv4addr != htonl(INADDR_ANY))) { RDEBUG2("Reply will be unicast to giaddr"); - request->reply->dst_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->reply->dst_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; request->reply->dst_port = request->packet->dst_port; return RLM_MODULE_OK; } @@ -568,7 +568,7 @@ static rlm_rcode_t dhcp_process(REQUEST *request) ((vp = fr_pair_find_by_num(request->reply->vps, DHCP_MAGIC_VENDOR, 262, TAG_ANY)) && /* DHCP-Flags */ (vp->vp_integer & 0x8000) && ((vp = fr_pair_find_by_num(request->reply->vps, DHCP_MAGIC_VENDOR, 263, TAG_ANY)) && /* DHCP-Client-IP-Address */ - (vp->vp_ipaddr == htonl(INADDR_ANY))))) { + (vp->vp_ipv4addr == htonl(INADDR_ANY))))) { /* * RFC 2131, page 23 * @@ -578,7 +578,7 @@ static rlm_rcode_t dhcp_process(REQUEST *request) * - Broadcast flag is set up and ciaddr == NULL */ RDEBUG2("Reply will be broadcast"); - request->reply->dst_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_BROADCAST); + request->reply->dst_ipaddr.ipaddr.v4.s_addr = htonl(INADDR_BROADCAST); return RLM_MODULE_OK; } @@ -588,9 +588,9 @@ static rlm_rcode_t dhcp_process(REQUEST *request) * Unicast to ciaddr if present, otherwise to yiaddr. */ if ((vp = fr_pair_find_by_num(request->reply->vps, DHCP_MAGIC_VENDOR, 263, TAG_ANY)) && /* DHCP-Client-IP-Address */ - (vp->vp_ipaddr != htonl(INADDR_ANY))) { + (vp->vp_ipv4addr != htonl(INADDR_ANY))) { RDEBUG2("Reply will be sent unicast to &DHCP-Client-IP-Address"); - request->reply->dst_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->reply->dst_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; return RLM_MODULE_OK; } @@ -619,12 +619,12 @@ static rlm_rcode_t dhcp_process(REQUEST *request) if (sock->lsock.broadcast && !sock->src_interface) { WARN("You MUST set \"interface\" if you have \"broadcast = yes\""); RDEBUG2("Reply will be broadcast as no interface was defined"); - request->reply->dst_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_BROADCAST); + request->reply->dst_ipaddr.ipaddr.v4.s_addr = htonl(INADDR_BROADCAST); return RLM_MODULE_OK; } RDEBUG2("Reply will be unicast to &DHCP-Your-IP-Address"); - request->reply->dst_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + request->reply->dst_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; /* * When sending a DHCP_OFFER, make sure our ARP table @@ -646,12 +646,12 @@ static rlm_rcode_t dhcp_process(REQUEST *request) } } #else - if (request->packet->src_ipaddr.ipaddr.ip4addr.s_addr != ntohl(INADDR_NONE)) { + if (request->packet->src_ipaddr.ipaddr.v4.s_addr != ntohl(INADDR_NONE)) { RDEBUG2("Reply will be unicast to the unicast source IP address"); - request->reply->dst_ipaddr.ipaddr.ip4addr.s_addr = request->packet->src_ipaddr.ipaddr.ip4addr.s_addr; + request->reply->dst_ipaddr.ipaddr.v4.s_addr = request->packet->src_ipaddr.ipaddr.v4.s_addr; } else { RDEBUG2("Reply will be broadcast as this system does not support ARP updates"); - request->reply->dst_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_BROADCAST); + request->reply->dst_ipaddr.ipaddr.v4.s_addr = htonl(INADDR_BROADCAST); } #endif @@ -759,7 +759,7 @@ static int dhcp_socket_parse(CONF_SECTION *cs, rad_listen_t *this) cp = cf_pair_find(cs, "src_ipaddr"); if (cp) { memset(&sock->src_ipaddr, 0, sizeof(sock->src_ipaddr)); - sock->src_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_NONE); + sock->src_ipaddr.ipaddr.v4.s_addr = htonl(INADDR_NONE); rcode = cf_pair_parse(sock, cs, "src_ipaddr", FR_ITEM_POINTER(PW_TYPE_IPV4_ADDR, &sock->src_ipaddr), NULL, T_INVALID); if (rcode < 0) return -1; @@ -779,7 +779,7 @@ static int dhcp_socket_parse(CONF_SECTION *cs, rad_listen_t *this) WARN("Will continue, but source address must be set within the DHCP virtual server"); goto src_addr_is_bound_addr; } - inet_ntop(sock->src_ipaddr.af, &sock->src_ipaddr.ipaddr.ip4addr.s_addr, buffer, sizeof(buffer)); + inet_ntop(sock->src_ipaddr.af, &sock->src_ipaddr.ipaddr.v4.s_addr, buffer, sizeof(buffer)); rad_assert(sock->src_ipaddr.af == AF_INET); } else { src_addr_is_bound_addr: @@ -796,7 +796,7 @@ static int dhcp_socket_parse(CONF_SECTION *cs, rad_listen_t *this) * This lets %{config:} work as expected, if we want to set * DHCP-DHCP-Server-Identifier. */ - inet_ntop(sock->src_ipaddr.af, &sock->src_ipaddr.ipaddr.ip4addr.s_addr, buffer, sizeof(buffer)); + inet_ntop(sock->src_ipaddr.af, &sock->src_ipaddr.ipaddr.v4.s_addr, buffer, sizeof(buffer)); DEBUG2("\tsrc_ipaddr = \"%s\"", buffer); cp = cf_pair_alloc(cs, "src_ipaddr", buffer, T_OP_SET, T_BARE_WORD, T_BARE_WORD); if (!cp) return -1; @@ -810,7 +810,7 @@ static int dhcp_socket_parse(CONF_SECTION *cs, rad_listen_t *this) client = &sock->dhcp_client; memset(client, 0, sizeof(*client)); client->ipaddr.af = AF_INET; - client->ipaddr.ipaddr.ip4addr.s_addr = ntohl(INADDR_NONE); + client->ipaddr.ipaddr.v4.s_addr = ntohl(INADDR_NONE); client->ipaddr.prefix = 0; client->longname = client->shortname = "dhcp"; client->secret = client->shortname; diff --git a/src/modules/proto_vmps/vqp.c b/src/modules/proto_vmps/vqp.c index 0b8c995b9eb..66d0e42e898 100644 --- a/src/modules/proto_vmps/vqp.c +++ b/src/modules/proto_vmps/vqp.c @@ -317,7 +317,7 @@ int vqp_decode(RADIUS_PACKET *packet) case PW_TYPE_IPV4_ADDR: if (attr_len == 4) { - memcpy(&vp->vp_ipaddr, ptr, 4); + memcpy(&vp->vp_ipv4addr, ptr, 4); vp->vp_length = 4; break; } @@ -519,7 +519,7 @@ int vqp_encode(RADIUS_PACKET *packet, RADIUS_PACKET *original) /* Data */ switch (vp->vp_type) { case PW_TYPE_IPV4_ADDR: - memcpy(out, &vp->vp_ipaddr, 4); + memcpy(out, &vp->vp_ipv4addr, 4); break; case PW_TYPE_ETHERNET: diff --git a/src/modules/rlm_couchbase/rlm_couchbase.c b/src/modules/rlm_couchbase/rlm_couchbase.c index a9427ee7f6d..55179d960af 100644 --- a/src/modules/rlm_couchbase/rlm_couchbase.c +++ b/src/modules/rlm_couchbase/rlm_couchbase.c @@ -521,7 +521,7 @@ static rlm_rcode_t mod_checksimul(void *instance, UNUSED void *thread, REQUEST * /* get client ip address for MPP detection below */ if ((vp = fr_pair_find_by_num(request->packet->vps, 0, PW_FRAMED_IP_ADDRESS, TAG_ANY)) != NULL) { - client_ip_addr = vp->vp_ipaddr; + client_ip_addr = vp->vp_ipv4addr; } /* get calling station id for MPP detection below */ diff --git a/src/modules/rlm_detail/rlm_detail.c b/src/modules/rlm_detail/rlm_detail.c index 08f320b6dd0..e4954311a2e 100644 --- a/src/modules/rlm_detail/rlm_detail.c +++ b/src/modules/rlm_detail/rlm_detail.c @@ -265,19 +265,19 @@ static int detail_write(FILE *out, rlm_detail_t const *inst, REQUEST *request, R switch (packet->src_ipaddr.af) { case AF_INET: src_vp.da = fr_dict_attr_by_num(NULL, 0, PW_PACKET_SRC_IP_ADDRESS); - src_vp.vp_ipaddr = packet->src_ipaddr.ipaddr.ip4addr.s_addr; + src_vp.vp_ipv4addr = packet->src_ipaddr.ipaddr.v4.s_addr; dst_vp.da = fr_dict_attr_by_num(NULL, 0, PW_PACKET_DST_IP_ADDRESS); - dst_vp.vp_ipaddr = packet->dst_ipaddr.ipaddr.ip4addr.s_addr; + dst_vp.vp_ipv4addr = packet->dst_ipaddr.ipaddr.v4.s_addr; break; case AF_INET6: src_vp.da = fr_dict_attr_by_num(NULL, 0, PW_PACKET_SRC_IPV6_ADDRESS); - memcpy(&src_vp.vp_ipv6addr, &packet->src_ipaddr.ipaddr.ip6addr, - sizeof(packet->src_ipaddr.ipaddr.ip6addr)); + memcpy(&src_vp.vp_ipv6addr, &packet->src_ipaddr.ipaddr.v6, + sizeof(packet->src_ipaddr.ipaddr.v6)); dst_vp.da = fr_dict_attr_by_num(NULL, 0, PW_PACKET_DST_IPV6_ADDRESS); - memcpy(&dst_vp.vp_ipv6addr, &packet->dst_ipaddr.ipaddr.ip6addr, - sizeof(packet->dst_ipaddr.ipaddr.ip6addr)); + memcpy(&dst_vp.vp_ipv6addr, &packet->dst_ipaddr.ipaddr.v6, + sizeof(packet->dst_ipaddr.ipaddr.v6)); break; default: diff --git a/src/modules/rlm_eap/types/rlm_eap_ttls/ttls.c b/src/modules/rlm_eap/types/rlm_eap_ttls/ttls.c index f5c819379a6..79f4ee4b9c3 100644 --- a/src/modules/rlm_eap/types/rlm_eap_ttls/ttls.c +++ b/src/modules/rlm_eap/types/rlm_eap_ttls/ttls.c @@ -410,7 +410,7 @@ static int vp2diameter(REQUEST *request, tls_session_t *tls_session, VALUE_PAIR break; case PW_TYPE_IPV4_ADDR: - memcpy(p, &vp->vp_ipaddr, 4); /* network order */ + memcpy(p, &vp->vp_ipv4addr, 4); /* network order */ length = 4; break; diff --git a/src/modules/rlm_lua/lua.c b/src/modules/rlm_lua/lua.c index 66a29956a71..ab598fe9d1a 100644 --- a/src/modules/rlm_lua/lua.c +++ b/src/modules/rlm_lua/lua.c @@ -123,7 +123,7 @@ static int rlm_lua_unmarshall(VALUE_PAIR **out, REQUEST *request, lua_State *L, case PW_TYPE_IPV4_ADDR: case PW_TYPE_COMBO_IP_ADDR: - vp->vp_ipaddr = (uint32_t) lua_tointeger(L, -1); + vp->vp_ipv4addr = (uint32_t) lua_tointeger(L, -1); vp->vp_length = 4; break; diff --git a/src/modules/rlm_preprocess/rlm_preprocess.c b/src/modules/rlm_preprocess/rlm_preprocess.c index 0e9e2f20cfe..6c6bfe0a94f 100644 --- a/src/modules/rlm_preprocess/rlm_preprocess.c +++ b/src/modules/rlm_preprocess/rlm_preprocess.c @@ -465,7 +465,7 @@ static int add_nas_attr(REQUEST *request) nas = fr_pair_find_by_num(request->packet->vps, 0, PW_NAS_IP_ADDRESS, TAG_ANY); if (!nas) { nas = radius_pair_create(request->packet, &request->packet->vps, PW_NAS_IP_ADDRESS, 0); - nas->vp_ipaddr = request->packet->src_ipaddr.ipaddr.ip4addr.s_addr; + nas->vp_ipv4addr = request->packet->src_ipaddr.ipaddr.v4.s_addr; } break; diff --git a/src/modules/rlm_radutmp/rlm_radutmp.c b/src/modules/rlm_radutmp/rlm_radutmp.c index 3f0c98dd16f..6488a4a72b2 100644 --- a/src/modules/rlm_radutmp/rlm_radutmp.c +++ b/src/modules/rlm_radutmp/rlm_radutmp.c @@ -224,7 +224,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(void *instance, UNUSED void * if (!vp->da->vendor) switch (vp->da->attr) { case PW_LOGIN_IP_HOST: case PW_FRAMED_IP_ADDRESS: - ut.framed_address = vp->vp_ipaddr; + ut.framed_address = vp->vp_ipv4addr; break; case PW_FRAMED_PROTOCOL: @@ -232,7 +232,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(void *instance, UNUSED void * break; case PW_NAS_IP_ADDRESS: - ut.nas_address = vp->vp_ipaddr; + ut.nas_address = vp->vp_ipv4addr; break; case PW_NAS_PORT: @@ -279,10 +279,10 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(void *instance, UNUSED void * * originator's IP address. */ if (ut.nas_address == htonl(INADDR_NONE)) { - ut.nas_address = request->packet->src_ipaddr.ipaddr.ip4addr.s_addr; + ut.nas_address = request->packet->src_ipaddr.ipaddr.v4.s_addr; nas = request->client->shortname; - } else if (request->packet->src_ipaddr.ipaddr.ip4addr.s_addr == ut.nas_address) { /* might be a client, might not be. */ + } else if (request->packet->src_ipaddr.ipaddr.v4.s_addr == ut.nas_address) { /* might be a client, might not be. */ nas = request->client->shortname; /* @@ -634,7 +634,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_checksimul(void *instance, UNUSED void * * Setup some stuff, like for MPP detection. */ if ((vp = fr_pair_find_by_num(request->packet->vps, 0, PW_FRAMED_IP_ADDRESS, TAG_ANY)) != NULL) { - ipno = vp->vp_ipaddr; + ipno = vp->vp_ipv4addr; } if ((vp = fr_pair_find_by_num(request->packet->vps, 0, PW_CALLING_STATION_ID, TAG_ANY)) != NULL) { diff --git a/src/modules/rlm_realm/rlm_realm.c b/src/modules/rlm_realm/rlm_realm.c index 400e0df90bf..854b821f05c 100644 --- a/src/modules/rlm_realm/rlm_realm.c +++ b/src/modules/rlm_realm/rlm_realm.c @@ -298,7 +298,7 @@ static int check_for_realm(void const *instance, REQUEST *request, REALM **retur my_ipaddr.af = AF_INET; my_ipaddr.prefix = 32; - my_ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr; + my_ipaddr.ipaddr.v4.s_addr = vp->vp_ipv4addr; /* * Loop over the home accounting servers for this diff --git a/src/modules/rlm_redis_ippool/rlm_redis_ippool.c b/src/modules/rlm_redis_ippool/rlm_redis_ippool.c index 7772a9c1baf..21e06bcface 100644 --- a/src/modules/rlm_redis_ippool/rlm_redis_ippool.c +++ b/src/modules/rlm_redis_ippool/rlm_redis_ippool.c @@ -794,7 +794,7 @@ static ippool_rcode_t redis_ippool_update(rlm_redis_ippool_t const *inst, REQUES lua_update_digest, key_prefix, key_prefix_len, (unsigned int)now.tv_sec, expires, - htonl(ip->ipaddr.ip4addr.s_addr), + htonl(ip->ipaddr.v4.s_addr), device_id, device_id_len, gateway_id, gateway_id_len); } else { @@ -933,7 +933,7 @@ static ippool_rcode_t redis_ippool_release(rlm_redis_ippool_t const *inst, REQUE lua_release_digest, key_prefix, key_prefix_len, (unsigned int)now.tv_sec, - htonl(ip->ipaddr.ip4addr.s_addr), + htonl(ip->ipaddr.v4.s_addr), device_id, device_id_len); } else { char ip_buff[FR_IPADDR_PREFIX_STRLEN]; diff --git a/src/modules/rlm_redis_ippool/rlm_redis_ippool_tool.c b/src/modules/rlm_redis_ippool/rlm_redis_ippool_tool.c index f1302ae9efc..0cbeca2d061 100644 --- a/src/modules/rlm_redis_ippool/rlm_redis_ippool_tool.c +++ b/src/modules/rlm_redis_ippool/rlm_redis_ippool_tool.c @@ -404,8 +404,8 @@ static bool ipaddr_next(fr_ipaddr_t *ipaddr, fr_ipaddr_t const *end, uint8_t pre rad_assert((prefix > 0) && (prefix <= 128)); /* Don't be tempted to cast */ - memcpy(&ip_curr, ipaddr->ipaddr.ip6addr.s6_addr, sizeof(ip_curr)); - memcpy(&ip_end, end->ipaddr.ip6addr.s6_addr, sizeof(ip_curr)); + memcpy(&ip_curr, ipaddr->ipaddr.v6.s6_addr, sizeof(ip_curr)); + memcpy(&ip_end, end->ipaddr.v6.s6_addr, sizeof(ip_curr)); ip_curr = ntohlll(ip_curr); ip_end = ntohlll(ip_end); @@ -416,7 +416,7 @@ static bool ipaddr_next(fr_ipaddr_t *ipaddr, fr_ipaddr_t const *end, uint8_t pre /* Increment the prefix */ ip_curr = uint128_add(ip_curr, uint128_lshift(uint128_new(0, 1), (128 - prefix))); ip_curr = htonlll(ip_curr); - memcpy(&ipaddr->ipaddr.ip6addr.s6_addr, &ip_curr, sizeof(ipaddr->ipaddr.ip6addr.s6_addr)); + memcpy(&ipaddr->ipaddr.v6.s6_addr, &ip_curr, sizeof(ipaddr->ipaddr.v6.s6_addr)); return true; } @@ -426,15 +426,15 @@ static bool ipaddr_next(fr_ipaddr_t *ipaddr, fr_ipaddr_t const *end, uint8_t pre rad_assert((prefix > 0) && (prefix <= 32)); - ip_curr = ntohl(ipaddr->ipaddr.ip4addr.s_addr); - ip_end = ntohl(end->ipaddr.ip4addr.s_addr); + ip_curr = ntohl(ipaddr->ipaddr.v4.s_addr); + ip_end = ntohl(end->ipaddr.v4.s_addr); /* We're done */ if (ip_curr == ip_end) return false; /* Increment the prefix */ ip_curr += 1 << (32 - prefix); - ipaddr->ipaddr.ip4addr.s_addr = htonl(ip_curr); + ipaddr->ipaddr.v4.s_addr = htonl(ip_curr); return true; } } @@ -1230,8 +1230,8 @@ static int parse_ip_range(fr_ipaddr_t *start_out, fr_ipaddr_t *end_out, char con if (start.af == AF_INET6) { uint128_t start_int, end_int; - memcpy(&start_int, start.ipaddr.ip6addr.s6_addr, sizeof(start_int)); - memcpy(&end_int, end.ipaddr.ip6addr.s6_addr, sizeof(end_int)); + memcpy(&start_int, start.ipaddr.v6.s6_addr, sizeof(start_int)); + memcpy(&end_int, end.ipaddr.v6.s6_addr, sizeof(end_int)); if (uint128_gt(ntohlll(start_int), ntohlll(end_int))) { ERROR("End address must be greater than or equal to start address"); return -1; @@ -1240,8 +1240,8 @@ static int parse_ip_range(fr_ipaddr_t *start_out, fr_ipaddr_t *end_out, char con * IPv4 addresses */ } else { - if (ntohl((uint32_t)(start.ipaddr.ip4addr.s_addr)) > - ntohl((uint32_t)(end.ipaddr.ip4addr.s_addr))) { + if (ntohl((uint32_t)(start.ipaddr.v4.s_addr)) > + ntohl((uint32_t)(end.ipaddr.v4.s_addr))) { ERROR("End address must be greater than or equal to start address"); return -1; } @@ -1309,7 +1309,7 @@ static int parse_ip_range(fr_ipaddr_t *start_out, fr_ipaddr_t *end_out, char con if (!rad_cond_assert((prefix > 0) && (prefix <= 128))) return -1; /* Don't be tempted to cast */ - memcpy(&ip, start.ipaddr.ip6addr.s6_addr, sizeof(ip)); + memcpy(&ip, start.ipaddr.v6.s6_addr, sizeof(ip)); ip = ntohlll(ip); /* Generate a mask that covers the prefix bits, and sets them high */ @@ -1318,21 +1318,21 @@ static int parse_ip_range(fr_ipaddr_t *start_out, fr_ipaddr_t *end_out, char con /* Decrement by one */ if (ex_broadcast) ip = uint128_sub(ip, uint128_new(0, 1)); - memcpy(&end.ipaddr.ip6addr.s6_addr, &ip, sizeof(end.ipaddr.ip6addr.s6_addr)); + memcpy(&end.ipaddr.v6.s6_addr, &ip, sizeof(end.ipaddr.v6.s6_addr)); } else { uint32_t ip; /* cond assert to satisfy clang scan */ if (!rad_cond_assert((prefix > 0) && (prefix <= 32))) return -1; - ip = ntohl(start.ipaddr.ip4addr.s_addr); + ip = ntohl(start.ipaddr.v4.s_addr); /* Generate a mask that covers the prefix bits and sets them high */ ip |= uint32_gen_mask(prefix - start.prefix) << (32 - prefix); /* Decrement by one */ if (ex_broadcast) ip--; - end.ipaddr.ip4addr.s_addr = htonl(ip); + end.ipaddr.v4.s_addr = htonl(ip); } *start_out = start; diff --git a/src/modules/rlm_sql/rlm_sql.c b/src/modules/rlm_sql/rlm_sql.c index 7a8c1f96703..54684a014f7 100644 --- a/src/modules/rlm_sql/rlm_sql.c +++ b/src/modules/rlm_sql/rlm_sql.c @@ -1801,7 +1801,7 @@ static rlm_rcode_t mod_checksimul(void *instance, UNUSED void *thread, REQUEST * request->simul_count = 0; if ((vp = fr_pair_find_by_num(request->packet->vps, 0, PW_FRAMED_IP_ADDRESS, TAG_ANY)) != NULL) { - ipno = vp->vp_ipaddr; + ipno = vp->vp_ipv4addr; } if ((vp = fr_pair_find_by_num(request->packet->vps, 0, PW_CALLING_STATION_ID, TAG_ANY)) != NULL) { diff --git a/src/modules/rlm_sqlhpwippool/rlm_sqlhpwippool.c b/src/modules/rlm_sqlhpwippool/rlm_sqlhpwippool.c index dbeeb23c1d8..78828a4d089 100644 --- a/src/modules/rlm_sqlhpwippool/rlm_sqlhpwippool.c +++ b/src/modules/rlm_sqlhpwippool/rlm_sqlhpwippool.c @@ -330,7 +330,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_post_auth(void *instance, UNUSED void *t /* if no NAS IP address, assign 0 */ vp = fr_pair_find_by_num(request->packet->vps, 0, PW_NAS_IP_ADDRESS, TAG_ANY); if (vp) { - nasip = ntohl(vp->vp_ipaddr); + nasip = ntohl(vp->vp_ipv4addr); } else { nasip = 0; @@ -581,7 +581,7 @@ fr_connection_release(inst->sql_inst->pool, request, sqlsock); /* add IP address to reply packet */ vp = radius_pair_create(request->reply, &request->reply->vps, PW_FRAMED_IP_ADDRESS, 0); - vp->vp_ipaddr = ip.s_addr; + vp->vp_ipv4addr = ip.s_addr; RDEBUG2("Returning %s", inet_ntoa(ip)); return RLM_MODULE_OK; @@ -644,7 +644,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(void *instance, UNUSED void * return RLM_MODULE_FAIL; } - framedip = ntohl(vp->vp_ipaddr); + framedip = ntohl(vp->vp_ipv4addr); if (!nvp_query(inst, sqlsock, "UPDATE `%s`.`ips` " @@ -684,7 +684,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(void *instance, UNUSED void * return RLM_MODULE_FAIL; } - nasip.s_addr = vp->vp_ipaddr; + nasip.s_addr = vp->vp_ipv4addr; strlcpy(nasipstr, inet_ntoa(nasip), sizeof(nasipstr)); if (!nvp_query(inst, sqlsock, diff --git a/src/modules/rlm_unix/rlm_unix.c b/src/modules/rlm_unix/rlm_unix.c index 9c02aa319a2..00419576652 100644 --- a/src/modules/rlm_unix/rlm_unix.c +++ b/src/modules/rlm_unix/rlm_unix.c @@ -433,7 +433,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(void *instance, UNUSED void * case PW_LOGIN_IP_HOST: case PW_FRAMED_IP_ADDRESS: - framed_address = vp->vp_ipaddr; + framed_address = vp->vp_ipv4addr; break; #ifdef USER_PROCESS case PW_FRAMED_PROTOCOL: @@ -441,7 +441,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(void *instance, UNUSED void * break; #endif case PW_NAS_IP_ADDRESS: - nas_address = vp->vp_ipaddr; + nas_address = vp->vp_ipv4addr; break; case PW_NAS_PORT: @@ -450,7 +450,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(void *instance, UNUSED void * break; case PW_ACCT_DELAY_TIME: - delay = vp->vp_ipaddr; + delay = vp->vp_ipv4addr; break; } } @@ -467,7 +467,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(void *instance, UNUSED void * * originator's IP address. */ if (nas_address == 0) { - nas_address = request->packet->src_ipaddr.ipaddr.ip4addr.s_addr; + nas_address = request->packet->src_ipaddr.ipaddr.v4.s_addr; } s = request->client->shortname; if (!s || s[0] == 0) s = uue(&(nas_address)); diff --git a/src/modules/rlm_wimax/rlm_wimax.c b/src/modules/rlm_wimax/rlm_wimax.c index da62cdf9f44..cd9461743e1 100644 --- a/src/modules/rlm_wimax/rlm_wimax.c +++ b/src/modules/rlm_wimax/rlm_wimax.c @@ -231,7 +231,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_post_auth(void *instance, UNUSED void *t HMAC_Init_ex(hmac, mip_rk, rk_len, EVP_sha1(), NULL); HMAC_Update(hmac, (uint8_t const *) "PMIP4 MN HA", 11); - HMAC_Update(hmac, (uint8_t const *) &ip->vp_ipaddr, 4); + HMAC_Update(hmac, (uint8_t const *) &ip->vp_ipv4addr, 4); HMAC_Update(hmac, (uint8_t const *) &mn_nai->vp_strvalue, mn_nai->vp_length); HMAC_Final(hmac, &mip_rk_1[0], &rk1_len); @@ -281,7 +281,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_post_auth(void *instance, UNUSED void *t HMAC_Init_ex(hmac, mip_rk, rk_len, EVP_sha1(), NULL); HMAC_Update(hmac, (uint8_t const *) "CMIP4 MN HA", 11); - HMAC_Update(hmac, (uint8_t const *) &ip->vp_ipaddr, 4); + HMAC_Update(hmac, (uint8_t const *) &ip->vp_ipv4addr, 4); HMAC_Update(hmac, (uint8_t const *) &mn_nai->vp_strvalue, mn_nai->vp_length); HMAC_Final(hmac, &mip_rk_1[0], &rk1_len); diff --git a/src/protocols/radius/decode.c b/src/protocols/radius/decode.c index 3340013b430..0e6fad2294f 100644 --- a/src/protocols/radius/decode.c +++ b/src/protocols/radius/decode.c @@ -1346,7 +1346,7 @@ ssize_t fr_radius_decode_pair_value(TALLOC_CTX *ctx, vp_cursor_t *cursor, fr_dic break; case PW_TYPE_IPV4_ADDR: - memcpy(&vp->vp_ipaddr, p, 4); + memcpy(&vp->vp_ipv4addr, p, 4); break; case PW_TYPE_IFID: diff --git a/src/protocols/radius/list.c b/src/protocols/radius/list.c index a1a1b20eb69..3a94c76a3f7 100644 --- a/src/protocols/radius/list.c +++ b/src/protocols/radius/list.c @@ -586,8 +586,8 @@ bool fr_packet_list_id_alloc(fr_packet_list_t *pl, int proto, * destination is not link local. Ignore it. */ if (src_any && (ps->src_ipaddr.af == AF_INET) && - (((ps->src_ipaddr.ipaddr.ip4addr.s_addr >> 24) & 0xff) == 127) && - (((request->dst_ipaddr.ipaddr.ip4addr.s_addr >> 24) & 0xff) != 127)) continue; + (((ps->src_ipaddr.ipaddr.v4.s_addr >> 24) & 0xff) == 127) && + (((request->dst_ipaddr.ipaddr.v4.s_addr >> 24) & 0xff) != 127)) continue; /* * We're sourcing from *, and they asked for a diff --git a/src/tests/util/radius1_test.c b/src/tests/util/radius1_test.c index 15d0861a882..6c655530bca 100644 --- a/src/tests/util/radius1_test.c +++ b/src/tests/util/radius1_test.c @@ -531,7 +531,7 @@ int main(int argc, char *argv[]) memset(&my_ipaddr, 0, sizeof(my_ipaddr)); my_ipaddr.af = AF_INET; - my_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_LOOPBACK); + my_ipaddr.ipaddr.v4.s_addr = htonl(INADDR_LOOPBACK); my_port = 1812; while ((c = getopt(argc, argv, "c:hi:qs:w:x")) != EOF) switch (c) { diff --git a/src/tests/util/radius_schedule_test.c b/src/tests/util/radius_schedule_test.c index c490362d1a0..a279bced8fc 100644 --- a/src/tests/util/radius_schedule_test.c +++ b/src/tests/util/radius_schedule_test.c @@ -193,7 +193,7 @@ int main(int argc, char *argv[]) memset(&my_ipaddr, 0, sizeof(my_ipaddr)); my_ipaddr.af = AF_INET; - my_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_LOOPBACK); + my_ipaddr.ipaddr.v4.s_addr = htonl(INADDR_LOOPBACK); my_port = 1812; while ((c = getopt(argc, argv, "i:n:s:w:x")) != EOF) switch (c) {