Daniel Gryniewicz has uploaded this change for review.

View Change

Fix attribute comparison in NFS4_OP_VERIFY

Our attribute comparison was broken. It was comparing supported_attrs
correctly, but otherwise it was only ever comparing the first attribute
over and over.

In addition, it was assuming that the client creates the bitmaps and
attributes exactly like Ganesha does. However some clients, for
example VMWare, generate bitmaps that are longer than necessary and
zero-filled. This is correct, and we should handle it.

The new code walks the two bitmaps in parallel, compares set bits, and
then compares the value for attributes with both bits set.

Change-Id: Ia72125b64f949a3f9cc3f4e2269f7e5edb44db4c
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
---
M src/Protocols/NFS/nfs4_op_verify.c
M src/Protocols/NFS/nfs_proto_tools.c
2 files changed, 93 insertions(+), 41 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/49/440749/1

To view, visit change 440749. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Ia72125b64f949a3f9cc3f4e2269f7e5edb44db4c
Gerrit-Change-Number: 440749
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Gryniewicz <dang@redhat.com>
Gerrit-MessageType: newchange