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  | 
