__builtin_choose_expr(__builtin_types_compatible_p(uint8_t[6], _ct), _p, (conf_type_mismatch) 0),\
__builtin_choose_expr((_t == PW_TYPE_SIGNED),\
__builtin_choose_expr(__builtin_types_compatible_p(int32_t *, _ct), _p, (conf_type_mismatch) 0),\
- __builtin_choose_expr((_t == PW_TYPE_IP_ADDR),\
+ __builtin_choose_expr((_t == PW_TYPE_COMBO_IP_ADDR),\
__builtin_choose_expr(__builtin_types_compatible_p(fr_ipaddr_t *, _ct), _p, (conf_type_mismatch) 0),\
__builtin_choose_expr((_t == PW_TYPE_INTEGER64),\
__builtin_choose_expr(__builtin_types_compatible_p(uint64_t *, _ct), _p, (conf_type_mismatch) 0),\
PW_TYPE_SHORT, //!< 16 Bit unsigned integer.
PW_TYPE_ETHERNET, //!< 48 Bit Mac-Address.
PW_TYPE_SIGNED, //!< 32 Bit signed integer.
- PW_TYPE_IP_ADDR, //!< WiMAX IPv4 or IPv6 address depending on length.
+ PW_TYPE_COMBO_IP_ADDR, //!< WiMAX IPv4 or IPv6 address depending on length.
PW_TYPE_TLV, //!< Contains nested attributes.
PW_TYPE_EXTENDED, //!< Extended attribute space attribute.
PW_TYPE_LONG_EXTENDED, //!< Long extended attribute space attribute.
{ "byte", PW_TYPE_BYTE },
{ "short", PW_TYPE_SHORT },
{ "ether", PW_TYPE_ETHERNET },
- { "combo-ip", PW_TYPE_IP_ADDR },
+ { "combo-ip", PW_TYPE_COMBO_IP_ADDR },
{ "tlv", PW_TYPE_TLV },
{ "signed", PW_TYPE_SIGNED },
{ "extended", PW_TYPE_EXTENDED },
[PW_TYPE_SHORT] = {2, 2},
[PW_TYPE_ETHERNET] = {6, 6},
[PW_TYPE_SIGNED] = {4, 4},
- [PW_TYPE_IP_ADDR] = {4, 16},
+ [PW_TYPE_COMBO_IP_ADDR] = {4, 16},
[PW_TYPE_TLV] = {2, ~0},
[PW_TYPE_EXTENDED] = {2, ~0},
[PW_TYPE_LONG_EXTENDED] = {3, ~0},
/*
* Hacks for combo-IP
*/
- if (n->type == PW_TYPE_IP_ADDR) {
+ if (n->type == PW_TYPE_COMBO_IP_ADDR) {
DICT_ATTR *v4, *v6;
v4 = fr_pool_alloc(sizeof(*v4) + namelen);
if (datalen != 6) goto raw;
break;
- case PW_TYPE_IP_ADDR:
+ case PW_TYPE_COMBO_IP_ADDR:
if (datalen == 4) {
child = dict_attrbytype(da->attr, da->vendor,
PW_TYPE_IPV4_ADDR);
case PW_TYPE_IPV4_PREFIX:
case PW_TYPE_ABINARY:
case PW_TYPE_ETHERNET:
- case PW_TYPE_IP_ADDR:
+ case PW_TYPE_COMBO_IP_ADDR:
case PW_TYPE_IP_PREFIX:
{
void const *p = &vp->data;
* Na of the types below should be in the REQUEST
*/
case PW_TYPE_INVALID: /* We should never see these */
- case PW_TYPE_IP_ADDR: /* This should have been converted into IPADDR/IPV6ADDR */
+ case PW_TYPE_COMBO_IP_ADDR: /* This should have been converted into IPADDR/IPV6ADDR */
case PW_TYPE_IP_PREFIX: /* This should have been converted into IPADDR/IPV6ADDR */
case PW_TYPE_TLV:
case PW_TYPE_EXTENDED:
* These are not dynamic da, and will have the same vendor
* and attribute as the original.
*/
- case PW_TYPE_IP_ADDR:
+ case PW_TYPE_COMBO_IP_ADDR:
{
if (inet_pton(AF_INET6, value, &out->ipv6addr) > 0) {
*type = PW_TYPE_IPV6_ADDR;
- ret = dict_attr_sizes[PW_TYPE_IP_ADDR][1]; /* size of IPv6 address */
+ ret = dict_attr_sizes[PW_TYPE_COMBO_IP_ADDR][1]; /* size of IPv6 address */
} else {
fr_ipaddr_t ipaddr;
*type = PW_TYPE_IPV4_ADDR;
out->ipaddr.s_addr = ipaddr.ipaddr.ip4addr.s_addr;
- ret = dict_attr_sizes[PW_TYPE_IP_ADDR][0]; /* size of IPv4 address */
+ ret = dict_attr_sizes[PW_TYPE_COMBO_IP_ADDR][0]; /* size of IPv4 address */
}
}
break;
switch (type) {
case PW_TYPE_IPV4_ADDR:
case PW_TYPE_IPV6_ADDR:
- case PW_TYPE_IP_ADDR:
+ case PW_TYPE_COMBO_IP_ADDR:
switch (ipaddr->af) {
case AF_INET:
if (ipaddr->prefix != 32) {
if (fr_item_validate_ipaddr(cs, name, type, value, ipaddr) < 0) return -1;
break;
- case PW_TYPE_IP_ADDR:
+ case PW_TYPE_COMBO_IP_ADDR:
case PW_TYPE_IP_PREFIX:
ipaddr = data;
memset(&ipaddr, 0, sizeof(ipaddr));
ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_NONE);
- rcode = cf_item_parse(cs, "ipaddr", FR_ITEM_POINTER(PW_TYPE_IP_ADDR, &ipaddr), NULL);
+ rcode = cf_item_parse(cs, "ipaddr", FR_ITEM_POINTER(PW_TYPE_COMBO_IP_ADDR, &ipaddr), NULL);
if (rcode < 0) return -1;
if (rcode != 0) rcode = cf_item_parse(cs, "ipv4addr", FR_ITEM_POINTER(PW_TYPE_IPV4_ADDR, &ipaddr), NULL);
if (rcode < 0) return -1;
#ifdef WITH_ASCEND_BINARY
case PW_TYPE_ABINARY:
#endif
- case PW_TYPE_IP_ADDR:
+ case PW_TYPE_COMBO_IP_ADDR:
case PW_TYPE_TLV:
case PW_TYPE_EXTENDED:
case PW_TYPE_LONG_EXTENDED:
#endif
static CONF_PARSER home_server_config[] = {
- { "ipaddr", FR_CONF_POINTER(PW_TYPE_IP_ADDR, &hs_ipaddr), NULL },
+ { "ipaddr", FR_CONF_POINTER(PW_TYPE_COMBO_IP_ADDR, &hs_ipaddr), NULL },
{ "ipv4addr", FR_CONF_POINTER(PW_TYPE_IPV4_ADDR, &hs_ipaddr), NULL },
{ "ipv6addr", FR_CONF_POINTER(PW_TYPE_IPV6_ADDR, &hs_ipaddr), NULL },
{ "virtual_server", FR_CONF_POINTER(PW_TYPE_STRING, &hs_virtual_server), NULL },