summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-03-28 06:06:54 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-03-28 06:06:54 +0000
commit801d0f74f683bbee427ae1d1dd685558217e52c8 (patch)
tree6b72ff3d98da149df46e1d58946524706f0389bc /lib
parent2544f75f46dcf45a397bf59345072cfa48cf2e90 (diff)
downloadpuppet-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.rb10
-rw-r--r--lib/puppet/provider/user/netinfo.rb22
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$