Your message dated Sat, 24 Jul 2010 00:39:42 +0200
with message-id <[email protected]>
and subject line fixed upstream
has caused the Debian Bug report #314871,
regarding ethereal-common: should decode _is_a requests and replies
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
314871: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=314871
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: ethereal-common
Version: 0.10.10-2sarge2
Severity: wishlist
Tags: patch, upstream

See patch.

diff -ur ethereal-0.10.11/epan/dissectors/packet-giop.c 
ethereal-0.10.11.is_a/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.is_a/epan/dissectors/packet-giop.c 2005-06-19 
01:01:06.257886264 +0000
@@ -720,6 +720,7 @@
 static const char  giop_op_resolve[]           = "resolve";
 static const char  giop_op_bind_new_context[]  = "bind_new_context";
 static const char  giop_op_bind[]              = "bind";
+static const char  giop_op_is_a[]              = "_is_a";
 
 /*
  * Enums  for interesting local operations, that we may need to monitor
@@ -2951,12 +2952,16 @@
        exres = try_explicit_giop_dissector(tvb,pinfo,clnp_tree, &offset, 
header, entry->operation, entry->repoid );
       }
 
-      /* Only call heuristic if no explicit dixxector was found */
+      /* Only call heuristic if no explicit dissector was found */
 
       if(! exres) {
-       
try_heuristic_giop_dissector(tvb,pinfo,clnp_tree,&offset,header,entry->operation);
+       exres = 
try_heuristic_giop_dissector(tvb,pinfo,clnp_tree,&offset,header,entry->operation);
       }
 
+      if (!exres && !strcmp(giop_op_is_a, entry->operation) && tree) {
+       proto_tree_add_text(tree, tvb, offset - 1, 1, "Type Id%smatched",
+                           get_CDR_boolean(tvb, &offset) ? " " : " not ");
+      }
 
       break;
 
@@ -3409,9 +3414,17 @@
   /* Only call heuristic if no explicit dissector was found */
 
   if (! exres) {
-    try_heuristic_giop_dissector(tvb,pinfo,tree,&offset,header,operation);
+    exres = 
try_heuristic_giop_dissector(tvb,pinfo,tree,&offset,header,operation);
   }
 
+  if (!exres && !strcmp(giop_op_is_a, operation) && request_tree) {
+    gchar *type_id;
+    len = get_CDR_string(tvb, &type_id, &offset, stream_is_big_endian, 0);
+    proto_tree_add_text(request_tree, tvb, offset - len - 4, 4,
+                       "Type Id length: %d", len);
+    proto_tree_add_text(request_tree, tvb, offset - len, len,
+                       "Type Id: %s", type_id);
+  }
 
   /*
    * We're done with operation, so we can call the cleanup handler to free
@@ -3561,9 +3574,17 @@
   /* Only call heuristic if no explicit dissector was found */
 
   if (! exres) {
-    try_heuristic_giop_dissector(tvb,pinfo,tree,&offset,header,operation);
+    exres = 
try_heuristic_giop_dissector(tvb,pinfo,tree,&offset,header,operation);
   }
 
+  if (!exres && !strcmp(giop_op_is_a, operation) && request_tree) {
+    gchar *type_id;
+    len = get_CDR_string(tvb, &type_id, &offset, stream_is_big_endian, 0);
+    proto_tree_add_text(request_tree, tvb, offset - len - 4, 4,
+                       "Type Id length: %d", len);
+    proto_tree_add_text(request_tree, tvb, offset - len, len,
+                       "Type Id: %s", type_id);
+  }
 
   /*
    * We're done with operation, so we can call the cleanup handler to free

--- End Message ---
--- Begin Message ---
fixed 314835 0.99.2-1
fixed 314836 0.99.2-1
fixed 314871 0.99.2-1
thanks


--- End Message ---

Reply via email to