Ethereal-dev: [Ethereal-dev] GIOP: small patch for packet-giop.c LOCATION_FORWARD

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Bernd Becker <bb@xxxxxxxxxxxxxxx>
Date: Sat, 15 Dec 2001 18:08:23 +0100
Hi,

this patch adds dissection of the following GIOP reply types:
LOCATION_FORWARD, LOCATION_FORWARD_PERM and NEEDS_ADDRESSING_MODE,
eliminating those "We don't yet dissect ..." warnings.

Regards,
Bernd
---
Bernd Becker
bb@xxxxxxxxxxxxxxx
--- ethereal-2001-12-14/packet-giop.c	Mon Dec 10 01:25:27 2001
+++ ethereal/packet-giop.c	Sat Dec 15 17:43:55 2001
@@ -3008,19 +3008,25 @@
       break;
       
     case LOCATION_FORWARD:
-      g_warning("giop: We don't yet dissect LOCATION_FORWARD\n");
+      decode_IOR(tvb, pinfo, tree, &offset, GIOP_HEADER_SIZE, stream_is_big_endian);
 
       break;
 
     case LOCATION_FORWARD_PERM:
-      g_warning("giop: We don't yet dissect LOCATION_FORWARD_PERM\n");
+      decode_IOR(tvb, pinfo, tree, &offset, GIOP_HEADER_SIZE, stream_is_big_endian);
 
       break;
 
-    case NEEDS_ADDRESSING_MODE:
-      g_warning("giop: We don't yet dissect NEEDS_ADDRESSING_MODE\n");
+    case NEEDS_ADDRESSING_MODE: {
+      guint16 addr_disp;
+      addr_disp = get_CDR_ushort(tvb, &offset, stream_is_big_endian, GIOP_HEADER_SIZE);
+      if(tree) {
+        proto_tree_add_text (tree, tvb, offset -2, 2,
+			     "AddressingDisposition: %u", addr_disp);
+      }
 
       break;
+    }
 
     default: