OpenAFS Master Repository branch, master, updated. ef7e0d64e7c29675405299f36ee3b7343b31cb35
Gerrit Code Review
gerrit@openafs.org
Wed, 29 Jul 2009 20:55:43 -0700 (PDT)
The following commit has been merged in the master branch:
commit ef7e0d64e7c29675405299f36ee3b7343b31cb35
Author: Andrew Deason <adeason@sinenomine.net>
Date: Mon Jul 20 12:31:44 2009 -0500
Add additional vlprocs safety checks
This adds additional safety checks to the vlserver's implementation of
the VL_CreateEntry, VL_ReplaceEntry, and VL_UpdateEntry RPCs. Now in all
three of these, any new volume ID that would be added to the VLDB or
that would be newly referenced in a VLDB entry is checked against
duplication in other entries. Additionally, any new volume names added
to the VLDB (either by creation, or modifying an existing volume) are
checked against duplication. This should make it impossible for clients
to make a volume ID or volume name correspond to multiple volume groups
(either conceptually or literally in the vldb).
This also alters the vlserver's implementation of the VL_GetNewVolumeId
RPC such that the vlserver increments maxvolid until the range of volume
IDs [*newvolumeid, *newvolumeid+bumpcount) is unused. 'vos' is modified
to only allocate one new volume id at a time, so we don't skip over
potentially-usable vol ids.
Reviewed-on: http://gerrit.openafs.org/158
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/vlserver/vlprocs.c | 74 ++++++++++++++++++++++++++++++++----
src/vlserver/vlserver_internal.h | 4 ++
src/vlserver/vlutils.c | 77 ++++++++++++++++++++++++++++++++++++++
src/volser/vsprocs.c | 43 +++++++++------------
4 files changed, 166 insertions(+), 32 deletions(-)
--
OpenAFS Master Repository