diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/domaincontroller_backup.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/domaincontroller_backup.py index ece5b58..a10eb44 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/domaincontroller_backup.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/domaincontroller_backup.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -484,7 +486,7 @@ def open(self): def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) if not self['password']: self['password']=self.oldattr.get('password',[''])[0] self.modifypassword=0 diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/domaincontroller_master.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/domaincontroller_master.py index 8876258..e634f34 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/domaincontroller_master.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/domaincontroller_master.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -483,7 +485,7 @@ def open(self): def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) if not self['password']: self['password']=self.oldattr.get('password',[''])[0] self.modifypassword=0 diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/domaincontroller_slave.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/domaincontroller_slave.py index 4e50d4d..12ce41b 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/domaincontroller_slave.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/domaincontroller_slave.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -485,7 +487,7 @@ def open(self): def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) if not self['password']: self['password']=self.oldattr.get('password',[''])[0] self.modifypassword=0 diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/ipmanagedclient.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/ipmanagedclient.py index 7718799..af4283e 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/ipmanagedclient.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/ipmanagedclient.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -267,7 +269,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) self.nagios_ldap_pre_create() univention.admin.handlers.simpleComputer._ldap_pre_create( self ) diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/linux.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/linux.py index 4204357..c4925d2 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/linux.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/linux.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -413,7 +415,7 @@ def open(self): def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) if not self['password']: self['password']=self.oldattr.get('password',[''])[0] self.modifypassword=0 diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/macos.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/macos.py index 3d2647f..b1d481c 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/macos.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/macos.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -425,7 +427,7 @@ def open(self): def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) if not self['password']: self['password']=self.oldattr.get('password',[''])[0] self.modifypassword=0 diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/memberserver.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/memberserver.py index dde238a..5aa6da9 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/memberserver.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/memberserver.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -478,7 +480,7 @@ def open(self): def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) if not self['password']: self['password']=self.oldattr.get('password',[''])[0] self.modifypassword=0 diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/trustaccount.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/trustaccount.py index ecb4b40..592a371 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/trustaccount.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/trustaccount.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.config @@ -126,7 +128,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/ubuntu.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/ubuntu.py index 0cf0a33..89ebffd 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/ubuntu.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/ubuntu.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -413,7 +415,7 @@ def open(self): def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) if not self['password']: self['password']=self.oldattr.get('password',[''])[0] self.modifypassword=0 diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/windows.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/windows.py index 04540f2..c235a0a 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/windows.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/windows.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -442,7 +444,7 @@ def open(self): def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) if not self['password']: self['password']=self.oldattr.get('password',[''])[0] self.modifypassword=0 diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/windows_domaincontroller.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/windows_domaincontroller.py index 4538de5..adcc894 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/windows_domaincontroller.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/windows_domaincontroller.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -451,7 +453,7 @@ def open(self): def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) if not self['password']: self['password']=self.oldattr.get('password',[''])[0] self.modifypassword=0 diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/container/cn.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/container/cn.py index 811433f..f37f76d 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/container/cn.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/container/cn.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.uldap import univention.admin.syntax @@ -245,7 +247,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_post_create(self): changes=[] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/container/dc.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/container/dc.py index a516403..016785f 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/container/dc.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/container/dc.py @@ -213,7 +213,7 @@ def open(self): iself._remove_option('kerberos') def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): ocs=['top', 'domain', 'sambaDomain', 'univentionDomain', 'univentionBase'] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/container/ou.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/container/ou.py index 9447547..95896ac 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/container/ou.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/container/ou.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group from univention.admin import configRegistry import univention.admin.uldap @@ -247,7 +249,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) if configRegistry.is_false('directory/manager/child/cn/ou', True): if self.position.getDn() != configRegistry.get('ldap/base'): # it is possible to have a basedn with cn=foo diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/host.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/host.py index a0c4b17..3e68725 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/host.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/host.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -132,7 +134,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('host'), mapping.mapValue('host', self.info['host']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('host'), ldap.dn.escape_dn_chars(mapping.mapValue('host', self.info['host'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/pool.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/pool.py index e65a511..c04efff 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/pool.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/pool.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import copy import string @@ -191,7 +193,7 @@ def open(self): def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/server.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/server.py index fbce8be..2dd4bbd 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/server.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/server.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -96,7 +98,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('server'), mapping.mapValue('server', self.info['server']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('server'), ldap.dn.escape_dn_chars(mapping.mapValue('server', self.info['server'])), self.position.getDn()) def _ldap_addlist(self): searchBase=self.position.getDomain() diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/service.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/service.py index 2c2e296..ea4a212 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/service.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/service.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -91,7 +93,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('service'), mapping.mapValue('service', self.info['service']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('service'), ldap.dn.escape_dn_chars(mapping.mapValue('service', self.info['service'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/shared.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/shared.py index b0bd9b3..2379e76 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/shared.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/shared.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -97,7 +99,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/sharedsubnet.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/sharedsubnet.py index bb2dc23..92a0f1f 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/sharedsubnet.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/sharedsubnet.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import string from univention.admin.layout import Tab, Group @@ -141,7 +143,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('subnet'), mapping.mapValue('subnet', self.info['subnet']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('subnet'), ldap.dn.escape_dn_chars(mapping.mapValue('subnet', self.info['subnet'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/subnet.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/subnet.py index bc005c9..876d5d7 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/subnet.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/subnet.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import string from univention.admin.layout import Tab, Group @@ -148,7 +150,7 @@ def open(self): def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('subnet'), mapping.mapValue('subnet', self.info['subnet']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('subnet'), ldap.dn.escape_dn_chars(mapping.mapValue('subnet', self.info['subnet'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/alias.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/alias.py index fa4c238..5c53872 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/alias.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/alias.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import re import string @@ -123,7 +125,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [], univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/forward_zone.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/forward_zone.py index 32f74cd..9d2dd71 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/forward_zone.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/forward_zone.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import ipaddr from univention.admin.layout import Tab, Group @@ -273,7 +275,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('zone'), mapping.mapValue('zone', self.info['zone']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('zone'), ldap.dn.escape_dn_chars(mapping.mapValue('zone', self.info['zone'])), self.position.getDn()) def _ldap_addlist(self): return [ 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 5708bc1..a3564ab 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,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import ipaddr import string @@ -174,7 +176,7 @@ def open(self): self.info['a'].extend( map(lambda x: ipaddr.IPv6Address(x).exploded, self.oldattr['aAAARecord'])) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/ptr_record.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/ptr_record.py index 873e566..5686412 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/ptr_record.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/ptr_record.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin import univention.admin.handlers @@ -104,7 +106,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [], univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('address'), mapping.mapValue('address', self['address']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('address'), ldap.dn.escape_dn_chars(mapping.mapValue('address', self['address'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/reverse_zone.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/reverse_zone.py index c9e7f8a..975cda3 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/reverse_zone.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/reverse_zone.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group from univention.admin import configRegistry @@ -244,7 +246,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('subnet'), mapping.mapValue('subnet', self.info['subnet']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('subnet'), ldap.dn.escape_dn_chars(mapping.mapValue('subnet', self.info['subnet'])), self.position.getDn()) def _ldap_modlist(self): ml=univention.admin.handlers.simpleLdap._ldap_modlist(self) diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/srv_record.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/srv_record.py index 4523a90..5951f9a 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/srv_record.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/srv_record.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import string from univention.admin.layout import Tab, Group @@ -145,7 +147,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [], univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/txt_record.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/txt_record.py index 91fe645..7a0a786 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/txt_record.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/txt_record.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import string from univention.admin.layout import Tab, Group @@ -119,7 +121,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [], univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/groups/group.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/groups/group.py index 5681c7d..64d82ec 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/groups/group.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/groups/group.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import copy import time import ldap @@ -535,7 +537,7 @@ def _check_uid_gid_uniqueness(self): raise univention.admin.uexceptions.gidNumberAlreadyUsedAsUidNumber, '%r' % self["gidNumber"] def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) self.check_for_group_recursion() self._check_uid_gid_uniqueness() diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/kerberos/kdcentry.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/kerberos/kdcentry.py index 51e7898..fb4f730 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/kerberos/kdcentry.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/kerberos/kdcentry.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -197,7 +199,7 @@ def _set_principal(self): def _ldap_pre_create(self): self._set_principal() - self.dn='krb5PrincipalName=%s,%s' % (self.krb5PrincipalName, self.position.getDn()) + self.dn = 'krb5PrincipalName=%s,%s' % (ldap.dn.escape_dn_chars(self.krb5PrincipalName), self.position.getDn()) def _ldap_modlist( self ): ml=univention.admin.handlers.simpleLdap._ldap_modlist( self ) diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/managedclient.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/managedclient.py index 48be4a6..b71ddb0 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/managedclient.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/managedclient.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -424,7 +426,7 @@ def open(self): # self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) if not self['password']: self['password']=self.oldattr.get('password',[''])[0] self.modifypassword=0 diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/mobileclient.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/mobileclient.py index 95ebcd8..d747910 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/mobileclient.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/mobileclient.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -421,7 +423,7 @@ def open(self): # self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) if not self['password']: self['password']=self.oldattr.get('password',[''])[0] self.modifypassword=0 diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/thinclient.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/thinclient.py index 3e7e03c..847839e 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/thinclient.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/thinclient.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -264,7 +266,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) univention.admin.handlers.simpleComputer._ldap_pre_create( self ) def _ldap_pre_modify(self): diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/clientdevices.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/clientdevices.py index bef08d7..386fce3 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/clientdevices.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/clientdevices.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -124,7 +126,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyClientDevices']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/managedclientpackages.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/managedclientpackages.py index 97f0f84..810bf35 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/managedclientpackages.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/managedclientpackages.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -137,7 +139,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyPackagesClient']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/mobileclientpackages.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/mobileclientpackages.py index d0c126d..3ec2660 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/mobileclientpackages.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/mobileclientpackages.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -137,7 +139,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyPackagesMobileClient']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/sound.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/sound.py index 03bcfc8..4895e08 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/sound.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/sound.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -138,7 +140,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicySoundConfiguration']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/thinclient.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/thinclient.py index b198fdf..fb44185 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/thinclient.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/thinclient.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -175,7 +177,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyThinClient']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/xfree.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/xfree.py index 7684b62..fd7604d 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/xfree.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/xfree.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -429,7 +431,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/domain.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/domain.py index e459c4f..9dd1e5d 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/domain.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/domain.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -94,7 +96,7 @@ def open(self): univention.admin.handlers.simpleLdap.open(self) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name'].lower()), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'].lower())), self.position.getDn()) def _ldap_addlist(self): ocs=[] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/folder.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/folder.py index 6d24bc9..def108d 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/folder.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/folder.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -204,7 +206,7 @@ def description( self ): return '%s@%s' % ( self[ 'name' ], self[ 'mailDomain' ] ) def _ldap_pre_create(self): - self.dn='cn=%s@%s,%s' % (self.info['name'], self.info['mailDomain'], self.position.getDn()) + self.dn = 'cn=%s@%s,%s' % (ldap.dn.escape_dn_chars(self.info['name']), ldap.dn.escape_dn_chars(self.info['mailDomain']), self.position.getDn()) def _ldap_post_create(self): if self[ 'mailPrimaryAddress' ]: diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/lists.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/lists.py index b71db73..51f7edb 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/lists.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/lists.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -165,7 +167,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_post_create(self): if self[ 'mailAddress' ]: diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/nagios/service.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/nagios/service.py index 03384d2..58852fb 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/nagios/service.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/nagios/service.py @@ -31,6 +31,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import re from univention.admin.layout import Tab, Group @@ -340,7 +342,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_post_create(self): pass diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/nagios/timeperiod.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/nagios/timeperiod.py index 583a517..d0916e8 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/nagios/timeperiod.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/nagios/timeperiod.py @@ -31,6 +31,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import re from univention.admin.layout import Tab, Group @@ -216,7 +218,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_post_create(self): pass diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/networks/network.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/networks/network.py index 0ff7504..2524748 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/networks/network.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/networks/network.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import ipaddr import string import ldap @@ -250,7 +252,7 @@ def _ldap_post_remove(self): univention.debug.debug(univention.debug.ADMIN, univention.debug.ERROR, 'Failed to remove network %s from %s: %s' % (self.dn, computer.dn, traceback.format_exc())) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): if not self['nextIp']: diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/admin_container.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/admin_container.py index a8fc679..9f58428 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/admin_container.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/admin_container.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -126,7 +128,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyAdminContainerSettings']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/autostart.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/autostart.py index 77a9c6c..594fada 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/autostart.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/autostart.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -125,7 +127,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyAutoStart']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/desktop.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/desktop.py index b048a7d..526ea52 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/desktop.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/desktop.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -164,7 +166,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyDesktop']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_boot.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_boot.py index aa8bc48..ddfb645 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_boot.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_boot.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -140,7 +142,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_dns.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_dns.py index f5a5aaa..ca07770 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_dns.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_dns.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -140,7 +142,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_dnsupdate.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_dnsupdate.py index 8387d3b..d541902 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_dnsupdate.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_dnsupdate.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -215,7 +217,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_leasetime.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_leasetime.py index 59f75b4..f5013f1 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_leasetime.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_leasetime.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -160,7 +162,7 @@ def __setitem__(self, key, value): univention.admin.handlers.simplePolicy.__setitem__(self, key, value) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_netbios.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_netbios.py index 9e95869..53ff429 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_netbios.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_netbios.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -152,7 +154,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_routing.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_routing.py index 4a0f59f..a10c81a 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_routing.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_routing.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -127,7 +129,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_scope.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_scope.py index 443c6cc..d7e7c43 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_scope.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_scope.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -177,7 +179,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_statements.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_statements.py index 44d020a..ba4e55b 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_statements.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/dhcp_statements.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -189,7 +191,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/ldapserver.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/ldapserver.py index ca2dbd2..0b56fff 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/ldapserver.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/ldapserver.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -128,7 +130,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyLDAPServer']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/maintenance.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/maintenance.py index fa0ac78..0c28adb 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/maintenance.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/maintenance.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -251,7 +253,7 @@ def __getitem__(self, key): return value def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyInstallationTime']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/masterpackages.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/masterpackages.py index b095a9d..4aedf98 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/masterpackages.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/masterpackages.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -141,7 +143,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyPackagesMaster']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/memberpackages.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/memberpackages.py index 1383516..84f0e81 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/memberpackages.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/memberpackages.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -141,7 +143,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyPackagesMember']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/nfsmounts.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/nfsmounts.py index c999c86..7043d76 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/nfsmounts.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/nfsmounts.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -134,7 +136,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyNFSMounts']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/print_quota.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/print_quota.py index a63a150..140008b 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/print_quota.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/print_quota.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -168,7 +170,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) self.check_entries() def _ldap_pre_modify(self): diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/printserver.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/printserver.py index 9ed3b0a..949b590 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/printserver.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/printserver.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -128,7 +130,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyPrintServer']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/pwhistory.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/pwhistory.py index b9c4841..3c124a0 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/pwhistory.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/pwhistory.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -166,7 +168,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyPWHistory']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/registry.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/registry.py index 8f912b2..85ce889 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/registry.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/registry.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -181,7 +183,7 @@ def _custom_policy_result_map( self ): self.polinfo = self._post_unmap( self.polinfo, values ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/release.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/release.py index d758ee9..18be291 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/release.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/release.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -140,7 +142,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyUpdate']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/repositoryserver.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/repositoryserver.py index c02415d..4c04fc8 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/repositoryserver.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/repositoryserver.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -129,7 +131,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyRepositoryServer']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/repositorysync.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/repositorysync.py index 7835770..8392de5 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/repositorysync.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/repositorysync.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -205,7 +207,7 @@ def __getitem__(self, key): def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyRepositorySync']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/share_userquota.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/share_userquota.py index cb1db50..d9bc337 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/share_userquota.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/share_userquota.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -179,7 +181,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyShareUserQuota']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/slavepackages.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/slavepackages.py index ff09110..a3f1cb4 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/slavepackages.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/slavepackages.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -141,7 +143,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simplePolicy.__init__(self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPolicy', 'univentionPolicyPackagesSlave']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/umc.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/umc.py index fb65e0d..ccc5b0f 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/umc.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/umc.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax as udm_syntax import univention.admin.filter as udm_filter @@ -128,7 +130,7 @@ def __init__( self, co, lo, position, dn = '', superordinate = None, attributes simplePolicy.__init__( self, co, lo, position, dn, superordinate, attributes ) def _ldap_pre_create( self ): - self.dn = '%s=%s,%s' % (mapping.mapName( 'name' ), mapping.mapValue( 'name', self.info[ 'name' ] ), self.position.getDn() ) + self.dn = '%s=%s,%s' % (mapping.mapName( 'name' ), ldap.dn.escape_dn_chars(mapping.mapValue( 'name', self.info[ 'name' ] )), self.position.getDn() ) def _ldap_addlist( self ): return [ ( 'objectClass', [ 'top', 'univentionPolicy', 'umcPolicy' ] ) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/cn.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/cn.py index 40d0cd1..8afe491 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/cn.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/cn.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.uldap import univention.admin.syntax @@ -81,7 +83,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/default.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/default.py index a7a842a..539519e 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/default.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/default.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.handlers import univention.admin.password @@ -186,7 +188,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='cn=default containers,cn=univention,%s' % (self.position.getDomain()) + self.dn = 'cn=default containers,cn=univention,%s' % (self.position.getDomain()) def _ldap_addlist(self): return [('objectClass', ['top', 'univentionDefault'] ) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/directory.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/directory.py index 465b549..a3cdb45 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/directory.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/directory.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -243,7 +245,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='cn=%s,cn=univention,%s' % (self['name'], self.position.getDomain()) + self.dn = 'cn=%s,cn=univention,%s' % (ldap.dn.escape_dn_chars(self['name']), self.position.getDomain()) def _ldap_addlist(self): return [('objectClass', ['top', 'univentionDirectory'] ) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/extended_attribute.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/extended_attribute.py index 0d3ece6..2d26594 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/extended_attribute.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/extended_attribute.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -463,7 +465,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [('objectClass', ['top', 'univentionUDMProperty'] ) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/extended_options.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/extended_options.py index 22d6a79..689f67d 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/extended_options.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/extended_options.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -183,7 +185,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] def _ldap_pre_create(self): """Create DN.""" - self.dn = '%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): """Add initial objectClasses.""" diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapacl.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapacl.py index 140d899..c63afb2 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapacl.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapacl.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import os from univention.admin.layout import Tab, Group @@ -200,7 +202,7 @@ def open(self): univention.admin.handlers.simpleLdap.open(self) def _ldap_pre_create(self): - self.dn='cn=%s,%s' % ( mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = 'cn=%s,%s' % ( ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): ocs=['top', 'univentionObjectMetadata', OC] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapschema.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapschema.py index fca8760..af4f1ab 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapschema.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapschema.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import os from univention.admin.layout import Tab, Group @@ -174,7 +176,7 @@ def open(self): univention.admin.handlers.simpleLdap.open(self) def _ldap_pre_create(self): - self.dn='cn=%s,%s' % ( mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = 'cn=%s,%s' % ( ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): ocs=['top', 'univentionObjectMetadata', OC] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/license.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/license.py index c8b35b1..ae91df2 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/license.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/license.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -368,7 +370,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionLicense']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/packages.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/packages.py index 46d8fac..ba9468d 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/packages.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/packages.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -101,7 +103,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPackageList']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/printermodel.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/printermodel.py index f635c14..c196ece 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/printermodel.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/printermodel.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import shlex from univention.admin.layout import Tab, Group @@ -114,7 +116,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPrinterModels']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/printeruri.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/printeruri.py index b14f945..842e997 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/printeruri.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/printeruri.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -103,7 +105,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionPrinterURIs']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/prohibited_username.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/prohibited_username.py index 81c9aaf..9b967cf 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/prohibited_username.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/prohibited_username.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.syntax import univention.admin.filter @@ -101,7 +103,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionProhibitedUsernames']) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/sambaconfig.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/sambaconfig.py index feebd35..c6bd9ab 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/sambaconfig.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/sambaconfig.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -225,7 +227,7 @@ def open(self): univention.admin.handlers.simpleLdap.open(self) def _ldap_pre_create(self): - self.dn='cn=%s,%s' % ( mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = 'cn=%s,%s' % ( ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): ocs=['top', 'univentionSambaConfig'] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/sambadomain.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/sambadomain.py index e13e098..d82f016 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/sambadomain.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/sambadomain.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import os from univention.admin.layout import Tab, Group @@ -332,7 +334,7 @@ def open(self): self['domainPasswordStoreCleartext'] = '1' def _ldap_pre_create(self): - self.dn='sambaDomainName=%s,%s' % ( mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = 'sambaDomainName=%s,%s' % ( ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) self.__update_password_properties() def _ldap_pre_modify(self): diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/service.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/service.py index ae4e617..f373556 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/service.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/service.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -91,7 +93,7 @@ def open(self): univention.admin.handlers.simpleLdap.open(self) def _ldap_pre_create(self): - self.dn='cn=%s,%s' % ( mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = 'cn=%s,%s' % ( ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): ocs=['univentionServiceObject'] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/syntax.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/syntax.py index dfe9b6f..d32a475 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/syntax.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/syntax.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_hook.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_hook.py index ad4e104..32e9376 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_hook.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_hook.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import os from univention.admin.layout import Tab, Group @@ -200,7 +202,7 @@ def open(self): univention.admin.handlers.simpleLdap.open(self) def _ldap_pre_create(self): - self.dn='cn=%s,%s' % ( mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = 'cn=%s,%s' % ( ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): ocs=['top', 'univentionObjectMetadata', OC] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_module.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_module.py index e48d6b5..1b8c004 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_module.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_module.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -236,7 +238,7 @@ def open(self): univention.admin.handlers.simpleLdap.open(self) def _ldap_pre_create(self): - self.dn='cn=%s,%s' % ( mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = 'cn=%s,%s' % ( ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): ocs=['top', 'univentionObjectMetadata', OC] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_syntax.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_syntax.py index 218dd29..a1fe87c 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_syntax.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_syntax.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import os from univention.admin.layout import Tab, Group @@ -200,7 +202,7 @@ def open(self): univention.admin.handlers.simpleLdap.open(self) def _ldap_pre_create(self): - self.dn='cn=%s,%s' % ( mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = 'cn=%s,%s' % ( ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): ocs=['top', 'univentionObjectMetadata', OC] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/umc_operationset.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/umc_operationset.py index 6517dda..5457044 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/umc_operationset.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/umc_operationset.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter as udm_filter import univention.admin.syntax as udm_syntax @@ -141,7 +143,7 @@ def __init__( self, co, lo, position, dn = '', superordinate = None, attributes simpleLdap.__init__( self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create( self ): - self.dn='%s=%s,%s' % ( mapping.mapName( 'name' ), mapping.mapValue( 'name', self.info[ 'name' ] ), self.position.getDn() ) + self.dn = '%s=%s,%s' % ( mapping.mapName( 'name' ), ldap.dn.escape_dn_chars(mapping.mapValue( 'name', self.info[ 'name' ] )), self.position.getDn() ) def _ldap_addlist( self ): return [ ( 'objectClass', [ 'top', 'umcOperationSet' ] ) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/usertemplate.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/usertemplate.py index 07fad34..f7851ab 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/usertemplate.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/usertemplate.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -453,7 +455,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] mungeddial.Support.__init__( self ) def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): return [ ('objectClass', ['top', 'univentionUserTemplate'] ) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/xconfig_choices.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/xconfig_choices.py index 7d841e0..116586e 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/xconfig_choices.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/xconfig_choices.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + from univention.admin.layout import Tab, Group import univention.admin.filter import univention.admin.handlers @@ -205,7 +207,7 @@ def __init__(self, co, lo, position, dn='', superordinate=None, attributes = [] univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes = attributes ) def _ldap_pre_create(self): - self.dn='cn=%s,cn=univention,%s' % (self['name'], self.position.getDomain()) + self.dn = 'cn=%s,cn=univention,%s' % (ldap.dn.escape_dn_chars(self['name']), self.position.getDomain()) def _ldap_addlist(self): return [('objectClass', ['top', 'univentionXConfigurationChoices'] ) ] diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/printer.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/printer.py index e2d02f8..09fcc54 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/printer.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/printer.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import re import string @@ -313,7 +315,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) # cut off '/' at the beginning of the destination if it exists and protocol is file:/ if self[ 'uri' ] and self[ 'uri' ][ 0 ] == 'file:/' and self[ 'uri' ][ 1 ][ 0 ] == '/': self[ 'uri' ][ 1 ] = re.sub( r'^/+', '', self[ 'uri' ][ 1 ] ) diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/printergroup.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/printergroup.py index 00eb6e1..8511c08 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/printergroup.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/printergroup.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import string from univention.admin.layout import Tab, Group @@ -174,7 +176,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) self.isValidPrinterObject() #check all members diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/share.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/share.py index fac285a..37de111 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/share.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/share.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import re import copy @@ -856,7 +858,7 @@ def open(self): self.save() def _ldap_pre_create(self): - self.dn='%s=%s,%s' % (mapping.mapName('name'), mapping.mapValue('name', self.info['name']), self.position.getDn()) + self.dn = '%s=%s,%s' % (mapping.mapName('name'), ldap.dn.escape_dn_chars(mapping.mapValue('name', self.info['name'])), self.position.getDn()) def _ldap_addlist(self): diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/users/user.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/users/user.py index b8d84dd..bdb5f77 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/users/user.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/users/user.py @@ -30,6 +30,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import ldap + import hashlib import os import string @@ -1776,7 +1778,7 @@ def _check_uid_gid_uniqueness(self): def _ldap_pre_create(self): _d=univention.debug.function('admin.handlers.users.user.object._ldap_pre_create') - self.dn='uid=%s,%s' % ( self['username'], self.position.getDn()) + self.dn = 'uid=%s,%s' % (ldap.dn.escape_dn_chars(self['username']), self.position.getDn()) univention.debug.debug(univention.debug.ADMIN, univention.debug.INFO, 'users/user: dn was set to %s'%self.dn) if not self['password']: self['password']=self.oldattr.get('password',[''])[0]