Add a "wimax" format flag to the attributes.
authorAlan T. DeKok <aland@freeradius.org>
Tue, 15 Mar 2011 10:31:42 +0000 (11:31 +0100)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 15 Mar 2011 10:31:42 +0000 (11:31 +0100)
This is in preparation for horrible Alvarion hacks

src/include/libradius.h
src/lib/dict.c

index b23a286..76028a5 100644 (file)
@@ -111,6 +111,7 @@ typedef struct attr_flags {
        unsigned int            extended : 1; /* extended attribute */
        unsigned int            extended_flags : 1; /* with flag */
        unsigned int            evs : 1;            /* extended VSA */
+       unsigned int            wimax: 1;           /* WiMAX format=1,1,c */
 
        int8_t                  tag;          /* tag for tunneled attributes */
        uint8_t                 encrypt;      /* encryption method */
index cf49c7b..e9b0d10 100644 (file)
@@ -669,6 +669,15 @@ int dict_addattr(const char *name, int attr, unsigned int vendor, int type,
                        flags.extended_flags = da->flags.extended_flags;
                        flags.evs = da->flags.evs;
                }
+
+               /*
+                *      <sigh> Alvarion, being *again* a horribly
+                *      broken vendor, has re-used the WiMAX format in
+                *      their proprietary vendor space.  This re-use
+                *      means that there are *multiple* conflicting
+                *      Alvarion dictionaries.
+                */
+               flags.wimax = dv->flags;
        }
 
        /*