UCS 4.4 Release Notes

Release notes for the installation and update of Univention Corporate Server (UCS) 4.4-7


Table of Contents

1. Release Highlights
2. Notes about the update
2.1. Recommended update order for environments with more than one UCS server
2.2. UCS installation DVD only available for 64 bit
3. Preparation of update
4. Postprocessing of the update
5. Notes on selected packages
5.1. Collection of usage statistics
5.2. Scope of security support for WebKit, Konqueror and QtWebKit
5.3. Recommended browsers for the access to Univention Management Console
6. Changelog
6.1. General
6.2. Domain services
6.2.1. OpenLDAP
6.2.1.1. Listener/Notifier domain replication
6.3. Univention Management Console
6.3.1. Univention Management Console web interface
6.3.2. Univention Portal
6.3.3. Univention Management Console server
6.3.4. Univention App Center
6.3.5. Univention Directory Manager UMC modules and command line interface
6.3.6. Modules for system settings / setup wizard
6.3.7. Domain join module
6.3.8. System diagnostic module
6.3.9. Other modules
6.4. Univention base libraries
6.5. Software deployment
6.6. System services
6.6.1. SAML
6.6.2. Univention self service
6.6.3. Mail services
6.6.4. Postfix
6.6.5. Apache
6.6.6. RADIUS
6.7. Services for Windows
6.7.1. Samba
6.7.2. Univention S4 Connector
6.7.3. Univention Active Directory Connection
6.8. Other changes

§Chapter 1. Release Highlights

With Univention Corporate Server 4.4-7, the seventh point release of Univention Corporate Server (UCS) 4.4 is now available. It provides several feature improvements and extensions, new properties as well as various improvements and bugfixes. Here is an overview of the most important changes:

  • Editing your own contact information on the UCS Self Service is possible with existing Single Sign On registration.

  • Administrators can use the UCR variable umc/cookie-banner/show to control the display of a banner that informs users about the use of cookies when using the UCS portal and other services.

  • In S4 Connector and AD Connector a bug was fixed that after moving or deactivating user objects, these objects were still assigned to groups that were no longer relevant for them.

  • The update to Samba 4.10.18 mitigates the Zerologon security issue, new options allow secure configuration in environments where Secure Channel must be used.

  • Various security updates have been integrated into UCS 4.4-7, e.g. Postgresql, Samba, the Linux Kernel and PHP. A complete list of security and package updates is available in Chapter 6.

§Chapter 2. Notes about the update

During the update some services in the domain may not be available temporarily, that is why the update should occur in a maintenance window. It is recommended to test the update in a separate test environment prior to the actual update. The test environment should be identical to the production environment. Depending on the system performance, network connection and the installed software the update will take between 20 minutes and several hours.

§2.1. Recommended update order for environments with more than one UCS server

In environments with more than one UCS system, the update order of the UCS systems must be borne in mind:

The authoritative version of the LDAP directory service is maintained on the master domain controller and replicated to all the remaining LDAP servers of the UCS domain. As changes to the LDAP schema can occur during release updates, the master domain controller must always be the first system to be updated during a release update.

§2.2. UCS installation DVD only available for 64 bit

Starting with UCS 4.0, installation DVD are only provided for the x86 64 bit architecture (amd64). Existing 32 bit UCS 3 systems can still be updated to UCS 4.0 through the online repository or by using update DVD. The 32 bit architecture will be supported over the entire UCS 4 maintenance period.

§Chapter 3. Preparation of update

It must be checked whether sufficient disk space is available. A standard installation requires a minimum of 10 GB of disk space. The update requires approximately 4 GB additional disk space to download and install the packages, depending on the size of the existing installation.

For the update, a login should be performed on the system's local console as user root, and the update should be initiated there. Alternatively, the update can be conducted using Univention Management Console.

Remote updating via SSH is not recommended as this may result in the update procedure being canceled, e.g., if the network connection is interrupted. In consequence, this can affect the system severely. If updating should occur over a network connection nevertheless, it must be verified that the update continues in case of disconnection from the network. This can be achieved, e.g., using the tools screen and at. These tools are installed on all UCS system roles by default.

Univention provides a script that checks for problems which would prevent the successful update of the system. Prior to the update, this script can be downloaded and executed on the UCS system.

# download
curl -OOs https://updates.software-univention.de/download/univention-update-checks/pre-update-checks-4.4{,.gpg}

# run script
gpgv --keyring /usr/share/keyrings/univention-archive-key-ucs-4x.gpg \
        pre-update-checks-4.4.gpg pre-update-checks-4.4 && bash pre-update-checks-4.4

...

Starting pre-update checks ...

Checking app_appliance ...                        OK
Checking block_update_of_NT_DC ...                OK
Checking cyrus_integration ...                    OK
Checking disk_space ...                           OK
Checking hold_packages ...                        OK
Checking ldap_connection ...                      OK
Checking ldap_schema ...                          OK
...

§Chapter 4. Postprocessing of the update

Following the update, new or updated join scripts need to be executed. This can be done in two ways: Either using the UMC module Domain join or by running the command univention-run-join-scripts as user root.

Subsequently the UCS system needs to be restarted.

§Chapter 5. Notes on selected packages

§5.1. Collection of usage statistics

Anonymous usage statistics on the use of Univention Management Console are collected when using the UCS Core Edition. The modules opened get logged to an instance of the web traffic analysis tool Piwik. This makes it possible for Univention to tailor the development of Univention Management Console better to customer needs and carry out usability improvements.

This logging is only performed when the UCS Core Edition license is used. The license status can be verified via the menu entry License -> License information of the user menu in the upper right corner of Univention Management Console. If UCS Core Edition is listed under License type, this version is in use. When a regular UCS license is used, no usage statistics are collected.

Independent of the license used, the statistics generation can be deactivated by setting the Univention Configuration Registry variable umc/web/piwik to false.

§5.2. Scope of security support for WebKit, Konqueror and QtWebKit

WebKit, Konqueror and QtWebKit are shipped in the maintained branch of the UCS repository, but not covered by security support. WebKit is primarily used for displaying HTML help pages etc. Firefox should be used as web browser.

§5.3. Recommended browsers for the access to Univention Management Console

Univention Management Console uses numerous JavaScript and CSS functions to display the web interface. Cookies need to be permitted in the browser. The following browsers are recommended:

  • Chrome as of version 71

  • Firefox as of version 60

  • Safari and Safari Mobile as of version 12

  • Microsoft Edge as of version 18

As of this release Internet Explorer is not supported by Univention Management Console anymore.

Users running older browsers may experience display or performance issues.

§Chapter 6. Changelog

Listed are the changes since UCS 4.4-6:

§6.1. General

§6.2. Domain services

§6.2.1. OpenLDAP

§6.2.1.1. Listener/Notifier domain replication

§6.3. Univention Management Console

§6.3.1. Univention Management Console web interface

  • It is now possible to not download the meta.json from UMC, but the inexpensive one from Apache directly (Bug 52303).
  • The interval for polling of session infos has been changed from every 30 seconds to the time the session will end to reduce network workload (Bug 52321).
  • The cookie's path of the cookie banner is now valid for the whole domain (Bug 52222).
  • A Cookie Banner can now be shown in the Portal and on the login page. It can be enabled by setting the UCR variable umc/cookie-banner/show to true (Bug 50302).

§6.3.2. Univention Portal

  • The portal does not download the personalized meta.json, which would involve UMC. The portal does not need the additional information and may save one expensive request (Bug 52303).
  • The groups that are considered as administrators can be configured via the new UCR variable `portal/admin_groups'. Only users of these groups do one additional check whether the edit mode is available. This should improve performance if many non admin users log in (Bug 52302).
  • The evaluation whether or not a portal entry is visible now got a shortcut if the user is not logged in. This can improve the performance in certain situations considerably (Bug 52355).
  • Fetching the portal entries is not done multiple times anymore if it is not expected that the contents changed through the edit mode (Bug 52345).
  • A Cookie Banner can now be shown in the Portal and on the login page (Bug 50302).

§6.3.3. Univention Management Console server

  • The SAML authentication at the UMC server has been deferred to the first use of an UMC module (Bug 52297).
  • The SAML assertion lifetime is now configurable per service provider (Bug 52323).
  • Fetching /univention/get/meta involves a call to UMC. This is not always necessary. Now it is possible to fetch a stripped down static version instead. This patch moves the meta file into a public folder (Bug 52303).
  • To prevent connections between UMC web server and UMC server from being unexpectedly closed by a racing condition from the UMC server thus causing an error, handling of incoming connections in the UMC server has been improved. This problem previously only occurred in the new multi-process mode of the UMC server (Bug 52316).
  • The UMC server now runs with an additional UNIX socket. The communication between UMC webserver and UMC server therefore does not need to be TLS encrypted anymore so that the performance is improved (Bug 52274).
  • The interval for polling of session infos has been changed from every 30 seconds to the time the session will end to reduce network workload (Bug 52321).
  • The UMC web server now sets the HTTP reason phrase for 503 Service Unavailable errors (Bug 52318).
  • A memory optimization for SAML based sessions has been done in the UMC web server (Bug 52338).
  • Only relevant information about the SAML response is stored in the session (Bug 52296).
  • A log message has been removed which logged every session ID when cleaning up one session (Bug 52295).
  • Objects stored in sessions now define Python `__slots__`, to minimize the used memory (Bug 52294).
  • The regular interval for the processing of recurring tasks in the UMC server and UMC webserver can now be configured via UCR (Bug 52271).
  • The performance during login at UMC has been improved by using the C implementation of ElementTree for parsing module and category definitions (Bug 52253).
  • A Cookie Banner can now be shown in the Portal and on the login page (Bug 50302).
  • Adjustments for the Self-Service have been added (Bug 51607).

§6.3.4. Univention App Center

  • The UDM extension appcenter/app has been updated to be compatible to python3. The joinscript has been updated to specify a --ucsversionend option with the ucs_registerLDAPExtension calls. This is required in preparation for UCS 5.0 (Bug 52429).

§6.3.5. Univention Directory Manager UMC modules and command line interface

  • An error while creating users with a mailPrimaryAddress has been corrected which occurred when the app "Open-Xchange" is installed (Bug 51907).
  • User templates may now contain all attributes from the LDAP object class inetOrgPerson again (Bug 51364).
  • The list of copyable user attributes has been updated. Several odd attributes have been removed, e.g. firstname, lastname, jpegphoto (Bug 49823).

§6.3.6. Modules for system settings / setup wizard

  • The name of a specific meta.json file was changed. This change is internal (Bug 52303).
  • Fix to adjust to new firefox behavior. The userpref option toolkit.legacyUserProfileCustomizations.stylesheets has to be set to yes in order to make firefox load the system setup specific file userChrome.css (Bug 52160).

§6.3.7. Domain join module

  • univention-run-join-scripts now validates command line arguments and does not run all scripts if an unknown parameter is given (Bug 46985).
  • During the update from UCS 4.4 to UCS 5.0 the execution of joinscripts is postponed depending on the phase read from the updater status file. This change is a preparation for the upcoming update (Bug 51624).

§6.3.8. System diagnostic module

  • The usability of the univention-run-diagnostic-checks command line tool has been improved. It can now be called without parameters to execute all tests and it does not require a username and password to access `--help` any more (Bug 51942).

§6.3.9. Other modules

  • The users/user wizard can now be configured to enable the checkbox "Invite user via e-mail" by default via the UCR variable directory/manager/web/modules/users/user/wizard/property/invite/default (Bug 52046).

§6.4. Univention base libraries

  • The ucs_registerLDAPExtension offers an additional option --name which can be used to specify the RDN of the LDAP object. This can be useful if two versions of a UDM or LDAP extension need to be active simultaneously in the domain, e.g. one being only compatible to python2, but still required for UCS 4.4-based systems in the domain and another being only compatible to python3, required for the systems which at some point will have updated to UCS 5. This may be useful in preparation to the UCS 5.0 release (Bug 52433).
  • Evaluation of ucr variables in the function clean_old_backups has been fixed (Bug 51765).
  • Changing the value of the ldap/database/mdb/maxsize and listener/cache/mdb/maxsize variables to 4 GB (Bug 39167).
  • Setting of ucr backup/clean/max_age variable for new installations with default 365 (Bug 51765).

§6.5. Software deployment

  • The status information "phase" has been added to the status file of the Univention Updater /var/lib/univention-updater/univention-updater.status (Bug 52197).
  • Add command univention-prune-kernels to remove no longer needed kernel packages (Bug 51769).

§6.6. System services

§6.6.1. SAML

  • The SAML assertion lifetime is now configurable per service provider (Bug 52323).
  • The site does not download the personalized meta.json, which would involve UMC. The site does not need the additional information and may save one expensive request (Bug 52303).
  • Two unnecessary LDAP bind calls have been deferred to when they are actually needed (Bug 52278).
  • The file /var/lib/simplesamlphp/secrets.inc.php which contains the simplesamlphp administration password could be read by any local user (Bug 51922).
  • Fix listener to set correct permissions for /etc/simplesamlphp/serviceprovider_enabled_groups.json This fixes a bug where SAML permissions applied to groups could not be evaluated (Bug 51608).
  • The password change dialog was incorrectly shown even if an incorrect password was entered and the password was expired. This has been fixed (Bug 51903).

§6.6.2. Univention self service

  • The point in time for token validity and rate limiting is now stored in UTC (Bug 52362).
  • The token validity check has been repaired if the token was used one day later (Bug 52362).
  • The UCR Variable umc/self-service/passwordreset/token_validity_period is now evaluated correctly (Bug 51287).
  • The Self-Service module "Your Profile" can now be used while logged in (e.g via SAML) without re-entering credentials. The behavior will only be activated on new installations with UCS 4.4-7 and can be enabled manually by setting the UCR variable umc/self-service/allow-authenticated-use to true. When enabling the behavior all UCR variables for the Self-Service which are set on the DC Master must be set identically on the Self-Service System (Bug 51607).

§6.6.3. Mail services

  • The joinscript of univention-fetchmail has been updated to specify a --ucsversionend option with the ucs_registerLDAPExtension calls. This is required in preparation for UCS 5.0 (Bug 52426).
  • A new LDAP attribute was added to the mail schema for saving the new forwarding setting. For this, support was added for saving the mail forwarding setting in a dedicated LDAP attribute when UDM is used. In univention-mail-postfix support was added for using all LDAP query results for alias resolution, using a unionmap. This will be activated by default for all new installations. Existing installation must be manually migrated. Please refer to the upgrade instructions in: https://help.univention.com/t/migration-of-ldap-attribute-mailforwardcopytoself/16509 (Bug 45205).

§6.6.4. Postfix

  • The following UCR variables have been added for configuring Postfix: mail/postfix/{maximal_queue_lifetime,bounce_queue_lifetime, delay_warning_time} (Bug 51124).

§6.6.5. Apache

  • Various Apache configurations may now be configured via UCR variables. See the UCR variable information for more details. `apache2/min-spare-servers` `apache2/max-spare-servers` (Bug 52320).
  • Various Apache configurations may now be configured via UCR variables. See the UCR variable information for more details. apache2/server-limit apache2/start-servers apache2/min-spare-threads apache2/max-spare-threads apache2/threads-per-child apache2/server-signature apache2/server-tokens apache2/server-admin (Bug 51294).

§6.6.6. RADIUS

  • The joinscript has been updated to specify a --ucsversionend option with the ucs_registerLDAPExtension calls. This is required in preparation for UCS 5.0 (Bug 52427).

§6.7. Services for Windows

§6.7.1. Samba

  • The new UCR variable create/spn/account/timeout sets the timeout for how long the system waits for successful synchronization of the SPN account during a domain join. The default timeout has been increased to 10800s (Bug 51835).
  • Samba has been adjusted so that disabling insecure DES encryption will not create any rejects in the s4-connector at user creation or password change any more (Bug 46745).

§6.7.2. Univention S4 Connector

  • The UDM extensions have been updated to be compatible to python3. The joinscript has been updated to specify a --ucsversionend option with the ucs_registerLDAPExtension calls. This is required in preparation for UCS 5.0 (Bug 52428).
  • The group membership synchronization after moving objects has been fixed (Bug 52364).
  • The S4 connector has been adjusted so that disabling insecure DES encryption types for Samba Kerberos will not create rejects on user creation or password change any more (Bug 46745).
  • The synchronization of the CN=Default Domain Policy,CN=System container can now be enabled with the UCR variable connector/s4/mapping/domainpolicy=yes. The schema file n_domainpolicy.schema has to be activated beforehand. See the manual for more information (Bug 51782).

§6.7.3. Univention Active Directory Connection

  • The AD Connector Mapping is now customizable via the file /etc/univention/connector/localmapping.py. The manual has details on how to write this file (Bug 49981).
  • The group membership synchronization after moving objects has been fixed (Bug 51929).
  • The flag pwdChangeNextLogin was incorrectly unset during the sync to UCS if the password was reset without changing the flag pwdChangeNextLogin. This behavior has been fixed (Bug 51501).
  • If the transport connection is unexpectedly interrupted during a password synchronization, the AD connector will now reopen the connection and retry the sync (Bug 51904).

§6.8. Other changes

  • Expose LDAP extended error message (Bug 51903).