Commit graph

12 commits

Author SHA1 Message Date
Guy Harris
edd1f26170 Have the IPv6 dissector use the same dissector table as the IPv4
dissector.

Don't dissect the payload of any fragmented IPv6 packet unless it's the
initial fragment (that's what we do for IPv4).

svn path=/trunk/; revision=1882
2000-04-20 07:05:58 +00:00
Guy Harris
9aa7670a4e Register an "ip.proto" dissector table for IPv4, and have dissectors for
protocols that run inside IPv4 register themselves with it using
"dissector_add()".

Make various dissectors static if they can be, and get rid of any header
files that no longer contain any information as a result of that change.

svn path=/trunk/; revision=1870
2000-04-16 22:46:25 +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
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
7063b3ae25 Fix up a bunch of places where a pointer into the packet buffer was cast
to a type requiring 2-byte or better alignment and was then
dereferenced; doing that requires that the code generated by your
compiler not trap if it makes an unaligned reference, and on most RISC
processors the code generated by the compiler *will* trap on an
unaligned reference by default.

svn path=/trunk/; revision=1480
2000-01-15 04:17:37 +00:00
Guy Harris
a7aba0a288 Replace the ETT_ "enum" members, declared in "packet.h", with
dynamically-assigned "ett_" integer values, assigned by
"proto_register_subtree_array()"; this:

	obviates the need to update "packet.h" whenever you add a new
	subtree type - you only have to add a call to
	"proto_register_subtree_array()" to a "register" routine and an
	array of pointers to "ett_", if they're not already there, and
	add a pointer to the new "ett_" variable to the array, if they
	are there;

	would allow run-time-loaded dissectors to allocate subtree types
	when they're loaded.

svn path=/trunk/; revision=1043
1999-11-16 11:44:20 +00:00
Gilbert Ramirez
06b0aeedfe Put tunneled protocols under pimopt_tree instead of tree like Jun-ichiro
originally had it.

svn path=/trunk/; revision=901
1999-10-21 15:06:02 +00:00
Jun-ichiro itojun Hagino
c7f4ca2fb0 make pim.{version,type,cksum} available for filters.
svn path=/trunk/; revision=840
1999-10-15 13:14:43 +00:00
Jun-ichiro itojun Hagino
810a67a6d0 implement ipprotostr() in ipproto.c, which basically does ipprotobynumber()
for ip.ip_p and ip6.ip6_nxt (and other IPv6 header chain).

use val_to_str() as much as possible in dissect_{ipv6,pim,ripng}().

make --disable-zlib a default for netbsd (temporary workaround).

svn path=/trunk/; revision=827
1999-10-14 03:50:51 +00:00
Guy Harris
8b592e44a5 Include "snprintf.h" on systems that don't declare "snprintf()" in a
system header file.

svn path=/trunk/; revision=825
1999-10-14 01:39:47 +00:00
Gilbert Ramirez
a5d9095528 Move tunnelled protocols up a few trees to co-exist with the
other protocols.

svn path=/trunk/; revision=823
1999-10-13 15:25:21 +00:00
Guy Harris
93d58bf824 Jun-ichiro itojun Hagino's code for PIM, and some fixes from him as
well.

Add some more protocols to the list of value/string pairs for IP
protocol types.

svn path=/trunk/; revision=822
1999-10-13 06:47:49 +00:00