From 5e12e0024934c074ad5141f67fb95550e8aac69c Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Wed, 31 Jan 2007 01:28:55 +0000 Subject: r21068: Code to configure, start and stop Fedora DS. We can't actually use it, as we are stuck inside our socket_wrapper network, and can't talk to it. Andrew Bartlett (This used to be commit bd564da6b9b45c438ef81b42dc156116ed81cbe7) --- source4/script/tests/mktestsetup.sh | 35 +++++++++++++++++++++++++++++------ source4/script/tests/selftest.sh | 16 ++++++++++++---- 2 files changed, 41 insertions(+), 10 deletions(-) (limited to 'source4') diff --git a/source4/script/tests/mktestsetup.sh b/source4/script/tests/mktestsetup.sh index 988f44f664..7dd35672dc 100755 --- a/source4/script/tests/mktestsetup.sh +++ b/source4/script/tests/mktestsetup.sh @@ -488,11 +488,11 @@ cat > $LDAPDIR/db/DB_CONFIG <$FEDORA_DS_INF <&2 -LDAPI="ldapi://$LDAPDIR/ldapi" -LDAPI_ESCAPE="ldapi://"`echo $LDAPDIR/ldapi | sed 's|/|%2F|g'` +if test -z "$FEDORA_DS_PREFIX"; then + LDAP_URI="ldapi://$LDAPDIR/ldapi" + LDAP_URI_ESCAPE="ldapi://"`echo $LDAPDIR/ldapi | sed 's|/|%2F|g'` export LDAPI export LDAPI_ESCAPE +else + LDAP_URI=$FEDORA_DS_LDAP_URI; + LDAP_URI_ESCAPE=$FEDORA_DS_LDAP_URI; + PROVISION_OPTIONS="$PROVISION_OPTIONS --ldap-module=nsuniqueid" + #it is easier to base64 encode this than correctly escape it: + # (targetattr = "*") (version 3.0;acl "full access to all by all";allow (all)(userdn = "ldap:///anyone");) + PROVISION_ACI="--aci=aci:: KHRhcmdldGF0dHIgPSAiKiIpICh2ZXJzaW9uIDMuMDthY2wgImZ1bGwgYWNjZXNzIHRvIGFsbCBieSBhbGwiO2FsbG93IChhbGwpKHVzZXJkbiA9ICJsZGFwOi8vL2FueW9uZSIpOykK" +fi + #This uses the provision we just did, to read out the schema $srcdir/bin/ad2oLschema $CONFIGURATION -H $PRIVATEDIR/sam.ldb -I $srcdir/setup/schema-map-openldap-2.3 -O $LDAPDIR/ad.schema >&2 $srcdir/bin/ad2oLschema $CONFIGURATION -H $PRIVATEDIR/sam.ldb --option=convert:target=fedora-ds -I $srcdir/setup/schema-map-fedora-ds-1.0 -O $LDAPDIR/99_ad.ldif >&2 #Now create an LDAP baseDN -$srcdir/bin/smbscript $srcdir/setup/provision $PROVISION_OPTIONS --ldap-base >&2 +$srcdir/bin/smbscript $srcdir/setup/provision $PROVISION_OPTIONS "$PROVISION_ACI" --ldap-base >&2 OLDPATH=$PATH PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH @@ -604,8 +626,9 @@ echo "PIDDIR=$PIDDIR" echo "AUTH=$AUTH" echo "SERVER=$SERVER" echo "NETBIOSNAME=$NETBIOSNAME" -echo "LDAPI=$LDAPI" -echo "LDAPI_ESCAPE=$LDAPI_ESCAPE" +echo "LDAP_URI=$LDAP_URI" +echo "LDAP_URI_ESCAPE=$LDAP_URI_ESCAPE" +echo "FEDORA_DS_INF=$FEDORA_DS_INF" echo "FEDORA_DS_LDAP_URI=$FEDORA_DS_LDAP_URI" echo "DOMAIN=$DOMAIN" echo "USERNAME=$USERNAME" diff --git a/source4/script/tests/selftest.sh b/source4/script/tests/selftest.sh index 885486d546..70a91d4697 100755 --- a/source4/script/tests/selftest.sh +++ b/source4/script/tests/selftest.sh @@ -72,10 +72,14 @@ incdir=`dirname $ARG0` #Start slapd before smbd if [ x"$TEST_LDAP" = x"yes" ]; then - slapd_start || exit 1; + if test -z "$FEDORA_DS_PREFIX"; then + slapd_start || exit 1; + else + perl $FEDORA_DS_PREFIX/lib/fedora-ds/ds_newinst.pl $FEDORA_DS_INF || exit 1; + fi echo -n "LDAP PROVISIONING..." - $srcdir/bin/smbscript $srcdir/setup/provision $PROVISION_OPTIONS --ldap-backend=$LDAPI || { - echo "LDAP PROVISIONING failed: $srcdir/bin/smbscript $srcdir/setup/provision $PROVISION_OPTIONS --ldap-backend=$LDAPI" + $srcdir/bin/smbscript $srcdir/setup/provision $PROVISION_OPTIONS "$PROVISION_ACI" --ldap-backend=$LDAP_URI || { + echo "LDAP PROVISIONING failed: $srcdir/bin/smbscript $srcdir/setup/provision $PROVISION_OPTIONS $PROVISION_ACI --ldap-backend=$LDAP_URI" exit 1; } #LDAP is slow @@ -246,7 +250,11 @@ totalfailed=$? kill `cat $PIDDIR/smbd.pid` if [ "$TEST_LDAP"x = "yesx" ]; then - kill `cat $PIDDIR/slapd.pid` + if test -z "$FEDORA_DS_PREFIX"; then + kill `cat $PIDDIR/slapd.pid` + else + $LDAPDIR/slapd-samba4/stop-slapd + fi fi END=`date` -- cgit