Commit Graph

2553 Commits

Author SHA1 Message Date
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
Gilbert Ramirez 5a5f56ffbf Fix plugin function table so that plugins work on Win32.
svn path=/trunk/; revision=2034
2000-05-31 18:32:15 +00:00
Guy Harris 283ce59938 Add routines for adding items to a protocol tree that take arguments of
a particular type, rather than taking a varargs list, along the lines of
the "proto_tree_add_XXX_format()" routines.

Replace most calls to "proto_tree_add_item()" and
"proto_tree_add_item_hidden()" with calls to those routines.

Rename "proto_tree_add_item()" and "proto_tree_add_item_hidden()" to
"proto_tree_add_item_old()" and "proto_tree_add_item_hidden_old()", and
add new "proto_tree_add_item()" and "proto_tree_add_item_hidden()"
routines that don't take the item to be added as an argument - instead,
they fetch the argument from the packet whose tvbuff was handed to them,
from the offset handed to them.

svn path=/trunk/; revision=2031
2000-05-31 05:09:07 +00:00
Olivier Abad b977b382b3 Changed my mail address to oabad@cybercable.fr (dhis.net is too
unreliable).

svn path=/trunk/; revision=2019
2000-05-28 17:04:47 +00:00
Guy Harris 192a2e45fa Use "rm -f", not "rm", to remove "plugin_api.obj", so that if
"plugin_api.obj" doesn't exist, it just drives on rather than giving an
error.

svn path=/trunk/; revision=1990
2000-05-20 20:52:27 +00:00
Gilbert Ramirez 292e38e2c6 Add tvbuff class.
Add exceptions routines.
Convert proto_tree_add_*() routines to require tvbuff_t* argument.
Convert all dissectors to pass NULL argument ("NullTVB" macro == NULL) as
the tvbuff_t* argument to proto_tree_add_*() routines.

dissect_packet() creates a tvbuff_t, wraps the next dissect call in
a TRY block, will print "Short Frame" on the proto_tree if a BoundsError
exception is caught.

The FDDI dissector is converted to use tvbuff's.

svn path=/trunk/; revision=1939
2000-05-11 08:18:09 +00:00
Guy Harris 6bbfd97bde Add routines to:
register lists of "heuristic" dissectors, which are handed a
	frame that may or may contain a payload for the protocol they
	dissect, and that return FALSE if it's not or dissect the packet
	and return TRUE if it is;

	add a dissector to such a list;

	go through such a list, calling each dissector until either a
	dissector returns TRUE, in which case the routine returns TRUE,
	or it runs out of entries in the list, in which case the routine
	returns FALSE.

Have lists of heuristic dissectors for TCP and for COTP when used with
the Inactive Subset of CLNP, and add the GIOP and Yahoo Messenger
dissectors to the first list and the Sinec H1 dissector to the second
list.

Make the dissector name argument to "dissector_add()" and
"dissector_delete()" a "const char *" rarther than just a "char *".

Add "heur_dissector_add()", the routine to add a heuristic dissector to
a list of heuristic dissectors, to the set of routines we can export to
plugins through a table on platforms where dynamically-loaded code can't
call stuff in the main program, and initialize the element in the table
in question for "dissector_add()" (which we'd forgotten to do).

svn path=/trunk/; revision=1909
2000-05-05 09:32:36 +00:00
Guy Harris 3c9a310b6d Graham Bloice's changes to, on Win32 using Microsoft's "nmake":
build "register.c" in the top-level Makefile;

	set path in "config.nmake" to include the Cygwin directory for
	tools - those tools are needed to build "register.c";

	remove constructed source files, and some additional object
	files, when doing "nmake clean".

svn path=/trunk/; revision=1896
2000-04-29 07:35:07 +00:00
Gilbert Ramirez ed237c129d Build tethereal and editcap on Win32.
Add RCS ID tags to Makefile.nmake's.

svn path=/trunk/; revision=1836
2000-04-12 21:52:11 +00:00
Guy Harris 22ec050ed8 Add "dissector_add()" to the list of routines exported to plugins via
the Big Function Pointer Table.

svn path=/trunk/; revision=1797
2000-04-04 21:46:29 +00:00
Guy Harris 9a564888ab Add "clean" rules in subdirectories, and run subdirectory "nmake -f
Makefile.nmake clean" when "nmake -f Makefile.nmake clean" is done in
the top-level directory, so that "nmake -f Makefile.nmake clean" cleans
everything up.

svn path=/trunk/; revision=1792
2000-04-04 08:25:35 +00:00
Guy Harris eedea6fcd4 Give all the Ethereal APIs available to plugins their own function
pointers, and call the APIs by calling through the function pointers -
the old technique of using wrappers didn't work, as the underlying
function they all called no longer exists.

svn path=/trunk/; revision=1724
2000-03-15 19:09:52 +00:00
Guy Harris ff24cd97c0 Rename the local variable "pi" to "ti" in several places - "pi" is also
the name of the global variable containing packet information, and, on
platforms where dynamically-loaded code can't access global variables
and functions in the main program, we #define "pi" in plugins to be
"(*p_pi)", which causes problems even if a plugin with a local variable
named "pi" *isn't* accessing the global "pi".

svn path=/trunk/; revision=1723
2000-03-15 18:38:58 +00:00
Gilbert Ramirez f6e92a9e93 Break proto_tree_add_item_format() into multiple functions:
proto_tree_add_protocol_format()
	proto_tree_add_uint_format()
	proto_tree_add_ipxnet_format()
	proto_tree_add_ipv4_format()
	proto_tree_add_ipv6_format()
	proto_tree_add_bytes_format()
	proto_tree_add_string_format()
	proto_tree_add_ether_format()
	proto_tree_add_time_format()
	proto_tree_add_double_format()
	proto_tree_add_boolean_format()
If using GCC 2.x, we can check the print-format against the variable args
passed in. Regardless of compiler, we can now check at run-time that the
field type passed into the function corresponds to what that function
expects (FT_UINT, FT_BOOLEAN, etc.)

Note that proto_tree_add_protocol_format() does not require a value field,
since the value of a protocol is always NULL. It's more intuitive w/o the
vestigial argument.

Fixed a proto_tree_add_item_format-related bug in packet-isis-hello.c
Fixed a variable usage bug in packet-v120.c. (ett_* was used instead of hf_*)

Checked in Guy's fix for the function declearation for proto_tree_add_text()
and proto_tree_add_notext().

svn path=/trunk/; revision=1713
2000-03-12 04:48:32 +00:00
Gilbert Ramirez a3256bd288 Add config.nmake and two Makefile.nmake's to the list of deliverables.
svn path=/trunk/; revision=1690
2000-03-03 12:01:22 +00:00
Gilbert Ramirez ddfa11e870 Create a header file for every packet-*.c file. Prune the packet.h file.
This change allows you to add a new packet-*.c file and not cause a
recompilation of everything that #include's packet.h

Add the plugin_api.[ch] files ot the plugins/Makefile.am packaging list.

Add #define YY_NO_UNPUT 1 to the lex source so that the yyunput symbol
is not defined, squelching a compiler complaint when compiling the generated
C file.

svn path=/trunk/; revision=1637
2000-02-15 21:06:58 +00:00
Guy Harris 6860dae553 "proto_add_item_subtree()" returns a value; its wrapper should return
the value that the real function returns.

svn path=/trunk/; revision=1627
2000-02-12 11:24:24 +00:00
Gerald Combs 92512bb4a0 Sean Walmsley <sean.p.walmsley@Hydro.ON.CA> caught a typo in Makefile.am.
svn path=/trunk/; revision=1615
2000-02-10 22:54:50 +00:00
Gilbert Ramirez f0fdcecac6 Initialize *p_pi solely to get rid of compiler warning.
svn path=/trunk/; revision=1613
2000-02-09 19:32:28 +00:00
Gilbert Ramirez f9a8a11ef5 Integrate Ed Meaney's <emeaney@altiga.com> changes for using libpcap
from WinDump with Ethereal. We now have packet capturing on Win32. :)

svn path=/trunk/; revision=1612
2000-02-09 19:18:42 +00:00
Gilbert Ramirez 41f0a2c5e6 Update Makefiles for win32. Move local configuration to config.nmake,
have top-level Makefile.nmake call Makefile.nmake's in subdirectories.
Build plugins, and build generated source (lex, yacc). The only thing we
can't build is register.c; I need to re-work the top-level Makefile.nmake
because it lists object files, not C files, which make-reg-dotc needs.

svn path=/trunk/; revision=1608
2000-02-09 00:41:57 +00:00
Gilbert Ramirez 07a7268c83 Change "unsigned gint64" to "guint64", and add GPL header to plugin_api.[ch]
svn path=/trunk/; revision=1606
2000-02-07 17:23:53 +00:00
Gilbert Ramirez c4fa7c87df Code changes, but not Makefile changes, for enabling plugins for Win32.
svn path=/trunk/; revision=1605
2000-02-07 17:08:27 +00:00
Gilbert Ramirez 69edc78327 I finally got autoconf, automake, and the plugins to behave together.
The distro is buildable finally. I had to change "plugins/gryphon" from
a separately configured (i.e., "./configure") package to a member of
the main ethereal autoconf package so that PLUGIN_DIR could be passed
to plugins/gryphon/Makefile.am. In doing so, I had to get rid of
plugins/gryphon/config.h which had PACKAGE and VERSION #defined, the latter
of which was actually used in packet-gryphon.c. So I moved those two
#defines into a new file, plugins/gryphon/moduleinfo.h.

svn path=/trunk/; revision=1438
2000-01-08 19:37:11 +00:00
Guy Harris d6c6aecdba Add a "break;" statement to a "default:" clause - the AIX C compiler
apparently doesn't like it when a case label is the last line in a
"switch()" statement.

Fix a spelling error.

svn path=/trunk/; revision=1408
2000-01-01 21:21:20 +00:00
Guy Harris 59eb4c8a1a Filter out a few more things.
Don't filter out some things that *are* in CVS.

svn path=/trunk/; revision=1403
1999-12-31 00:22:27 +00:00
Guy Harris d1ded6c1c2 Filter out a few more things.
svn path=/trunk/; revision=1402
1999-12-31 00:18:55 +00:00
Gerald Combs 335f0b4647 Add support for "--with-plugindir=<plugin install dir>" to configure.
Make the default plugindir $(libdir)/ethereal/plugins/0.8.  Ethereal now
looks for plugins in the following directories:
  /usr/lib/ethereal/plugins/0.8
  /usr/local/lib/ethereal/plugins/0.8
  $plugindir (if different from above)
  $HOME/.ethereal/plugins

svn path=/trunk/; revision=1382
1999-12-28 04:40:24 +00:00
Gerald Combs 45babe7bb5 Integrate libtool/libltdl with the plugin code. Add libtool and libltdl
to the distribution.

svn path=/trunk/; revision=1379
1999-12-26 22:38:07 +00:00
Gilbert Ramirez b906ce0a17 Add Dearborn Group Technology's Gryphon dissector as our first
shipped plugin.

svn path=/trunk/; revision=1341
1999-12-15 06:53:36 +00:00