Don't give fatal python errors when guessing the realm
authorAndrew Bartlett <abartlet@samba.org>
Wed, 14 Jan 2009 09:31:58 +0000 (20:31 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 19 Jan 2009 01:16:24 +0000 (12:16 +1100)
source4/setup/provision

index 55a438cb659a1032f922167cc36faebc4b2666a3..55535cfd4ac590eed8c3bb8dcd52132698f477b1 100755 (executable)
@@ -129,8 +129,18 @@ if opts.interactive:
                else:
                        print "%s: " % (prompt,),
                return sys.stdin.readline().rstrip("\n") or default
-       opts.realm = ask("Realm", socket.getfqdn().split(".", 1)[1].upper())
-       opts.domain = ask("Domain", opts.realm.split(".")[0])
+       try:
+               opts.realm = ask("Realm", socket.getfqdn().split(".", 1)[1].upper())
+       except IndexError:
+               print >>sys.stderr, "Cannot guess realm from %s" % ( socket.getfqdn())
+               sys.exit(1)
+
+       try:
+               opts.domain = ask("Domain", opts.realm.split(".")[0])
+       except IndexError:
+               print >>sys.stderr, "Cannot guess domain from %s" % ( opts.realm())
+               sys.exit(1)
+
        opts.server_role = ask("Server Role (dc, member, standalone)", "dc")
        for i in range(3):
                opts.adminpass = getpass("Administrator password: ")