diff options
author | ajax <ajax@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-09-27 00:53:21 +0000 |
---|---|---|
committer | ajax <ajax@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-09-27 00:53:21 +0000 |
commit | fd9b2f6293b0d4c9a6d1296ea8567701352aec67 (patch) | |
tree | 3f5b95666047b7a5a3fa7585906d089cec961495 /lib/puppet | |
parent | db7d7848fc0b64601c1ac375a92a8709b39a42f8 (diff) | |
download | puppet-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.rb | 10 | ||||
-rw-r--r-- | lib/puppet/util.rb | 2 |
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 |