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]