To match the latest specifications.
# Copyright (C) 2011 The FreeRADIUS Server project and contributors
#
# These attributes are "place-holder". They should NEVER be used
-# by name. The "extended" and "extended-flags" and "evs" data types
+# by name. The "extended" and "long-extended" and "evs" data types
# should NEVER be used in any other dictionary.
#
-ATTRIBUTE Extended-Attribute-1 241 extended
-ATTRIBUTE Extended-Attribute-2 242 extended
-ATTRIBUTE Extended-Attribute-3 243 extended
-ATTRIBUTE Extended-Attribute-4 244 extended
-ATTRIBUTE Extended-Attribute-5 245 extended-flags
-ATTRIBUTE Extended-Attribute-6 246 extended-flags
+ATTRIBUTE Extended-Type-1 241 extended
+ATTRIBUTE Extended-Type-2 242 extended
+ATTRIBUTE Extended-Type-3 243 extended
+ATTRIBUTE Extended-Type-4 244 extended
+ATTRIBUTE Long-Extended-Type-1 245 long-extended
+ATTRIBUTE Long-Extended-Type-2 246 long-extended
ATTRIBUTE Extended-Vendor-Specific-1 241.26 evs
ATTRIBUTE Extended-Vendor-Specific-2 242.26 evs
unsigned int has_tlv : 1; /* has sub attributes */
unsigned int is_tlv : 1; /* is a sub attribute */
unsigned int extended : 1; /* extended attribute */
- unsigned int extended_flags : 1; /* with flag */
+ unsigned int long_extended : 1; /* long format */
unsigned int evs : 1; /* extended VSA */
unsigned int wimax: 1; /* WiMAX format=1,1,c */
#define PW_TYPE_COMBO_IP 13
#define PW_TYPE_TLV 14
#define PW_TYPE_EXTENDED 15
-#define PW_TYPE_EXTENDED_FLAGS 16
+#define PW_TYPE_LONG_EXTENDED 16
#define PW_TYPE_EVS 17
#define PW_TYPE_INTEGER64 18
{ "tlv", PW_TYPE_TLV },
{ "signed", PW_TYPE_SIGNED },
{ "extended", PW_TYPE_EXTENDED },
- { "extended-flags", PW_TYPE_EXTENDED_FLAGS },
+ { "long-extended", PW_TYPE_LONG_EXTENDED },
{ "evs", PW_TYPE_EVS },
{ "uint8", PW_TYPE_BYTE },
{ "uint16", PW_TYPE_SHORT },
/*
* Additional checks for extended attributes.
*/
- if (flags.extended || flags.extended_flags || flags.evs) {
+ if (flags.extended || flags.long_extended || flags.evs) {
if (vendor && (vendor < FR_MAX_VENDOR)) {
fr_strerror_printf("dict_addattr: VSAs cannot use the \"extended\" or \"evs\" attribute formats.");
return -1;
}
if (flags.evs) {
- if (!(flags.extended || flags.extended_flags)) {
+ if (!(flags.extended || flags.long_extended)) {
fr_strerror_printf("dict_addattr: Attributes of type \"evs\" MUST have a parent of type \"extended\"");
return -1;
}
return -1;
}
flags.extended = da->flags.extended;
- flags.extended_flags = da->flags.extended_flags;
+ flags.long_extended = da->flags.long_extended;
flags.evs = da->flags.evs;
}
return 0;
}
- if (!(da->flags.has_tlv || da->flags.extended || da->flags.extended_flags)) {
+ if (!(da->flags.has_tlv || da->flags.extended || da->flags.long_extended)) {
fr_strerror_printf("Parent attribute %s cannot have sub-tlvs",
da->name);
return 0;
* 241.1 means 241 is of type "extended".
* Otherwise, die.
*/
- if (!(da->flags.has_tlv || da->flags.extended || da->flags.extended_flags)) {
+ if (!(da->flags.has_tlv || da->flags.extended || da->flags.long_extended)) {
fr_strerror_printf("dict_init: %s[%d]: Parent attribute %s cannot contain sub-attributes", fn, line, da->name);
return -1;
}
* Set which type of attribute this is.
*/
flags.extended = da->flags.extended;
- flags.extended_flags = da->flags.extended_flags;
+ flags.long_extended = da->flags.long_extended;
flags.evs = da->flags.evs;
if (da->flags.has_tlv) flags.is_tlv = 1;
}
flags.extended = 1;
break;
- case PW_TYPE_EXTENDED_FLAGS:
+ case PW_TYPE_LONG_EXTENDED:
if ((vendor != 0) || (value < 241)) {
- fr_strerror_printf("dict_init: %s[%d]: Attributes of type \"extended-flags\" MUST be RFC attributes with value >= 241.", fn, line);
+ fr_strerror_printf("dict_init: %s[%d]: Attributes of type \"long-extended\" MUST be RFC attributes with value >= 241.", fn, line);
return -1;
}
type = PW_TYPE_OCTETS;
- flags.extended_flags = 1;
+ flags.long_extended = 1;
break;
case PW_TYPE_EVS:
/*
* Keep it real.
*/
- if (flags.extended || flags.extended_flags || flags.evs) {
+ if (flags.extended || flags.long_extended || flags.evs) {
fr_strerror_printf("dict_init: %s[%d]: Extended attributes cannot use flags", fn, line);
return -1;
}
if (vp->flags.extended) {
ptr[2] = (vp->attribute & 0xff00) >> 8;
- } else if (vp->flags.extended_flags) {
+ } else if (vp->flags.long_extended) {
if (room < 4) return 0;
ptr[1] = 4;
* Only "flagged" attributes can be longer than one
* attribute.
*/
- if (!vp->flags.extended_flags && (room > 255)) {
+ if (!vp->flags.long_extended && (room > 255)) {
room = 255;
}
* and copy the existing header over. Set the "M" flag ONLY
* after copying the rest of the data.
*/
- if (vp->flags.extended_flags && (len > (255 - ptr[1]))) {
+ if (vp->flags.long_extended && (len > (255 - ptr[1]))) {
return attr_shift(start, start + room, ptr, 4, len, 3, 0);
}
int jump = 3;
fprintf(fr_log_fp, "\t\t%02x %02x ", ptr[0], ptr[1]);
- if (!vp->flags.extended_flags) {
+ if (!vp->flags.long_extended) {
fprintf(fr_log_fp, "%02x ", ptr[2]);
} else {
*/
if ((reply->vendor == 0) &&
((reply->attribute & 0xFFFF) >= 256) &&
- !reply->flags.extended && !reply->flags.extended_flags) {
+ !reply->flags.extended && !reply->flags.long_extended) {
#ifndef NDEBUG
/*
* Permit the admin to send BADLY formatted
da = dict_attrbyvalue(data[0], vendor);
if (!da ||
- (!da->flags.extended && !da->flags.extended_flags)) {
+ (!da->flags.extended && !da->flags.long_extended)) {
fr_strerror_printf("rad_attr2vp_extended: Attribute is not extended format");
return -1;
}
* a raw attribute. If the flag is set, it's supposed to
* be continued.
*/
- if (da->flags.extended_flags) {
+ if (da->flags.long_extended) {
if (data_len == 0) goto raw;
continued = ((data[0] & 0x80) != 0);
}
if ((attr != PW_VENDOR_SPECIFIC) &&
- !(da->flags.extended || da->flags.extended_flags)) {
+ !(da->flags.extended || da->flags.long_extended)) {
fr_strerror_printf("Standard attributes cannot use OIDs");
return NULL;
}
return length + 1;
}
-static int encode_extended_flags(char *buffer,
+static int encode_long_extended(char *buffer,
uint8_t *output, size_t outlen)
{
int attr;
/*
* Not like the others!
*/
- return encode_extended_flags(p + 1, output, outlen);
+ return encode_long_extended(p + 1, output, outlen);
}
}
if (sublen == 0) return 0;