Wireshark-commits: [Wireshark-commits] master d809297: NFS: add dissect_nfs4_bitmap function
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=d809297ebf6026c2e3ceb306007a5260f19df916
Submitter: "Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>"
Changed: branch: master
Repository: wireshark
Commits:
d809297 by Jorge Mora (jmora1300@xxxxxxxxx):
NFS: add dissect_nfs4_bitmap function
Add generic function to dissect the bitmap4 struct and
optionally its corresponding opaque data. The behavior
is customized by setting the nfs4_bitmap_info_t struct
given as argument. The items are displayed when their
corresponding hf_* labels are given (not set to NULL).
The type argument if set to NFS4_BITMAP_MASK only the
bitmap is dissected and displayed as a list of attribute
names. Otherwise if set to NFS4_BITMAP_VALUES the bitmap
is dissected including their respective values.
The function dissect_nfs4_fattrs was modified to use
dissect_nfs4_bitmap instead and all functionality which
dissects the value of each attribute was moved to a
separate function dissect_nfs4_fattr_value.
All functionality from dissect_nfs4_fattrs is given in
the new function dissect_nfs4_bitmap, but it also
includes additional functionality:
- Gracefully handle a bitmap attribute which does not
have a dissector and a warning is displayed.
- If there is a problem dissecting one of the bitmap
attribute values then do not attempt to dissect any
more values and a warning is given explaining why
the values were not dissected. In this case at least
the rest of the attributes names are displayed.
- If any error is found dissecting the values then all
bytes left undissected are just consumed so the rest
of the NFS packet is correctly dissected.
- Add subtree if the name is given, all bitmap data
will be under this main tree.
- Show mask label when the number of bitmap masks is 0
and the type is to display only the bitmap mask.
Use function dissect_nfs4_bitmap instead to process the
state protect bitmaps. Also, use correct labels
"spo_must_enforce" and "spo_must_allow" instead of using
the generic label "operation mask" for both bitmap masks.
Finally, display the operation masks including the list
of operation names in each mask.
Use function dissect_nfs4_bitmap instead to process the
hints mask in IO_ADVISE.
Use function dissect_nfs4_bitmap instead to process the
notify mask in GETDEVICEINFO.
Bug: 16107
Change-Id: Ic470fd003bbc18feeadbd5d2cd0aa56329682bd6
Reviewed-on: https://code.wireshark.org/review/34714
Petri-Dish: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
Actions performed:
from 2c5f89a CMake: Add abillity to add custom taps.
add d809297 NFS: add dissect_nfs4_bitmap function
Summary of changes:
epan/dissectors/packet-nfs.c | 1077 ++++++++++++++++++++++--------------------
1 file changed, 558 insertions(+), 519 deletions(-)