diff --git a/management/univention-management-console-module-diagnostic/umc/python/diagnostic/plugins/46_kerberos_ddns_update.py b/management/univention-management-console-module-diagnostic/umc/python/diagnostic/plugins/46_kerberos_ddns_update.py index 64623f8371..5b0eb00bae 100755 --- a/management/univention-management-console-module-diagnostic/umc/python/diagnostic/plugins/46_kerberos_ddns_update.py +++ b/management/univention-management-console-module-diagnostic/umc/python/diagnostic/plugins/46_kerberos_ddns_update.py @@ -135,7 +135,7 @@ def check_nsupdate(config_registry): def run(_umc_instance): - if util.is_service_active('Samba 3'): + if not util.is_service_available('Samba 4'): return # ddns updates are not possible config_registry = univention.config_registry.ConfigRegistry() diff --git a/management/univention-management-console-module-diagnostic/umc/python/diagnostic/util.py b/management/univention-management-console-module-diagnostic/umc/python/diagnostic/util.py index 90399dbf99..e05a52cd90 100644 --- a/management/univention-management-console-module-diagnostic/umc/python/diagnostic/util.py +++ b/management/univention-management-console-module-diagnostic/umc/python/diagnostic/util.py @@ -45,3 +45,11 @@ def is_service_active(service): return True return False +def is_service_available(service): + lo = univention.uldap.getMachineConnection() + raw_filter = '(univentionService=%s)' + filter_expr = ldap.filter.filter_format(raw_filter, (service,)) + for (dn, _attr) in lo.search(filter_expr, attr=['cn']): + if dn is not None: + return True + return False