aboutsummaryrefslogtreecommitdiffstats
path: root/packet-radius.c
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2004-01-13 03:30:15 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2004-01-13 03:30:15 +0000
commit7eab6740cae7f0f5239bebe6758a90d7d0f34d42 (patch)
treec5706d8c87d41d6cb7ef12919116fab25d357441 /packet-radius.c
parentddd8af8c0dd895df3dbd8e590473f453f57116dd (diff)
From Joost Yervante Damad:
add 3 new vendors; add 3 non-encapsulated Merit vendor-specific attributes; display the authenticator in the protocol tree. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9651 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-radius.c')
-rw-r--r--packet-radius.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/packet-radius.c b/packet-radius.c
index 9f81cb9a6a..d7eb241b79 100644
--- a/packet-radius.c
+++ b/packet-radius.c
@@ -6,7 +6,7 @@
*
* RFC 2865, RFC 2866, RFC 2867, RFC 2868, RFC 2869
*
- * $Id: packet-radius.c,v 1.88 2003/12/24 01:12:16 guy Exp $
+ * $Id: packet-radius.c,v 1.89 2004/01/13 03:27:47 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -49,6 +49,7 @@ static int proto_radius = -1;
static int hf_radius_length = -1;
static int hf_radius_code = -1;
static int hf_radius_id =-1;
+
static char *shared_secret = NULL;
static gpointer authenticator = NULL;
@@ -214,6 +215,7 @@ static const value_string radius_vals[] =
*/
#define VENDOR_ACC 5
#define VENDOR_CISCO 9
+#define VENDOR_MERIT 61
#define VENDOR_SHIVA 166
#define VENDOR_LIVINGSTON 307
#define VENDOR_MICROSOFT 311
@@ -228,9 +230,11 @@ static const value_string radius_vals[] =
#define VENDOR_COSINE 3085
#define VENDOR_SHASTA 3199
#define VENDOR_NOMADIX 3309
+#define VENDOR_SIEMENS 4329
#define VENDOR_UNISPHERE 4874
#define VENDOR_ISSANNI 5948
#define VENDOR_QUINTUM 6618
+#define VENDOR_INTERLINK 6728
#define VENDOR_COLUBRIS 8744
#define VENDOR_COLUMBIA_UNIVERSITY 11862
#define VENDOR_THE3GPP 10415
@@ -239,6 +243,7 @@ static const value_string radius_vendor_specific_vendors[] =
{
{VENDOR_ACC, "ACC"},
{VENDOR_CISCO, "Cisco"},
+ {VENDOR_MERIT, "Merit"},
{VENDOR_SHIVA, "Shiva"},
{VENDOR_MICROSOFT, "Microsoft"},
{VENDOR_LIVINGSTON, "Livingston"},
@@ -253,9 +258,11 @@ static const value_string radius_vendor_specific_vendors[] =
{VENDOR_COSINE, "CoSine Communications"},
{VENDOR_SHASTA, "Shasta"},
{VENDOR_NOMADIX, "Nomadix"},
+ {VENDOR_SIEMENS, "SIEMENS"},
{VENDOR_UNISPHERE, "Unisphere Networks"},
{VENDOR_ISSANNI, "Issanni Communications"},
{VENDOR_QUINTUM, "Quintum"},
+ {VENDOR_INTERLINK, "Interlink"},
{VENDOR_COLUBRIS, "Colubris"},
{VENDOR_COLUMBIA_UNIVERSITY, "Columbia University"},
{VENDOR_THE3GPP, "3GPP"},
@@ -576,7 +583,10 @@ static const radius_attr_info radius_attrib[] =
{196, RADIUS_INTEGER4, "Ascend Connect Progress", NULL},
{197, RADIUS_INTEGER4, "Ascend Data Rate", NULL},
{198, RADIUS_INTEGER4, "Ascend PreSession Time", NULL},
+ {211, RADIUS_STRING, "Merit Proxy-Action", NULL},
{218, RADIUS_INTEGER4, "Ascend Assign IP Pool", NULL},
+ {222, RADIUS_STRING, "Merit User-Id", NULL},
+ {223, RADIUS_STRING, "Merit User-Realm", NULL},
{255, RADIUS_INTEGER4, "Ascend Xmit Rate", NULL},
{0, 0, NULL, NULL}
};
@@ -2752,6 +2762,7 @@ static void dissect_radius(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
guint rhident;
guint avplength,hdrlength;
e_radiushdr rh;
+ gchar *hex_authenticator;
gchar *codestrval;
@@ -2809,9 +2820,12 @@ static void dissect_radius(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if ( authenticator ) {
memcpy(authenticator,tvb_get_ptr(tvb,4,AUTHENTICATOR_LENGTH),AUTHENTICATOR_LENGTH);
}
+ hex_authenticator = g_malloc(AUTHENTICATOR_LENGTH * 2 + 1);
+ rdconvertbufftobinstr(hex_authenticator, tvb, 4, AUTHENTICATOR_LENGTH);
proto_tree_add_text(radius_tree, tvb, 4,
AUTHENTICATOR_LENGTH,
- "Authenticator");
+ "Authenticator: 0x%s", hex_authenticator);
+ g_free(hex_authenticator);
}
hdrlength=RD_HDR_LENGTH+AUTHENTICATOR_LENGTH;