Commit Graph

1033 Commits

Author SHA1 Message Date
Gilbert Ramirez fb9f8ad5ed Mention the Toshiba trace file capability in the man page.
svn path=/trunk/; revision=953
1999-10-31 17:54:27 +00:00
Gilbert Ramirez 558e714449 Add a module to wiretap to be able to read trace files from Toshiba's
line of ISDN routers. Much like the ascend reader, this module reads an
ASCII hex dump of trace data.

Rearranged the order in which wiretap tries trace files, to keep the
ASCII-readers (ascend and toshiba) at the end, and put the binary-readers
(everything else) at the front of the list. If a telnet session of
and ascend trace or toshiba trace were captured near the beginning of
another trace, wiretap might think the trace was ascend or toshiba if it
tried that module first.

Fixed the way wtap_seek_read() selects functions to call. It was using
the encap type instead of the file type. We got lucky because
WTAP_ENCAP_ASCEND == WTAP_FILE_ASCEND

svn path=/trunk/; revision=952
1999-10-31 17:46:11 +00:00
Jun-ichiro itojun Hagino 10fdc90bb0 improve BGP path attribute decoding tree.
show detail of path attribute to outside of the tree, to help users
browse the structure.  BGP protocol header structure is very complex
and the previous code required users to click through the tree to check,
say, AS path.

svn path=/trunk/; revision=951
1999-10-31 00:20:44 +00:00
Guy Harris b99cfa28c8 Warren Young's patch to add a "Print" button to the "Follow TCP Stream"
data window.

Some (belated) man page updates.

svn path=/trunk/; revision=950
1999-10-30 06:42:10 +00:00
Guy Harris 149c40fec9 Don Lafontaine's IGRP/EIGRP dissector.
svn path=/trunk/; revision=949
1999-10-30 06:10:32 +00:00
Guy Harris 62df24872c Give DDP packets their own ETT_ type, rather than using ETT_IP.
Call "dissect_data()" on the payload of a DDP packet.

svn path=/trunk/; revision=948
1999-10-29 05:25:59 +00:00
Guy Harris 5f6c1e26de Have the PROTOCOL field for ONC RPC just give the RPC program
name/number, and put the call/reply info, procedure, and version number
into the INFO field.

Implement "col_append_fstr()", and use it to add information to the info
field.

Make "col_add_fstr()" aware that COL_INFO fields can have more data than
other COL_XXX fields (as "col_add_str()" and "col_append_str()" already
were).

svn path=/trunk/; revision=947
1999-10-29 02:25:54 +00:00
Guy Harris dc6963e2d4 Uwe Girlich's ONC RPC and NFS dissectors.
svn path=/trunk/; revision=946
1999-10-29 01:11:23 +00:00
Guy Harris 21c466ed25 Uwe Girlich's ONC RPC and NFS dissectors.
svn path=/trunk/; revision=945
1999-10-29 01:04:44 +00:00
Nathan Neulinger 6a95d6d5ea added additional error messages
svn path=/trunk/; revision=944
1999-10-28 20:46:42 +00:00
Nathan Neulinger 3bfa84c004 Converted C++ style comments to C style
svn path=/trunk/; revision=943
1999-10-28 15:08:42 +00:00
Gilbert Ramirez 0d3f7a8190 Final change for 0.7.7
svn path=/trunk/; revision=941
1999-10-28 12:21:11 +00:00
Guy Harris 1ae609b1b3 Forcibly insert "-I/usr/local/include" in CFLAGS and "-L/usr/local/lib"
in LIBS, because there's a bunch of stuff we might use that might have
been installed in "/usr/local" ("libpcap", "zlib", an SNMP library), and
we want to make sure all the stuff that looks for libraries and header
files checks there.

Also, add all the "-I" stuff to CPPFLAGS as well, as that's what's used
in many header-file searches.

And, while we're at it, add "-R/usr/local/lib" on SunOS 5.x, as its
linker doesn't automatically set the run-time library search path to
include all directories specified in "-L".

Hopefully, this will make sure we find in "/usr/local/include" and
"/usr/local/lib" everything we might want to find (e.g., SNMP headers -
on FreeBSD, we weren't adding "/usr/local/include" because we found the
"libpcap" header in "/usr/include", and thus weren't searching
"/usr/local/include" for "ucd-snmp/snmp.h" or "snmp/snmp.h", and thus
weren't finding them even if we'd installed the UCD SNMP package!).

Also, hopefully it won't cause problems on some other platform with some
other configuration of installed packages....

svn path=/trunk/; revision=940
1999-10-28 03:33:19 +00:00
Gerald Combs 652fd211ac Change ASCEND_MAX_SEEK from 1000000 to 100000, so as not to excessively slow
down file opens.

svn path=/trunk/; revision=939
1999-10-28 01:42:43 +00:00
Gilbert Ramirez c624b1c696 More comments about changes in 0.7.7.
svn path=/trunk/; revision=938
1999-10-27 19:31:31 +00:00
Gilbert Ramirez aad98c9a66 Added #include <time.h> for AIX.
svn path=/trunk/; revision=937
1999-10-27 19:30:23 +00:00
Guy Harris f494dfafa7 Include <time.h> to get "struct tm" declared.
svn path=/trunk/; revision=936
1999-10-27 17:07:08 +00:00
Guy Harris d14691ff97 Oops! A missing checkin from the recent update by Kojak to the ICQ
dissector.

svn path=/trunk/; revision=935
1999-10-27 05:34:39 +00:00
Guy Harris 93dd1c452d Get rid of a presumed debugging "printf()".
svn path=/trunk/; revision=934
1999-10-27 03:10:37 +00:00
Gilbert Ramirez 5ecad5b6e3 Moved version to 0.7.7
svn path=/trunk/; revision=933
1999-10-27 02:55:07 +00:00
Gilbert Ramirez 3c4a52e342 Add make-reg-dotc to list of deliverables (EXTRA_DIST).
Invoke make-reg-dotc as $(srcdir)/make-reg-dotc for builds outside
of source-tree.

svn path=/trunk/; revision=932
1999-10-27 02:41:11 +00:00
Guy Harris ca5bfca312 Arrange that "proto_register_snmp()" be defined regardless of whether
SNMP dissection is enabled or not, so that if "register.c" was generated
by scanning a list of files that include "packet-snmp.c" even though
SNMP dissection isn't enabled (the standard "Makefile.in" and
"configure" script won't cause that to happen, but source distributions
such as BSD ports may be set up to do that), and thus includes a call to
"proto_register_snmp()", that won't cause the link to fail.

svn path=/trunk/; revision=931
1999-10-27 02:05:09 +00:00
Guy Harris 7568df46e6 For some unknown reason, having a big "for" loop in the Makefile to scan
all the "packet-XXX.c" files doesn't work with some "make"s; they seem
to pass only the first few names in the list to the shell, for some
reason.

Therefore, we use a script to generate the "register.c" file, and run
that script from the Makefile.

svn path=/trunk/; revision=930
1999-10-27 01:46:14 +00:00
Richard Sharpe 454a982d3b Some small fixes to get rid of compiler warnings
svn path=/trunk/; revision=929
1999-10-26 21:30:11 +00:00
Gilbert Ramirez 82476688f5 Removed erroneous g_assert().
svn path=/trunk/; revision=928
1999-10-26 08:08:24 +00:00
Guy Harris d0844608c5 The previous patch didn't fix code used only with the CMU SNMP library;
make the equivalent fix to that code.

svn path=/trunk/; revision=927
1999-10-25 20:50:19 +00:00
Guy Harris 50dc9d07c8 Include "snprintf", if necessary, to get "snprintf()" declared.
svn path=/trunk/; revision=926
1999-10-25 20:48:48 +00:00
Guy Harris d3ab2c76af Ensure that "password" is '\0'-terminated.
svn path=/trunk/; revision=925
1999-10-25 20:32:52 +00:00
Guy Harris a54314e961 Update from Kojak to dissect ICQ login packets and text messages.
svn path=/trunk/; revision=924
1999-10-25 20:28:21 +00:00
Guy Harris 72eb3d5353 Tomislav Vujec's additional comments on the layout of NTP packets.
svn path=/trunk/; revision=923
1999-10-25 01:55:45 +00:00
Jun-ichiro itojun Hagino 03638cfd21 ignore register.c on cvs operations (dynamically generated by Makefile)
svn path=/trunk/; revision=922
1999-10-24 16:11:43 +00:00
Guy Harris 4d3e30133d Tomislav Vujec's patch to squelch some complaints from GCC (hopefully,
"asn_parse_header()" and "snmp_constr_parse()" don't actually modify the
data to which their first arguments point - if so, we have bigger
problems; I have no reason to believe they would modify it...).

svn path=/trunk/; revision=921
1999-10-24 07:36:20 +00:00
Guy Harris 1d72c68bc6 Export the data structure used to represent a conversation.
Replace "add_to_conversation()" with:

	"conversation_new()", which creates a new conversation, given
	source and destination addresses and ports, and returns a
	pointer to the structure for the conversation;

	"find_conversation()", which tries to find a conversation for
	given source and destination addresses and ports, and returns a
	pointer to the structure for the conversation if found, and a
	null pointer if not found.

Add a private data pointer field to the conversation structure, and have
"conversation_new()" take an argument that specifies what to set that
pointer to; that lets clients of the conversation code hang arbitrary
data off the conversation (e.g., a hash table of protocol requests and
replies, in case the protocol is a request/reply protocol wherein the
reply doesn't say what type of request it's a reply to, and you need
that information to dissect the reply).

svn path=/trunk/; revision=920
1999-10-24 07:27:20 +00:00
Guy Harris da1fdf005f Kojak's ICQ dissector.
svn path=/trunk/; revision=919
1999-10-24 00:56:11 +00:00
Jun-ichiro itojun Hagino 8a391029da I believe this was me who did ipsec part. If my memory is wrong,
kick me.

svn path=/trunk/; revision=918
1999-10-22 15:07:16 +00:00
Guy Harris 09b332787a Add new "packet-atalk.h" and "packet-sna.h" files to list of source
files.

svn path=/trunk/; revision=917
1999-10-22 08:57:24 +00:00
Guy Harris 4df22dcab1 Add in a missing include of "packet-vines.h", to declare
"vines_addr_to_str()".

svn path=/trunk/; revision=916
1999-10-22 08:56:13 +00:00
Guy Harris e30a15f04f Add support for SNA FID type 4 addresses to the code that handles the
"address" type.

Use that in the SNA FID type 4 dissector.

svn path=/trunk/; revision=915
1999-10-22 08:53:41 +00:00
Guy Harris 518c23417f Adjust the sizes of the buffers in "vines_addr_to_str()".
svn path=/trunk/; revision=914
1999-10-22 08:51:04 +00:00
Guy Harris 645acd5c15 Add support for Banyan Vines addresses to the code that handles the
"address" type.

Use that in the Banyan Vines dissector.

svn path=/trunk/; revision=913
1999-10-22 08:30:04 +00:00
Guy Harris 5686eb0e1b Get rid of an "extern" before the definition of "atalk_addr_to_str()".
Print the fields of a DDP address as unsigned quantities.

The maximum length of the string for a DDP address is 13 characters
(plus a trailing '\0'); adjust the lengths of the buffers in
"atalk_addr_to_str()".

svn path=/trunk/; revision=912
1999-10-22 08:18:26 +00:00
Guy Harris 1ff9a0d3e3 Add support for Appletalk DDP addresses to the code that handles the
"address" type.

Use that in the Appletalk DDP dissector.

Show the DDP packet type by name, if it's a known packet type.

svn path=/trunk/; revision=911
1999-10-22 08:11:40 +00:00
Guy Harris d9e7aca79e If one wants to look up a value in a "value_string" table, and get back
either the corresponding string on success or NULL on failure, one
should use "match_strval()", rather than using "val_to_str()" with a
null format - "val_to_str()" uses the format if the lookup fails, so it
won't work correctly (e.g., it may drop core) if the format string is
NULL.

svn path=/trunk/; revision=910
1999-10-22 08:02:21 +00:00
Guy Harris 047b8751f3 Generalize the "ip_src" and "ip_dst" members of the "packet_info"
structure to "dl_src"/"dl_dst", "net_src"/"net_dst", and "src"/"dst"
addresses, where an address is an address type, an address length in
bytes, and a pointer to that many bytes.

"dl_{src,dst}" are the link-layer source/destination; "net_{src,dst}"
are the network-layer source/destination; "{src,dst}" are the
source/destination from the highest of those two layers that we have in
the packet.

Add a port type to "packet_info" as well, specifying whether it's a TCP
or UDP port.

Don't set the address and port columns in the dissector functions; just
set the address and port members of the "packet_info" structure.  Set
the columns in "fill_in_columns()"; this means that if we're showing
COL_{DEF,RES,UNRES}_SRC" or "COL_{DEF,RES,UNRES}_DST", we only generate
the string from "src" or "dst", we don't generate a string for the
link-layer address and then overwrite it with a string for the
network-layer address (generating those strings costs CPU).

Add support for "conversations", where a "conversation" is (at present)
a source and destination address and a source and destination port.  (In
the future, we may support "conversations" above the transport layer,
e.g. a TFTP conversation, where the first packet goes from the client to
the TFTP server port, but the reply comes back from a different port,
and all subsequent packets go between the client address/port and the
server address/new port, or an NFS conversation, which might include
lock manager, status monitor, and mount packets, as well as NFS
packets.)

Currently, all we support is a call that takes the source and
destination address/port pairs, looks them up in a hash table, and:

	if nothing is found, creates a new entry in the hash table, and
	assigns it a unique 32-bit conversation ID, and returns that
	conversation ID;

	if an entry is found, returns its conversation ID.

Use that in the SMB and AFS code to keep track of individual SMB or AFS
conversations.  We need to match up requests and replies, as, for
certain replies, the operation code for the request to which it's a
reply doesn't show up in the reply - you have to find the request with a
matching transaction ID.  Transaction IDs are per-conversation, so the
hash table for requests should include a conversation ID and transaction
ID as the key.

This allows SMB and AFS decoders to handle IPv4 or IPv6 addresses
transparently (and should allow the SMB decoder to handle NetBIOS atop
other protocols as well, if the source and destination address and port
values in the "packet_info" structure are set appropriately).

In the "Follow TCP Connection" code, check to make sure that the
addresses are IPv4 addressses; ultimately, that code should be changed
to use the conversation code instead, which will let it handle IPv6
transparently.

svn path=/trunk/; revision=909
1999-10-22 07:18:23 +00:00
Guy Harris 6921a22ac5 Additional NTP changes:
added misc. constants for parsing flags, and converting time
	stamps;

	added flags and primary sources explanations;

	added function for converting time stamps;

	improved item analysis;

	new item definitions;

from Tomislav Vujec.

svn path=/trunk/; revision=908
1999-10-22 06:31:39 +00:00
Guy Harris 1c7671d5f2 Print the sequence number and call number as unsigned quantities, and
print them with "%lu" and cast the result of "ntohl()" to "unsigned
long" (so as to cope with platforms where "ntohl()" returns a value with
an "int"-based type and platforms where it returns a value with a
"long"-sized type).

svn path=/trunk/; revision=907
1999-10-22 03:55:17 +00:00
Guy Harris 2d16674a5a Check to make sure the header length is at least the minimum length for
an IP header.

svn path=/trunk/; revision=906
1999-10-22 03:52:06 +00:00
Gilbert Ramirez 25c3854517 Mention nettl in docs, and mention VLAN addition in NEWS.
svn path=/trunk/; revision=904
1999-10-22 02:30:31 +00:00
Guy Harris 30f0f3976e When scanning source files to generate "register.c", they are in
"$(srcdir)", which isn't necessarily the current directory.

svn path=/trunk/; revision=903
1999-10-21 22:18:33 +00:00
Guy Harris d4964f4944 Have Ethereal check for a first command-line argument of "-G", rather
than a command name of "ethereal-dump-fields", to decide whether to run
as normal Ethereal or to just dump out the list of fields that can be
used in a display filter.

This allows us to continue to make that check without doing the regular
command line flag parsing (which we don't want to do, as we don't want
to call "gtk_init()" before making that check, as "gtk_init()" tries to
open an X display, and some people want not to have to have X running in
order to build Ethereal, or want not to have Ethereal try to open an X
connection over a slow line if it's just going to print field names to
the standard output), without having to make a link to "../ethereal"
from the "doc" directory (said link couldn't be a hard link, as ATK
apparently disallows hard links between directories, and I have the
vague impression that a symbolic link might cause other problems).

svn path=/trunk/; revision=902
1999-10-21 21:47:08 +00:00