X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=files%2Fetc%2Fpuppet%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fldapinfo.rb;h=3a687224dd5a5fa71173fa288ff6ba8b8292fb0a;hb=483f9c11e2419da2aa3fe83f306a2adf5f6938ef;hp=23243c04041a7458a760490b44caf75d1cac4466;hpb=7001185323bf29b7bb413a1eafd7dee213346289;p=mirror%2Fdsa-puppet.git diff --git a/files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb b/files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb index 23243c040..3a687224d 100644 --- a/files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb +++ b/files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb @@ -7,6 +7,7 @@ module Puppet::Parser::Functions attributes << 'hostname' end + require 'ldap' ldap = LDAP::SSLConn.new('db.debian.org', 636) results = {} @@ -18,7 +19,7 @@ module Puppet::Parser::Functions unless attributes.include?("*") next if attributes.any?{ |a| not x[a] or x[a].empty? } end - results[x['hostname']] = x + results[x['hostname'][0]] = x end rescue LDAP::ResultError raise Puppet::ParseError, "LDAP error" @@ -27,6 +28,10 @@ module Puppet::Parser::Functions ensure ldap.unbind end - return( host == '*' ? results : results[host] ) + if host == '*' + return(results) + else + return(results[host]) + end end end