This is a first implementation of a concept Iustin Pop proposed (message ID
“[email protected]”) for fixing inherently insecure file
storage operations. Before this series the file storage paths would be taken
from the configuration on a node, but said configuration file is also updated
via RPC. After this changelist a new file, “/etc/ganeti/file-storage-paths”,
is used as a whitelist.

Michael Hanselmann (8):
  backend: Check for shared storage also
  LUClusterVerifyGroup: Localize virtual file paths
  bdev: Add functions to verify file storage paths
  Check fingerprint of file with allowed file storage paths
  Check allowed file storage paths during cluster-verify
  backend: Switch to new file storage directory verification
  cfgupgrade: Write file for file storage paths
  Update NEWS for file storage paths

 NEWS                             |   11 ++++
 lib/backend.py                   |   30 ++++++-----
 lib/bdev.py                      |   62 ++++++++++++++++++++++
 lib/cmdlib.py                    |  105 +++++++++++++++++++++++++++++++++++---
 lib/constants.py                 |    4 ++
 lib/errors.py                    |    6 ++
 lib/opcodes.py                   |    1 +
 lib/pathutils.py                 |    1 +
 test/cfgupgrade_unittest.py      |   52 ++++++++++++++++++-
 test/ganeti.bdev_unittest.py     |   51 ++++++++++++++++++-
 test/ganeti.cmdlib_unittest.py   |   20 +++++++
 test/ganeti.utils.io_unittest.py |    6 ++
 tools/cfgupgrade                 |   41 +++++++++++++++
 13 files changed, 365 insertions(+), 25 deletions(-)

-- 
1.7.7.3

Reply via email to