summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2016-07-20 13:37:47 +1200
committerGarming Sam <garming@samba.org>2016-07-21 06:37:08 +0200
commit6212836e4e800bfb3e5c8e1253c215dc7744b030 (patch)
tree54201c086b918dcbc25367482d2efee1668877eb /python
parent289d0900ed1d0da4a3d1184938fac6a384db07a3 (diff)
downloadsamba-6212836e4e800bfb3e5c8e1253c215dc7744b030.tar.gz
join.py: Ensure that all expressions are escaped
BUG: https://bugzilla.samba.org/show_bug.cgi?id=9200 Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'python')
-rw-r--r--python/samba/join.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/python/samba/join.py b/python/samba/join.py
index 10cc5a38b10..091efaf3125 100644
--- a/python/samba/join.py
+++ b/python/samba/join.py
@@ -140,10 +140,11 @@ class dc_join(object):
ctx.domaindns_zone = 'DC=DomainDnsZones,%s' % ctx.base_dn
ctx.forestdns_zone = 'DC=ForestDnsZones,%s' % ctx.root_dn
+ expr = "(&(objectClass=crossRef)(ncName=%s))" % ldb.binary_encode(ctx.domaindns_zone)
res_domaindns = ctx.samdb.search(scope=ldb.SCOPE_ONELEVEL,
attrs=[],
base=ctx.samdb.get_partitions_dn(),
- expression="(&(objectClass=crossRef)(ncName=%s))" % ctx.domaindns_zone)
+ expression=expr)
if dns_backend is None:
ctx.dns_backend = "NONE"
else:
@@ -320,21 +321,22 @@ class dc_join(object):
'''get netbios name of the domain from the partitions record'''
partitions_dn = ctx.samdb.get_partitions_dn()
res = ctx.samdb.search(base=partitions_dn, scope=ldb.SCOPE_ONELEVEL, attrs=["nETBIOSName"],
- expression='ncName=%s' % ctx.samdb.get_default_basedn())
+ expression='ncName=%s' % ldb.binary_encode(str(ctx.samdb.get_default_basedn())))
return res[0]["nETBIOSName"][0]
def get_forest_domain_name(ctx):
'''get netbios name of the domain from the partitions record'''
partitions_dn = ctx.samdb.get_partitions_dn()
res = ctx.samdb.search(base=partitions_dn, scope=ldb.SCOPE_ONELEVEL, attrs=["nETBIOSName"],
- expression='ncName=%s' % ctx.samdb.get_root_basedn())
+ expression='ncName=%s' % ldb.binary_encode(str(ctx.samdb.get_root_basedn())))
return res[0]["nETBIOSName"][0]
def get_parent_partition_dn(ctx):
'''get the parent domain partition DN from parent DNS name'''
res = ctx.samdb.search(base=ctx.config_dn, attrs=[],
expression='(&(objectclass=crossRef)(dnsRoot=%s)(systemFlags:%s:=%u))' %
- (ctx.parent_dnsdomain, ldb.OID_COMPARATOR_AND, samba.dsdb.SYSTEM_FLAG_CR_NTDS_DOMAIN))
+ (ldb.binary_encode(ctx.parent_dnsdomain),
+ ldb.OID_COMPARATOR_AND, samba.dsdb.SYSTEM_FLAG_CR_NTDS_DOMAIN))
return str(res[0].dn)
def get_naming_master(ctx):