attrs=["objectSid"])
dnsadmins_sid = ndr_unpack(security.dom_sid, res[0]["objectSid"][0])
self.name_map['DnsAdmins'] = str(dnsadmins_sid)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e5:
+ (enum, estr) = e5.args
if enum != ldb.ERR_NO_SUCH_OBJECT:
raise
pass
self.compatibleFeatures = res[0]["compatibleFeatures"]
if "requiredFeatures" in res[0]:
self.requiredFeatures = res[0]["requiredFeatures"]
- except ldb.LdbError as (enum, estr):
+ except ldb.LdbError as e6:
+ (enum, estr) = e6.args
if enum != ldb.ERR_NO_SUCH_OBJECT:
raise
pass
"CN=Deleted Objects\\0ACNF:%s" % str(misc.GUID(guid)))
conflict_dn.add_base(nc)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e2:
+ (enum, estr) = e2.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
pass
else:
if conflict_dn is not None:
try:
self.samdb.rename(dn, conflict_dn, ["show_deleted:1", "relax:0", "show_recycled:1"])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e1:
+ (enum, estr) = e1.args
self.report("Couldn't move old Deleted Objects placeholder: %s to %s: %s" % (dn, conflict_dn, estr))
return 1
try:
res = self.samdb.search(base=str(dsdb_dn.dn), scope=ldb.SCOPE_BASE,
attrs=[], controls=controls)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e7:
+ (enum, estr) = e7.args
self.report("unable to find object for DN %s - (%s)" % (dsdb_dn.dn, estr))
if enum != ldb.ERR_NO_SUCH_OBJECT:
raise
try:
res = self.samdb.search(base=str(dn), scope=ldb.SCOPE_BASE,
attrs=attrs, controls=controls)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e8:
+ (enum, estr) = e8.args
if enum != ldb.ERR_NO_SUCH_OBJECT:
raise
controls=["extended_dn:1:1",
"search_options:1:2",
"paged_results:1:1000"])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e9:
+ (enum, estr) = e9.args
raise
for r in res:
attrs=attrs, controls=["extended_dn:1:1", "show_recycled:1",
"reveal_internals:0"
])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e3:
+ (enum, estr) = e3.args
if enum != ldb.ERR_NO_SUCH_OBJECT:
raise
instancetype |= dsdb.INSTANCE_TYPE_IS_NC_HEAD
try:
self.samdb.search(base=dn.parent(), scope=ldb.SCOPE_BASE, attrs=[], controls=["show_recycled:1"])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e4:
+ (enum, estr) = e4.args
if enum != ldb.ERR_NO_SUCH_OBJECT:
raise
else:
"reveal_internals:0",
],
attrs=attrs)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e10:
+ (enum, estr) = e10.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
if self.in_transaction:
self.report("ERROR: Object %s disappeared during check" % dn)
if dn != self.samdb.get_root_basedn() and str(dn.parent()) not in self.dn_set:
res = self.samdb.search(base=dn.parent(), scope=ldb.SCOPE_BASE,
controls=["show_recycled:1", "show_deleted:1"])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e11:
+ (enum, estr) = e11.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
self.err_missing_parent(obj)
error_count += 1
try:
res = self.samdb.search(base="<SID=%s>" % sid, scope=ldb.SCOPE_BASE,
attrs=[])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e:
+ (enum, estr) = e.args
if enum != ldb.ERR_NO_SUCH_OBJECT:
raise
res = None
try:
ctx.samdb.search(scope=ldb.SCOPE_ONELEVEL, attrs=["dn"])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e4:
+ (enum, estr) = e4.args
raise DCJoinException(estr)
'''check if a DN exists'''
try:
res = ctx.samdb.search(base=dn, scope=ldb.SCOPE_BASE, attrs=[])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e5:
+ (enum, estr) = e5.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
return False
raise
ctx.acct_pass,
force_change_at_next_login=False,
username=ctx.samname)
- except ldb.LdbError, (num, _):
+ except ldb.LdbError as e2:
+ (num, _) = e2.args
if num != ldb.ERR_UNWILLING_TO_PERFORM:
pass
ctx.net.set_password(account_name=ctx.samname,
samba.dsdb.UF_ACCOUNTDISABLE)
try:
ctx.samdb.add(msg)
- except ldb.LdbError, (num, _):
+ except ldb.LdbError as e:
+ (num, _) = e.args
if num != ldb.ERR_ENTRY_ALREADY_EXISTS:
raise
ctx.dnspass,
force_change_at_next_login=False,
username=ctx.samname)
- except ldb.LdbError, (num, _):
+ except ldb.LdbError as e3:
+ (num, _) = e3.args
if num != ldb.ERR_UNWILLING_TO_PERFORM:
raise
ctx.net.set_password(account_name="dns-%s" % ctx.myname,
repl.replicate(ctx.rid_manager_dn, source_dsa_invocation_id,
destination_dsa_guid,
exop=drsuapi.DRSUAPI_EXOP_FSMO_RID_ALLOC)
- except samba.DsExtendedError, (enum, estr):
+ except samba.DsExtendedError as e1:
+ (enum, estr) = e1.args
if enum == drsuapi.DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER:
print "WARNING: Unable to replicate own RID Set, as server %s (the server we joined) is not the RID Master." % ctx.server
print "NOTE: This is normal and expected, Samba will be able to create users after it contacts the RID Master at first startup."
self.samdb.get_config_basedn(),
scope=ldb.SCOPE_SUBTREE,
expression="(objectClass=interSiteTransport)")
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e2:
+ (enum, estr) = e2.args
raise KCCError("Unable to find inter-site transports - (%s)" %
estr)
self.samdb.get_config_basedn(),
scope=ldb.SCOPE_SUBTREE,
expression="(objectClass=siteLink)")
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e3:
+ (enum, estr) = e3.args
raise KCCError("Unable to find inter-site siteLinks - (%s)" % estr)
for msg in res:
self.samdb.get_config_basedn(),
scope=ldb.SCOPE_SUBTREE,
expression="(objectClass=site)")
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e4:
+ (enum, estr) = e4.args
raise KCCError("Unable to find sites - (%s)" % estr)
for msg in res:
try:
res = self.samdb.search(base=dn, scope=ldb.SCOPE_BASE,
attrs=["objectGUID"])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e5:
+ (enum, estr) = e5.args
DEBUG_FN("Search for dn '%s' [from %s] failed: %s. "
"This typically happens in --importldif mode due "
"to lack of module support." % (dn, dn_query, estr))
res = self.samdb.search(base=dn, scope=ldb.SCOPE_BASE,
attrs=["objectGUID"])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e:
+ (enum, estr) = e.args
raise KCCError("Unable to find my nTDSDSA - (%s)" % estr)
if len(res) != 1:
self.samdb.get_config_basedn(),
scope=ldb.SCOPE_SUBTREE,
expression="(objectClass=crossRef)")
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e6:
+ (enum, estr) = e6.args
raise KCCError("Unable to find partitions - (%s)" % estr)
for msg in res:
self.samdb = SamDB(url=dburl,
session_info=system_session(),
credentials=creds, lp=lp)
- except ldb.LdbError, (num, msg):
+ except ldb.LdbError as e1:
+ (num, msg) = e1.args
raise KCCError("Unable to open sam database %s : %s" %
(dburl, msg))
res = samdb.search(base=self.nc_dnstr,
scope=ldb.SCOPE_BASE, attrs=attrs)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e:
+ (enum, estr) = e.args
raise KCCError("Unable to find naming context (%s) - (%s)" %
(self.nc_dnstr, estr))
msg = res[0]
res = samdb.search(base=self.nc_dnstr, scope=ldb.SCOPE_BASE,
attrs=["repsFrom"])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e1:
+ (enum, estr) = e1.args
raise KCCError("Unable to find NC for (%s) - (%s)" %
(self.nc_dnstr, estr))
res = samdb.search(base=self.nc_dnstr, scope=ldb.SCOPE_BASE,
attrs=["replUpToDateVector"])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e2:
+ (enum, estr) = e2.args
raise KCCError("Unable to find NC for (%s) - (%s)" %
(self.nc_dnstr, estr))
res = samdb.search(base=self.nc_dnstr, scope=ldb.SCOPE_BASE,
attrs=["fSMORoleOwner"])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e3:
+ (enum, estr) = e3.args
raise KCCError("Unable to find NC for (%s) - (%s)" %
(self.nc_dnstr, estr))
res = samdb.search(base=self.nc_dnstr, scope=ldb.SCOPE_BASE,
attrs=["repsTo"])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e4:
+ (enum, estr) = e4.args
raise KCCError("Unable to find NC for (%s) - (%s)" %
(self.nc_dnstr, estr))
res = samdb.search(base=self.dsa_dnstr, scope=ldb.SCOPE_BASE,
attrs=attrs)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e5:
+ (enum, estr) = e5.args
raise KCCError("Unable to find nTDSDSA for (%s) - (%s)" %
(self.dsa_dnstr, estr))
res = samdb.search(base=self.dsa_dnstr, scope=ldb.SCOPE_BASE,
attrs=ncattrs)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e6:
+ (enum, estr) = e6.args
raise KCCError("Unable to find nTDSDSA NCs for (%s) - (%s)" %
(self.dsa_dnstr, estr))
scope=ldb.SCOPE_SUBTREE,
expression="(objectClass=nTDSConnection)")
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e7:
+ (enum, estr) = e7.args
raise KCCError("Unable to find nTDSConnection for (%s) - (%s)" %
(self.dsa_dnstr, estr))
res = samdb.search(base=self.dnstr, scope=ldb.SCOPE_BASE,
attrs=attrs)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e8:
+ (enum, estr) = e8.args
raise KCCError("Unable to find nTDSConnection for (%s) - (%s)" %
(self.dnstr, estr))
res = samdb.search(base=tdnstr,
scope=ldb.SCOPE_BASE, attrs=attrs)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e9:
+ (enum, estr) = e9.args
raise KCCError("Unable to find transport (%s) - (%s)" %
(tdnstr, estr))
try:
samdb.delete(self.dnstr)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e10:
+ (enum, estr) = e10.args
raise KCCError("Could not delete nTDSConnection for (%s) - (%s)" %
(self.dnstr, estr))
if len(msg) != 0:
found = True
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e11:
+ (enum, estr) = e11.args
if enum != ldb.ERR_NO_SUCH_OBJECT:
raise KCCError("Unable to search for (%s) - (%s)" %
(self.dnstr, estr))
ldb.FLAG_MOD_ADD, "schedule")
try:
samdb.add(m)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e12:
+ (enum, estr) = e12.args
raise KCCError("Could not add nTDSConnection for (%s) - (%s)" %
(self.dnstr, estr))
# of self.dnstr in the database.
samdb.search(base=self.dnstr, scope=ldb.SCOPE_BASE)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e13:
+ (enum, estr) = e13.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
raise KCCError("nTDSConnection for (%s) doesn't exist!" %
self.dnstr)
ldb.MessageElement([], ldb.FLAG_MOD_DELETE, "schedule")
try:
samdb.modify(m)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e14:
+ (enum, estr) = e14.args
raise KCCError("Could not modify nTDSConnection for (%s) - (%s)" %
(self.dnstr, estr))
res = samdb.search(base=self.partstr, scope=ldb.SCOPE_BASE,
attrs=attrs)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e15:
+ (enum, estr) = e15.args
raise KCCError("Unable to find partition for (%s) - (%s)" %
(self.partstr, estr))
msg = res[0]
attrs=attrs)
self_res = samdb.search(base=self.site_dnstr, scope=ldb.SCOPE_BASE,
attrs=['objectGUID'])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e16:
+ (enum, estr) = e16.args
raise KCCError("Unable to find site settings for (%s) - (%s)" %
(ssdn, estr))
res = samdb.search(self.site_dnstr,
scope=ldb.SCOPE_SUBTREE,
expression="(objectClass=nTDSDSA)")
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e17:
+ (enum, estr) = e17.args
raise KCCError("Unable to find nTDSDSAs - (%s)" % estr)
for msg in res:
res = samdb.search(base=self.dnstr, scope=ldb.SCOPE_BASE,
attrs=attrs)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e18:
+ (enum, estr) = e18.args
raise KCCError("Unable to find Transport for (%s) - (%s)" %
(self.dnstr, estr))
res = samdb.search(base=self.dnstr, scope=ldb.SCOPE_BASE,
attrs=attrs, controls=['extended_dn:0'])
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e19:
+ (enum, estr) = e19.args
raise KCCError("Unable to find SiteLink for (%s) - (%s)" %
(self.dnstr, estr))
samdb = SamDB(url=dburl,
session_info=system_session(),
credentials=creds, lp=lp)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e:
+ (enum, estr) = e.args
raise LdifError("Unable to open sam database (%s) : %s" %
(dburl, estr))
# Write rootdse output
write_search_result(samdb, f, res)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e1:
+ (enum, estr) = e1.args
raise LdifError("Error processing (%s) : %s" % (sstr, estr))
f.close()
entry = sam.search(expression="%s=*" % LAST_PROVISION_USN_ATTRIBUTE,
base="@PROVISION", scope=ldb.SCOPE_BASE,
attrs=[LAST_PROVISION_USN_ATTRIBUTE, "provisionnerID"])
- except ldb.LdbError, (ecode, emsg):
+ except ldb.LdbError as e1:
+ (ecode, emsg) = e1.args
if ecode == ldb.ERR_NO_SUCH_OBJECT:
return None
raise
# DB
try:
samdb.connect(path)
- except ldb.LdbError, (num, string_error):
+ except ldb.LdbError as e2:
+ (num, string_error) = e2.args
if (num == ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS):
raise ProvisioningError("Permission denied connecting to %s, are you running as root?" % path)
else:
elements=kerberos_enctypes, flags=ldb.FLAG_MOD_REPLACE,
name="msDS-SupportedEncryptionTypes")
samdb.modify(msg)
- except ldb.LdbError, (enum, estr):
+ except ldb.LdbError as e:
+ (enum, estr) = e.args
if enum != ldb.ERR_NO_SUCH_ATTRIBUTE:
# It might be that this attribute does not exist in this schema
raise
try:
logger.info("Removing Sysvol reference: %s" % dn)
samdb.delete(dn)
- except ldb.LdbError as (enum, estr):
+ except ldb.LdbError as e:
+ (enum, estr) = e.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
pass
else:
try:
logger.info("Removing Sysvol reference: %s" % dn)
samdb.delete(dn)
- except ldb.LdbError as (enum, estr):
+ except ldb.LdbError as e1:
+ (enum, estr) = e1.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
pass
else:
try:
(dn, primary_recs) = samdb.dns_lookup(dnsHostName)
- except RuntimeError as (enum, estr):
+ except RuntimeError as e4:
+ (enum, estr) = e4.args
if enum == werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST:
if ignore_no_name:
remove_hanging_dns_references(samdb, logger,
try:
logger.debug("checking for DNS records to remove on %s" % a_name)
(a_rec_dn, a_recs) = samdb.dns_lookup(a_name)
- except RuntimeError as (enum, estr):
+ except RuntimeError as e2:
+ (enum, estr) = e2.args
if enum == werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST:
return
raise DemoteException("lookup of %s failed: %s" % (a_name, estr))
try:
msgs = samdb.search(base=ntds_dn, expression="objectClass=ntdsDSA",
attrs=["objectGUID"], scope=ldb.SCOPE_BASE)
- except LdbError as (enum, estr):
+ except LdbError as e5:
+ (enum, estr) = e5.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
raise DemoteException("Given DN %s doesn't exist" % ntds_dn)
else:
try:
logger.info("Removing nTDSDSA: %s (and any children)" % ntds_dn)
samdb.delete(ntds_dn, ["tree_delete:0"])
- except LdbError as (enum, estr):
+ except LdbError as e6:
+ (enum, estr) = e6.args
raise DemoteException("Failed to remove the DCs NTDS DSA object: %s"
% estr)
expression="(&(objectClass=server)"
"(cn=%s))"
% ldb.binary_encode(dc_name))
- except LdbError as (enum, estr):
+ except LdbError as e3:
+ (enum, estr) = e3.args
raise DemoteException("Failure checking if %s is an server "
"object in %s: "
% (dc_name, samdb.domain_dns_name()), estr)
try:
ntds_msgs = samdb.search(base=ntds_dn, attrs=[], scope=ldb.SCOPE_BASE,
expression="(objectClass=ntdsdsa)")
- except LdbError as (enum, estr):
+ except LdbError as e7:
+ (enum, estr) = e7.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
ntds_msgs = []
pass
expression="objectClass=site")
if len(ret) != 1:
raise SiteNotFoundException('Site %s does not exist' % siteName)
- except LdbError as (enum, estr):
+ except LdbError as e:
+ (enum, estr) = e.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
raise SiteNotFoundException('Site %s does not exist' % siteName)
m["siteObject"] = ldb.MessageElement(str(dn_site), FLAG_MOD_ADD,
"siteObject")
samdb.add(m)
- except ldb.LdbError as (enum, estr):
+ except ldb.LdbError as e:
+ (enum, estr) = e.args
if enum == ldb.ERR_INVALID_DN_SYNTAX:
raise SubnetInvalid("%s is not a valid subnet: %s" % (subnet_name, estr))
elif enum == ldb.ERR_ENTRY_ALREADY_EXISTS:
expression="objectClass=subnet")
if len(ret) != 1:
raise SubnetNotFound('Subnet %s does not exist' % subnet_name)
- except LdbError as (enum, estr):
+ except LdbError as e1:
+ (enum, estr) = e1.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
raise SubnetNotFound('Subnet %s does not exist' % subnet_name)
newdnsubnet.set_component(0, "CN", new_name)
try:
samdb.rename(dnsubnet, newdnsubnet)
- except LdbError as (enum, estr):
+ except LdbError as e2:
+ (enum, estr) = e2.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
raise SubnetNotFound('Subnet %s does not exist' % subnet)
elif enum == ldb.ERR_ENTRY_ALREADY_EXISTS:
expression="objectClass=subnet")
if len(ret) != 1:
raise SubnetNotFound('Subnet %s does not exist' % subnet_name)
- except LdbError as (enum, estr):
+ except LdbError as e3:
+ (enum, estr) = e3.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
raise SubnetNotFound('Subnet %s does not exist' % subnet_name)
expression="objectClass=site")
if len(ret) != 1:
raise SiteNotFoundException('Site %s does not exist' % site_name)
- except LdbError as (enum, estr):
+ except LdbError as e4:
+ (enum, estr) = e4.args
if enum == ldb.ERR_NO_SUCH_OBJECT:
raise SiteNotFoundException('Site %s does not exist' % site_name)
msg = samdb.search(
base='<SID=%s>' % str(groupmap.sid), scope=ldb.SCOPE_BASE)
found = True
- except ldb.LdbError, (ecode, emsg):
+ except ldb.LdbError as e1:
+ (ecode, emsg) = e1.args
if ecode == ldb.ERR_NO_SUCH_OBJECT:
found = False
else:
try:
samdb.modify(m)
- except ldb.LdbError, (ecode, emsg):
+ except ldb.LdbError as e:
+ (ecode, emsg) = e.args
if ecode == ldb.ERR_ENTRY_ALREADY_EXISTS:
logger.debug("skipped re-adding member '%s' to group '%s': %s", member_sid, group.sid, emsg)
elif ecode == ldb.ERR_NO_SUCH_OBJECT: