When a wrong value is provided for the "Groups container DN" field the /plone_ldapcontrolpanel view crashes and there is no way (except from ZMI maybe) to update the value.
Traceback (most recent call last):
File "/plone/instance/src/pas.plugins.ldap/src/pas/plugins/ldap/plugin.py", line 336, in getGroupsForPrincipal
except Exception as err:
File "/plone/buildout-cache/eggs/node.ext.ldap-1.0b11-py3.7.egg/node/ext/ldap/ugm/_api.py", line 245, in groups
return [groups[uid] for uid in self.group_ids]
File "/plone/buildout-cache/eggs/node.ext.ldap-1.0b11-py3.7.egg/node/ext/ldap/ugm/_api.py", line 281, in group_ids
res = [att[groups._keyattr][0] for , att in matches_generator]
File "/plone/buildout-cache/eggs/node.ext.ldap-1.0b11-py3.7.egg/node/ext/ldap/ugm/_api.py", line 281, in
res = [att[groups._keyattr][0] for , att in matches_generator]
File "/plone/buildout-cache/eggs/node.ext.ldap-1.0b11-py3.7.egg/node/ext/ldap/_node.py", line 575, in batched_search
matches, cookie = search_func(kw)
File "/plone/buildout-cache/eggs/node-0.9.24-py3.7.egg/node/utils.py", line 250, in wrapped
f_result = func(*args, *kws)
File "/plone/buildout-cache/eggs/node.ext.ldap-1.0b11-py3.7.egg/node/ext/ldap/_node.py", line 521, in search
cookie=cookie
File "/plone/buildout-cache/eggs/node.ext.ldap-1.0b11-py3.7.egg/node/ext/ldap/session.py", line 59, in search
cookie
File "/plone/buildout-cache/eggs/node.ext.ldap-1.0b11-py3.7.egg/node/ext/ldap/base.py", line 260, in search
args
File "/plone/buildout-cache/eggs/bda.cache-1.3.0-py3.7.egg/bda/cache/memcached.py", line 112, in getData
ret = func(args, kwargs)
File "/plone/buildout-cache/eggs/node.ext.ldap-1.0b11-py3.7.egg/node/ext/ldap/base.py", line 237, in _search
rtype, results, rmsgid, rctrls = self._con.result3(msgid)
File "/plone/buildout-cache/eggs/python_ldap-3.2.0-py3.7-linux-x86_64.egg/ldap/ldapobject.py", line 751, in result3
resp_ctrl_classes=resp_ctrl_classes
File "/plone/buildout-cache/eggs/python_ldap-3.2.0-py3.7-linux-x86_64.egg/ldap/ldapobject.py", line 758, in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) File "/plone/buildout-cache/eggs/python_ldap-3.2.0-py3.7-linux-x86_64.egg/ldap/ldapobject.py", line 331, in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
File "/plone/buildout-cache/eggs/python_ldap-3.2.0-py3.7-linux-x86_64.egg/ldap/compat.py", line 44, in reraise
raise exc_value
File "/plone/buildout-cache/eggs/python_ldap-3.2.0-py3.7-linux-x86_64.egg/ldap/ldapobject.py", line 315, in _ldap_call
result = func(*args,**kwargs)
ldap.NO_SUCH_OBJECT: {'desc': 'No such object', 'matched': 'ou=Roles,o=EIONET,l=Europe'}
When a wrong value is provided for the "Groups container DN" field the /plone_ldapcontrolpanel view crashes and there is no way (except from ZMI maybe) to update the value.
Python 3 Plone = 5.2 pas.plugin.ldap = 1.6.2 Products.PluggableAuthService = 2.1.1