viced: RXAFS_GetVolumeStatus remove access check
authorJeffrey Altman <jaltman@your-file-system.com>
Tue, 3 Jul 2012 19:58:01 +0000 (15:58 -0400)
committerDerrick Brashear <shadow@dementix.org>
Mon, 16 Jul 2012 12:47:05 +0000 (05:47 -0700)
commitd2d591caf2c9b4cf2ebae708cc9b4c8b78ca5a5a
tree809a5f04d6574f4f933d5c7c0a4c7c14729456fb
parentd2ef4a6e1f685564ed51e8c1bc82642b406e936a
viced: RXAFS_GetVolumeStatus remove access check

The AFS file server had always performed a PRSFS_READ permission
check on the volume's root directory (1.1) vnode before responding
succesfully to the client.  A successful response contains the
following volume state information:

  Message of the day (if any)
  Offline message (if any)
  Online flag
  InService flag
  Blessed flag
  NeedsSalvage flag
  Type
  MinQuota
  MaxQuota
  BlocksInUse
  PartBlocksAvail
  PartMaxBlocks

All of this information is publicly available to anonymous users
via other services so it is odd that it is hidden from anonymous
cache managers.

As sites begin to tighten the ACLs on volumes due to privacy
and security concerns this READ permission check is begin to
cause problems for Windows clients that rely upon the quota and
block counts to determine whether or not it is likely to be safe
to perform an extending write.  In many environments volumes are
being configured such that the root directory is 'l' for all and
only the subdirectories provide for 'ridw'.  Under these situations
the user is able to read/write the data but cannot determine how
much free space is available.  Since all of the data returned by
RXAFS_GetVolumeStatus is publicly available, the patchset removes
the access check entirely.

Change-Id: Ic8a8d755b0ed61789a49243827083ae97c137560
Reviewed-on: http://gerrit.openafs.org/7705
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
src/viced/afsfileprocs.c