Commit Graph

204 Commits

Author SHA1 Message Date
Gilbert Ramirez 52d5904afd Fix for Kazlib exception code:
Defect number: 0011
Date: Jul 26 2001
Releases of Kazlib affected: 1.10 through 1.19
Status: Fixed in 1.20
Modules affected: except.c
Description: Members of the except_t structure needed to be declared
    volatile because the structure is automatically allocated in the
    except macro, modified after a setjmp() takes place, and accessed
    after control returns via longjmp.
Solution: Upgrade to 1.20 or backpatch the fix.

svn path=/trunk/; revision=3793
2001-07-27 16:20:39 +00:00
Guy Harris ae251f8426 MacOS support changes, from Michael Tuexen (with some modifications):
replace "--with-plugindir" with "--with-plugins", and have the
	plugin directory optional - this allows plugins to be disabled;

	add "--traditional-cpp" on MacOS X/Darwin (Apple's "cc" compiler
	requires it, for some annoying reason, even though it is, as far
	as I know, GCC-based, and other GCC's don't require it);

	on MacOS X, don't use "pcap_version[]", as, for some annoying
	reason, libpcap on MacOS X doesn't define it.

Clean up some whitespace in the help messages for the configure script.

Move the AM_CONDITIONAL for SETUID_INSTALL after the point at which
"enable_setuid_install" is set, as it tests "enable_setuid_install".

svn path=/trunk/; revision=3788
2001-07-26 07:25:49 +00:00
Guy Harris cc21ec8124 Do __attribute__ stuff if the GCC version number is greater than or
equal to 2, not just if it's equal to 2 - GCC 3.0 makes it 3, not 2....

svn path=/trunk/; revision=3765
2001-07-22 10:25:50 +00:00
Guy Harris 6287e86539 Add a bunch of routines used by GIOP plugins to the plugin address
table.

svn path=/trunk/; revision=3764
2001-07-22 10:12:11 +00:00
Guy Harris 5fa3b1dd5c Before setting the value of an string field, make sure it's not null.
svn path=/trunk/; revision=3723
2001-07-15 20:31:02 +00:00
Guy Harris b7255e108a Fixes, from Scott Renfro, for some calls to "localtime()" that didn't
check whether the call succeeded (it doesn't always do so on Windows,
for example).

svn path=/trunk/; revision=3722
2001-07-15 19:14:03 +00:00
Jeff Foster e49b8d5da7 Updated for release 0.8.19
svn path=/trunk/; revision=3716
2001-07-13 13:54:56 +00:00
Guy Harris e48e846a6a Check for IPv6 support, and check what type of IPv6 support we have, in
the "epan" directory, as well as the top-level directory, as there's
stuff in the "epan" directory that depends on that.

svn path=/trunk/; revision=3710
2001-07-13 01:34:13 +00:00
Guy Harris f7b50ca754 From Joerg Mayer:
* gcc 3.0 warning fixes:
  - text2pcap.c: The number of characters to scan should probably not be 0
  - wiretap/csids.c: using preincrement on a variable used on both
    sides of an assignment might be undefined by the C99(?) standard
 * turn on additional warnings for epan and wiretap too
  - epan/configure.in
  - wiretap/configure.in
 * Fix some warnings (missing includes, signed/unsigned, missing
    initializers) found by turning on the warnings
  - all other files :-)

svn path=/trunk/; revision=3709
2001-07-13 00:55:58 +00:00
Guy Harris 82a553e9c9 Add a "time_msecs_to_str()" routine, to turn a time interval, expressed
as a 32-bit number of milliseconds, to a descriptive string.

Use that in the MS Browser dissector.

svn path=/trunk/; revision=3708
2001-07-13 00:27:51 +00:00
Guy Harris db5e1b8c85 Tvbuffify the DNS, NBNS, NBDS, and NBSS dissectors.
Add a "tvb_memeql()" routine, for doing "memcmp()"-style equality
comparisons.

svn path=/trunk/; revision=3631
2001-07-02 07:11:40 +00:00
Guy Harris 556a11ad45 Create a routine to do the tvbuff-length-adjusting and
"pinfo->{len,captured_len}"-adjusting currently done by the IP
dissector, make the IP dissector call that rather than doing the work
itself, make the IPv6 dissector call that rather than just adjusting the
tvbuff length itself, and make the IPX dissector call that rather than
just adjusting "pi.{len,captured_len}" itself.

This cleans things up a bit, and causes trailers to be properly reported
in IPX-over-Ethernet frames.

svn path=/trunk/; revision=3621
2001-06-29 09:46:54 +00:00
Guy Harris 92d546499e "index()" is non-standard, and MSVC++ 6.0 complained about it; the ANSI
C standard has "strchr()" instead, so use it.

svn path=/trunk/; revision=3602
2001-06-23 19:10:27 +00:00
Gilbert Ramirez 39b0e82f63 Support CIDR notation in IPv4 address filtering.
svn path=/trunk/; revision=3601
2001-06-22 16:29:15 +00:00
Guy Harris 8c52d3db75 More signed vs. unsigned cleanups, and initialization cleanups, from
Joerg Mayer.

svn path=/trunk/; revision=3578
2001-06-19 23:08:57 +00:00
Guy Harris 8412393197 From Joerg Mayer: explicitly fill in all members of a
"header_field_info" structure, including the ones that are later set by
the routines to register fields.

svn path=/trunk/; revision=3561
2001-06-18 02:18:27 +00:00
Guy Harris c8554ff99a Define __USE_XOPEN in files that use "strptime()", from Joerg Mayer.
svn path=/trunk/; revision=3559
2001-06-18 01:42:24 +00:00
Guy Harris 3c7b6471e3 Rename the arguments and flags for the conversation routines, so as not
to imply that

	1) conversations have source and destination addresses and ports
	   - they don't (if they did, they'd be monologues, not
	   conversations), they just have two address/port pairs for the
	   two endpoints, with one or more of the address or port in the
	   second pair possibly being wildcarded;

	2) the first and second address or port argument to
	   "find_conversation()" or "try_conversation_dissector()" have
	   anything to do with the first or second address/port pair in
	   a conversation - they don't, the two arguments to those
	   routines are matched against *both* address/port pairs for a
	   conversation;

as otherwise people might think that they need to add flags to wildcard
the first arguments "conversation_new()" or "find_conversation()" (they
don't, they just have to pass the non-wildcarded address/port first and
then pass the wildcarded one, even if that means passing the destination
first and source second).

svn path=/trunk/; revision=3537
2001-06-10 09:50:20 +00:00
Guy Harris 46acd2ba20 Pull the hash functions into macros, rather than using duplicating the
code to generate the hash index.

svn path=/trunk/; revision=3523
2001-06-07 22:07:02 +00:00
Guy Harris b311794270 Fix a comment.
Split some lines differently.

svn path=/trunk/; revision=3519
2001-06-06 01:29:17 +00:00
Guy Harris 2851b7ef76 Enable "Match Selected" only if there's a field selected *and* we can do
a "Match Selected" on it - we can't do a "Match Selected" if the field
has no value (e.g., FT_NULL) and has a length of 0.

If we unselect the current packet, we don't have a protocol tree, so we
don't have a currently selected field - clear the "Match Selected" menu
item and the display in the status line of information about the
currently selected field.

Move the low-level statusbar manipulation into "gtk/main.c", in routines
whose API doesn't expose anything GTK+-ish.

"close_cap_file()" calls one of those routines to clear out the status
bar, so it doesn't need to take a pointer to the statusbar widget as an
argument.

"clear_tree_and_hex_views()" is purely a display-manipulating routine;
move it to "gtk/proto_draw.c".

Extract from "tree_view_unselect_row_cb()" an "unselect_field()" routine
to do all the work that needs to be done if the currently selected
protocol tree row is unselected, and call it if the currently selected
packet list row is unselected (if it's unselected, there *is* no
protocol tree, so no row can be selected), as well as from
"tree_view_unselect_row_cb()".

Before pushing a new field-description message onto the statusbar, pop
the old one off.

Get rid of an unused variable (set, but not used).

svn path=/trunk/; revision=3513
2001-06-05 07:39:31 +00:00
Guy Harris 671992baab Define a "COPY_ADDRESS()" macro, which copies the data in one address to
another (copying the data to a mallocated array) in
"epan/packet_info.h", and use it in the conversation code.

svn path=/trunk/; revision=3510
2001-06-04 07:27:50 +00:00
Guy Harris a5a36589f8 Add an "ADDRESSES_EQUAL()" macro, taking pointers to two "address"
structures as arguments, that evaluates to "true" if the two addresses
are equal and "false" if they're not equal.  Use that macro in the
conversation code.

svn path=/trunk/; revision=3509
2001-06-04 06:46:07 +00:00
Guy Harris 048625f419 "old_dissector_delete()" is no longer used; remove it.
Update Gerald's e-mail address.

svn path=/trunk/; revision=3506
2001-06-02 08:23:10 +00:00
Guy Harris 14ab278788 Windows and the MSVC++ 6.0 library don't have "strptime()", so pull in
the glibc "strptime()" (modified so it doesn't require the rest of
glibc), set up the configure script to check for it, and set up
Makefile.am and Makefile.nmake to use it.

Get rid of NEED_MKSTEMP - nothing uses it.

svn path=/trunk/; revision=3500
2001-06-02 06:21:14 +00:00
Guy Harris 6ee04dad33 Support for "-N" flag enabling selected forms of name resolution, from
Joerg Meyer.

Support for saving to the preferences file the settings for all types of
name resolution.

Do a case-insensitive check for "true" and "false" in Boolean preference
settings.

svn path=/trunk/; revision=3489
2001-05-31 08:36:46 +00:00
Guy Harris 6200054304 Add support for "Match Selected" on FT_ABSOLUTE_TIME and
FT_RELATIVE_TIME fields.

svn path=/trunk/; revision=3488
2001-05-31 07:15:23 +00:00
Guy Harris 52025d6956 Display all the digits of the microsecond field of an absolute time
value.

Check that the microseconds field of an absolute time is valid, if it's
present.

Set "tm_isdst" in the "struct tm" handed to "mktime()" to -1, so that
"mktime()" will attempt to figure out whether the time is daylight
savings time or not.

Check that "mktime()" was able to convert the time.

svn path=/trunk/; revision=3487
2001-05-31 06:48:00 +00:00
Guy Harris 15336e821c Don't require both the seconds and microseconds parts of a relative time
to be present - "1" is just as good as "1.0", and ".1" is just as good
as "1.1".

svn path=/trunk/; revision=3486
2001-05-31 06:20:10 +00:00
Guy Harris 7b4fbe10b5 Support for filtering on absolute and relative time fields, from Ronnie
Sahlberg.

svn path=/trunk/; revision=3484
2001-05-31 05:01:06 +00:00
Guy Harris cc6b18e6ab No old-style dissectors call "old_dissector_try_port()", so get rid of
"old_dissector_try_port()".

There are no longer any old-style heuristic or conversation dissectors,
so get rid of "old_heur_dissector_add()" and "old_conv_dissector_add()"
and the data-structure members that support old-style heuristic and
conversation dissectors.

svn path=/trunk/; revision=3478
2001-05-30 06:41:08 +00:00
Guy Harris 73daa09911 We now might print four IP addresses on a protocol tree line, so make
"ip_to_str()" capable of producing up to four separate strings.

svn path=/trunk/; revision=3474
2001-05-28 20:12:30 +00:00
Guy Harris cce642c0f7 Fix a comment, and update Gerald's e-mail address.
svn path=/trunk/; revision=3471
2001-05-27 21:34:05 +00:00
Guy Harris d2ef0cf51a RX and AFS dissectors tvbuffified, and bugs fixed, by Ronnie Sahlberg.
svn path=/trunk/; revision=3454
2001-05-27 01:48:25 +00:00
Jeff Foster 4004d96518 Update files for release 8.18
svn path=/trunk/; revision=3415
2001-05-16 16:17:52 +00:00
Guy Harris 951f325eca Stop depending on the order in which operations are performed by
generated code, as per Chris Foulds' note.

Also, when constructing the system ID or area string, always append the
four-octet groups, rather than overwriting them, as we had been doing.

svn path=/trunk/; revision=3414
2001-05-15 18:58:15 +00:00
Guy Harris a0dfbbbee5 When generating a filter expression to match a protocol tree line not
corresponding to a named field, by matching stuff at a particular offset
in the frame, don't treat a length of 1 byte specially - the syntax for
a one-byte byte string is the same as for longer byte strings, with no
leading "0x" allowed.

Clean up white space.

svn path=/trunk/; revision=3406
2001-05-09 01:22:46 +00:00
Guy Harris 3d2a6831d0 If "proto_item_set_len()" is passed a null pointer as its first
argument, have it just return; this allows dissectors that don't
explicitly check for a null protocol-tree argument to pass the
protocol-tree argument to "proto_tree_add_XXX()" routines - which means
they'll get a null pointer back if the protocol-tree argument is null
because we're not constructing a protocol tree - and then later use
"proto_item_set_len()" without having to check for a null
protocol-tree-item pointer.

svn path=/trunk/; revision=3402
2001-05-07 21:06:59 +00:00
Guy Harris 3331642eb6 Base HAVE_PLUGINS on whether "g_module_supported()" returns TRUE, not on
whether there's a "dlfcn.h" header file; that lets us support plugins on
HP-UX.

svn path=/trunk/; revision=3390
2001-05-01 02:44:52 +00:00
Guy Harris 1ac49ed4ce Get rid of support for non-tvbuffified plugin dissectors.
svn path=/trunk/; revision=3385
2001-04-25 08:41:22 +00:00
Guy Harris 8e9c5eb645 Make "col_set_str()" and "tvb_reported_length_remaining()" available in
plugins.

svn path=/trunk/; revision=3384
2001-04-25 08:31:32 +00:00
Guy Harris ae84ef77de When registering numeric fields, check that a base other than BASE_NONE
was specified.

This should obviate the need to handle BASE_NONE specially in the
formatting routines, so revert to the previous version.

svn path=/trunk/; revision=3359
2001-04-23 01:19:39 +00:00
Ed Warnicke c16aaa518b Put BASE_NONE back into the FT_INTn and FT_UINTn display functions
with useful error messages.  Some dissector are registering
FT_INTn or FT_UINTn fields with BASE_NONE.  Now when ethereal dies
because of it the offending field will be identified so that it
can be fixed.

svn path=/trunk/; revision=3340
2001-04-20 03:59:11 +00:00
Guy Harris 7961bd2692 Don't allow BASE_NONE to be used with FT_INTn and FT_UINTn variables -
you have to select a base (even before this change, you had to select
one, otherwise the filter-construction GUI would crash if you selected
an FT_INTn or FT_UINTn field with BASE_NONE and then selected a
comparison operator).

svn path=/trunk/; revision=3337
2001-04-19 23:21:44 +00:00
Guy Harris 4caa331d21 Patch from Ronnie Sahlberg to cause the field description section of the
status bar to display nothing, rather than "Text (text)", when a
"proto_tree_add_text()" field is selected.

While we're at it, use a similar test to eliminate the text pseudo-field
from the output of "{ethereal,tethereal} -G", as well.

svn path=/trunk/; revision=3335
2001-04-19 23:06:23 +00:00
Guy Harris 2aa31bea47 Move the declaration of "etype_vals[]" from "epan/packet.h" to
"etypes.h".

svn path=/trunk/; revision=3314
2001-04-17 06:43:21 +00:00
Guy Harris c5aaac7823 Move the declaration of "ipprotostr()" out of "epan/packet.h" into a new
"ipproto.h" header file.

svn path=/trunk/; revision=3313
2001-04-17 06:29:14 +00:00
Guy Harris 77789be82e Assorted ISIS enhancements from Hannes Gredler.
When dissecting the ISIS NLPID CLV, use the "nlpid_vals" array to
convert NLPID values to protocol names.

svn path=/trunk/; revision=3308
2001-04-16 10:04:33 +00:00
Guy Harris f8c9764894 There's no "enable name resolution in captures" preference in Ethereal,
and never was - there's only an Ethereal-wide "enable name resolution"
preference.  Name it just "name_resolve".

Replace all tests of "g_resolving_actif" with tests of
"prefs.name_resolv", and replace all code that sets "g_resolving_actif"
with code that sets "prefs.name_resolv", so that the setting of
"prefs.name_resolv" actually affects whether names are resolved or not.

svn path=/trunk/; revision=3300
2001-04-15 03:37:16 +00:00
Gilbert Ramirez b6bd7af57a Improvement of 'make clean' targets.
svn path=/trunk/; revision=3297
2001-04-12 18:07:22 +00:00