summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2011-05-26 02:59:25 +0000
committerBill Meier <wmeier@newsguy.com>2011-05-26 02:59:25 +0000
commit224206b1a346d798f294f42943fdb7d8fdb6a1bf (patch)
treebbe466dedfd7b366deb82af59796a90a16fd03f5
parentb2120849b113d439c6acfa51a23c89262f481ab8 (diff)
downloadwireshark-224206b1a346d798f294f42943fdb7d8fdb6a1bf.tar.gz
Allow the character '.' in radius dictionary ATTRIBUTE names;
Fixes issue caused by dictionary.foundry having ATTRIBUTE names containing a '.' (e.g., Foundry-MAC-Authent-needs-802.1x). So: Revert SVN #37386 which temporarily changed the '.' to '-'. svn path=/trunk/; revision=37405
-rw-r--r--epan/radius_dict.l7
-rw-r--r--radius/dictionary.foundry6
2 files changed, 8 insertions, 5 deletions
diff --git a/epan/radius_dict.l b/epan/radius_dict.l
index e2a5fb4b02..2818147420 100644
--- a/epan/radius_dict.l
+++ b/epan/radius_dict.l
@@ -103,6 +103,11 @@
%}
+/* Note: FreeRadius allows VENDOR, ATTRIBUTE and VALUE names to contain any non-blank character.
+ * Using [^[:blank:]] below for those names fails for some reason so for now the patterns for each
+ * include those characters found in the the corresponding names in the FreeRadius dictionaries.
+ */
+
%START WS_OUT VENDOR VENDOR_W_NAME ATTR ATTR_W_NAME ATTR_W_ID ATTR_W_TYPE ATTR_W_VENDOR VALUE VALUE_W_ATTR VALUE_W_NAME INCLUDE JUNK BEGIN_VENDOR END_VENDOR VENDOR_W_ID VENDOR_W_FORMAT VENDOR_W_TYPE_OCTETS VENDOR_W_LENGTH_OCTETS VENDOR_W_CONTINUATION BEGIN_TLV END_TLV
%%
[:blank:] ;
@@ -189,7 +194,7 @@
BEGIN WS_OUT;
}
-<ATTR>[0-9a-z_/-]+ { attr_name = g_strdup(yytext); encrypted = FALSE; has_tag = FALSE; BEGIN ATTR_W_NAME; }
+<ATTR>[0-9a-z_/.-]+ { attr_name = g_strdup(yytext); encrypted = FALSE; has_tag = FALSE; BEGIN ATTR_W_NAME; }
<ATTR_W_NAME>[0-9]+ { attr_id = g_strdup(yytext); BEGIN ATTR_W_ID;}
<ATTR_W_NAME>0x[0-9a-f]+ { attr_id = g_strdup_printf("%u",(int)strtoul(yytext,NULL,16)); BEGIN ATTR_W_ID;}
<ATTR_W_ID>integer { attr_type = radius_integer; BEGIN ATTR_W_TYPE; }
diff --git a/radius/dictionary.foundry b/radius/dictionary.foundry
index eb942cb871..839431d77b 100644
--- a/radius/dictionary.foundry
+++ b/radius/dictionary.foundry
@@ -16,10 +16,8 @@ ATTRIBUTE Foundry-Command-String 2 string
ATTRIBUTE Foundry-Command-Exception-Flag 3 integer
ATTRIBUTE Foundry-INM-Privilege 4 integer
ATTRIBUTE Foundry-Access-List 5 string
-##ATTRIBUTE Foundry-MAC-Authent-needs-802.1x 6 integer ## 802.1x causes access violation ??
-##ATTRIBUTE Foundry-802.1x-Valid-Lookup 7 integer ## 802.1x causes access violation ??
-ATTRIBUTE Foundry-MAC-Authent-needs-802-1x 6 integer ## use 802-1x until issue resolved
-ATTRIBUTE Foundry-802-1x-Valid-Lookup 7 integer ## use 802-1x until issue resolved
+ATTRIBUTE Foundry-MAC-Authent-needs-802.1x 6 integer
+ATTRIBUTE Foundry-802.1x-Valid-Lookup 7 integer
ATTRIBUTE Foundry-MAC-Based-Vlan-QoS 8 integer
ATTRIBUTE Foundry-INM-Role-Aor-List 9 string