mirror of
https://github.com/meineerde/redmine.git
synced 2026-02-06 09:03:25 +00:00
Rescue network level errors with LDAP auth (#21137).
Patch by Holger Just. git-svn-id: http://svn.redmine.org/redmine/trunk@14808 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
269ba694b5
commit
8123006bb3
@ -20,6 +20,13 @@ require 'net/ldap/dn'
|
||||
require 'timeout'
|
||||
|
||||
class AuthSourceLdap < AuthSource
|
||||
NETWORK_EXCEPTIONS = [
|
||||
Net::LDAP::LdapError,
|
||||
Errno::ECONNABORTED, Errno::ECONNREFUSED, Errno::ECONNRESET,
|
||||
Errno::EHOSTDOWN, Errno::EHOSTUNREACH,
|
||||
SocketError
|
||||
]
|
||||
|
||||
validates_presence_of :host, :port, :attr_login
|
||||
validates_length_of :name, :host, :maximum => 60, :allow_nil => true
|
||||
validates_length_of :account, :account_password, :base_dn, :maximum => 255, :allow_blank => true
|
||||
@ -45,7 +52,7 @@ class AuthSourceLdap < AuthSource
|
||||
return attrs.except(:dn)
|
||||
end
|
||||
end
|
||||
rescue Net::LDAP::LdapError => e
|
||||
rescue *NETWORK_EXCEPTIONS => e
|
||||
raise AuthSourceException.new(e.message)
|
||||
end
|
||||
|
||||
@ -55,7 +62,7 @@ class AuthSourceLdap < AuthSource
|
||||
ldap_con = initialize_ldap_con(self.account, self.account_password)
|
||||
ldap_con.open { }
|
||||
end
|
||||
rescue Net::LDAP::LdapError => e
|
||||
rescue *NETWORK_EXCEPTIONS => e
|
||||
raise AuthSourceException.new(e.message)
|
||||
end
|
||||
|
||||
@ -85,7 +92,7 @@ class AuthSourceLdap < AuthSource
|
||||
results << attrs
|
||||
end
|
||||
results
|
||||
rescue Net::LDAP::LdapError => e
|
||||
rescue *NETWORK_EXCEPTIONS => e
|
||||
raise AuthSourceException.new(e.message)
|
||||
end
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user