Package: ethereal-common
Version: 0.10.10-2sarge2
Severity: wishlist
Tags: patch, upstream
Allow display filters such as "giop.replystatus = 2" for
filtering or colouring system exceptions and
"giop.exceptionid matches MyError" for catching
IDL:Foo/Bar/MyError:1.0 etc.
diff -ur ethereal-0.10.11/epan/dissectors/packet-giop.c
ethereal-0.10.11.exceptions/epan/dissectors/packet-giop.c
--- ethereal-0.10.11/epan/dissectors/packet-giop.c 2005-06-18
18:44:59.000000000 +0000
+++ ethereal-0.10.11.exceptions/epan/dissectors/packet-giop.c 2005-06-18
19:18:02.739837264 +0000
@@ -436,6 +436,9 @@
static int hf_giop_iop_vscid = -1;
static int hf_giop_iop_scid = -1;
+static int hf_giop_reply_status = -1;
+static int hf_giop_exception_id = -1;
+
/*
* (sub)Tree declares
*/
@@ -2879,12 +2882,6 @@
}
if (sequence_length != 0)
{
- if (tree)
- {
- proto_tree_add_text(tree, tvb, offset, sequence_length,
- "Exception id: %s",
- tvb_format_text(tvb, offset, sequence_length));
- }
#if 1
header->exception_id = g_new0(gchar,sequence_length ); /* allocate
buffer */
@@ -2893,6 +2890,11 @@
tvb_get_nstringz0(tvb,offset,sequence_length, header->exception_id );
+ if (tree)
+ {
+ proto_tree_add_string(tree, hf_giop_exception_id, tvb,
+ offset, sequence_length, header->exception_id);
+ }
#endif
@@ -3055,9 +3057,8 @@
}
if (tree) {
- proto_tree_add_text (reply_tree, tvb, offset-4, 4,
- "Reply status: %s",
- val_to_str(reply_status, reply_status_types, "Unknown
(%u)"));
+ proto_tree_add_uint(reply_tree, hf_giop_reply_status, tvb,
+ offset-4, 4, reply_status);
}
@@ -3129,10 +3130,8 @@
}
if (tree) {
- proto_tree_add_text (reply_tree, tvb, offset-4, 4,
- "Reply status: %s",
- val_to_str(reply_status, reply_status_types, "Unknown
(%u)"));
-
+ proto_tree_add_uint(reply_tree, hf_giop_reply_status, tvb,
+ offset-4, 4, reply_status);
}
/*
@@ -4193,8 +4192,14 @@
{ "Request operation", "giop.request_op",
FT_STRING, BASE_DEC, NULL, 0x0, "", HFILL }
},
-
-
+ { &hf_giop_reply_status,
+ { "Reply status", "giop.replystatus",
+ FT_UINT32, BASE_DEC, VALS(reply_status_types), 0x0, "", HFILL }
+ },
+ { &hf_giop_exception_id,
+ { "Exception id", "giop.exceptionid",
+ FT_STRING, BASE_DEC, NULL, 0x0, "", HFILL }
+ },
};
@@ -4448,7 +4453,7 @@
guint32 i; /* loop index */
- guint8 v_major,v_minor; /* IIOP sersion */
+ guint8 v_major,v_minor; /* IIOP version */
gchar *buf;
guint32 u_octet4; /* u long */
guint16 u_octet2; /* u short */