summaryrefslogtreecommitdiffstats
path: root/src/lib/Client/Tools/POSIX.py
diff options
context:
space:
mode:
authorSol Jerome <solj@ices.utexas.edu>2010-06-16 14:27:01 +0000
committerSol Jerome <sol.jerome@gmail.com>2010-06-16 11:50:43 -0500
commitce8ed0ecbb9fa3cbb9404c23025a81ba375c959c (patch)
tree8708716edaf774f5561609d789918e956d47fb07 /src/lib/Client/Tools/POSIX.py
parentc19c638a5cc23f1166eb21fa3814e0d53d563d23 (diff)
downloadbcfg2-ce8ed0ecbb9fa3cbb9404c23025a81ba375c959c.tar.gz
bcfg2-ce8ed0ecbb9fa3cbb9404c23025a81ba375c959c.tar.bz2
bcfg2-ce8ed0ecbb9fa3cbb9404c23025a81ba375c959c.zip
POSIX: Don't install incompletely specified directory entries (Resolves Ticket #884)
Signed-off-by: Sol Jerome <sol.jerome@gmail.com> git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5940 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Client/Tools/POSIX.py')
-rw-r--r--src/lib/Client/Tools/POSIX.py10
1 files changed, 9 insertions, 1 deletions
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'))