Commit Graph

1898 Commits

Author SHA1 Message Date
Laurent Deniel 61908ba2c2 Fix the checksum option decoding in the CC/CR TPDU variable part.
svn path=/trunk/; revision=1879
2000-04-18 18:01:50 +00:00
Guy Harris fad892ff59 In the NCP dissector, construct conversations using the source and
destination network-layer addresses of the servers, and the NCP
connection number, and use the pointer to the conversation and the
request sequence number as the hash key for the table of requests used
to find the request for a given response; this lets it work with
NCP-over-TCP and NCP-over-UDP.

Register the NCP dissector with the UDP dissector in the handoff
registration routine for NCP, just as we do with the TCP dissector.

svn path=/trunk/; revision=1878
2000-04-18 04:46:07 +00:00
Gilbert Ramirez 73a42b360c Remove optopt and opterr, two unused variables.
svn path=/trunk/; revision=1877
2000-04-17 14:52:32 +00:00
Guy Harris fa49e7601c Don't rely on the "tree" argument being null as an indication that this
is the first time we've looked at a packet; it may not be null if, for
example, we're doing read filtering, or if we're colorizing packets, or
if there are plugins active, or if this is Tethereal with the "-V" flag.
Instead, use the new "visited" flag.

svn path=/trunk/; revision=1876
2000-04-17 04:00:36 +00:00
Guy Harris b84de4724f Tweak a comment.
svn path=/trunk/; revision=1875
2000-04-17 02:47:43 +00:00
Guy Harris 2c5e102966 Make "decode_tcp_ports()" and "decode_udp_ports()" more closely resemble
one another, put the comments that explain what they do in front of
them, and clean up the indentation.

svn path=/trunk/; revision=1874
2000-04-17 02:39:55 +00:00
Guy Harris 27ca639e86 Register an "osinl" dissector table for ISO/IEC TR 9577 NLPID values,
and have dissectors for protocols that run at the OSI network layer
register themselves with it using "dissector_add()".

Make various dissectors static if they can be, and remove from header
files declarations of those dissectors.

svn path=/trunk/; revision=1873
2000-04-17 01:36:31 +00:00
Guy Harris 0ba3e2b233 Register a "llc.dsap" dissector table for 802.2 LLC, and have dissectors
for protocols that run inside 802.2 LLC register themselves with it
using "dissector_add()".

Make various dissectors static if they can be, and remove from header
files declarations of those dissectors.

svn path=/trunk/; revision=1872
2000-04-17 00:32:43 +00:00
Guy Harris 83a275737e Make various dissectors static if they can be, and get rid of any header
files that no longer contain any information as a result of that change.

svn path=/trunk/; revision=1871
2000-04-16 22:59:37 +00:00
Guy Harris 9aa7670a4e Register an "ip.proto" dissector table for IPv4, and have dissectors for
protocols that run inside IPv4 register themselves with it using
"dissector_add()".

Make various dissectors static if they can be, and get rid of any header
files that no longer contain any information as a result of that change.

svn path=/trunk/; revision=1870
2000-04-16 22:46:25 +00:00
Guy Harris 4179944c14 Register a "ppp.protocol" dissector table for PPP, and have dissectors
for protocols that run inside PPP register themselves with it using
"dissector_add()".

svn path=/trunk/; revision=1869
2000-04-16 21:37:07 +00:00
Laurent Deniel a5719d1448 Remove TODO comments about NSAP and ISIS decodings since
this is implemented now.

svn path=/trunk/; revision=1868
2000-04-16 09:10:53 +00:00
Guy Harris 3417990d59 Ralf Schneider's changes to enhance to OSI CLNP, CLTP, and ISIS support
and to add OSI ESIS support.

svn path=/trunk/; revision=1867
2000-04-16 08:58:55 +00:00
Richard Sharpe b064f1e14f Fix up the allocation stuff for the per frame data ...
svn path=/trunk/; revision=1866
2000-04-16 04:56:40 +00:00
Guy Harris c9d4dd080d Ralf Schneider's changes to enhance to OSI CLNP, CLTP, and ISIS support
and to add OSI ESIS support.

svn path=/trunk/; revision=1865
2000-04-15 22:11:26 +00:00
Guy Harris 26ca4597f6 In the COTP dissector, don't forcibly set the protocol to COTP if we
find a COTP PDU - we might have called a subdissector, which would have
set the protocol itself.  Do so only if we've not seen any DT PDUs on
which we've called a subdissector.

svn path=/trunk/; revision=1864
2000-04-15 21:27:12 +00:00
Guy Harris d51f36236f Get rid of the "start" field in the private data for RADCOM, i4btrace,
and nettl captures - a "start" field is used for capture files where the
time stamps on packets are relative to some initial time stamp, e.g. the
time the capture started, but those file formats use absolute time
stamps, so no "start" field is needed.

Make the "this is an HP-UX 11.x nettl capture" flag a member of the
private data structure for a nettl capture, rather than a global - it's
per-capture-file state.

Once the "start" field is removed from the RADCOM private data
structure, there's nothing left, so eliminate the private data
structure.

svn path=/trunk/; revision=1863
2000-04-15 21:12:37 +00:00
Guy Harris e97af65590 Graham Bloice's Win32 icon for Ethereal and Win32 resource-compiler
files to add version/copyright/etc.  information to Win32 executables.

svn path=/trunk/; revision=1862
2000-04-15 19:55:24 +00:00
Guy Harris 9ec3cb0c17 Alas, one can't count on CLNP packets with a destination NSEL of 0x21
being COTP packets, so we make "dissect_cotp_internal()" return FALSE if
it saw no valid COTP packets, and return TRUE and set the COL_PROTOCOL
field to COTP if it saw at least one valid COTP packet, and have
"dissect_cotp()" dissect the packet as raw data if
"dissect_cotp_internal()" returns FALSE (for the benefit of callers such
as X.25).

svn path=/trunk/; revision=1861
2000-04-15 07:26:57 +00:00
Guy Harris 823398834b If an NPDU contains multiple concatenated TPDUs, dissect all of them.
Fix up some spacing problems in the INFO field of CLNP packets.

Dissect only the payload of DT and MD NPDUs as COTP; the payload of
other packets isn't to be so dissected (ER NPDUs are like ICMP error
packets, in that they contain the network-layer header and zero or more
bytes of the payload of the offending packet, for example).

svn path=/trunk/; revision=1860
2000-04-15 06:47:43 +00:00
Guy Harris 0131109a72 Graham Bloice's Win32 icon for Ethereal and Win32 resource-compiler
files to add version/copyright/etc.  information to Win32 executables.

svn path=/trunk/; revision=1859
2000-04-15 04:10:50 +00:00
Guy Harris 168bfce580 Changes from Richard Sharpe to improve the display of FTP data.
svn path=/trunk/; revision=1858
2000-04-15 02:26:17 +00:00
Guy Harris eef42ea392 On Win32, build Ethereal as a Windows-subsystem program rather than a
console-subsystem program, so that when not run from a shell window it
doesn't cause a shell window to be popped up.  (Yes, this means that any
messages it prints, when not popped up from a shell window, get lost,
but the same is true of Ethereal on UNIX/X.)  Trick for doing this
shamelessly stolen from the Win32 port of the GIMP.

We do not want to build Tethereal or editcap as Windows-subsystem
programs, however, so we take the "/SUBSYSTEM" flag out of LDFLAGS and
put it into the link commands for Ethereal, Tethereal, and editcap.

svn path=/trunk/; revision=1857
2000-04-14 09:00:25 +00:00
Guy Harris c7c8e8e458 Register all the AFS ports in "proto_reg_handoff_rx()", rather than
checking for them in the UDP dissector.

svn path=/trunk/; revision=1856
2000-04-14 06:42:52 +00:00
Guy Harris d419701eea RFC 1058, on RIP V1, says:
Specific queries and debugging requests may be sent from ports
	other than 520, but they are directed to port 520 on the target
	machine.

and RFC 2453, on RIP V2, says:

	Specific queries may be sent from ports other than the RIP port,
	but they must be directed to the RIP port on the target machine.

so there is no requirement that RIP packets have 520 as both source and
destination port numbers.  It's therefore OK to register it as the
dissector for UDP port 520 - no need to handle it specially in the UDP
dissector as a reminder to make it check both source and destination
ports - so we do so.

svn path=/trunk/; revision=1855
2000-04-14 06:17:23 +00:00
Gilbert Ramirez 61167a3c28 Change dfilter_apply() to 4-argument function. 4th argument is not yet used,
but will be in the future, and it's easier for me to keep my local branch
in sync with the source with the calls to dfilter_apply() already modified
tothe 4-arg format.

Add a CPP macro to ipv4.h to define ipv4_addr_ne(). Use it in dfilter.c

svn path=/trunk/; revision=1854
2000-04-14 05:39:43 +00:00
Olivier Abad d716875317 Missed a few things in the DHIS to DDTP name change.
svn path=/trunk/; revision=1853
2000-04-13 21:16:22 +00:00
Olivier Abad 6271cb9f0e Renamed packet-dhis to packet-ddtp.
svn path=/trunk/; revision=1852
2000-04-13 21:08:16 +00:00
Olivier Abad 109454117f Renamed the DHIS protocol to DDTP (Dynamic DNS Tools Protocol).
svn path=/trunk/; revision=1851
2000-04-13 21:03:56 +00:00
Gilbert Ramirez b218a8f550 Consolidate flags in struct frame_data, and add "visited" flag. Use
it in SOCKS dissector.

(Okay, how many times am I going to modify packet.h today, forcing you
to re-compile everything? :-)

svn path=/trunk/; revision=1850
2000-04-13 20:39:38 +00:00
Gilbert Ramirez 6a1c248625 Re-insert 4 #include lines to get capture_*() function prototypes.
svn path=/trunk/; revision=1849
2000-04-13 19:38:55 +00:00
Gilbert Ramirez db187f965c Change the sub-dissector handoff registration routines so that the
sub-dissector table is not stored in the header_field_info struct, but
in a separate namespace. Dissector tables are now registered by name
and not by field ID. For example:

        udp_dissector_table = register_dissector_table("udp.port");

Because of this different namespace, dissector tables can have names
that are not field names.  This is useful for ethertype, since multiple
fields are "ethertypes".

packet-ethertype.c replaces ethertype.c (the name was changed so that it
would be named in the same fashion as all the filenames passed to make-reg-dotc)

Although it registers no protocol or field, it registers one dissector table:

	ethertype_dissector_table = register_dissector_table("ethertype");

All protocols that can be called because of an ethertype field now register
that fact with dissector_add() calls.

In this way, one dissector_table services all ethertype fields
(hf_eth_type, hf_llc_type, hf_null_etype, hf_vlan_etype)

Furthermore, the code allows for names of protocols to exist in the
etype_vals, yet a dissector for that protocol doesn't exist. The name
of the dissector is printed in COL_INFO. You're welcome, Richard. :-)

svn path=/trunk/; revision=1848
2000-04-13 18:18:56 +00:00
Gilbert Ramirez 2fa56170d3 Add last minute changes.
Fix statement about Win32 version not capturing in README.

svn path=/trunk/; revision=1846
2000-04-13 11:20:49 +00:00
Gilbert Ramirez ac6b7da8b0 Remove extra space before "Port" in proto_tree label.
Add packet-socks.obj to Makefile.nmake.

svn path=/trunk/; revision=1845
2000-04-13 11:11:38 +00:00
Guy Harris c577b0ef60 As we always have to have a filter string (thanks to a bug in the Linux
libpcap), if we have a null filter string we report it as "no filter",
just as we would do for a null filter string pointer.

svn path=/trunk/; revision=1844
2000-04-13 09:17:09 +00:00
Guy Harris fb7dffb8c0 Update to reflect the current state of the Win32 libpcap.
svn path=/trunk/; revision=1843
2000-04-13 09:03:32 +00:00
Guy Harris e70b4f7700 Set the COL_PROTOCOL column to "ISIS" in the ISIS dissector, rather than
in its caller.

Set the COL_PROTOCOL column to "COTP" in the COTP dissector, rather than
in the dissectors it calls, so that it's done for all frames we hand to
that dissector.

Set the COL_INFO field for COTP packets we don't dissect because the
length indicator is zero, or the frame is too short, or the PDU type is
bogus.

svn path=/trunk/; revision=1842
2000-04-13 08:14:35 +00:00
Guy Harris dccffa9d2f Add CLNP PDU types other than DT and ER.
Fix the TPDU code numeric value to be "0x%x" rather than "Ox%x".

Add a COL_INFO field for CLNP PDUs whose payload we don't dissect as
COTP.

Don't dissect segments other than the first derived PDU of a segmented
CLNP PDU (just as we do with fragments other than the first fragment of
a fragmented IP datagram).

svn path=/trunk/; revision=1841
2000-04-13 07:52:55 +00:00
Guy Harris 39f6622feb Fix a typo.
svn path=/trunk/; revision=1840
2000-04-13 06:26:31 +00:00
Guy Harris 5b81d92b45 Fix a typo.
Use "%u" rather than a hex format to print length values and segment
offsets, and use "%u" rather than "%d" to print unsigned values.

In the CLNP dissector, chop off the payload and captured-payload lengths
based on the segment length (along the lines of what we do for IP).

svn path=/trunk/; revision=1839
2000-04-13 06:09:35 +00:00
Guy Harris 50e76e6d49 For I and S frames, the LLC control field is 2 bytes, so make it
FT_UINT16 (that won't break things for U frames, where it's 1 byte).

svn path=/trunk/; revision=1838
2000-04-13 02:36:35 +00:00
Guy Harris cf31cb477d Jeff Foster's SOCKS dissector, support for associating dissectors
with conversations and having TCP and UDP check whether a packet is part
of a conversation with a dissector and, if so, using that dissector on
the conversation, and "ethertype()"-style support for allowing a
dissector to call a sub-dissector via the same path that the TCP and UDP
dissectors use, based on port numbers supplied by that dissector.

svn path=/trunk/; revision=1837
2000-04-12 22:53:16 +00:00
Gilbert Ramirez ed237c129d Build tethereal and editcap on Win32.
Add RCS ID tags to Makefile.nmake's.

svn path=/trunk/; revision=1836
2000-04-12 21:52:11 +00:00
Guy Harris c3459da28b A further update from Mark Muhlestein.
svn path=/trunk/; revision=1835
2000-04-12 21:42:31 +00:00
Gilbert Ramirez 390eeb541e Move to version 0.8.7.
I'm going to go ahead and install the plugins in a "0.8.7" directory, and
continue incrementing the micro number until the minor version changes to 9.
Then for all of 0.9.x, the plugin directory will be "0.9" until the ABI
changes again. This should cause less confusion, even if it means the
plugins don't change between 0.8.6 and 0.8.7.

svn path=/trunk/; revision=1834
2000-04-12 21:02:51 +00:00
Guy Harris 5ae55b0c8f Ben Fowler's additions to exclude more files from "cvs diff" and the
like.

svn path=/trunk/; revision=1833
2000-04-12 20:47:46 +00:00
Guy Harris 8e465e6e48 Mark Muhlestein's code to support CIFS-atop-TCP (without the NetBIOS
Session Service).

svn path=/trunk/; revision=1832
2000-04-12 20:43:53 +00:00
Gilbert Ramirez ef73f1757e Change my e-mail address from @tivoli.com to @xiexie.org
svn path=/trunk/; revision=1831
2000-04-12 20:24:43 +00:00
Guy Harris 8512fc4d73 Catch "loops" in compressed DNS names the same way the BSD DNS resolver,
and BIND, do, by counting the number of characters we look at and, if
when we see a pointer, we see we've already looked at as many characters
as there are in the DNS packet, we conclude that we're looping.

Also, check for pointers that point past the end of the packet (not just
past the end of the captured portion of the packet, i.e. cases where we
didn't capture all of the packet, but cases where the packet is actually
malformed).

svn path=/trunk/; revision=1830
2000-04-12 06:59:28 +00:00
Gilbert Ramirez df5f3b52ce Have proto_tree_set_boolean() call proto_tree_set_uint() so that
bit shifting is handled correctly.

svn path=/trunk/; revision=1829
2000-04-11 16:07:40 +00:00