From Jaime Fournier: handle DCE RPC connectionless CANCEL PDUs with no
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 22 Jun 2002 01:30:54 +0000 (01:30 +0000)
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 22 Jun 2002 01:30:54 +0000 (01:30 +0000)
body.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5730 f5534014-38df-0310-8fa8-9805f1628bb7

AUTHORS
doc/ethereal.pod.template
packet-dcerpc.c

diff --git a/AUTHORS b/AUTHORS
index 75b4aa4ea84f83030a6c05e5f24b1d5a68f6457e..36d56d6fb935b203ced9cc294f7437424fdb0bcc 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1270,6 +1270,9 @@ Solomon Peachy <pizza[AT]shaftnet.org> {
        WEP support and other mangling of the 802.11 disector
 }
 
+Jaime Fournier <jafour1[AT]yahoo.com> {
+       Handle DCE RPC connectionless CANCEL PDUs with no body
+}
 
 Alain Magloire <alainm[AT]rcsm.ece.mcgill.ca> was kind enough to
 give his permission to use his version of snprintf.c.
index 8d714e047539f58887c3eda34567393957847362..fda79e50777ea560ecc494ebabf17b3e51baae1a 100644 (file)
@@ -1452,6 +1452,7 @@ B<http://www.ethereal.com>.
   Bill Fumerola            <billf[AT]FreeBSD.org>
   Chris Waters             <chris[AT]waters.co.nz>
   Solomon Peachy           <pizza[AT]shaftnet.org>
+  Jaime Fournier           <jafour1[AT]yahoo.com>
 
 Alain Magloire <alainm[AT]rcsm.ece.mcgill.ca> was kind enough to give his
 permission to use his version of snprintf.c.
index fe87224b598d3e3edea7100011fd277a5989beb1..a3b0fc773e60a7025ea5443f696ced05717635bb 100644 (file)
@@ -2,7 +2,7 @@
  * Routines for DCERPC packet disassembly
  * Copyright 2001, Todd Sabin <tas@webspan.net>
  *
- * $Id: packet-dcerpc.c,v 1.61 2002/06/19 10:06:02 guy Exp $
+ * $Id: packet-dcerpc.c,v 1.62 2002/06/22 01:30:53 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@ethereal.com>
@@ -3279,11 +3279,19 @@ dissect_dcerpc_dg (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
         break;
 
     case PDU_CL_CANCEL:
-        dissect_dcerpc_dg_cancel (tvb, offset, pinfo, dcerpc_tree, &hdr);
+        /*
+         * XXX - The DCE RPC 1.1 spec doesn't say the body is optional,
+         * but in at least one capture none of the Cl_cancel PDUs had a
+         * body.
+         */
+        /* XXX - we assume "frag_len" is the length of the body */
+        if (hdr.frag_len != 0)
+            dissect_dcerpc_dg_cancel (tvb, offset, pinfo, dcerpc_tree, &hdr);
         break;
 
     case PDU_NOCALL:
         /* Body is optional; if present, it's the same as PDU_FACK */
+        /* XXX - we assume "frag_len" is the length of the body */
         if (hdr.frag_len != 0)
             dissect_dcerpc_dg_fack (tvb, offset, pinfo, dcerpc_tree, &hdr);
         break;