mamachinepw: add better error handling
authorStefan Metzmacher <metze@samba.org>
Sat, 26 Jul 2008 18:38:20 +0000 (20:38 +0200)
committerStefan Metzmacher <metze@samba.org>
Sat, 26 Jul 2008 18:45:47 +0000 (20:45 +0200)
metze
(This used to be commit 7ac424137f62ceacf44e477f4e3805267013005b)

source4/scripting/bin/mymachinepw

index d489dc46934aab7859077360e9f39ac51f6f6013..49a4245a3adbc298cdfa5347568af33dde92d9cb 100755 (executable)
@@ -2,6 +2,7 @@
 
 # Unix SMB/CIFS implementation.
 # Copyright (C) Volker Lendecke 2008
+# Copyright (C) Stefan Metzmacher 2008
 #
 # Extract our own machine pw from secrets.ldb
 #
@@ -29,17 +30,32 @@ loaded = False
 for o, v in optlist:
     if o == "-s":
         if not conf.load(v):
-            raise(v + " not found")
+            print(v + " not found")
+            exit(1)
         loaded = True
 
 if not loaded:
     conf.load_default()
 
+path=conf.get("private dir") + "/secrets.ldb"
+netbios=conf.get("netbios name")
+
 secrets = ldb.Ldb()
-secrets.connect(conf.get("private dir") + "/secrets.ldb")
+secrets.connect(path)
 
 search = "(&(objectclass=primaryDomain)(samaccountname=" + \
-       conf.get("netbios name") + "$))"
+         netbios + "$))"
 
 msg = secrets.search(expression=search, attrs=['secret'])
-print(msg[0]['secret'][0])
+
+if not msg:
+    error =  "Error:\n"
+    error += "Password for host[" + netbios + "] not found in path[" + path + "].\n"
+    error += "You may want to pass the smb.conf location via the -s option."
+    print error
+    exit(1)
+
+password=msg[0]['secret'][0];
+
+print(password)
+exit(0)