Login timeouts if ldapserver is unavailable
If ldap is configured but the ldap server is unreachable, the login hangs until the worker terminates.
Designs
- Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Link issues together to show that they're related.
Learn more.
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Tom Teichler added part::backend prio::1 source::customer type::bug labels
added part::backend prio::1 source::customer type::bug labels
- Nik | Klampfradler changed the description
changed the description
- Nik | Klampfradler assigned to @nik
assigned to @nik
- Nik | Klampfradler created merge request !844 (merged) to address this issue
created merge request !844 (merged) to address this issue
- Nik | Klampfradler mentioned in merge request !844 (merged)
mentioned in merge request !844 (merged)
- Owner
The bug is indeed reproducible by simply setting some imaginary LDAP server when running the dev server:
poetry run env ALEKSIS_database__password=aleksis ALEKSIS_ldap__uri=ldap://8.8.8.8 ALEKSIS_ldap__users__search__base=dc=foo aleksis-admin runuwsgi
. - Owner
Hangs upon bind here:
--- modulename: ldapobject, funcname: simple_bind_s ldapobject.py(248): msgid = self.simple_bind(who,cred,serverctrls,clientctrls) --- modulename: ldapobject, funcname: simple_bind ldapobject.py(242): return self._ldap_call(self._l.simple_bind,who,cred,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls)) --- modulename: __init__, funcname: RequestControlTuples __init__.py(113): if ldapControls is None: __init__.py(114): return None --- modulename: __init__, funcname: RequestControlTuples __init__.py(113): if ldapControls is None: __init__.py(114): return None --- modulename: ldapobject, funcname: _ldap_call ldapobject.py(114): self._ldap_object_lock.acquire() --- modulename: __init__, funcname: acquire __init__.py(85): if _trace_level>=self._min_trace_level: __init__.py(87): return self._lock.acquire() ldapobject.py(116): if self._trace_level>=1: ldapobject.py(125): diagnostic_message_success = None ldapobject.py(126): try: ldapobject.py(127): try: ldapobject.py(128): result = func(*args,**kwargs)
- Nik | Klampfradler closed with merge request !844 (merged)
closed with merge request !844 (merged)
- Nik | Klampfradler mentioned in commit 74de127a
mentioned in commit 74de127a
Please register or sign in to reply