Commit graph

160 commits

Author SHA1 Message Date
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