Commit Graph

4295 Commits

Author SHA1 Message Date
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
Guy Harris 445203577c Update the README file to reflect the current list of capture file
formats we can read (and to put them in the order in which they're
mentioned in the man pages, to make it easier to make sure the lists are
the same).

svn path=/trunk/; revision=4330
2001-12-04 22:43:41 +00:00
Guy Harris e52dab213d Update the manual pages to reflect the addition of support for reading
and writing Visual Networks traffic capture files.

svn path=/trunk/; revision=4329
2001-12-04 22:37:56 +00:00
Guy Harris bc225c2a87 Support for reading Visual Networks traffic capture files, from Tom
Nisbet.

Make a comment in "wiretap/file.c" clearer, so people know where to put
the entries for their capture file type.

svn path=/trunk/; revision=4328
2001-12-04 22:28:19 +00:00
Guy Harris 2e379072ec From Motonori Shindo: fix Ascend/Lucent trace reading code to handle
later trace formats that have an ASCII dump at the end of the line.

svn path=/trunk/; revision=4327
2001-12-04 10:07:30 +00:00
Guy Harris 6d95c027b7 Document ring buffer mode and the "-b" flag.
svn path=/trunk/; revision=4326
2001-12-04 09:56:10 +00:00
Guy Harris c95680e052 When making the "number of ring buffer files" spin button sensitive or
insensitive, make its label sensitive or insensitive too.

When "update list of packets in real time" mode is on, make the ring
buffer mode toggle button, and the "number of ring buffer files" spin
button, insensitive, as ring buffer mode is not supported in "update
list of packets in real time" captures.

When "update list of packets in real time" mode is off, make the
auto-scroll mode button insensitive, as auto-scroll mode is meaningless
unless you're doing an "update list of packets in real time" capture.

Bundle all the sensitivity setting into a single common routine.

Make "ring buffer" two words.

svn path=/trunk/; revision=4325
2001-12-04 09:46:01 +00:00
Guy Harris 4ee2b1a633 Make the bytes-written information from Wiretap a long, as we allow
files to get that big.

From Thomas Wittwer and Matthias Nyffenegger:

Support for "ring buffer mode", wherein there's a ring buffer of N
capture files; as each capture file reaches its maximum size (the ring
buffer works only with a maximum capture file size specified), Ethereal
rolls over to the next capture file in the ring buffer, replacing
whatever packets might be in it with new packets.

svn path=/trunk/; revision=4324
2001-12-04 08:45:04 +00:00
Guy Harris 8032fa8a1b Make the bytes-written information from Wiretap a long, as we allow
files to get that big.

From Thomas Wittwer and Matthias Nyffenegger:

Support for "ring buffer mode", wherein there's a ring buffer of N
capture files; as each capture file reaches its maximum size (the ring
buffer works only with a maximum capture file size specified), Ethereal
rolls over to the next capture file in the ring buffer, replacing
whatever packets might be in it with new packets.

svn path=/trunk/; revision=4323
2001-12-04 08:26:00 +00:00
Guy Harris a1660d6d3a Support for stopping capture at specified capture file size or capture
duration, from Thomas Wittwer and Matthias Nyffenegger.

svn path=/trunk/; revision=4322
2001-12-04 07:32:05 +00:00
Guy Harris 9426c4ad15 From Thomas Wittwer: remove unnecessary calls to
"prefs_module_foreach()".

svn path=/trunk/; revision=4321
2001-12-04 07:23:47 +00:00
Guy Harris 712f266e69 Get rid of some unused variables.
svn path=/trunk/; revision=4320
2001-12-04 06:35:51 +00:00
Guy Harris 7baa84320f Add the ISO 8473 CLNP dissector handle to the dissector table for X.25
SPIs.

svn path=/trunk/; revision=4319
2001-12-04 04:26:44 +00:00
Guy Harris 64ee59907d "ptype" is always set, even if only to PT_NONE; it will be set to PT_TCP
only there's TCP in the current frame and it will be set to PT_UDP only
if there's UDP in the current frame.  As such, there's no need to check
"ipproto" before checking "ptype" - and we should check "ptype" as well
as "ipproto" when deciding whether we'll put up a "Decode As" dialog
with anything in it.

(Not that there's anything other than IPv4 or IPv6 over which we
currently dissect TCP or UDP....)

svn path=/trunk/; revision=4318
2001-12-03 21:05:59 +00:00
Guy Harris a492a07a51 To check whether the current frame contains TCP or UDP traffic, check
whether the port type is PT_TCP or PT_UDP, don't check the IP protocol
type at the network layer (except to check whether it's set at all, to
decide whether it's IP/IPv6 - if it's not, the transport isn't TCP or
UDP); that way, we don't have to keep track of which IP protocol numbers
are being decoded as TCP or UDP.

svn path=/trunk/; revision=4317
2001-12-03 20:49:03 +00:00
Guy Harris 28e886cb0b Update of M2PA support to draft 3, from Michael Tuexen.
svn path=/trunk/; revision=4316
2001-12-03 20:35:14 +00:00
Guy Harris 51fe2ab58b SMPP support, from Tom Uijldert.
svn path=/trunk/; revision=4315
2001-12-03 20:18:29 +00:00
Guy Harris 7c0dc64096 Remove the no-longer-extant "conv_dissector_add()" from the list of
plugin APIs, and add the new "dissector_add_handle()".

Add an entry in the dissector table structure for
"create_dissector_handle".

svn path=/trunk/; revision=4314
2001-12-03 10:00:23 +00:00
Guy Harris 4212ae25fd When the dissector tables are reset to the default settings, the list of
IP protocol numbers to be decoded as TCP and as UDP should be reset as
well.

svn path=/trunk/; revision=4313
2001-12-03 09:09:11 +00:00
Guy Harris 57d6683446 A "dissector_table_t" is no longer a pointer to a hash table, it's a
pointer to a "struct dissector_table", containing a pointer to a hash
table and a pointer to a list of handles.  Fix
"dissector_all_tables_foreach_func()" to understand that.

svn path=/trunk/; revision=4312
2001-12-03 09:00:25 +00:00
Guy Harris c22d3fdc96 Get rid of the lists of conversation dissectors; instead, have a
dissector table contain both a hash table, to use to look up port
numbers to find a dissector, and a list of all dissectors that *could*
be assigned to ports in that hash table, to be used by user interface
code.

Make the "Decode As" dialog box code use that.

Also make it *not* let you choose whether to set the dissector for both
the UDP and TCP versions of a port; some protocols run only atop TCP,
some run only atop UDP, and even those that can run atop both may have
different dissector handles to use over TCP and UDP, so handling a
single merged list would be a mess.  (If the user is setting the
dissector for a TCP port, only those protocols that Ethereal can handle
over TCP should be listed; if the user is setting the dissector for a
UDP port, only those protocols that Ethereal can handle over TCP should
be listed; if the user is setting a dissector for both, only those
protocols that Ethereal can handle over *both* TCP *and* UDP should be
listed, *and* there needs to be a way to let the "Decode As" code get
both the TCP handle *and* the UDP handle and use the right ones.  If
somebody really wants that, they need to implement all of the above if
they want the code to be correct.)

Fix the code that handles setting the dissection for the IP protocol
number to correctly update the lists of protocols being dissected as TCP
and as UDP; the code before this change wasn't updating the single such
list to add new protocols.

svn path=/trunk/; revision=4311
2001-12-03 08:47:31 +00:00
Guy Harris 21b9a88b29 Add a routine tro look for a given port in a given dissector table and,
if found, return the dissector handle for that port.

Use that routine in the X.25 dissector; revert to attaching a dissector
handle to an X.25 virtual circuit.

svn path=/trunk/; revision=4310
2001-12-03 05:07:18 +00:00
Guy Harris d304535254 Update the sample dissector handoff registration routine to match the
current calling sequence for "dissector_add()".

svn path=/trunk/; revision=4309
2001-12-03 04:12:53 +00:00
Guy Harris bced8711f6 Make "dissector_add()", "dissector_delete()", and "dissector_change()"
take a dissector handle as an argument, rather than a pointer to a
dissector function and a protocol ID.  Associate dissector handles with
dissector table entries.

svn path=/trunk/; revision=4308
2001-12-03 04:00:26 +00:00
Guy Harris 8d0ea8bc93 Get rid of an unused variable, and fix a comment.
svn path=/trunk/; revision=4307
2001-12-03 02:37:25 +00:00
Guy Harris 852e3fffe5 As you set a conversation dissector by supplying a dissector handle
rather than a function pointer, "dissect_wtp_fromudp()" no longer needs
to be global; make it static, register it by name, and have the WSP
dissector get the handle by calling "find_dissector()" rather than by
constructing its own handle for it.

Fix up some attributions.

svn path=/trunk/; revision=4306
2001-12-03 02:10:31 +00:00
Guy Harris 44a02e37c6 Rename another routine to get rid of an unnecessary "1" in its name.
svn path=/trunk/; revision=4305
2001-12-03 01:35:22 +00:00
Guy Harris bf827fb28b Don't bother saving or restoring "can_desegment" until you actually call
a subdissector.

svn path=/trunk/; revision=4304
2001-12-03 01:26:30 +00:00
Guy Harris 95490bb044 Rename and re-comment some routines to make it clearer what they do.
svn path=/trunk/; revision=4303
2001-12-03 01:20:51 +00:00
Guy Harris 2a21356d42 Add a new header file for X.264 transport protocol IDs.
Handle ISO 8602 as a protocol ID on top of X.25.

svn path=/trunk/; revision=4302
2001-12-02 00:38:54 +00:00
Guy Harris cfa1112e79 From John McDermott:
Adds an "Add Expression..." button to the color filter
	creation dialog.

	Improve the look of the "Add color to protocols" window.

	Clean up some ugly code.

Give John credit in the AUTHORS file for the coloring stuff.

svn path=/trunk/; revision=4301
2001-12-02 00:16:02 +00:00
Guy Harris 8eba148155 An NLPID of 1 means T.70 when used as an X.263/ISO 9577 initial protocol
identifier, but means X.29 when used as an X.263/ISO 9577 secondary
protocol identifier.

Add support for the IPv6 NLPID, and Ethernet type, in more places.

Fix up the handling of the user data of a CALL REQUEST packet to more
correctly distinguish between user data containing an NLPID and user
data containing an X.264/ISO 11570 UN TPDU.  If it's an NLPID, use
"nlpid_vals" to show its value.

Put that user data in a subtree.

Create a new "x.25.spi" dissector table, for protocols running atop
X.25, rather than having a built-in switch statement, so that other
protocols can register themselves by NLPID.

svn path=/trunk/; revision=4300
2001-12-02 00:07:46 +00:00
Guy Harris a7bb49b0d9 Add support for LocalTalk Link Access Protocol.
Rename WTAP_ENCAP_PRISM to WTAP_ENCAP_PRISM_HEADER, to match
DLT_PRISM_HEADER.

Add in missing capture support for WTAP_ENCAP_PRISM_HEADER when
capturing with "pcap_open_live()" rather than reading the capture from a
pipe.

svn path=/trunk/; revision=4299
2001-11-30 07:14:22 +00:00
Guy Harris 9161ba8e7f Make "fr_subdissector_table" static - it's not used outside the Frame
Relay dissector.

svn path=/trunk/; revision=4298
2001-11-30 04:39:45 +00:00
Guy Harris e952a16ac1 Add support for OSI CLNP over GRE, as per mail from Mrmcsnoots@aol.com.
svn path=/trunk/; revision=4297
2001-11-29 23:07:49 +00:00
Guy Harris 3396fb2777 Update from Ronnie Sahlberg:
1.  Changes how can_desegment works so that can_desegment is
	    only != 0 for whichever dissector is running immediately on
	    top of whoever offers the can_desegment service.

	    Thus DCERPC needs no special handling to see if it can trust
	    can_desegment (which is currently only available ontop of TCP
	    and not ontop of tcp->nbss->smb).

	2.  Changes fragment reassembly of transaction smb to only show
	    the defragmented packet for the transaction smb holding the
	    first fragment.

	    To see why, test it with a transaction SMB containing a ~60kb
	    PDU or larger.  The old behaviour had approximately quadratic
	    behaviour regarding runtime for dissecting such PDUs.

	    (example: NetShareEnum is a command which can grow really really
	    large if the number of shares and comments are large)

svn path=/trunk/; revision=4296
2001-11-29 09:05:25 +00:00
Guy Harris ec19562f1a When processing a response, check whether "si->sip" is null before using
it; it'll be null if the matching request hasn't been seen.

svn path=/trunk/; revision=4295
2001-11-29 08:36:56 +00:00
Guy Harris 99ea13c621 Squelch compiler warnings.
svn path=/trunk/; revision=4294
2001-11-28 19:59:24 +00:00
Guy Harris 3be79df937 From Ronnie Sahlberg: track FID values between requesta and responses
for ReadAndX and WriteAndX.

svn path=/trunk/; revision=4293
2001-11-28 11:47:27 +00:00
Guy Harris 390d5bbb55 If a request has already been processed, and we fail to find its
"smb_saved_info_t" in the table of requests whose replies have been
found, don't look it up in the table of requests whose replies have not
been found - if the request in question has no reply in the capture,
that may find some later frame in the same conversation with the same
MID, and we don't need that information anyway - the only reason we
*need* that structure is to save information in it for use when
processing its reply, and we already did that the first time we
processed the request.  (The information for the later frame may be bad,
e.g. having a null "extra_info" pointer, or having one that points to
information for another request.)

Arrange that we don't use the pointer to the "smb_saved_info_t" when
processing a request except to save information if the request hasn't
already been processed, as that pointer may not be valid if the request
has already been processed, as per the above.

svn path=/trunk/; revision=4292
2001-11-28 11:33:55 +00:00
Guy Harris ce66d97e35 Updates to transaction reassembly, from Ronnie Sahlberg.
Add some checks for null tvbuff arguments.

When dissecting transaction setup, parameters, and data when we couldn't
dissect it as a pipe or mailslot transaction, use the reported length of
the supplied tvbuff, not the actual length, as the amount of data
present.

svn path=/trunk/; revision=4291
2001-11-28 09:44:27 +00:00