Commit Graph

5132 Commits

Author SHA1 Message Date
Richard Sharpe 60d5c327e9 Add a hidden length fild for TCP, tcp.len. Also fixed a small type.
svn path=/trunk/; revision=5210
2002-04-21 02:57:01 +00:00
Guy Harris d40820124b On Windows, include "capture-wpcap.h", to define "has_wpcap".
svn path=/trunk/; revision=5209
2002-04-20 20:29:28 +00:00
Guy Harris 5984e4ba95 Clean up white space.
Fix the display filter expression generated for protocol tree items
without named fields attached to them; the length defaults to 1 if not
specified in a range expression, so the length should be specified.

svn path=/trunk/; revision=5208
2002-04-20 08:07:56 +00:00
Tim Potter 21c3c06391 Dissect ntstatus codes instead of uint32 for response packets.
Display pretty names in COL_INFO for commonly used functions
(RequestChallenge, Auth2, SamLogon).

svn path=/trunk/; revision=5207
2002-04-20 07:15:19 +00:00
Guy Harris 3cab99ea75 Don't prime the display filter unless we're re-applying it; otherwise,
we aren't building a protocol tree, and we can't prime the filter
against the tree.

svn path=/trunk/; revision=5206
2002-04-20 01:54:27 +00:00
Guy Harris b06e01ece1 Bug fix from Frank Singleton.
svn path=/trunk/; revision=5205
2002-04-19 22:23:37 +00:00
Guy Harris 3e35c8a9b1 On Windows, don't put the capture preferences item into the
"Preferences" dialog box if we couldn't load WinPcap.

svn path=/trunk/; revision=5204
2002-04-19 20:49:28 +00:00
Guy Harris a056c5052d proto_registrar_get_nth(hfinfo->id) == hfinfo, so use the latter rather
than the former.

svn path=/trunk/; revision=5203
2002-04-19 10:03:52 +00:00
Guy Harris ea17f40455 Initial support for writing NetXRay 2.x (Windows Sniffer) format
captures, from Olivier Abad.

svn path=/trunk/; revision=5202
2002-04-18 21:35:57 +00:00
Guy Harris 50155a975d From Phil Williams: support for looking up fields by name.
Clean up some white space, and one non-extern declaration in
"epan/proto.h".

svn path=/trunk/; revision=5201
2002-04-18 20:19:10 +00:00
Ronnie Sahlberg 9a1a6bd888 More LSA updates
svn path=/trunk/; revision=5200
2002-04-18 10:40:30 +00:00
Tim Potter 56c4ae48cf Removed init routine as the dcerpc/smb init is now done in the correct
location.

svn path=/trunk/; revision=5199
2002-04-18 02:42:43 +00:00
Tim Potter 1b96c64729 Use common policy handle hashing code in packet-dcerpc-nt.c
Fix for lsa_open_policy request dissection.

svn path=/trunk/; revision=5198
2002-04-18 02:35:45 +00:00
Guy Harris ec005ccd0b Catch attempts to register ett_ values after the array of "tree is
expanded" flags has been allocated.

svn path=/trunk/; revision=5197
2002-04-18 00:50:45 +00:00
Guy Harris 92e27e03c1 Add a "proto_register_dcerpc_smb()" which registers ett_ values for
"packet-dcerpc-nt.c", and registers "dcerpc_smb_init()" as an
initialization routine.  Take the ett_ registration out of the latter
routine, and also take out the "do this only once" stuff.

Get rid of the initialization routines for netlogon, samr, and spoolss;
they just call "dcerpc_smb_init()", which is now an initialization
routine of its own.

The policy hash initialization should be done before every capture, so
it should be done in an initialization routine, and should not do any
"do this only once" stuff.  It should also be called only once before
every capture, rather than 3 times.

The ett_ initialization should, however, be done at the same time all
other ett_ initialization is done - at protocol registration time - so
it should be done in a "proto_register_" routine.

This fixes a bug I saw wherein

	1) the tree for Unicode strings was open by default

and

	2) if you closed one and then exited, Ethereal would crash.

The problem is that "proto_register_subtree_array()" doesn't expand the
array, it just bumps the number of registered ett_ values; the array is
allocated in "proto_init()".  As such, if you register ett_ values with
"proto_register_subtree_array()" *after* "proto_init()" is called - and,
even for the first capture, initialization routines are called after
"proto_init()" is called - you will get ett_ numbers that go past the
number of elements in the array.

Move the declaration of "ett_nt_unicode_string" to "packet-dcerpc-nt.h",
as it's exported from "packet-dcerpc-nt.c".

Get rid of the declaration of "dcerpc_smb_init()" in
"packet-dcerpc-nt.h", and make it static, as it's no longer called from
outside "packet-dcerpc-nt.c".

svn path=/trunk/; revision=5196
2002-04-18 00:29:17 +00:00
Ronnie Sahlberg a7c4e209cb bugs found when verifying agains muddle generated idl file
svn path=/trunk/; revision=5195
2002-04-17 15:39:27 +00:00
Ronnie Sahlberg 1e24ac236f Bugfixes for LSA dissector and a small change to the security_descriptor dissector in packet-smb.c so we can call it from DCERPC NDR encoded services.
svn path=/trunk/; revision=5194
2002-04-17 15:11:30 +00:00
Ronnie Sahlberg b6bde1d150 Tiny bugfix. One element was declared as of the wrong type.
svn path=/trunk/; revision=5193
2002-04-17 13:48:56 +00:00
Tim Potter c45862ed49 Display rids for open user, group, alias in COL_INFO.
Give query user info its own dissector.

svn path=/trunk/; revision=5192
2002-04-17 11:32:24 +00:00
Tim Potter 6156156841 Prettification of SAMR dissector - display short names in COL_INFO.
svn path=/trunk/; revision=5191
2002-04-17 11:17:43 +00:00
Ronnie Sahlberg 08042dae37 Added LSAENUMERATEPRIVILEGESACCOUNT, LSAADDPRIVILEGESTOACCOUNT and LSAREMOVEPRIVILEGESFROMACCOUNT function dissectors and support functions to LSA.
svn path=/trunk/; revision=5190
2002-04-17 11:01:38 +00:00
Guy Harris faeb2c2ee1 In "fragment_add_seq_check()", handle short frames the same way
regardless of whether they're the first frame we see in a reassembly or
not - put all but the last fragment into the hash table (so subsequent
frames with the same reassembly ID don't get misdissected as
unfragmented frames), return the head of the fragment list for the first
fragment and NULL for all other fragments (so the first fragment gets
dissected as a fragmented packet), and unhash the fragment head from the
reassembly hash table when we see the last fragment.

svn path=/trunk/; revision=5189
2002-04-17 10:59:58 +00:00
Ronnie Sahlberg 26c388b3aa Added dissection of LSA functions LSALOOKUPPRIVILEGENAME and LSALOOKUPPRIVILEGEVALUE
svn path=/trunk/; revision=5188
2002-04-17 10:41:05 +00:00
Ronnie Sahlberg 2a9a827445 Added dissection and support functions for LSAENUMERATEPRIVILEGES
function.

svn path=/trunk/; revision=5187
2002-04-17 10:29:09 +00:00
Guy Harris b2c11b5e13 Don't try to reassemble short frames - but do still pass them through at
least some of the reassembly mechanism, so we can deal with both bogus
and real last fragment (display the bogus ones as unfragmented frames,
treat the real ones as fragments).

svn path=/trunk/; revision=5186
2002-04-17 10:07:57 +00:00
Ronnie Sahlberg 332340c868 Change the way not implemented functions are commented out so thast ethereal
will still print the name of the function even if no dissector for it exists.

svn path=/trunk/; revision=5185
2002-04-17 09:51:11 +00:00
Guy Harris 3cd4cd18c3 Fix up the handling of the "fragmented" flag in the "packet_info"
structure (make it match the way it's done in the IP dissector).

svn path=/trunk/; revision=5184
2002-04-17 09:34:09 +00:00
Ronnie Sahlberg 7a2e668b0a Remove some temporary functions from NETLOGON now that the real functions
exist in LSA.

svn path=/trunk/; revision=5183
2002-04-17 09:32:48 +00:00
Guy Harris 9bfe54fe7c Show the "More Fragments" indicator as such, rather than as a "this is
fragmented" vs. "this is not fragmented" indicator.

svn path=/trunk/; revision=5182
2002-04-17 09:30:58 +00:00
Ronnie Sahlberg cfbe21e383 LSA dissector updates. Adds a lot of LSA functions to the dissector.
Also export dissect-nt-GUID() from netlogon since this structure is common to
other interfaces as well.

svn path=/trunk/; revision=5181
2002-04-17 09:24:09 +00:00
Guy Harris e76bb99b9f Don't bother with "reassembled_key" structures - just use the
"frame_data" structure for the frame as the key structure, and use the
frame number in that field as the key.  (We could be even cheesier and
use the frame number as the key, with casts.)

When we move an entry from the hash table of reassemblies to the hash
table of reassembled packets, free the key structure for the first hash
table.  (This doesn't plug a leak, as they get freed when you
reinitialize the data structures, but it does reduce the memory needed
for them to the amount needed for in-progress reassemblies rather than
the amount needed for all reassemblies.)

svn path=/trunk/; revision=5180
2002-04-17 08:57:07 +00:00
Guy Harris e78141670a In a ChangeHosts request, display 4-byte Internet addresses as IPv4
addresses.

When showing a list of keysyms, build the text representation of the
item for the list by appending keysyms to the text of the item as
dissected; this fixes a bug in the display of those keysums, and means
that we don't build a text string with the keysyms if we're not
generating the text representation.

svn path=/trunk/; revision=5179
2002-04-17 08:33:09 +00:00
Guy Harris 43141af937 Fix up the offsets in the list of segments.
svn path=/trunk/; revision=5178
2002-04-17 08:30:17 +00:00
Guy Harris ed3b0cae65 Add a separate hash table to the reassembly code for reassembled
packets, using the reassembly ID and the frame number of the final frame
as the key.  There is no guarantee that reassembly IDs won't be reused,
even when talking between the same source and destination address; if,
once reassembly is complete, the "fragment_data" structure is moved to
the latter hash table, this will keep reused reassembly IDs from causing
mis-reassembly.

Add a routine "fragment_add_seq_check()", which

	if a fragment has the "more fragments" flag not set but is the
	first fragment of a reassembly, treats that as a non-fragmented
	frame, allocating a "fragment_data" structure for the reassembly
	but not attaching any fragment to it, and adding it to a
	reassembled packet list;

	if a packet has been reassembled, removes it from the table of
	reassemblies and moves it to the table of reassembled packets;

	if the frame's been seen already, looks it up in the table of
	reassembled packets rather than the table of reassemblies.

Add reassembly support for fragmented 802.11 frames.  Use
"fragment_add_seq_check()" to cope with the fact that some
hardware+drivers apparently hands us reassembled frames with a non-zero
fragment number and the "more fragments" bit clear (as if it puts the
802.11 header of the *last* fragment onto the reassembled data).

svn path=/trunk/; revision=5177
2002-04-17 08:25:05 +00:00
Tim Potter 8241e67243 Use policy handle hash code in DCERPC/SMB SAMR dissector.
Start to move some common stuff into packet-dcerpc-nt.[ch]

svn path=/trunk/; revision=5176
2002-04-17 07:52:26 +00:00
Guy Harris f5880dd3bd Rename the "frag_offset" argument of "fragment_add_seq()" to
"frag_number", to make it clearer that it's not a byte offset but a
sequence number.

svn path=/trunk/; revision=5175
2002-04-17 04:54:30 +00:00
Guy Harris 7ac653c0b4 From Michael Tuexen: add missing support for the T-Bit in ABORT chunks.
svn path=/trunk/; revision=5174
2002-04-16 19:58:53 +00:00
Guy Harris 85a67ed6d5 Add support for desegmentation of X11 messages.
Try to check whether the first request we see is an initial connection
request, and dissect it as such if so.

Get rid of the global "next_offset" variable.

Check for buffer overflows when building the summary item for a list
of keysyms.

Display BASE_DEC items in decimal, not hex.

svn path=/trunk/; revision=5173
2002-04-16 09:42:31 +00:00
Gerald Combs 56dfc65552 Fix more Politecnico di Torino links.
svn path=/trunk/; revision=5172
2002-04-16 03:00:54 +00:00
Guy Harris 827426c4d1 Do the standard "next entry offset" stuff in NT NOTIFY replies, so as to
1) handle inter-entry padding;

	2) quit when the "next entry offset" is 0 (that being the signal
	   for the last entry).

svn path=/trunk/; revision=5171
2002-04-16 02:42:24 +00:00
Tim Potter 0f7ea5950d Display non-zero return codes in COL_INFO.
svn path=/trunk/; revision=5170
2002-04-16 02:02:04 +00:00
Guy Harris 693bcba7cb From Michael Tuexen:
- support for current SCTP checksum
	- fix a bug for the -S parameter
	- fix a bug in the displayed output for the TSN and PPI.

svn path=/trunk/; revision=5169
2002-04-15 21:53:55 +00:00
Guy Harris cec44f7274 ASAP support, from Michael Tuexen.
svn path=/trunk/; revision=5168
2002-04-15 21:47:59 +00:00
Guy Harris 8440dc6316 From Jason Lango: a hack to get SDES length correct on QT packets.
svn path=/trunk/; revision=5167
2002-04-15 21:25:05 +00:00
Guy Harris 91dbbe7b2e From Simharajan Srishylam:
In capability element, length is for the value (excluding type &
	len field) not for the whole element.  Results in packets not
	being parsed correctly.

svn path=/trunk/; revision=5166
2002-04-15 21:12:56 +00:00
Uwe Girlich f969355957 From Ronnie Sahlberg: dissect_mount_dirpath_call()
The sprintf() thingy failed to properly null terminate the string thus
causing damage.

svn path=/trunk/; revision=5165
2002-04-15 08:55:03 +00:00
Guy Harris e59948bc2d Use "CLEANUP_PUSH()" and "CLEANUP_CALL_AND_POP()" to plug potential
memory leaks.

Put "Requests", not "X11 request", in the Info column for packets to the
server - we already know it's X11, and there may be more than one
request in the packet.

Put "Replies/events", not "X11 event", in the Info column for packets
from the server - we already know it's X11, and there may be more than
one message, and the messages might be replies rather than events.

svn path=/trunk/; revision=5164
2002-04-15 00:10:26 +00:00
Guy Harris 64fe90a383 From Joerg Mayer: get rid of some unused variables and arguments.
Use "tvb_get_ntohs()" to fetch the checksum from a VJ compressed packet,
rather than doing the ntoh by hand.

svn path=/trunk/; revision=5163
2002-04-14 23:22:22 +00:00
Guy Harris db31932941 From Joerg Mayer:
Declares some variables static.

	Creates a new include file packet-rsvp.h, and make use of it
	(change some extern decls to #inlcude).

	Move the file packet-pgm.h into packet-pgm.c as it is not used
	by anything outside packet-pgm.c.

svn path=/trunk/; revision=5162
2002-04-14 23:04:04 +00:00
Guy Harris 46a89d60f5 From Didier Gautheron: make the "code" field an signed decimal number.
svn path=/trunk/; revision=5161
2002-04-14 22:56:02 +00:00