aboutsummaryrefslogtreecommitdiffstats
path: root/packet-portmap.c
AgeCommit message (Collapse)AuthorFilesLines
2001-06-18From Joerg Mayer: explicitly fill in all members of aguy1-16/+16
"header_field_info" structure, including the ones that are later set by the routines to register fields. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3561 f5534014-38df-0310-8fa8-9805f1628bb7
2001-05-30There are no more old-style (non-tvbuffified) ONC RPC dissectors, so getguy1-12/+12
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3477 f5534014-38df-0310-8fa8-9805f1628bb7
2001-04-17Move the declaration of "ipprotostr()" out of "epan/packet.h" into a newguy1-1/+2
"ipproto.h" header file. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3313 f5534014-38df-0310-8fa8-9805f1628bb7
2001-02-09For indirect RPC calls, remember the call information, and add aguy1-20/+55
dissector for indirect replies that looks up the call. Use them in the portmapper/RPCBIND dissector. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3008 f5534014-38df-0310-8fa8-9805f1628bb7
2001-02-09Make a "dissect_rpc_indir_call()" routine to dissect arguments to aguy1-37/+16
specified program/version/procedure, and a "rpc_proc_name()" routine to return the name of a specified program/version/procedure, and make the callit dissector use those, rather than doing the work itself. Un-export various routines and declarations that can again be private to the RPC dissector. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3007 f5534014-38df-0310-8fa8-9805f1628bb7
2001-02-06Add support for dissecting V3 CALLIT and V4 BCAST/INDIRECT calls.guy1-4/+4
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2995 f5534014-38df-0310-8fa8-9805f1628bb7
2001-02-06Tvbuffify the portmap/rpcbind dissector, and implement part of CALLITguy1-111/+166
dissection (dissection of V2 CALLIT calls; no V3/V4 stuff or reply handling yet). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2994 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-28Allow dissectors of ONC RPC-based protocols to register themselvesguy1-9/+9
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2943 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-22Put in comments explaining what the two "Universal Address" fields are;guy1-3/+3
we might want to give them different blurbs at some point (the filter-expression construction dialog currently shows both of them as just "Universal Address"; it'd have to somehow use the blurb if we wanted to make it obvious what they are). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2930 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-18Fix comments to reflect what a null function pointer in a "vsff" tableguy1-6/+6
really means. Make the "XXX_proc" arrays static. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2920 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-03Have "proto_register_protocol()" build a list of data structures forguy1-2/+2
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2810 f5534014-38df-0310-8fa8-9805f1628bb7
2000-08-24Give the RFC number of the spec for the portmapper/rpcbind protocols.guy1-1/+6
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2367 f5534014-38df-0310-8fa8-9805f1628bb7
2000-08-14Reversed the latest changes for protocol enable/disable in RPC sub-dissectors.girlich1-34/+1
The RPC layer itself handles all this stuff. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2271 f5534014-38df-0310-8fa8-9805f1628bb7
2000-08-13Add the "Edit:Protocols..." feature which currently only implementsdeniel1-1/+34
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2267 f5534014-38df-0310-8fa8-9805f1628bb7
2000-06-12Use "dissect_rpc_list()" to dissect NFS READDIR/READDIRPLUS reply listsguy1-65/+40
and portmapper DUMP reply lists, rather than duplicating what "dissect_rpc_list()" does. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2060 f5534014-38df-0310-8fa8-9805f1628bb7
2000-05-31Add routines for adding items to a protocol tree that take arguments ofguy1-16/+16
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2031 f5534014-38df-0310-8fa8-9805f1628bb7
2000-05-11Add tvbuff class.gram1-25/+25
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1939 f5534014-38df-0310-8fa8-9805f1628bb7
2000-04-04Use the new split between protocol registration and protocol handoffguy1-1/+5
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1789 f5534014-38df-0310-8fa8-9805f1628bb7
2000-03-12Break proto_tree_add_item_format() into multiple functions:gram1-9/+9
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(). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1713 f5534014-38df-0310-8fa8-9805f1628bb7
2000-01-22Give "dissect_rpc_string()" an extra "char **" argument; if it'sguy1-5/+5
non-null, it returns through that argument a pointer to the displayed version of the string, otherwise it just frees that string. Use that to put, in the tree item for READDIR and READDIRPLUS reply directory entry items, the file name from the directory entry. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1521 f5534014-38df-0310-8fa8-9805f1628bb7
2000-01-07Fix Gerald's e-mail address.guy1-2/+2
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1437 f5534014-38df-0310-8fa8-9805f1628bb7
1999-11-26Portmapper v2 dump reply somehow nicer formatted.girlich1-6/+8
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1115 f5534014-38df-0310-8fa8-9805f1628bb7
1999-11-22Added v2 portmap dump replynneul1-3/+53
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1087 f5534014-38df-0310-8fa8-9805f1628bb7
1999-11-19Added Uwe's update to RPC.gram1-7/+136
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1069 f5534014-38df-0310-8fa8-9805f1628bb7
1999-11-16Replace the ETT_ "enum" members, declared in "packet.h", withguy1-3/+8
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1043 f5534014-38df-0310-8fa8-9805f1628bb7
1999-11-15Uwe Girlich's patches for nfs,mount,portmap and addition of nlm.nneul1-1/+60
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1034 f5534014-38df-0310-8fa8-9805f1628bb7
1999-11-11Added mount dissector.nneul1-14/+42
Added stat dissector. Enhancements to portmap dissector. Added rpc_prog_name function to packet-rpc to retrieve the name of an rpc program. This should likely eventually be modified to use the /etc/rpc or rpc.bynumber NIS maps in addition to the programs that are registered within ethereal. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1016 f5534014-38df-0310-8fa8-9805f1628bb7
1999-11-11Additions to bootparams, portmap, and ypserv dissectorsnneul1-1/+8
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1013 f5534014-38df-0310-8fa8-9805f1628bb7
1999-11-10expanded portmap dissector to process some of the procedure callsnneul1-8/+117
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1003 f5534014-38df-0310-8fa8-9805f1628bb7
1999-11-10Changed protocol names to all lowercase. It looks weird in listing though.nneul1-2/+2
I'm presuming packet-rpc.c will be fixed soon. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1002 f5534014-38df-0310-8fa8-9805f1628bb7
1999-11-10Added stubs for various RPC routines:nneul1-0/+78
portmap ypserv ypxfr ypserv bootparams Stubs currently just map procedure numbers to names. I'll add some more decoding of the actual procedure call/reply contents eventually. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@998 f5534014-38df-0310-8fa8-9805f1628bb7