diff options
author | Cal Turney <cturney111@gmail.com> | 2017-10-07 22:06:12 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-10-22 13:11:21 +0000 |
commit | b913bcc13a9a6213902691a8d73bba1427ab407b (patch) | |
tree | 224dad9f2ee41a6f16be044682c315e4d2784e52 /epan/dissectors/packet-btatt.c | |
parent | aa04d2355effb1cf611831b0a260cf1aff199b9a (diff) |
NFSv4: Fix for duplicate StateId hashes
In WS v11.4.0 released In May, 2014, "tvb_get_string_enc()" was added to
dissect_nfs4_stateid() which treats the numeric stateid as a string and
converted it to UTF-8. Invalid UTF-8 chars were replaced with the
"REPLACEMENT CHARACTER" which are actually three characters: 0xef, 0xbf,
and 0xbd (0xefbfbd). A hash was made of the first 16 chars of the returned
array although the string was often much larger due to 1 to 16 invalid
chars. This has often caused duplicate hashes for different files and
locks. That routine has been removed. In addition, the size of the hash
has been reduced from 32 to 16 bits which affords a 99.9984% chance of
unique hashes. Finally, hf_nfs4_seqid, used for the stateid hash seqid
has been changed to hf_nfs4_seqid_stateid because in CLOSE requests the
seqid has nothing to do with the stateid seqid.
Change-Id: I3bf7caefc3341887a4c9137500dfeac0115af8cf
Reviewed-on: https://code.wireshark.org/review/23966
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-btatt.c')
0 files changed, 0 insertions, 0 deletions