Bug 50648 - Migrate univention-directory-manager-modules to Python 3
Migrate univention-directory-manager-modules to Python 3
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UDM (Generic)
UCS 4.4
Other Linux
: P5 normal (vote)
: UCS 5.0
Assigned To: Florian Best
Philipp Hahn
: interim-1
: 48562 51306 52995 53036 53058 53165 53166 54158 (view as bug list)
Depends on: 49060
Blocks: 51324 53513
  Show dependency treegraph
 
Reported: 2019-12-17 15:26 CET by Florian Best
Modified: 2021-12-17 13:04 CET (History)
6 users (show)

See Also:
What kind of report is it?: Development Internal
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
check_cracklib patch (585 bytes, patch)
2021-03-26 15:06 CET, Julia Bremer
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Best univentionstaff 2019-12-17 15:26:10 CET
univention-directory-manager-modules & it's used utilities should be migrated to be Python 3 compatible.
Comment 1 Florian Best univentionstaff 2020-06-22 14:13:45 CEST
*** Bug 48562 has been marked as a duplicate of this bug. ***
Comment 2 Florian Best univentionstaff 2020-09-22 08:40:17 CEST
univention-python (13.0.0-1)                                                        
9709a47e55c2 | Bug #50648: Remove obsolete replacement                      
dea9b6d38410 | Bug #50648 UDM password.check: add proper exception handling
920d30e94b57 | Bug #50648 UDM policies: fix handling of decoding policy values                        
684f57effa59 | Bug #50648 python uldap: add decoding in getPolicies()             
23ab48dd7411 | Bug #50648 python uldap: fix python 3 compatibility for strings

univention-directory-manager-module-example (9.0.0-1)
bc7ad69407a2 | Bug #50648 UDM handlers: Fix bytes comparison in identify functions


univention-directory-manager-modules (15.0.0-1)                                                                                                                                                                                       [162/631]
6949f2ba61b9 | Bug #50648 UDM Listener: install python 3 files
fa6de80fffde | Bug #50648 UDM computers: Remove code duplication
7f3823f2a4b2 | Bug #50648 UDM users/user: fix type of users/user:groups
f588fe2401ff | Bug #50648: Fix NoSuperordinate: No superordinate was supplied, but one of type settings/cn is required to create/save a settings/portal object.
09f7a3da080c | Bug #50648 UDM settings/portal: fix open() of not existing portal
b5761a1cff10 | Bug #50648 UDM: inspect.getargspec is deprecated
5e369430cd1e | Bug #50648: Workaround Bug #25163
e1fc59d8a809 | Bug #50648 UDM CLI: fix error logging
4b205e801616 | Bug #50648 UDM simple: fix type check in encoder
c45c193918c1 | Bug #50648: remove deprecated object.has_key() in Python 3
bb47fce0bf50 | Bug #50648: make it possible to specify boolean falsy values via UCR property overwrite
d389942e2388 | Bug #50648: use correct encoding for IA5String attributes
11283760096b | Bug #50648 UDM Mapping: add basic error handling
db0d44f0ef5a | Bug #50648 UDM groups/group: performance improovement
7d94f84bb5a7 | Bug #50648 UDM CLI: fix unreferenced variable
440af6bb04e4 | Bug #50648 UDM syntax: Fix converting PNG images to JPG
b7a8880af036 | Bug #50648 UDM: replace all hashbangs with python 3
00898070bbe6 | Bug #50648 UDM uldap: Unify doctest
12271e2f5289 | Bug #50648 UDM types|filter: fix encoding
c23aa189a246 | Bug #50648 UDM mapping: Overuse of functional programming
b9f4690d9875 | Bug #50648 UDM: univention-object-type-migrate python 3 compatibility
4be7f0fd17f7 | Bug #50648 UDM license: add replacement for cmp() without changing the API
c7eb7e8a367a | Bug #50648 UDM license: replace sequence test with python 2.7+ compatible variant
439ac8084bd8 | Bug #50648 UDM license: fix possible faulty debug messages
4c240e65736d | Bug #50648 UDM: univention-migrate-users-to-ucs4.3 python 3 compatibility
2a41d10143fe | Bug #50648 UDM mapping: Encoding / Decoding
634d2a1296e7 | Bug #50648 UDM uldap: python 3 migration
13f21fb42967 | Bug #50648 UDM uldap: Fix TypeError in getBaseDN()
5383b80ca5e9 | Bug #50648 UDM modules: python3 compatbility
b4492d50d283 | Bug #50648 UDM: unify multiple used UCR instances
78292aece2c4 | Bug #50648 UDM password: Adjust to Python 3 division returning float
3fe9e0d1b2eb | Bug #50648 UDM objects: cleanup
2d1c7a160c0b | Bug #50648 UDM syntax: Add a lot of tests
6f86f3260e86 | Bug #50648 UDM policy: remove useless default values
42d73b4a4222 | Bug #50648 UDM scripts: convert-user-base64-photos
ca97dabc8b34 | Bug #50648 UDM scripts: fix python3 compatiblity
ad21080f2d46 | Bug #50648 UDM scripts: remove unused scripts
2cf851b9a610 | Bug #50648 UDM scipts: migrated all
0698ddbf0f07 | Bug #50648 UDM CLI: fix evaluating of list --policies={1,2}
2b2faf9fdfa3 | Bug #50648 UDM CLI: migrate adduser to python 3
929b59121b48 | Bug #50648 UDM scripts: migrate to python3
cc1ea13fa670 | Bug #50648 UDM locking: Fix encoding in locking
37e2ab3fb496 | Bug #50648 UDM simple: Encoding in Simple UDM API
9705f96e3c1e | Bug #50648 UDM CLI: migrate passwd to python 3
301972a7ef97 | Bug #50648 UDM CLI: migrate license_check to python 3
6c8d0e97fb67 | Bug #50648 UDM: migrate univention-sync-memberuid
eebb342a6f02 | Bug #50648 UDM: migrate univention-dnsedit
c92e35232d6f | Bug #50648 UDM CLI: list --policies
e3d9ade7691c | Bug #50648 UDM CLI: split into functions
e1fd9b882891 | Bug #50648 UDM CLI: cleanup/python3
b45ad70a3c3f | Bug #50648 UDM lib: Migrate python-lib/*.py to Python 3
b4a631f49cc0 | Bug #50648 UDM simple: Migrate Simple UDM API
d922014c5d79 | Bug #50648 UDM: Fix dependencies
e462de15948d | Bug #50648 UDM simple: Migrate Simple UDM API
4ae7f3bc9478 | Bug #50648 UDM shares/share: Fix mapping function en/decoding
d6e3489c958a | Bug #50648 UDM computers: fix group removal
78274abd5e2e | Bug #50648 UDM computers: add python 3 compatibility
a523791e1ca1 | Bug #50648 UDM nagios: add python 3 compatibility
cd6d87130117 | Bug #50648 UDM nagios/service: fix iteritems
edf7480c0130 | Bug #50648 UDM dns/dns: fix iteritems
04cffc91e09c | Bug #50648 UDM shares/printer: do not use default model=None
5b7ce1ffa894 | Bug #50648 UDM shares: add python 3 compatibility
81a0b54a73d3 | Bug #50648 UDM users/user: fix decoding bytes
096c3c188fc8 | Bug #50648 UDM users/user: fix loading of user certificates with only partial values
2551b5d4d949 | Bug #50648 UDM users/user: fix integer return in GMTOffset
4aeb4be3f02b | Bug #50648 UDM users/user: fix some more mapping functions
7129426819ed | Bug #50648 UDM users/user: fix mapHomePostalAddress / unmapHomePostalAddress
e1c76b6ea6c2 | Bug #50648 UDM users: Additional fixes
06c713c72156 | Bug #50648 UDM networks/network: add python3 compatibility
19673b6d97b6 | Bug #50648 UDM allocators: fix allocating of group SIDs
b03f683b536e | Bug #50648 UDM: migrate ipaddr → ipaddress
e4f22d87dcf9 | Bug #50648 UDM handlers: Cleanup __setitem__
7c066cde91c6 | Bug #50648 UDM handlers: Rename internal variables for typing
dd683f8c11ba | Bug #50648: UDM handlers: Simplify zone processing
b946cb6d7188 | Bug #50648: UDM handlers: Fix/add type annotations
9c1676cf6db2 | Bug #50648 UDM dhcp: migrate ipaddr → ipaddress
39343f74020f | Bug #50648 UDM dns: migrate ipaddr → ipaddress
b75b7978d95e | Bug #50648 UDM syntax: migrate ipaddr → ipaddress
271b81ca669f | Bug #50648 UDM dns: fix decoding of mapped values for use in LDAP filters
5f974df03d67 | Bug #50648 UDM dns/reverse_zone: reversed(bytestring) returns integer
228d08ef670d | Bug #50648 UDM dns: fix SOA mapping
5d4de2dd3ed5 | Bug #50648 UDM dns: replace unicode with six.text_type
509bc63088e2 | Bug #50648 UDM dns: add encoding to mapping functions
4b76c74515a7 | Bug #50648 UDM dhcp Adjust mapping functions to python-ldap 3.x
b0124fd354ed | Bug #50648 UDM kerberos/kdcentry: Python3 compat
7f47df0e7aea | Bug #50648 UDM container/ou: python 3 compatibility
95c2e505a87e | Bug #50648 UDM policies/registry: code cleanup
c000295e0b67 | Bug #50648 UDM: fix dependency of settings/ldapacl & co
497ebb6c4ffb | Bug #50648 UDM settings: code cleanup
7dc0fda7a5fa | Bug #50648 UDM settings/syntax: fix decoding of oldattr
2c88af56103b | Bug #50648 UDM settings/portal_category: Fix mapping
e48e81ae2c65 | Bug #50648 UDM settings/portal_entry: replace basestring
8074b59686e5 | Bug #50648 UDM settings/portal: Fix mapping
651c54baaf3e | Bug #50648 UDM settings/portal_entry: fix mapping
b3e2a89fdfa8 | Bug #50648 UDM settings/sambadomain: fix mapping
5099ebb205f5 | Bug #50648 UDM policies/dhcp_leasetime: enhance __setitem__()
ad59af952c68 | Bug #50648 UDM policies/maintenance|repositorysync: code cleanup
b8e0d6c3e541 | Bug #50648 UDM settings/umc_operationset: Fix mapping
b17563972a7a | Bug #50648 UDM settings/sambaconfig: Fix mapping
ba5b01b3bb83 | Bug #50648 UDM settings/printermodel: Fix mapping
1ef545e871f2 | Bug #50648 UDM settings/license: Fix bytes/unicode
d92d3baf5b8f | Bug #50648 UDM policies/dhcp_leasetime: fix (un)mapUNIX_TimeInterval()
e62ac2ca458b | Bug #50648 UDM policies/nfsmounts: fix decoding/encoding in mapping
dfaef06e5db3 | Bug #50648 UDM policies/print_quota: fix decoding/encoding in mapping
297dbfd81d89 | Bug #50648 UDM policies/registry: Make python3 compatible
bc7ad69407a2 | Bug #50648 UDM handlers: Fix bytes comparison in identify functions
b347c34dfac2 | Bug #50648 UDM handlers: Fix de/encoding of bytes/unicode
c79ca6b848dd | Bug #50648 UDM nagios: Fix de/encoding of bytes/unicode
d84bfbd7f7b3 | Bug #50648 UDM computers: replace unicode() function call
dde19d81e73e | Bug #50648 UDM: Fix de/encoding of bytes/unicode in modules
f54f95b54d79 | Bug #50648 UDM groups/group: Improvement feedback from Florian
fa72707d42d8 | Bug #50648 UDM users/user: Decode sambaAcctFlags from bytes
a9a76b1a65dd | Bug #50648 UDM samba: Fix ordering of sambaAcctFlags
9b3e58532c1a | Bug #50648 UDM password: TypeError: crypt() argument 1 must be str, not bytes
016aeec33773 | Bug #50648 UDM users/ldap: fix bytes LDAP values in identify
7cdeec2e85de | Bug #50648 UDM handlers: Fix bytes vs unicode in addlist objectclass calculation
f792e08d6367 | Bug #50648 UDM mapping: Fix new on the fly encoding in mapValues for list values
be5a4ff2e3d1 | Bug #50648 UDM license: decode LDAP bytes
fd71e9edadf1 | Bug #50648 UDM users/user: fix encoding of group membership changes
e65fdf0a8049 | Bug #50648 UDM shares/share: fix bytes vs unicode
607238b4dec9 | Bug #50648 UDM syntax: Use modern base64 module interface
5c721c37495f | Bug #50648 UDM dns: more bytes fixes for 13_user_creation_with_mailPrimaryAddress_already_in_use
1948d603d270 | Bug #50648 UDM config: getDefaultValue bytes vs unicode
df0828a77445 | Bug #50648 UDM computers/windows: fix bytes -> unicode for groups/group test
823af256fdf6 | Bug #50648 UDM groups/group: fix bytes -> unicode in another lo.getAttr result
651f2f38ed57 | Bug #50648 UDM groups/group: fix bytes -> unicode in another lo.getAttr result
8b1ea4dc76ae | Bug #50648 UDM groups/group: fix bytes -> unicode in _ldap_post_remove, _ldap_post_move and __update_membership
ecc7e9425ce7 | Bug #50648 UDM groups/group: fix bytes -> unicode in fast_member_add and fast_member_remove
fddd0023b519 | Bug #50648 UDM password: PyArg_ParseTuple in heimdal.principal() supports unicode
68c3c4bde6c6 | Bug #50648 UDM groups/group: additional python 3 fixes
2364b653e90b | Bug #50648 UDM groups/group: Convert LDAP values to/from bytes
12fb4b6cba65 | Bug #50648 UDM groups/group: open() LDAP values are bytes
ba8246695b12 | Bug #50648 UDM groups/group: open() decode sambaSID from ASCII bytes
b81f399d76f7 | Bug #50648 UDM group/group: open() decode uniqueMember DNs
a7d8f99de1d1 | Bug #50648 UDM handlers: rewrite_filter(): decode mapped property
55bcaef8c4c6 | Bug #50648 UDM: Convert __cmp__ to rich comparison
06bc4a319015 | Bug #50648 UDM: Add unit test for comparison
63c599965db6 | Bug #50648 UDM password: read bytes from urandom
64acfef23a6b | Bug #50648 UDM handlers: decode object classes
3e5571c83c4a | Bug #50648 UDM handlers: _ldap_dn(): decode mapped property
9ec7a3fe81c6 | Bug #50648 UDM mapping.py: Fix encode/decode
ad916f35cdd0 | Bug #50648 UDM allocators: handle encoding
00c694e8c9c2 | Bug #50648 UDM uldap: decode() kerberos realm
d695850aaa93 | Bug #50648 UDM locking: fix types
4bcfbdec1a24 | Bug #50648 UDM syntax: fix double decoding
bd925e760316 | Bug #50648 UDM syntax: use six.string_types instead of bytestring
aec3bde17c66 | Bug #50648 UDM handlers: replace iteritems() with items()
de049dee2ab5 | Bug #50648 UDM: Remove deprecated tab and field
e906b3e570c8 | Bug #50648 UDM: univention.admin.pattern_replace(): fix typing
623dbac6ffce | Bug #50648 UDM: fix multiple basestring/unicode NameErrors
fb4eab67854a | Bug #50648 UDM CLI: replace basestring with string_types
51ff2f65eeed | Bug #50648 UDM handlers: replace basestring with string_types
c2fc128505e4 | Bug #50648 UDM modules: make EA_LAyout comparable in Python 3
da2c2fc7a16e | Bug #50648 UDM layout: replace basestring with string_types
c6b6966b9873 | Bug #50648 UDM modules: update_extended_attributes(): fix use of bytestrings
93de48f88600 | Bug #50648 UDM hook: import_hook_files(): add python3 compatibility
14bc1eadcd26 | Bug #50648 UDM syntax: import_syntax_files(): add python3 compatibility
112a5beb2b21 | Bug #50648 UDM policies: replace os.path.walk()
d39cc604596e | Bug #50648 UDM modules: use six.string_types over basestring
75413af85a4e | Bug #50648 UDM modules: replace os.path.walk()
25344bdd7811 | Bug #50648 UDM computers: replace os.path.walk()
2cb024a497b5 | Bug #50648 UDM syntax: cmp is deprecated
06604328ff68 | Bug #50648 UDM types: python 3 type compatibility
fe03a2cfa6ed | Bug #50648 UDM CLI: remove use of deprecated _2utf8()
edd40c78de4f | Bug #50648 UDM handlers: let hasChanged() handle iterators
cff0e59369f0 | Bug #50648 UDM handlers: reduce()
e7ca4380ca66 | Bug #50648 UDM uldap: use univention.uldap.accees.whoami()
82a0d912e2e4 | Bug #50648 UDM uldap: use unicode strings
e28f80769115 | Bug #50648 UDM simpleLdap: fix string types
1454ad4d3d6f | Bug #50648 UDM container|user: more LDAP values bytes fixes
a6be9b050294 | Bug #50648 UDM: xrange() → range()
5d89ee833438 | Bug #50648 UDM users|syntax Fix unmapBase64 and users/user userCertificate
5d6e4bb0c450 | Bug #50648 UDM users/ldap: fix bytes vs unicode
0c30d75b3b25 | Bug #50648 UDM users/ldap: Fix missing self.password_length default
3c2475ff7e5f | Bug #50648 UDM users/user: Random salt Pyhon 2/3 compatibility
93365b75c417 | Bug #50648 UDM users/user: saslpassthrough(ASCII)
951d50d70d0e | Bug #50648 UDM users/user: long does not exists anymore
7e9779949fc9 | Bug #50648 UDM users/user: iteritems()
0f8c4f402003 | Bug #50648 UDM users/user: unmap functions: fix encoding
b98461c79774 | Bug #50648 UDM users/user: concatenate pwlist
c47bcc9510c4 | Bug #50648 UDM users/user: case_insensitive_in_list()
3ec8e98f4eb6 | Bug #50648 UDM users/user: _simulate_legacy_options: object classes are bytestrings
af4348786e77 | Bug #50648 UDM users/user: misc unmapping: fix encoding
3609f0c6e733 | Bug #50648 UDM users/user: _unmap_automount_information: fix encoding
dceb014209a4 | Bug #50648 UDM users/user: hasChanged(): fix encoding
c7a515db4c03 | Bug #50648 UDM users/user: misc/group: fix encoding
1dcd42598349 | Bug #50648 UDM users/user: _ldap_pre_ready(): fix encoding
d858829dc79d | Bug #50648 UDM users/user: SambaSID: fix encoding
db3d28052cd8 | Bug #50648 UDM users/user:_move: fix encoding
3435b4a08f88 | Bug #50648 UDM users/user:_ldap_post_remove: fix encoding
dea9b6d38410 | Bug #50648 UDM password.check: add proper exception handling
523ff472a4fc | Bug #50648 UDM users/user: _ldap_{mod,add}list() use bytestring
4e2919068461 | Bug #50648 UDM users/user: _ldap_attributes() use unicode strings
0c9428c41548 | Bug #50648 UDM users/user: lookup_filter() use unicode strings
1847ef29ce37 | Bug #50648 UDM users/user: identify() use bytestrings
a9bb7580145f | Bug #50648 UDM handlers: Rename function to add doctest
31fcd304ce2d | Bug #50648 UDM handlers: Simplify S4C detection
2f4ee913e750 | Bug #50648 UDM handlers: Use searchDn()
973d315b6113 | Bug #50648 UDM handlers: Remove unused exceptions
f49da8be920d | Bug #50648 UDM handlers: Fix running doctest on admin
920d30e94b57 | Bug #50648 UDM policies: fix handling of decoding policy values
Comment 3 Arvid Requate univentionstaff 2021-01-21 18:06:15 CET
If you call udm-cli with closed stdin and cli-server was not running, the python3 version of the script will abort with a traceback:

===============================================================================
root@master220:~# /usr/sbin/univention-directory-manager container/ou create --ignore_exists --set name="foo" 0<&-
Traceback (most recent call last):
  File "/usr/sbin/univention-directory-manager", line 163, in _create_socket
    sock.connect(socket_path)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/sbin/univention-directory-manager", line 205, in <module>
    main()
  File "/usr/sbin/univention-directory-manager", line 182, in main
    sock = _create_socket()
  File "/usr/sbin/univention-directory-manager", line 165, in _create_socket
    fork_server(sock, socket_path)
  File "/usr/sbin/univention-directory-manager", line 72, in fork_server
    os.dup2(null, sys.stdin.fileno())
AttributeError: 'NoneType' object has no attribute 'fileno'
^CTraceback (most recent call last):
  File "/usr/sbin/univention-directory-manager", line 163, in _create_socket
    sock.connect(socket_path)
FileNotFoundError: [Errno 2] No such file or directory
===============================================================================

In python2 sys.stdin.fileno() returns 0 in this case. In python3 it returns None. Currently this blocks testing Bug #51324.
Comment 4 Florian Best univentionstaff 2021-01-21 18:40:59 CET
A simple check has been added for std{in,out,err}. I hope there are not much more places where we experience something like this.

univention-directory-manager-modules (15.0.7-1)
318898d5c9ef | Bug #50648: comment 3: fix UDM CLI server when stdin is already closed
Comment 5 Julia Bremer univentionstaff 2021-03-26 15:06:51 CET
Created attachment 10665 [details]
check_cracklib patch

When having mspolicy password quality check enabled, 
kinit shows a traceback when trying to change password to something insufficient.

Repeat new password: 
Error: external program failed: Traceback (most recent call last):   File "/usr/share/univention-heimdal/check_cracklib.py", line 74, in <module>     main()   File "/usr/share/univention-heimdal/check_cracklib.py", line 67, in main     pwdCheck.check(params['new-password'])   File "/usr/lib/python3/dist-packages/univention/password.py", line 143, in check     raise CheckFailed('Password does not meet the password complexity requirements.') univention.password.CheckFailed: Password does not meet the password complexity requirements. 

kinit: krb5_get_init_creds: failed changing password

This is due to ./base/univention-python/modules/password.py not raising ValueError anymore, but univention.password.CheckFailed, which is not caught in
check_cracklib.py
Comment 6 Julia Bremer univentionstaff 2021-03-26 15:33:14 CET
florian allowed me to merge the patch :) 

Package: univention-heimdal
Version: 13.0.3-2A~5.0.0.202103261532
Branch: ucs_5.0-0

f813e989a3 Bug #50648: Catch univention.password.CheckFailed in check_cracklib.py
Comment 7 Florian Best univentionstaff 2021-03-29 10:47:21 CEST
*** Bug 52995 has been marked as a duplicate of this bug. ***
Comment 8 Julia Bremer univentionstaff 2021-03-29 14:43:54 CEST
I get this, when opening the DNS module:

Interner Server-Fehler in "udm/query (dns/dns)".
Request: udm/query (dns/dns)

  File "/usr/lib/python3/dist-packages/notifier/threads.py", line 80, in _run
    result = self._function()
  File "/usr/lib/python3/dist-packages/notifier/__init__.py", line 105, in __call__
    return self._function(*tmp, **self._kwargs)
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/udm/__init__.py", line 629, in _thread
    'name': module.obj_description(obj),
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/udm/udm_ldap.py", line 859, in obj_description
    description = udm_objects.description(obj)
  File "/usr/lib/python3/dist-packages/univention/admin/objects.py", line 154, in description
    return object.description()
  File "/usr/lib/python3/dist-packages/univention/admin/handlers/dns/reverse_zone.py", line 255, in description
    return unmapSubnet(rdn_value)
  File "/usr/lib/python3/dist-packages/univention/admin/handlers/dns/reverse_zone.py", line 176, in unmapSubnet
    zone = zone.decode(*encoding)
AttributeError: 'str' object has no attribute 'decode'
Comment 9 Florian Best univentionstaff 2021-03-29 14:49:25 CEST
(In reply to Julia Bremer from comment #8)
> I get this, when opening the DNS module:
> 
> Interner Server-Fehler in "udm/query (dns/dns)".
> Request: udm/query (dns/dns)
> 
>   File "/usr/lib/python3/dist-packages/notifier/threads.py", line 80, in _run
>     result = self._function()
>   File "/usr/lib/python3/dist-packages/notifier/__init__.py", line 105, in
> __call__
>     return self._function(*tmp, **self._kwargs)
>   File
> "/usr/lib/python3/dist-packages/univention/management/console/modules/udm/
> __init__.py", line 629, in _thread
>     'name': module.obj_description(obj),
>   File
> "/usr/lib/python3/dist-packages/univention/management/console/modules/udm/
> udm_ldap.py", line 859, in obj_description
>     description = udm_objects.description(obj)
>   File "/usr/lib/python3/dist-packages/univention/admin/objects.py", line
> 154, in description
>     return object.description()
>   File
> "/usr/lib/python3/dist-packages/univention/admin/handlers/dns/reverse_zone.
> py", line 255, in description
>     return unmapSubnet(rdn_value)
>   File
> "/usr/lib/python3/dist-packages/univention/admin/handlers/dns/reverse_zone.
> py", line 176, in unmapSubnet
>     zone = zone.decode(*encoding)
> AttributeError: 'str' object has no attribute 'decode'
Please upgrade your system. This is already fixed in:

univention-directory-manager-modules (15.0.8-1)                            
dfae471d1555 | Bug #50648 UDM DNS: call super() methods                                 
3f3fdb5a2ba3 | Bug #50648 UDM: replace ignore_license=[01] with boolean True|False
adb8167a3b92 | Bug #50648 UDM: replace modify_childs=[01] with boolean True|False
7598e8aa5f56 | Bug #50648 UDM: replace canonical=[01] with boolean True|False
8f233dbb46c9 | Bug #50648 UDM: replace virtual=[01] with boolean True|False
1f46d9e18a91 | Bug #50648 UDM: replace childs=[01] with boolean True|False               
bae0db8ff2f7 | Bug #50648 UDM: remove unused quickDescription()                      
6f56e4b35d29 | Bug #50648 UDM DNS: fix dns/reverse_zone description               
a2e1e8ef2684 | Bug #50648 UDM users/user: fix unmapping automountInformation        
382734b6d52c | Bug #50648 UDM users/user: fix setting userexpiry=""
Comment 10 Florian Best univentionstaff 2021-04-13 11:46:38 CEST
*** Bug 53036 has been marked as a duplicate of this bug. ***
Comment 11 Florian Best univentionstaff 2021-04-14 21:30:04 CEST
*** Bug 53058 has been marked as a duplicate of this bug. ***
Comment 12 Philipp Hahn univentionstaff 2021-04-19 11:47:41 CEST
Python2 is now broken:


UCS-5.0-0 2021-04-19.iso
91univention-saml.inst
...
Creating SAML user
Traceback (most recent call last):
  File "<stdin>", line 19, in <module>
  File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py", line 548, in create
    dn = self._create(response=response, serverctrls=serverctrls)
  File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py", line 1230, in _create
    al.extend(self._ldap_modlist())
  File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/users/ldap.py", line 223, in _ldap_modlist
    pwhistoryPolicy = univention.admin.password.PasswortHistoryPolicy(self.loadPolicyObject('policies/pwhistory'))
  File "/usr/lib/python2.7/dist-packages/univention/admin/password.py", line 329, in __init__
    self.pwhistoryLength = max(0, int(pwhistoryPolicy['length'] or 0))
  File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py", line 3442, in __getitem__
    self.policy_result()
  File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py", line 3414, in policy_result
    values[attr_name] = value_dict['value'].copy()
AttributeError: 'list' object has no attribute 'copy'

git:4f50162f0c7
git:7f77a72b133


Comment 13 Florian Best univentionstaff 2021-04-19 14:24:38 CEST
(In reply to Philipp Hahn from comment #12)
> Python2 is now broken:
> 
> 
> UCS-5.0-0 2021-04-19.iso
> 91univention-saml.inst
> ...
> Creating SAML user
> Traceback (most recent call last):
>   File "<stdin>", line 19, in <module>
>   File
> "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py",
> line 548, in create
>     dn = self._create(response=response, serverctrls=serverctrls)
>   File
> "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py",
> line 1230, in _create
>     al.extend(self._ldap_modlist())
>   File
> "/usr/lib/python2.7/dist-packages/univention/admin/handlers/users/ldap.py",
> line 223, in _ldap_modlist
>     pwhistoryPolicy =
> univention.admin.password.PasswortHistoryPolicy(self.
> loadPolicyObject('policies/pwhistory'))
>   File "/usr/lib/python2.7/dist-packages/univention/admin/password.py", line
> 329, in __init__
>     self.pwhistoryLength = max(0, int(pwhistoryPolicy['length'] or 0))
>   File
> "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py",
> line 3442, in __getitem__
>     self.policy_result()
>   File
> "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py",
> line 3414, in policy_result
>     values[attr_name] = value_dict['value'].copy()
> AttributeError: 'list' object has no attribute 'copy'
> 
> git:4f50162f0c7
> git:7f77a72b133
Fixed in:

univention-directory-manager-modules (15.0.8-1)
65d808ad79fa | fixup! fixup! Bug #50648 UDM policies/registry: Make python3 compatible
Comment 14 Florian Best univentionstaff 2021-04-27 09:41:20 CEST
*** Bug 53166 has been marked as a duplicate of this bug. ***
Comment 15 Florian Best univentionstaff 2021-04-27 09:41:38 CEST
*** Bug 53165 has been marked as a duplicate of this bug. ***
Comment 16 Florian Best univentionstaff 2021-05-03 22:05:02 CEST
*** Bug 51306 has been marked as a duplicate of this bug. ***
Comment 17 Philipp Hahn univentionstaff 2021-05-10 06:53:16 CEST
*** Bug 53165 has been marked as a duplicate of this bug. ***
Comment 18 Philipp Hahn univentionstaff 2021-05-12 11:23:45 CEST
OK: Code Review
OK: ucs-test -s udm-*
OK: Some fixes discussed with @fbest
Comment 19 Florian Best univentionstaff 2021-05-25 15:58:22 CEST
UCS 5.0 has been released:
 https://docs.software-univention.de/release-notes-5.0-0-en.html
 https://docs.software-univention.de/release-notes-5.0-0-de.html

If this error occurs again, please use "Clone This Bug".
Comment 20 Florian Best univentionstaff 2021-12-17 13:04:37 CET
*** Bug 54158 has been marked as a duplicate of this bug. ***