netcmd/ldapcmp: pass --skip-missing-dn to LDAPBase
authorJoe Guo <joeg@catalyst.net.nz>
Mon, 29 Oct 2018 04:45:28 +0000 (17:45 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 21 Nov 2018 06:46:19 +0000 (07:46 +0100)
This option has default value False, and was actually not passed down from cli
to LDAPBase. However, LDAPBase.__init__ has default value True for it.

After the change, a few tests using ldapcmp are affected.
Add --skip-missing-dn explicitly to keep the behavior consistent,
otherwise test will fail.

Signed-off-by: Joe Guo <joeg@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/netcmd/ldapcmp.py
testprogs/blackbox/functionalprep.sh
testprogs/blackbox/ldapcmp_restoredc.sh
testprogs/blackbox/schemaupgrade.sh

index 69aab8b779fa6f260da225dff93a167578304eb0..eca1ecd91e6c0bfb69d131ea66de6218d712e702 100644 (file)
@@ -949,13 +949,13 @@ class cmd_ldapcmp(Command):
         con1 = LDAPBase(URL1, creds, lp,
                         two=two, quiet=quiet, descriptor=descriptor, sort_aces=sort_aces,
                         verbose=verbose, view=view, base=base, scope=scope,
-                        outf=self.outf, errf=self.errf)
+                        outf=self.outf, errf=self.errf, skip_missing_dn=skip_missing_dn)
         assert len(con1.base_dn) > 0
 
         con2 = LDAPBase(URL2, creds2, lp,
                         two=two, quiet=quiet, descriptor=descriptor, sort_aces=sort_aces,
                         verbose=verbose, view=view, base=base2, scope=scope,
-                        outf=self.outf, errf=self.errf)
+                        outf=self.outf, errf=self.errf, skip_missing_dn=skip_missing_dn)
         assert len(con2.base_dn) > 0
 
         filter_list = filter.split(",")
index 8a5eafb096686ff980bd8959508e4696ca24cf21..80e82252d45bd296a16ed697aa6201f94d6924ff 100755 (executable)
@@ -61,7 +61,7 @@ provision_2012r2() {
 ldapcmp_ignore() {
     # At some point we will need to ignore, but right now, it should be perfect
     IGNORE_ATTRS=$1
-    $PYTHON $BINDIR/samba-tool ldapcmp tdb://$PREFIX_ABS/$2/private/sam.ldb tdb://$PREFIX_ABS/$3/private/sam.ldb --two
+    $PYTHON $BINDIR/samba-tool ldapcmp tdb://$PREFIX_ABS/$2/private/sam.ldb tdb://$PREFIX_ABS/$3/private/sam.ldb --two --skip-missing-dn
 }
 
 ldapcmp() {
index d7a51aebbf2c32a84def7b0e6957bbf9f7d9e619..82804b218ca547243a470e1d109fe93e6c3b3ad0 100755 (executable)
@@ -59,7 +59,7 @@ ldapcmp_with_orig() {
     IGNORE_ATTRS="$IGNORE_ATTRS,serverReferenceBL,msDS-IsDomainFor"
 
     LDAPCMP_CMD="$PYTHON $BINDIR/samba-tool ldapcmp"
-    $LDAPCMP_CMD $DB1_PATH $DB2_PATH --two --filter=$IGNORE_ATTRS $BASE_DN_OPTS
+    $LDAPCMP_CMD $DB1_PATH $DB2_PATH --two --skip-missing-dn --filter=$IGNORE_ATTRS $BASE_DN_OPTS
 }
 
 # check that the restored testenv DC basically matches the original
index d04a821245415fff2f7f88b7b9977bb90bdb3ee1..19b71e5810e2299127f8be17d68696e185da8c23 100755 (executable)
@@ -50,7 +50,7 @@ ldapcmp_ignore() {
     # objects, but we don't have the 2012 DisplaySpecifiers documentation...
     IGNORE_ATTRS="$IGNORE_ATTRS,adminContextMenu,adminPropertyPages"
 
-    $PYTHON $BINDIR/samba-tool ldapcmp tdb://$PREFIX_ABS/$2_schema/private/sam.ldb tdb://$PREFIX_ABS/$3_schema/private/sam.ldb --two --filter=$IGNORE_ATTRS
+    $PYTHON $BINDIR/samba-tool ldapcmp tdb://$PREFIX_ABS/$2_schema/private/sam.ldb tdb://$PREFIX_ABS/$3_schema/private/sam.ldb --two --filter=$IGNORE_ATTRS --skip-missing-dn
 }
 
 ldapcmp_old() {