From ce8ed0ecbb9fa3cbb9404c23025a81ba375c959c Mon Sep 17 00:00:00 2001 From: Sol Jerome Date: Wed, 16 Jun 2010 14:27:01 +0000 Subject: POSIX: Don't install incompletely specified directory entries (Resolves Ticket #884) Signed-off-by: Sol Jerome git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5940 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Client/Tools/POSIX.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/lib/Client/Tools/POSIX.py') diff --git a/src/lib/Client/Tools/POSIX.py b/src/lib/Client/Tools/POSIX.py index 03f29d9e9..ac9059517 100644 --- a/src/lib/Client/Tools/POSIX.py +++ b/src/lib/Client/Tools/POSIX.py @@ -168,7 +168,9 @@ class POSIX(Bcfg2.Client.Tools.Tool): def VerifyDirectory(self, entry, modlist): """Verify Directory entry.""" - if entry.get('perms') == None: + if entry.get('perms') == None or \ + entry.get('owner') == None or \ + entry.get('group') == None: return False while len(entry.get('perms', '')) < 4: entry.set('perms', '0' + entry.get('perms', '')) @@ -261,6 +263,12 @@ class POSIX(Bcfg2.Client.Tools.Tool): def InstallDirectory(self, entry): """Install Directory entry.""" + if entry.get('perms') == None or \ + entry.get('owner') == None or \ + entry.get('group') == None: + self.logger.error('Entry %s not completely specified. ' + 'Try running bcfg2-repo-validate.' % (entry.get('name'))) + return False self.logger.info("Installing Directory %s" % (entry.get('name'))) try: fmode = os.lstat(entry.get('name')) -- cgit v1.2.3-1-g7c22