Problem:
Following the installation of UCS5 errata 881 in a mixed UCS4 and UCS5 environment, the functionality of UDM (Univention Directory Manager) breaks. This issue stems from Bugfix 56824, which inadvertently registers UDM modules domain-wide. Consequently, this registration introduces new code files across all servers, irrespective of their version, resulting in incompatibility with UCS4 systems.
When accessing the UCS4.4-9 system, the following error may occur:
# /usr/share/univention-directory-manager-tools/univention-cli-server
Traceback (most recent call last):
File "/usr/share/univention-directory-manager-tools/univention-cli-server", line 45, in <module>
import univention.admincli.admin
File "/usr/lib/python2.7/dist-packages/univention/admincli/admin.py", line 57, in <module>
univention.admin.modules.update()
File "/usr/lib/python2.7/dist-packages/univention/admin/modules.py", line 123, in update
_walk(root, w_root, w_files)
File "/usr/lib/python2.7/dist-packages/univention/admin/modules.py", line 110, in _walk
m = importlib.import_module('univention.admin.handlers.%s' % (modulepackage,)) # type: Any
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/saml/serviceprovider.py", line 195, in <module>
mapping.register('Identifier', 'SAMLServiceProviderIdentifier', None, univention.admin.mapping.ListToString, encoding='ASCII')
TypeError: register() got an unexpected keyword argument 'encoding'
Solution:
To resolve this issue on the UCS4.4-9 server, follow these steps:
-
Reinstall the previous package
univention-saml-schema
:apt-get install --reinstall univention-saml-schema
-
After the reinstallation, execute the following file to verify proper functionality:
/usr/share/univention-directory-manager-tools/univention-cli-server
This should rectify the compatibility issue caused by the introduction of incompatible code files on UCS4 systems.