[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, master, updated. debian/0.24.6-1-356-g5718585

James Turnbull james at lovedthanlost.net
Fri Jan 23 14:20:56 UTC 2009


The following commit has been merged in the master branch:
commit 77f4fb67fc9efac8ab70c1fc83e86123401b8000
Author: Luke Kanies <luke at madstop.com>
Date:   Tue Sep 16 11:24:57 2008 -0500

    Fixed #1521 -- ldap user and group are now used with the default connection
    when available.
    
    Signed-off-by: Luke Kanies <luke at madstop.com>

diff --git a/CHANGELOG b/CHANGELOG
index 303b115..404f7fb 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -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 f6530f8..70fe303 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 9392466..8bc85a6 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

-- 
Puppet packaging for Debian



More information about the Pkg-puppet-devel mailing list