Commit Graph

3948 Commits

Author SHA1 Message Date
Guy Harris f52303ffc9 Avoid using non-ASCII characters in labels in the protocol tree - some
compilers may not interpret them as the ISO 8859/1 characters they're
intended to be, and the GUI toolkit or other software through which the
text passes might not interpret them as such, either.

svn path=/trunk/; revision=3992
2001-10-04 00:30:23 +00:00
Richard Sharpe 1f682d68f3 Attribute the packet-x11-keysym.h fixes properly.
svn path=/trunk/; revision=3991
2001-10-03 15:15:34 +00:00
Richard Sharpe 24ee7a93c0 Apply Monotori Shindo's fixes for X11 double byte chars ...
svn path=/trunk/; revision=3990
2001-10-03 15:13:24 +00:00
Richard Sharpe 5fac750533 Fix Monotori Shindo's attributions. I screwed up before ...
svn path=/trunk/; revision=3989
2001-10-01 08:58:36 +00:00
Guy Harris 41254f45fd Merge the two AUTHORS entries for Motonori Shindo.
Fix a typo in the AUTHORS entry for Pasi Eronen, and add him to the list
of authors in the man page.

svn path=/trunk/; revision=3988
2001-10-01 08:51:31 +00:00
Richard Sharpe ff50cff36d Damn the torpedos[1], commit it anyway.
Who said that? I think I know ... F...

svn path=/trunk/; revision=3987
2001-10-01 08:47:50 +00:00
Guy Harris d627904aba Have a flag in the "packet_info" structure, which indicates whether the
stuff currently being dissected is part of a packet included in an error
packet (e.g., an ICMP Unreachable packet).  Have the TCP dissector not
bother doing reassembly if the TCP segment is part of an error packet,
rather than an actual TCP transmission; other dissectors might want to
treat those packets specially as well.

Add to the "tcpinfo" structure a flag indicating whether the URG flag
was set, rather than having the zero or non-zero value of the urgent
pointer indicate that.  (Yes, at least as I read RFC 793, a zero urgent
pointer value isn't useful, as it means "the stuff before this segment
is urgent", but it's certainly possible to put onto the wire a TCP
segment with URG set and a zero urgent pointer.)

Don't dissect the TCP header by grabbing the entire header with
"tvb_memcpy()" and then pulling stuff out of it - extract stuff with
individual tvbuff calls, and put stuff into the protocol tree and the
Info column as we extract it, so that we can dissect a partial header.
This lets us, for example, get the source and destination ports from the
TCP header of the part of a TCP segment included in a minimum-length
ICMPv4 error packet.

svn path=/trunk/; revision=3986
2001-10-01 08:29:37 +00:00
Guy Harris 3869ff8bfb Make several of the fields in the SMB header filterable.
Get rid of the "unknown-0xXX" entries in the "value_string" table for
SMB command codes - they make it much more painful to select one of them
in the filter-editing dialog box.

svn path=/trunk/; revision=3985
2001-09-30 23:36:46 +00:00
Guy Harris 1e937e5c0a The length of an NBSS message can be bigger than 64K, so make the
variable that holds it an "int" rather than a "guint16".

Further strengthen the heuristics the NBSS dissector uses to distinguish
NBSS messages from continuations of NBSS messages.

If an frame contains an NBSS continuation, put the protocol tree item
for the continuation data under an NBSS protocol tree item.

Have the TCP dissector supply information to subdissectors via a "struct
tcpinfo" pointed to by "pinfo->private"; move the urgent pointer value
from a global variable into that structure, and add a Boolean flag that
indicates whether the data it's handing to a subdissector is reassembled
data or not.

Make the NBSS dissector check for continuations only in non-reassembled
data.

Fix the computation, in the TCP dissector, of the offset into the tvbuff
handed to the subdissector of the first byte of stuff that needs further
reassembly, and fix the computation of the sequence number corresponding
to that byte.

svn path=/trunk/; revision=3984
2001-09-30 23:14:43 +00:00
Guy Harris 5feac9e72a "packet-ipv6.c" doesn't need anything from "packet-tcp.h" or
"packet-udp.h", so it shouldn't #include them.

svn path=/trunk/; revision=3983
2001-09-30 23:07:12 +00:00
Guy Harris 0e12636ce2 For requests and responses for unknown interfaces, put an entry into the
DCE RPC protocol tree for the stub data.

Use the counts of context items and transfer syntax items when
dissecting a bind or alter context PDU.

In bind and alter context PDUs, create the conversation, attach the
context ID and interface to it, and put the interface information into
the Info column as soon as the first context item is dissected, so that
if we get an exception after that, we've still processed the context ID
and interface information.

Use the count of results when dissecting a bind ack PDU.

In bind ack PDUs, dissect the transfer syntax and syntax version fields,
and put the opnum and context ID information into the Info column as
soon as it's dissected.

When dissecting a connection-oriented request or response, don't make
the tvbuff the full fragment length if we don't have that much data in
the frame being dissected.  (We should do TCP reassembly there,
eventually.)

In connection-oriented response PDUs, put the opnum and context ID
information into the Info column as soon as it's dissected.

svn path=/trunk/; revision=3982
2001-09-30 21:56:24 +00:00
Richard Sharpe 8628761b11 Pasi Eronen's attribution ...
svn path=/trunk/; revision=3981
2001-09-30 13:50:14 +00:00
Richard Sharpe 9668f4b90e Committing Pasi Eronen's patches to dcerpc.
svn path=/trunk/; revision=3980
2001-09-30 13:48:20 +00:00
Richard Sharpe ed5e9c9768 Committing Montonori Shindo's patched to ppp for chap support.
svn path=/trunk/; revision=3979
2001-09-30 13:30:51 +00:00
Richard Sharpe c3c85e5426 Commit Montori Shindo's small patch.
svn path=/trunk/; revision=3978
2001-09-30 13:23:20 +00:00
Guy Harris 745d836320 Make the item for NetBIOS only as long as the NetBIOS header, so that it
doesn't cover the payload.

svn path=/trunk/; revision=3977
2001-09-29 20:32:29 +00:00
Guy Harris f2cb0c704d The Wiretapped.net mirror is OK again (it was a problem with the
mirroring procedure, due to the Politecnico di Torino site's IIS not
being configured to allow the relevant "virtual directories" to be
listed, thus keeping Wiretapped.net from figuring out what files were
there and whether they've changed), so put back the references to it.

svn path=/trunk/; revision=3976
2001-09-29 19:56:08 +00:00
Guy Harris 9be7b5fa6e The Wiretapped.net mirror is OK again (it was a problem with the
mirroring procedure, due to the Politecnico di Torino site's IIS not
being configured to allow the relevant "virtual directories" to be
listed, thus keeping Wiretapped.net from figuring out what files were
there and whether they've changed), so put back the references to it.

svn path=/trunk/; revision=3975
2001-09-29 19:31:31 +00:00
Guy Harris a6c48da6a3 Use tvbuff routines to extract data from the SMB header.
svn path=/trunk/; revision=3974
2001-09-29 01:44:09 +00:00
Guy Harris 0102e0c783 Start the process of tvbuffifying the SMB dissector - give it a
tvbuffified heuristic-dissector interface, but have it immediately turn
its arguments into an old-style buffer pointer and offset.

Register the SMB dissector as a heuristic NetBIOS dissector, and have
"dissect_netbios_payload()" just try the heuristics, as it no longer has
to call the SMB dissector explicitly.

svn path=/trunk/; revision=3973
2001-09-29 01:19:01 +00:00
Guy Harris 0967703289 Have "dissect_netbios_payload()" take as an argument a tvbuff containing
only the NetBIOS payload, and have the NBSS dissector construct tvbuffs
of that sort (i.e., stop at the end of the NBSS session message, not at
the end of the data handed to the NBSS dissector).

svn path=/trunk/; revision=3972
2001-09-29 00:57:36 +00:00
Guy Harris 168a986072 Re-strengthen the check for NBSS continuations, to avoid, for example,
session messages with a zero byte count.

svn path=/trunk/; revision=3971
2001-09-29 00:00:26 +00:00
Guy Harris 5406cdeb95 Fix indentation.
svn path=/trunk/; revision=3970
2001-09-28 23:34:03 +00:00
Guy Harris 44e672ab42 From Todd Sabin: dissect the auth info in connection oriented dcerpc
packets.

Make a "dissect_netbios_payload()" routine, called from the
NetBIOS-over-802.2 (NBF), NetBIOS-over-IPX, and NetBIOS-over-TCP
dissectors.  Take Todd Sabin's changes to add a heuristic dissector list
to the NBSS dissector, and apply them to "dissect_netbios_payload()"
instead.  Make the SMB dissector heuristic, returning FALSE if it
doesn't see 0xFF S M B at the beginning of the packet, and have
"dissect_netbios_payload()" first try the heuristic dissector list, then
try the SMB dissector if no other heuristic dissector claims the packet,
then just dissect the payload as data.

From Todd Sabin: have the DCE/RPC dissector register as a heuristic
dissector for NetBIOS.

svn path=/trunk/; revision=3969
2001-09-28 22:43:57 +00:00
Guy Harris 434a3ded4c Push-traffic dissecting for WSP/WTLS, from Tom Uijldert.
svn path=/trunk/; revision=3968
2001-09-28 18:59:30 +00:00
Guy Harris 28c42a21ec Additional Ascend codes, and IETF codes, for Radius, from Graeme Hewson.
svn path=/trunk/; revision=3967
2001-09-28 18:50:19 +00:00
Guy Harris 5a16a295ad WordCount is unsigned, so test for "WordCount != 0" rather than
"WordCount > 0".

Always put the byte count field into the protocol tree, regardless of
whether WordCount is 0 - it's not one of the word parameters counted by
WordCount, so it's present even if WordCount is 0.

Fix a "val_to_str()" call.

svn path=/trunk/; revision=3966
2001-09-28 08:39:59 +00:00
Guy Harris 31328f1ac4 Base decisions on whether to dump the word parameters on the word count
value being non-zero, not on whether the error code is zero.  Don't
bother passing the error code to dissectors for particular SMBs, as they
don't need to use it.

In "get_unicode_or_ascii_string()", when aligning to an even boundary,
align to an even boundary in the SMB message, not in the packet as a
whole - there's no guarantee that there are an even number of bytes in
the frame before the SMB message.

In the Info column, mark the packet as a request or response based on
the request/response bit in the Flags field, not on the matched port -
for NBIPX, the source and destination ports (IPX sockets) may be the
same, so you may not be able to determine whether it's a request or a
response based on that.

svn path=/trunk/; revision=3965
2001-09-28 08:01:22 +00:00
Guy Harris 6515004633 Sigh. The wiretapped.net site appears to have an old version of
WinPcap's installer (it dates back to May, meaning it may be a beta of
2.2 or may even be 2.1), so don't suggest that people go there.

svn path=/trunk/; revision=3964
2001-09-28 07:50:48 +00:00
Guy Harris 61568581bd We have our own internal versions of "gzgets()" and "gzgetc()", so we
don't need to check whether zlib has them.  We *do*, however, have to
check for "gzseek()", as we don't have our own version of that.

svn path=/trunk/; revision=3963
2001-09-28 05:41:45 +00:00
Guy Harris ad0e1385e3 Add support for NT error codes.
svn path=/trunk/; revision=3962
2001-09-27 22:48:46 +00:00
Guy Harris f0a15c306b Handle interim Transact2 responses correctly.
Mark interim responses as such in the Info column.

svn path=/trunk/; revision=3961
2001-09-27 22:33:44 +00:00
Guy Harris 6395ce3749 When dissecting an ICMP datagram that contains part of an IP datagram,
hand the (possibly-partial) IP datagram to the IP dissector, as we do
for IPv6 datagrams inside ICMPv6 and CLNP datagrams inside CLNP ER PDUs.

When dissecting IPv6 datagrams inside ICMPv6 and CLNP datagrams inside
CLNP ER PDUs, catch the ReportedLengthError exception and ignore it, as
they don't guarantee that all of the original PDU is present.

svn path=/trunk/; revision=3960
2001-09-27 10:35:40 +00:00
Guy Harris 43cd2ff411 If the amount of available data in a UDP packet is less than the length,
as reported in the header, don't checksum the packet.

svn path=/trunk/; revision=3959
2001-09-27 10:19:14 +00:00
Guy Harris f5ae39b540 Use the right #define for the length of the CC.NEW TCP option.
svn path=/trunk/; revision=3958
2001-09-27 10:10:08 +00:00
Guy Harris 6518163e63 Show Boolean flags as Booleans.
svn path=/trunk/; revision=3957
2001-09-27 10:01:07 +00:00
Guy Harris daebc74d91 2.1 isn't the current version of WinPcap; don't say what the current
version is, as that's subject to change - just speak of the "latest
non-beta version".

Mention the mirrors for WinPcap and WinDump.

svn path=/trunk/; revision=3956
2001-09-26 21:22:02 +00:00
Guy Harris c2d19c1ceb Make the message popped up if you try to do a capture on a Win32 machine
when wpcap.dll couldn't be loaded more detailed, in the hopes that it'll
reduce the chances that somebody will see that message and not know what
to do.  Also, mention the Wiretapped.net mirror of the WinPcap site, as
the WinPcap site is all-too-often down due to networking glitches.

svn path=/trunk/; revision=3955
2001-09-26 20:02:36 +00:00
Guy Harris 4325d41fbd MMSE support, from Tom Uijldert.
svn path=/trunk/; revision=3954
2001-09-25 21:32:41 +00:00
Guy Harris a86490d2a7 If "snprintf()" can't print all the data because there's not enough
room, it might return -1 in some versions of glibc; check for that, and
quit if that happens.

It might also return the number of characters that would've been printed
had there been enough room; this means that a loop that does

	n += snprintf (buf + n, BUF_LENGTH - n, ...);

may end up making "n" bigger than BUF_LENGTH, and "snprintf()" might not
sanely handle being passed a negative length, so if "n" isn't less than
the total length of the string buffer, don't add stuff to it.

The "capabilitiesStart" variable in "add_capabilities()" in the WSP
dissector is an offset into the PDU data; there's no guarantee that said
offet is < 256, and, even if there were, there's no point in making it
an 8-bit variable.

Add some additional buffer overflow checks to the WSP dissector.

svn path=/trunk/; revision=3953
2001-09-25 18:27:35 +00:00
Guy Harris 12db23546d If "snprintf()" can't print all the data because there's not enough
room, it might return -1 in some versions of glibc; check for that, and
quit if that happens.

It might also return the number of characters that would've been printed
had there been enough room; this means that a loop that does

	n += snprintf (buf + n, BUF_LENGTH - n, ...);

may end up making "n" bigger than BUF_LENGTH, and "snprintf()" might not
sanely handle being passed a negative length, so if "n" isn't less than
the total length of the string buffer, don't add stuff to it.

svn path=/trunk/; revision=3952
2001-09-25 02:21:15 +00:00
Guy Harris 7ee55bfd6b The data in a tagged field can be up to 255 bytes (the length is an
8-bit value), and the raw data of an SSID parameter is the
interpretation, so the buffer into which we put the interpretation must
be at least 256 bytes long; it's an array of size SHORT_STR, so boost
SHORT_STR to 256.

svn path=/trunk/; revision=3951
2001-09-25 00:34:24 +00:00
Guy Harris cf5dc889a9 Explain what the LLC header vs. no LLC header stuff in the ATM on Linux
tcpdump patch is all about, and note that a future version of libpcap
may render it irrelevant.

svn path=/trunk/; revision=3950
2001-09-23 23:10:30 +00:00
Guy Harris c80cd072ac Update the URL for ATM-on-Linux.
svn path=/trunk/; revision=3949
2001-09-23 21:55:21 +00:00
Ashok Narayanan 29c8fa03b3 Removed the dependency on gzgetc and gzgets by implementing internal
versions of these commands in file_wrappers.c. This allows us to
compile successfully even on platforms where X has an older zlib built
in.

Removed this restriction from acinclude.m4

svn path=/trunk/; revision=3948
2001-09-20 16:36:45 +00:00
Guy Harris d1ec951825 "value_string" arrays must end with a terminator entry.
If "get_hex_uint()" supplies a "next_offset" equal to the offset fed
into it, it found no hex digits; don't put the value into the tree if
that's the case.

If "get_unquoted_string()" or "get_quoted_string()" returns NULL, the
string separator/terminator wasn't found; don't put the value into the
tree if that's the case.

svn path=/trunk/; revision=3947
2001-09-20 02:26:03 +00:00
Guy Harris 5644182f65 Updates from Michal Melerowicz:
1. simplified and shorter names
	2. fixed problem with filtering (consequence of 1st point)
	3. added more charging tickets

svn path=/trunk/; revision=3946
2001-09-19 06:08:36 +00:00
Gilbert Ramirez 6ea1d075c1 Distribute the make-manuf and manuf.tmpl files in the source tarball.
svn path=/trunk/; revision=3945
2001-09-18 21:29:56 +00:00
Guy Harris 7e9fee9f39 Fix from Andy Hood, to remove a bogus extra line.
svn path=/trunk/; revision=3944
2001-09-17 23:35:22 +00:00
Guy Harris 0e10085580 Add support for desegmentation of DNS messages.
Make the default for NBSS and ONC RPC-over-TCP desegmentation "on",
rather than "off"; the default for desegmentation in general is "off",
so this won't change the default behavior, but it lets you turn
desegmentation on by flipping only one switch (and turn it off for
particular protocols if you desire).

svn path=/trunk/; revision=3943
2001-09-17 02:07:00 +00:00