obvious that the returned string is ephemeral, and opens up the original names
in the API for versions that take a wmem pool (and thus can work in any scope).
svn path=/trunk/; revision=54249
Add support for dissecting Gluster/NFS file handles
The nfs dissector has support for dissecting several types (depending on the NFS-server) of file-handles. GlusterFS/NFS can not be dissected yet
svn path=/trunk/; revision=54121
Localize some vars;
Remove some unneeded initializers;
Reformat some hf[] entries;
Reformat a long commenty for readability;
Break up some long lines;
Use consistent indentation;
Rework/add whitespace;
Fix inconsistent editor modelines.
svn path=/trunk/; revision=53990
This was acheived by adding a void* data parameter to the dissect_function_t typedef in packet-rpc.h (r53213). After converting the pinfo->private_data, I'm not sure if it would be better to change the void* data pointer to be a rpc_call_info_value* explicitly. Not all "dissector functions" use it, but it would certainly save a lot of casting...
svn path=/trunk/; revision=53232
I didn't realize how expansive this change would be, so committing it now before replacing the pinfo->private_data, so if something needs to be reverted, all of this is not lost.
svn path=/trunk/; revision=53213
- when the text parameter is constant col_add_str() and col_set_str() are equivalent but col_set_str() is faster.
- same for replace col_append_fstr and col_append_str
- remove col_clear() when it's redundant:
+ before a col_set/col_add if the dissector can't throw an exception.
- replace col_append() after a col_clear() with faster col_add... or col_set
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9344
svn path=/trunk/; revision=52948
There seem to be several cases of proto_tree_add_string_format where a "string" value/filter doesn't really make sense because it's always empty, and is just being used as a "filterable subtree header (placeholder)". They appear to be more for "presense" than "value" and should probably be FT_NONE, although I'd almost argue for removing the filter in favor of proto_tree_add_text.
svn path=/trunk/; revision=52296
explicit, and frees up the "generic" names (like tvb_memdup) for new signatures
that take the appropriate wmem pool.
Majority of the conversion done with sed.
svn path=/trunk/; revision=52164
1. Case sensitivity differences between hf_ field name and formatted string.
2. Unnecessary whitespace between hf_ field name and colon in formatted string
There are cases where the hf_ field name doesn't quite match the proto_tree_add_uint_format, but it's close enough that one of them should be "right", I'm just not sure which is, I just know the string in proto_tree_add_uint_format is the one displayed.
svn path=/trunk/; revision=52098
The script didn't catch as many as I would have liked, but it's a start.
The most common (ab)use of proto_tree_add_uint_format was for appending strings to CRC/checksum values to note good or bad CRC/checksum.
svn path=/trunk/; revision=52045
Fix: If the FH length is not 32 or 40, the packet is decoded as "Unknown", a warning is displayed in Expert, and the rest of the packet is decoded. In addition, changed "Celerra" to "Celerra|VNX".
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8945
svn path=/trunk/; revision=50718
Changed FATTR4_DISSECT_VALUES arg to FATTR4_BITMAP_ONLY in calls to
dissect_nfs4_fattrs() in cases NFS4_OP_OPEN and NFS4_OP_CREATE of
dissect_nfs4_response_op().
svn path=/trunk/; revision=50602
Numerous improvements to NFS ACL/ACE dissection. For a complete list see
comment #11 of the bug.
From me:
- fix an infinite loop caught by fuzzing
- fix an out-of-bounds memory access caught by valgrind
- add missing {0,NULL} terminator to value_string array
svn path=/trunk/; revision=49074
* "dissect_nfs4_attribute()" was eliminated because the values dissection
portion of that routine was identical to the "dissect_nfs_attributes()"
routine. The code in "dissect_nfs4_bitmap4()" and
"dissect_nfs4_attrlist4()" was also similar so those routines
were also eliminated and their code incorporated in dissect_nfs_fattr4s().
These measures have reduced the size of 'packet-nfs.c' by almost 400 lines.
* Attributes were relabeled according to RFC 5661 (NFS4v1).
o “mand_attr” (REQUIRED attribute) header was changed to "reqd_attr”.
o “recc_attr” (RECOMMENDED attributes) header was changed to “reco_attr”
because "recommended" only has one ‘c’. =)
* In order to be able to list the attribute names horizontally in the
"Attr mask[x]" header (e.g., "Attr mask[0]: 0x0010111a (TYPE, CHANGE, SIZE,
FSID, ACL, FILEID)", “FATTR4_” was removed from the attribute names
(e.g., “FATTR4_TYPE (1)” is now “TYPE (1)”. Note that RFC 5661 does not
define them with a “FATTR4” prefix.
* In GETATTR responses, the “resok4” and “obj_attributes” subtrees were
eliminated because they are neither actual fields nor serve any practical
purpose.
* The READDIR "Directory Listing" subtree was reformatted. "Filename" was
changed to "Entry" because entries can also be directories.
"Value Follows", "cookie", and "Attr mask[n]" were moved within each entry.
If an Entry header is left-clicked all the fields of that entry are
highlighted in the Hex pane. If it is right-clicked the 'nfs.name'
field (filter) can be obtained. Finally, the "attr_vals:<DATA>" (text)
subtree was eliminated because it appears to serve no useful purpose and
clutters the tree.
svn path=/trunk/; revision=48966
Major NFS dissector cleanup. Consistent naming, spacing, line wrapping,
variable initialization, ...
For full details see comment #18 of the bug.
svn path=/trunk/; revision=48934
what these are). It gets freed slightly before we need to access it in order to
correctly free other glib memory.
Discovered accidentally while valgrinding the capture from
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8584
svn path=/trunk/; revision=48870
Add ACE4_INHERITED_ACE flag and NFS4ERR_DELEG_REVOKED error code.
Replace NFS4ERR_NODEV error code by NFS4ERR_DQUOT error code.
See RFC 5661 for details.
svn path=/trunk/; revision=48825
Effectively inline the only remain call (and replace a static buffer with ep
memory). Much of the NFS dissector needs to be converted to use named fields
at which point this code can go away, but that's a much bigger job.
Also, add modelines to packet-nfs.c and mark some internal value_string
functions as WS_DLL_LOCAL.
svn path=/trunk/; revision=48635