Ethereal-dev: [Ethereal-dev] [Patch] Prettify diameter slightly
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Martin Mathieson <martin.mathieson@xxxxxxxxxxxx>
Date: Fri, 17 Mar 2006 17:08:44 +0000
Hi, Some cosmetic changes:- when working out the application id description to show in the info column, also consider vendor application identifiers - make sure application ids and command codes are always shown as decimal numbers
- a little whitespace tidyup Regards, Martin
Index: epan/dissectors/packet-diameter.c
===================================================================
--- epan/dissectors/packet-diameter.c (revision 17656)
+++ epan/dissectors/packet-diameter.c (working copy)
@@ -1086,9 +1086,9 @@
gchar *buffer;
for (probe=ApplicationIdHead; probe; probe=probe->next) {
- if (appId == probe->id) {
- return probe->name;
- }
+ if (appId == probe->id) {
+ return probe->name;
+ }
}
buffer=ep_alloc(64);
@@ -1319,9 +1319,13 @@
dh2.hopByHopId = g_ntohl(dh2.hopByHopId);
dh2.endToEndId = g_ntohl(dh2.endToEndId);
if (dh2.applicationId) {
- applicationName=diameter_app_to_str(dh2.applicationId);
+ applicationName=diameter_app_to_str(dh2.applicationId);
+ /* If not found, it might be a vendor ID? */
+ if (strcmp(applicationName, "Unknown") == 0){
+ applicationName=diameter_vendor_to_str(dh2.applicationId,FALSE);
+ }
} else {
- applicationName="None";
+ applicationName="None";
}
/* Do the bit twiddling */
version = DIAM_GET_VERSION(dh2);
@@ -1392,34 +1396,34 @@
if (check_col(pinfo->cinfo, COL_INFO)) {
switch(gbl_version) {
case DIAMETER_V16:
- col_add_fstr(pinfo->cinfo, COL_INFO,
- "%s%s%s%s%s-%s vendor=%s (hop-id=%u) (end-id=%u) RPE=%d%d%d",
- (BadPacket)?"***** Bad Packet!: ":"",
- (flags & DIAM_FLAGS_P)?"Proxyable ":"",
- (flags & DIAM_FLAGS_E)?" Error":"",
- ((BadPacket ||
- (flags & (DIAM_FLAGS_P|DIAM_FLAGS_E))) ?
- ": " : ""),
- commandString, commandStringType, vendorName,
- dh.hopByHopId, dh.endToEndId,
- (flags & DIAM_FLAGS_R)?1:0,
- (flags & DIAM_FLAGS_P)?1:0,
- (flags & DIAM_FLAGS_E)?1:0);
+ col_add_fstr(pinfo->cinfo, COL_INFO,
+ "%s%s%s%s%s-%s vendor=%s (hop-id=%u) (end-id=%u) RPE=%d%d%d",
+ (BadPacket)?"***** Bad Packet!: ":"",
+ (flags & DIAM_FLAGS_P)?"Proxyable ":"",
+ (flags & DIAM_FLAGS_E)?" Error":"",
+ ((BadPacket ||
+ (flags & (DIAM_FLAGS_P|DIAM_FLAGS_E))) ?
+ ": " : ""),
+ commandString, commandStringType, vendorName,
+ dh.hopByHopId, dh.endToEndId,
+ (flags & DIAM_FLAGS_R)?1:0,
+ (flags & DIAM_FLAGS_P)?1:0,
+ (flags & DIAM_FLAGS_E)?1:0);
break;
case DIAMETER_RFC:
- col_add_fstr(pinfo->cinfo, COL_INFO,
- "%s%s%s%s%s-%s app=%s (hop-id=%u) (end-id=%u) RPE=%d%d%d",
- (BadPacket)?"***** Bad Packet!: ":"",
- (flags & DIAM_FLAGS_P)?"Proxyable ":"",
- (flags & DIAM_FLAGS_E)?" Error":"",
- ((BadPacket ||
- (flags & (DIAM_FLAGS_P|DIAM_FLAGS_E))) ?
- ": " : ""),
- commandString, commandStringType, applicationName,
- dh2.hopByHopId, dh2.endToEndId,
- (flags & DIAM_FLAGS_R)?1:0,
- (flags & DIAM_FLAGS_P)?1:0,
- (flags & DIAM_FLAGS_E)?1:0);
+ col_add_fstr(pinfo->cinfo, COL_INFO,
+ "%s%s%s%s%s-%s app=%s (hop-id=%u) (end-id=%u) RPE=%d%d%d",
+ (BadPacket)?"***** Bad Packet!: ":"",
+ (flags & DIAM_FLAGS_P)?"Proxyable ":"",
+ (flags & DIAM_FLAGS_E)?" Error":"",
+ ((BadPacket ||
+ (flags & (DIAM_FLAGS_P|DIAM_FLAGS_E))) ?
+ ": " : ""),
+ commandString, commandStringType, applicationName,
+ dh2.hopByHopId, dh2.endToEndId,
+ (flags & DIAM_FLAGS_R)?1:0,
+ (flags & DIAM_FLAGS_P)?1:0,
+ (flags & DIAM_FLAGS_E)?1:0);
break;
}
}
@@ -1466,7 +1470,8 @@
/* Command Code */
proto_tree_add_uint_format_value(diameter_tree, hf_diameter_code,
- tvb, offset, 3, commandCode, "%s-%s", commandString, commandStringType);
+ tvb, offset, 3, commandCode, "%s-%s (%d)",
+ commandString, commandStringType, commandCode);
offset += 3;
switch(gbl_version) {
@@ -2050,8 +2055,8 @@
valstr = diameter_app_to_str(data);
proto_tree_add_uint_format(avpi_tree, hf_diameter_avp_data_uint32,
tvb, offset, avpDataLength, data,
- "Application ID: %s (0x%08x)",
- valstr, data);
+ "Application ID: %s %d (0x%08x)",
+ valstr, data, data);
} else {
proto_tree_add_bytes_format(avpi_tree, hf_diameter_avp_data_bytes,
tvb, offset, avpDataLength,
- Follow-Ups:
- SV: [Ethereal-dev] [Patch] Prettify diameter slightly
- From: Anders Broman
- SV: [Ethereal-dev] [Patch] Prettify diameter slightly
- Prev by Date: [Ethereal-dev] Patch for packet-ssl.c information display.
- Next by Date: [Ethereal-dev] Coverity dead code bugs
- Previous by thread: [Ethereal-dev] Patch for packet-ssl.c information display.
- Next by thread: SV: [Ethereal-dev] [Patch] Prettify diameter slightly
- Index(es):





