Commit Graph

50 Commits

Author SHA1 Message Date
Michael Mann 22760b2d2a Remove pinfo->private_data from DCERPC dissectors and instead have dcerpc_info* infomation be passed in as a function parameter. Bug 9387 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9387)
All "generated" source was manually modified (with the power of search/replace), but I believe the "source input" files have been adjusted (checked into revs 53098 and 53099) to reflect the necessary changes (with possible whitespace formatting differences).

The Microsoft compiler doesn't flag "unused function parameters", so I apologize in advance if I may have missed a few.  The "dcerpc_info* di" parameter is used in almost every function.

svn path=/trunk/; revision=53100
2013-11-06 14:31:29 +00:00
Michael Mann 15294a1261 Add a new api to allow dissection of the array payload as a whole. Bug 9307 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9307)
From Matthieu Patou 

svn path=/trunk/; revision=52743
2013-10-21 18:46:52 +00:00
Michael Mann 772fb97f76 We can't really have conformant strings they are always conformant and
varying but pidl insists on having a different function.  Bug 9306 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9306)

From Matthieu Patou.

svn path=/trunk/; revision=52742
2013-10-21 18:33:14 +00:00
Michael Mann ac7caf7007 Add APIs for PIDL generated code to return the value of the integer that was dissected. Bug 9305 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9305).
From Matthieu Patou

svn path=/trunk/; revision=52741
2013-10-21 18:25:41 +00:00
Bill Meier 2ac134b3c5 whitespace fixes; mostly: remove trailing blanks
svn path=/trunk/; revision=52591
2013-10-13 19:56:52 +00:00
Balint Reczey 1ebdb2e521 Export libwireshark symbols using WS_DLL_PUBLIC define
Also remove old WS_VAR_IMPORT define and related Makefile magic
everywhere in the project.

svn path=/trunk/; revision=47992
2013-03-01 23:53:11 +00:00
Gerald Combs 1ffc96d153 From Dirk Jagdmann: Fix a comment in the DCERPC dissector header.
svn path=/trunk/; revision=46208
2012-11-26 21:16:09 +00:00
Jakub Zawadzki bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Guy Harris c34b796445 Add a DREP_LITTLE_ENDIAN for the DCE RPC endianness bit in the data
representation.  Use it rather than a raw 0x10.

Add a DREP_ENC_INTEGER() macro that takes a pointer to the data
representation and returns either ENC_LITTLE_ENDIAN or ENC_BIG_ENDIAN;
use it for the encoding argument to proto_tree_add_item(), rather than
just the AND of drep[0] and DREP_LITTLE_ENDIAN, as it's not a boolean
any more, and for string values we'll be supporting character encodings
as well and thus won't be able to trust that the 0x10 bit will mean
"little endian".

Use ENC_NA for some other encoding values, i.e. for FT_BYTES and the
like.

Fix a couple of places in the DCOM dissector where we were passing the
byte-order bit rather than the field value to
proto_tree_add_uint_format().

Clean up white space.

svn path=/trunk/; revision=38128
2011-07-19 23:02:02 +00:00
Jaap Keuter 302d4c14df From Julien Kerihuel:
I've just finished to write a ncacn_http dissector for Wireshark which
provides the ability to dissect Outlook anywhere packets properly (as
specified by [MS-RPCH].pdf documentation.

svn path=/trunk/; revision=35259
2010-12-23 23:50:14 +00:00
Ronnie Sahlberg 9a9f7acffe From Julien Kerihuel, add support for
unaligned unmarshalling of dissectors generated by PIDL.

This will allow us to use PIDL and additional IDLs from the samba 
project since they use "noalign" for certain protocols.


This may also allow us to use PIDL to describe, and machinegenerate 
dissectors for normal, non-DCERPC, protocols.


This patch for PIDL is still under review, but the PIDL patch is l;ikely 
to be committed soonish.




svn path=/trunk/; revision=31583
2010-01-20 06:02:42 +00:00
Ronnie Sahlberg 061284dbbd merge some changes to samr from the samba idl
svn path=/trunk/; revision=30272
2009-10-04 04:14:49 +00:00
Ronnie Sahlberg e6a48cb668 rename 2or4 to a new type guint1632 and call the dissector for this
function   dissect_ndr_uint1632()


svn path=/trunk/; revision=30265
2009-10-03 05:23:48 +00:00
Ronnie Sahlberg 343b961a48 rename dissect_ndr_4or8 to dissect_ndr_uint3264 to match hte name of
the new datatype uint3264.
create a fake guint3264 type as well


svn path=/trunk/; revision=30264
2009-10-03 05:16:51 +00:00
Ronnie Sahlberg 7783d0f03e add a helper that supports decoding either a 16 or 32 bit integer based
on whether nrd or ndr64 is used.


svn path=/trunk/; revision=30263
2009-10-03 04:49:04 +00:00
Ronnie Sahlberg 0a9289108d teach the dce/rpc pointer dissector about ndr64 and make it dissect
pointers as 8 byte entities when ndr64 is negotiated


svn path=/trunk/; revision=30253
2009-10-03 00:03:48 +00:00
Ronnie Sahlberg 2ea2589afb we need to copy the information about the transport syntax, i.e. i fit
is ndr64 or not, from the bind information to the data we store for each 
individual pdu, since the trnasport syntax may change dynamically back 
and forth between "normal" and "ndr64" on the same conversation.



svn path=/trunk/; revision=30226
2009-10-01 08:55:25 +00:00
Gerald Combs 8afdf51d9f From Didier Gautheron via bug 3531:
Recent glib versions always include signal.h in gbacktrace.h

On Linux PPC signal.h defines PT_R4 which is also defined by samba and
compilation fails.

svn path=/trunk/; revision=28727
2009-06-14 20:57:57 +00:00
Ronnie Sahlberg bf27687d94 add more policy handle types for the new LSA dissector
svn path=/trunk/; revision=26319
2008-10-01 00:47:05 +00:00
Ronnie Sahlberg 4284906aba based on the novell idllib sources :
add dissection of the 16 byte header prior to the NDR data when NDR is 
transported as a blob ontop of !dcerpc
like the LOGON_INFO in the PAC in kerberos


svn path=/trunk/; revision=24289
2008-02-08 09:20:02 +00:00
Ronnie Sahlberg 8fde3b7561 rename dcerpc_smb_store_pol_name to dcerpc_store_polhnd_name
rename dcerpc_smb_fetch_pol  to dcerpc_fetch_polhnd_data and also make 
it take an additional parameter to return the "type" of the policy 
handle, if such a type was stored.

extend the pol_value structure used to track policy handles to also 
store a type to represent what created the policy handle
types could be USER/ALIAS/CONNECT/... etc handles returned from the 
SAMR interface

add a new helper function  dcerpc_store_polhnd_type()

track policy handles between request/responses for dcerpc

update the samr.cnf file to make the samr dissectors for
SetSecurity/QuerySecurity dissect the specific bits for the security 
descriptor correctly based on whether the policy handle refers to a 
CONNECT/DOMAIN/USER/ALIAS or GROUP



svn path=/trunk/; revision=22703
2007-08-28 11:45:08 +00:00
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
Ronnie Sahlberg bf87640840 add PIDL friendly helper to manage unicode strings
svn path=/trunk/; revision=20941
2007-02-27 09:37:48 +00:00
Ronnie Sahlberg 66cf1f33e0 add new flag for PIDL conformance files : PIDL_SET_COL_INFO
which applies (for now only) to integer types.
when this flag is specified as PARAM_VALUE the fields name and its value will be pushed onto the info column of the summary line



svn path=/trunk/; revision=20922
2007-02-25 11:48:06 +00:00
Ronnie Sahlberg 470e92125e move the defines for PIDL_POLHND_{OPEN|CLOSE} to packet-dcerpc.h
also change their values to use the top order bits of an uint32 instead of the least significant ones



svn path=/trunk/; revision=20919
2007-02-25 01:47:43 +00:00
Ronnie Sahlberg aa3d3793b7 add new PIDL friendly helpers for dissection of integer types.
these new helpers take a parameter that can be used to decorate the tree and summary line (when this parameter is acted upon/implemented in the code inside the helpers)

WINREG was regenerated using a patched version of PIDL. Mainline version of PIDL does not yet have this patch applied.



svn path=/trunk/; revision=20918
2007-02-25 01:34:41 +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 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
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
Gerald Combs f7e38bd5e6 Change ETH_VAR_IMPORT to WS_VAR_IMPORT. Try to fix a duplicate variable
definition in the Catapult DCT2000 code.

svn path=/trunk/; revision=18524
2006-06-20 18:30: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
Jörg Mayer 7949c7f31c char -> const char warning fixes
svn path=/trunk/; revision=15079
2005-07-26 08:01:16 +00:00
Jörg Mayer 88895e2f02 Warning fixes
svn path=/trunk/; revision=15067
2005-07-25 21:08:14 +00:00
Guy Harris 554f620001 Constify to remove a bunch of warnings. Add some casts to squelch
(presumably-)harmless-but-otherwise-unremovable const-to-nonconst
warnings.

In the TACACS dissector, clean up the variables used in option parsing
to avoid some const-to-nonconst warnings.

Clean up some white space.

svn path=/trunk/; revision=15043
2005-07-24 19:01:28 +00:00
Jörg Mayer 30a8557868 More 'char*' -> 'const char*' changes to fix warnings.
svn path=/trunk/; revision=15015
2005-07-23 11:41:25 +00:00
Ronnie Sahlberg 1fe0f9022e a lot of people dont specify top level pointers in teh idl and just
cerlare it as a parameter that is a struct/union and not a ref pointer to one.

this is ok since toplevel ref pointers are invisible in the wire encoding anyway.

unfortunatelky  ethereal dce runtime needed to see that pointer to keep track of whisch one was a toplevel and which one wasnt.


implement a new api to call pointers which explicitely specifies whether the pointer is toplevel or embedded.
eventually all dce dissectors will use this new interface and the generic dissect_ndr_pointer() can be retired.



svn path=/trunk/; revision=13755
2005-03-14 20:51:13 +00:00
Ronnie Sahlberg 0180d280fe change the signature for the functions to decrypt data for the
dcerpc_auth_subdissector_fns structure.

the SignAndSeal decryption (which works really well) needs this.



svn path=/trunk/; revision=13688
2005-03-10 08:50:18 +00:00
Ronnie Sahlberg 4a338216da pinfo->private_data was a quite subptimal idea
change the decodeas for dcerpc so that it actually works again for dcerpc over smb



svn path=/trunk/; revision=13515
2005-02-25 10:30:21 +00:00
Ronnie Sahlberg 1c644d6ff7 add support for varying arrays
svn path=/trunk/; revision=13399
2005-02-14 19:43:34 +00:00
Ronnie Sahlberg e95485ff81 add support for varying strings in addition to conformant and varying strings that we already support
svn path=/trunk/; revision=13278
2005-02-04 04:02:36 +00:00
Guy Harris 75e4d0a2ce Use the 64-bit integer fetch routines to support 64-bit NDR integers.
svn path=/trunk/; revision=13198
2005-01-29 20:39:14 +00:00
Ronnie Sahlberg 0c00534dd1 we need a dissect_ndr_uint64() that dissects an NDR hyper
svn path=/trunk/; revision=13185
2005-01-28 09:37:47 +00:00
Ronnie Sahlberg 610da77693 older MS DCE/RPC interfaces often use a construct that is to be treated as a 64 bit integer but in reality is a struct containing 2 32bit integers.
this construct is aligned on 4 byte boundaries in ndr and NOT
8 bytes as a real uint64 (== hyper) would be.


rename the existing dissect_ndr_uint64  ro  dissect_ndr_duint32  (double uint32) to make it reflect better the alignment of the type.



svn path=/trunk/; revision=13184
2005-01-28 09:29:49 +00:00
Ulf Lamping aa139758f9 add new function dissect_dcerpc_uuid_t and let dissect_ndr_uuid_t call it
svn path=/trunk/; revision=13006
2005-01-12 21:20:50 +00:00
Ulf Lamping ea0baf468e (on behalf of the PROFIBUS Nutzerorganisation e.V. Deutschland):
another part of the PROFINET dissectors (PN-CBA, including a lot of generic DCOM dissection) still some work to be done ...

svn path=/trunk/; revision=12776
2004-12-19 13:46:09 +00:00
Ulf Lamping 26afcbd9cc First working implementation of "Decode As" for DCE-RPC interface bindings. Ethereal needs to capture the DCE-RPC bind sequence, to get a relationsship between the interface UUID and the current conversation. If this binding wasn't captured, one can use "Decode As" and choose the interface from a list corresponding to a specific conversation. Currently "only" implemented for connectionoriented (TCP) DCE-RPC, but connectionless is a work in progress.
svn path=/trunk/; revision=11924
2004-09-07 16:19:56 +00:00
Ulf Lamping 7125550f19 rename add_conv_to_dcerpc_bind_table to dcerpc_add_conv_to_bind_table and don't use packet_info as a parameter
svn path=/trunk/; revision=11916
2004-09-06 19:51:33 +00:00
Ulf Lamping 4777e5ef7b From Eric Wedel: backend things for "Decode As" of DCE-RPC interfaces
svn path=/trunk/; revision=11894
2004-09-04 11:35:26 +00:00
Gilbert Ramirez 669db206cb Move dissectors to epan/dissectors directory.
Also move ncp222.py, x11-fields, process-x11-fields.pl,
make-reg-dotc, and make-reg-dotc.py.

Adjust #include lines in files that include packet-*.h
files.

svn path=/trunk/; revision=11410
2004-07-18 18:06:47 +00:00