Commit Graph

1839 Commits

Author SHA1 Message Date
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
Jun-ichiro itojun Hagino 3ae12aa496 BGP confederations support (RFC1965).
From: Greg Hankins <gregh@twoguys.org>

svn path=/trunk/; revision=1828
2000-04-11 14:21:37 +00:00
Guy Harris db471396fa Have separate global variables for the current "File:Open" and
"File:Save {As}" dialog boxes, if any.

svn path=/trunk/; revision=1827
2000-04-10 18:40:13 +00:00
Gerald Combs a42b1820e4 Add DOCSIS BPDU patch from Johannes Hennecke <Johannes.Hennecke@elsa.de>.
svn path=/trunk/; revision=1826
2000-04-10 14:45:30 +00:00
Guy Harris cd3eccbef8 The "llc_ctrl_vals[]" value_string table isn't used to generate the
protocol tree text for the control field - that protocol tree entry is
added by "dissect_xdlc_control()", which uses
"proto_tree_add_uint_format()" - and it's not a simple enumerated field
(which is why "proto_tree_add_uint_format()" is used, to show all the
various bits of the field).  Eliminate it.

svn path=/trunk/; revision=1825
2000-04-09 18:33:26 +00:00
Guy Harris b1bf10bacb The "llc_ctrl_vals[]" value_string table isn't used to generate the
protocol tree text for the control field - that protocol tree entry is
added by "dissect_xdlc_control()", which uses
"proto_tree_add_uint_format()" - and it's not a simple enumerated field
(which is why "proto_tree_add_uint_format()" is used, to more fully
describe the field).  Eliminate it.

svn path=/trunk/; revision=1824
2000-04-08 07:55:11 +00:00
Guy Harris 42107e8614 Move calls to "dissector_add()" out of the register routines for TCP and
UDP and into the handoff registration routines for the protocols in
question.

Make the dissectors for those protocols static if they're not called
outside the dissector's source file.

Get rid of header files if all they did was declare dissectors that are
now static; remove declarations of now-static dissectors from header
files that do more than just declare the dissector.

svn path=/trunk/; revision=1823
2000-04-08 07:07:42 +00:00
Guy Harris 160928a318 Jeff Foster's rlogin dissector, and changes to the TCP dissector to
export the urgent pointer (as the rlogin dissector needs it).

svn path=/trunk/; revision=1822
2000-04-08 03:32:10 +00:00
Richard Sharpe 43c9217ba4 Minor update to SMB browse display code ...
svn path=/trunk/; revision=1821
2000-04-08 01:28:13 +00:00
Guy Harris f5d1db4d77 Declare, in "wtap.h", Richard's new "wtap_read()" function.
svn path=/trunk/; revision=1820
2000-04-08 01:16:52 +00:00