diff options
author | Andrew Bartlett <abartlet@samba.org> | 2017-11-20 17:10:25 +1300 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2017-12-14 08:20:17 +0100 |
commit | 4f20416b383f11d6f7d30616696a5fdf5b6057a3 (patch) | |
tree | 15f636162aef49fa4ea3ab1095cc2be6d35cf85c /testprogs | |
parent | 1daba6f25541dab6f3d888431d00eb61544382d8 (diff) | |
download | samba-4f20416b383f11d6f7d30616696a5fdf5b6057a3.tar.gz |
provision: Use the official MS 2008R2 schema by default
This fixes us to have the official adminDescription etc. While both schema were provided by
Microsoft this is a better quality one, but still under the same licence.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Diffstat (limited to 'testprogs')
-rwxr-xr-x | testprogs/blackbox/schemaupgrade.sh | 58 | ||||
-rwxr-xr-x | testprogs/blackbox/upgradeprovision-oldrelease.sh | 2 |
2 files changed, 51 insertions, 9 deletions
diff --git a/testprogs/blackbox/schemaupgrade.sh b/testprogs/blackbox/schemaupgrade.sh index d79915a78fe..b1d3f8c1b82 100755 --- a/testprogs/blackbox/schemaupgrade.sh +++ b/testprogs/blackbox/schemaupgrade.sh @@ -33,15 +33,13 @@ provision_2008r2() { $PYTHON $BINDIR/samba-tool domain provision $PROVISION_OPTS --domain=SAMBA --realm=w2008r2.samba.corp --targetdir=$PREFIX_ABS/2008R2_schema --base-schema=2008_R2 } -ldapcmp() { +provision_2008r2_old() { + $PYTHON $BINDIR/samba-tool domain provision $PROVISION_OPTS --domain=SAMBA --realm=w2008r2.samba.corp --targetdir=$PREFIX_ABS/2008R2_old_schema --base-schema=2008_R2_old +} - # the original 2008 schema we received from Microsoft was missing - # descriptions and display names. This has been fixed up in the current - # Microsoft schemas - IGNORE_ATTRS="adminDescription,description,adminDisplayName,displayName" +ldapcmp_ignore() { - # we didn't get showInAdvancedViewOnly right on Samba - IGNORE_ATTRS="$IGNORE_ATTRS,showInAdvancedViewOnly" + IGNORE_ATTRS=$1 # there's discrepancies between the SDDL strings in the adprep LDIF files # vs the 2012 schema, where one source will have ACE rights repeated, e.g. @@ -52,29 +50,73 @@ ldapcmp() { # objects, but we don't have the 2012 DisplaySpecifiers documentation... IGNORE_ATTRS="$IGNORE_ATTRS,adminContextMenu,adminPropertyPages" - $PYTHON $BINDIR/samba-tool ldapcmp tdb://$PREFIX_ABS/2008R2_schema/private/sam.ldb tdb://$PREFIX_ABS/2012R2_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 +} + +ldapcmp_old() { + # the original 2008 schema we received from Microsoft was missing + # descriptions and display names. This has been fixed up in the current + # Microsoft schemas + IGNORE_ATTRS="adminDescription,description,adminDisplayName,displayName" + + # we didn't get showInAdvancedViewOnly right on Samba + IGNORE_ATTRS="$IGNORE_ATTRS,showInAdvancedViewOnly" + + ldapcmp_ignore "$IGNORE_ATTRS" "2008R2_old" "2012R2" +} + +ldapcmp() { + # The adminDescription and adminDisplayName have been editorially + # corrected in the 2012R2 schema but not in the adprep files. + ldapcmp_ignore "adminDescription,adminDisplayName" "2008R2" "2012R2" +} + +ldapcmp_2008R2_2008R2_old() { + # the original 2008 schema we received from Microsoft was missing + # descriptions and display names. This has been fixed up in the current + # Microsoft schemas + IGNORE_ATTRS="adminDescription,description,adminDisplayName,displayName" + + # we didn't get showInAdvancedViewOnly right on Samba + IGNORE_ATTRS="$IGNORE_ATTRS,showInAdvancedViewOnly" + + ldapcmp_ignore $IGNORE_ATTRS "2008R2" "2008R2_old" } schema_upgrade() { $BINDIR/samba-tool domain schemaupgrade -H tdb://$PREFIX_ABS/2008R2_schema/private/sam.ldb --schema=2012_R2 } +schema_upgrade_old() { + $BINDIR/samba-tool domain schemaupgrade -H tdb://$PREFIX_ABS/2008R2_old_schema/private/sam.ldb --schema=2012_R2 +} + # double-check we cleaned up from the last test run cleanup_output_directories # Provision 2 DCs, one based on the 2008R2 schema and one using 2012R2 testit "provision_2008R2_schema" provision_2008r2 +testit "provision_2008R2_old_schema" provision_2008r2_old testit "provision_2012R2_schema" provision_2012r2 # we expect the 2 schemas to be different testit_expect_failure "expect_schema_differences" ldapcmp +# check that the 2 schemas are now the same, ignoring Samba bugs +testit "check_2008R2_2008R2_schemas_same" ldapcmp_2008R2_2008R2_old + # upgrade the 2008 schema to 2012 testit "schema_upgrade" schema_upgrade # check that the 2 schemas are now the same testit "check_schemas_same" ldapcmp +# upgrade the 2008 schema to 2012 +testit "schema_upgrade_old" schema_upgrade_old + +# check that the 2 schemas are now the same, ignoring Samba bugs +testit "check_schemas_same_old" ldapcmp_old + cleanup_output_directories exit $failed diff --git a/testprogs/blackbox/upgradeprovision-oldrelease.sh b/testprogs/blackbox/upgradeprovision-oldrelease.sh index 4f6b4e91a5e..a4a0746b308 100755 --- a/testprogs/blackbox/upgradeprovision-oldrelease.sh +++ b/testprogs/blackbox/upgradeprovision-oldrelease.sh @@ -95,7 +95,7 @@ samba_upgradedns() { } referenceprovision() { - $PYTHON $BINDIR/samba-tool domain provision --server-role="dc" --domain=SAMBA --host-name=ares --realm=${RELEASE}.samba.corp --targetdir=$PREFIX_ABS/${RELEASE}_upgrade_reference --use-ntvfs --host-ip=127.0.0.1 --host-ip6=::1 --function-level=2003 --base-schema=2008_R2 + $PYTHON $BINDIR/samba-tool domain provision --server-role="dc" --domain=SAMBA --host-name=ares --realm=${RELEASE}.samba.corp --targetdir=$PREFIX_ABS/${RELEASE}_upgrade_reference --use-ntvfs --host-ip=127.0.0.1 --host-ip6=::1 --function-level=2003 --base-schema=2008_R2_old } ldapcmp() { |