diff options
author | tpot <tpot@f5534014-38df-0310-8fa8-9805f1628bb7> | 2003-06-17 05:29:46 +0000 |
---|---|---|
committer | tpot <tpot@f5534014-38df-0310-8fa8-9805f1628bb7> | 2003-06-17 05:29:46 +0000 |
commit | b50d55422c1c02067c6a87c22ded5b62a7b40fc3 (patch) | |
tree | a5422bf833e7dc12ed834fc29fa61bf2acd116a4 | |
parent | d427fa0a1f30717f6a61a8f23ec44215d0f41448 (diff) |
Remove silly dcerpc_smb_check_long_frame() function and all calls to it.
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
-rw-r--r-- | packet-dcerpc-nt.c | 24 | ||||
-rw-r--r-- | packet-dcerpc-nt.h | 8 | ||||
-rw-r--r-- | packet-dcerpc-reg.c | 38 | ||||
-rw-r--r-- | packet-dcerpc-spoolss.c | 155 | ||||
-rw-r--r-- | packet-dcerpc.c | 13 |
5 files changed, 16 insertions, 222 deletions
diff --git a/packet-dcerpc-nt.c b/packet-dcerpc-nt.c index d62dc49ad7..55d46c6adf 100644 --- a/packet-dcerpc-nt.c +++ b/packet-dcerpc-nt.c @@ -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 diff --git a/packet-dcerpc-nt.h b/packet-dcerpc-nt.h index 68a3b1e6a4..4b0ca6604d 100644 --- a/packet-dcerpc-nt.h +++ b/packet-dcerpc-nt.h @@ -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 diff --git a/packet-dcerpc-reg.c b/packet-dcerpc-reg.c index 55b1cbc968..fd0242db21 100644 --- a/packet-dcerpc-reg.c +++ b/packet-dcerpc-reg.c @@ -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; } diff --git a/packet-dcerpc-spoolss.c b/packet-dcerpc-spoolss.c index 1e149d0fce..22f4b67dc4 100644 --- a/packet-dcerpc-spoolss.c +++ b/packet-dcerpc-spoolss.c @@ -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; } diff --git a/packet-dcerpc.c b/packet-dcerpc.c index 3b171bcb80..7ee7260b7f 100644 --- a/packet-dcerpc.c +++ b/packet-dcerpc.c @@ -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 { |