Commit graph

164 commits

Author SHA1 Message Date
Guy Harris
b547681d56 Add support for RTSP (RFC 2326) over TCP, and SDP (RFC 2327) inside
RTSP, from Jason Lango <jal@netapp.com>.

svn path=/trunk/; revision=340
1999-07-07 00:34:58 +00:00
Richard Sharpe
4cef485bd4 Fixed a small problem that would have prevented Ethereal from compiling.
svn path=/trunk/; revision=335
1999-07-01 04:04:38 +00:00
Guy Harris
919fe8f24c Update the display if the "command-line-specified" time format is
changed by updating those columns showing the time in the
"command-line-specified" format, not by redoing the entire packet list
display; that way, the display continues to show the same packets and
any packet the user selected remains selected.  (It's also less work to
do that - you don't have to re-dissect the packet.)

Turn "redisplay_packets()" into "filter_packets()", and do some other
cleanups.

svn path=/trunk/; revision=325
1999-06-22 03:39:07 +00:00
Guy Harris
becbefffcb Use "gtk_toggle_button_set_state()" rather than
"gtk_toggle_button_set_active()" to set the state of radio buttions;
"gtk_toggle_button_set_active()" doesn't exist in GTK+ 1.0[.x], and
"gtk_toggle_button_set_state()" is an alias for it in GTK+ 1.2[.x].

Compute the column widths in the summary display based on the longest
string in the column; recompute it whenever we update the columns.

svn path=/trunk/; revision=319
1999-06-19 03:14:32 +00:00
Gilbert Ramirez
af2bae7723 Changed the Access Control and Frame Control fields in the Token-Ring header
to use the decode_*_bitfield() routines. This needed to happen anyway, but
I finally made the change so that I can figure out how I'm going to handle
bitfield fields in my experiment of changing the implementation of the
protocol tree in ethereal.

svn path=/trunk/; revision=311
1999-06-14 20:30:06 +00:00
Guy Harris
1c30696df9 Make the string argument to "col_add_str()" a "const gchar *" - it
doesn't modify anything pointed to by that argument, and that keeps us
from getting complaints if we pass a "const gchar *" to it.

svn path=/trunk/; revision=306
1999-06-12 04:21:09 +00:00
Gilbert Ramirez
aca172004f Added RSVP protocol dissector.
svn path=/trunk/; revision=304
1999-06-11 16:45:02 +00:00
Gilbert Ramirez
34450a8a35 Added PPPoE, PPTP, GRE, and ISAKMP dissectors.
svn path=/trunk/; revision=303
1999-06-11 15:30:55 +00:00
Gilbert Ramirez
124c7bc994 Fixed some serious bugs in the NCP hash routines. I also simplified
the NCP field table structure so that it is easier to add new request/reply
types. I even added a new type myself. There's still more work to be done;
so for now ignore the warnings that gcc emits.

svn path=/trunk/; revision=287
1999-05-13 16:42:43 +00:00
Gilbert Ramirez
c50d66ba7c Added Didier Jorand's dissect_snmp routine. This is only compiled in
if you have the UCD or CMU SNMP library available. If you have the SNMP
library but do not with to have SNMP support, use the
	./configure --disable-snmp
option. Otherwise 'configure' finds the SNMP library and uses it.

svn path=/trunk/; revision=281
1999-05-12 05:56:42 +00:00
Guy Harris
e638eb378f Turn "arpaddr_to_str()" into "bytes_to_str()", and make it public, so it
can be used by dissectors other than ARP to display byte arrays as
strings of hex digits.

Add a routine to extract a null-terminated Unicode string and turn it
into an ISO 8859-1 string for display.  (Ultimately, we should determine
what character sets the X server or printer or whatever can handle, and
turn it into the appropriate character set.)

Display the challenge in "core-to-LANMAN-2.1" Negotiate Protocol
responses as a string of hex digits - but only if the length is
non-zero.  (It's a counted array, not a null-terminated string.)

Display some additional security mode bits in an NT LM 0.12 Negotiate
Protocol response.

Display some additional bits in the "capabilities" field of the
Negotiate Protocol response.

Display the challenge in an NT LM 0.12 Negotiate Protocol response as a
string of hex digits (it's a counted array, not a null-terminated
string).

Display the domain name as Unicode in an NT LM 0.12 Negotiate Protocol
response if the capabilities field has the "supports Unicode" bit set
(no, not the "Unicode" bit in the "flags2" field - NT doesn't set that
in the response, even though it sends the domain name over in Unicode!).

Display some additional bits in the "flags2" field of an SMB.

svn path=/trunk/; revision=275
1999-05-11 08:21:39 +00:00
Guy Harris
93aab5c7b0 Decode SMB requests inside NetBIOS Datagram Service packets.
svn path=/trunk/; revision=269
1999-05-10 21:50:13 +00:00
Gilbert Ramirez
defccf6b4c Fixed the number of parameters for the other super-IPX protocols so that
the table of dissect functions that IPX needs only needs to store pointers to
on type of function. Now all super-IPX protocols have an 'int max_data' argument.

svn path=/trunk/; revision=267
1999-05-10 20:51:36 +00:00
Guy Harris
a4c1b66753 Decode the "flags2" field in the SMB header.
Squelch another "variable may be used without being initialized"
complaint (also due to insufficiently sophisticated dataflow analysis by
EGCS 1.1), and a number of "unused variable" complaints, as well as
"assigning a 'const XXX *' to an 'XXX *'" complaints.

svn path=/trunk/; revision=266
1999-05-10 20:30:27 +00:00
Gilbert Ramirez
0add610ce6 This small change lets me read SMBtrans packets that come over NBIPX.
svn path=/trunk/; revision=262
1999-05-10 19:01:32 +00:00
Richard Sharpe
ba2afbfeb8 Mode decoded SMBs ... Now decode part of a TCONX request,
but not the responses, and do not handle the ANDX part yet,
but I have a Linux course to develop, so that is enough for
now.

svn path=/trunk/; revision=261
1999-05-10 00:27:32 +00:00
Richard Sharpe
8b00cf57b3 Added initial support for SMB plus most of negprot decode ..
svn path=/trunk/; revision=258
1999-05-09 04:16:36 +00:00
Guy Harris
5958b839bc Add support for the NetBIOS Session Service.
Improve the descriptions of the NetBIOS Name Service errors a bit.

svn path=/trunk/; revision=247
1999-04-30 03:16:03 +00:00
Guy Harris
bad78f629a Add NNTP support.
svn path=/trunk/; revision=241
1999-04-06 02:02:12 +00:00
Guy Harris
ee80616a8c FTP, POP, and Telnet support from Richard Sharpe.
svn path=/trunk/; revision=237
1999-04-05 21:54:41 +00:00
Guy Harris
f1e024b605 Move the bitfield-decoding routines to "packet.h", along with other
helper routines for packet dissecting, and away from "util.c", which is
now all GUI-related.  (Among other things, this makes life more pleasant
for Gilbert Ramirez's "tethereal" stuff, although a lot more separation
of GUI from other stuff needs to be done to make that - or a
"curses"-based variant of Ethereal, or a variant using some other GUI
toolkit - work smoothly.)

svn path=/trunk/; revision=235
1999-03-31 08:20:28 +00:00
Guy Harris
2ffe6f0ffe Changes to the routines to help decode text-oriented protocols (FTP,
SMTP, POP, HTTP, etc.) for the benefit of Richard Sharpe's FTP and POP
dissectors.

svn path=/trunk/; revision=233
1999-03-30 04:41:01 +00:00
Gilbert Ramirez
2b86d46d70 Jun-ichiro's IPv6 patch is merged in with ethereal and now uses the new
proto*() functions. The configure script tries to use ipv6 name resolution if
it knows the type of ipv6 stack the user has (this can be avoided with the
--disable-ipv6 switch) Additionally, the configure script now deals with wiretap
better. If the user doesn't want to compile wiretap, the wiretap is never
visited. A few unnecessary #includes were removed from some wiretap files, and
a CPP macro was moved from bpf.c to wtap.h.

svn path=/trunk/; revision=229
1999-03-28 18:32:03 +00:00
Gilbert Ramirez
ef3dfe2077 Removed all references to gtk objects from packet*.[ch] files. They now
reference the protocol tree with struct proto_tree and struct proto_item
objects. That way, the packet decoding source code file can be used with
non-gtk packet decoders, like a curses-based ethereal, e.g. I also re-arranged
some of the information in packet.h to more appropriate places (like other
packet-*.[ch] files).

svn path=/trunk/; revision=223
1999-03-23 03:14:46 +00:00
Guy Harris
05e5c40597 Well, that was dumb. I didn't have to add a "capture_data()" routine; I
just had to make "sap_capture_func()" return NULL if it didn't find an
entry for the SAP it was passed.

svn path=/trunk/; revision=220
1999-03-22 03:56:34 +00:00
Guy Harris
8f70ffdda9 Have "sap_capture_func()" return "capture_data" rather than
"dissect_data"; if you call "dissect_data()" with an argument list of
the type expected by a "capture_XXX()" routine, it won't do the right
thing (and may do the wrong thing, e.g. crash).

Have "sap_capture_func()" (and "sap_dissect_func()") return function
pointers rather than "void *"s, so that I don't make a mistake like the
above in the future....

svn path=/trunk/; revision=219
1999-03-22 03:44:44 +00:00
Guy Harris
38a04d2660 Added Richard Sharpe's TFTP support.
svn path=/trunk/; revision=190
1999-02-15 06:36:57 +00:00
Guy Harris
10d6bc0996 Add a first cut at HTTP decoding.
svn path=/trunk/; revision=187
1999-02-12 09:03:42 +00:00
Guy Harris
75305346b5 When doing a capture, decode enough of the incoming packets to correctly
update the packet counts and percentages in the dialog box popped up
during a capture, even for non-Ethernet captures.

svn path=/trunk/; revision=184
1999-02-09 00:35:38 +00:00
Gilbert Ramirez
facb503960 I removed the bit-fields that depended upon gcc's ability to use any type
of variable as a bit field container. ANSI specs only allow unsigned ints
to host bit fields; IBM's C compiler is very ANSI-strict.

svn path=/trunk/; revision=183
1999-02-08 20:02:35 +00:00
Gilbert Ramirez
69458d2e92 Added guy's time and DHCP patch.
svn path=/trunk/; revision=177
1999-01-28 21:29:36 +00:00
Guy Harris
bc21c7a2c7 Decode the various flag fields in resource records in NBNS replies.
svn path=/trunk/; revision=159
1999-01-05 08:48:40 +00:00
Guy Harris
e808e2a733 Neither "ether_to_str()" nor "ip_to_str()" modify the data pointed to by
their arguments, so make those arguments pointers to 'const", so that we
don't get complaints if somebody hands them a pointer to "const".

svn path=/trunk/; revision=158
1999-01-05 07:33:38 +00:00
Guy Harris
229245043d Decode the word containing the opcode, flags, reply code, etc. in DNS
and NBNS requests.

Put the opcode in the COL_INFO field for DNS requests (it was already
there for NBNS requests).

Don't assume a DNS or NBNS request is neatly aligned on a 2-byte
boundary (it might not be if, for example, the packet is an FDDI
packet).

svn path=/trunk/; revision=153
1999-01-04 09:13:46 +00:00
Gilbert Ramirez
3688d96c45 Added the iptrace (AIX's packet-capture tool) file format to wiretap.
This necessitated a change in ethereal because iptrace supports multi-NIC
packet capturing, including multi-datalink-type capturing.

svn path=/trunk/; revision=145
1999-01-02 06:10:55 +00:00
Gerald Combs
cb1f8e34c5 * Added Joerg Mayer's Vines patch
* Added Joerg to the AUTHORS file
* Added Guy's bitfield decode patch
* Fixed time output

svn path=/trunk/; revision=142
1998-12-29 04:05:38 +00:00
hannes
183c35b0b4 Added "Cisco Discovery Protocol" Hooks
Added Ethernet Loopback Protocol Type to ethertype.c

svn path=/trunk/; revision=129
1998-12-19 00:12:23 +00:00
Guy Harris
7dd4f76f59 When dissecting DNS or NBNS queries or replies, add the item to the tree
for the queries or replies first, then create and add the subtree and
populate it, and, when that's done, set the length of the item
appropriately; if you add the subtree later, the subtree's top-level
node appears to have level 0, rather than 1 greater than the tree of
which it's a subtree, which causes those trees not to print correctly.

svn path=/trunk/; revision=122
1998-12-04 05:59:14 +00:00
Gilbert Ramirez
d570947a14 Added NetBIOS Datagram (over UDP) support.
svn path=/trunk/; revision=113
1998-11-20 05:58:42 +00:00
Gerald Combs
b0fdc8edb2 * Added patches from Laurent and Guy
svn path=/trunk/; revision=103
1998-11-18 03:01:44 +00:00
Gerald Combs
6ca358948b * Added column formatting functionality.
* Added check_col(), add_col_str() and add_col_fmt() to replace references
  to ft->win_info.
* Added column prefs handling code.

svn path=/trunk/; revision=97
1998-11-17 04:29:13 +00:00
Guy Harris
d07cba10c1 Add a routine to convert Ethernet packet types to strings.
Use that routine in "ethertype()".

	Have "dissect_arp()" handle hardware addresses that aren't
	6-byte Ethernet addresses and protocol addresses that aren't
	4-byte IPv4 addresses - currently, it just prints the first 16
	hex digits, but it could be made to handle other types specially
	just as it handles 6-byte Ethernet and 4-byte IPv4 addresses.

	Have it decode a more complete set of hardware address types.

svn path=/trunk/; revision=78
1998-11-03 07:45:10 +00:00
Guy Harris
6f241463be Add the "Maximize security" type of service for IP, from RFC
1455.

	Make the arguments to "val_to_str()" and "match_strval()" that
	point to things those routines don't modify pointers to "const",
	and make the "value_string" tables passed into those routines in
	"packet-ip.c" "const".

svn path=/trunk/; revision=72
1998-10-28 01:16:49 +00:00
Guy Harris
0bb16cb989 Add a "val_to_str()" routine that calls "match_strval()" and, if
it returns NULL, formats the value with the format passed in as
	an argument, and returns a pointer to that static buffer.

	Change several "match_strval()" calls to use "val_to_str()".

	In "dissect_ospf()", use "match_strval()" to look up the packet
	type, and use "Unknown" if it doesn't find a match.

svn path=/trunk/; revision=66
1998-10-20 05:31:03 +00:00
Guy Harris
7867e7441d Add declarations of "dissect_aarp()' and "dissect_ddp()".
svn path=/trunk/; revision=65
1998-10-16 06:46:55 +00:00
Gerald Combs
349f96bb49 * Copied in the correct GNU license (I'm such a goober)
* Hacks to the filter interface (Gerald)
* About box (Laurent)
* AppleTalk support (Simon)
* Mods to the match_strval routine (Gerald)

svn path=/trunk/; revision=61
1998-10-16 01:18:35 +00:00
Guy Harris
75b9af68eb Show queries as a summary line (as was the case before my DNS checkins)
which can be expanded into a detailed name/type/class description.

svn path=/trunk/; revision=58
1998-10-15 06:40:51 +00:00
Guy Harris
022967513b Tag NetBIOS Name Service-over-UDP packets as "NBNS (UDP)".
Give a detailed display of the innards of NBNS-over-UDP packets.  Export
some stuff from the DNS decoder for the use of the NBNS decoder (NBNS is
DNS-like).

Give a more detailed display of the innards of DNS packets as well.

Fix a couple of minor NBNS bugs.

svn path=/trunk/; revision=55
1998-10-14 19:35:00 +00:00
Gilbert Ramirez
5e649516c9 I've started to figure out the difference between NetBIOS over IPX for
Netware, and NetBIOS over IPX for WinNT (NWLink).

svn path=/trunk/; revision=53
1998-10-14 05:18:32 +00:00
Gilbert Ramirez
4dbba72d17 I rename the single dissect() function in packet-nbipx.c, and had packet-ipx.c
call it under fewer circumstances.

svn path=/trunk/; revision=52
1998-10-14 04:28:49 +00:00
Gilbert Ramirez
4ef47e6cfb Added preliminary support for NetBIOS Name Services over IPX and UDP. Note
that these are two very different implementations of NetBIOS name services and
at the protocol level are not similar. I have put the UDP protocol in
packet-nbns.c, since it will be a very big module. I have all of rfc 1002 to
read and implement. I am planning on putting many different NetBIOS over IPX
functions in packet-nbipx.c, however, since there is no RFC or published
standard. I have to hack the protocol, and as such, I do not expect it to be
as full-featured as the IP-world equivalents.

svn path=/trunk/; revision=50
1998-10-14 04:09:15 +00:00
Guy Harris
7f2da15d6b Add a routine to dissect IP or TCP options (and, from a look at RFC
1883, it should, perhaps with some additions, be able to handle IPv6
options as well).

Make the IPv4 and TCP dissectors use it.

Fix a typo in the IP dissector ("Unknon" for "Unknown").

Show the IP and TCP header lengths as byte counts rather than
4-byte-word counts.

Show the protocol field value of an IP header as a name if it's a
protocol we know about.

List the acknowledgment and urgent pointer values in a TCP header only
if the corresponding flag is set.

Make the ETT_ values members of an enum, so that the compiler
automatically assigns them sequential integer values (at least if said
compiler conforms to the ANSI C standard).

svn path=/trunk/; revision=45
1998-10-13 05:40:04 +00:00
Gerald Combs
0758da1146 - Added match_strval function to packet.c
- Separated display and capture filters; rearranged some of the look and feel
- Lots of other miscellaneous fixes and updates

svn path=/trunk/; revision=38
1998-10-12 01:40:57 +00:00
Gerald Combs
1b26a7cdb7 * OSPF alignment fixes (Gerald)
* FDDI support (Laurent, Guy)

svn path=/trunk/; revision=36
1998-10-10 03:32:20 +00:00
Gerald Combs
2e7e493198 Merged in a _huge_ patch from Guy Harris. It adds a time stap column,
generalizes the column printing code, adds a "frame" tree item to
   the tree view, and fixes a bunch of miscellaneous coding bugs.

svn path=/trunk/; revision=31
1998-09-27 22:12:47 +00:00
Gerald Combs
3da04dd983 * Ethernet manufacturer support (Laurent)
* PPP fixes (Gerald)
* Null/loopback interface support (Gerald)

svn path=/trunk/; revision=25
1998-09-25 23:24:07 +00:00
Gilbert Ramirez
eac9fd94be NetWare SAP added.
svn path=/trunk/; revision=24
1998-09-24 04:22:08 +00:00
Gilbert Ramirez
ec1936b6f1 I removed the ncp code from packet-ipx.c and created packet-ncp.c. Now that
I've started concentrating on the NetWare modules again, packet-ncp.c is going
to start to grow. I also added IPX RIP to packet-ipx.c. Additionally, I added
the END_OF_FRAME macro to packet.h, which is useful for many dissect()
routines. (and I already modified packet-bootp.c and packet-data.c to use this
macro)

svn path=/trunk/; revision=22
1998-09-23 05:25:12 +00:00
Gilbert Ramirez
663ddc59c1 IPX over IP (rfc 1234) added. Very trivial.
svn path=/trunk/; revision=20
1998-09-21 16:16:01 +00:00
Gerald Combs
5110b21fd8 * Added Mike Hall's TCP reconstruction code.
svn path=/trunk/; revision=10
1998-09-17 03:12:28 +00:00
Gerald Combs
3ad9f39915 * Added Don Lafontaine's support for Banyan Vines.
svn path=/trunk/; revision=9
1998-09-17 02:37:47 +00:00
Gerald Combs
19176fbb4f * Added in Laurent's OSI/ISO CNLP and COTP support.
* Added Laurent's changes to the man (actually pod) page.
* Copied in VERSION file so that others can make doc/Makefile

svn path=/trunk/; revision=8
1998-09-17 02:01:50 +00:00
Gerald Combs
576024f903 Added ID tags to the beginning of each source file.
svn path=/trunk/; revision=7
1998-09-16 03:22:19 +00:00
Gerald Combs
86534f46e1 Initial revision
svn path=/trunk/; revision=2
1998-09-16 02:39:15 +00:00