Commit Graph

4243 Commits

Author SHA1 Message Date
Guy Harris a4bc234f2d Add { 0, NULL } terminators to some "value_string" arrays lacking them.
Make some static that don't need to be exported.

svn path=/trunk/; revision=4288
2001-11-27 22:37:20 +00:00
Guy Harris 5613c7d37a When returning the length of the DCE RPC PDU, add 4 if the packet was
preceded by 4 bytes of zero padding.

svn path=/trunk/; revision=4287
2001-11-27 11:01:35 +00:00
Guy Harris f78a1f548b Rename the heuristic dissector table "msrpc" to "smb_transact", to
indicate that it's to be used for SMB transactions; a different table,
using different dissectors, would be needed for, say, reads and writes
over a named pipe, as those are byte streams and SMB transactions are
packets, so the dissectors for the first one need to worry about
multiple PDUs per segment and desegmentation, while the dissectors for
the second one don't - and, in fact, can't do desegmentation stuff.

svn path=/trunk/; revision=4286
2001-11-27 09:37:18 +00:00
Guy Harris 5ebf118bf3 From Todd Sabin:
o Modifies the dcerpc handoff to subdissectors slightly.  It
	  also needs to pass the data representation to the
	  subdissector.  Also, if no subdissector is found, it puts a
	  "Stub data" entry in the tree.

	o Adds optional TCP desegmentation to the dcerpc layer.  Note
	  that dcerpc has it's own ability to fragment PDUs.  This isn't
	  for dealing with that, but with the case of a single PDU being
	  broken over more than one TCP segment.

	o Adds a little bit of dissection to packet-dcerpc-epm.c.
	  Mainly just proof of concept for the dcerpc handoff stuff.
	  (Writing this is how I realized the need for the drep.)

	o Adds packet-dcerpc-ndr.c, which will contain NDR dissection
	  routines for use by subdissectors.

Also, support added for multiple PDUs per segment for DCERPC-over-TCP
(and, potentially, other byte-stream transports).

svn path=/trunk/; revision=4285
2001-11-27 09:27:29 +00:00
Guy Harris 425fce6e92 Thou shalt not use C++-style comments in C code, for they upset some C
compilers.

svn path=/trunk/; revision=4284
2001-11-27 07:41:39 +00:00
Guy Harris 95267f647a Get rid of some code to set "pinfo->current_proto"; let the Ethereal
infrastructure do it for the dissectors.

Make some WCP dissector routines static.

svn path=/trunk/; revision=4283
2001-11-27 07:36:23 +00:00
Guy Harris 703189dd9d Reflect the change to "conversation_set_dissector()" to take a dissector
handle as an argument.

svn path=/trunk/; revision=4282
2001-11-27 07:21:55 +00:00
Guy Harris 07b2709f8a Change "conversation_set_dissector()" to take a dissector handle, rather
than a pointer to a dissector function, as an argument.

This means that the conversation dissector is called through
"call_dissector()", so the dissector itself doesn't have to worry about
checking whether the protocol is enabled or setting
"pinfo->current_proto", so get rid of the code that does that in
conversation dissectors.  Also, make the conversation dissectors static.

Get rid of some direct calls to dissectors; replace them with calls
through handles, and, again, get rid of code to check whether a protocol
is enabled and set "pinfo->current_proto" where that code isn't needed.
Make those dissectors static if they aren't already static.

Add a routine "create_dissector_handle()" to create a dissector handle
without registering it by name, if the dissector isn't used outside the
module in which it's defined.

svn path=/trunk/; revision=4281
2001-11-27 07:13:32 +00:00
Guy Harris fd456eaf0b Remove an extra blank from a data source name.
Added comments, from Ronnie Sahlberg.

svn path=/trunk/; revision=4280
2001-11-27 05:16:29 +00:00
Guy Harris b141f4c0bb Fixes from Ronnie Sahlberg for fragmented transactions - handle null
tvbuff pointers.

svn path=/trunk/; revision=4279
2001-11-27 05:14:04 +00:00
Guy Harris 3ab9a4931f Clarify what the tvbuff handed to a dissector contains (i.e., it's not
the raw frame data, it's the data that the dissector should look at).

svn path=/trunk/; revision=4278
2001-11-27 05:05:02 +00:00
Guy Harris 0fb9bbe02e Note that LDP is documented in RFC 3036.
svn path=/trunk/; revision=4277
2001-11-27 05:01:14 +00:00
Guy Harris a18d29bede Handle the case of multiple LDP PDUs per TCP segment. (Still needs to
handle the case of more than one TCP segment per LDP PDU....)

Fix the handling of some of the length fields.

svn path=/trunk/; revision=4276
2001-11-27 04:59:01 +00:00
Guy Harris c5124017ed WCCP capability info dissection bug fix, from Raghu Angadi.
svn path=/trunk/; revision=4275
2001-11-27 00:50:47 +00:00
Guy Harris ddfdbad4bd In "smb_trans_defragment()", quit if "si->sip" is null, as it means we
don't have the frame number of the request, which we use as the ID of
the transaction being reassembled.  (If we're reassembling a reply,
should we not use the frame number of the reply instead?  We used to
have a hash table to keep track of that, so we might just be able to
bring it back....)

svn path=/trunk/; revision=4274
2001-11-26 10:24:59 +00:00
Guy Harris d2197e36df Add some comments.
svn path=/trunk/; revision=4273
2001-11-26 10:05:27 +00:00
Guy Harris a8e949c74d From Ronnie Sahlberg: reassemble transaction data if transaction
continuations are seen.

svn path=/trunk/; revision=4272
2001-11-26 09:58:38 +00:00
Ed Warnicke 89babba223 This should be the final bit of removing the dissect_data symbol
from being required by anyone other than packet-data.c.
It can now be accessed with call_dissector() with the name "data".
dissect_data is now also of dissect_t.

svn path=/trunk/; revision=4271
2001-11-26 05:41:15 +00:00
Ed Warnicke 4877553530 Switched from using CHECK_DISPLAY_AS_DATA to using CHECK_DISPLAY_AS_X
which also takes a handle as an argument and thus doesn't call
dissect_data directly.

svn path=/trunk/; revision=4270
2001-11-26 05:13:14 +00:00
Ed Warnicke fcd5b352af Moved from using dissect_data() to using call_dissector()
svn path=/trunk/; revision=4269
2001-11-26 04:52:51 +00:00
Ed Warnicke 7537283cc6 Added a proto_reg_handoff_frame() function and switched from
using dissect_data() to using call_dissector()

svn path=/trunk/; revision=4268
2001-11-26 01:23:59 +00:00
Guy Harris d08dbcc357 Clean up the stuff that creates the pipe protocol subtree; it shouldn't
fetch the length of "sp_tvb" if "sp_tvb" is null.

Fix some comments.

svn path=/trunk/; revision=4267
2001-11-26 01:22:11 +00:00
Ed Warnicke c97f7034a8 Moved from using dissect_data to using call_dissector()
svn path=/trunk/; revision=4266
2001-11-26 01:03:35 +00:00
Guy Harris cbf6148b22 From Ronnie Sahlberg: fix a check for a null tvbuff pointer to check the
correct pointer.

svn path=/trunk/; revision=4265
2001-11-25 23:23:34 +00:00
Ed Warnicke 34dbc86e65 Moved from using dissect_data to using call_dissector()
svn path=/trunk/; revision=4264
2001-11-25 22:51:14 +00:00
Ed Warnicke a810a01338 Switched from calling dissect_data to using call_dissector
svn path=/trunk/; revision=4263
2001-11-25 22:19:25 +00:00
Ed Warnicke 3054b1127a Added hooks to be able to call dissect_data as via a handle.
svn path=/trunk/; revision=4262
2001-11-25 21:44:57 +00:00
Guy Harris 7844e88862 Remove a duplicate entry from the SAP table, and move an entry in that
table to the proper sorted location.

svn path=/trunk/; revision=4261
2001-11-25 01:28:00 +00:00
Guy Harris 0083eb5f81 Throw in a large pile of additional SAP values.
svn path=/trunk/; revision=4260
2001-11-25 01:13:27 +00:00
Guy Harris 1f27f45a1b Finish removing the pointer to the no-longer-extant global "packet_info"
structure "pi" from the plugin API.

svn path=/trunk/; revision=4259
2001-11-24 21:55:54 +00:00
Guy Harris e6f82792a9 Update the Makefile.nmake files to reflect the move of "int-64bit.c" to
the "epan" subdirectory.

Include "strptime.obj" in the list of object files used to build
"text2pcap.exe".

svn path=/trunk/; revision=4258
2001-11-24 21:51:40 +00:00
Guy Harris 64a5a77b6c Assume that a.stockmeier[AT]avm.de, a/k/a "stocki", is the Andreas
Stockmeier listed as the contact in

	http://www.isi.edu/in-notes/iana/assignments/enterprise-numbers

for the private enterprise number 872, with the e-mail address
"stocki@avm-berlin.de".

svn path=/trunk/; revision=4257
2001-11-24 10:00:50 +00:00
Guy Harris e690b88d75 Fix to text2pcap to handle colons after offset field, from Gordon
McKinney.

svn path=/trunk/; revision=4256
2001-11-24 09:46:28 +00:00
Guy Harris ac16b7463b Assorted changes from Ronnie Sahlberg:
Add a few small functions to reassemble.c to cope with protocols
	where the total length of defragmented PDUs are specified in the
	first fragment (all previous uses of reassembly has been for
	PDUs where the last fragment is signalled by a flag in the
	header for the last fragment).

	Add a few small functions to reassemble.c to abort-and-delete
	defragmentation of PDUs and also detect IF a PDU is currently
	being defragmented.  (Useful for PDUs where the "unique"
	identifier is rather ununique, or may be reused often enough so
	it can be a problem for Ethereal.)

	Change where NT Cancel presents its Cancelation-to output, and
	makes the three trans secondary requests also output similar
	information.

svn path=/trunk/; revision=4255
2001-11-24 09:36:40 +00:00
Guy Harris 3ee8a76475 Fix the usage message and man page for text2pcap.
svn path=/trunk/; revision=4254
2001-11-24 08:59:39 +00:00
Guy Harris eef6af7f86 If a non-option command-line argument is specified to Ethereal, treat it
as the pathname of a capture file to be read.  If more than one such
option is specified, print a usage message.

Fix the documentation of the "-r" option to Ethereal and Tethereal.

svn path=/trunk/; revision=4253
2001-11-24 08:46:13 +00:00
Guy Harris c871a24514 Support for time stamping packets in text2pcap, from Gordon McKinney.
svn path=/trunk/; revision=4252
2001-11-24 08:14:12 +00:00
Guy Harris 73fc903278 Fix the return value of a routine.
svn path=/trunk/; revision=4251
2001-11-24 07:55:07 +00:00
Guy Harris f84bce97cc If the expected "next offset" doesn't match the offset we read, it may
merely mean that we mistakenly treated stuff from the text-dump part of
the file we're reading as if it were hex byte data (e.g., if the first
non-white-space part of the text dump was a 2-digit hex number).  If the
offset we read is less than the expected next offset, assume that's the
problem, and throw away enough extra bytes to make the offset we read
the expected next offset.

"getopt()" will never, for any option that the "getopt()" string says
takes an argument, leave "optarg" null; if no argument was specified,
it'll return an error, so there's no need to check for a null "optarg".

svn path=/trunk/; revision=4250
2001-11-24 07:52:05 +00:00
Guy Harris 0bc13df91e Treat a bunch of digits followed by a newline differently from a bunch
of digits followed by a blank or tab, so that we recognize the newline
as an end-of-line.

svn path=/trunk/; revision=4249
2001-11-24 02:13:34 +00:00
Ed Warnicke b7420272e7 Moved int-64bit.{c,h} into epan/
svn path=/trunk/; revision=4248
2001-11-22 03:07:07 +00:00
Gilbert Ramirez a07ec65cce Remove the pointer to the global packet_info from the table of
pointers used for plugins on win32.

svn path=/trunk/; revision=4247
2001-11-21 23:34:09 +00:00
Gilbert Ramirez 8743a4a8a7 Remove the global packet_info called "pi". Dissectors now only
access their own "pinfo". A packet_info is stored in epan_dissect_t,
which is created for the dissection of a single packet.

GUI functions which need to access the packet_info of the currently
selected packet used to use "pi"; now they use cfile.edt->pi. cfile's
"edt" member is the epan_dissect_t of the currently-selected packet.

The functionality of blank_packetinfo() was moved into
dissect_packet(), as that's the only place that called blank_packetinfo(),
after a spurious call to blank_packetinfo() was removed from
packet_list_select_cb().

svn path=/trunk/; revision=4246
2001-11-21 23:16:26 +00:00
Guy Harris bd90493d46 If we have to worry about subdissectors changing the "packet_info"
structure, we may have to worry about it in more places than the places
that *used* to set "pi.len" and "pi.captured_len", so there's no point
in just saving and restoring it there.  We'll remove those
saves/restores, and worry about saves and restores when we find a
problem.

svn path=/trunk/; revision=4245
2001-11-21 21:37:26 +00:00
Guy Harris 99e2d7e626 Discard stuff in "smb.h" not used by the dissectors, and replace the
#defines for SMB commands with ones that use the names from the SNIA
CIFS spec.

Use those #define values rather than hardcoded values in various places
that check for specific commands.

svn path=/trunk/; revision=4244
2001-11-21 06:25:58 +00:00
Guy Harris daef7e962d Support for Transaction Secondary and Transaction2 Secondary, from
Ronnie Sahlberg.

svn path=/trunk/; revision=4243
2001-11-21 06:04:39 +00:00
Guy Harris 81d7ded14e Rename the "packet-msrpc-XXX.[ch]" files to "packet-dcerpc-XXX.[ch]", as
per Todd Sabin's suggestion.

svn path=/trunk/; revision=4242
2001-11-21 02:08:57 +00:00
Guy Harris 60fe401dc7 Get rid of some unused variables.
svn path=/trunk/; revision=4241
2001-11-21 02:01:06 +00:00
Guy Harris 10da28737f Get rid of some unused variables.
svn path=/trunk/; revision=4240
2001-11-21 01:21:08 +00:00
Guy Harris 6f776aa40d Get rid of some unused variables.
svn path=/trunk/; revision=4239
2001-11-21 01:02:03 +00:00