From: Nick Porter Date: Thu, 21 Apr 2022 15:15:04 +0000 (+0100) Subject: Add 389 Directory Server to test build X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9dc25ef84d72e38ba7c69a3cfe5650b5dc94245;p=thirdparty%2Ffreeradius-server.git Add 389 Directory Server to test build --- diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index db55392799b..3810ba9c1b3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -314,6 +314,7 @@ jobs: echo "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/openresty.list sudo apt-get update sudo apt-get install -y --no-install-recommends \ + 389-ds \ apparmor-utils \ dovecot-imapd \ exim4 \ @@ -340,6 +341,7 @@ jobs: openresty-setup.sh \ ldap-setup.sh \ ldap2-setup.sh \ + 389ds-setup.sh \ redis-setup.sh; do script="./scripts/ci/$i" diff --git a/scripts/ci/389ds-setup.sh b/scripts/ci/389ds-setup.sh new file mode 100755 index 00000000000..fb1543cff0b --- /dev/null +++ b/scripts/ci/389ds-setup.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +# Build template config file +cat < /tmp/instance.inf +[general] +config_version = 2 + +[slapd] +root_dn = cn=manager +root_password = secret123 +port = 3892 +secure_port = 6362 +self_sign_cert = True + +[backend-userroot] +suffix = dc=example,dc=com +sample_entries = yes +require_index = yes +EOF + +# Initialise ds instance from config +sudo dscreate from-file /tmp/instance.inf + +# Load base entries +count=0 +while [ $count -lt 10 ] ; do + if ldapadd -x -H ldap://127.0.0.1:3892/ -D "cn=manager" -w "secret123" -f src/tests/salt-test-server/salt/ldap/base3.ldif ; then + break 2 + else + count=$((count+1)) + sleep 1 + fi +done + +if [ $? -ne 0 ]; then + echo "Error configuring server" + exit 1 +fi diff --git a/src/tests/salt-test-server/salt/ldap/base3.ldif b/src/tests/salt-test-server/salt/ldap/base3.ldif new file mode 100644 index 00000000000..8ebfaf2ae5b --- /dev/null +++ b/src/tests/salt-test-server/salt/ldap/base3.ldif @@ -0,0 +1,36 @@ +# foo, groups, example.com +dn: cn=foo,ou=groups,dc=example,dc=com +cn: foo +objectClass: groupOfNames +objectClass: top +member: uid=john,ou=people,dc=example,dc=com + +dn: uid=john,ou=people,dc=example,dc=com +objectClass: inetOrgPerson +objectClass: posixAccount +objectClass: shadowAccount +uid: john +sn: Doe +givenName: John +cn: John Doe +displayName: John Doe +userPassword: password +uidNumber: 100 +gidNumber: 100 +homeDirectory: /home/john + +dn: uid=bob,ou=people,dc=example,dc=com +objectClass: inetOrgPerson +objectClass: posixAccount +objectClass: shadowAccount +uid: bob +sn: Smith +givenName: Bob +cn: Bob Smith +displayName: Bob Smith (manager) +userPassword: testing +uidNumber: 101 +gidNumber: 101 +homeDirectory: /home/bob + +