Commit graph

4335 commits

Author SHA1 Message Date
Guy Harris
be4179a865 Test the link-layer type of the frame being looked at, not the
currently-selected frame - they're not necessarily the same.

svn path=/trunk/; revision=4380
2001-12-10 21:42:02 +00:00
Guy Harris
b2d9276356 Use the encapsulation type of the current frame to decide what
link-layer header it has.

svn path=/trunk/; revision=4379
2001-12-10 21:26:25 +00:00
Guy Harris
3e55e6702f Get rid of the stuff to use bitfields to dissect IP and TCP headers -
bitfields are a pain to use when dealing with structures with a fixed
layout in memory (you have to worry about bit order, for example).

Don't assume that the Ethernet header is aligned on a 2-byte boundary -
use "pntohs()" to extract stuff from it.  (Perhaps C will force it onto
a 2-byte boundary, but why take chances, and why leave the code
vulnerable to changes outside this module?)

Don't assume that the pointers to the IP and TCP headers are nicely
aligned - use "memcpy()", not structure assignment, to copy the headers.
(They're probably *not* nicely aligned on platforms that require 4-byte
alignment of 4-byte integral quantities; the code was dumping core on
SPARC with an alignment error.)

Don't even make those pointers be pointers to structures, as that may
cause the C compiler to generate in-line 4-byte loads and stores for
"memcpy()" (in fact, it *did* do so with GCC 2.95.1 on SPARC), which has
the same problem as structure assignment.

Don't test the IP protocol number twice when handling PPP.

svn path=/trunk/; revision=4378
2001-12-10 21:19:13 +00:00
Gilbert Ramirez
156abcce61 Change a printf() error message to a simple_dialog() error message.
svn path=/trunk/; revision=4377
2001-12-10 20:34:52 +00:00
Guy Harris
fcda4ee579 Get rid of all mentions of old-style dissectors, and fix up an example
to reflect tvbuff-based access to packet data.

Update calls that deal with columns to pass "pinfo->cinfo" rather than
"pinfo->fd".

Update the example of preference registration to reflect the replacement
of the BXXP dissector with the BEEP dissector.

svn path=/trunk/; revision=4376
2001-12-10 06:31:49 +00:00
Guy Harris
3658c6ce7e Add some additional comments.
svn path=/trunk/; revision=4375
2001-12-10 03:25:58 +00:00
Guy Harris
0fab2ae6d5 Remove some extra blank lines.
svn path=/trunk/; revision=4374
2001-12-10 02:16:59 +00:00
Guy Harris
0823c63775 The packet length is an unsigned quantity; print it with "%u".
If we get an illegal column type in "fill_in_columns()", crash.

svn path=/trunk/; revision=4373
2001-12-10 02:15:54 +00:00
Guy Harris
dca6cf394f Don't fill in the columns if we're writing to a capture file.
Don't fill in the columns if we're in verbose mode.

svn path=/trunk/; revision=4372
2001-12-10 02:12:53 +00:00
Guy Harris
fcfa433ff0 Move the pointer to the "column_info" structure in the "frame_data"
structure to the "packet_info" structure; only stuff that's permanently
stored with each frame should be in the "frame_data" structure, and the
"column_info" structure is not guaranteed to hold the column values for
that frame at all times - it was only in the "frame_data" structure so
that it could be passed to dissectors, and, as all dissectors are now
passed a pointer to a "packet_info" structure, it could just as well be
put in the "packet_info" structure.

That saves memory, by shrinking the "frame_data" structure (there's one
of those per frame), and also lets us clean up the code a bit.

svn path=/trunk/; revision=4371
2001-12-10 01:48:27 +00:00
Guy Harris
23319ff023 Move the pointer to the "column_info" structure in the "frame_data"
structure to the "packet_info" structure; only stuff that's permanently
stored with each frame should be in the "frame_data" structure, and the
"column_info" structure is not guaranteed to hold the column values for
that frame at all times - it was only in the "frame_data" structure so
that it could be passed to dissectors, and, as all dissectors are now
passed a pointer to a "packet_info" structure, it could just as well be
put in the "packet_info" structure.

That saves memory, by shrinking the "frame_data" structure (there's one
of those per frame), and also lets us clean up the code a bit.

svn path=/trunk/; revision=4370
2001-12-10 00:26:21 +00:00
Guy Harris
a81a607ed5 Use "--force" with "libtoolize", so it doesn't whine, but save
"config.guess" and "config.sub" vefore running "libtool", and restore
them after running "libtool", so that it doesn't gratuitously "help" us
by installing whatever old versions of those scripts happen to be part
of the version of libtool on the machine.

svn path=/trunk/; revision=4369
2001-12-09 21:05:54 +00:00
Guy Harris
5cc85c2426 Check for invalid maximum packet count values.
svn path=/trunk/; revision=4368
2001-12-09 03:20:19 +00:00
Guy Harris
b93a7716e2 From Gordon McKinney: make IP-over-PPP work with the TCP graph code.
svn path=/trunk/; revision=4367
2001-12-09 01:20:14 +00:00
Guy Harris
39581e769b On Win32, a GUI application apparently can't use "popen()" (it
"returns an invalid file handle, if used in a Windows program,
that will cause the program to hang indefinitely"), so we can't
use a pipe to a print command to print to a printer.

Eventually, we should try to use the native Win32 printing API
for this (and also use various UNIX printing APIs, when present?).

For now, we support only printing to a file in Windows.

svn path=/trunk/; revision=4366
2001-12-09 01:12:07 +00:00
Guy Harris
446e7ed7ed "msrpc" -> "dcerpc", and comment cleanups, from Tim Potter.
svn path=/trunk/; revision=4365
2001-12-09 00:07:37 +00:00
Gerald Combs
0cb2349987 Add semi-hand-crafted 3D icons. Update ethereal.ico with the new icons.
svn path=/trunk/; revision=4364
2001-12-09 00:04:19 +00:00
Guy Harris
1a2c3446a3 When libtoolizing, *don't* forcibly copy over all the files needed; that
will override our versions of "config.guess" and "config.sub", which we
don't want.  (We don't use "--force" with "automake --add-missing".)

svn path=/trunk/; revision=4363
2001-12-09 00:02:44 +00:00
Guy Harris
c6ac943216 Clean up indentation.
svn path=/trunk/; revision=4362
2001-12-08 21:03:41 +00:00
Guy Harris
d4959b176e Give the help window a title.
svn path=/trunk/; revision=4361
2001-12-08 09:39:23 +00:00
Guy Harris
cc97eed136 TCP time-sequence, round-trip time, and throughput graphs, from Pavel
Mores.

svn path=/trunk/; revision=4360
2001-12-08 09:27:51 +00:00
Guy Harris
291e50cea0 Fix white space.
svn path=/trunk/; revision=4359
2001-12-08 07:46:54 +00:00
Guy Harris
75cc056222 Attach a descriptive name field type and base to dissector tables; that
specifies how the selector values used as keys in those tables are to be
displayed, and the title to use when displaying the table.

Use that information in the code to display the initial and current
entries of various dissector tables.

Have the dissector for BACnet APDUs register itself by name, and have
the BACnet NPDU dissector call it iff the BAC_CONTROL_NET bit isn't set,
rather than doing it with a dissector table.

svn path=/trunk/; revision=4358
2001-12-08 06:41:48 +00:00
Guy Harris
421e391953 From Darren New: BXXP dissector modified to be a BEEP dissector.
Handle "bxxp." preferences as "beep." preferences.

svn path=/trunk/; revision=4357
2001-12-08 01:45:36 +00:00
Guy Harris
3af8644dac BACP and BAP support in PPP dissector, from Motonori Shindo.
svn path=/trunk/; revision=4356
2001-12-08 01:03:19 +00:00
Guy Harris
9f3b7f5ffd Latest "config.guess" and "config.sub" from
ftp://ftp.gnu.org/gnu/config/

svn path=/trunk/; revision=4355
2001-12-08 00:07:27 +00:00
Guy Harris
f85f8bf466 Use "-no-cpp-precomp" rather than "-traditional-cpp" on MacOS X, as per
the "The Compiler and Tools" section on

	http://fink.sourceforge.net/doc/porting/basics.php

Do so on MacOS X regardless of whether the compiler is called "gcc" or
not, as that page also indicates that the compiler is installed as "cc".

svn path=/trunk/; revision=4354
2001-12-07 22:56:58 +00:00
Guy Harris
6bb3e341d1 From Tom Uijldert: WSP/MMSE changes to handle multipart-content:
packet-wsp.[ch]:
	- Proper parameter-dissection
	- Now handles multipart content
	- Exports content-type & multipart-dissection
	- Attach a sub-dissector based on content-type

	packet-mmse.c:
	- Dissecting message-content added
	- Registers with WSP based on content-type.

svn path=/trunk/; revision=4353
2001-12-07 11:10:53 +00:00
Guy Harris
6b0b77c5f1 More NT error codes, from Todd Sabin.
svn path=/trunk/; revision=4352
2001-12-07 05:52:23 +00:00
Gilbert Ramirez
f1b64de80e Dfilter code finds field under *any* parent's subtree, not just
the parent under which the field was registered.

This is the *unoptimized* version, to give developers something
to use while the optimized version is being created.

svn path=/trunk/; revision=4351
2001-12-07 03:39:26 +00:00
Guy Harris
787a331ae6 From Todd Sabin:
add "dissect_ndr_ctx_hnd()" for dissecting context handles, and
	use it in various DCERPC dissectors;

	beef up the MS Security Account Manager dissector.

Also, export "NT_errors[]" for use by that dissector.

svn path=/trunk/; revision=4350
2001-12-06 23:30:36 +00:00
Guy Harris
4e775d2e64 WTAP_ENCAP_ values are #defined in decimal; display them in decimal.
svn path=/trunk/; revision=4349
2001-12-06 22:52:18 +00:00
Guy Harris
ef626a48ce From Ronnie Sahlberg: reassemble DCERPC-over-SMB requests as well as
responses.

svn path=/trunk/; revision=4348
2001-12-06 09:24:02 +00:00
Guy Harris
824071e92f Handle the case of the initial, or current, dissector handle for a
particular port number being null.

svn path=/trunk/; revision=4347
2001-12-06 08:50:14 +00:00
Guy Harris
31519a0ff0 From Motonori Shindo: get rid of "send output to /dev/null" hack in
Ascend/Lucent trace reading code's Flex scanner.

svn path=/trunk/; revision=4346
2001-12-06 08:25:52 +00:00
Guy Harris
10b79123ef In the SMB dissector, keep a list of all the conversation structures
and, when we're re-initializing the dissector, free up all the hash
tables attached to those structures.

svn path=/trunk/; revision=4345
2001-12-06 07:04:02 +00:00
Guy Harris
fc6a4d9b6f There can be more than one SMB request or response in a frame when
you're doing NetBIOS-over-TCP (yes, I've seen that, with one response
being a Transaction and the other being a Read and X), so the frame
number is insufficient as a key in the hash table of matched
request/response pairs; use the frame number and the MID.

svn path=/trunk/; revision=4344
2001-12-06 06:35:31 +00:00
Gilbert Ramirez
6542c18172 Remove proto_tree from capture_file and PacketWinData, since they
already contain a pointer to an epan_dissect_t, which contains
the proto_tree.

Routines calling epan_dissect_new() do not create their own
proto_tree via proto_tree_create_root(); instead, they pass a boolean
to epan_dissect_new() telling it whether it should create the root
proto_tree.

svn path=/trunk/; revision=4343
2001-12-06 04:25:09 +00:00
Guy Harris
2026f857bc Don't update the "Save As..." dialog box if it doesn't exist.
Update some comments.

svn path=/trunk/; revision=4342
2001-12-06 03:09:28 +00:00
Guy Harris
a936b559df Make the "Save only marked frames" button in the "Save As..." dialog box
sensitive only if there *are* marked frames.

svn path=/trunk/; revision=4341
2001-12-06 02:21:26 +00:00
Guy Harris
fcdb378417 Update Gilbert's e-mail address.
svn path=/trunk/; revision=4340
2001-12-05 21:42:42 +00:00
Guy Harris
d8146abd0e The Visual Networks tool that generates capture files that we now can
read is Visual UpTime.

svn path=/trunk/; revision=4339
2001-12-05 21:42:07 +00:00
Guy Harris
550c9bb7bf From Taisuke Sasaki: fix the handling of the metric and referenced LS
type fields in OSPFv3 packets.

Clean up white space.

svn path=/trunk/; revision=4338
2001-12-05 20:16:41 +00:00
Guy Harris
ee1094b140 Note that Ethereal's and Tethereal's native capture file format is
libpcap format, and say that it's also used by "other tools" (tcpdump
and Ethereal/Tethereal aren't the only tools that write captures in that
format).

Weaken the claim that we read Etherpeek files to say only that we read
Etherpeek versions 5, 6, and 7 for Macintosh, so people don't conclude
that we read Etherpeek-for-Windows captures (we don't).

svn path=/trunk/; revision=4337
2001-12-05 20:01:03 +00:00
Guy Harris
15816babc1 Add a heuristic dissector for protocols running atop X.25.
svn path=/trunk/; revision=4336
2001-12-05 08:43:26 +00:00
Guy Harris
6b253331f0 Support for reassembly of DCERPC over SMB, from Ronnie Sahlberg.
svn path=/trunk/; revision=4335
2001-12-05 08:20:30 +00:00
Guy Harris
faacd2b71c The data structure for per-packet headers for Mac V5 and V6 Etherpeek
files would put a 32-bit quantity on a 16-bit boundary without padding;
this means that many compilers will insert the padding and thus make the
structure not match what's in the file.

Instead of using a C structure, #define values for the offsets of
fields, read the header into an array of bytes, and extract values using
the offsets.

svn path=/trunk/; revision=4334
2001-12-05 07:19:11 +00:00
Guy Harris
a17c23a7a2 From Tim Potter: add the DOS error for "file already exists" on a
rename.

svn path=/trunk/; revision=4333
2001-12-05 00:49:32 +00:00
Guy Harris
a9c0c1ebbb Don't fetch "t2i->info_level" if "t2i" is null.
svn path=/trunk/; revision=4332
2001-12-05 00:25:44 +00:00
Guy Harris
2174f26cdc In the NetMon capture file reading code, if we get a short read when
trying to read the frame table, return -1 with "*err" set to
WTAP_ERR_SHORT_READ, don't return 0 - we've already decided that the
file is a NetMon file, so we shouldn't return a "this isn't a NetMon
file" indication, we should return a "this file is too short" error, as
that's what the problem is.

Fix up the error messages for WTAP_ERR_SHORT_READ to indicate that the
read might have gotten cut short in the middle of data other than a
packet.

svn path=/trunk/; revision=4331
2001-12-04 23:38:55 +00:00