diff options
author | Luke Kanies <luke@madstop.com> | 2008-09-16 11:24:57 -0500 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2008-09-17 09:10:35 +1000 |
commit | 77f4fb67fc9efac8ab70c1fc83e86123401b8000 (patch) | |
tree | cd32c969c56a35d2412e4320bfe86ef93dde665e | |
parent | a1a670b305252b2f4b4b2b0020303143addc3eb8 (diff) | |
download | puppet-77f4fb67fc9efac8ab70c1fc83e86123401b8000.tar.gz puppet-77f4fb67fc9efac8ab70c1fc83e86123401b8000.tar.xz puppet-77f4fb67fc9efac8ab70c1fc83e86123401b8000.zip |
Fixed #1521 -- ldap user and group are now used with the default connection
when available.
Signed-off-by: Luke Kanies <luke@madstop.com>
-rw-r--r-- | CHANGELOG | 2 | ||||
-rw-r--r-- | lib/puppet/util/ldap/connection.rb | 12 | ||||
-rwxr-xr-x | spec/unit/util/ldap/connection.rb | 13 |
3 files changed, 26 insertions, 1 deletions
@@ -1,5 +1,7 @@ 0.24.x Fixed #1572 -- file purging now fails if remote sources do not exist. + + Fixed #1521 -- ldap user and password are now used with the default connection. Fixed issues with file descriptors leaking into subprocesses diff --git a/lib/puppet/util/ldap/connection.rb b/lib/puppet/util/ldap/connection.rb index f6530f853..70fe303c5 100644 --- a/lib/puppet/util/ldap/connection.rb +++ b/lib/puppet/util/ldap/connection.rb @@ -17,7 +17,17 @@ class Puppet::Util::Ldap::Connection else false end - new(Puppet[:ldapserver], Puppet[:ldapport], :ssl => ssl) + + options = {} + options[:ssl] = ssl + if user = Puppet.settings[:ldapuser] and user != "" + options[:user] = user + if pass = Puppet.settings[:ldappassword] and pass != "" + options[:password] = pass + end + end + + new(Puppet[:ldapserver], Puppet[:ldapport], options) end def close diff --git a/spec/unit/util/ldap/connection.rb b/spec/unit/util/ldap/connection.rb index 9392466c7..8bc85a620 100755 --- a/spec/unit/util/ldap/connection.rb +++ b/spec/unit/util/ldap/connection.rb @@ -152,5 +152,18 @@ describe Puppet::Util::Ldap::Connection do Puppet::Util::Ldap::Connection.expects(:new).with { |host, port, options| options[:ssl] == false } Puppet::Util::Ldap::Connection.instance end + + it "should set the ldapuser if one is set" do + Puppet.settings.expects(:value).with(:ldapuser).returns "foo" + Puppet::Util::Ldap::Connection.expects(:new).with { |host, port, options| options[:user] == "foo" } + Puppet::Util::Ldap::Connection.instance + end + + it "should set the ldapuser and ldappassword if both is set" do + Puppet.settings.expects(:value).with(:ldapuser).returns "foo" + Puppet.settings.expects(:value).with(:ldappassword).returns "bar" + Puppet::Util::Ldap::Connection.expects(:new).with { |host, port, options| options[:user] == "foo" and options[:password] == "bar" } + Puppet::Util::Ldap::Connection.instance + end end end |