Commit Graph

679 Commits

Author SHA1 Message Date
Guy Harris 911bad80f0 Have two strings in an enum_val_t - one that's a short string that is
convenient to put into a command line (no capital letters, no spaces to
require quotes), and one that's a detailed description for use in the
UI.  Allow either of them in the preferences file or "-o" option; use
the detailed description in the UI, and also use it when writing the
preferences out, so that the preference will be readable by older
versions of Ethereal (assuming the preference existed in that version).

Update "README.developer" to give more detail about an enum_val_t (and
to put the _t in), and to give a more detailed description of the
"radio_buttons" argument to "prefs_register_enum_preference()".

svn path=/trunk/; revision=10982
2004-05-24 02:25:21 +00:00
Anders Broman 4f9ab6e99d Add translation of result codes
svn path=/trunk/; revision=10972
2004-05-23 13:43:13 +00:00
Guy Harris 15af0f656f From Lars Roland: add support for building a libethereal.dll with MSVC:
add a config.nmake option to control whether to build
	libethereal.dll or not;

	remove "./wiretap" from PATH to prevent problems due to
	wrongly-loaded files;

	build dissector.lib with MSVC;

	move "print.c" and "ps.c" to the dissector helpers, as "print.c"
	imports variables from packet-frame.c and packet-data.c, which
	are in libethereal;

	move "g711.c" out of the dissector helpers, as they're used only
	by Ethereal in a tap, not in Tethereal or in any dissector;

	add a .def file for libethereal;

	arrange to declare global variables exported from libethereal
	with "__declspec(dllimport)" when building programs that import
	those variables;

	update the NSIS installer.

Make the "configure" script define ETH_VAR_IMPORT as "extern".

svn path=/trunk/; revision=10834
2004-05-09 10:03:41 +00:00
Olivier Biot 93751c8e32 Replace the plugin linkage libs into PLUGIN_LIBS which is generated from the
top-level configure.in when running configure.

svn path=/trunk/; revision=10699
2004-04-25 21:10:20 +00:00
Jörg Mayer cfc40f2f00 Fix the fix
svn path=/trunk/; revision=10693
2004-04-25 15:16:39 +00:00
Jörg Mayer 61467be2fc It's proto_register_rudp not proto_reg_rudp
svn path=/trunk/; revision=10690
2004-04-25 11:20:43 +00:00
Jörg Mayer ea9eab40e8 Give --enable-static a chance to succeed:
Some plugins failed to do initialization inside a #ifndef ENABLE_STATIC.

svn path=/trunk/; revision=10689
2004-04-25 11:14:01 +00:00
Guy Harris 9bff3255f9 Get rid of bogus extra "proto_tree_add_text()" arguments.
svn path=/trunk/; revision=10668
2004-04-23 03:20:58 +00:00
Anders Broman 4aca73e9b4 Skipp leading spaces in front of MEGACO and fix dissection of TransactionResponseAck
svn path=/trunk/; revision=10658
2004-04-21 19:58:14 +00:00
Guy Harris d209115ba3 Add a "report_failure()" routine to allow dissectors to report arbitrary
errors to the user.  Use that, rather than "g_warning()", in the
Diameter dissector to report errors reading the dictionary.

Make the format argument to "simple_dialog()" a "const" pointer.

Fix up the read-error message in Tethereal to end with a newline.

If a simple dialog is requested before the main window or the
capture-control window is popped up, queue it up and pop the queued
messages up once the main or capture-control window is displayed.

svn path=/trunk/; revision=10616
2004-04-16 23:17:13 +00:00
Olivier Biot 4459d9f0a9 Add support for plugin dissectors on cygwin builds, by adding the following
line to every Makefile.am file for a given plugin XXX:

	XXX_la_LIBADD = -L../../epan -lethereal @GLIB_LIBS@

This way symbols defined in libethereal and GLib are resolved when linking
the plugin dissector modules.

svn path=/trunk/; revision=10601
2004-04-14 22:13:28 +00:00
Guy Harris af3a427ffd From Albert Chin: the Sun WorkShop 5.0 compiler and HP-UX 10.20 compiler
don't allow you to initialize aggregates with an initializer that
includes non-constant values.

svn path=/trunk/; revision=10527
2004-03-30 19:36:50 +00:00
Guy Harris 1ca8d227a2 From Lars Roland: have "make clean" and "make distclean" clean up the
new Cisco VoIP plugins.

svn path=/trunk/; revision=10521
2004-03-30 18:45:04 +00:00
Guy Harris 36abac74a4 From Duncan Sargeant: include "moduleinfo.h" so that the plugins get the
right version number.

svn path=/trunk/; revision=10520
2004-03-30 18:30:28 +00:00
Gerald Combs 320e375f09 Call plugin_address_table_init() before proto_register_protocol().
svn path=/trunk/; revision=10497
2004-03-26 04:01:31 +00:00
Guy Harris d937629449 Update for Tomas Kukosa's new APIs to get the parent and the
nth-grandparent-up for a protocol tree item and to get the last item
created by the BER dissector (that API and the new names for the
universal tags were supplied by him - the checkin item didn't give him
credit).

svn path=/trunk/; revision=10491
2004-03-26 00:01:32 +00:00
Guy Harris 044f075c66 From Tomas Kukosa: add APIs to get the parent of a protocol tree item
and the item N levels up from a protocol tree item.

svn path=/trunk/; revision=10486
2004-03-25 23:55:21 +00:00
Guy Harris d5c6a38601 Add .cvsignore files to the new plugins.
svn path=/trunk/; revision=10484
2004-03-25 23:11:27 +00:00
Guy Harris c04677e83c Squelch compiler warnings, and remove some trailing blanks from lines.
svn path=/trunk/; revision=10483
2004-03-25 23:09:18 +00:00
Guy Harris ab724a63eb Add the usual extra files to the new plugins.
svn path=/trunk/; revision=10482
2004-03-25 19:11:05 +00:00
Guy Harris a1467c86e1 From Duncan Sargeant: Cisco SS7 RUDP, RLM, and Session Management
support.

svn path=/trunk/; revision=10480
2004-03-25 11:21:07 +00:00
Guy Harris a6ed2d499a From Tomas Kukosa: BER dissector enhancements and proto.c updates to
support them.

From Ronnie Sahlberg: Kerberos updates with new constants from the
current draft, decryption and dissection of Kerberos blobs, and changes
to work with the changed BER dissector.

svn path=/trunk/; revision=10479
2004-03-25 09:18:03 +00:00
Guy Harris 121f06fab7 Make "epan_init()" take, as additional arguments, pointers to routines
that dissectors should call to report file open and read errors, and
have "report_open_failure()" and "report_read_failure()" call through
those pointers, rather than being defined and exported by the
application using libethereal - instead, the application would define
those functions and pass pointers to them to 'epan_init()".

Move "report_err.h" to the epan directory, as the functions it declares
are now part of the libethereal API.

svn path=/trunk/; revision=10470
2004-03-23 21:19:58 +00:00
Guy Harris 2b9ad9ec25 From Brian Wheeler: DOCSIS 2.0 support.
svn path=/trunk/; revision=10387
2004-03-17 06:55:03 +00:00
Guy Harris 2271736636 Add the URL of the specifications page.
svn path=/trunk/; revision=10348
2004-03-08 23:19:14 +00:00
Guy Harris c74dac3af9 Use "tvb_format_text()" on the port name, so that if there are bytes in
it that aren't printable characters, they'll be shown as C-style escape
sequences.

svn path=/trunk/; revision=10343
2004-03-08 19:41:52 +00:00
Guy Harris 4a4650b273 Fetch the port name string using "tvb_get_string()", so that we don't
have to worry about overflowing a buffer; thanks to Stefan Esser for
catching that one.  (It also means we handle it if there's no '\0' at
the end.)

svn path=/trunk/; revision=10341
2004-03-07 22:46:04 +00:00
Guy Harris 36a9a266f4 From Tomas Kukosa: add packet-ber.c routines to the plugin API.
svn path=/trunk/; revision=10295
2004-03-04 07:07:57 +00:00
Jörg Mayer 12a17e8f96 Note to self: If you update the code, you should update the docs too.
Update README.plugins to use ENABLE_STATIC instead of __ETHEREAL_STATIC__
Update some plugins, that were created after my changes according to the
outdated docs.
Changed occurrences of
G_MODULE_EXPORT void plugin_reg_handoff(void)
into
G_MODULE_EXPORT void
plugin_reg_handoff(void)

as the one line Python version doesn't work with the Python of Suse 9.0

svn path=/trunk/; revision=10281
2004-03-02 23:45:34 +00:00
Guy Harris 07a989fbc6 Make the default ASN.1 file be "no file", not {Ethereal install
directory}/asn1/default.tt.

svn path=/trunk/; revision=10192
2004-02-22 23:53:57 +00:00
Guy Harris 9a7cac1dff Include "report_err.h" to declare "report_open_failure()" and
"report_read_failure()".

svn path=/trunk/; revision=10167
2004-02-21 11:38:45 +00:00
Guy Harris 711a7cbfa3 Regenerate the files from the latest list of exported functions.
svn path=/trunk/; revision=10154
2004-02-21 02:21:36 +00:00
Guy Harris 091108fb80 Move "dissect_per_bit_string()" to the end, to preserve the order of
earlier entries in the table of exported functions.

svn path=/trunk/; revision=10153
2004-02-21 02:20:44 +00:00
Guy Harris 83634f54c7 Add routines that can be called from dissectors to report file open and
read errors; there are separate implementations for Ethereal (pops up an
alert box) and Tethereal (prints an error message).

Use those routines in the ASN.1 dissector.

svn path=/trunk/; revision=10152
2004-02-21 02:15:07 +00:00
Guy Harris 0a8db3ba32 Fix a typo.
svn path=/trunk/; revision=10141
2004-02-20 22:14:12 +00:00
Guy Harris 3b1a2d094f On Win32, don't treat "file not found" as an error when trying to load
the ASN.1 file if the pathname is the old default file pathname, with
the last component preceded by "/" rather than "\", to suppress
complaints if you have a preferences file saved under the old regime.

svn path=/trunk/; revision=10118
2004-02-20 02:57:08 +00:00
Gerald Combs 037c2c12e4 From Lars Roland: Add support for a combined GTK1/2 Windows installer.
svn path=/trunk/; revision=10098
2004-02-18 20:45:54 +00:00
Guy Harris eed50af495 From Erwin Rol: update RTnet plugin to the latest spec.
svn path=/trunk/; revision=10083
2004-02-18 05:33:35 +00:00
Ronnie Sahlberg 126383282c From Tomas Kukosa, add a PER helper to dissect BITSTRINGS
svn path=/trunk/; revision=10071
2004-02-16 18:31:40 +00:00
Guy Harris e6adbf5966 Add "tvb_strsize()".
svn path=/trunk/; revision=10023
2004-02-10 23:30:56 +00:00
Ulf Lamping 5297f06717 replaced every appearance of gtk_scrolled_window_new() with
scrolled_window_new().
added gtk_scrolled_window_set_policy(AUTOMATIC,AUTOMATIC) to
scrolled_window_new()
added GTK2's gtk_scrolled_window_set_shadow(GTK_SHADOW_IN)
to every place needed

svn path=/trunk/; revision=9999
2004-02-06 19:19:12 +00:00
Guy Harris dbdea1617e Update a comment.
svn path=/trunk/; revision=9981
2004-02-05 08:16:01 +00:00
Guy Harris 02d2de411a From Lars Roland: fix the declaration of "tvb_strneql()".
svn path=/trunk/; revision=9958
2004-02-02 18:01:59 +00:00
Jörg Mayer 38faa0f27b packet-dcerpc-afs4int.c
svn path=/trunk/; revision=9938
2004-02-01 06:49:25 +00:00
Gerald Combs d69016e552 Delete generated files during distclean instead of maintainerclean, so
that we pass distcheck.

svn path=/trunk/; revision=9850
2004-01-25 18:52:33 +00:00
Gerald Combs a8348ec990 Make the definition of tvb_format_text() match what's in tvbuff.h.
svn path=/trunk/; revision=9847
2004-01-25 17:53:55 +00:00
Ulf Lamping 064d5e5e07 Added the ability to compile both GTK versions 1 and 2 at the same time.
svn path=/trunk/; revision=9827
2004-01-24 20:01:36 +00:00
Jörg Mayer 7180513677 Trivial signed/unsigned warning fixes
svn path=/trunk/; revision=9824
2004-01-24 02:07:05 +00:00
Jörg Mayer 3a60501750 Change msg from guint8* to gchar* (because of tvb_format_text change)
svn path=/trunk/; revision=9802
2004-01-23 09:47:39 +00:00
Guy Harris 0f159e9f7b From Pierre Juhen: add "find_protocol_by_id()" to the list of functions
exported to plugins.

Fix some author list glitches.

svn path=/trunk/; revision=9789
2004-01-23 00:36:30 +00:00
Jörg Mayer aa411b1861 Fix warnings found by -Wstrict-prototypes
svn path=/trunk/; revision=9721
2004-01-18 15:57:47 +00:00
Jörg Mayer ab37702076 Remove unused rule to build packet-asn1-static.o
svn path=/trunk/; revision=9718
2004-01-18 14:08:28 +00:00
Guy Harris eaf42827f3 Give the IrDA dissector its own private value_string table for the frame
type in the IrLAP control field - on most UNIXes the dissector should be
able to use the table from the main program, but that doesn't currently
work on Windows.

svn path=/trunk/; revision=9717
2004-01-18 14:03:37 +00:00
Guy Harris 49a7eb8e5f Add arguments to "dissect_xdlc_control()" to specify value_string
tables, for use in the top-level item for the control field, for
unnumbered frame function codes for commands and responses.  If the
argument is null, default to the standard tables.

Use "dissect_xdlc_control()" and the #defines from "xdlc.h" for IrDA.

Use the reported length rather than the data length in the IrDA
dissector when iterating over the data in an IrDA packet.

Make "dissect_xid()" update the column information as well as the
protocol tree.  Put the slot number into the protocol tree only for
command frames - "the slot number field is undefined in discovery XID
response frames", to quote the IrLAP spec.

svn path=/trunk/; revision=9716
2004-01-18 13:02:30 +00:00
Guy Harris 369528c769 Add arguments to "dissect_xdlc_control()" to specify value_string
tables, for use in the top-level item for the control field, for
unnumbered frame function codes for commands and responses.  If the
argument is null, default to the standard tables.

Use "dissect_xdlc_control()" and the #defines from "xdlc.h" for IrDA.

Use the reported length rather than the data length in the IrDA
dissector when iterating over the data in an IrDA packet.

Make "dissect_xid()" update the column information as well as the
protocol tree.  Put the slot number into the protocol tree only for
command frames - "the slot number field is undefined in discovery XID
response frames", to quote the IrLAP spec.

svn path=/trunk/; revision=9715
2004-01-18 12:57:25 +00:00
Guy Harris 5a751f6811 Add arguments to "dissect_xdlc_control()" to specify value_string
tables, for use in the top-level item for the control field, for
unnumbered frame function codes for commands and responses.  If the
argument is null, default to the standard tables.

Use "dissect_xdlc_control()" and the #defines from "xdlc.h" for IrDA.

Use the reported length rather than the data length in the IrDA
dissector when iterating over the data in an IrDA packet.

Make "dissect_xid()" update the column information as well as the
protocol tree.  Put the slot number into the protocol tree only for
command frames - "the slot number field is undefined in discovery XID
response frames", to quote the IrLAP spec.

svn path=/trunk/; revision=9713
2004-01-18 08:32:46 +00:00
Guy Harris 9dac6d42d5 From Matthijs Melchior: allow an absent or empty file name to mean "no
type table".

svn path=/trunk/; revision=9650
2004-01-13 02:36:51 +00:00
Guy Harris 349feca55d Don't do anything exotic to get signed integral values - Ethereal's
dissectors assume a two's-complement machine (we offer our apologies to
those trying to run it on sign-magnitude IBM 7090/7094's and one's
complement Univac/Unisys 11xx machines :-)).

svn path=/trunk/; revision=9584
2004-01-07 05:13:29 +00:00
Guy Harris 542c89afd4 Use "tvb_get_guint8()", not "tvb_get_ntohs()", to fetch 1-byte numbers.
Use "proto_tree_add_item()" if you don't need the number's value.

svn path=/trunk/; revision=9582
2004-01-07 04:33:21 +00:00
Ulf Lamping 0d9679de8d removed some MSVC warnings (level 3)
svn path=/trunk/; revision=9561
2004-01-05 19:31:44 +00:00
Ulf Lamping b6a0525091 Bugfix from Lars Roland: included missing xdlc.h
svn path=/trunk/; revision=9553
2004-01-05 15:03:38 +00:00
Jörg Mayer f59b560eb7 Warning fix: Mark a parameter as unused
svn path=/trunk/; revision=9536
2004-01-03 14:08:57 +00:00
Guy Harris 30ce42b1e9 Have "dissect_xdlc_control()" take a pointer to a structure containing
pointers to hf_ values, so the subfields of the control field are put
into the protocol tree as filterable items.  Change the protocols that
use it appropriately.

Export "dissect_xdlc_control()" to plugins.

svn path=/trunk/; revision=9531
2004-01-03 03:51:27 +00:00
Jörg Mayer 182b2274a4 Delete the generated files only during maintainerclean
svn path=/trunk/; revision=9485
2003-12-29 21:39:10 +00:00
Jörg Mayer 56f992a47f warning: ISO C does not allow extra ; outside of a function
svn path=/trunk/; revision=9386
2003-12-21 05:29:26 +00:00
Jörg Mayer 04dc6ff0ea warning: no newline at end of file
svn path=/trunk/; revision=9385
2003-12-21 04:40:14 +00:00
Jörg Mayer b8923a41e8 warning: comma at end of enumerator list
svn path=/trunk/; revision=9384
2003-12-21 04:38:41 +00:00
Jörg Mayer 9cdb5da91f Compiling with -pedantic:
packet-v5ua.c:1044:139: warning: C++ style comments are not allowed in ISO C90

svn path=/trunk/; revision=9380
2003-12-21 04:20:02 +00:00
Jörg Mayer 9d2915a7e6 Compiling with -pedantic:
moduleinfo.h:16:24: warning: no newline at end of file

svn path=/trunk/; revision=9378
2003-12-21 03:53:33 +00:00
Jörg Mayer ad28a88d72 Compiling with -pedantic:
packet-irda.c:453:1: warning: C++ style comments are not allowed in ISO C90
packet-irda.c:453:1: warning: (this will be reported only once per input file)
(+ several more // disabling debug output)

svn path=/trunk/; revision=9377
2003-12-21 03:48:27 +00:00
Guy Harris 604aa6faeb Add more files.
svn path=/trunk/; revision=9347
2003-12-18 20:35:40 +00:00
Guy Harris e4c1c73fc5 From Jan Kiszka: add a comment explaining what the IrDA plugin does.
svn path=/trunk/; revision=9346
2003-12-18 20:34:43 +00:00
Guy Harris b8299f0b98 From Jan Kiszka: IrDA support.
svn path=/trunk/; revision=9345
2003-12-18 19:07:14 +00:00
Guy Harris daf2b3a71e Fix some typoes.
svn path=/trunk/; revision=9339
2003-12-18 01:47:42 +00:00
Guy Harris 1f4d9672ad Get rid of an unused value_string table and unused #defines.
svn path=/trunk/; revision=9320
2003-12-17 20:30:56 +00:00
Ulf Lamping c9b6a1bc6c added missing rule for v5ua plugin
svn path=/trunk/; revision=9318
2003-12-17 18:05:27 +00:00
Guy Harris c91e87c84b Make Makefile.am and Makefile.nmake match those for other plugins.
svn path=/trunk/; revision=9312
2003-12-17 07:02:12 +00:00
Guy Harris 2df96b563e From Christoph Neusch: V5UA support.
From Anders Broman: patches to various makefiles and configure scripts
to build the V5UA dissector, and patches to make it compile.

From me: .cvsignore file, and NSIS patches.

svn path=/trunk/; revision=9311
2003-12-17 05:16:21 +00:00
Ulf Lamping a3d0e32a0b using G_DIR_SEPARATOR_S instead of hardcoded slash
(not suitable on win32 platforms)

svn path=/trunk/; revision=9299
2003-12-16 21:02:11 +00:00
Guy Harris c20f75c872 Use "int"s, not "guint16"s, as packet offsets (using values shorter
than32 bits risks overflow problems).

Use "gint" for tvbuff lengths.

Use -1 for uses of "tvb_length_remaining()" that mean "the rest of the
tvbuff"; use "tvb_reported_length_remaining()" for "the rest of the
packet.

Clean up the handling of the DOCSIS payload.

svn path=/trunk/; revision=9267
2003-12-13 03:18:38 +00:00
Guy Harris d64affe0a4 Use "int"s, not "guint16"s, as packet offsets (using values shorter
than32 bits risks overflow problems).

Use a "gint" as the length of the vsif TLV, as that's what
"tvb_length_remaining()" returns.

svn path=/trunk/; revision=9266
2003-12-13 02:45:30 +00:00
Guy Harris a8c1cc5ef3 Use "int"s, not "guint16"s, as packet offsets (using values shorter than
32 bits risks overflow problems).

svn path=/trunk/; revision=9264
2003-12-13 02:38:33 +00:00
Ulf Lamping 10e3320115 prevent MSVC warning:
"warning C4761: Gr��enkonflikt im Argument. Konvertierung vorgenommen"
-> size conflict in argument, conversion done

svn path=/trunk/; revision=9244
2003-12-11 21:23:37 +00:00
Guy Harris 1d4abd1568 Subdissectors must be called regardless of whether a protocol tree is
being built.

svn path=/trunk/; revision=9174
2003-12-05 09:25:41 +00:00
Guy Harris 2428266b1d From some reason, at least on Mac OS X 10.3, the change to have the
protocol tree stuff not use GNodes means that the ASN.1 plugin now needs
to be explicitly linked against GLib in order to get access to the GNode
routines, otherwise you get errors from the run-time linker.

svn path=/trunk/; revision=9173
2003-12-04 22:37:52 +00:00
Guy Harris f549d46c37 From Tomas Kukosa: add "decode_enumerated_bitfield_shifted()", which is
like "decode_enumerated_bitfield()" but handles value_string tables
containing values as they appear in the bitfield rather than as they
appear in the item containing the bitfield.

svn path=/trunk/; revision=9134
2003-12-01 23:42:32 +00:00
Guy Harris 254f2f790b From Erwin Rol: RTCFG support.
Add in a URL to the RTNET home page.

svn path=/trunk/; revision=9102
2003-11-27 21:09:43 +00:00
Guy Harris 6811485d3b Get rid of the second "col_set_fence()" entry.
svn path=/trunk/; revision=9013
2003-11-18 19:36:02 +00:00
Guy Harris 3d0f23f569 The second of the "col_set_fence()" entries is the one that should've
been removed; that way, the ordinals of existing entries in the function
vector is preserved.

svn path=/trunk/; revision=9012
2003-11-18 19:34:43 +00:00
Guy Harris a98138bd48 From Lars Roland: put missing "enttec" into "all" list.
svn path=/trunk/; revision=9011
2003-11-18 19:31:51 +00:00
Ulf Lamping 5d394a177b col_set_fence occurs twice, removed one appearance
svn path=/trunk/; revision=9007
2003-11-18 19:26:26 +00:00
Ulf Lamping 584550018e corrected cut and paste errors, makefile was unchanged copied from rtnet
svn path=/trunk/; revision=9004
2003-11-18 19:18:45 +00:00
Guy Harris bf31e57829 Add "col_get_writable()", "col_set_writable()", and "col_set_fence()" to
the plugin API list.

svn path=/trunk/; revision=9003
2003-11-18 08:59:03 +00:00
Guy Harris 42d35d6cd3 Export "protocol_t" as an opaque type.
Make "proto_is_protocol_enabled()" and "proto_get_protocol_short_name()"
take a "protocol_t *" as an argument, so they don't have to look up the
"protocol_t" - this will probably speed them up considerably, and
they're called on almost every dissector handoff.

Get rid of a number of "proto_is_protocol_enabled()" calls that aren't
necessary (dissectors called through handles, including those called
through dissector tables, or called as heuristic dissectors, aren't even
called if their protocol isn't enabled).

Change some direct dissector calls to go through handles.

svn path=/trunk/; revision=9002
2003-11-18 08:58:09 +00:00
Guy Harris 7952d0627a Fix the copyright notices (Gerald has the copyright on Ethereal).
svn path=/trunk/; revision=8991
2003-11-17 22:34:25 +00:00
Guy Harris 48e2a1b3eb Tweak the introductory comment.
svn path=/trunk/; revision=8990
2003-11-17 22:31:27 +00:00
Guy Harris e3a99fe8dc Fix the .cvsignore files.
svn path=/trunk/; revision=8989
2003-11-17 22:29:21 +00:00
Guy Harris 9da9dcd747 From Erwin Rol: check the checksum in RDM packets.
svn path=/trunk/; revision=8988
2003-11-17 22:26:57 +00:00
Guy Harris 33629cc801 From Erwin Rol: initial ENTTEC support and RDM support.
svn path=/trunk/; revision=8985
2003-11-17 20:57:14 +00:00
Guy Harris 7bd2e232a9 Export "protocol_t" as an opaque type.
Make "proto_is_protocol_enabled()" and "proto_get_protocol_short_name()"
take a "protocol_t *" as an argument, so they don't have to look up the
"protocol_t" - this will probably speed them up considerably, and
they're called on almost every dissector handoff.

Get rid of a number of "proto_is_protocol_enabled()" calls that aren't
necessary (dissectors called through handles, including those called
through dissector tables, or called as heuristic dissectors, aren't even
called if their protocol isn't enabled).

Change some direct dissector calls to go through handles.

svn path=/trunk/; revision=8979
2003-11-16 23:17:27 +00:00
Guy Harris 483c96f0e8 From Anand Narwani: fix bitmask for Active Grants field.
svn path=/trunk/; revision=8953
2003-11-12 23:17:37 +00:00
Guy Harris be2f2a2432 Get rid of carriage returns in source files.
svn path=/trunk/; revision=8942
2003-11-11 20:08:13 +00:00
Guy Harris 43d26ce738 Add "asn1_id_decode1()" to the list of exported functions.
svn path=/trunk/; revision=8936
2003-11-11 06:10:57 +00:00
Guy Harris 6b163ce479 From Albert Chin: the HP-UX 10.20 C compiler doesn't allow
typedef enum _foo foo;
	enum _foo {
		...
	};

You have to define the enum before using it in a typedef.  (If I had my
ANSI C89 standard handy, I could say whether that was legal ANSI C or
not.)

svn path=/trunk/; revision=8918
2003-11-09 22:15:29 +00:00
Guy Harris 5d8c92b63b From Erwin Rol: fix some switched fields.
svn path=/trunk/; revision=8897
2003-11-06 09:32:46 +00:00
Guy Harris cbfc93b82e Use "$(OBJECTS)" whenever a complete list of .obj files appears, rather
than repeating the list from the setting of OBJECTS.

svn path=/trunk/; revision=8893
2003-11-06 09:05:14 +00:00
Guy Harris 14d0def0a4 Update from Erwin Rol.
svn path=/trunk/; revision=8888
2003-11-05 20:10:54 +00:00
Guy Harris 07697e98d3 From Masaki Chikama: fix static compilation of "generic ASN.1" and
Gryphon plugins.

svn path=/trunk/; revision=8878
2003-11-04 18:38:53 +00:00
Gerald Combs af59706124 #ifdef out "#include <gtk/gtk.h>", so that --disable-ethereal works again.
svn path=/trunk/; revision=8877
2003-11-04 16:44:25 +00:00
Gerald Combs ef0c23b546 Export get_tempfile_path() to the plugins.
svn path=/trunk/; revision=8863
2003-11-03 02:46:00 +00:00
Gerald Combs 031db8b9c8 From Gisle Vanem:
* Added a new function get_file_in_temp() to
  epan/filesystem.c. This because of asn1.dll plugin which
  had code to write to a log-file "c:\temp\ethereal.log". I feel
  this patch makes this safer; I don't even have a c:\temp dir.

* Patched packet-asn1.c to use get_file_in_temp().

* Added some #undef to packet-snmp.c to silence gcc.

* Changed "%u" -> "%lu" formats in util.c

Rename get_file_in_temp() to get_tempfile_path() to match other function
names.

svn path=/trunk/; revision=8859
2003-11-02 23:12:35 +00:00
Guy Harris b70a7d7f1c From Charlie Duke: add more functions to the plugin API.
svn path=/trunk/; revision=8853
2003-11-01 03:10:48 +00:00
Guy Harris 0fc4e38c65 "End" means end, not "almost the end".
svn path=/trunk/; revision=8852
2003-11-01 03:10:03 +00:00
Guy Harris 86206cae5a Move the new functions to the end of the list, so we don't change the
ordinal numbers of the routines already in the list (that breaks binary
compatibility).

svn path=/trunk/; revision=8851
2003-11-01 03:08:37 +00:00
Guy Harris cde598fa35 From Charlie Duke: add more functions to the plugin API.
svn path=/trunk/; revision=8850
2003-11-01 03:06:55 +00:00
Guy Harris aabe3ec729 From Erwin Rol: update.
svn path=/trunk/; revision=8845
2003-10-31 18:28:32 +00:00
Guy Harris 44590a655c "strchr()" and the like would be compared against NULL; "strcmp()",
however, is compared against 0.

svn path=/trunk/; revision=8833
2003-10-30 11:56:36 +00:00
Guy Harris ca1f1c7f2a From Matthijs Melchior: #ifdef out the GUI code, for now.
svn path=/trunk/; revision=8812
2003-10-29 10:54:17 +00:00
Guy Harris 4a7f74b7d1 There's no need to #define tvb_get_string or tvb_get_stringz - that's
done in Xplugin_api.h.

However, we do need to include "epan/filesystem.h", to declare
"get_datafile_path()".

svn path=/trunk/; revision=8811
2003-10-29 10:37:28 +00:00
Guy Harris fc43317556 Use "get_datafile_path()", rather than constructing the default ASN.1
file path by hand.

Set "default_asn1_filename", not "asn1_filename", to the default path.

svn path=/trunk/; revision=8810
2003-10-28 21:47:32 +00:00
Guy Harris ee2ddb83fc Export "get_datafile_path()", not "get_datafile_dir()" - most if not all
dissectors need only the former, which does the pathname-construction
work for you.

svn path=/trunk/; revision=8809
2003-10-28 21:46:26 +00:00
Guy Harris 8a3e69d832 "get_datafile_dir()" is now in the plugin table.
svn path=/trunk/; revision=8808
2003-10-28 21:04:16 +00:00
Guy Harris 70afd0c1dd Add "get_datafile_dir()" to the plugin API list, for the benefit of
plugins that might get configuration information from a file.

svn path=/trunk/; revision=8807
2003-10-28 21:03:01 +00:00
Guy Harris 7b0e35379f As we don't supply a default ASN.1 SNACC output file, if we get an
ENOENT when trying to open the SNACC file, and the file we're trying to
open is the default file, don't print a warning.

Fix some typoes.

svn path=/trunk/; revision=8806
2003-10-28 20:53:37 +00:00
Guy Harris dc1da82c41 This dissector uses GTK+ calls (which no dissector should); until that's
fixed, use GTK_CFLAGS and GTK_LIBS rather than GLIB_CFLAGS and
GLIB_LIBS.

svn path=/trunk/; revision=8805
2003-10-28 20:44:51 +00:00
Guy Harris 32975a11e6 Fix the Makefile to match other plugin Makefiles.
svn path=/trunk/; revision=8804
2003-10-28 19:27:49 +00:00
Guy Harris c68a7d7cb1 From Matthias Melchior: plugin to decode BER-encoded ASN.1 messages,
given a type-table from "snacc" as a protocol description.

svn path=/trunk/; revision=8799
2003-10-28 07:02:38 +00:00
Guy Harris 4f2ffe292a Add a .cvsignore file.
svn path=/trunk/; revision=8688
2003-10-14 08:56:30 +00:00
Guy Harris 4fa26855a4 From Erwin Rol: ACN support.
svn path=/trunk/; revision=8686
2003-10-14 01:18:11 +00:00
Guy Harris 02e1d2680a Give every Makefile.nmake file a "distclean" rule, and have "distclean"
recurse into subdirectories doing "nmake -f Makefile.nmake distclean".

Have "nmake -f Makefile.nmake clean" not remove stuff that "make clean"
doesn't remove (such as Flex/Bison output and config.h files) - and have
"nmake -f Makefile.nmake distclean" remove stuff that "make distclean"
removes, including "tethereal-tap-register.c" and
"ethereal-tap-register.c".

svn path=/trunk/; revision=8672
2003-10-10 21:31:53 +00:00
Jörg Mayer 7a593c3d3c check in the following comment:
/* XXX This code is neither Endianess independent, nor will it work
     * on platforms that do not support the *optional* guin64 type
     */

svn path=/trunk/; revision=8626
2003-10-06 15:41:53 +00:00
Jörg Mayer e5a9846c56 Fix 4 warnings in case of strict-aliasing by declaring timestamp as time_t
instead of int.

svn path=/trunk/; revision=8618
2003-10-06 02:01:47 +00:00
Jörg Mayer e9d78990ce Get rid of another strict-aliasing warning:
verify_tfs is a true-false-string : dereference it accordingly

svn path=/trunk/; revision=8614
2003-10-05 22:38:09 +00:00
Guy Harris 8b34a7f4ba From Steve Limkemann:
Added two new "well known destinations": SD_IOPWR AND SD_UTIL.

    Added logic to dissect the CMD_SET_TIME command.

    Added an alterate destination for the CMD_PGM_START command.

    Added logic to dissect the CMD_SCHED_MSG_REPLACE command.

    Added logic to dissect the CMD_USDT_REGISTER command.

    Added logic to dissect the CMD_USDT_SET_FUNCTIONAL command.

    Added logic to dissect the following commands
       CMD_IOPWR_GETINP
       CMD_IOPWR_GETLATCH
       CMD_IOPWR_CLRLATCH
       CMD_IOPWR_GETOUT
       CMD_IOPWR_SETOUT
       CMD_IOPWR_SETBIT
       CMD_IOPWR_CLRBIT
       CMD_IOPWR_GETPOWER
       CMD_UTIL_SET_INIT_STRATEGY
       CMD_UTIL_GET_INIT_STRATEGY

    Added the ability to recongnize more IOCTLS.  (For the SJA1000 driver, LIN
        and power drivers.)

    Added the ability to recognize more card types.

    Added dissection of more fields for CMD_SCHED_TX command.

    Bug fixes and general updating.

svn path=/trunk/; revision=8607
2003-10-03 23:22:12 +00:00
Guy Harris 72282f4301 RTNET has no preferences, so don't register a preferences module for it.
svn path=/trunk/; revision=8589
2003-10-02 21:04:32 +00:00
Jörg Mayer 7e32527578 xyzzy
svn path=/trunk/; revision=8570
2003-09-29 19:32:14 +00:00
Guy Harris 30265de991 From Anders Broman: fix a crash, and fix trailing whitespace on
Transaction ID.

svn path=/trunk/; revision=8533
2003-09-24 18:41:37 +00:00
Guy Harris 342fa7a1b5 From Tomas Kukosa:
Remove the internal packet-per.c functions
	"dissect_per_length_determinant()" and
	"dissect_per_normally_small_nonnegative_whole_number()" from the
	plugin API, as they shouldn't be used outside the PER dissector.

	Remove the H.225/H.245 functions
	"dissect_h225_TransportAddress()" and
	"dissect_h245_NonStandardParameter()" from the plugin API until
	we really need them in plugins.

	Add the string dissector table functions to the plugin API.

svn path=/trunk/; revision=8532
2003-09-24 18:35:58 +00:00
Guy Harris 95f648cd9e Use the right value_string table for the filter mode in
CMD_CARD_SET_FILTER_MODE and CMD_CARD_GET_FILTER_MODE.

svn path=/trunk/; revision=8437
2003-09-09 19:22:05 +00:00
Guy Harris 6dbd4842fa Fix the URL for the DOCSIS specifications.
svn path=/trunk/; revision=8436
2003-09-09 19:14:29 +00:00
Guy Harris 950e97c6d4 The PDU length is the length field minus the length of the EHDR *minus
the length of the HCS*.

svn path=/trunk/; revision=8427
2003-09-09 07:18:11 +00:00
Guy Harris c7d03ae2da Fix the URL for the DOCSIS 1.1 Baseline Privacy Plus Interface
Specification.

Show the crypto suite attribute symbolically.

Get rid of unused value_string tables.

svn path=/trunk/; revision=8426
2003-09-09 07:17:00 +00:00
Guy Harris 5ac2c46899 Put each TLV in a tree of its own, and put the TLV type and length
fields into that tree.

svn path=/trunk/; revision=8425
2003-09-09 06:59:35 +00:00
Guy Harris 56a85341f0 Update the URL for the DOCSIS 1.1 specifications.
Use Booleans, not uint8's, for single-bit Boolean flags.

svn path=/trunk/; revision=8424
2003-09-09 05:49:15 +00:00
Jörg Mayer 10b364c56d - Make --enable-static work again (configure.in, Makefile.am)
- get rid of ...-static.o files in the build process (now done via
  config.h instead of compiler flag)
- make packet-rtnet link statically (remove one unused function, rename
  another one)

svn path=/trunk/; revision=8389
2003-09-05 07:44:50 +00:00
Guy Harris 50a0e0a834 From Anders Broman: use a value_string table rather than a switch to
translate MEGACO error codes to descriptions, and show the media
descriptor differently.

"tvb_new_subset(tvb,0,tvb_length(tvb),-1)" returns a tvbuff equivalent
to "tvb"; don't bother calling "tvb_new_subset()".

svn path=/trunk/; revision=8353
2003-09-03 06:48:45 +00:00
Guy Harris ecb9143eac "tvb_new_subset(tvb, 0, tvb_length(tvb), -1)" is equivalent to
"tvb_new_subset(tvb, 0, -1, -1)", which is equivalent to just "tvb" -
it's creating a "subset" that includes the entire tvbuff.  Don't bother
with the "tvb_new_subset()" call.

svn path=/trunk/; revision=8341
2003-09-02 21:26:22 +00:00
Ronnie Sahlberg ec660f2051 From Anders Broman, updates and fixes to MEGACO
svn path=/trunk/; revision=8276
2003-08-26 21:36:17 +00:00
Guy Harris 0333b96fbf Include the header files required by new APIs in the plugin API table.
svn path=/trunk/; revision=8252
2003-08-25 21:35:36 +00:00
Ronnie Sahlberg dd59725fc1 From Erwin Rol, updates to teh ArtNet plugin dissector
svn path=/trunk/; revision=8233
2003-08-24 01:44:00 +00:00
Guy Harris 99c609e333 From Tomas Kukosa: export the PER dissection routines, and some
H.225/H.245 routines, to plugins on platforms where they have to go
through the function call table.

svn path=/trunk/; revision=8219
2003-08-23 07:35:50 +00:00
Guy Harris e045533feb The Python 1.5.2 I have installed didn't seem to like "+=", so use "x =
x + y" instead.

svn path=/trunk/; revision=8218
2003-08-23 07:34:31 +00:00
Guy Harris f4902f4ade From Tomas Kukosa: export the PER dissection routines, and some
H.225/H.245 routines, to plugins on platforms where they have to go
through the function call table.

svn path=/trunk/; revision=8216
2003-08-23 07:23:21 +00:00
Guy Harris 6f4508de8c Define GCC_GLIB_CFLAGS as a GCC equivalent of GLIB_CFLAGS, and use it
instead of -I$(GLIB_DIR) when running GCC to generate the xyzzy file, so
that the right -I flags are used.

svn path=/trunk/; revision=8190
2003-08-19 02:16:26 +00:00
Guy Harris b24a5b39af Get plugins/README.interface into the source tarball.
svn path=/trunk/; revision=8189
2003-08-18 21:43:21 +00:00
Guy Harris 7e212dd179 Check in Xass-list, so the CVS tree can be built on Windows without
having GCC.

Check in updated versions of the other X* files.

svn path=/trunk/; revision=8187
2003-08-18 20:21:19 +00:00
Guy Harris e7c8d1f5a0 From Matthijs Melchior:
move the initialization of the addresses in the plugin interface
	structure from run-time to link time;

	don't attempt to rebuild the X* files automatically, just warn
	that they're out of date and show the command used to rebuild
	them (not everybody has GCC installed, but it's required in
	order to rebuild them).

Get rid of the checked-in Xepan_plugins.c, as it's no longer generated
or used.

Fix Makefile.am now that Xepan_plugins.c has been replaced by Xass-list.

Give plugin_gen.py an RCS ID.

svn path=/trunk/; revision=8186
2003-08-18 20:17:55 +00:00
Guy Harris 36aabc7c1d From Erwin Rol:
Update e-mail address.

	Register the ARP dissector, as the RT-Net dissector tries to
	find it.

svn path=/trunk/; revision=8176
2003-08-17 01:05:21 +00:00
Guy Harris 1c66a793f3 There's no such function as "delete_giop_user_module()", so don't put it
in the list of exported functions.

svn path=/trunk/; revision=8171
2003-08-16 00:38:28 +00:00
Guy Harris b6aa3275fd As per Bernd Becker's suggestion, add "register_giop_user_module()" and
"delete_giop_user_module()" to the list of exported functions on
platforms where a run-time loaded module can't directly access functions
from the main program.

svn path=/trunk/; revision=8143
2003-08-06 18:16:21 +00:00
Gerald Combs d4fd7c6e93 Remove the reference to the nonexistent packet-lwres.h; it was tripping up
distcheck.

svn path=/trunk/; revision=8141
2003-08-06 03:04:24 +00:00
Guy Harris e1c0d7eae4 From Lars Roland: get rid of "ip_to_str()", as it's just a copy of the
standard one in the Ethereal core, so that the plugin compiles on
Windows.

svn path=/trunk/; revision=8137
2003-08-05 17:12:07 +00:00
Guy Harris 11cf00c0ad From Lars Roland: make Makefile.nmake for lwres resemble the newer
Makefile.nmakes for other plugins, to make it build on Windows.

svn path=/trunk/; revision=8136
2003-08-05 17:09:54 +00:00
Guy Harris 38936362a6 Add the usual .cvsignore file.
svn path=/trunk/; revision=8134
2003-08-05 05:11:44 +00:00
Guy Harris ff9a155db3 LWRES support, from Oleg Terletsky.
svn path=/trunk/; revision=8133
2003-08-05 05:09:37 +00:00
Guy Harris c9abf6ddec From Tomas Kukosa: add "find_dissector_table()",
"dissector_get_port_handle()", "dissector_handle_get_short_name()",
"dissector_handle_get_protocol_index()", "new_register_dissector()", and
"new_create_dissector_handle()" to the list of APIs available to
plugins on platforms where plugins have to call core Ethereal routines
through pointers.

"extern"alize the remaining routines in "epan/packet.h".

svn path=/trunk/; revision=8116
2003-07-31 18:34:52 +00:00
Guy Harris f5ecf9a22f Crude workaround for a deficiency in the MEGACO parser - it assumes that
all packets have an "=" in them, which TransactionResponseAcks do not.
Check some of the "tvb_find_guint8()" replies and give up if they return
-1.

svn path=/trunk/; revision=8102
2003-07-30 06:28:55 +00:00
Ronnie Sahlberg 1eb4be4dc2 Updates to the MEGACO plugin so that it will call the H.245 dissector for some
instancews where megaco encapsulates h.245

svn path=/trunk/; revision=8087
2003-07-26 04:51:08 +00:00
Guy Harris 337287266e Get rid of carriage returns - some compilers don't like them.
svn path=/trunk/; revision=8086
2003-07-25 17:57:09 +00:00
Gerald Combs 4f0ecbde2e Remove duplicate targets and circular rules, as pointed out by Guy.
svn path=/trunk/; revision=8070
2003-07-23 14:33:34 +00:00
Gerald Combs bdfd99d6e8 Fix a "make distcheck" failure.
svn path=/trunk/; revision=8065
2003-07-22 18:37:33 +00:00
Gerald Combs e7246cb1ba Fix a couple of distcheck failures.
svn path=/trunk/; revision=8055
2003-07-19 22:33:55 +00:00
Guy Harris 9fcb7601ee Get rid of check for a null "docsis_vsif_handle" - "dissector_add()"
should blow up when handed a null pointer on all platforms that map low
addresses out of the address space, which is most if not all of them at
this point, and calls to "assert()" cause problems if you mix
GCC-compiled and Sun-C-compiled code.

svn path=/trunk/; revision=8047
2003-07-19 02:11:34 +00:00
Guy Harris 07e49022d4 Include the same headers that "plugin_api.h" does.
svn path=/trunk/; revision=8046
2003-07-18 22:47:18 +00:00
Guy Harris bef8e395a8 From Matthijs Melchior: generate all declarations and definitions for
plugin ABI from a single file.

svn path=/trunk/; revision=8038
2003-07-18 03:02:12 +00:00
Tim Potter 83665ca82b Fix unused variable warning.
svn path=/trunk/; revision=8025
2003-07-16 02:07:18 +00:00
Guy Harris b1dd70cb3e Make the top-level protocol tree entry cover all the data being
dissected, rather than none of it.

Clean up white space.

svn path=/trunk/; revision=7992
2003-07-08 17:42:24 +00:00
Guy Harris 176d16241b From Christoph Wiest: redo MEGACO dissector to more fully parse
text-format messages.

svn path=/trunk/; revision=7957
2003-07-01 08:00:06 +00:00
Guy Harris d6dadab52f From Lars Roland: clean the rtnet plugin directory when "nmake -f
Makefile.nmake clean" is done.

svn path=/trunk/; revision=7893
2003-06-17 04:06:12 +00:00
Guy Harris 8178db4980 Define GLIB_LIBS and GTK_LIBS variables in config.nmake (based on
variables the user configures - the user isn't expected to change
GLIB_LIBS or GTK_LIBS, and there's a comment nothing that users
shouldn't have to do so), which contain the appropriate libraries for
building stuff that requires only GLib, and stuff that required GTK+ and
GLib, respectively, and use those macros in the Makefile.nmake files.

svn path=/trunk/; revision=7885
2003-06-14 20:45:29 +00:00
Guy Harris 71424053cd Define GLIB_CFLAGS and GTK_CFLAGS variables in config.nmake (based on
variables the user configures - the user isn't expected to change
GLIB_CFLAGS or GTK_CFLAGS, and there's a comment nothing that users
shouldn't have to do so), which contain the appropriate "/I" flags for
building stuff that requires only GLib, and stuff that required GTK+ and
GLib, respectively, and use those macros in the Makefile.nmake files.

svn path=/trunk/; revision=7884
2003-06-14 20:36:04 +00:00
Guy Harris 7a2770dd81 From Jason House: fix the return types of the pointers to
"tvb_get_string()" and "tvb_get_stringz()".

svn path=/trunk/; revision=7865
2003-06-13 02:35:15 +00:00
Guy Harris c7ce8b9a8b Link the plugin with glib, as it now calls "g_free()".
svn path=/trunk/; revision=7863
2003-06-12 10:12:21 +00:00
Guy Harris feadec85eb Export "tvb_get_string()" and "tvb_get_stringz()" to plugins.
svn path=/trunk/; revision=7862
2003-06-12 10:10:39 +00:00
Guy Harris 15d260c8ba Get rid of allocations of unused buffers.
svn path=/trunk/; revision=7861
2003-06-12 10:10:17 +00:00
Guy Harris ee97ce3196 Add new routines:
tvb_get_string() - takes a tvbuff, an offset, and a length as
	arguments, allocates a buffer big enough to hold a string with
	the specified number of bytes plus an added null terminator
	(i.e., length+1), copies the specified number of bytes from the
	tvbuff, at the specified offset, to that buffer and puts in a
	null terminator, and returns a pointer to that buffer (or throws
	an exception before allocating the buffer if that many bytes
	aren't available in the tvbuff);

	tvb_get_stringz() - takes a tvbuff, an offset, and a pointer to
	a "gint" as arguments, gets the size of the null-terminated
	string starting at the specified offset in the tvbuff (throwing
	an exception if the null terminator isn't found), allocates a
	buffer big enough to hold that string, copies the string to that
	buffer, and returns a pointer to that buffer and stores the
	length of the string (including the terminating null) in the
	variable pointed to by the "gint" pointer.

Replace many pieces of code allocating a buffer and copying a string
with calls to "tvb_get_string()" (for one thing, "tvb_get_string()"
doesn't require you to remember that the argument to
"tvb_get_nstringz0()" is the size of the buffer into which you're
copying the string, which might be the length of the string to be copied
*plus 1*).

Don't use fixed-length buffers for null-terminated strings (even if the
code that generates those packets has a #define to limit the length of
the string).  Use "tvb_get_stringz()", instead.

In some cases where a value is fetched but is only used to pass an
argument to a "proto_tree_add_XXX" routine, use "proto_tree_add_item()"
instead.

svn path=/trunk/; revision=7859
2003-06-12 08:33:32 +00:00
Gerald Combs ad37ffa69b s/artnet/rtnet/g.
svn path=/trunk/; revision=7840
2003-06-11 14:40:17 +00:00
Guy Harris f54e01516a From Erwin Rol: RTNET/TDMA support.
svn path=/trunk/; revision=7839
2003-06-11 09:17:03 +00:00
Gerald Combs bdec82ce59 From Lars Roland: Update the plugin API for Glib/GTK+ 2.2 and have NSIS
remove the Start menu entries and desktop icon.

svn path=/trunk/; revision=7772
2003-06-03 02:32:56 +00:00
Gerald Combs 5ec3a96afa Update Anand Narwani's email address.
svn path=/trunk/; revision=7755
2003-05-28 14:52:53 +00:00
Guy Harris f9037afd44 From Matthijs Melchior: don't export functions also implemented as
macros, and do export "except_pop()" and "except_setup_try()".

svn path=/trunk/; revision=7628
2003-05-01 21:10:43 +00:00
Guy Harris 0242a26c59 The typedefs in plugins/plugin_table.h must have "addr_" in front of the
function name; make it so.

Eliminate the duplicate entry for "except_throw" and the duplicate code
for it.

svn path=/trunk/; revision=7618
2003-04-30 23:40:43 +00:00
Guy Harris dcae08c20b From Matthijs Melchior: export the exception mechanism routines to
plugins on platforms on which plugins need to use the table of functions
exported to plugins.

svn path=/trunk/; revision=7611
2003-04-30 19:19:15 +00:00
Gerald Combs 0b9bbbbdb6 Modify tvb_get_nstringz*() to behave more like snprintf(). Make changes
where necessary to reflect the new behavior.

svn path=/trunk/; revision=7607
2003-04-30 02:35:28 +00:00
Guy Harris 1025817e84 Add a "proto_item_set_end()" routine that sets the length of an item
given a tvbuff/offset pair referring to the byte past the end of the
item.  Use it in one place in the SMB dissector (there are plenty of
other places where it could be used as well).

svn path=/trunk/; revision=7603
2003-04-29 21:27:19 +00:00
Guy Harris 090a5aa24b From Matthijs Melchior: add the ASN.1 routines to the table of routines
exported to dissectors.

svn path=/trunk/; revision=7552
2003-04-24 21:15:13 +00:00
Guy Harris c0b3f46abd Add the usual .cvsignore file.
svn path=/trunk/; revision=7520
2003-04-21 23:08:11 +00:00
Guy Harris bbb746f9b1 From Erwin Rol: ArtNET support.
svn path=/trunk/; revision=7518
2003-04-21 21:28:39 +00:00
Guy Harris 7ddca7ecaf From Lars Roland:
Add Response-Time statistics for each known mgcp message-type.

	Fix a few bugs and remove trailing whitespace.

	Use "gdouble" for printing time-values and calculating the
	average.  It is easier to use and shouldn't overflow on big
	trace files like "guint32".

	Move some functions for time statistics into the new file
	timestats.c in the main directory.  This code may be useful in
	the rpc and smb rtt-taps as well.

svn path=/trunk/; revision=7469
2003-04-16 07:25:12 +00:00
Guy Harris d3daad1bec Add "proto_tree_add_none_format()" to the set of functions exported to
plugins.

svn path=/trunk/; revision=7423
2003-04-08 17:20:05 +00:00
Gerald Combs 41ab264d0a Add packet-mgcp.h to the distribution.
svn path=/trunk/; revision=7309
2003-03-07 04:13:26 +00:00
Guy Harris 2b7866f33b "transid" values are guint32's, and should be printed with "%u" (on
most, if not all, platforms on which Ethereal runs, a guint32 is an
"unsigned int", not an "unsigned long", and on platforms where an
"unsigned long" is 64 bits, "%ld" is definitely wrong - and so is
"%lu").

svn path=/trunk/; revision=7296
2003-03-06 19:15:09 +00:00
Ronnie Sahlberg e00fb8c413 From Lars Ronald :
MGCP request/response matching and
MGCPSTAT RTT calculation.

For those with MGCP captures, try
-z mgcp,rtd[,filter]

svn path=/trunk/; revision=7294
2003-03-06 09:01:47 +00:00
Guy Harris ca28a41f1f Put in a blank between "Intercept" and "packets".
svn path=/trunk/; revision=7196
2003-02-25 18:43:38 +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
Guy Harris e5d7b5dff7 Get rid of the extra "pcli." in the "pcli.pcli.udp_port" preference.
Map "pcli.pcli.udp_port" to "pcli.udp_port".

svn path=/trunk/; revision=7025
2003-01-28 22:27:20 +00:00
Jörg Mayer 7cf99aacfd Remove an unused function prototype
svn path=/trunk/; revision=6998
2003-01-24 21:07:43 +00:00
Guy Harris f52d31f3ab #if 0 out the binary protocol stuff, as there's only a dissector for
text MEGACO.

Fix up the preference description strings.

svn path=/trunk/; revision=6928
2003-01-15 00:17:53 +00:00
Guy Harris 35c1a63199 Give it an RCS ID.
svn path=/trunk/; revision=6927
2003-01-14 23:54:20 +00:00
Guy Harris a002a0fec4 From Christian Falckenberg: beginnings of a MEGACO dissector.
Move SCTP payload protocol IDs to a header file, and get the PPIDs from
that header file rather than defining them in dissectors running atop
SCTP.  Use both the old(?) and official PPID for ASAP.

svn path=/trunk/; revision=6926
2003-01-14 23:53:40 +00:00
Guy Harris 01d8f31347 Fix the copyright notice, give it an RCS ID, and fix the introductory
comment.

svn path=/trunk/; revision=6911
2003-01-11 09:15:00 +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
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 b16fb8f257 Fix "addr_ip6_to_str" to reflect the fact that "ip6_to_str()" now takes
a const pointer as its argument.

svn path=/trunk/; revision=6700
2002-11-28 22:13:52 +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
Ed Warnicke 6f0b42deff Added a pointer to more information on PCLI
svn path=/trunk/; revision=6496
2002-10-24 23:41:56 +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 9cefef1869 As we are (correctly) calling the IP dissector regardless of whether a
protocol tree is being built or not, we must also construct a tvbuff to
hand to that dissector regardless of whether a protocol tree is being
built or not.

svn path=/trunk/; revision=6402
2002-10-10 20:36:37 +00:00
Ed Warnicke b1241274d3 Fixed minor error in call ordering.
svn path=/trunk/; revision=6401
2002-10-10 19:06:04 +00:00
Guy Harris bbd6688e1e Fix a cut-and-pasteo - PCLI isn't defined by RFC 2705; that's the MGCP
RFC, and has nothing to do with PCLI.

svn path=/trunk/; revision=6375
2002-10-08 08:26:31 +00:00
Jörg Mayer 32f4580b93 Remove unnecessary config* stuff
svn path=/trunk/; revision=6369
2002-10-06 17:45:52 +00:00
Jörg Mayer 4dd583194e Ignore *.la and *.lo
svn path=/trunk/; revision=6368
2002-10-06 17:43:57 +00:00
Ed Warnicke b54b76e697 Added a dissector plugin for Packet Cable Lawful Intercept.
svn path=/trunk/; revision=6366
2002-10-03 02:56:59 +00:00
Jörg Mayer 3304e03991 Fix two minor typos by Anand V. Narwani
svn path=/trunk/; revision=6321
2002-09-23 16:27:57 +00:00
Jörg Mayer 39e138aca8 Handle ignored files more flexible. This also fixes the newest files
missing from this file.

svn path=/trunk/; revision=6287
2002-09-12 20:04:42 +00:00
Guy Harris 08dfdefa15 From Anand Narwani: fix an error in decoding classifier TLV's.
svn path=/trunk/; revision=6286
2002-09-12 19:58:37 +00:00
Guy Harris 7f3ea787c7 From Anand Narwani: support for Cisco vendor-specific TLVs.
Add RCS IDs to source files.

svn path=/trunk/; revision=6257
2002-09-10 19:07:40 +00:00
Guy Harris 2ac3b23455 From Anand Narwani: updates to fix:
- Bug in the dissection of the Request/Transmit policy in packet-tlv.c
- Incorrect filter string for docsis.ehdr.ver
- Dissection of PHS Upstream/Downstream Extended Header sub-elements
- Dissection of Unsolicited Grant Sync sub-element

svn path=/trunk/; revision=6141
2002-08-30 10:02:14 +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
Guy Harris fb1ef7b8da From Anand Narwani: fix an infinite recursion issue when decoding
Concatenated frames which contain 0 length PDU docsis frames.

svn path=/trunk/; revision=6037
2002-08-20 22:44:25 +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 7e4e31f94c Replace the types from sys/types.h and netinet/in.h by their glib.h
equivalents for the plugins/ directory.

svn path=/trunk/; revision=5929
2002-08-02 22:04:22 +00:00
Guy Harris 976323d49a Update from Anand V. Narwani:
fix a minor problem in which the Info colum was incorrectly
	defaulted to "Fragmentation Frame";

	add 4 missing fields for the Extended header in Fragmentation
	frames.

svn path=/trunk/; revision=5902
2002-07-22 20:18:23 +00:00
Guy Harris 52896da39e Offsets in packets should be "int", not "guint8", unless there is an
*inviolable guarantee* that the offset will *never* be bigger than 255.
(The same applies for "guint16" and 65535.) Otherwise, you run the risk
of an infinite loop (packets are not guaranteed to be valid, nor are the
contents of capture files - and there's no guarantee that you're reading
a DOCSIS file if you've turned on the "force interpretation as DOCSIS"
flag.)

svn path=/trunk/; revision=5897
2002-07-21 00:22:17 +00:00
Guy Harris 206b6edb1b From Anand V. Narwani: fix to the Info column for Request frames.
svn path=/trunk/; revision=5896
2002-07-20 23:19:20 +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 f65887d220 Get rid of carriage returns.
svn path=/trunk/; revision=5886
2002-07-16 10:11:41 +00:00
Guy Harris 2e7f37aee7 From Anand V. Narwani: fix so that when a filter is applied to a DOCSIS
management frame, the Info column isn't erased.

Replace a call to "tvb_length_remaining()" with the value returned by a
earlier identical call.

svn path=/trunk/; revision=5867
2002-07-14 08:37:45 +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 78b3b038e1 From Nix:
Don't add "-I/usr/include" to CFLAGS or CPPFLAGS; GCC 3.1 warns
	about it, and it's not necessary.

	Expand the plugin directory path used for installation at
	installation time, rather than configuration time, so the user
	can reset "prefix" at installation time.

svn path=/trunk/; revision=5828
2002-07-06 20:40:50 +00:00
Gerald Combs aca0488ace Fix a return type mismatch for get_CDR_wchar and a parameter type mismatch
for get_CDR_octet_seq.  The one for get_CDR_octet_seq was preventing
compilation under MSVC++.

svn path=/trunk/; revision=5484
2002-05-16 02:43:53 +00:00
Guy Harris c845015f06 Have "is_tpkt()" take a minimum-payload-length argument and check
whether the length value in the TPKT header is large enough to include
that much payload - if not, report the packet as not being a TPKT
packet.

Have the heuristic Q.931 dissector supply the appropriate value.

svn path=/trunk/; revision=5457
2002-05-13 21:18:26 +00:00
Guy Harris c23a824fa5 Remove the unused "offset_saved" variable, as per the changes to
"ethereal_gen.py" not to generate the line setting it.

svn path=/trunk/; revision=5409
2002-05-06 21:53:33 +00:00
Guy Harris 3355fdf0f3 Fix the declaration of pointers to "tcp_dissect_pdus()".
svn path=/trunk/; revision=5400
2002-05-05 22:30:39 +00:00
Guy Harris a6e169fc27 Put the pointer to "tcp_dissect_pdus()" in the function pointer table
where the pointer to "dissect_data()" was in 0.9.3; the pointer to
"dissect_data()" wasn't initialized in 0.9.3 (as the function wasn't
exported - you call it through a handle), so no plugin should have been
using it, and putting the pointer to "tcp_dissect_pdus()" in its place
means the structure offsets of all function pointers after it will be
the same in 0.9.3 and the next release, preserving binary compatibility
for plugins.

svn path=/trunk/; revision=5395
2002-05-05 00:34:12 +00:00
Guy Harris eb70c97a9b Make a "tcp_dissect_pdus()" with the standard loop for a TCP segment,
extracting PDUs from it and possibly doing reassembly.  Make the COPS,
DNS, DSI, Gryphon, and SCCP dissectors use it.

Add "set_actual_length()", "tcp_dissect_pdus()",
"decode_boolean_bitfield()", "decode_numeric_bitfield()", and
"decode_enumerated_bitfield()" to the list of routines available to
dissectors on platforms where routines in the main program aren't
available to dynamically-loaded code.

Declare routines in "to_str.h" as "extern"; as I remember, that's
necessary to allow the "decode_XXX_bitfield()" routines declared therein
to be made available to plugins as per the above.

Note that new exported routines should be added to the end of the table
if that's the only change being made to the table.

Create a new "plugin_api_decls.h" header file, used to declare both the
"p_" variables and the "p_" structure members in the routine-exporting
mechanism; this reduces the number of places you have to change to
change the list of exported routines.

svn path=/trunk/; revision=5394
2002-05-05 00:16:38 +00:00
Guy Harris c54e2fd1d5 Update the dissectors (by hand) to match the changes to
"ethereal_gen.py".

svn path=/trunk/; revision=5391
2002-05-04 11:03:18 +00:00
Guy Harris 09f812b7c2 Get rid of unused arguments.
svn path=/trunk/; revision=5325
2002-05-01 06:56:16 +00:00
Guy Harris 2793de4cf9 Make more use of "val_to_str()" and "decode_boolean_bitfield()".
svn path=/trunk/; revision=5324
2002-05-01 06:46:52 +00:00
Guy Harris 66bbf2411a Use the bitfield decoding routines for bitfields.
Show the value of flag fields in the top-level item for the field.

Use "%u", not "%d", to display unsigned quantities.

svn path=/trunk/; revision=5323
2002-05-01 06:15:44 +00:00
Guy Harris 573530d0e2 Add desegmentation support.
As a result of that, we now construct a tvbuff for each Gryphon message;
this obviates the need to pass a message length to the dissectors for
each message type.

svn path=/trunk/; revision=5321
2002-05-01 05:24:42 +00:00
Guy Harris a977e68fbc Mark the "plugin_address_table_t *" argument to "plugin_init()" as
unused if PLUGINS_NEED_ADDRESS_TABLE isn't defined.

Get rid of some other unused arguments.

svn path=/trunk/; revision=5312
2002-04-30 10:37:37 +00:00
Guy Harris 1c715bb383 Mark the "plugin_address_table_t *" argument to "plugin_init()" as
unused if PLUGINS_NEED_ADDRESS_TABLE isn't defined.

svn path=/trunk/; revision=5311
2002-04-30 10:36:26 +00:00
Guy Harris c8fdc30fe2 Make "dissect_data()" static - it's only called through handles.
svn path=/trunk/; revision=5096
2002-04-04 05:16:15 +00:00
Guy Harris df4072814f Fix the declaration of "addr_call_dissector" to match the function
signature of "call_dissector()".

svn path=/trunk/; revision=4828
2002-02-27 21:26:37 +00:00
Guy Harris b4971b39bf From Joerg Mayer:
In the "configure.in" files, add

		-D_U_="__attribute__((unused))"

	to CFLAGS if we're using GCC, and add

		-D_U_=""

	otherwise, so _U_ can be used to mark arguments as unused.

Add -D_U_="" arguments to the Makefile.nmake files as well, so _U_ works
with Microsoft Visual C++ as well.

Add comments and RCS IDs to the Makefile.nmake files that don't already
have them.

svn path=/trunk/; revision=4824
2002-02-27 09:42:52 +00:00
Guy Harris 7027650b5c "is_tpkt()" is always used to check a TCP segment to see if it might
have a TPKT header at the beginning, so there's not need for it to have
an offset as an argument; its callers don't have to know how big the
TPKT header is (or we can put a #define in "packet-tpkt.h" for it).  Get
rid of the second argument.

svn path=/trunk/; revision=4791
2002-02-23 02:30:16 +00:00
Guy Harris e9bc3da370 Handle TPKT packets split across segment boundaries, and multiple TPKT
packets per segment.

Instead of having a routine for dissectors such as the Q.931 dissector
to call to dissect the TPKT header, have a routine that does all the
reassembly and multiple-packets-per-segment work, and have the Q.931
dissector call it.  Export "is_tpkt()", and the new routine, to plugins.

Add preferences for TPKT and Q.931 reassembly.

svn path=/trunk/; revision=4778
2002-02-22 08:56:48 +00:00
Guy Harris 2c0ceea42f Export "conversation_set_dissector()" in the plugin API table.
svn path=/trunk/; revision=4760
2002-02-20 08:24:52 +00:00
Guy Harris bcaa0c5c58 Fix up the declaration of "addr_tvb_new_real_data" to match
"tvb_new_real_data()".

svn path=/trunk/; revision=4755
2002-02-19 01:28:43 +00:00
Guy Harris 0afa2b5aeb Routines added to the plugin table, and include-once #ifndef/#define
wrappers added to plugin header files, by Charlie Duke.

svn path=/trunk/; revision=4676
2002-02-02 03:42:18 +00:00
Guy Harris a2e6d3175a Updated GIOP plugins, from Frank Singleton.
svn path=/trunk/; revision=4631
2002-01-30 18:55:39 +00:00
Guy Harris c873f79156 Support for capturing on, and reading captures from, OpenBSD firewall
logging virtual interface, from Mike Frantzen.

svn path=/trunk/; revision=4616
2002-01-29 08:44:53 +00:00
Guy Harris ee5ca25d31 Include files from the "epan" directory and subdirectories thereof with
"epan/..." pathnames, so as to avoid collisions with header files in any
of the directories in which we look (e.g., "proto.h", as some other
package has its own "proto.h" file which it installs in the top-level
include directory).

Don't add "-I" flags to search "epan", as that's no longer necessary
(and we want includes of "epan" headers to fail if the "epan/" is left
out, so that we don't re-introduce includes lacking "epan/").

svn path=/trunk/; revision=4586
2002-01-21 07:37:49 +00:00
Guy Harris a45d3d3bfe Fix some problems in protocol preferences blurbs.
svn path=/trunk/; revision=4582
2002-01-20 23:25:55 +00:00
Gilbert Ramirez 0b9b02c6ea Long NCP traces can easily have many packets whose "uniqueness"
variables wrap-around. Since the request/reply packets are related via
a hash based on these uniqueness variables, long NCP traces can
have mis-matches reqeust/reply records.

Thus, only do the hash-lookup for the reply packet during the first
sequential scan of the trace file. Once the pertinent info is found,
store it in the packet's private data area.

Since the memory allocated for the hash and for the structures that make
up the keys are no longer needed after the first sequential run through
the trace file, arrange to free that memory after the first sequential
run. Similar to the register_init_routine() that allows dissectors
to register callbacks for calling *before* a capture file is loaded,
set up a register_postseq_cleanup_routine() function that allows
dissectors to register callbacks for calling *after* the first
sequential run-through of the trace file is made. This is not
a *final* cleanup callback, since Ethereal will still have that trace file
open for random-access reading.

I didn't have tethereal call postseq_cleanup_all_protocols() since
tethereal doesn't keep the trace file open for random-access reading.
I could easily be swayed to make tethereal call that function, however.

svn path=/trunk/; revision=4484
2002-01-05 04:12:17 +00:00
Guy Harris 887799e01a From Bernd Becker: don't clear COL_INFO until the GIOP subdissecrors are
fixed to put something interesting there, fix the GIOP dissector to
restore the Protocol column if no heuristic dissector succeeded, and fix
up the plugin GIOP subdissectors to use "col_set_str()" to set the
Protocol column.

svn path=/trunk/; revision=4424
2001-12-19 08:59:08 +00:00
Guy Harris ee04f7826f Now that the GIOP dissector sets "pinfo->current_proto" before calling
subdissectors, the subdissectors don't have to set it themselves.

svn path=/trunk/; revision=4417
2001-12-17 22:51:42 +00:00
Guy Harris 39362af814 From Motonori Shindo:
fix a bogus batch mode inference rule of make, so that
	"vc60.pdb" files are created in the proper directory;

	delete ".pdb" files in a "nmake -f Makefile.nmake clean";

	include the text2pcap and mergecap ".pdb" files in the Windows
	binary distribution.

svn path=/trunk/; revision=4385
2001-12-12 01:29:13 +00:00
Guy Harris fcfa433ff0 Move the pointer to the "column_info" structure in the "frame_data"
structure to the "packet_info" structure; only stuff that's permanently
stored with each frame should be in the "frame_data" structure, and the
"column_info" structure is not guaranteed to hold the column values for
that frame at all times - it was only in the "frame_data" structure so
that it could be passed to dissectors, and, as all dissectors are now
passed a pointer to a "packet_info" structure, it could just as well be
put in the "packet_info" structure.

That saves memory, by shrinking the "frame_data" structure (there's one
of those per frame), and also lets us clean up the code a bit.

svn path=/trunk/; revision=4371
2001-12-10 01:48:27 +00:00
Guy Harris 23319ff023 Move the pointer to the "column_info" structure in the "frame_data"
structure to the "packet_info" structure; only stuff that's permanently
stored with each frame should be in the "frame_data" structure, and the
"column_info" structure is not guaranteed to hold the column values for
that frame at all times - it was only in the "frame_data" structure so
that it could be passed to dissectors, and, as all dissectors are now
passed a pointer to a "packet_info" structure, it could just as well be
put in the "packet_info" structure.

That saves memory, by shrinking the "frame_data" structure (there's one
of those per frame), and also lets us clean up the code a bit.

svn path=/trunk/; revision=4370
2001-12-10 00:26:21 +00:00
Guy Harris 7c0dc64096 Remove the no-longer-extant "conv_dissector_add()" from the list of
plugin APIs, and add the new "dissector_add_handle()".

Add an entry in the dissector table structure for
"create_dissector_handle".

svn path=/trunk/; revision=4314
2001-12-03 10:00:23 +00:00
Guy Harris bced8711f6 Make "dissector_add()", "dissector_delete()", and "dissector_change()"
take a dissector handle as an argument, rather than a pointer to a
dissector function and a protocol ID.  Associate dissector handles with
dissector table entries.

svn path=/trunk/; revision=4308
2001-12-03 04:00:26 +00:00
Ed Warnicke 89babba223 This should be the final bit of removing the dissect_data symbol
from being required by anyone other than packet-data.c.
It can now be accessed with call_dissector() with the name "data".
dissect_data is now also of dissect_t.

svn path=/trunk/; revision=4271
2001-11-26 05:41:15 +00:00
Guy Harris 1f27f45a1b Finish removing the pointer to the no-longer-extant global "packet_info"
structure "pi" from the plugin API.

svn path=/trunk/; revision=4259
2001-11-24 21:55:54 +00:00
Gilbert Ramirez a07ec65cce Remove the pointer to the global packet_info from the table of
pointers used for plugins on win32.

svn path=/trunk/; revision=4247
2001-11-21 23:34:09 +00:00
Gilbert Ramirez f14a6b8b91 Hopefully the last time I have to change my e-mail address.
svn path=/trunk/; revision=4199
2001-11-13 23:55:44 +00:00
Guy Harris f0c86f5537 Include "conversation.h", as the plugin API now includes the routines to
create and find conversations.

svn path=/trunk/; revision=4155
2001-11-04 22:14:43 +00:00
Guy Harris d859325753 Additional routines made available to plugins, from Tomas Kukosa.
svn path=/trunk/; revision=4150
2001-11-04 03:37:29 +00:00
Guy Harris 8789943142 In "plugin_api_defs.h", just do
addr_XXX p_XXX;

for all the declarations, to simplify things, as per Tomas Kukosa's
suggestion.

Fix a couple of comments.

svn path=/trunk/; revision=4149
2001-11-04 03:16:47 +00:00
Guy Harris f9ff2a9ab3 Fix some declarations to match the signatures of "tvb_find_guint8()" and
"tvb_pbrk_guint8()".

svn path=/trunk/; revision=4121
2001-11-01 09:53:13 +00:00
Guy Harris 97a05828cd Sigh. Well, if you make the function declarations external, that means
that they're external when the plugin is compiled, and there's no
definition to satisfy the extern, so plugins fail to compile.

Add a "plugins/plugin_api_defs.h" header file that defines them, and
include that in one (and only one) source file for a particular plugin.

svn path=/trunk/; revision=4117
2001-10-31 10:40:58 +00:00
Guy Harris 62d224011d Stop using "tvb_get_ntohll()" and "%llX" in the BOOTP dissector, as the
former depends on having "guint64" and the latter depends on
"%ll[douxX]" being what's used to print 64-bit integers, and there are
platforms on which Etheeal runs that don't have "guint64" or that don't
use "%ll[douxX]" to print 64-bit integers.

Get rid of the routines to extract 64-bit integers into "gint64"s and
"guint64"s, as per Ronnie Sahlberg's suggestion, to discourage people
from writing code that won't work on all platforms; they should be using
FT_UINT64, or the routines in "int-64bit.c", instead.

svn path=/trunk/; revision=4102
2001-10-29 21:56:50 +00:00
Gilbert Ramirez c2cdf8acd0 Enable building of the coseventcomm plugin on Win32.
Some of these changs are from Frank Singleton, some are mine.

svn path=/trunk/; revision=4035
2001-10-17 19:27:43 +00:00
Guy Harris ce626b31af Make the resolution for time values be nanoseconds rather than
microseconds.

Fix some "signed vs. unsigned" comparison warnings.

svn path=/trunk/; revision=3935
2001-09-14 07:16:42 +00:00
Guy Harris 0e68611e41 From Thomas Wittwer: add "prefs_register_string_preference()" to the
list of functions available to plugins.

svn path=/trunk/; revision=3906
2001-09-04 01:05:41 +00:00
Guy Harris fbe8da33f5 Add a "proto_item_append_text()" routine, which is like
"proto_item_set_text()" except that it appends the result of the
formatting to the item's current text, rather than replacing the item's
current text.  Use it in the DNS dissector.

svn path=/trunk/; revision=3880
2001-08-29 00:51:10 +00:00
Guy Harris aa4cd01b9b Get rid of "proto_tree_add_notext()" - if you create a subtree using it,
but, before you set the text, you throw an exception while putting stuff
under the subtree, you end up with an absolutely blank protocol tree
item, which is really gross.  Instead of calling
"proto_tree_add_notext()", call "proto_tree_add_text()" with at least a
minimal label - yes, it does mean you do some work that will probably be
unnecessary, but, absent a scheme to arrange to do that work if it *is*
necessary (e.g., catching exceptions), the alternative is an ugly
protocol tree display.

svn path=/trunk/; revision=3879
2001-08-28 08:28:19 +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 c5c33a0554 Update .cvsignore.
svn path=/trunk/; revision=3760
2001-07-21 06:32:27 +00:00
Guy Harris 5a0855bf57 CosEventComm dissector, from Frank Singleton.
svn path=/trunk/; revision=3756
2001-07-20 20:56:18 +00:00
Guy Harris d7b4534d38 Get rid of zero-length arrays.
svn path=/trunk/; revision=3753
2001-07-20 09:51:19 +00:00
Ed Warnicke 4a812d4ad5 Added .cvsignore
svn path=/trunk/; revision=3742
2001-07-20 03:29:25 +00:00
Guy Harris 28ca6b4a93 GIOP CosNaming support, from Frank Singleton.
svn path=/trunk/; revision=3740
2001-07-19 21:30:17 +00:00
Guy Harris 0bbb8f72a0 Add some additional items to .cvsignore files, for new files built when
compiling plugins for statically-linked binaries.

svn path=/trunk/; revision=3678
2001-07-10 20:58:42 +00:00
Ed Warnicke 188717373e Fixed the make dist problem.
svn path=/trunk/; revision=3676
2001-07-10 13:18:43 +00:00
Uwe Girlich 25def853cf C sources are in $(srcdir) and not the current directory
svn path=/trunk/; revision=3671
2001-07-09 13:21:02 +00:00
Ed Warnicke de98ec2efa Fixed the {tethereal,ethereal}_static targets so that the
static binaries have the dissectors provided in the plugins available.

svn path=/trunk/; revision=3665
2001-07-08 21:51:34 +00:00
Ed Warnicke b7a5873eae Some additional cleanup.
svn path=/trunk/; revision=3660
2001-07-08 04:47:33 +00:00
Ed Warnicke 902b66b368 Fixed problem with handling empty parameters.
Problem was pointed out by Alejandro Vaquero who
provided a fix.  Implemented a slightly different fix.

svn path=/trunk/; revision=3653
2001-07-05 04:27:10 +00:00
Ed Warnicke af5c567978 Some minor changes to allow the mgcp plugin to be compiled
into a static binary if desired.

svn path=/trunk/; revision=3651
2001-07-04 22:01:22 +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 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 9f4a98d0a5 Tvbuffify the Gryphon dissector.
Make all the routines for dissecting particular requests and responses
static.

svn path=/trunk/; revision=3380
2001-04-25 06:14:53 +00:00
Guy Harris a39e4e8a5d Signed vs. unsigned fixes from Joerg Mayer.
svn path=/trunk/; revision=3372
2001-04-23 23:45:35 +00:00
Guy Harris 277d221d10 Get rid of NullTVB references.
svn path=/trunk/; revision=3362
2001-04-23 04:12:51 +00:00
Guy Harris d42a2a652f "tvb_get_ptr()" now returns a "const guint8 *", not a "guint8 *"; adjust
the plugin-API declarations appropriately.

svn path=/trunk/; revision=3242
2001-04-02 09:55:34 +00:00
Guy Harris c5791fac0c Update the version of the MGCP plugin.
svn path=/trunk/; revision=3164
2001-03-23 10:34:03 +00:00
Guy Harris e21ab990c5 Get rid of no-longer-used "tvb_section_length()" routine.
svn path=/trunk/; revision=3156
2001-03-22 06:12:03 +00:00
Olivier Abad 6e8b505b7e Patch from Ed Warnicke.
svn path=/trunk/; revision=3135
2001-03-15 19:46:35 +00:00
Gilbert Ramirez 4b6b3da4e7 Add some win32-specific targets in .cvsignore's.
Replace 'nmake' with $(MAKE) /$(MAKEFLAGS), from Mike Frisch.

svn path=/trunk/; revision=3108
2001-03-06 13:08:13 +00:00
Guy Harris 703f49d14d Updates from Ed Warnicke.
svn path=/trunk/; revision=3103
2001-03-04 03:38:20 +00:00
Guy Harris 9078b773ca Update from Ed Warnicke.
svn path=/trunk/; revision=3102
2001-03-04 00:43:56 +00:00
Guy Harris 7eaadf4048 Add "col_clear()" to the list of functions in the transfer vector for
plugins, as the MGCP dissector uses it.

Don't set pointers to "dfilter_init()" and "dfilter_cleanup()" in that
transfer vector, as there *aren't* any pointers to them in the transfer
vector.

svn path=/trunk/; revision=2949
2001-01-28 20:26:20 +00:00
Guy Harris e7ea7a34e9 Clean up the dissector registration up a bit - arrange that all plugins
be loaded and their initialization routines called in right after we
call the initialization routines for built-in dissectors, but don't call
their handoff registration routines yet, and then call the handoff
registration routines right after calling the handoff registration
routines for built-in dissectors.

Do all that in "proto_init()", rather than "epan_init()".

That way, we call all dissector registration routines together, and then
call all dissector handoff registration routines together; all the
registration routines are called before any handoff registration
routines, as is required, and, as "proto_init()" is called by
"epan_init()" before "dfilter_init()" is called, all filterable fields
have been registered before "dfilter_init()" is called, and no plugins
have to call "dfilter_init()" themselves to get their fields registered.

Remove pointers to "dfilter_init()" and "dfilter_cleanup()" from the
plugin address table, as plugins shouldn't be calling them any more, and
remove calls to them from plugins.

svn path=/trunk/; revision=2940
2001-01-26 06:14:53 +00:00
Guy Harris a4e137f630 Remove more "CHECK_DISPLAY_AS_DATA()" calls and "pinfo->current_proto ="
statements.

Move the setting of the Protocol column in various dissectors before
anything is fetched from the packet, and also clear the Info column at
that point in those and some other dissectors, so that if an exception
is thrown, the columns don't reflect the previous protocol.

svn path=/trunk/; revision=2932
2001-01-22 08:54:08 +00:00
Guy Harris 2072d03e78 Tvbuffify the PIM dissector.
It was the last dissector that used "old_call_dissector()", and
tvbuffifying it got rid of that, so get rid of "old_call_dissector()".

svn path=/trunk/; revision=2892
2001-01-13 06:34:35 +00:00
Gilbert Ramirez 7c00618775 Increment module version.
svn path=/trunk/; revision=2884
2001-01-12 04:43:43 +00:00
Guy Harris 43ccfd8054 Add an additional "protocol index" argument to "{old_}dissector_add()",
"{old_}heur_dissector_add()", "{old_}conv_dissector_add()", and
"register_dissector()", so that an entry in those tables has associated
with it the protocol index of the protocol the dissector handles (or -1,
if there is no protocol index for it).

This is for future use in a number of places.

(Arguably, "proto_register_protocol()" should take a dissector pointer
as an argument, but

	1) it'd have to handle both regular and heuristic dissectors;

	2) making it take either a "dissector_t" or a union of that and
	   a "heur_dissector_t" introduces some painful header-file
	   interdependencies

so I'm punting on that for now.  As with other Ethereal internal APIs,
these APIs are subject to change in the future, at least until Ethereal
1.0 comes out....)

svn path=/trunk/; revision=2849
2001-01-09 06:32:10 +00:00
Gilbert Ramirez fd7367e9b2 Doesn't need #include "dfilter.h"
svn path=/trunk/; revision=2824
2001-01-04 04:56:20 +00:00
Guy Harris 3613c121fe Add a new "prefs_register_protocol()" routine, which is like
"prefs_register_module()" except that it takes a protocol index as
returned by "proto_register_protocol()" as its first argument, rather
than taking two character strings as arguments as its first two
arguments, and uses the protocol's abbreviation as the name to use for
preferences in the preferences file and the "-o" flag and uses the
protocol's short name as the name to use in the tabs in the
"Edit->Preferences" window.

svn path=/trunk/; revision=2812
2001-01-03 07:53:48 +00:00
Guy Harris fee98dd944 Have "proto_register_protocol()" build a list of data structures for
protocols, in addition to adding structures to the list of filterable
fields.  Give it an extra argument that specifies a "short name" for the
protocol, for use in such places as

	pinfo->current_proto;

	the dialog box for constructing filters;

	the preferences tab for the protocol;

and so on (although we're not yet using it in all those places).

Make the preference name that appears in the preferences file and the
command line for the DIAMETER protocol "diameter", not "Diameter"; the
convention is that the name in question be all-lower-case.

Make some routines and variables that aren't exported static.

Update a comment in the ICP dissector to make it clear that the
dissector won't see fragments other than the first fragment of a
fragmented datagram.

svn path=/trunk/; revision=2811
2001-01-03 07:37:29 +00:00
Guy Harris 0e7c1de08a Have "proto_register_protocol()" build a list of data structures for
protocols, in addition to adding structures to the list of filterable
fields.  Give it an extra argument that specifies a "short name" for the
protocol, for use in such places as

	pinfo->current_proto;

	the dialog box for constructing filters;

	the preferences tab for the protocol;

and so on (although we're not yet using it in all those places).

Make the preference name that appears in the preferences file and the
command line for the DIAMETER protocol "diameter", not "Diameter"; the
convention is that the name in question be all-lower-case.

Make some routines and variables that aren't exported static.

Update a comment in the ICP dissector to make it clear that the
dissector won't see fragments other than the first fragment of a
fragmented datagram.

svn path=/trunk/; revision=2810
2001-01-03 06:56:03 +00:00
Guy Harris 11e59a0078 Updates from Ed Warnicke.
svn path=/trunk/; revision=2793
2000-12-28 10:10:17 +00:00
Guy Harris cac14407f4 Preferences shouldn't supposed to have blanks in their names - it can
make it a bit of a pain to set their values on the command line (you
have to quote the name).  Use underscores instead.

Give the gateway and callagent port preferences different names.

Fix up the text descriptions and labels for those preferences.

svn path=/trunk/; revision=2782
2000-12-25 09:37:35 +00:00
Gilbert Ramirez bb279839f6 Bug fixes from Ed Warnicke.
svn path=/trunk/; revision=2767
2000-12-20 05:45:27 +00:00
Guy Harris 4a41bdd1fc Use GLib's G_MODULE_EXPORT when defining constants and functions
exported by a plugin, rather than defining our own DLLEXPORT.

svn path=/trunk/; revision=2713
2000-11-29 09:49:30 +00:00
Gilbert Ramirez ff8da7fb9d Export plugin_reg_handoff via DLLEXPORT.
svn path=/trunk/; revision=2697
2000-11-22 06:22:35 +00:00
Guy Harris 2a33d09c72 Updates from Ed Warnicke.
svn path=/trunk/; revision=2685
2000-11-21 05:38:51 +00:00
Guy Harris 74777083d3 Fix a number of problems that caused compiles to fail if
PLUGINS_NEED_ADDRESS_TABLE was defined.

svn path=/trunk/; revision=2662
2000-11-18 21:41:40 +00:00
Guy Harris ee1b884ee9 Tvbuffify the STP dissector, have it register itself and have the LLC
dissector call it through a handle, and make it static.

Give "dissect_data()" an "offset" argument, so dissectors can use it to
dissect part of the packet without having to cook up a new tvbuff.

Go back to using "dissect_data()" to dissect the data in an IPP request.

svn path=/trunk/; revision=2651
2000-11-16 07:35:43 +00:00
Guy Harris 77ad89b12d Add a mechanism by which a dissector can be registered by name, another
dissector can get a "handle" for that dissector by name and then call
that dissector through the handle.

This allows dissectors that can't be called through a port table or a
heuristic table to be called from other dissectors without directly
referring to the dissector function - dynamically-loaded modules, under
Windows, cannot directly call functions in the main program, and
non-plugin dissectors are in the main program and thus cannot be called
from plugin dissectors unless either

	1) a pointer to the dissector is put in the Big Transfer Vector

or

	2) some other mechanism for getting a pointer to the dissector
	   is provided.

This mechanism could also support registering old-style dissectors and
calling them from new-style dissectors without the new-style dissector
having to do the argument translation itself (I didn't add support for
registering old-style dissectors because I'd prefer to have people
tvbuffify their code if they have to register a dissector...).

It could also, in the future, perhaps support

	disabling of protocols;

	setting "pinfo->current_proto";

inside "call_dissector()" - and inside "{old_}dissector_try_port()" and
"{old_"dissector_try_heuristic()" - allowing a pile of stuff that
currently has to be done in every dissector be done by common code.
(I have some ideas about how to do this, by

	having "proto_register_protocol()" take an abbreviation - of the
	sort that would be put in, for example, "pinfo->current_proto" -
	as an argument;

	having the calls to register dissectors take an index returned
	by "proto_register_protocol()" as an argument.

The abbreviation could be used elsewhere as well, e.g. in the "Decoding"
tab of the "Edit->Protocols" dialog box, and in a GUI for constructing
protocol filters.  Watch this space.)

Make "dissect_sdp()" the first client of this mechanism; it's now static
to "packet-sdp.c", and all dissectors that call it - including the MGCP
plugin - now call it through a dissector handle fetched by
"find_dissector()".  (Next step - see if Ethereal can now compile on
Windows as a result of this.)

svn path=/trunk/; revision=2647
2000-11-15 07:07:52 +00:00
Guy Harris e8bebbd727 "plugin_api.c" needs to include <glib.h>, to define G_HAVE_GINT64 on
platforms that have "gint64".

Fix plugin-table lines for "dissector_delete()", "dissect_data()",
"prefs_register_module()", and "prefs_register_uint_preference()".

The MGCP dissector uses routines from GLib, so when building it as a DLL
for Windows, it has to be linked with "glib-XXX.lib".

svn path=/trunk/; revision=2643
2000-11-14 10:38:15 +00:00
Guy Harris b830fb6a5f Add "dissector_delete()", "proto_item_get_len()",
"proto_item_set_len()", "proto_item_set_text()", and the preference
routines expected to be used by dissectors to the table of function
pointers handed to dissectors on platforms where dynamically-loaded
modules can't access symbols from the main program.

svn path=/trunk/; revision=2638
2000-11-13 10:13:26 +00:00
Guy Harris ead1cadaf3 Add the tvbuff routines expected to be used by dissectors to the table
of function pointers handed to dissectors on platforms where
dynamically-loaded modules can't access symbols from the main program.

svn path=/trunk/; revision=2635
2000-11-13 08:00:12 +00:00
Guy Harris 5694059e97 Add a Makefile.nmake for the MGCP plugin, and update
"plugins/Makefile.nmake" to build that plugin.

Add to the table of routines callable from plugins
"old_dissector_add()", "old_dissect_data()", and
"proto_is_protocol_enabled()", so that the Gryphon dissector can build
on Windows.

Move the includes of "plugins/plugin_api.h" and "moduleinfo.h" before
all the other includes, except for "config.h", in "plugin-mgcp.c", to
match what the Gryphon dissector does; "plugins_api.h" must be included
before any of the routines whose names it #defines in order for the
plugin to build on Windows.  (It still doesn't build on Windows, as
still more routines need to be added to the table of routines callable
from plugins, but tomorrow is another day.  Making libethereal a DLL may
obviate the need for that table, *if* all the routines called from a
plugin are in libethereal, as I think routines in a DLL, even a
run-time-loaded DLL, can call routines from another DLL as long as those
routines are exported from the other DLL.)

svn path=/trunk/; revision=2622
2000-11-12 11:08:46 +00:00
Guy Harris e340939fea Yet Another .cvsignore file.
svn path=/trunk/; revision=2596
2000-11-10 06:53:14 +00:00
Guy Harris 07eb30403d Tvbuffify the SAP and SDP dissectors.
Add "tvb_find_line_end_unquoted()" for the benefit of the SDP dissector;
get rid of "find_line_end_unquoted()" as nobody uses it any more.

Add "tvb_pbrk_guint8()" for the benefit of
"tvb_find_line_end_unquoted()"; it searches for any of a number of
characters, unlike "tvb_find_guint8()" which searches for only one.

svn path=/trunk/; revision=2595
2000-11-10 06:50:37 +00:00
Guy Harris 9eb37f04e7 MGCP updates from Ed Warnicke.
svn path=/trunk/; revision=2594
2000-11-10 04:58:29 +00:00
Gilbert Ramirez 2cb9d54620 Add MGCP dissector plugin from Ed Warnicke <hagbard@physics.rutgers.edu>.
svn path=/trunk/; revision=2588
2000-11-09 10:04:48 +00:00
Guy Harris 82917a0672 "plugin_reg_handoff()" is a symbol in the plugin that Ethereal has to
access, so it must be declared with DLLEXPORT so that it's exported on
Windows.

svn path=/trunk/; revision=2572
2000-11-06 08:44:05 +00:00
Guy Harris 543ce8680a New-style plugins don't require a "desc" variable.
svn path=/trunk/; revision=2566
2000-11-05 09:09:29 +00:00
Guy Harris 1964cfddf6 Allow plugins to have, instead of "protocol" and "filter_string"
variables and a "dissector" routine, a "plugin_reg_handoff()" routine,
which will act just like the "reg_handoff()" routine of a non-plugin
dissector, registering the dissector with handoff tables.

This lets them plug into both TCP and UDP, or plug into protocols other
than TCP or UDP.

Those new-style plugin are enabled and disabled using the standard
"Edit->Protocols" mechanism (and thus should use
"OLD_CHECK_DISPLAY_AS_DATA()" or "CHECK_DISPLAY_AS_DATA()"); they don't
show up in the list of plugins, aren't enabled or disabled from that
list, and, as they don't have a filter, can't have the filter changed
from that list - instead, they should register preferences for port
numbers and the like if they should be configurable to use different
ports.

Make the Gryphon protocol a new-style plugin.

svn path=/trunk/; revision=2565
2000-11-05 09:05:00 +00:00
Guy Harris b2929352b6 Updates from Steve Limkemann.
svn path=/trunk/; revision=2545
2000-11-01 00:16:18 +00:00
Guy Harris faf70584f2 Fix it to build on Windows.
svn path=/trunk/; revision=2488
2000-10-11 07:35:02 +00:00
Graham Bloice 0ae9cce784 Updated to ignore Win32 detritus
svn path=/trunk/; revision=2430
2000-09-13 22:03:52 +00:00
Laurent Deniel f395740875 Modify the Gryphon plugin code in order to avoid an abort when the
plugin is enabled -> disabled -> re-enabled due to the fact that
the protocol registration is performed at each plugin_init() call
(and there is no protocol cleanup like with dfilter_cleanup).

Now we use the proto_xxx static variable to check if it is the first
activation or not (in this case, the proto_register_xxx routines are
not called.

svn path=/trunk/; revision=2290
2000-08-18 13:47:59 +00:00
Laurent Deniel 6a480953a9 Miscellaneous code cleaning
- add <stdarg.h> or <varargs.h> in snprintf.h
  and remove those inclusions in the other #ifdef NEED_SNPRINTF_H codes

- remove the check of multiple inclusions in source (.c)  code
  (there is a bit loss of _cpp_ performance, but I prefer the gain of
   code reading and maintenance; and nowadays, disk caches and VM are
   correctly optimized ;-).

- protect all (well almost) header files against multiple inclusions

- add header (i.e. GPL license) in some include files

- reorganize a bit the way header files are included:

  First:
  #include <system_include_files>
  #include <external_package_include_files (e.g. gtk, glib etc.)>
  Then
  #include "ethereal_include_files"

  with the correct HAVE_XXX or NEED_XXX protections.

- add some HAVE_XXX checks before including some system header files

- add the same HAVE_XXX in wiretap as in ethereal

Please forgive me, if I break something (I've only compiled and regression
tested on Linux).

svn path=/trunk/; revision=2254
2000-08-11 13:37:21 +00:00