From Michael Bean via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9384 :
authorPascal Quantin <pascal.quantin@gmail.com>
Mon, 11 Nov 2013 21:13:55 +0000 (21:13 -0000)
committerPascal Quantin <pascal.quantin@gmail.com>
Mon, 11 Nov 2013 21:13:55 +0000 (21:13 -0000)
Add support for Alcatel-Lucent 8950 AAA

svn path=/trunk/; revision=53258

Makefile.am
epan/dissectors/packet-radius.c
epan/dissectors/packet-radius.h
packaging/nsis/wireshark.nsi
radius/dictionary
radius/dictionary.alcatel-lucent.aaa [new file with mode: 0644]

index 11443feecec6f4ea5c0a21d7b6e061152ca6a1db..9c69c814ad40fd1d9e117549d5f961a322254c92 100644 (file)
@@ -139,6 +139,7 @@ dist_radius_DATA = $(_CUSTOM_radius_dict_) \
        radius/dictionary.alcatel  \
        radius/dictionary.alcatel.esam \
        radius/dictionary.alcatel.sr \
+       radius/dictionary.alcatel-lucent.aaa \
        radius/dictionary.alcatel-lucent.xylan \
        radius/dictionary.alteon  \
        radius/dictionary.altiga  \
index 9d91e9e500f1fbfd6a8a89fb627dd3c77b4743e8..32a01d1291f3545e8b68bf8766c8e236a8dba44b 100644 (file)
@@ -198,6 +198,11 @@ static const value_string radius_pkt_type_codes[] =
 
        {RADIUS_PKT_TYPE_IP_ADDRESS_ALLOCATE,                   "IP-Address-Allocate"},                 /* 50 RFC3575 */
        {RADIUS_PKT_TYPE_IP_ADDRESS_RELEASE,                    "IP-Address-Release"},                  /* 51 RFC3575 */
+
+       {RADIUS_PKT_TYPE_ALU_STATE_REQUEST,                     "ALU-State-Request"},                   /* 129 ALU AAA */
+       {RADIUS_PKT_TYPE_ALU_STATE_ACCEPT,                      "ALU-State-Accept"},                    /* 130 ALU AAA */
+       {RADIUS_PKT_TYPE_ALU_STATE_REJECT,                      "ALU-State-Reject"},                    /* 131 ALU AAA */
+       {RADIUS_PKT_TYPE_ALU_STATE_ERROR,                       "ALU-State-Error"},                             /* 132 ALU AAA */
 /*
 250-253  Experimental Use             [RFC3575]
 254-255  Reserved                     [RFC3575]
@@ -303,6 +308,12 @@ static gboolean radius_call_equal(gconstpointer k1, gconstpointer k2)
                if ((key1->code == RADIUS_PKT_TYPE_COA_REQUEST) &&
                    ((key2->code == RADIUS_PKT_TYPE_COA_ACK) || (key2->code == RADIUS_PKT_TYPE_COA_NAK)))
                        return TRUE;
+
+               if ((key1->code == RADIUS_PKT_TYPE_ALU_STATE_REQUEST) &&
+                   ((key2->code == RADIUS_PKT_TYPE_ALU_STATE_ACCEPT) ||
+                    (key2->code == RADIUS_PKT_TYPE_ALU_STATE_REJECT) ||
+                    (key2->code == RADIUS_PKT_TYPE_ALU_STATE_ERROR)))
+                       return TRUE;
        }
        return FALSE;
 }
@@ -1473,6 +1484,7 @@ dissect_radius(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
                case RADIUS_PKT_TYPE_EVENT_REQUEST:
                case RADIUS_PKT_TYPE_DISCONNECT_REQUEST:
                case RADIUS_PKT_TYPE_COA_REQUEST:
+               case RADIUS_PKT_TYPE_ALU_STATE_REQUEST:
                        /* Don't bother creating conversations if we're encapsulated within
                         * an error packet, such as an ICMP destination unreachable */
                        if (pinfo->flags.in_error_pkt)
@@ -1585,6 +1597,9 @@ dissect_radius(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
                case RADIUS_PKT_TYPE_COA_ACK:
                case RADIUS_PKT_TYPE_COA_NAK:
                case RADIUS_PKT_TYPE_ACCESS_CHALLENGE:
+               case RADIUS_PKT_TYPE_ALU_STATE_ACCEPT:
+               case RADIUS_PKT_TYPE_ALU_STATE_REJECT:
+               case RADIUS_PKT_TYPE_ALU_STATE_ERROR:
                        /* Don't bother finding conversations if we're encapsulated within
                         * an error packet, such as an ICMP destination unreachable */
                        if (pinfo->flags.in_error_pkt)
index 8c66337d3e7c6ae503899d21228f7f25a988c1db..c85ace294cfc8641a63ce413bb8bcd5263ccf963 100644 (file)
 #define RADIUS_PKT_TYPE_IP_ADDRESS_ALLOCATE                    50
 #define RADIUS_PKT_TYPE_IP_ADDRESS_RELEASE                     51
 
+/* ALU proprietary packet type codes */
+#define RADIUS_PKT_TYPE_ALU_STATE_REQUEST                      129
+#define RADIUS_PKT_TYPE_ALU_STATE_ACCEPT                       130
+#define RADIUS_PKT_TYPE_ALU_STATE_REJECT                       131
+#define RADIUS_PKT_TYPE_ALU_STATE_ERROR                        132
 
 /* Radius Attribute Types*/
 /* 09/12/2011: Updated from IANA:
index c961a5a544177da123dca1c2287d9b297ce1b7cc..cb7c2ba05100d3eb8fbb02c59c046f945bda5334 100644 (file)
@@ -458,6 +458,7 @@ File "..\..\radius\dictionary.airespace"
 File "..\..\radius\dictionary.alcatel"
 File "..\..\radius\dictionary.alcatel.esam"
 File "..\..\radius\dictionary.alcatel.sr"
+File "..\..\radius\dictionary.alcatel-lucent.aaa"
 File "..\..\radius\dictionary.alcatel-lucent.xylan"
 File "..\..\radius\dictionary.alteon"
 File "..\..\radius\dictionary.altiga"
index 7c499106fbf45826d045b18a5c628566a21fff76..b70a0a3885b37c3a0da51b4026b925b7ed65597b 100644 (file)
@@ -109,6 +109,7 @@ $INCLUDE dictionary.acme
 $INCLUDE dictionary.airespace
 $INCLUDE dictionary.alcatel
 $INCLUDE dictionary.alcatel.sr
+$INCLUDE dictionary.alcatel-lucent.aaa
 $INCLUDE dictionary.alcatel-lucent.xylan
 $INCLUDE dictionary.alteon
 $INCLUDE dictionary.alvarion
diff --git a/radius/dictionary.alcatel-lucent.aaa b/radius/dictionary.alcatel-lucent.aaa
new file mode 100644 (file)
index 0000000..9c1a087
--- /dev/null
@@ -0,0 +1,84 @@
+# -*- text -*-
+##############################################################################
+#
+#      ALU-AAA AAA dictionary
+#
+#      $Id$
+#
+##############################################################################
+
+VENDOR         ALU-AAA 831
+
+BEGIN-VENDOR   ALU-AAA
+
+ATTRIBUTE      ALU-AAA-Access-Rule                     1       string
+ATTRIBUTE      ALU-AAA-AV-Pair                         2       string
+ATTRIBUTE      ALU-AAA-GSM-Triplets-Needed             3       integer
+ATTRIBUTE      ALU-AAA-GSM-Triplet                     4       octets
+ATTRIBUTE      ALU-AAA-AKA-Quintets-Needed             5       integer
+ATTRIBUTE      ALU-AAA-AKA-Quintet                     6       octets
+ATTRIBUTE      ALU-AAA-AKA-RAND                        7       octets
+ATTRIBUTE      ALU-AAA-AKA-AUTS                        8       octets
+ATTRIBUTE      ALU-AAA-Service-Profile                 9       string
+ATTRIBUTE      ALU-AAA-Lawful-Intercept-Status         10      byte
+ATTRIBUTE      ALU-AAA-DF-CC-Address                   11      ipaddr
+ATTRIBUTE      ALU-AAA-DF-CC-Port                      12      short
+ATTRIBUTE      ALU-AAA-Client-Program                  13      string
+ATTRIBUTE      ALU-AAA-Client-Error-Action             14      integer
+ATTRIBUTE      ALU-AAA-Client-OS                       15      string
+ATTRIBUTE      ALU-AAA-Client-Version                  16      string
+ATTRIBUTE      ALU-AAA-Nonce                           17      octets
+ATTRIBUTE      ALU-AAA-Femto-Public-Key-Hash           18      octets
+ATTRIBUTE      ALU-AAA-Femto-Associated-User-Name      19      string
+ATTRIBUTE      ALU-AAA-String-0                        100     string
+ATTRIBUTE      ALU-AAA-String-1                        101     string
+ATTRIBUTE      ALU-AAA-String-2                        102     string
+ATTRIBUTE      ALU-AAA-String-3                        103     string
+ATTRIBUTE      ALU-AAA-Integer-0                       104     integer
+ATTRIBUTE      ALU-AAA-Integer-1                       105     integer
+ATTRIBUTE      ALU-AAA-Integer-2                       106     integer
+ATTRIBUTE      ALU-AAA-Integer-3                       107     integer
+ATTRIBUTE      ALU-AAA-Address-0                       108     combo-ip
+ATTRIBUTE      ALU-AAA-Address-1                       109     combo-ip
+ATTRIBUTE      ALU-AAA-Address-2                       110     combo-ip
+ATTRIBUTE      ALU-AAA-Address-3                       111     combo-ip
+ATTRIBUTE      ALU-AAA-Value-0                         112     octets
+ATTRIBUTE      ALU-AAA-Value-1                         113     octets
+ATTRIBUTE      ALU-AAA-Value-2                         114     octets
+ATTRIBUTE      ALU-AAA-Value-3                         115     octets
+ATTRIBUTE      ALU-AAA-Key-0                           116     octets,encrypt=2
+ATTRIBUTE      ALU-AAA-Key-1                           117     octets,encrypt=2
+ATTRIBUTE      ALU-AAA-Key-2                           118     octets,encrypt=2
+ATTRIBUTE      ALU-AAA-Key-3                           119     octets,encrypt=2
+ATTRIBUTE      ALU-AAA-Opaque-0                        120     octets
+ATTRIBUTE      ALU-AAA-Opaque-1                        121     octets
+ATTRIBUTE      ALU-AAA-Opaque-2                        122     octets
+ATTRIBUTE      ALU-AAA-Opaque-3                        123     octets
+ATTRIBUTE      ALU-AAA-Eval-0                          124     string
+ATTRIBUTE      ALU-AAA-Eval-1                          125     string
+ATTRIBUTE      ALU-AAA-Eval-2                          126     string
+ATTRIBUTE      ALU-AAA-Eval-3                          127     string
+ATTRIBUTE      ALU-AAA-Exec-0                          128     string
+ATTRIBUTE      ALU-AAA-Exec-1                          129     string
+ATTRIBUTE      ALU-AAA-Exec-2                          130     string
+ATTRIBUTE      ALU-AAA-Exec-3                          131     string
+ATTRIBUTE      ALU-AAA-Original-Receipt-Time           199     octets
+ATTRIBUTE      ALU-AAA-Reply-Message                   201     string
+ATTRIBUTE      ALU-AAA-Called-Station-Id               202     string
+ATTRIBUTE      ALU-AAA-NAS-IP-Address                  203     ipaddr
+ATTRIBUTE      ALU-AAA-NAS-Port                        204     integer
+ATTRIBUTE      ALU-AAA-Old-State                       205     string
+ATTRIBUTE      ALU-AAA-New-State                       206     string
+ATTRIBUTE      ALU-AAA-Event                           207     string
+ATTRIBUTE      ALU-AAA-Old-Timestamp                   208     date
+ATTRIBUTE      ALU-AAA-New-Timestamp                   209     date
+ATTRIBUTE      ALU-AAA-Delta-Session                   210     integer
+ATTRIBUTE      ALU-AAA-Civic-Location                  211     octets
+ATTRIBUTE      ALU-AAA-Geospatial-Location             212     octets
+
+VALUE  ALU-AAA-Client-Error-Action     Ignore          1
+VALUE  ALU-AAA-Client-Error-Action     Disconnect      2
+VALUE  ALU-AAA-Delta-Session           False           0
+VALUE  ALU-AAA-Delta-Session           True            1
+
+END-VENDOR     ALU-AAA