sambaundoguididx: fix for -s
authorAndrew Bartlett <abartlet@samba.org>
Mon, 20 May 2019 04:29:10 +0000 (16:29 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 29 May 2019 04:41:24 +0000 (04:41 +0000)
Quick fix running this script with -s instead of -H. samdb_url() returns
a url with a protocol prefix, which causes issues further down in the
script.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
source4/scripting/bin/sambaundoguididx

index f67353ff361b7d5ef67540818f05865d7b049b1a..7474acb2cabe81d9dd5ccfe1630aacc09a54741e 100755 (executable)
@@ -30,7 +30,7 @@ lp_ctx = sambaopts.get_loadparm()
 lp_ctx.set("dsdb:guid index", "false")
 
 if opts.H is None:
-    url = lp_ctx.samdb_url()
+    url = lp_ctx.private_path("sam.ldb")
 else:
     url = opts.H
 
@@ -62,7 +62,9 @@ dbs = []
 for part in partitions[0]['partition']:
     dbname = str(part).split(":")[1]
     dbpath = os.path.join(privatedir, dbname)
-    db = ldb.Ldb(url="ldb://" + dbpath,
+    if os.path.isfile(dbpath):
+        dbpath = "ldb://" + dbpath
+    db = ldb.Ldb(url=dbpath,
                  options=["modules:"],
                  flags=ldb.FLG_DONT_CREATE_DB)
     db.transaction_start()