Remove silly dcerpc_smb_check_long_frame() function and all calls to it.
authortpot <tpot@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 17 Jun 2003 05:29:46 +0000 (05:29 +0000)
committertpot <tpot@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 17 Jun 2003 05:29:46 +0000 (05:29 +0000)
A much better place to do this is after the subdissector function has
been called in dcercp_try_handoff().

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

packet-dcerpc-nt.c
packet-dcerpc-nt.h
packet-dcerpc-reg.c
packet-dcerpc-spoolss.c
packet-dcerpc.c

index d62dc49ad7300ac6765a21ab7d5fc4a2b9edde6a..55d46c6adf0a54c20f4e6bf21d0233c6178db344 100644 (file)
@@ -2,7 +2,7 @@
  * Routines for DCERPC over SMB packet disassembly
  * Copyright 2001-2003, Tim Potter <tpot@samba.org>
  *
- * $Id: packet-dcerpc-nt.c,v 1.75 2003/06/05 04:22:03 guy Exp $
+ * $Id: packet-dcerpc-nt.c,v 1.76 2003/06/17 05:29:46 tpot Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@ethereal.com>
@@ -655,28 +655,6 @@ static void init_pol_hash(void)
        pol_hash = g_hash_table_new(pol_hash_fn, pol_hash_compare);
 }
 
-/* Check if there is unparsed data remaining in a frame and display an
-   error.  I guess this could be made into an exception like the malformed
-   frame exception.  For the DCERPC over SMB dissectors a long frame
-   indicates a bug in a dissector. */
-
-void dcerpc_smb_check_long_frame(tvbuff_t *tvb, int offset,
-                                packet_info *pinfo, proto_tree *tree)
-{
-       if (tvb_length_remaining(tvb, offset) != 0) {
-
-               proto_tree_add_text(
-                       tree, tvb, offset, tvb_length_remaining(tvb, offset),
-                       "[Long frame (%d bytes): SPOOLSS]",
-                       tvb_length_remaining(tvb, offset));
-
-               if (check_col(pinfo->cinfo, COL_INFO))
-                       col_append_fstr(pinfo->cinfo, COL_INFO,
-                                       "[Long frame (%d bytes): SPOOLSS]",
-                                       tvb_length_remaining(tvb, offset));
-       }
-}
-
 /* Dissect a NT status code */
 
 int
index 68a3b1e6a4a8916f5ca460a86034c6f4c82bdcf1..4b0ca6604d37248340a55a310b4b662fea70e268 100644 (file)
@@ -2,7 +2,7 @@
  * Routines for DCERPC over SMB packet disassembly
  * Copyright 2001-2003 Tim Potter <tpot@samba.org>
  *
- * $Id: packet-dcerpc-nt.h,v 1.47 2003/06/05 04:22:03 guy Exp $
+ * $Id: packet-dcerpc-nt.h,v 1.48 2003/06/17 05:29:46 tpot Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@ethereal.com>
@@ -133,12 +133,6 @@ dcerpc_smb_fetch_pol(e_ctx_hnd *policy_hnd, char **name,
                     guint32 *open_frame, guint32 *close_frame,
                     guint32 cur_frame);
 
-/* Check for unparsed data at the end of a frame */
-
-void
-dcerpc_smb_check_long_frame(tvbuff_t *tvb, int offset,
-                           packet_info *pinfo, proto_tree *tree);
-
 /* Dissect NT specific things */
 
 int
index 55b1cbc9685f8ce707987415cdd582c5df1a2484..fd0242db2184c68459c83be29eccaea319204685 100644 (file)
@@ -2,7 +2,7 @@
  * Routines for SMB \PIPE\winreg packet disassembly
  * Copyright 2001-2003 Tim Potter <tpot@samba.org>
  *
- * $Id: packet-dcerpc-reg.c,v 1.17 2003/06/05 04:22:03 guy Exp $
+ * $Id: packet-dcerpc-reg.c,v 1.18 2003/06/17 05:29:46 tpot Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@ethereal.com>
@@ -102,8 +102,6 @@ RegOpenHKLM_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
                dissect_open_data,
                NDR_POINTER_UNIQUE, "Unknown", -1);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -130,8 +128,6 @@ RegOpenHKLM_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
                        proto_item_append_text(hnd_item, ": HKLM handle");
        }
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -150,8 +146,6 @@ RegOpenHKU_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
                dissect_open_data,
                NDR_POINTER_UNIQUE, "Unknown", -1);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -178,8 +172,6 @@ RegOpenHKU_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
                        proto_item_append_text(hnd_item, ": HKU handle");
        }
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -198,8 +190,6 @@ RegOpenHKCR_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
                dissect_open_data,
                NDR_POINTER_UNIQUE, "Unknown", -1);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -226,8 +216,6 @@ RegOpenHKCR_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
                        proto_item_append_text(hnd_item, ": HKCR handle");
        }
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -245,8 +233,6 @@ RegClose_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
                tvb, offset, pinfo, tree, drep,
                hf_hnd, NULL, NULL, FALSE, TRUE);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -263,8 +249,6 @@ RegClose_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_ntstatus(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -285,8 +269,6 @@ RegQueryKey_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_ndr_counted_string(
                tvb, offset, pinfo, tree, drep, hf_querykey_class, 0);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -333,8 +315,6 @@ RegQueryKey_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_ntstatus(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -363,8 +343,6 @@ RegOpenEntry_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
                tvb, offset, pinfo, tree, drep,
                hf_access_mask, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -392,8 +370,6 @@ RegOpenEntry_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
                        proto_item_append_text(hnd_item, ": OpenEntry handle");
        }
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -411,8 +387,6 @@ RegUnknown1A_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
                tvb, offset, pinfo, tree, drep,
                hf_hnd, NULL, NULL, FALSE, FALSE);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -429,8 +403,6 @@ RegUnknown1A_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_ntstatus(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -448,8 +420,6 @@ RegEnumKey_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
                tvb, offset, pinfo, tree, drep,
                hf_hnd, NULL, NULL, FALSE, FALSE);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -462,8 +432,6 @@ RegEnumKey_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_ntstatus(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -483,8 +451,6 @@ RegFoo_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
 
        /* Parse packet */
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -499,8 +465,6 @@ RegFoo_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_ntstatus(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
index 1e149d0fce21cfedf6a9e05cbbb198c4b2f098f8..22f4b67dc49f65fc3c2eb618e9ef04101207567e 100644 (file)
@@ -2,7 +2,7 @@
  * Routines for SMB \PIPE\spoolss packet disassembly
  * Copyright 2001-2003, Tim Potter <tpot@samba.org>
  *
- * $Id: packet-dcerpc-spoolss.c,v 1.100 2003/06/05 04:22:04 guy Exp $
+ * $Id: packet-dcerpc-spoolss.c,v 1.101 2003/06/17 05:29:45 tpot Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@ethereal.com>
@@ -554,8 +554,6 @@ static int SpoolssClosePrinter_q(tvbuff_t *tvb, int offset,
                col_append_fstr(pinfo->cinfo, COL_INFO, ", %s",
                                pol_name);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -573,8 +571,6 @@ static int SpoolssClosePrinter_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -693,8 +689,6 @@ static int SpoolssGetPrinterData_q(tvbuff_t *tvb, int offset,
        offset = dissect_ndr_uint32(
                tvb, offset, pinfo, tree, drep, hf_offered, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -729,8 +723,6 @@ static int SpoolssGetPrinterData_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -791,8 +783,6 @@ static int SpoolssGetPrinterDataEx_q(tvbuff_t *tvb, int offset,
        offset = dissect_ndr_uint32(
                tvb, offset, pinfo, tree, drep, hf_needed, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -832,8 +822,6 @@ static int SpoolssGetPrinterDataEx_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -875,8 +863,6 @@ static int SpoolssSetPrinterData_q(tvbuff_t *tvb, int offset,
        offset = dissect_ndr_uint32(
                tvb, offset, pinfo, tree, drep, hf_offered, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -892,8 +878,6 @@ static int SpoolssSetPrinterData_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -953,8 +937,6 @@ static int SpoolssSetPrinterDataEx_q(tvbuff_t *tvb, int offset,
                tvb, offset, pinfo, tree, drep,
                hf_setprinterdataex_real_len, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -970,8 +952,6 @@ static int SpoolssSetPrinterDataEx_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -2545,8 +2525,6 @@ static int SpoolssOpenPrinterEx_q(tvbuff_t *tvb, int offset,
 
        offset = dissect_USER_LEVEL_CTR(tvb, offset, pinfo, tree, drep);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -2608,8 +2586,6 @@ static int SpoolssOpenPrinterEx_r(tvbuff_t *tvb, int offset,
                }
        }
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3135,8 +3111,6 @@ static int SpoolssRFFPCNEX_q(tvbuff_t *tvb, int offset,
                dissect_NOTIFY_OPTIONS_ARRAY_CTR, NDR_POINTER_UNIQUE,
                "Notify Options Container", -1);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3149,8 +3123,6 @@ static int SpoolssRFFPCNEX_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3196,8 +3168,6 @@ static int SpoolssReplyOpenPrinter_q(tvbuff_t *tvb, int offset,
                tvb, offset, pinfo, tree, drep, hf_replyopenprinter_unk1, 
                NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3259,8 +3229,6 @@ static int SpoolssReplyOpenPrinter_r(tvbuff_t *tvb, int offset,
                }
        }
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3297,8 +3265,6 @@ static int SpoolssGetPrinter_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_ndr_uint32(
                tvb, offset, pinfo, tree, drep, hf_offered, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3373,8 +3339,6 @@ static int SpoolssGetPrinter_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3533,8 +3497,6 @@ static int SpoolssSetPrinter_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
                tvb, offset, pinfo, tree, drep,
                hf_setprinter_cmd, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3546,8 +3508,6 @@ static int SpoolssSetPrinter_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3653,8 +3613,6 @@ static int SpoolssEnumForms_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_ndr_uint32(
                tvb, offset, pinfo, tree, drep, hf_offered, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3702,8 +3660,6 @@ static int SpoolssEnumForms_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3721,8 +3677,6 @@ static int SpoolssDeletePrinter_q(tvbuff_t *tvb, int offset,
                tvb, offset, pinfo, tree, drep, hf_hnd, NULL, NULL,
                FALSE, FALSE);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3739,8 +3693,6 @@ static int SpoolssDeletePrinter_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3801,8 +3753,6 @@ static int SpoolssAddPrinterEx_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
                }
        }
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3847,8 +3797,6 @@ static int SpoolssEnumPrinterData_q(tvbuff_t *tvb, int offset,
                tvb, offset, pinfo, tree, drep,
                hf_enumprinterdata_data_offered, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3912,8 +3860,6 @@ static int SpoolssEnumPrinterData_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -3995,8 +3941,6 @@ static int SpoolssEnumPrinters_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_ndr_uint32(
                tvb, offset, pinfo, tree, drep, hf_offered, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4020,8 +3964,6 @@ static int SpoolssEnumPrinters_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4045,8 +3987,6 @@ static int SpoolssAddPrinterDriver_q(tvbuff_t *tvb, int offset,
        offset = dissect_spoolss_DRIVER_INFO_CTR(
                tvb, offset, pinfo, tree, drep);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 #endif
@@ -4059,8 +3999,6 @@ static int SpoolssAddPrinterDriver_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4194,8 +4132,6 @@ static int SpoolssAddForm_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
 
        offset = dissect_FORM_CTR(tvb, offset, pinfo, tree, drep);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4210,8 +4146,6 @@ static int SpoolssAddForm_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4242,8 +4176,6 @@ static int SpoolssDeleteForm_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
 
        g_free(name);
        
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4258,8 +4190,6 @@ static int SpoolssDeleteForm_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4299,8 +4229,6 @@ static int SpoolssSetForm_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
 
        offset = dissect_FORM_CTR(tvb, offset, pinfo, tree, drep);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4315,8 +4243,6 @@ static int SpoolssSetForm_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4362,8 +4288,6 @@ static int SpoolssGetForm_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_ndr_uint32(
                tvb, offset, pinfo, tree, drep, hf_offered, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4413,8 +4337,6 @@ static int SpoolssGetForm_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4664,8 +4586,6 @@ static int SpoolssEnumJobs_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_ndr_uint32(
                tvb, offset, pinfo, tree, drep, hf_offered, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4717,8 +4637,6 @@ static int SpoolssEnumJobs_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4763,8 +4681,6 @@ static int SpoolssSetJob_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
                        val_to_str(cmd, setjob_commands, "Unknown (%d)"),
                        jobid);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4776,8 +4692,6 @@ static int SpoolssSetJob_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4815,8 +4729,6 @@ static int SpoolssGetJob_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_ndr_uint32(
                tvb, offset, pinfo, tree, drep, hf_offered, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4857,8 +4769,6 @@ static int SpoolssGetJob_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4886,8 +4796,6 @@ static int SpoolssStartPagePrinter_q(tvbuff_t *tvb, int offset,
                col_append_fstr(pinfo->cinfo, COL_INFO, ", %s",
                                pol_name);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4900,8 +4808,6 @@ static int SpoolssStartPagePrinter_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4929,8 +4835,6 @@ static int SpoolssEndPagePrinter_q(tvbuff_t *tvb, int offset,
                col_append_fstr(pinfo->cinfo, COL_INFO, ", %s",
                                pol_name);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -4943,8 +4847,6 @@ static int SpoolssEndPagePrinter_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -5089,8 +4991,6 @@ static int SpoolssStartDocPrinter_q(tvbuff_t *tvb, int offset,
 
        offset = dissect_spoolss_doc_info_ctr(tvb, offset, pinfo, tree, drep);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -5106,8 +5006,6 @@ static int SpoolssStartDocPrinter_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -5135,7 +5033,6 @@ static int SpoolssEndDocPrinter_q(tvbuff_t *tvb, int offset,
                col_append_fstr(pinfo->cinfo, COL_INFO, ", %s",
                                pol_name);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
 
        return offset;
 }
@@ -5149,8 +5046,6 @@ static int SpoolssEndDocPrinter_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -5202,8 +5097,6 @@ static int SpoolssWritePrinter_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
 
        proto_item_set_len(item, size + 4);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -5225,8 +5118,6 @@ static int SpoolssWritePrinter_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -5258,8 +5149,6 @@ static int SpoolssDeletePrinterData_q(tvbuff_t *tvb, int offset,
 
        g_free(value_name);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -5275,8 +5164,6 @@ static int SpoolssDeletePrinterData_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -5411,8 +5298,6 @@ static int SpoolssEnumPrinterDrivers_q(tvbuff_t *tvb, int offset,
        offset = dissect_ndr_uint32(
                tvb, offset, pinfo, tree, drep, hf_offered, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -5464,8 +5349,6 @@ done:
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -5519,8 +5402,6 @@ static int SpoolssGetPrinterDriver2_q(tvbuff_t *tvb, int offset,
        offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
                                    hf_clientminorversion, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -5568,8 +5449,6 @@ static int SpoolssGetPrinterDriver2_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6111,8 +5990,6 @@ static int SpoolssRFNPCNEX_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
                dissect_NOTIFY_OPTIONS_ARRAY_CTR, NDR_POINTER_UNIQUE,
                "Notify Options Array Container", -1);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6129,8 +6006,6 @@ static int SpoolssRFNPCNEX_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6172,8 +6047,6 @@ static int SpoolssRRPCN_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
 
        /* Notify info */
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6188,8 +6061,6 @@ static int SpoolssRRPCN_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6207,8 +6078,6 @@ static int SpoolssReplyClosePrinter_q(tvbuff_t *tvb, int offset,
                tvb, offset, pinfo, tree, drep, hf_hnd, NULL, NULL,
                FALSE, TRUE);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6225,8 +6094,6 @@ static int SpoolssReplyClosePrinter_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6243,8 +6110,6 @@ static int SpoolssFCPN_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
                tvb, offset, pinfo, tree, drep, hf_hnd, NULL, NULL,
                FALSE, FALSE);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6256,8 +6121,6 @@ static int SpoolssFCPN_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6290,8 +6153,6 @@ static int SpoolssRouterReplyPrinter_q(tvbuff_t *tvb, int offset, packet_info *p
                tvb, offset, pinfo, tree, drep,
                hf_routerreplyprinter_changeid, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6303,8 +6164,6 @@ static int SpoolssRouterReplyPrinter_r(tvbuff_t *tvb, int offset, packet_info *p
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6375,8 +6234,6 @@ static int SpoolssEnumPrinterKey_q(tvbuff_t *tvb, int offset,
        offset = dissect_ndr_uint32(
                tvb, offset, pinfo, tree, drep, hf_needed, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6394,8 +6251,6 @@ static int SpoolssEnumPrinterKey_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6437,8 +6292,6 @@ static int SpoolssEnumPrinterDataEx_q(tvbuff_t *tvb, int offset,
        offset = dissect_ndr_uint32(
                tvb, offset, pinfo, tree, drep, hf_offered, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6602,8 +6455,6 @@ static int SpoolssEnumPrinterDataEx_r(tvbuff_t *tvb, int offset,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6623,8 +6474,6 @@ static int SpoolssFoo_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
 
        /* Parse packet */
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
@@ -6639,8 +6488,6 @@ static int SpoolssFoo_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
        offset = dissect_doserror(
                tvb, offset, pinfo, tree, drep, hf_rc, NULL);
 
-       dcerpc_smb_check_long_frame(tvb, offset, pinfo, tree);
-
        return offset;
 }
 
index 3b171bcb8049bda1a055509a6760e0918524a7db..7ee7260b7fd0fef9a835a3d4a2c43a419fe7c18d 100644 (file)
@@ -2,7 +2,7 @@
  * Routines for DCERPC packet disassembly
  * Copyright 2001, Todd Sabin <tas@webspan.net>
  *
- * $Id: packet-dcerpc.c,v 1.129 2003/06/12 08:33:29 guy Exp $
+ * $Id: packet-dcerpc.c,v 1.130 2003/06/17 05:29:45 tpot Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@ethereal.com>
@@ -1743,6 +1743,17 @@ dcerpc_try_handoff (packet_info *pinfo, proto_tree *tree,
                 show_reported_bounds_error(tvb, pinfo, tree);
             } ENDTRY;
 
+
+           /* If we have a subdissector and it didn't dissect all data in
+               the tvb, make a note of it. */
+
+           if (tvb_length_remaining(tvb, offset)) {
+               if (check_col(pinfo->cinfo, COL_INFO))
+                       col_append_fstr(pinfo->cinfo, COL_INFO,
+                                       "[Long frame (%d bytes)]",
+                                       tvb_length_remaining(tvb, offset));
+           }
+
             pinfo->current_proto = saved_proto;
             pinfo->private_data = saved_private_data;
         } else {