]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
Issue#9335 - Skip test if compiled without SASL support
authorQuanah Gibson-Mount <quanah@openldap.org>
Thu, 3 Sep 2020 21:24:09 +0000 (21:24 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Fri, 11 Sep 2020 21:02:41 +0000 (21:02 +0000)
tests/scripts/test066-autoca
tests/scripts/test068-sasl-tls-external

index 6c59d41cbde49f49f5a5dfa0d7dac02a7fa4e052..8eaa164eaaf42905886950bca1a8bd99a31fc339 100755 (executable)
@@ -246,77 +246,81 @@ if test $RC != 0 ; then
        exit $RC
 fi
 
-# note - the attrs are being saved in raw DER form.
-# they need to be base64 encoded into PEM for most programs to use them
-# so we ignore those files for now.
-echo "Using ldapsearch to generate user cert..."
-$LDAPSEARCH -b "$BABSDN" -D $MANAGERDN -H $URIP1 -w $PASSWD -s base -ZZ \
-       -T $TESTDIR -t 'objectclass=*' 'userCertificate;binary' 'userPrivateKey;binary'  >> $TESTOUT 2>&1
-RC=$?
+if test $WITH_SASL = no ; then
+       echo "SASL support not available, skipping client cert authentication"
+else
+       # note - the attrs are being saved in raw DER form.
+       # they need to be base64 encoded into PEM for most programs to use them
+       # so we ignore those files for now.
+       echo "Using ldapsearch to generate user cert..."
+       $LDAPSEARCH -b "$BABSDN" -D $MANAGERDN -H $URIP1 -w $PASSWD -s base -ZZ \
+               -T $TESTDIR -t 'objectclass=*' 'userCertificate;binary' 'userPrivateKey;binary'  >> $TESTOUT 2>&1
+       RC=$?
 
-if test $RC != 0 ; then
-       echo "ldapsearch failed ($RC)!"
-       test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
-fi
+       if test $RC != 0 ; then
+               echo "ldapsearch failed ($RC)!"
+               test $KILLSERVERS != no && kill -HUP $KILLPIDS
+               exit $RC
+       fi
 
-echo "Using ldapsearch to retrieve user cert..."
-$LDAPSEARCH -b "$BABSDN" -D $MANAGERDN -H $URIP1 -w $PASSWD -s base -ZZ \
-       'objectclass=*' 'userCertificate;binary' > $SEARCHOUT 2>&1
-RC=$?
+       echo "Using ldapsearch to retrieve user cert..."
+       $LDAPSEARCH -b "$BABSDN" -D $MANAGERDN -H $URIP1 -w $PASSWD -s base -ZZ \
+               'objectclass=*' 'userCertificate;binary' > $SEARCHOUT 2>&1
+       RC=$?
 
-if test $RC != 0 ; then
-       echo "ldapsearch failed ($RC)!"
-       test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
-fi
+       if test $RC != 0 ; then
+               echo "ldapsearch failed ($RC)!"
+               test $KILLSERVERS != no && kill -HUP $KILLPIDS
+               exit $RC
+       fi
 
-echo "Setting up user cert..."
-echo "-----BEGIN CERTIFICATE-----" > $TESTDIR/usercert.pem
-sed -e "/^dn:/d" -e "/^ dc=com/d" -e "s/userCertificate;binary:://" -e "/^$/d" $SEARCHOUT >> $TESTDIR/usercert.pem
-echo "-----END CERTIFICATE-----" >> $TESTDIR/usercert.pem
+       echo "Setting up user cert..."
+       echo "-----BEGIN CERTIFICATE-----" > $TESTDIR/usercert.pem
+       sed -e "/^dn:/d" -e "/^ dc=com/d" -e "s/userCertificate;binary:://" -e "/^$/d" $SEARCHOUT >> $TESTDIR/usercert.pem
+       echo "-----END CERTIFICATE-----" >> $TESTDIR/usercert.pem
 
-echo "Using ldapsearch to retrieve user key..."
-$LDAPSEARCH -b "$BABSDN" -D $MANAGERDN -H $URIP1 -w $PASSWD -s base -ZZ \
-       'objectclass=*' 'userPrivateKey;binary' > $SEARCHOUT 2>&1
-RC=$?
+       echo "Using ldapsearch to retrieve user key..."
+       $LDAPSEARCH -b "$BABSDN" -D $MANAGERDN -H $URIP1 -w $PASSWD -s base -ZZ \
+               'objectclass=*' 'userPrivateKey;binary' > $SEARCHOUT 2>&1
+       RC=$?
 
-if test $RC != 0 ; then
-       echo "ldapsearch failed ($RC)!"
-       test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
-fi
+       if test $RC != 0 ; then
+               echo "ldapsearch failed ($RC)!"
+               test $KILLSERVERS != no && kill -HUP $KILLPIDS
+               exit $RC
+       fi
 
-echo "Setting up user key..."
-echo "-----BEGIN PRIVATE KEY-----" > $TESTDIR/userkey.pem
-sed -e "/^dn:/d" -e "/^ dc=com/d" -e "s/userPrivateKey;binary:://" -e "/^$/d" $SEARCHOUT >> $TESTDIR/userkey.pem
-echo "-----END PRIVATE KEY-----" >> $TESTDIR/userkey.pem
+       echo "Setting up user key..."
+       echo "-----BEGIN PRIVATE KEY-----" > $TESTDIR/userkey.pem
+       sed -e "/^dn:/d" -e "/^ dc=com/d" -e "s/userPrivateKey;binary:://" -e "/^$/d" $SEARCHOUT >> $TESTDIR/userkey.pem
+       echo "-----END PRIVATE KEY-----" >> $TESTDIR/userkey.pem
 
-LDAPTLS_CERT=$TESTDIR/usercert.pem
-LDAPTLS_KEY=$TESTDIR/userkey.pem
-export LDAPTLS_CERT
-export LDAPTLS_KEY
+       LDAPTLS_CERT=$TESTDIR/usercert.pem
+       LDAPTLS_KEY=$TESTDIR/userkey.pem
+       export LDAPTLS_CERT
+       export LDAPTLS_KEY
 
-echo "Setting TLSVerifyClient to try..."
-$LDAPMODIFY -D cn=config -H $URIP1 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
+       echo "Setting TLSVerifyClient to try..."
+       $LDAPMODIFY -D cn=config -H $URIP1 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: cn=config
 changetype: modify
 replace: olcTLSVerifyClient
 olcTLSVerifyClient: try
 EOF
-RC=$?
-if test $RC != 0 ; then
-       echo "ldapmodify failed for autoca config ($RC)!"
-       test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
-fi
+       RC=$?
+       if test $RC != 0 ; then
+               echo "ldapmodify failed for autoca config ($RC)!"
+               test $KILLSERVERS != no && kill -HUP $KILLPIDS
+               exit $RC
+       fi
 
-$CLIENTDIR/ldapwhoami -Y EXTERNAL -H $URIP1 -ZZ
+       $CLIENTDIR/ldapwhoami -Y EXTERNAL -H $URIP1 -ZZ
 
-if test $RC != 0 ; then
-       echo "ldapwhoami failed ($RC)!"
-       test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       if test $RC != 0 ; then
+               echo "ldapwhoami failed ($RC)!"
+               test $KILLSERVERS != no && kill -HUP $KILLPIDS
+               exit $RC
+       fi
 fi
 
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
index 71fcfce9039875c739110266cb08f9defff04f7e..0d3851edacfd6d39ae3b47998eefd03b84bad0b2 100755 (executable)
@@ -21,6 +21,11 @@ if test $WITH_TLS = no ; then
         exit 0
 fi
 
+if test $WITH_SASL = no ; then
+       echo "SASL support not available, test skipped"
+       exit 0
+fi
+
 mkdir -p $TESTDIR $DBDIR1
 cp -r $DATADIR/tls $TESTDIR