ATTRIBUTE NDS-Context 87 octets
# RFC 4280 - Broadcast and Multicast Control Servers
-ATTRIBUTE BCMS-Server-IPv4-FQDN 88 string array
-ATTRIBUTE BCMS-Server-IPv4-Address 89 ipaddr array
+ATTRIBUTE BCMS-Server-IPv4-FQDN 88 octets # really dns_label array
+ATTRIBUTE BCMS-Server-IPv4-Address 89 ipaddr array
# Authentication
ATTRIBUTE Authentication 90 octets
ATTRIBUTE MoS-IPv4-Address-ES .3 ipaddr array
ATTRIBUTE MoS-IPv4-FQDN 140 tlv
-ATTRIBUTE MoS-IPv4-FQDN-IS .1 string array # and dns_label
-ATTRIBUTE MoS-IPv4-FQDN-CS .2 string array # and dns_label
-ATTRIBUTE MoS-IPv4-FQDN-ES .3 string array # and dns_label
+ATTRIBUTE MoS-IPv4-FQDN-IS .1 octets # really dns_label array
+ATTRIBUTE MoS-IPv4-FQDN-CS .2 octets # really dns_label array
+ATTRIBUTE MoS-IPv4-FQDN-ES .3 octets # really dns_label array
# RFC 6011 - SIP UA Configuration Service Domains
ATTRIBUTE SIP-UA-Configuration-Service-Domains 141 string
static bool attr_valid(UNUSED fr_dict_t *dict, UNUSED fr_dict_attr_t const *parent,
UNUSED char const *name, UNUSED int attr, fr_type_t type, fr_dict_attr_flags_t *flags)
{
+ if (flags->array && !flags->length) {
+ fr_strerror_const("Variable length attributes cannot be marked as 'array'");
+ return false;
+ }
+
/*
* "extra" signifies that subtype is being used by the
* dictionaries itself.