Commit Graph

22 Commits

Author SHA1 Message Date
Guy Harris 6f0d79c0d7 From Ronnie Sahlberg: initial NDMPv3 support, and an update to his
e-mail address.

svn path=/trunk/; revision=4444
2001-12-23 21:36:58 +00:00
Guy Harris d82c74d757 From Ronnie Sahlberg: FT_UINT64 support, code to handle 64-bit integers
without requiring compiler support for them, and updates to the
Diameter, L2TP, NFS, and NLM dissectors to use it and to the ONC RPC
dissector to allow ONC RPC subdissectors to use it.

svn path=/trunk/; revision=4099
2001-10-29 21:13:13 +00:00
Guy Harris e32028f6cd "stat" is the status in an NLM reply; "state" is the lock manager state
sent over the wire in a lock request.

svn path=/trunk/; revision=3933
2001-09-14 06:48:30 +00:00
Guy Harris 3af4def7d2 NLM fix, and change of status monitor callback protocol name to use "_"
rather than "-" ("-" upsets the display filter parser), from Ronnie
Sahlberg.

svn path=/trunk/; revision=3924
2001-09-13 08:02:11 +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 abd9fc125f There are no more old-style (non-tvbuffified) ONC RPC dissectors, so get
rid of support for them, and remove the "_tvb" from the end of the names
of RPC type dissection routines.

Update Gerald's e-mail address.

svn path=/trunk/; revision=3477
2001-05-30 06:01:02 +00:00
Guy Harris 442967b95c If you put an item into the protocol tree with "dissect_rpc_data_tvb()",
it must be FT_BYTES, not FT_STRING.

svn path=/trunk/; revision=3441
2001-05-23 19:29:45 +00:00
Guy Harris 3bb7974896 Add support for replies to NLMv3 SHARE and UNSHARE requests and to the
remaining NLMv4 requests.

svn path=/trunk/; revision=2988
2001-02-04 09:04:11 +00:00
Guy Harris b2ae96ed4d Allow dissectors of ONC RPC-based protocols to register themselves
either with a table of old-style dissectors or a table of tvbuffified
dissectors, and have the RPC dissector pass the appropriate arguments to
the dissectors.

Finish tvbuffifying the NLM dissector, getting rid of the last traces of
old-style dissector code.

In those routines in the NFS dissector that take new-style arguments
(because they're called from the NLM dissector), make them take an
offset as an argument, so they don't assume that they're handed a tvbuff
starting at the stuff they're supposed to dissect, and make the versions
that take old-style arguments construct a tvbuff and call the versions
that take new-style arguments.  Do the latter with the routines in
"packet-rpc.c" as well.

svn path=/trunk/; revision=2943
2001-01-28 03:39:48 +00:00
Guy Harris 873bc5898e NLM v2 is allegedly just the same as NLM v1, and NLM v3 is allegedly
just NLM v1 plus some stuff for use by DOS/Windows clients, according to
The Open Group's "XNFS, Version 3W" ("This document describes version 3
which is backward compatible with versions 1 and 2."); copy the NLM v1
table of dissectors to the tables for NLM v2 and NLM v3.

Mark all procedures for which we lack reply dissectors and for which
there *is* a reply type, or for which we lack call dissectors and for
which there is a call type, with /* XXX */.

svn path=/trunk/; revision=2921
2001-01-20 08:38:10 +00:00
Guy Harris 43142e7a3a Put in a URL that will eventually get you to The Open Group's NFS spec,
which includes the NLM spec.

Fix a comment to reflect what a null function pointer in a "vsff" table
really means.

Make the "nlm<N>_proc" arrays static.

Fill in the reply dissector pointers for some entries, and flag some of
those that need to be filled in with /* XXX */.

svn path=/trunk/; revision=2918
2001-01-18 09:44:51 +00:00
Guy Harris cf611f7f63 Code from Ronnie Sahlberg to complete the NLM dissector.
svn path=/trunk/; revision=2905
2001-01-16 20:56:14 +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
Uwe Girlich c6097bf684 Reversed the latest changes for protocol enable/disable in RPC sub-dissectors.
The RPC layer itself handles all this stuff.

svn path=/trunk/; revision=2271
2000-08-14 11:36:04 +00:00
Laurent Deniel cc36f0b931 Add the "Edit:Protocols..." feature which currently only implements
the following:

It is now possible to enable/disable a particular protocol decoding
(i.e. the protocol dissector is void or not). When a protocol
is disabled, it is displayed as Data and of course, all linked
sub-protocols are disabled as well.

Disabling a protocol could be interesting:

- in case of buggy dissectors
- in case of wrong heuristics
- for performance reasons
- to decode the data as another protocol (TODO)

Currently (if I am not wrong), all dissectors but NFS can be disabled
(and dissectors that do not register protocols :-)

I do not like the way the RPC sub-dissectors are disabled (in the
sub-dissectors) since this could be done in the RPC dissector itself,
knowing the sub-protocol hfinfo entry (this is why, I've not modified
the NFS one yet).

Two functions are added in proto.c :

gboolean proto_is_protocol_enabled(int n);
void proto_set_decoding(int n, gboolean enabled);

and two MACROs which can be used in dissectors:

OLD_CHECK_DISPLAY_AS_DATA(index, pd, offset, fd, tree)
CHECK_DISPLAY_AS_DATA(index, tvb, pinfo, tree)

See also the XXX in proto_dlg.c and proto.c around the new functions.

svn path=/trunk/; revision=2267
2000-08-13 14:09:15 +00:00
Uwe Girlich a981dcf5db NLM v1 dissector filled with some actual dissectors.
svn path=/trunk/; revision=2226
2000-08-08 06:22:08 +00:00
Uwe Girlich 2aff407c79 All 4 protocol versions included (as templates but not as decodings).
svn path=/trunk/; revision=2195
2000-08-02 11:36:18 +00:00
Guy Harris 5f0fc518c7 Use the new split between protocol registration and protocol handoff
registration routines to get rid of the special handling of ONC RPC
protocols - dissectors for ONC RPC-based protocols should register their
protocol, fields, and ETT values in a protocol registration routine, and
register themselves with the ONC RPC dissector in their protocol handoff
routine, so that the latter is done after the ONC RPC dissector's
protocol registration routine is called, so that the data structures
needed when dissectors for ONC RPC protocols register themselves with
the ONC RPC dissector have been initialized.

Get rid of "init_dissect_rpc()", which initializes said data structures;
do that in "proto_register_rpc()" instead.

svn path=/trunk/; revision=1789
2000-04-04 06:46:41 +00:00
Guy Harris 7a943b7810 Fix Gerald's e-mail address.
svn path=/trunk/; revision=1437
2000-01-07 22:05:43 +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
Nathan Neulinger 64ed7bcc3c Fixed rpc dissector to upcase program name.
Fixed nfs and nlm to use a lowercase protocol name so filtering will work.

svn path=/trunk/; revision=1035
1999-11-15 14:32:16 +00:00
Nathan Neulinger b72c0d1f60 Uwe Girlich's patches for nfs,mount,portmap and addition of nlm.
svn path=/trunk/; revision=1034
1999-11-15 14:17:20 +00:00