summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2007-01-31 01:28:55 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:44:27 -0500
commit5e12e0024934c074ad5141f67fb95550e8aac69c (patch)
treed2963908cd4d6ea317651202cbece43e5dd4d404
parentf7fb1e442ddd27917322069b3165cf3de340df00 (diff)
downloadsamba-5e12e0024934c074ad5141f67fb95550e8aac69c.tar.gz
samba-5e12e0024934c074ad5141f67fb95550e8aac69c.tar.bz2
samba-5e12e0024934c074ad5141f67fb95550e8aac69c.zip
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)
-rwxr-xr-xsource4/script/tests/mktestsetup.sh35
-rwxr-xr-xsource4/script/tests/selftest.sh16
2 files changed, 41 insertions, 10 deletions
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 <<EOF
EOF
FEDORA_DS_LDAP_URI="ldap://127.0.0.1:$FEDORA_DS_LDAP_PORT"
-export FEDORA_DS_LDAP_URI
cat >$FEDORA_DS_INF <<EOF
[General]
+SuiteSpotUserID = $ROOT
FullMachineName= localhost
ServerRoot= $LDAPDIR
ConfigDirectoryLdapURL= $FEDORA_DS_LDAP_URI/o=NetscapeRoot
@@ -511,6 +511,18 @@ Components= slapd
ServerIdentifier= samba4
InstallLdifFile=$FEDORA_DS_INITIAL_LDIF
+inst_dir= $LDAPDIR/slapd-samba4
+config_dir= $LDAPDIR/slapd-samba4
+schema_dir= $LDAPDIR/slapd-samba4/schema
+lock_dir= $LDAPDIR/slapd-samba4/lock
+log_dir= $LDAPDIR/slapd-samba4/logs
+run_dir= $LDAPDIR/slapd-samba4/logs
+db_dir= $LDAPDIR/slapd-samba4/db
+bak_dir= $LDAPDIR/slapd-samba4/bak
+tmp_dir= $LDAPDIR/slapd-samba4/tmp
+ldif_dir= $LDAPDIR/slapd-samba4/ldif
+cert_dir= $LDAPDIR/slapd-samba4
+
[base]
Components= base
@@ -541,17 +553,27 @@ PROVISION_OPTIONS="$PROVISION_OPTIONS --adminpass $PASSWORD --root=$ROOT"
PROVISION_OPTIONS="$PROVISION_OPTIONS --simple-bind-dn=cn=Manager,$BASEDN --password=$PASSWORD --root=$ROOT"
$srcdir/bin/smbscript $srcdir/setup/provision $PROVISION_OPTIONS >&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`