aboutsummaryrefslogtreecommitdiffstats
path: root/packet-rpc.h
Commit message (Collapse)AuthorAgeFilesLines
* Export "protocol_t" as an opaque type.Guy Harris2003-11-161-2/+3
| | | | | | | | | | | | | | | | Make "proto_is_protocol_enabled()" and "proto_get_protocol_short_name()" take a "protocol_t *" as an argument, so they don't have to look up the "protocol_t" - this will probably speed them up considerably, and they're called on almost every dissector handoff. Get rid of a number of "proto_is_protocol_enabled()" calls that aren't necessary (dissectors called through handles, including those called through dissector tables, or called as heuristic dissectors, aren't even called if their protocol isn't enabled). Change some direct dissector calls to go through handles. svn path=/trunk/; revision=8979
* Add a popup to the ServicveResponseTime tables where the user can selectRonnie Sahlberg2003-09-051-1/+2
| | | | | | | | Prepare/Match/FindFrame similar to chat the ConversationList has. Only enabled for SMB and ONC-RPC at this point svn path=/trunk/; revision=8391
* Make dissect_rpc_opaque_data available and allow it to take a dissectionRichard Sharpe2003-05-211-1/+8
| | | | | | | | routine ... I am not happy with the signature for it as yet, though. svn path=/trunk/; revision=7702
* From Tony Schene: AUTH_GSSAPI support.Guy Harris2003-05-021-2/+11
| | | | | | | Replace "proto_item_set_len()" with "proto_item_set_end()", and get rid of the "old_offset" variables the "proto_item_set_len()" calls required. svn path=/trunk/; revision=7634
* From Brian Ginsbach: add a new "dissect_rpc_bytes()" routine to allowGuy Harris2002-11-131-1/+4
| | | | | | | fixed-length opaque data to be dissected, and add support for SGI's variant of the ONC RPC mount protocol. svn path=/trunk/; revision=6620
* Add an extra argument to "rpc_init_proc_table()" that can specify an hf_Guy Harris2002-10-231-3/+4
| | | | | | | | | | | | value for a field to be used for the procedure number for that version of the protocol; use that field, if specified, instead of just putting in a generic "rpc.procedure" field. Have the ypserv dissector register those fields and supply them to "rpc_init_proc_table()". Supply -1 for other RPC programs (for now), meaning "no such field exists". svn path=/trunk/; revision=6486
* Tap api. tap is a simple api that can be used for arbitrary extensions.Ronnie Sahlberg2002-09-041-1/+28
| | | | | | | | | | | | One example extension is rpcstat. Try -Z rpc,rtt,100003,3 as argument to tethereal when reading a capture containing NFSv3 packets. tap-rpcstat.[ch] is intended to demonstrate the api and can be used to base other extensions on. svn path=/trunk/; revision=6175
* Removed trailing whitespaces from .h and .c files using theJörg Mayer2002-08-281-4/+4
| | | | | | | winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
* Added parsing of PORTMAP GETPORT functions.Ronnie Sahlberg2002-05-091-1/+2
| | | | | | | | | When we see PRTOMAP GETPORT calls for UDP, make sure all further UDP packets to or from this port goes to the ONC-RPC dissector regardless of the port on the other side. We need this because if there is ONC-RPC traffic going between the ONC-RPC Program port to a port which has a normal ethereal dissector, ethereal would dissect the traffic as the protocol associated with the other port instead. svn path=/trunk/; revision=5430
* Removed many senseless pinfo parameters in RPC dissection and the layers above.Uwe Girlich2002-04-031-6/+6
| | | | svn path=/trunk/; revision=5090
* Get rid of unused macro.Guy Harris2002-04-021-3/+1
| | | | svn path=/trunk/; revision=5078
* Get rid of declarations of routines and structures and function typesGuy Harris2002-04-021-10/+1
| | | | | | | that we no longer use as of 0.9.0 (when we got rid of support for non-tvbuffified dissectors). svn path=/trunk/; revision=5077
* Include files from the "epan" directory and subdirectories thereof withGuy Harris2002-01-211-3/+3
| | | | | | | | | | | | | "epan/..." pathnames, so as to avoid collisions with header files in any of the directories in which we look (e.g., "proto.h", as some other package has its own "proto.h" file which it installs in the top-level include directory). Don't add "-I" flags to search "epan", as that's no longer necessary (and we want includes of "epan" headers to fail if the "epan/" is left out, so that we don't re-introduce includes lacking "epan/"). svn path=/trunk/; revision=4586
* From Ronnie Sahlberg: file handle to file name resolution in NFS andGuy Harris2002-01-121-1/+23
| | | | | | related protocols. svn path=/trunk/; revision=4533
* Updates from Mike Frisch to reflect NFSv4 protocol changes.Guy Harris2001-10-291-1/+3
| | | | svn path=/trunk/; revision=4098
* There are no more old-style (non-tvbuffified) ONC RPC dissectors, so getGuy Harris2001-05-301-21/+9
| | | | | | | | | 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
* AUTH_DES support, from Mike Frisch.Guy Harris2001-05-251-1/+4
| | | | svn path=/trunk/; revision=3453
* Support for dissecting XDR arrays, from Ronnie Sahlberg.Guy Harris2001-05-071-1/+4
| | | | svn path=/trunk/; revision=3400
* For indirect RPC calls, remember the call information, and add aGuy Harris2001-02-091-2/+6
| | | | | | | dissector for indirect replies that looks up the call. Use them in the portmapper/RPCBIND dissector. svn path=/trunk/; revision=3008
* Make a "dissect_rpc_indir_call()" routine to dissect arguments to aGuy Harris2001-02-091-30/+4
| | | | | | | | | | | 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. svn path=/trunk/; revision=3007
* Tvbuffify the portmap/rpcbind dissector, and implement part of CALLITGuy Harris2001-02-061-1/+30
| | | | | | | dissection (dissection of V2 CALLIT calls; no V3/V4 stuff or reply handling yet). svn path=/trunk/; revision=2994
* Allow dissectors of ONC RPC-based protocols to register themselvesGuy Harris2001-01-281-25/+14
| | | | | | | | | | | | | | | | | | | 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
* Remove more "CHECK_DISPLAY_AS_DATA()" calls and "pinfo->current_proto ="Guy Harris2001-01-221-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | statements. Move the setting of the Protocol column in various dissectors before anything is fetched from the packet, and also clear the Info column at that point in those and some other dissectors, so that if an exception is thrown, the columns don't reflect the previous protocol. Don't use col_add_fstr(..., "%s", string); Use col_add_str(..., string); as it does the same thing, but doesn't drag all the heavy *printf machinery in. Fix the DDTP dissector to set the Info column regardless of whether we're building a protocol tree or not, and to set it to "Encrypted payload" if the payload is encrypted. Also fix a typo in a field name. Register the FTP data dissector as being associated with the FTP data protocol, not the FTP protocol (the removed "CHECK_DISPLAY_AS_DATA()" call checked "proto_ftp_data", and the removed "pinfo->current_proto =" line set it to "FTP-DATA", so it should be associated with "proto_ftp_data"). Make the H1 dissector check whether the frame has at least 2 bytes in it before checking the first two bytes; heuristic dissectors must not throw exceptions until they've accepted the packet as one of theirs. Use "tvb_format_text()" rather than "tvb_get_ptr()" and "format_text()" in some dissectors where the result of "tvb_get_ptr()" is used only in the "format_text()" call. In the Quake dissector, don't check whether there are at least 4 bytes in the packet - if we return, the packet won't be dissected at all (it's not as if some other dissector will get to handle it), and, if we don't return, we'll throw an exception if there aren't at least 4 bytes in the packet, so the packet will be marked as short or malformed, as appropriate. In the RIPng dissector, associate the table of strings for the command field with the command field, so that the dissector doesn't have to format the string for the protocol tree entry itself, and so that the filter construction dialog box can let you select "Request" or "Response" from a list rather than requiring you to know the values for "Request" and "Response". Make "dissect_rpc()" static, as it's called only through a heuristic dissector list. Use "col_set_str()" to set the COL_PROTOCOL column for RPC protocols; the string used is from a table provided by the dissector, and is a string constant. Don't format the Info column for WSP into a buffer and then format that buffer into the column with "%s" - "col_add_fstr()" can do the formatting for you, without having to allocate your own buffer (or run through the *printf machinery twice). Don't fetch fields from the WTP packet until you're ready to use them, so that you don't throw an exception before you even set the Protocol column or clear the Info column. Use "pinfo->destport", not "pi.destport", in the Zebra dissector when checking whether the packet is a request or reply, and do the check by comparing with "pinfo->match_port" rather than TCP_PORT_ZEBRA (so that if the dissector is ever registered on another port, it still correctly determines whether the packet is a request or reply - the Network Monitor HTTP dissector has port 80 wired into its brain, which is a bit irritating if you're trying to get it to dissect HTTP proxy traffic on port 3128 or proxy administration UI traffic on port 3132). svn path=/trunk/; revision=2931
* Get rid of declarations of no-longer-extant "init_dissect_rpc()" andGuy Harris2000-11-221-4/+1
| | | | | | "cleanup_dissect_rpc()". svn path=/trunk/; revision=2693
* Start of a tvbuff_t version of the dissect_rpc() function.Uwe Girlich2000-11-211-2/+2
| | | | | | | All ONC/RPC dissectors remain old dissectors for now but this will change too. svn path=/trunk/; revision=2687
* Name updates to stuff in GSS authentication for ONC RPC, from Dug Song.Guy Harris2000-08-241-11/+11
| | | | svn path=/trunk/; revision=2365
* Instead of keeping in the information about an RPC call a count of theGuy Harris2000-08-241-19/+1
| | | | | | | | | | | | | | | | | | | | | | | | number of replies seen, keep the frame number of the first request seen for that call and the first reply seen for that call. Use that to determine whether a request or reply is a duplicate or not. That means that we don't have to reset the table of RPC calls on a rescan of the capture (which didn't even fix all the cases where we'd have misreported the original call or reply as a duplicate due to having seen it once on the initial pass through the file and once again when, for example, the user clicked on the packet); doing so causes plenty of other problems, so don't do that - and don't clear the "visited" flag on frames on a rescan, either, as that's only done because we were clearing out conversations and calling all protocols' "init" routines. As a free bonus, this means that, for a reply, we know what frame the request was in; put that information into the protocol tree for the reply, snoop-style. Make the table of RPC call information, and the routines that manipulate it, static to "packet-rpc.c"; nobody outside "packet-rpc.c" uses them. svn path=/trunk/; revision=2358
* Miscellaneous code cleaningLaurent Deniel2000-08-111-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - add <stdarg.h> or <varargs.h> in snprintf.h and remove those inclusions in the other #ifdef NEED_SNPRINTF_H codes - remove the check of multiple inclusions in source (.c) code (there is a bit loss of _cpp_ performance, but I prefer the gain of code reading and maintenance; and nowadays, disk caches and VM are correctly optimized ;-). - protect all (well almost) header files against multiple inclusions - add header (i.e. GPL license) in some include files - reorganize a bit the way header files are included: First: #include <system_include_files> #include <external_package_include_files (e.g. gtk, glib etc.)> Then #include "ethereal_include_files" with the correct HAVE_XXX or NEED_XXX protections. - add some HAVE_XXX checks before including some system header files - add the same HAVE_XXX in wiretap as in ethereal Please forgive me, if I break something (I've only compiled and regression tested on Linux). svn path=/trunk/; revision=2254
* Several new RPC dissecting function introduced. Interface toUwe Girlich2000-08-081-3/+13
| | | | | | existing functions changed. So NFS was also necessary to change. svn path=/trunk/; revision=2225
* Support for dissecting RPCSEC_GSS credentials in ONC RPC, from Dug Song.Guy Harris2000-07-171-6/+16
| | | | svn path=/trunk/; revision=2141
* Prototype for new dissect_rpc_list() function.Uwe Girlich2000-03-091-1/+3
| | | | svn path=/trunk/; revision=1704
* Create a header file for every packet-*.c file. Prune the packet.h file.Gilbert Ramirez2000-02-151-1/+2
| | | | | | | | | | | | | 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
* Give "dissect_rpc_string()" an extra "char **" argument; if it'sGuy Harris2000-01-221-2/+2
| | | | | | | | | | 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
* Prototype for dissect_rpc_bool().Uwe Girlich1999-12-141-1/+3
| | | | svn path=/trunk/; revision=1327
* prototype for dissect_rpc_data()Uwe Girlich1999-12-021-1/+3
| | | | svn path=/trunk/; revision=1184
* 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-1/+3
| | | | svn path=/trunk/; revision=1069
* Replace the ETT_ "enum" members, declared in "packet.h", withGuy Harris1999-11-161-3/+1
| | | | | | | | | | | | | | | | | 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-3/+1
| | | | | | | | | | | | 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
* Uwe Girlich's patches for nfs,mount,portmap and addition of nlm.Nathan Neulinger1999-11-151-2/+2
| | | | svn path=/trunk/; revision=1034
* Added mount dissector.Nathan Neulinger1999-11-111-1/+2
| | | | | | | | | | | 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/+5
| | | | | | | | | | | | | | 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
* Updates to the ONC RPC and NFS code, from Uwe Girlich.Guy Harris1999-11-051-2/+5
| | | | svn path=/trunk/; revision=976
* Uwe Girlich's ONC RPC and NFS dissectors.Guy Harris1999-10-291-0/+103
svn path=/trunk/; revision=946