aboutsummaryrefslogtreecommitdiffstats
path: root/packet-rpc.c
AgeCommit message (Collapse)AuthorFilesLines
2000-04-04Use the new split between protocol registration and protocol handoffGuy Harris1-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
2000-03-12Break proto_tree_add_item_format() into multiple functions:Gilbert Ramirez1-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
2000-03-09New generic function dissect_rpc_list() for variable length RPC lists.Uwe Girlich1-2/+30
svn path=/trunk/; revision=1705
2000-01-22Give "dissect_rpc_string()" an extra "char **" argument; if it'sGuy Harris1-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
2000-01-07Fix Gerald's e-mail address.Guy Harris1-2/+2
svn path=/trunk/; revision=1437
1999-12-14New function dissect_rpc_bool() for generic boolean value parsing.Uwe Girlich1-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
1999-12-13Fixed types. The RPC procedure (hf_rpc_procedure) in the logical proto_treeGilbert Ramirez1-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
1999-12-10hex output of 64 Bit numbers with 0x prefixedUwe Girlich1-2/+2
svn path=/trunk/; revision=1281
1999-12-06dissect_rpc_string() can now better handle truncated strings.Uwe Girlich1-4/+15
svn path=/trunk/; revision=1227
1999-12-02new dissect_rpc_opaque_data() for RPC data with length and fill-bytesUwe Girlich1-35/+102
svn path=/trunk/; revision=1182
1999-11-19Make various "value_string" tables "const"; this allows the compiler toGuy Harris1-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
1999-11-19Added Uwe's update to RPC.Gilbert Ramirez1-28/+113
svn path=/trunk/; revision=1069
1999-11-17Provide a general mechanism by which dissectors can register "init"Guy Harris1-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
1999-11-16Replace the ETT_ "enum" members, declared in "packet.h", withGuy Harris1-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
1999-11-15Got rid of dissect_rpc_string routine, renamed dissect_rpc_string_item toNathan Neulinger1-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
1999-11-15start of display filters and fix for toupper prototypeNathan Neulinger1-2/+48
svn path=/trunk/; revision=1036
1999-11-15Fixed rpc dissector to upcase program name.Nathan Neulinger1-2/+14
Fixed nfs and nlm to use a lowercase protocol name so filtering will work. svn path=/trunk/; revision=1035
1999-11-15Uwe Girlich's patches for nfs,mount,portmap and addition of nlm.Nathan Neulinger1-29/+10
svn path=/trunk/; revision=1034
1999-11-14For ONC RPC, when constructing conversations, use a null address as theGuy Harris1-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
1999-11-14Move the test to see if something looks like an ONC RPC request or replyGuy Harris1-24/+91
into "dissect_rpc()" itself; it returns TRUE if it is, FALSE if it isn't. svn path=/trunk/; revision=1030
1999-11-12enhancements to ypserv dissectorNathan Neulinger1-2/+2
svn path=/trunk/; revision=1018
1999-11-11Added mount dissector.Nathan Neulinger1-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
1999-11-11Expanded bootparams dissector to handle decoding getfile calls and replies.Nathan Neulinger1-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
1999-11-10Added stubs for various RPC routines:Nathan Neulinger1-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
1999-11-10added ypxfr program to rpcNathan Neulinger1-1/+6
svn path=/trunk/; revision=997
1999-11-10fix ypbinb/ypbind typoNathan Neulinger1-2/+2
svn path=/trunk/; revision=996
1999-11-05Updates to the ONC RPC and NFS code, from Uwe Girlich.Guy Harris1-41/+116
svn path=/trunk/; revision=976
1999-10-29Have the PROTOCOL field for ONC RPC just give the RPC programGuy Harris1-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
1999-10-29Uwe Girlich's ONC RPC and NFS dissectors.Guy Harris1-0/+861
svn path=/trunk/; revision=946