Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1893667

Summary: dsidm user get_dn fails with search_ext() argument 1 must be str, not function
Product: Red Hat Directory Server Reporter: bsmejkal
Component: 389-ds-baseAssignee: mreynolds
Status: CLOSED ERRATA QA Contact: RHDS QE <ds-qe-bugs>
Severity: low Docs Contact: Marc Muehlfeld <mmuehlfe>
Priority: medium    
Version: 12.1CC: afarley, jachapma, ldap-maint, mreynolds, spichugi, tbordaz, vashirov
Target Milestone: DS12.1Keywords: Triaged
Target Release: dirsrv-12.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: sync-to-jira
Fixed In Version: redhat-ds-12-9010020220729141346.12_1_910 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-12-06 15:44:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description bsmejkal 2020-11-02 10:37:24 UTC
Description of problem:
Running dsidm user get_dn command fails with Error: search_ext() argument 1 must be str, not function.

Version-Release number of selected component (if applicable):
389-ds-base-1.4.3.8-5.module+el8.3.0+7569+08175a8a.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Create instance with users
2. dsidm -D "cn=Directory Manager" -W -b dc=example,dc=com ldap://localhost:389 user get_dn

Actual results:
Error: search_ext() argument 1 must be str, not function

Expected results:


Additional info:

Comment 1 mreynolds 2022-07-13 16:28:52 UTC
# dsidm -v localhost -b dc=example,dc=com  user get_dn
...
DEBUG: _gen_dn filter = (&(objectclass=nsPerson)(objectclass=nsAccount)(objectclass=nsOrgPerson)(objectclass=posixAccount))
DEBUG: _gen_dn dn = <function get_dn.<locals>.<lambda> at 0x7f91dd05cdc0>
DEBUG: search_ext() argument 1 must be str, not function
Traceback (most recent call last):
  File "/usr/sbin/dsidm", line 141, in <module>
    result = args.func(inst, dsrc_inst['basedn'], log, args)
  File "/home/mareynol/source/ds389/389-ds-base/src/lib389/lib389/cli_idm/user.py", line 38, in get_dn
    _generic_get_dn(inst, basedn, log.getChild('_generic_get_dn'), MANY, dn, args)
  File "/home/mareynol/source/ds389/389-ds-base/src/lib389/lib389/cli_idm/__init__.py", line 101, in _generic_get_dn
    o = mc.get(dn=dn)
  File "/home/mareynol/source/ds389/389-ds-base/src/lib389/lib389/_mapped_object.py", line 1185, in get
    results = self._get_dn(dn)
  File "/home/mareynol/source/ds389/389-ds-base/src/lib389/lib389/_mapped_object.py", line 1203, in _get_dn
    return _search_ext_s(self._instance,
  File "/home/mareynol/source/ds389/389-ds-base/src/lib389/lib389/_mapped_object.py", line 92, in _search_ext_s
    return _ldap_op_s(inst, inst.search_ext_s, 'search_ext_s', *args, **kwargs)
  File "/home/mareynol/source/ds389/389-ds-base/src/lib389/lib389/_mapped_object.py", line 74, in _ldap_op_s
    return f(*args, **kwargs)
  File "/home/mareynol/source/ds389/389-ds-base/src/lib389/lib389/__init__.py", line 176, in inner
    return f(*args, **kwargs)
  File "/usr/lib64/python3.9/site-packages/ldap/ldapobject.py", line 863, in search_ext_s
    msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit)
  File "/home/mareynol/source/ds389/389-ds-base/src/lib389/lib389/__init__.py", line 176, in inner
    return f(*args, **kwargs)
  File "/usr/lib64/python3.9/site-packages/ldap/ldapobject.py", line 853, in search_ext
    return self._ldap_call(
  File "/home/mareynol/source/ds389/389-ds-base/src/lib389/lib389/__init__.py", line 176, in inner
    return f(*args, **kwargs)
  File "/usr/lib64/python3.9/site-packages/ldap/ldapobject.py", line 324, in _ldap_call
    result = func(*args,**kwargs)
TypeError: search_ext() argument 1 must be str, not function
ERROR: Error: search_ext() argument 1 must be str, not function

Comment 2 mreynolds 2022-07-20 19:27:44 UTC
Upstream ticket:

https://github.com/389ds/389-ds-base/issues/5373

Comment 6 bsmejkal 2022-09-29 12:37:52 UTC
As per comment #c3, marking as VERIFIED.

Comment 8 errata-xmlrpc 2022-12-06 15:44:40 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (redhat-ds:12 bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:8836