diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-03-28 06:06:54 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-03-28 06:06:54 +0000 |
| commit | 801d0f74f683bbee427ae1d1dd685558217e52c8 (patch) | |
| tree | 6b72ff3d98da149df46e1d58946524706f0389bc /lib | |
| parent | 2544f75f46dcf45a397bf59345072cfa48cf2e90 (diff) | |
| download | puppet-801d0f74f683bbee427ae1d1dd685558217e52c8.tar.gz puppet-801d0f74f683bbee427ae1d1dd685558217e52c8.tar.xz puppet-801d0f74f683bbee427ae1d1dd685558217e52c8.zip | |
Fixing a bug I apparently introduced in the testing that would have made user management not work with netinfo. In the process, I am enabling validation on the nameservice subclasses.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2359 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/puppet/provider/nameservice.rb | 10 | ||||
| -rw-r--r-- | lib/puppet/provider/user/netinfo.rb | 22 |
2 files changed, 15 insertions, 17 deletions
diff --git a/lib/puppet/provider/nameservice.rb b/lib/puppet/provider/nameservice.rb index 07f32b54a..9b4d34ddb 100644 --- a/lib/puppet/provider/nameservice.rb +++ b/lib/puppet/provider/nameservice.rb @@ -20,6 +20,11 @@ class Puppet::Provider::NameService < Puppet::Provider end end + def initvars + @checks = {} + super + end + def list objects = [] listbyname do |name| @@ -113,7 +118,7 @@ class Puppet::Provider::NameService < Puppet::Provider end end - def disabled_validate(name, value) + def validate(name, value) name = name.intern if name.is_a? String if @checks.include? name block = @checks[name][:block] @@ -126,7 +131,6 @@ class Puppet::Provider::NameService < Puppet::Provider def verify(name, error, &block) name = name.intern if name.is_a? String - @checks ||= {} @checks[name] = {:error => error, :block => block} end @@ -323,7 +327,7 @@ class Puppet::Provider::NameService < Puppet::Provider end def set(param, value) - #self.class.validate(param, value) + self.class.validate(param, value) cmd = modifycmd(param, value) unless cmd.is_a?(Array) raise Puppet::DevError, "Nameservice command must be an array" diff --git a/lib/puppet/provider/user/netinfo.rb b/lib/puppet/provider/user/netinfo.rb index 3273c59cb..08bea2ffc 100644 --- a/lib/puppet/provider/user/netinfo.rb +++ b/lib/puppet/provider/user/netinfo.rb @@ -14,16 +14,17 @@ Puppet::Type.type(:user).provide :netinfo, :parent => Puppet::Provider::NameServ autogen_defaults :home => "/var/empty", :shell => "/usr/bin/false" + verify :gid, "GID must be an integer" do |value| + value.is_a? Integer + end + + verify :uid, "UID must be an integer" do |value| + value.is_a? Integer + end + def autogen_comment return @model[:name].capitalize end - - def gid=(value) - unless value.is_a?(Integer) - raise ArgumentError, "gid= only accepts integers, not %s(%s)" % [value.class, value.inspect] - end - super - end # The list of all groups the user is a member of. Different # user mgmt systems will need to override this method. @@ -93,13 +94,6 @@ Puppet::Type.type(:user).provide :netinfo, :parent => Puppet::Provider::NameServ end end end - - def uid=(value) - unless value.is_a?(Integer) - raise ArgumentError, "uid= only accepts integers" - end - super - end end # $Id$ |
