diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/host_record.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/host_record.py index 9b68c97..8544485 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/host_record.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/host_record.py @@ -30,6 +30,7 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import re import ipaddr import string @@ -234,6 +235,7 @@ def lookup(co, lo, filter_s, base='', superordinate=None, scope="sub", unique=Fa filter.expressions.append(univention.admin.filter.expression('zoneName', superordinate.mapping.mapValue('zone', superordinate['zone']))) if filter_s: + filter_s = re.sub('(?:^|\()a=([^)]+)(?:$|\))', lambda m: '(|(aRecord=%(a)s)(aAAARecord=%(a)s))' % {'a': m.group(1)}, filter_s) filter_p = univention.admin.filter.parse(filter_s) univention.admin.filter.walk(filter_p, univention.admin.mapping.mapRewrite, arg=mapping) filter.expressions.append(filter_p)