Bug 45851 - udm/query users/user: INVALID_DN_SYNTAX: {'info': 'invalid DN', 'desc': 'Invalid DN syntax'}
udm/query users/user: INVALID_DN_SYNTAX: {'info': 'invalid DN', 'desc': 'Inva...
Status: NEW
Product: UCS
Classification: Unclassified
Component: UDM (Generic)
UCS 4.4
Other Linux
: P5 normal (vote)
: ---
Assigned To: UMC maintainers
UDM maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2017-12-11 17:36 CET by Johannes Keiser
Modified: 2019-05-28 11:53 CEST (History)
3 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 5: Major Usability: Impairs usability in key scenarios
Who will be affected by this bug?: 3: Will affect average number of installed domains
How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.171
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2019052321000561, 2018052121000316, 2018042021000552, 2018022721000141, 2018040321000709, 2018031321000077, 2018022321000229, 2018021521000521, 2017121921000131, 2017122821000195, 2018011221000368, 2017120821000259, 2017120821000197
Bug group (optional): External feedback
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Keiser univentionstaff 2017-12-11 17:36:07 CET
Version: 4.2-3 errata246 (Lesum)

Execution of command 'udm/query users/user' has failed:

Traceback (most recent call last):
  File "%PY2.7%/notifier/threads.py", line 82, in _run
    tmp = self._function()
  File "%PY2.7%/notifier/__init__.py", line 104, in __call__
    return self._function( *tmp, **self._kwargs )
  File "%PY2.7%/univention/management/console/modules/udm/__init__.py", line 571, in _thread
    module = get_module(object_type, obj.dn)
  File "%PY2.7%/univention/management/console/modules/udm/udm_ldap.py", line 84, in _decorated
    return method(*args, **kwargs)
  File "%PY2.7%/univention/management/console/ldap.py", line 143, in _decorated
    result = func(*args, **kwargs)
  File "%PY2.7%/univention/management/console/modules/udm/udm_ldap.py", line 987, in get_module
    modules = udm_modules.objectType(None, ldap_connection, ldap_dn, module_base=base)
  File "%PY2.7%/univention/admin/modules.py", line 780, in objectType
    attr = lo.get(dn)
  File "%PY2.7%/univention/admin/uldap.py", line 416, in get
    return self.lo.get(dn, attr, required)
  File "%PY2.7%/univention/uldap.py", line 259, in get
    result = self.lo.search_s(dn, ldap.SCOPE_BASE, '(objectClass=*)', attr)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 559, in search_s
    return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 918, in search_ext_s
    return self._apply_method_s(SimpleLDAPObject.search_ext_s,*args,**kwargs)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 860, in _apply_method_s
    return func(self,*args,**kwargs)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 553, in search_ext_s
    return self.result(msgid,all=1,timeout=timeout)[1]
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 465, in result
    resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 469, in result2
    resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 476, in result3
    resp_ctrl_classes=resp_ctrl_classes
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 483, in result4
    ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 106, in _ldap_call
    result = func(*args,**kwargs)
INVALID_DN_SYNTAX: {'info': 'invalid DN', 'desc': 'Invalid DN syntax'}
Comment 1 Johannes Keiser univentionstaff 2017-12-11 17:37:58 CET
Reported again: Version: 4.2-3 errata245 (Lesum)
Comment 2 Johannes Keiser univentionstaff 2018-01-12 17:32:27 CET
Reported again: Version: 4.2-3 errata259 (Lesum)
Comment 3 Johannes Keiser univentionstaff 2018-01-12 18:49:06 CET
Reported again: Version: 4.2-3 errata256 (Lesum)
Comment 4 Johannes Keiser univentionstaff 2018-01-15 16:51:07 CET
Reported again: Version: 4.2-3 errata254 (Lesum)
Comment 5 Johannes Keiser univentionstaff 2018-02-16 13:41:16 CET
Reported again: Version: 4.2-3 errata284 (Lesum)
Comment 6 Johannes Keiser univentionstaff 2018-03-16 13:57:15 CET
Reported again: Version: 4.2-3 errata305 (Lesum)
Comment 7 Johannes Keiser univentionstaff 2018-03-29 20:00:37 CEST
Reported again: Version: 4.2-3 errata311 (Lesum)
Comment 8 Johannes Keiser univentionstaff 2018-04-13 16:22:57 CEST
Reported again: Version: 4.2-3 errata315 (Lesum)
Comment 9 Johannes Keiser univentionstaff 2018-04-27 13:35:08 CEST
Reported again:
Version: 4.2-3 errata305 (Lesum)
Version: 4.2-3 errata342 (Lesum)
Comment 10 Johannes Keiser univentionstaff 2018-05-25 18:40:56 CEST
Reported again: Version: 4.2-4 errata418 (Lesum)
(Same as comment #0)
Comment 11 Philipp Hahn univentionstaff 2018-06-14 15:25:20 CEST
Same happens with UDM-CLI:

# lb=$(ucr get ldap/base)&&udm users/user create --position cn=users,$lb
Traceback (most recent call last):
  File "/usr/share/univention-directory-manager-tools/univention-cli-server", line 218, in doit
    output = univention.admincli.admin.doit(arglist)
  File "/usr/lib/pymodules/python2.7/univention/admincli/admin.py", line 398, in doit
    out = _doit(arglist)
  File "/usr/lib/pymodules/python2.7/univention/admincli/admin.py", line 744, in _doit
    dn = object.create()
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 535, in create
    self._ldap_pre_ready()
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/users/user.py", line 1888, in _ldap_pre_ready
    self.alloc.append(('uid', univention.admin.allocators.request(self.lo, self.position, 'uid', value=self['username'])))
  File "/usr/lib/pymodules/python2.7/univention/admin/allocators.py", line 196, in request
    return acquireUnique(lo, position, type, value, _type2attr[type], scope=_type2scope[type])
  File "/usr/lib/pymodules/python2.7/univention/admin/allocators.py", line 174, in acquireUnique
    univention.admin.locking.lock(lo, position, type, value, scope=scope)
  File "/usr/lib/pymodules/python2.7/univention/admin/locking.py", line 71, in lock
    if not lo.get(dn, ['lockTime']):
  File "/usr/lib/pymodules/python2.7/univention/admin/uldap.py", line 656, in get
    return self.lo.get(dn, attr, required)
  File "/usr/lib/pymodules/python2.7/univention/uldap.py", line 273, in get
    result = self.lo.search_s(dn, ldap.SCOPE_BASE, '(objectClass=*)', attr)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 597, in search_s
    return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 993, in search_ext_s
    return self._apply_method_s(SimpleLDAPObject.search_ext_s,*args,**kwargs)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 931, in _apply_method_s
    return func(self,*args,**kwargs)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 591, in search_ext_s
    return self.result(msgid,all=1,timeout=timeout)[1]
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 503, in result
    resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 507, in result2
    resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 514, in result3
    resp_ctrl_classes=resp_ctrl_classes
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 521, in result4
    ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 106, in _ldap_call
    result = func(*args,**kwargs)
INVALID_DN_SYNTAX: {'info': 'invalid DN', 'desc': 'Invalid DN syntax'}
Comment 12 Florian Best univentionstaff 2019-05-09 15:38:51 CEST
(In reply to Philipp Hahn from comment #11)
> Same happens with UDM-CLI:
> 
> # lb=$(ucr get ldap/base)&&udm users/user create --position cn=users,$lb
Not anymore:

# lb=$(ucr get ldap/base)&&udm users/user create --position cn=users,$lb
E: Insufficient information: The following properties are missing:
username
lastname
password
Comment 13 Johannes Keiser univentionstaff 2019-05-28 11:53:34 CEST
Reported again: Version: 4.4-0 errata113 (Blumenthal) - UCS@school 4.4 v2

Interner Server-Fehler in "udm/syntax/choices/info (users/user)".
Request: udm/syntax/choices/info (users/user)

Traceback (most recent call last):
  File "%PY2.7%/univention/management/console/base.py", line 260, in execute
    function.__func__(self, request, *args, **kwargs)
  File "%PY2.7%/univention/management/console/modules/decorators.py", line 192, in _response
    return function(self, request)
  File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response
    result = _multi_response(self, request)
  File "%PY2.7%/univention/management/console/modules/decorators.py", line 192, in _response
    return function(self, request)
  File "%PY2.7%/univention/management/console/modules/decorators.py", line 440, in _response
    return list(function(self, iterator, *nones))
  File "%PY2.7%/univention/management/console/modules/decorators.py", line 286, in _fake_func
    yield function(self, *args)
  File "%PY2.7%/univention/management/console/modules/udm/__init__.py", line 952, in syntax_choices_info
    return info_syntax_choices(syntax, lo, po)
  File "%PY2.7%/univention/management/console/modules/udm/udm_ldap.py", line 1281, in info_syntax_choices
    filter_s = _create_ldap_filter(syn, options, module)
  File "%PY2.7%/univention/management/console/modules/udm/udm_ldap.py", line 1226, in _create_ldap_filter
    if options.get('objectProperty') and options.get('objectPropertyValue'):
  File "%PY2.7%/univention/admin/uldap.py", line 708, in get
    return self.lo.get(dn, attr, required)
  File "/usr/lib/python2.7/dist-packages/univention/uldap.py", line 383, in get
    result = self.lo.search_s(dn, ldap.SCOPE_BASE, '(objectClass=*)', attr)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 597, in search_s
    return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 997, in search_ext_s
    return self._apply_method_s(SimpleLDAPObject.search_ext_s,*args,**kwargs)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 935, in _apply_method_s
    return func(self,*args,**kwargs)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 591, in search_ext_s
    return self.result(msgid,all=1,timeout=timeout)[1]
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 503, in result
    resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 507, in result2
    resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 514, in result3
    resp_ctrl_classes=resp_ctrl_classes
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 521, in result4
    ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 106, in _ldap_call
    result = func(*args,**kwargs)
INVALID_DN_SYNTAX: {'info': 'invalid DN', 'desc': 'Invalid DN syntax'}