aboutsummaryrefslogtreecommitdiffstats
path: root/packet-rpc.c
Commit message (Collapse)AuthorAgeFilesLines
* Use the new split between protocol registration and protocol handoffGuy Harris2000-04-041-17/+15
| | | | | | | | | | | | | | | | 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
* Break proto_tree_add_item_format() into multiple functions:Gilbert Ramirez2000-03-121-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* New generic function dissect_rpc_list() for variable length RPC lists.Uwe Girlich2000-03-091-2/+30
| | | | svn path=/trunk/; revision=1705
* Give "dissect_rpc_string()" an extra "char **" argument; if it'sGuy Harris2000-01-221-9/+20
| | | | | | | | | | 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. svn path=/trunk/; revision=1521
* Fix Gerald's e-mail address.Guy Harris2000-01-071-2/+2
| | | | svn path=/trunk/; revision=1437
* New function dissect_rpc_bool() for generic boolean value parsing.Uwe Girlich1999-12-141-1/+41
| | | | | | | Duplicate transactions can be found with the filter rpc.dup or more specific rpc.call.dup and rpc.reply.dup. svn path=/trunk/; revision=1328
* Fixed types. The RPC procedure (hf_rpc_procedure) in the logical proto_treeGilbert Ramirez1999-12-131-4/+4
| | | | | | | | (but not in the string attached to the GUI proto_tree, because proto_tree_add_item_format() was being used) was getting filled in with the value of "prog" instead of "proc". svn path=/trunk/; revision=1314
* hex output of 64 Bit numbers with 0x prefixedUwe Girlich1999-12-101-2/+2
| | | | svn path=/trunk/; revision=1281
* dissect_rpc_string() can now better handle truncated strings.Uwe Girlich1999-12-061-4/+15
| | | | svn path=/trunk/; revision=1227
* new dissect_rpc_opaque_data() for RPC data with length and fill-bytesUwe Girlich1999-12-021-35/+102
| | | | svn path=/trunk/; revision=1182
* Make various "value_string" tables "const"; this allows the compiler toGuy Harris1999-11-191-2/+2
| | | | | | | | | stuff them into shared read-only space. Put the "VALS()" cast macro into the initialization of an "hf_register_info" array. svn path=/trunk/; revision=1072
* Added Uwe's update to RPC.Gilbert Ramirez1999-11-191-28/+113
| | | | svn path=/trunk/; revision=1069
* Provide a general mechanism by which dissectors can register "init"Guy Harris1999-11-171-3/+5
| | | | | | | | | | | | | | | | | | | | | routines, which are called before a dissection pass is made over all the packets in a capture - the "init" routine would clear out any state information that needs to be initialized before such a dissection pass. Make the NCP, SMB, AFS, and ONC RPC dissectors register their "init" routines with that mechanism, have the code that reads in a capture file call the routine that calls all registered "init" routines rather than calling a wired-in set of "init" routines, and also have the code that runs a filtering or colorizing pass over all the packets call that routine, as a filtering or colorizing pass is a dissection pass. Have the ONC RPC "init" routine zero out the table of RPC calls, so that it completely erases any state from the previous dissection pass (so that, for example, if you run a filtering pass, it doesn't mark any non-duplicate packets as duplicates because it remembers them from the previous pass). svn path=/trunk/; revision=1050
* Replace the ETT_ "enum" members, declared in "packet.h", withGuy Harris1999-11-161-16/+28
| | | | | | | | | | | | | | | | | 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
* Got rid of dissect_rpc_string routine, renamed dissect_rpc_string_item toNathan Neulinger1999-11-151-130/+130
| | | | | | | | | | | | dissect_rpc_string. Replaced only instance of this routine being called. Added display filtering to rpc dissector. Replaced most instances of proto_tree_add_text with proto_tree_add_item. Added program version and procedure to the program tree in addition to it being in the RPC tree. svn path=/trunk/; revision=1037
* start of display filters and fix for toupper prototypeNathan Neulinger1999-11-151-2/+48
| | | | svn path=/trunk/; revision=1036
* Fixed rpc dissector to upcase program name.Nathan Neulinger1999-11-151-2/+14
| | | | | | Fixed nfs and nlm to use a lowercase protocol name so filtering will work. svn path=/trunk/; revision=1035
* Uwe Girlich's patches for nfs,mount,portmap and addition of nlm.Nathan Neulinger1999-11-151-29/+10
| | | | svn path=/trunk/; revision=1034
* For ONC RPC, when constructing conversations, use a null address as theGuy Harris1999-11-141-7/+24
| | | | | | | | | | | | | | | | | | | | | | destination address for calls and the source address of the reply - we should't require the server address to be the same for a call and reply, as they may not be on a multi-homed server (clients presumably check the XID only, or perhaps the XID and the port whence the reply came, although with TI-RPC I don't think they can check the port without checking the address as well). This requires that the conversation code not assume that the source and destination addresses for a given packet in a conversation have the same type, so, when comparing addresses for equality, it must explicitly check the address types. In said code, also check the port numbers before we check the addresses - testing ports is cheaper, as they're just integers, and there's probably a decent chance that you won't see two conversations between different pairs of hosts and the *same* pair of ports in a capture file, so the cheaper port tests are probably decently likely to fail first. svn path=/trunk/; revision=1031
* Move the test to see if something looks like an ONC RPC request or replyGuy Harris1999-11-141-24/+91
| | | | | | | into "dissect_rpc()" itself; it returns TRUE if it is, FALSE if it isn't. svn path=/trunk/; revision=1030
* enhancements to ypserv dissectorNathan Neulinger1999-11-121-2/+2
| | | | svn path=/trunk/; revision=1018
* Added mount dissector.Nathan Neulinger1999-11-111-11/+21
| | | | | | | | | | | 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. svn path=/trunk/; revision=1016
* Expanded bootparams dissector to handle decoding getfile calls and replies.Nathan Neulinger1999-11-111-1/+44
| | | | | | | | | | | | | | Added proto_registrar_get_name routine to proto.c to retrieve the name of particular proto_tree field. Added dissect_rpc_string_item to packet-rpc.c. This routine does the same thing as dissect_rpc_string, except it takes a hfindex of a proto_tree item instead of a name. It uses the p_r_get_name call to get the name, and adds the actual string content as a hidden field (so that the subtree highlights the entire data area - length, data, and padding). There is only one call to dissect_rpc_string, so I believe that this routine should replace it. svn path=/trunk/; revision=1011
* Added stubs for various RPC routines:Nathan Neulinger1999-11-101-26/+1
| | | | | | | | | | | | | 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. svn path=/trunk/; revision=998
* added ypxfr program to rpcNathan Neulinger1999-11-101-1/+6
| | | | svn path=/trunk/; revision=997
* fix ypbinb/ypbind typoNathan Neulinger1999-11-101-2/+2
| | | | svn path=/trunk/; revision=996
* Updates to the ONC RPC and NFS code, from Uwe Girlich.Guy Harris1999-11-051-41/+116
| | | | svn path=/trunk/; revision=976
* Have the PROTOCOL field for ONC RPC just give the RPC programGuy Harris1999-10-291-25/+25
| | | | | | | | | | | | | | name/number, and put the call/reply info, procedure, and version number into the INFO field. Implement "col_append_fstr()", and use it to add information to the info field. Make "col_add_fstr()" aware that COL_INFO fields can have more data than other COL_XXX fields (as "col_add_str()" and "col_append_str()" already were). svn path=/trunk/; revision=947
* Uwe Girlich's ONC RPC and NFS dissectors.Guy Harris1999-10-291-0/+861
svn path=/trunk/; revision=946