Commit Graph

109 Commits

Author SHA1 Message Date
Ronnie Sahlberg d71ee1a0e5 update PIDL_dissect_cvstring so that it can be used in a future pidl to
prettify strings


svn path=/trunk/; revision=21722
2007-05-08 00:04:51 +00:00
Ulf Lamping 302f45549f add CBA_E_INVALIDID
svn path=/trunk/; revision=21699
2007-05-06 12:07:44 +00:00
Stephen Fisher 763a80f5bb Fix more warnings
svn path=/trunk/; revision=21286
2007-03-30 21:20:57 +00:00
Guy Harris 70e3ec388f Get rid of unused variable.
svn path=/trunk/; revision=21064
2007-03-19 02:36:30 +00:00
Ronnie Sahlberg bf87640840 add PIDL friendly helper to manage unicode strings
svn path=/trunk/; revision=20941
2007-02-27 09:37:48 +00:00
Jaap Keuter ef1750b7d2 From Stefan Metzmacher:
I have a little additional patch, that makes it easier to see what which bytes
are not caught by the sub_dissector.
And it makes it easy to select and export the full payload to a file.

svn path=/trunk/; revision=19987
2006-11-26 13:24:07 +00:00
Jaap Keuter 5a648d6193 From Stefan Metzmacher:
This patch fixes some problems with encrypted DCERPC traffic

svn path=/trunk/; revision=19971
2006-11-24 07:16:06 +00:00
Ronnie Sahlberg 2b66ba9604 fix for bug 1226:
reported by Benjamin Meyer  

WireShark marks DCE RPC FACKs as "malformed" if they do not have a body.
According to DCE RPC Spec. 1.1 FACKs "may contain" a body PTU.

I am unable to build WireShark (lack of time to install all neccessary stuff)
but I looked at the SourceCode. I think, at least this has to be fixed:

file: epan/dissectors/packet-dcerpc.c
function: static gboolean dissect_dcerpc_dg (tvbuff_t *tvb, packet_info *pinfo,
proto_tree *tree)

*snip*
case PDU_FACK
dissect_dcerpc_dg_fack (tvb, offset, pinfo, dcerpc_tree, &hdr); 
break;
*snap*

I guess, it should look like "case PDU_NOCALL:" directly above.



svn path=/trunk/; revision=19952
2006-11-21 21:11:18 +00:00
Gerald Combs df360ddc8c Catch an infinite loop. Fixes bug 1172.
svn path=/trunk/; revision=19640
2006-10-20 19:37:11 +00:00
Ronnie Sahlberg c220a1a89a From stephen fisher:
I have figured out one of the fields in the MAPI
EcRRegisterPushNotification packet.  The field is a UDP port number that
the client wants the Exchange server to send new mail notifications on.
These notifications are on a port > 1023 and are always 8 bytes long.

It looks like I would add the function name to the
dcerpc_mapi_dissectors[] for the register push notification.  What would
my new function need to do besides display the field?


Thanks,

Steve

Here is a patch to add this functionality.  It displays the notification
port and the notification payload (not sure what the payload itself
means yet).  It also dynamically registers each notification port found
with a new dissector (that I called newmail for lack of a better name -
I'm open to suggestions) that displays the notification payload.  This
is all undocumented by Microsoft in their usual fashion.

I also changed the code to always display the mapi.opnum field;
currently, the mapi.opnum is only displayed when the
dcerpc_mapi_dissector is null.


Steve




svn path=/trunk/; revision=19350
2006-09-28 16:29:18 +00:00
Ulf Lamping 8ee212b535 print the connectionless interface name if such is known
svn path=/trunk/; revision=19309
2006-09-24 11:10:31 +00:00
Ronnie Sahlberg 5c2232dc22 replace a rotating buffer in smb with ep allocated memory
dont try dcerpc reassembly of fragments if we dont have the entire pdu

only call the heuristical dissectors once from smb/pipe as per guy(?)s comments about idempotence.
when doing reassembly, the dcerpc dissector is indeed not idempotent any more.



svn path=/trunk/; revision=19304
2006-09-23 13:21:54 +00:00
Ronnie Sahlberg f6976864bf the way we pass dcerpc strings from deep down in helpers to high level dissector functions (dcv->private_data) for things such as strings and sids is a mess and very difficult to handle without a lot of memory leakage.
the biggest problem in changing this is the dcv->private_data usage.


add a dcv->se_data which can keep data around from a request to a response and use this to change the LSA/OpenPolicy2 servername passing from request to response as a test pattern of moving all users of dcv->private data over to use dcv->se_data.

once all users are migrated over we can then change the dcv->private data pointer to be of ep scope and thus not need an explicit free (which is quite difficult and it is quite difficult in the old semantics to know WHEN we need to free this pointer)

this will eventually make the usage more clean and at the same time close down quite a few memory leaks.


eventually this will make dissect_ndr_nt_SID return a pointer to ep allocated memory that need not be explicitely freed.



svn path=/trunk/; revision=19226
2006-09-13 08:30:16 +00:00
Ulf Lamping ac76ad1c64 tweak some expert infos so they better work with the composite dialog (e.g. remove some minor details)
svn path=/trunk/; revision=19176
2006-09-07 20:35:26 +00:00
Guy Harris d6209d8dbe Add brackets to squelch a compiler warning.
Fix indentation.

svn path=/trunk/; revision=19114
2006-09-02 06:36:42 +00:00
Ulf Lamping 18b2bf8992 minor format string change
svn path=/trunk/; revision=19065
2006-08-28 21:13:37 +00:00
Ronnie Sahlberg b588469ccf guids are not olnly used in dcerpc interfaces and they often occur in many other protocols such as ldap and smb/smb2
move the initialization of the guid mapping table from the dcerpc dissector to a more neutral place


svn path=/trunk/; revision=18947
2006-08-18 09:32:19 +00:00
Ulf Lamping 7d04019388 some further work on the GUID/UUID resolvings
most of the relevant code moved to guid_utils
lot of corresponding code cleanup in packet-dcerpc.c
still using GHashTable
still not using a manuf like file

svn path=/trunk/; revision=18939
2006-08-17 19:09:41 +00:00
Ronnie Sahlberg c7250199a7 add missing _WIN32 encapsulation so braces match and compilation under non-win32 works
svn path=/trunk/; revision=18936
2006-08-17 07:35:58 +00:00
Ulf Lamping de0594b9a5 various UUID/GUID based changes.
I think I've changed all corresponding appearances from FT_STRING to FT_GUID, so assert the FT_ type as it should only be a FT_GUID now.

Add a generic implementation in guid_utils.h to have a way to store data about GUID to name resolving (something like value_string for e.g. int). It might be better to have a single registry for all GUID's of all dissectors and implement the GUID name resolving into the proto_tree_add... functions.

svn path=/trunk/; revision=18935
2006-08-16 23:13:26 +00:00
Ulf Lamping ccef184052 add some more "informational" (generated) fields to the dcerpc tree
these fields can help with the everyday work of the DCE/RPC (and upper) protocol dissections

svn path=/trunk/; revision=18784
2006-07-22 11:33:24 +00:00
Ulf Lamping c2e7ac88f2 don't use only upper case letters for ResolveWin32UUID parameter and variable names
svn path=/trunk/; revision=18688
2006-07-08 15:04:20 +00:00
Ulf Lamping 78bda25f6d if the request/response subdissector couldn't be called because of missing bind information,
add a generated field telling the user and add an expert info entry

This often happens when the capture misses the binding procedure at the beginning of a conversation "capture start too late".

svn path=/trunk/; revision=18687
2006-07-08 14:55:43 +00:00
Ulf Lamping 6018876eea add another CBA DCOM HRESULT
svn path=/trunk/; revision=18675
2006-07-06 21:39:50 +00:00
Ulf Lamping be94c1a5b0 lower the expert info level from NOTE to CHAT for the multiple PDU message, as this is a common behaviour
svn path=/trunk/; revision=18634
2006-07-01 12:19:33 +00:00
Ulf Lamping 5616d05c1f keep the (optional) Object UUID in the call value
svn path=/trunk/; revision=18613
2006-06-29 18:51:30 +00:00
Ulf Lamping 61396bca97 the drep parameter of dissect_dcerpc_uuid_t() should be guint8 * instead of char * (just like all the other dissect_dcerpc_...() functions).
This should fix some "differ in signedness" warnings (and maybe will raise new ones, which should be fixed at the calling places then)

svn path=/trunk/; revision=18605
2006-06-29 08:08:36 +00:00
Ulf Lamping ecb07acdef add a new column DCE/RPC context ID
svn path=/trunk/; revision=18578
2006-06-26 20:46:15 +00:00
Ulf Lamping f62e617029 fix the reading of UUID's from the Win32 registry, it was broken as we switched to UNICODE compilation
I thought there was a bugzilla entry about this, but couldn't find it

svn path=/trunk/; revision=18561
2006-06-23 18:06:54 +00:00
Ulf Lamping 28f87e7d3b add a missing status code
svn path=/trunk/; revision=18470
2006-06-15 11:43:35 +00:00
Ulf Lamping fca1199357 add some more DCOM related HRESULTS
svn path=/trunk/; revision=18437
2006-06-12 19:28:54 +00:00
Ronnie Sahlberg feab79e328 change a whole bunch of ethereal into wireshark
svn path=/trunk/; revision=18196
2006-05-21 04:49:01 +00:00
Ulf Lamping 6f6bd1f10a add two missing DCOM Dispatch error codes
svn path=/trunk/; revision=18097
2006-05-05 19:32:49 +00:00
Ronnie Sahlberg b43c495d49 fix for coverity bug 41
if decryption failed there was a possibility to dereference a null pointer


svn path=/trunk/; revision=17657
2006-03-17 21:03:14 +00:00
Gerald Combs 172556500d Remove MIN and MAX defines, which GLib provides.
svn path=/trunk/; revision=17551
2006-03-09 16:00:33 +00:00
Gerald Combs d2c8d80b33 Fix a couple of compilation warnings.
svn path=/trunk/; revision=17538
2006-03-08 22:42:24 +00:00
Gerald Combs 9406c5db24 Use Unicode for all native Win32 calls. Unicode Windows applications
use UTF-16 internally and GTK+ 2.x uses UTF-8, which means we have to
do a lots of conversions.

Add utf_8to16() and utf_16to8 convenience functions to strutil.c.

svn path=/trunk/; revision=17534
2006-03-08 20:55:32 +00:00
Guy Harris b13f6dcbd3 Use the new "proto_tree_add_*_format_value" routines.
svn path=/trunk/; revision=17316
2006-02-16 11:43:38 +00:00
Ulf Lamping 67e90082a7 add "RPC_E_TIMEOUT" to the reject status codes
svn path=/trunk/; revision=17053
2006-01-19 02:00:28 +00:00
Ronnie Sahlberg 728323e533 add initial decode of dcerpc over smb2
it does not yet multiplex between different files   but it is better than nothing


svn path=/trunk/; revision=16484
2005-11-12 08:48:02 +00:00
Gerald Combs 93b99abf30 In packet-dcerpc-nt.c, make sure we call init_pol_hash() each time we load
a capture file.  This should fix bug #536.

Make sure we initialize our hash tables in packet-dcerpc-nt.c and several 
other files.  Fix up whitespace while we're at it.

svn path=/trunk/; revision=16255
2005-10-17 18:56:27 +00:00
Ulf Lamping 9a42ef9536 fix #480: Change defaults for all reassembling settings to ON
I've changed all settings I could find to TRUE. It might be reasonable to change some protocol settings back to FALSE, if reassembling fails very often.

svn path=/trunk/; revision=16048
2005-09-28 22:15:38 +00:00
Guy Harris d77101151a If "dissect_dcerpc_cn()" throws an exception when called by
"dissect_dcerpc_cn_bs_body()", it's because it recognized the packet as
a DCE RPC packet, but it ran out of data dissecting it as such;
increment the count of DCE RPC PDUs, so "dissect_dcerpc_cn_bs_body()"
returns TRUE, and its caller doesn't think nothing was dissected.

Fuzzed with some DCE RPC captures.

svn path=/trunk/; revision=16000
2005-09-25 09:06:48 +00:00
Ronnie Sahlberg b52e2939d7 remove some compiler warnings
svn path=/trunk/; revision=15974
2005-09-23 10:31:39 +00:00
Ulf Lamping 9d1af7d6fb add two more bind reject reasons from the specs
svn path=/trunk/; revision=15962
2005-09-22 21:07:25 +00:00
Ulf Lamping e8dd2e9279 fix: packet-dcerpc.c(4019) : warning C4018: '<' : signed/unsigned mismatch
svn path=/trunk/; revision=15892
2005-09-20 08:55:50 +00:00
Ulf Lamping 485d75946c split call id's with a #, if more than one DCE/RPC call is in a data PDU
svn path=/trunk/; revision=15841
2005-09-16 22:05:50 +00:00
Ulf Lamping 1d0e5b105c add E_OUTOFMEMORY
svn path=/trunk/; revision=15803
2005-09-14 20:09:17 +00:00
Ronnie Sahlberg 6f8fbd169d Allow dissection of dcerpc of short frames instead of aborting as soon as it is detected the pdu is "short"
svn path=/trunk/; revision=15796
2005-09-14 16:06:11 +00:00
Ulf Lamping ff50ef8490 add number of defragmented bytes to the expert info output
svn path=/trunk/; revision=15771
2005-09-12 20:02:58 +00:00