diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-11-29 14:10:57 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-11-29 18:04:42 +1100 |
commit | 8c59bbd757e834f8dd1037edcd4ad5cf96a602a4 (patch) | |
tree | 17b8941f7523b865b801ab8b58c97c955a61c60e /source4/scripting | |
parent | abe9ac53f0d240a867d499f184866603143756cf (diff) | |
download | samba-8c59bbd757e834f8dd1037edcd4ad5cf96a602a4.tar.gz samba-8c59bbd757e834f8dd1037edcd4ad5cf96a602a4.tar.bz2 samba-8c59bbd757e834f8dd1037edcd4ad5cf96a602a4.zip |
s4-join: fixed exception handling in join command
Diffstat (limited to 'source4/scripting')
-rw-r--r-- | source4/scripting/python/samba/join.py | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/source4/scripting/python/samba/join.py b/source4/scripting/python/samba/join.py index 12df25a866..60f3ac305b 100644 --- a/source4/scripting/python/samba/join.py +++ b/source4/scripting/python/samba/join.py @@ -120,14 +120,14 @@ class dc_join: if recursive: try: res = ctx.samdb.search(base=dn, scope=ldb.SCOPE_ONELEVEL, attrs=["dn"]) - except: + except Exception: return for r in res: ctx.del_noerror(r.dn, recursive=True) try: ctx.samdb.delete(dn) print "Deleted %s" % dn - except: + except Exception: pass def cleanup_old_join(ctx): @@ -151,16 +151,15 @@ class dc_join: if res: ctx.new_krbtgt_dn = res[0]["msDS-Krbtgtlink"][0] ctx.del_noerror(ctx.new_krbtgt_dn) - except: + except Exception: pass def find_dc(ctx, domain): '''find a writeable DC for the given domain''' try: ctx.cldap_ret = ctx.net.finddc(domain, nbt.NBT_SERVER_LDAP | nbt.NBT_SERVER_DS | nbt.NBT_SERVER_WRITABLE) - except Exception, reason: - print("Failed to find a writeable DC for domain '%s': %s" % (domain, reason)) - sys.exit(1) + except Exception: + raise Exception("Failed to find a writeable DC for domain '%s'" % domain) if ctx.cldap_ret.client_site is not None and ctx.cldap_ret.client_site != "": ctx.site = ctx.cldap_ret.client_site return ctx.cldap_ret.pdc_dns_name @@ -199,8 +198,10 @@ class dc_join: '''check if a DN exists''' try: res = ctx.samdb.search(base=dn, scope=ldb.SCOPE_BASE, attrs=[]) - except ldb.LdbError, (ERR_NO_SUCH_OBJECT, _): - return False + except ldb.LdbError, (enum, estr): + if enum == ldb.ERR_NO_SUCH_OBJECT: + return False + raise return True def add_krbtgt_account(ctx): @@ -506,7 +507,7 @@ class dc_join: ctx.join_provision() ctx.join_replicate() ctx.join_finalise() - except: + except Exception: print "Join failed - cleaning up" ctx.cleanup_old_join() raise |