aboutsummaryrefslogtreecommitdiffstats
path: root/packet-nfs.c
Commit message (Collapse)AuthorAgeFilesLines
* Removed many senseless pinfo parameters in RPC dissection and the layers above.Uwe Girlich2002-04-031-573/+579
| | | | svn path=/trunk/; revision=5090
* Updates from Mike Frisch.Guy Harris2002-03-071-7/+9
| | | | svn path=/trunk/; revision=4895
* From Mike Frisch: remove debug printf statements.Guy Harris2002-03-061-7/+1
| | | | svn path=/trunk/; revision=4883
* Updates from Mike Frisch.Guy Harris2002-03-011-42/+79
| | | | svn path=/trunk/; revision=4840
* If you compile with IBM's compiler on AIX 5.1, the compiler apparentlyGuy Harris2002-02-061-25/+25
| | | | | | | | somehow doesn't like the structure member name "fh_len", for some reason (probably some #define in some header file); change that (and other "fh_len" variables) to "fh_length" instead. svn path=/trunk/; revision=4705
* Allow a length of -1 to be specified when adding FT_NONE and FT_PROTOCOLGuy Harris2002-01-201-47/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | items to the protocol tree; it's interpreted as "the rest of the data in the tvbuff". This can be used if 1) the item covers the entire packet or the remaining payload in the packet or 2) the item's length won't be known until it's dissected, and will be then set with "proto_item_set_len()" - if an exception is thrown in the dissection, it means the item ran *past* the end of the tvbuff, so saying it runs to the end of the tvbuff is reasonable. Convert a number of "proto_tree_add_XXX()" calls using "tvb_length_remaining()", values derived from the result of "tvb_length()", or 0 (in the case of items whose length is unknown) to use -1 instead (using 0 means that if an exception is thrown, selecting the item highlights nothing; using -1 means it highlights all the data for that item that's available). In some places where "tvb_length()" or "tvb_length_remaining()" was used to determine how large a packet is, use "tvb_reported_length()" or "tvb_reported_length_remaining()", instead - the first two calls indicate how much captured data was in the packet, the latter two calls indicate how large the packet actually was (and the fact that using the latter could cause BoundsError exceptions to be thrown is a feature - if such an exception is thrown, the frame really *was* short, and it should be tagged as such). Replace some "proto_tree_add_XXX()" calls with equivalent "proto_tree_add_item()" calls. Fix some indentation. svn path=/trunk/; revision=4578
* From Ronnie Sahlberg:Uwe Girlich2002-01-141-21/+15
| | | | | | this fixes the bug that nfs name snooping did not work for nfs v2. svn path=/trunk/; revision=4541
* NFSv3 fsstat reply label texts explanded. "afiles" and similar names were notUwe Girlich2002-01-141-13/+13
| | | | | | really that useful. svn path=/trunk/; revision=4540
* From Ronnie Sahlberg: file handle to file name resolution in NFS andGuy Harris2002-01-121-6/+497
| | | | | | related protocols. svn path=/trunk/; revision=4533
* Thou shalt not use C++-style comments in C code, for they upset some CGuy Harris2001-11-271-2/+2
| | | | | | compilers. svn path=/trunk/; revision=4284
* From Ronnie Sahlberg: FT_UINT64 support, code to handle 64-bit integersGuy Harris2001-10-291-48/+48
| | | | | | | | 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
* Updates from Mike Frisch to reflect NFSv4 protocol changes.Guy Harris2001-10-291-255/+355
| | | | svn path=/trunk/; revision=4098
* Times in NFS done as FT_ABSOLUTE_TIME and FT_RELATIVE_TIME fields, fromGuy Harris2001-09-141-41/+126
| | | | | | Ronnie Sahlberg. svn path=/trunk/; revision=3938
* Labels must be followed by statements; GCC may let you get away withoutGuy Harris2001-06-191-2/+3
| | | | | | the statement, but MSVC++ doesn't. svn path=/trunk/; revision=3574
* NFS file handle analysing works now for kernel based NFS v3 servers ofUwe Girlich2001-06-181-12/+257
| | | | | | Linux 2.4.0 too. svn path=/trunk/; revision=3569
* From Joerg Mayer: explicitly fill in all members of aGuy Harris2001-06-181-201/+201
| | | | | | | "header_field_info" structure, including the ones that are later set by the routines to register fields. svn path=/trunk/; revision=3561
* There are no more old-style (non-tvbuffified) ONC RPC dissectors, so getGuy Harris2001-05-301-162/+162
| | | | | | | | | 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
* Tvbuffified NFS dissector, from Mike Frisch, plus some registered-fieldGuy Harris2001-05-301-1287/+1726
| | | | | | cleanups. svn path=/trunk/; revision=3476
* If you put an item into the protocol tree with "dissect_rpc_data()",Guy Harris2001-05-231-4/+4
| | | | | | it must be FT_BYTES, not FT_STRING. svn path=/trunk/; revision=3440
* Fixes to Lemon to get it to compile on platforms (such as some versionsGuy Harris2001-03-091-2/+2
| | | | | | | | of Tru64 UNIX) that define TRUE and FALSE. Fixes to some Tru64 compiler warnings. svn path=/trunk/; revision=3120
* Fix a decode problem with failed NFSv4 SETATTR operations.Gilbert Ramirez2001-03-061-3/+9
| | | | | | From Mike Frisch. svn path=/trunk/; revision=3109
* Update from Mike Frisch.Guy Harris2001-03-021-7/+34
| | | | svn path=/trunk/; revision=3095
* NFSv4 updates from Mike Frisch to fix some cosmetic issues whenGuy Harris2001-02-211-6/+42
| | | | | | displaying XDR arrays. svn path=/trunk/; revision=3065
* Updates from Mike Frisch.Guy Harris2001-02-131-9/+25
| | | | svn path=/trunk/; revision=3029
* Further NFSV4 updates from Mike Frisch.Guy Harris2001-02-091-331/+815
| | | | svn path=/trunk/; revision=3010
* Updates from Mike Frisch.Guy Harris2001-02-071-126/+238
| | | | svn path=/trunk/; revision=2998
* Allow dissectors of ONC RPC-based protocols to register themselvesGuy Harris2001-01-281-96/+123
| | | | | | | | | | | | | | | | | | | 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
* Fix comments to reflect what a null function pointer in a "vsff" tableGuy Harris2001-01-181-6/+6
| | | | | | | | really means. Make the "XXX_proc" arrays static. svn path=/trunk/; revision=2920
* Ensure that all value_string arrays end in {0, NULL}. Dissectors got awayGilbert Ramirez2001-01-031-18/+19
| | | | | | | | | | | | | | with not terminating their arrays because they knew the limits of the value used to look up strings in the value_string array, but the dfilter_expr_dlg does not know these limits and must rely on the terminating {0, NULL} record. Also, in SNA fixed a bug in which a field should have been defined as FT_UINT8 but was defined as FT_BOOLEAN. In WTP, fixed a value string which had duplicate keys. svn path=/trunk/; revision=2817
* Have "proto_register_protocol()" build a list of data structures forGuy Harris2001-01-031-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. svn path=/trunk/; revision=2810
* NFS V4 support, from Mike Frisch.Guy Harris2000-12-011-5/+1769
| | | | svn path=/trunk/; revision=2725
* Move "bytes_to_str()" to "strutil.c" from "packet.c" - it's just aGuy Harris2000-11-131-4/+4
| | | | | | | | | | | | | | | | | | | string formatter, like "format_text()", and, as "tvbuff.c" now calls it (*vide infra*), we don't want to have to make "tvbuff.c" drag "packet.h" in just to declare "bytes_to_str()". It's now declared in "strutil.h", so include it in modules that use "bytes_to_str()" and weren't already including it. Add a "tvb_bytes_to_str()" wrapper that calls "tvb_get_ptr()" to get a pointer to a chunk of N bytes at a given offset in a tvbuff and then hands that chunk to "bytes_to_str()". Convert the code that was doing that to use "tvb_bytes_to_str()" instead (which caught what I suspect is a bug in the Q.2931 dissector, where it was handing an offset of 0 to "tvb_get_ptr()" - a cut-and-pasteo, I think). Tvbuffify the ARP dissector. svn path=/trunk/; revision=2634
* Don't set the text on a V2 READDIR entry if there's no entry.Guy Harris2000-08-271-2/+3
| | | | svn path=/trunk/; revision=2380
* Get rid of an unused variable.Guy Harris2000-08-151-2/+1
| | | | svn path=/trunk/; revision=2278
* Much cleaner tvb start code for file handle dissection.Uwe Girlich2000-08-141-12/+4
| | | | svn path=/trunk/; revision=2272
* Several new RPC dissecting function introduced. Interface toUwe Girlich2000-08-081-11/+11
| | | | | | existing functions changed. So NFS was also necessary to change. svn path=/trunk/; revision=2225
* Don't use "fd->pkt_len" when checking to see if you've run off the endGuy Harris2000-08-061-4/+4
| | | | | | | | | | | | | | | | | | of the packet, use "pi.captured_len" - "fd->pkt_len" may include data that isn't in the capture, due to a short snapshot length. Don't use "fd->cap_len" when checking to see if you've run off the end of the packe, use "pi.captured_len" - "fd->cap_len" isn't adjusted to reflect any length fields, but "pi.captured_len" is (removing, for example, Ethernet padding from the packet). Use "END_OF_FRAME" rather than "pi.captured_len - offset", to make it a bit clearer what's being done. In the V.120 dissector, use "tvb_length()" when adding the top-level protocol tree entry for V.120, as it's a tvbuffified dissector. svn path=/trunk/; revision=2214
* Add some error values that, whilst they're not in the NFS V2 spec, are,Guy Harris2000-08-031-1/+6
| | | | | | | as I remember, issued by some NFS V2 servers (EXDEV, for one, can almost certainly be issued by most V2 servers). svn path=/trunk/; revision=2201
* File handle dissection works now with the old Linux user-land nfsd too.Uwe Girlich2000-07-131-8/+80
| | | | svn path=/trunk/; revision=2134
* Start of a NFS file handle dissection. ReliantUNIX and Linux knfsd handlesUwe Girlich2000-07-131-27/+420
| | | | | | are correctly dissected. svn path=/trunk/; revision=2133
* Use "dissect_rpc_list()" to dissect NFS READDIR/READDIRPLUS reply listsGuy Harris2000-06-121-47/+7
| | | | | | | and portmapper DUMP reply lists, rather than duplicating what "dissect_rpc_list()" does. svn path=/trunk/; revision=2060
* Add routines for adding items to a protocol tree that take arguments ofGuy Harris2000-05-311-40/+40
| | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=2031
* Add tvbuff class.Gilbert Ramirez2000-05-111-130/+130
| | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=1939
* Use the new split between protocol registration and protocol handoffGuy Harris2000-04-041-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. svn path=/trunk/; revision=1789
* When dissecting an NFS file handle, show the raw bytes of the fileGuy Harris2000-03-231-11/+27
| | | | | | | | | | | | handle data (snoop does this, and it's somewhat convenient if you're trying to see whether, say, an ACCESS call is acting on the file whose file handle you got back from a previous MOUNT request). Boost the maximum number of bytes worth of hex data shown by "bytes_to_str()" from 10 to 16, so that we can show the file handle 16 bytes per line (as snoop does). svn path=/trunk/; revision=1744
* Change dfilter_init() to check for empty-string abbreviations and forGilbert Ramirez2000-03-201-4/+4
| | | | | | | duplicate abbreviations. All mods to packet-*.c files are fixes to remove those cases. svn path=/trunk/; revision=1733
* Break proto_tree_add_item_format() into multiple functions:Gilbert Ramirez2000-03-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix some "proto_tree_add_text()" calls.Guy Harris2000-03-071-3/+3
| | | | svn path=/trunk/; revision=1696
* Corrected a SEGFAULT in v2 readdir reply, v3 readdir reply, and v3 readdirplusUwe Girlich2000-01-261-8/+11
| | | | | | | reply. It came in with the new dissect_rpc_string() with gives the string back. svn path=/trunk/; revision=1570
* Give "dissect_rpc_string()" an extra "char **" argument; if it'sGuy Harris2000-01-221-15/+33
| | | | | | | | | | 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