diff options
author | Garming Sam <garming@catalyst.net.nz> | 2016-07-20 13:37:47 +1200 |
---|---|---|
committer | Garming Sam <garming@samba.org> | 2016-07-21 06:37:08 +0200 |
commit | 6212836e4e800bfb3e5c8e1253c215dc7744b030 (patch) | |
tree | 54201c086b918dcbc25367482d2efee1668877eb /python | |
parent | 289d0900ed1d0da4a3d1184938fac6a384db07a3 (diff) | |
download | samba-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.py | 10 |
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): |