summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorajax <ajax@980ebf18-57e1-0310-9a29-db15c13687c0>2006-09-27 00:53:21 +0000
committerajax <ajax@980ebf18-57e1-0310-9a29-db15c13687c0>2006-09-27 00:53:21 +0000
commitfd9b2f6293b0d4c9a6d1296ea8567701352aec67 (patch)
tree3f5b95666047b7a5a3fa7585906d089cec961495 /lib/puppet
parentdb7d7848fc0b64601c1ac375a92a8709b39a42f8 (diff)
downloadpuppet-fd9b2f6293b0d4c9a6d1296ea8567701352aec67.tar.gz
puppet-fd9b2f6293b0d4c9a6d1296ea8567701352aec67.tar.xz
puppet-fd9b2f6293b0d4c9a6d1296ea8567701352aec67.zip
File types were dying silently on OS X when the group specified in the manifest was not a valid group.
The code now generates some errors, but current behavior doesn't raise fatal exceptions git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1695 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/suidmanager.rb10
-rw-r--r--lib/puppet/util.rb2
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/puppet/suidmanager.rb b/lib/puppet/suidmanager.rb
index 555543843..a431e1456 100644
--- a/lib/puppet/suidmanager.rb
+++ b/lib/puppet/suidmanager.rb
@@ -65,12 +65,20 @@ module Puppet
def asuser(new_euid=nil, new_egid=nil)
old_egid = old_euid = nil
if new_egid
- new_egid = Puppet::Util.uid(new_egid)
+ saved_state_egid = new_egid
+ new_egid = Puppet::Util.gid(new_egid)
+ if new_egid == nil
+ raise Puppet::Error, "Invalid group: %s" % saved_state_egid
+ end
old_egid = self.egid
self.egid = new_egid
end
if new_euid
+ saved_state_euid = new_euid
new_euid = Puppet::Util.uid(new_euid)
+ if new_euid == nil
+ raise Puppet::Error, "Invalid user: %s" % saved_state_euid
+ end
old_euid = self.euid
self.euid = new_euid
end
diff --git a/lib/puppet/util.rb b/lib/puppet/util.rb
index fea1e68a6..5f8d6f31a 100644
--- a/lib/puppet/util.rb
+++ b/lib/puppet/util.rb
@@ -107,7 +107,7 @@ module Util
end
gid = nil
obj = nil
-
+
# We want to look the group up either way
if group.is_a?(Integer)
# If this doesn't find anything