Commit Graph

2207 Commits

Author SHA1 Message Date
Laurent Deniel 95c935f216 Add some ethertypes (which were captured on my network, so inuse ;-).
svn path=/trunk/; revision=2242
2000-08-09 22:10:23 +00:00
Laurent Deniel 02fc097017 - make-reg-dot
Do not assume that all dissectors are in the source directory.
This is the case for instance for packet-ncp2222.c which is
generated in the production directory (current).
This is particularly important when the generation is not
made in the source directory.

- ncp2222.py

Remove tabs in generated source to make the generated code
nicer and to make work the make-reg-dotc. Without that fix,
all NCP packet dissections dump core ...

svn path=/trunk/; revision=2241
2000-08-09 21:24:27 +00:00
Guy Harris 86852f4fe8 Add #defines for class values, and use them rather than using the
numeric values.  (Also, just for laughs and for completeness, turn the
CS class into "csnet", even though it's obsolete and supposedly used
only in some examples in obsolete RFCs.)

svn path=/trunk/; revision=2240
2000-08-09 07:15:19 +00:00
Guy Harris 42f7676996 Give the Help menu the more-or-less canonical style from most
Motif/KDE/GNOME(?) and Windows applications, with "Help" above "About",
and separated from "About" by a separator line.

(This also makes "Help->Help" the default, which is probably what most
users would want, especially if, as, and when we fill out the help.)

svn path=/trunk/; revision=2239
2000-08-09 06:43:22 +00:00
Guy Harris 4f08b6f493 Update the man pages to reflect
the addition of support for Cisco Secure Intrusion Detection
	System IPlog output;

	support for selecting only one side of a conversation, for
	showing a conversation in hex, and for saving the displayed data
	to a file, in the "Filter TCP Stream" window.

svn path=/trunk/; revision=2238
2000-08-09 06:38:53 +00:00
Gilbert Ramirez fac3eec39a Make copy_binary_file() static since follow_dlg.c no longer uses it.
svn path=/trunk/; revision=2237
2000-08-09 06:18:16 +00:00
Guy Harris 5e751be764 Phil Techau's fix to BOOTP when client address not supplied.
Give Phil credit for the other stuff he added as well.

svn path=/trunk/; revision=2236
2000-08-09 06:15:14 +00:00
Guy Harris 5225efe134 Make "editcap -h" give the usage message without an error message (i.e.,
specify it in the argument to "getopt()").

svn path=/trunk/; revision=2235
2000-08-09 06:00:54 +00:00
Guy Harris b8a983f558 Document that ranges of packet numbers can be specified.
svn path=/trunk/; revision=2234
2000-08-09 05:58:08 +00:00
Gilbert Ramirez ba2272fb26 Small fix for initialization of new follow_info struct.
svn path=/trunk/; revision=2233
2000-08-09 05:26:11 +00:00
Gilbert Ramirez 3f8d753943 In TCP Follow window, allow the optional showing of:
Entire Conversation
	Client -> Server packets
	Server -> Client packets

Have "Save As" button work as a "Print to File" button; it asks for
a filename and uses the same routine that "Print" uses to save the file.
What you see in the window is what you get in the file. So, you can get
any of the above conversations/soliloquies combined with:

	ASCII
	EBCDIC
	Hex Dump

svn path=/trunk/; revision=2232
2000-08-09 05:18:45 +00:00
Mike Hall c83d80de36 Added wiretap support to read the Cisco Secure Intrusion Detection System IPLog format.
svn path=/trunk/; revision=2231
2000-08-08 22:16:42 +00:00
Gilbert Ramirez 7520ec53b6 Fix display of IPv6 frag header display in proto tree, from
Santeri Paavolainen.

svn path=/trunk/; revision=2230
2000-08-08 21:49:13 +00:00
Gilbert Ramirez bda1231ebe Convert comments to docstrings.
svn path=/trunk/; revision=2229
2000-08-08 16:39:48 +00:00
Laurent Deniel 58bdaa850e - improve/fix add_host_name
- add hostname/IP in host hashtable from DNS answers
  (currently only type A RR).

svn path=/trunk/; revision=2228
2000-08-08 16:21:24 +00:00
Laurent Deniel cedac6e3f1 Add a Help window that contains:
- short overview
- list of known protocols
- list of display filters
- short capture filter help

The display filter help can be extended in the future
when we will have a GUI for filter construction. But
this is better than nothing ;-)
And cut & paste from the text help window and the filter
input field works...

svn path=/trunk/; revision=2227
2000-08-08 12:28:50 +00:00
Uwe Girlich a981dcf5db NLM v1 dissector filled with some actual dissectors.
svn path=/trunk/; revision=2226
2000-08-08 06:22:08 +00:00
Uwe Girlich b485f8e951 Several new RPC dissecting function introduced. Interface to
existing functions changed. So NFS was also necessary to change.

svn path=/trunk/; revision=2225
2000-08-08 06:19:52 +00:00
Richard Sharpe b762041ba3 Added another tool to generate lists of protocols from Ethereal for the
documentation/user guide ...

svn path=/trunk/; revision=2224
2000-08-08 01:56:57 +00:00
Guy Harris d9b5291990 Cast arguments to "isxdigit()", "isdigit()", and "isflag()" to "unsigned
char" so that if it has the 8th bit set it won't get sign-extended; this
squelches a GCC complaint.

svn path=/trunk/; revision=2223
2000-08-07 23:05:43 +00:00
Guy Harris 7b4e1a3742 Cast an argument to "isspace()" to "guchar" so that if it has the 8th
bit set it won't get sign-extended; this squelches a GCC complaint, and
may keep weird things from happening if there're non-ASCII ISO 8859/n
characters in a filter file.

svn path=/trunk/; revision=2222
2000-08-07 22:35:14 +00:00
Guy Harris f3d87ee7a7 Cast an argument to "isspace()" to "guchar" so that if it has the 8th
bit set it won't get sign-extended; this squelches a GCC complaint, and
may keep weird things from happening if there're non-ASCII ISO 8859/n
characters in a preferences file.

svn path=/trunk/; revision=2221
2000-08-07 22:31:09 +00:00
Richard Sharpe 73e093e7e7 A small set of patches to fix one small problem and start working on the
filtering in packet-smb.c ...

svn path=/trunk/; revision=2220
2000-08-07 14:49:03 +00:00
Laurent Deniel 84f2fd988b Fix compilation problem.
svn path=/trunk/; revision=2219
2000-08-07 11:48:40 +00:00
Guy Harris 56b989e0ad Allow either old-style (pre-tvbuff) or new-style (tvbuffified)
dissectors to be registered as dissectors for particular ports,
registered as heuristic dissectors, and registered as dissectors for
conversations, and have routines to be used both by old-style and
new-style dissectors to call registered dissectors.

Have the code that calls those dissectors translate the arguments as
necessary.  (For conversation dissectors, replace
"find_conversation_dissector()", which just returns a pointer to the
dissector, with "old_try_conversation_dissector()" and
"try_conversation_dissector()", which actually call the dissector, so
that there's a single place at which we can do that translation.  Also
make "dissector_lookup()" static and, instead of calling it and, if it
returns a non-null pointer, calling that dissector, just use
"old_dissector_try_port()" or "dissector_try_port()", for the same
reason.)

This allows some dissectors that took old-style arguments and
immediately translated them to new-style arguments to just take
new-style arguments; make them do so.  It also allows some new-style
dissectors not to have to translate arguments before calling routines to
look up and call dissectors; make them not do so.

Get rid of checks for too-short frames in new-style dissectors - the
tvbuff code does those checks for you.

Give the routines to register old-style dissectors, and to call
dissectors from old-style dissectors, names beginning with "old_", with
the routines for new-style dissectors not having the "old_".  Update the
dissectors that use those routines appropriately.

Rename "dissect_data()" to "old_dissect_data()", and
"dissect_data_tvb()" to "dissect_data()".

svn path=/trunk/; revision=2218
2000-08-07 03:21:25 +00:00
Laurent Deniel a60203b3c6 Add some preferences in OSI CLNP/COTP/CLTP module to allow the user to:
- specify the NSAP selector for OSI transport decoding (default is still 0x21
  which is valid for DECNet-OSI at least).
- force the OSI C{L,O}TP decoding whatever the NSAP is (option disabled by default).

svn path=/trunk/; revision=2217
2000-08-06 15:54:42 +00:00
Guy Harris a056a4d446 Use "BYTES_ARE_IN_FRAME()" rather than explicitly checking an offset and
packet length.

Use "IS_DATA_IN_FRAME()", rather than checking if "offset+1" is greater
than "pi.captured_len", to check whether there's any data left in the
packet.

Check whether data is in the packet *before* extracting it and stuffing
an item into the tree with it.

svn path=/trunk/; revision=2216
2000-08-06 10:04:15 +00:00
Guy Harris ef5f866b73 Use "BYTES_ARE_IN_FRAME()" rather than explicitly checking an offset and
packet length.

Use "IS_DATA_IN_FRAME()" rather than checking the value of
"END_OF_FRAME" when checking whether there's any data left in the
packet.

Before putting the initial login sequence, or any part of it, into the
tree, make sure it's actually in the packet.

When looking for the end of a '\0'-terminated string, don't run past the
end of the captured data in the frame.

Before putting the terminal information into the tree, make sure it's
actually in the packet.

svn path=/trunk/; revision=2215
2000-08-06 08:53:44 +00:00
Guy Harris 61aefd7470 Don't use "fd->pkt_len" when checking to see if you've run off the end
of the packet, use "pi.captured_len" - "fd->pkt_len" may include data
that isn't in the capture, due to a short snapshot length.

Don't use "fd->cap_len" when checking to see if you've run off the end
of the packe, use "pi.captured_len" - "fd->cap_len" isn't adjusted to
reflect any length fields, but "pi.captured_len" is (removing, for
example, Ethernet padding from the packet).

Use "END_OF_FRAME" rather than "pi.captured_len - offset", to make it a
bit clearer what's being done.

In the V.120 dissector, use "tvb_length()" when adding the top-level
protocol tree entry for V.120, as it's a tvbuffified dissector.

svn path=/trunk/; revision=2214
2000-08-06 07:22:38 +00:00
Guy Harris 10fe2ebd84 There is *no* guarantee that the "fd" argument to a dissector uniquely
identifies a frame; it may do so for Ethereal, which has to allocate a
data structure for each frame, but it doesn't do so for Tethereal, which
looks at a frame once and never does so again.

Use, instead, the "num" member of the structure to which "fd" points as
a unique identifier; it's the ordinal number of the frame within a
capture (frame number, not display row number, so it doesn't change as
the display is filtered), and is thus different for all frames.

svn path=/trunk/; revision=2213
2000-08-06 05:19:25 +00:00
Guy Harris ee78255b00 Arrange that filter dialog boxes have an "Apply" button only if one can
apply the filter, i.e. only if the dialog box is attached to the filter
text entry in the main window.

svn path=/trunk/; revision=2212
2000-08-05 07:02:28 +00:00
Guy Harris 657e33d827 Make the ICMP top-of-protocol-tree item cover the entire rest of the
packet, not just the first 4 bytes of the ICMP packet.

svn path=/trunk/; revision=2211
2000-08-05 05:24:01 +00:00
Guy Harris 6a4a59ea1e Make "ip_checksum()" take just pointer and length arguments, and make
"ip_checksum_shouldbe()" compute the correct checksum given the computed
whole-packet checksum and the value of the checksum field; that scheme
can be better extended in the future to handle checksums other than the
IP header checksum, e.g. ICMP, UDP, and TCP checksums (although we'd
want a somewhat more optimized checksumming routine for that, and
perhaps have an option to control whether to do checksum checking on TCP
and UDP packets, as that could be expensive).

That requires that we remember the value of the computed checksum, not
just check it against 0; that renders "ip_checksum_state()"
uninteresting, as we can just compare the value against 0 in line.

svn path=/trunk/; revision=2210
2000-08-05 05:08:21 +00:00
Guy Harris 88f4dbf0e9 More changes from Peter Kjellerstedt.
svn path=/trunk/; revision=2209
2000-08-05 00:55:55 +00:00
Guy Harris 9dee6d52ed ICQ improvements from Peter Kjellerstedt.
svn path=/trunk/; revision=2208
2000-08-04 23:12:21 +00:00
Guy Harris ffc1f0a6a2 Fix to the SRVLOC dissector to correctly handle the error field of the
Service Reply (i.e., treat it as the 16-bit field that it is), from
Peter Kjellerstedt.

svn path=/trunk/; revision=2207
2000-08-04 22:56:27 +00:00
Guy Harris 1239d0e5d2 Clean up the checksumming stuff a bit:
have "ip_checksum()" compute the checksum of the IP header;

	have "ip_checksum_state()" call "ip_checksum()" and then return
	TRUE if the result is 0 and FALSE otherwise;

	have "ip_checksum_shouldbe()" save the current value of the
	checksum field in the header, set that field to 0, call
	"ip_checksum()" to get the checksum, restore the value of the
	checksum field in the header to the saved value, and then return
	what "ip_checksum()" returned;

rather than having duplicated code to compute checksums.

svn path=/trunk/; revision=2206
2000-08-04 22:43:45 +00:00
Gilbert Ramirez b20fbb9d9f Re-organize the README so that people who just want to run ethereal, not
compile it, find their info at the top of the file.

Explain the generated sources for developers, and the Unix-ish tools that
are needed.

svn path=/trunk/; revision=2205
2000-08-04 15:40:54 +00:00
Guy Harris 3d9c2b3507 Fix a number of problems, and do some checking to make sure we don't run
past the end of the frame.

svn path=/trunk/; revision=2204
2000-08-04 07:38:13 +00:00
Gilbert Ramirez afc31a3c22 Mention IDSN4BSD's i4btrace utility as a supported trace file format.
svn path=/trunk/; revision=2203
2000-08-04 05:17:18 +00:00
Gilbert Ramirez a98522712d If IP checksum is incorrect, show what correct value should be.
From "Johannes Hennecke" <Johannes.Hennecke@elsa.de>

svn path=/trunk/; revision=2202
2000-08-04 04:54:22 +00:00
Guy Harris 4793e45e75 Add some error values that, whilst they're not in the NFS V2 spec, are,
as I remember, issued by some NFS V2 servers (EXDEV, for one, can almost
certainly be issued by most V2 servers).

svn path=/trunk/; revision=2201
2000-08-03 19:27:19 +00:00
Gilbert Ramirez a3e7190456 Add a "Save As" feature to the TCP Follow dialogue, to save the stream
file to a user-specified file.

Move the file-copy routine in save_cap_file() to an indepenent
function in file.c  (copy_binary_file()) so that follow_dlg.c can use it.

Remove #include "follow.h" from the C files that don't need it.

svn path=/trunk/; revision=2200
2000-08-03 12:44:40 +00:00
Gilbert Ramirez 15a399d338 Replace calls to sprintf() with snprintf() in file_*_error_message routines,
as a long filename may overflow the buffer.

svn path=/trunk/; revision=2199
2000-08-03 12:02:15 +00:00
Gilbert Ramirez 4b09c25049 Fix typo in description of Diameter.tcp.port preference.
From Jakob Schlyter <jakob@crt.se>

svn path=/trunk/; revision=2198
2000-08-03 09:30:32 +00:00
Gilbert Ramirez 52903b26a8 Move to version 0.8.11
svn path=/trunk/; revision=2196
2000-08-03 01:54:53 +00:00
Uwe Girlich 2aff407c79 All 4 protocol versions included (as templates but not as decodings).
svn path=/trunk/; revision=2195
2000-08-02 11:36:18 +00:00
Uwe Girlich bfb39fbc44 Procedure numbers as constants are much better.
svn path=/trunk/; revision=2194
2000-08-02 11:32:31 +00:00
Gilbert Ramirez 5f3191082f Allow filtering on strings.
svn path=/trunk/; revision=2193
2000-08-01 18:10:06 +00:00
Guy Harris 2bcc0d3c13 There is a <sys/stat.h> available on Win32, and, in fact, we now include
it in "util.c", so we have to define HAVE_SYS_STAT_H in Win32.

svn path=/trunk/; revision=2192
2000-07-31 15:55:46 +00:00