Commit Graph

536 Commits

Author SHA1 Message Date
Guy Harris 959282506a Fixes for a couple of problems, from Albert Chin:
1. On Solaris, inet_ntop and inet_pton need to be linked against
   -lnsl. AC_CHECK_FUNC() isn't good enough unless LIBS already
   has -lnsl.
2. On IRIX, the blanket redefinition of the inet_ntop function
   prototype is incorrect (compiling with MIPSpro 7.4):
     cc-1143 cc: ERROR File = inet_v6defs.h, Line = 32
       Declaration is incompatible with
               "const char *inet_ntop(int, const void *, char *, socklen_t)"
               (declared at line 89 of "/usr/include/arpa/inet.h").

       extern const char *inet_ntop(int af, const void *src, char *dst,
                     ^

     1 error detected in the compilation of "inet_pton.c".
     gmake[4]: *** [inet_pton.o] Error 2

   On IRIX, the correct prototype is:
     extern const char *inet_ntop(int, const void *, char *, socklen_t);

   Rather than blindly replacing the prototype we detect if a
   prototype exists and define it only if one does not exist.

svn path=/trunk/; revision=7218
2003-02-28 05:09:50 +00:00
Guy Harris 4156806b8b From Didier Gautheron: provide a mechanism to indicate why reassembly
wasn't done, and, for TCP, use that mechanism if reassembly isn't done
is an incorrect TCP checksum.

svn path=/trunk/; revision=7212
2003-02-27 03:56:48 +00:00
Guy Harris 4632490ab1 From Pavel Roskin:
Get rid of acconfig.h, as it's an archaism; put descriptions
	into AC_DEFINE instead.  That squelches some warnings from
	later versions of autoconf.

	Fix an unquoted call to AC_MSG_ERROR.

	Move the stuff to define HAVE_SOME_SNMP into configure.in.

svn path=/trunk/; revision=7203
2003-02-26 20:08:33 +00:00
Guy Harris e345e5640e Rename "fake_unicode()" to "tvb_fake_unicode()" as it works on a tvbuff,
give it a byte-order argument, and move it to "epan/tvbuff.c".

Use it to handle UCS-2 strings in version 1 of the Service Location
Protocol.  In SRVLOC V1, use registered fields that are already there
for SRVLOC V2, and add some as needed.  Fix some field names.

svn path=/trunk/; revision=7186
2003-02-24 01:22:30 +00:00
Guy Harris 6c99ee4db0 Make the argument to "abs_time_secs_to_str()" a "time_t" - it's in ANSI
C, and it's the right thing to pass to "localtime()".

svn path=/trunk/; revision=7125
2003-02-12 00:44:04 +00:00
Guy Harris 1ad3b70b4b Add a "abs_time_secs_to_str()" routine that takes a UNIX time-since-the-
epoch-in-seconds value and converts it to a string.

Use that routine in the RADIUS dissector, rather than using "ctime()"
and "tzname[]" - "tzname[]" strings might contain non-ASCII characters,
which currently give the GTK+ 1.3[.x] used on Windows, and also, I
think, GTK+ 2.x, heartburn, as they expect UTF-8, not, for example, ISO
8859/1.

Fix the string length in "abs_time_to_str()".

svn path=/trunk/; revision=7124
2003-02-11 19:42:38 +00:00
Gilbert Ramirez 9615c4ef25 Provide a way for ftype modules to provide a string representation
of their value. Provide such a method for FT_BYTES, FT_UINT_BYTES,
and FT_ETHER. Have proto_alloc_dfilter_string() use the new methods.

This is part of a movement of ftype-related code out of proto.c and
into the ftype code. The immediate effect is that generated display
filters for long byte sequences don't incorrectly have trailing periods
("...") to indicate continuation.

svn path=/trunk/; revision=7100
2003-02-08 04:22:37 +00:00
Guy Harris ab552d3746 Get rid of BASE_BIN - it's just the same as BASE_DEC, but people seemed
to be using it for stuff that should be hex, and for stuff that should
be Boolean.  Use BASE_DEC if it should be decimal, BASE_HEX if it should
be hex, and make it Boolean if it should be Boolean.

svn path=/trunk/; revision=7053
2003-01-31 03:17:56 +00:00
Jörg Mayer 758685ca0d AC_ARG_ENABLE takes 4 argument: The 3rd specifies what to do in case a
configure option is given on the command line. The value of the arguement
is passwd in the enableval variable. The 4th argument tells what to do in
case no command line argument was given.
This causes --disable-gtk2 (which is the default) to behave differently
from the case when no option is given.
I do not really understand where the difference in the behaviour of the
generated codes comes from, but I definitely see a difference.

Fixed all occurrences where the 3rd arguement was empty.

svn path=/trunk/; revision=7044
2003-01-30 10:20:47 +00:00
Guy Harris 5f09391096 Thou shalt not cast pointers of unknown alignment to pointers to
multi-byte integral quantities and blithely dereference them, lest thou
enrage those of us who work on machines that trap on unaligned
references.

svn path=/trunk/; revision=7021
2003-01-28 18:35:40 +00:00
Laurent Deniel 1a66f9aec9 Update my email address in various places since my old one no longer works
svn path=/trunk/; revision=7003
2003-01-26 19:35:31 +00:00
Guy Harris e120160577 From Dinesh Dutt:
- A new decoder called MDSHDR which decodes the internal header of the
      Cisco MDS switch (this is different from the Boardwalk header).
    - Support for some more new columns as part of FC support.
    - Fixed the decoding of the Special Frame in FCIP.
    - Fixed the decoding of credit management type field in FLOGI/PLOGI frame
      in FC-ELS.

svn path=/trunk/; revision=6974
2003-01-22 06:26:36 +00:00
Gerald Combs 21bb925496 Fix a typo.
svn path=/trunk/; revision=6956
2003-01-21 19:20:49 +00:00
Guy Harris f8fec006d1 From Brian Ginsbach: symbolic names for Fibre Channel Network Address
Authority identifiers.

svn path=/trunk/; revision=6954
2003-01-21 05:04:07 +00:00
Gerald Combs fe60d5b02e Bump the version to 0.9.9. Update the NEWS and ChangeLog files.
I'm shooting for a release on Wednesday evening.

svn path=/trunk/; revision=6952
2003-01-21 02:12:37 +00:00
Guy Harris 6c4a845613 Move into "call_dissector_work()" the stuff to handle dissecting, in
error packets, the copy of the packet that got the error, rather than
doing it in the CLNP dissector and the ICMP dissector and the ICMPv6
dissector and the PPP dissector for various control protocols; have it
do that work iff "pinfo->in_error_pkt" is set.

svn path=/trunk/; revision=6942
2003-01-20 05:42:37 +00:00
Guy Harris 9e144356f8 Use "plugindir", not "PLUGIN_DIR", as the variable name in the configure
script for the plugin directory; in most Makefile.am files it's set with

	plugindir = @plugindir@

(along the lines of what's done with other variables with pathnames -
the variable name is all lower case), so the variable needs to be named
"plugindir".

Fix the DOCSIS plugins' Makefile.am to use "plugindir".

Don't bother doing "AC_SUBST(PLUGIN_DIR)", as no Makefiles use
PLUGIN_DIR as an autoconf variable.

svn path=/trunk/; revision=6887
2003-01-09 23:50:55 +00:00
Jörg Mayer 87b638a94f pointer spells with an o
svn path=/trunk/; revision=6857
2003-01-06 19:08:37 +00:00
Ronnie Sahlberg a80ddab6fd Update DCERPC so that for (NTLMSSP) PDUs that have been decrypted
we also call the proper DCERPC subdissector.

With this change ethereal will call the SAMR dissector and dissect the
decrypted SAMR packets in devins capture.

svn path=/trunk/; revision=6855
2003-01-06 11:27:03 +00:00
Guy Harris 8d0aab0e78 From Ronald Henderson: make "format_text()", on Windows, escape all
characters that aren't printable ASCII, as GTK+ for Windows thinks
strings are UTF-8 but the strings we give it wouldn't be UTF-8.

svn path=/trunk/; revision=6832
2002-12-31 21:51:10 +00:00
Guy Harris 5eb1be46a7 From Ronald Henderson: fix up "snprintf()" and "vsnprintf()" calls in
"epan/proto.c" to properly handle string truncation (by checking both
for -1 and a value larger than the buffer size as an indication of
truncation, as some older versions of those routines return -1, and, if
the string was truncated, putting in a trailing '\0', as "snprintf()" on
some platforms might not put the trailing '\0' in).

svn path=/trunk/; revision=6830
2002-12-31 21:37:29 +00:00
Guy Harris a97b83a7f4 Add a new field type FT_FRAMENUM; an FT_FRAMENUM is a 32-bit unsigned
frame number, which is always decimal.  If you select an FT_FRAMENUM
field, there are menu items that let you go to the frame whose frame
number appears in that field.

Add FT_FRAMENUM fields for the ONC RPC "matching request is in this
frame" and "matching reply is in this frame" protocol tree items.

svn path=/trunk/; revision=6802
2002-12-19 02:58:53 +00:00
Guy Harris 8e1a648203 Fix the formal argument list to "bytestring_to_str()" to match the
changes to the actual argument lists in the calls (putting the byte
string length after the byte string pointer).

Make the byte string length actually be the length, not the length - 1.

Use a #define for the longest byte string it can handle, and put in a
"g_assert()" to check the sanity of that length.

svn path=/trunk/; revision=6774
2002-12-10 07:39:48 +00:00
Guy Harris 92d90f4f28 Add a new type of column for the circuit ID (Frame Relay DLCI, ISDN
channel number, X.25 logical channel number).

Clean up white space and the like, and get rid of unnecessary arguments
to "col_set_port()".

svn path=/trunk/; revision=6772
2002-12-10 01:17:21 +00:00
Guy Harris 644d19129a From Alfred Koebler: add support for a column for the interface and
direction in Firewall-1 monitor files.

svn path=/trunk/; revision=6771
2002-12-10 00:12:59 +00:00
Guy Harris bc06f2e440 Work around annoying Apple C compiler/linker bug.
"ether_to_str_punct()" no longer deals only with Ethernet-style
addresses, as it now takes a length argument, rename it
"bytestring_to_str()" - and make it static, as it's not used outside
"to_str.c".

Get rid of unused "fc_to_str_buf()" routine.

svn path=/trunk/; revision=6770
2002-12-09 21:34:58 +00:00
Guy Harris ad323ca96f Clean up a bit, and put "extern" back.
svn path=/trunk/; revision=6768
2002-12-08 22:53:00 +00:00
Guy Harris 854b819fab On UNIX, search for plugins only in the directory in which plugins will
be installed - don't explicitly search
"/usr/lib/ethereal/plugins/{version}" or
"/usr/local/lib/ethereal/plugins/{version}", so that if there's more
than one version of Ethereal installed, we don't end up picking up
plugins from the wrong version.

svn path=/trunk/; revision=6766
2002-12-08 22:22:03 +00:00
Gerald Combs b60b1414c3 From Dinesh Dutt: Add Fibre Channel support, including FCIP, Basic FC
header, Extended Link Service, Interswitch Link Service, FCP, and IPFC.

svn path=/trunk/; revision=6757
2002-12-08 02:32:36 +00:00
Gerald Combs 3835ed4585 Bump the version to 0.9.8. Update NEWS and ChangeLog to October 24.
svn path=/trunk/; revision=6741
2002-12-04 04:26:14 +00:00
Guy Harris eccad76867 Show all 6 digits of precision in the time stamp column when displaying
absolute time stamps (we were already doing that for relative and delta
time stamps).

svn path=/trunk/; revision=6735
2002-12-03 02:38:39 +00:00
Guy Harris 8414298f89 Make the format argument to the "col_XXX_fstr()" routines, and the "str"
argument to "col_append_str()", const pointers; they're not modified by
the routines in question.

svn path=/trunk/; revision=6725
2002-12-02 23:34:40 +00:00
Guy Harris cfa04730cf "dfilter_compile()" doesn't modify the string pointed to by its first
argument; make it a const pointer.

svn path=/trunk/; revision=6724
2002-12-02 23:28:16 +00:00
Guy Harris 432d89ab36 We have to keep the first frame - circuits aren't necessarily created as
soon as we see a packet for that circuit (we don't do that in X.25, for
example), so there's no guarantee that the first circuit starts at the
first circuit of the capture.

svn path=/trunk/; revision=6695
2002-11-28 08:25:59 +00:00
Guy Harris 436a7d9857 Don't keep the first frame around for circuits; we assume that a given
circuit begins either at the beginning of the capture or right after the
previous circuit ends.

svn path=/trunk/; revision=6694
2002-11-28 08:12:07 +00:00
Guy Harris 4056129fef Add a "--with-extra-gcc-checks" option, which causes "-Wcast-qual
-Wcast-align" to be added to CFLAGS (except in Wiretap, where we already
do "-Wcast-qual").  We don't do them by default, as they produce some
warnings that aren't easy to eliminate; if we figure out how to
eliminate them on all platforms (or at least, on the platforms where you
*can't* eliminate them, reduce them to a low level), we can make those
options the default.

svn path=/trunk/; revision=6689
2002-11-28 04:21:31 +00:00
Guy Harris 0abda39c90 Make "ip6_to_str()" take a const pointer as an argument.
svn path=/trunk/; revision=6687
2002-11-28 03:54:50 +00:00
Guy Harris 7b743f7d7d Make the "strings" pointer in a "header_field_info" structure a const
pointer, and put "const" into the casts in "VALS()" and "TFS()" macros,
so we don't un-constify pointers to "value_string" arrays and
"true_false_string" structures.

Make some things "const" to keep the compiler happy with the previous
change.

svn path=/trunk/; revision=6684
2002-11-28 01:46:14 +00:00
Guy Harris acaf3c90b3 Cast various "const gpointer" arguments to const pointers rather than
non-const pointers.

svn path=/trunk/; revision=6683
2002-11-27 22:44:41 +00:00
Guy Harris f97b0d7949 "ether_to_str()" takes a "const guint8 *" as an argument; there's no
need to cast a "const guint8 *" to a "guint8 *" when passing it to
"ether_to_str()".

svn path=/trunk/; revision=6682
2002-11-27 22:42:40 +00:00
Guy Harris 572dc4d5e4 The arguments to the "pntoh" and "pletoh" macros could be const
pointers, so cast them to "const guint8 *".

svn path=/trunk/; revision=6681
2002-11-27 22:41:00 +00:00
Guy Harris 0ca2637951 At least in my compile environment, we don't need "inet_v6defs.h" to
compile "epan/packet.c", and including it without including <winsock2.h>
before it means that, as <winsock2.h> appears to get included after we
include "inet_v6defs.h", we get complaints about a redefinition of
AF_INET6; removing the include of "inet_v6defs.h" sqelches that warning.

If we *do* need "inet_v6defs.h" on some platforms, put it back, but put
in an include of <winsock2.h> before it, to keep the warning away - if
we ever use AF_INET6 in "epan/packet.c", we want to use the one from
<winsock2.h> if it defines it, as that's what the rest of Ethereal uses.

svn path=/trunk/; revision=6649
2002-11-16 21:36:39 +00:00
Guy Harris bb928b0c93 There's no need to include "prefs.h" unless we're actually exporting the
big table of functions - we don't use the preferences code, we just
export routines from it.

There is, however, a need to include "reassemble.h" if we're doing so,
as some of the functions we export take a "fragment_data *" as an
argument, and "fragment_data" is defined in "reassemble.h".

The members of "patable" should be set to point to functions, and
"p_prefs_register_obsolete_preference" isn't a function -
"prefs_register_obsolete_preference" is.

Get rid of extra white space at the ends of lines.

svn path=/trunk/; revision=6648
2002-11-16 21:32:06 +00:00
Guy Harris 1c81a6168b From Chris Waters: export "find_dissector_table()" and add
"dissector_handle_get_protocol_index()".

svn path=/trunk/; revision=6633
2002-11-15 03:10:36 +00:00
Guy Harris 71f6ebae44 From Tomas Kukosa: export more routines to plugins.
svn path=/trunk/; revision=6630
2002-11-14 18:54:53 +00:00
Guy Harris 5ae19d6256 Instead of tweaking a "Protocol configuration options" extension header
item to look more-or-less like a PPP packet, just dissect it in place
and hand off to the appropriate subdissector using the PPP dissector's
handoff table (which we export, along with its value_string table for
protocol IDs, which we use to report the protocol ID symbolically).

This means there's no point in having a configurable option to control
whether to do that tweaking; make it an obsolete option.

Bring "col_get_writable()" back from the dead, and have the GTP
dissector save the current "writable" flag for columns, mark the columns
non-writable before calling the subdissector for the PPP configuration
protocol, and restore the state of the writable flag, rather than
putting the columns back after the PPP configuration protocol's
dissector is done.

Fix some more typos in comments.

Don't register the IP dissector in the "ppp.protocol" table in the GTP
dissector's handoff registration routine - it's already being done in
the IP dissector's handoff routine.

Fix the name for CHAP to match what RFC 1994 calls it (if the name
changed, it should be changed in all places, but, at least according to
this message, a while ago, from Bob Sutterfield, "since the RFC defines
the protocol, the RFC defines the name":

	http://mail-index.netbsd.org/netbsd-help/1996/05/16/0011.html

and the RFC defines the name as "PPP Challenge Handshake Authentication
Protocol (CHAP)").

svn path=/trunk/; revision=6617
2002-11-11 19:23:14 +00:00
Guy Harris 8181a83657 Allow more than one circuit with the same circuit ID; a circuit has a
starting and ending frame number, and circuits with the same circuit ID
are sorted by the starting frame number (the last circuit can have 0 as
the ending frame number, meaning "unknown"), and, when looking up a
circuit, we take a frame number as an argument and return the circuit
that includes that frame.

Add a new circuit ID type for X.25 virtual circuits, and use the circuit
mechanism to keep track of the dissector for an X.25 virtual circuit
rather than having a private mechanism.

svn path=/trunk/; revision=6580
2002-11-08 01:00:07 +00:00
Guy Harris 8ee4a65f76 From Solomon Peachy: support for new "wlancap" 802.11 extra-information
header.

Add overflow checks to "BYTES_ARE_IN_FRAME()", and cast all arguments to
unsigned values (negative values should never be passed) to squelch
compiler warnings.

svn path=/trunk/; revision=6567
2002-11-06 21:49:34 +00:00
Gilbert Ramirez ddc7b4597b Fix a problem when using the same field more than once in a display
filter, as in "ip.src == x.x.x.x || ip.src == y.y.y.y". My previous
change to allow filtering on multiple fields of the same name moved
some code into the wrong block within the function, causing the error.

svn path=/trunk/; revision=6544
2002-11-01 17:37:25 +00:00
Guy Harris 56f644145e Discard the WTAP_ENCAP_LAPD encapsulation type in favor of a
WTAP_ENCAP_ISDN encapsulation type, which includes a pseudo-header
giving the direction (user-to-network or network-to-user) and the
channel number.

Add a new circuit type, using the ISDN channel number as the circuit ID.

Add an ISDN dissector to put the direction and channel number into the
protocol tree and to call the appropriate dissector for the payload
based on the channel (LAPD for the D channel; V.120, PPP, or data for B
channels, based on some heuristics).

svn path=/trunk/; revision=6521
2002-10-31 07:12:42 +00:00
Guy Harris 663bc2174e Move the stuff to save, recompute, and restore "can_desegment" out of
"try_circuit_dissector()" and "try_conversation_dissector()", as both fo
them call "call_dissector()" and "call_dissector()" now does that stuff
itself.

svn path=/trunk/; revision=6520
2002-10-29 07:22:55 +00:00
Guy Harris d958ee1a72 Don't return 0 from "call_dissector_work()" if the packet was dissected
by the dissector we handed off to, even if the tvbuff we handed them was
empty.

svn path=/trunk/; revision=6518
2002-10-29 05:15:24 +00:00
Guy Harris 0b8419fd5b Note why we're including <sys/socket.h> and <winsock2.h> in places where
we're including them to get AF_ values.

Shuffle the order of those includes in "inet_pton.c" to match the order
in "inet_ntop.c".

Include <winsock2.h> in "resolv.c" and "to_str.c" so that we get AF_
values from it - including AF_INET6 - if they exist, as we want to have
everybody who uses AF_INET6 get the same value.

svn path=/trunk/; revision=6517
2002-10-29 00:28:11 +00:00
Guy Harris a7744b697f Hoist the bulk of the stuff involved in calling a dissector through a
handle into a routine "call_dissector_work()", and have
"dissector_try_port()" and "call_dissector()" use that routine (which
means that "call_dissector()" now saves and restores
"pinfo->can_desegment").

svn path=/trunk/; revision=6516
2002-10-28 23:04:15 +00:00
Guy Harris daa0dd9f1a Count ICMPv6 packets as ICMP when capturing.
Check the next header type - properly handling extension headers - in
"capture_ipv6()".

Get rid of the count of IPv6 packets - we break that down in
"capture_ipv6()" now.

Fix a typo.

svn path=/trunk/; revision=6510
2002-10-25 23:23:28 +00:00
Guy Harris dc1bd10215 Put a leading "0x" in front of the hex value for ARCNET addresses when
generating a filter expression to match the address, so it's parsed
correctly (as a hex number rather than a string) if there are
non-decimal digits (A through F).

svn path=/trunk/; revision=6481
2002-10-23 04:23:03 +00:00
Jörg Mayer 40e1ec7fad Minimalistic support for counting IPv6 packets during capture
svn path=/trunk/; revision=6476
2002-10-22 22:04:23 +00:00
Guy Harris 3205a6e888 Add in a notion of "circuits", which are for virtual circuit-oriented
protocols (where there's a virtual circuit ID of some sort in packets)
what conversations are for protocols ultimately running atop
connectionless network layers.  Have circuit type and ID values in the
"packet_info" structure.

Have the Frame Relay dissector set the circuit type and ID values, and
have the Wellfleet compression protocol set up circuit information and
store compression information with the circuit.

svn path=/trunk/; revision=6471
2002-10-22 08:44:33 +00:00
Guy Harris 28c1a65e85 Add in a notion of "circuits", which are for virtual circuit-oriented
protocols (where there's a virtual circuit ID of some sort in packets)
what conversations are for protocols ultimately running atop
connectionless network layers.  Have circuit type and ID values in the
"packet_info" structure.

Have the Frame Relay dissector set the circuit type and ID values, and
have the Wellfleet compression protocol set up circuit information and
store compression information with the circuit.

svn path=/trunk/; revision=6469
2002-10-22 08:22:07 +00:00
Guy Harris dbfeea3620 The Frame Relay DLCI is a virtual circuit identifer, not a source or
destination address, so yank out the AT_DLCI stuff.

Clean up indentation.

svn path=/trunk/; revision=6455
2002-10-19 00:40:05 +00:00
Guy Harris a4d1704b63 "addr->data", not "addr", points to the DLCI.
svn path=/trunk/; revision=6454
2002-10-19 00:10:50 +00:00
Guy Harris bdda1b8b08 Put in code to handle AT_DLCI.
svn path=/trunk/; revision=6453
2002-10-18 22:10:53 +00:00
Guy Harris c7cacdf4b7 Add an AT_ARCNET address type for ARCNET addresses, and have the ARCNET
dissector set the source and destination link-layer addresses.

svn path=/trunk/; revision=6452
2002-10-18 21:40:13 +00:00
Gilbert Ramirez 1ba73660c0 Make the dfilter code support multiple header_field_info's with
the same name (abbreviation). Thus, if multiple protocols or fields
are registered with the same name, you can still filter on the name
and have the filtering work as expected.

svn path=/trunk/; revision=6434
2002-10-16 16:32:59 +00:00
Guy Harris f0269dd749 Squelch some compiler warnings.
svn path=/trunk/; revision=6426
2002-10-15 05:29:48 +00:00
Guy Harris 86576ce6ac When registering a protocol, make sure there are no other protocols with
the same long name, short name, or filter name, and abort if there are.

Fix the duplicate names that found (and another name error found while
fixing one of those errors).

svn path=/trunk/; revision=6425
2002-10-15 05:21:07 +00:00
Guy Harris e0e7122674 Add a new port type, PT_IPX, for IPX socket numbers; set "pinfo->ptype",
"pinfo->srcport", and "pinfo->destport" appropriately in the IPX
dissector.  Add support for PT_IPX port types in display columns.

Have an "spx.socket" dissector table, similar to the "ipx.socket"
dissector table, and have the SPX dissector use that, with the IPX
socket numbers from "pinfo->srcport" and "pinfo->destport", so that
dissectors for protocols that run atop SPX can register with particular
socket numbers.  (Think of it as similar to what would have been the
case had the IP header had 16-bit source and destination port numbers,
and had TCP and UDP used those port numbers rather than having port
numbers in their headers.)  Also, have the SPX dissector dissect
subprotocols regardless of whether we're building a protocol tree or not.

Use the dissector handle for the IPX message dissector for both IPX
socket numbers; there's no need to create separate handles for both
registrations.

Have NDPS register as a subdissector of the SPX dissector, using
"spx.socket", and get rid of the duplicate SPX dissection in the NDPS
dissector.

Make the NDPS dissector set the columns regardless of whether a protocol
tree is being built, and clean up the dissector (fixing some bugs).

Get rid of unneeded includes in "packet-ndps.c".

svn path=/trunk/; revision=6424
2002-10-15 04:31:00 +00:00
Guy Harris 63d65a3f69 From Ulf Lamping: count ARP packets in capture progress dialog box.
svn path=/trunk/; revision=6416
2002-10-14 17:33:50 +00:00
Jörg Mayer 110f9caebc Support for both old and brand new libtool versions
svn path=/trunk/; revision=6389
2002-10-09 22:58:53 +00:00
Jörg Mayer 6c895e2d26 Change by Didier Gautheron to make automake 1.7 work.
svn path=/trunk/; revision=6372
2002-10-06 18:18:45 +00:00
Gerald Combs e23851ca23 Bump the version up to 0.9.7. The countdown begins. Too bad our
releases don't involve explosive bolts like NASA launches do.

Bring the ChangeLog and NEWS files up to date to the end of August.

svn path=/trunk/; revision=6341
2002-09-26 19:06:43 +00:00
Guy Harris 49fd685758 When allocating a hash table for a given MAC address range, use
"g_malloc0()", so it starts out initialized to all null pointers.

svn path=/trunk/; revision=6247
2002-09-10 10:12:34 +00:00
Guy Harris ac69a72fda "dfilter_prime_proto_tree()" doesn't modify the "dfilter_t" to which
it's handed a pointer, which means that "epan_dissect_prime_dfilter()"
doesn't do so either; make that argument a "const dfilter_t *" in both
cases.

svn path=/trunk/; revision=6239
2002-09-09 21:04:15 +00:00
Guy Harris 91ecc404e9 Allow the "manuf" file to contain well-known MAC addresses and address
ranges specified with a mask, as well as manufacturer OUIs.  Match the
address range values, as well as MAC addresses and manufacturer OUIs,
when translating MAC addresses to names.

Have "make-manuf" read a file containing the well-known addresses and
append it to the list of OUIs.

svn path=/trunk/; revision=6233
2002-09-09 19:38:11 +00:00
Ronnie Sahlberg 93a649db6f Tap api. tap is a simple api that can be used for arbitrary extensions.
One example extension is rpcstat.

Try -Z rpc,rtt,100003,3 as argument to tethereal when reading a capture
containing NFSv3 packets.

tap-rpcstat.[ch] is intended to demonstrate the api and can be used to
base other extensions on.

svn path=/trunk/; revision=6175
2002-09-04 09:40:29 +00:00
Guy Harris 46ac8aa4bd From Hannes Gredler:
open up a new subtree for dissecting the lsp-entry TLV;

	remove the isis_lsp_decode_lsp_id() routine, as the same
	functionality is better served using print_system_id();

	fix a small bug in print_system_id().

svn path=/trunk/; revision=6169
2002-09-02 22:10:17 +00:00
Guy Harris 79195136aa From Hannes Gredler: make the IS-IS dissector more verbose in the INFO
field - specifically for

	IIHs  the System-ID of the Hello;
	LSPs  the LSP-ID, Sequence #, Lifetime;
	CSNPs the LAN-ID, Start LSP-ID, End LSP-ID.

and change the display of some IDs.

Clean up white space.

svn path=/trunk/; revision=6128
2002-08-29 18:52:54 +00:00
Jörg Mayer 48be4e530d Removed trailing whitespaces from .h and .c files using the
winapi_cleanup tool written by Patrik Stridvall for the wine
project.

svn path=/trunk/; revision=6116
2002-08-28 20:41:00 +00:00
Jörg Mayer 8874c97191 Add gtk2/glib2 handling to configure. Use --enable-gtk2 to use
gtk2 instead of gtk and glib2 instead of glib.

Right now, --enable-gtk2 will fail during compile unless
acompanied by --disable-ethereal, as ethereal does not yet
support gtk2 (but does support glib2 alone).

svn path=/trunk/; revision=6107
2002-08-28 00:37:31 +00:00
Guy Harris 6e56c25c9d From Ulf Lamping: add a new FT_FLOAT type, for single-precision
floating-point numbers, and display all the significant digits for both
single-precision and double-precision floating-point numbers in the
protocol tree, not just what "%g" does (6 digits).

Put in comments explaining how the length of filter strings is computed,
and fix some of the computations.

svn path=/trunk/; revision=6081
2002-08-24 19:45:28 +00:00
Guy Harris fedaad1874 Before dissecting a packet, clear the filter field and value stored with
each column for use by the "Match Selected" and "Prepare Selected"
functions in the packet list pane.

svn path=/trunk/; revision=6080
2002-08-24 10:41:40 +00:00
Guy Harris fdf6f47176 Fix the comment before "CMP_ADDRESS()" to reflect reality ("memcmp()"
isn't guaranteed to return 0, 1, or -1, it returns *some* positive
number, not necessarily 1, if the first argument is greater than the
second, and *some* negative number, not necessarily -1, if the first
argument is less than the second).

svn path=/trunk/; revision=6063
2002-08-22 18:53:54 +00:00
Tim Potter 60e4ca9c4f Moved the generic true_false_string saying "Set", "Not set" into
epan/packet.c

It was cut and pasted into seven other dissectors!

svn path=/trunk/; revision=6052
2002-08-21 21:25:23 +00:00
Guy Harris 14cff7ceba From Vassilii Khachaturov: put protocol blurbs into tables generated
with the "-G fields" flag.

In the scripts to process that output, handle FT_UINT64, FT_INT64, and
FT_UINT_STRING.

svn path=/trunk/; revision=6012
2002-08-18 19:08:30 +00:00
Gerald Combs 5a579fc0b5 Bump the version number to 0.9.6. Update the ChangeLog. Add rough
release notes to NEWS.

svn path=/trunk/; revision=6006
2002-08-17 17:53:33 +00:00
Guy Harris d939032a24 From Tomas Kukosa: add some more routines to the plugin API.
While we're at it, add "extern" to a bunch of function declaration the
preceding change *didn't* require to have the "extern" added.

svn path=/trunk/; revision=5995
2002-08-14 19:18:20 +00:00
Jörg Mayer e8a4485af4 Sort .cvsignore alphabetically and add libtool where missing.
svn path=/trunk/; revision=5993
2002-08-14 14:45:54 +00:00
Jörg Mayer cd5eb3cb8e Replace usage of AC_PROG_RANLIB which is deprecated for newer versions
of autoconf by AM_PROG_LIBTOOL

svn path=/trunk/; revision=5992
2002-08-14 14:42:42 +00:00
Jörg Mayer 48aa93c9ee Undo my last change: These files are used by systems only that need sys/types.h
anyway (see Guys remark on inet_pton.c).

svn path=/trunk/; revision=5947
2002-08-04 00:45:59 +00:00
Guy Harris c62e5fd81a <netinet/in.h> is needed for <arpa/inet.h>, at least on some platforms,
and <sys/types.h> is needed for <netinet/in.h>.

On systems with "inet_pton()", the API is defined using "u_char", and
we're including <sys/types.h> on platforms that have it (which should be
most if not all UNIX platforms) and including <winsock2.h> on platforms
that have it (Windows), so we might as well use "u_char" and "u_int", as
the BSD version of "inet_pton.c" does.  (Besides, we weren't including
any GLib include files, so "guchar" and "guint" weren't getting defined
in any case.)

svn path=/trunk/; revision=5937
2002-08-03 19:37:48 +00:00
Guy Harris 38d08c8883 <netinet/in.h> is needed for <arpa/inet.h>, at least on some platforms,
and <sys/types.h> is needed for <netinet/in.h>.

svn path=/trunk/; revision=5936
2002-08-03 19:35:16 +00:00
Jörg Mayer 3105ee542f Replace the types from sys/types.h and netinet/in.h by their glib.h
equivalents for the epan/ directory but leave winsock2.h in inet_pton.c
and inet_ntop.c for now (can't estimate the consequences).

svn path=/trunk/; revision=5928
2002-08-02 21:29:45 +00:00
Ronnie Sahlberg c56dc7ea38 Fix small typo
svn path=/trunk/; revision=5920
2002-07-31 11:16:19 +00:00
Ronnie Sahlberg e930dd4a31 Adding a new macro CMP_ADDRESS similar to ADDRESS_EQUAL but this one will return
-1,0,1 as the xxxcmp() functions will instead of just true/false.
Useful if you not only want to check for equality but also if you want to have a way to order the elements.

svn path=/trunk/; revision=5917
2002-07-31 06:15:26 +00:00
Guy Harris 47b147ffd1 Add an extra argument to "tvb_find_line_end()", which specifies what it
should do if it doesn't find an EOL; if FALSE, it behaves as before,
returning values that treat the line as ending at the end of the tvbuff,
and if TRUE, it returns -1, so its caller can do segment reassembly
until it gets the EOL.

Add an option to the SMTP dissector to do segment reassembly, and do
segment reassembly of the first line.

svn path=/trunk/; revision=5891
2002-07-17 06:55:29 +00:00
Guy Harris 77fa06b899 From Joerg Mayer:
dftest.c:
	     Remove #if-0-ed includes

	packet-ieee80211.c, packet-wtls.c, packet-afp.c, packet-wsp.c,
        packet-wtp.c, ethereal_gen.py:
	     Remove redundant include varargs (already in snprintf.h,
	     and required only for snprintf.h)

	Remove unused include of snprintf.h from files not using
	"snprintf()".

svn path=/trunk/; revision=5889
2002-07-17 00:43:03 +00:00
Guy Harris ff49944dcd From Joerg Mayer: add #includes of "snprintf.h" in modules that used
"snprintf()" but weren't including "snprintf.h".

svn path=/trunk/; revision=5887
2002-07-16 22:50:48 +00:00
Guy Harris 8a9b35cb5e From Anand V. Narwani:
DOCSIS support, including support for "Ethernet" captures where
	    the raw frame is a DOCSIS frame rather than an Ethernet
	    frame (some Cisco cable-modem head-end gear can send out a
	    trace of all traffic on an Ethernet, but what it sends are
	    the raw bytes of DOCSIS frames, not Ethernet frames)

Get rid of second AUTHORS entry for Devin Heitmueller, merging its item
into the older entry.

Clean up the order of some lists of plugin items.

svn path=/trunk/; revision=5861
2002-07-12 22:52:43 +00:00
Guy Harris 96033b671b From Didier Gautheron:
Add Zone Information Protocol support.

	Rename "ddp.dst.socket" and "ddp.src.socket" to "ddp.dst_socket"
	and "ddp.src_socket", as the socket number is no longer
	considered part of the DDP address.

svn path=/trunk/; revision=5800
2002-06-29 21:27:39 +00:00
Guy Harris 431cae49a1 There are no "ipx.src" or "ipx.dst" filterable fields.
svn path=/trunk/; revision=5787
2002-06-28 22:58:39 +00:00