s4-ldapcmp: Fix options parsing for common Samba options
authorKamen Mazdrashki <kamenim@samba.org>
Fri, 17 Sep 2010 21:44:17 +0000 (00:44 +0300)
committerKamen Mazdrashki <kamenim@samba.org>
Sat, 18 Sep 2010 12:09:46 +0000 (15:09 +0300)
And also set 'creds2' to be equal to 'creds' in case
username2 paramater is not supplied on cmd line

source4/scripting/devel/ldapcmp

index 76b4e8eec6511e92e7540a6b8b99769a283af900..edf37d36d0df78d5e23ef92554ce9ded3efd0160 100755 (executable)
@@ -518,13 +518,10 @@ class LDAPBundel(object):
 if __name__ == "__main__":
     parser = OptionParser("ldapcmp [options] domain|configuration|schema")
     sambaopts = options.SambaOptions(parser)
+    parser.add_option_group(sambaopts)
     credopts = options.CredentialsOptionsDouble(parser)
     parser.add_option_group(credopts)
 
-    lp = sambaopts.get_loadparm()
-    creds = credopts.get_credentials(lp)
-    creds2 = credopts.get_credentials2(lp)
-
     parser.add_option("", "--host", dest="host",
                               help="IP of the first LDAP server",)
     parser.add_option("", "--host2", dest="host2",
@@ -537,6 +534,15 @@ if __name__ == "__main__":
                               help="Print all DN pairs that have been compared",)
     (opts, args) = parser.parse_args()
 
+    lp = sambaopts.get_loadparm()
+    creds = credopts.get_credentials(lp)
+    creds2 = credopts.get_credentials2(lp)
+    if creds2.is_anonymous():
+        creds2 = creds
+
+    if creds.is_anonymous():
+        parser.error("You must supply at least one username/password pair")
+
     if not (len(args) == 1 and args[0].upper() in ["DOMAIN", "CONFIGURATION", "SCHEMA"]):
         parser.error("Incorrect arguments")