* Fixed bug in the LDAP domain backend, do not try to check if an address
is already defined if there is no record for that address. * Fixed bug in the YAML account backend. A user may not exist, then its password is not findable and thus can not be crypted! git-svn-id: svn+ssh://svn.luon.net/svn/ildus/trunk@16 65a33f86-aa00-0410-91be-cd1bf5efb309
This commit is contained in:
parent
82d09e2039
commit
83a868f5f0
|
@ -22,6 +22,7 @@ module Ildus::Server::AccountBackend
|
||||||
case config['crypt'].to_sym
|
case config['crypt'].to_sym
|
||||||
when :unix
|
when :unix
|
||||||
regged_pass = @db[user]
|
regged_pass = @db[user]
|
||||||
|
return false if regged_pass.nil?
|
||||||
self.auth = (pass.crypt(regged_pass) == regged_pass)
|
self.auth = (pass.crypt(regged_pass) == regged_pass)
|
||||||
else
|
else
|
||||||
raise "unsupported crypt type: #{config['crypt']}"
|
raise "unsupported crypt type: #{config['crypt']}"
|
||||||
|
|
|
@ -67,10 +67,12 @@ module Ildus::Server::DomainBackend
|
||||||
raise Handler::HostNotFoundError if entry.nil?
|
raise Handler::HostNotFoundError if entry.nil?
|
||||||
|
|
||||||
if addr.ipv4?
|
if addr.ipv4?
|
||||||
return false if entry['aRecord'][0] == addr.to_s
|
record = entry['aRecord']
|
||||||
|
return false if record and record[0] == addr.to_s
|
||||||
@ldap.modify(entry['dn'][0], {"aRecord" => [addr.to_s]})
|
@ldap.modify(entry['dn'][0], {"aRecord" => [addr.to_s]})
|
||||||
elsif addr.ipv6?
|
elsif addr.ipv6?
|
||||||
return false if entry['aAAARecord'][0] == addr.to_s
|
record = entry['aAAARecord']
|
||||||
|
return false if record and record[0] == addr.to_s
|
||||||
@ldap.modify(entry['dn'][0], {"aAAARecord" => [addr.to_s]})
|
@ldap.modify(entry['dn'][0], {"aAAARecord" => [addr.to_s]})
|
||||||
else
|
else
|
||||||
return false
|
return false
|
||||||
|
|
Reference in New Issue