]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
CI: fixups to use 389ds in Docker container
authorMatthew Newton <matthew-git@newtoncomputing.co.uk>
Wed, 12 Oct 2022 23:03:50 +0000 (00:03 +0100)
committerMatthew Newton <matthew-git@newtoncomputing.co.uk>
Thu, 13 Oct 2022 21:20:52 +0000 (22:20 +0100)
.github/workflows/ci.yml
scripts/ci/389ds-setup.sh
src/tests/ldap_sync/persistent_search/01_add.ldif
src/tests/ldap_sync/persistent_search/02_mod.ldif
src/tests/ldap_sync/persistent_search/03_mod.ldif
src/tests/ldap_sync/persistent_search/04_del.ldif
src/tests/ldap_sync/persistent_search/05_add.ldif
src/tests/ldap_sync/persistent_search/06_mod.ldif
src/tests/ldap_sync/persistent_search/07_mod.ldif
src/tests/ldap_sync/persistent_search/08_del.ldif
src/tests/ldap_sync/persistent_search/config/radiusd.conf

index 05d0dae38dbe6f4f0ad809242eb116c5e72182d7..bffea20f667ed100ea06dca8bd3d514df3ce50ad 100644 (file)
@@ -170,8 +170,8 @@ jobs:
           ldap_test_server: 127.0.0.1
           ldap_test_server_port: 3890
           ldaps_test_server_port: 6360
-          ldap389_test_server: 127.0.0.1
-          ldap389_test_server_port: 3892
+          ldap389_test_server: threeds
+          ldap389_test_server_port: 3389
           active_directory_test_server: 127.0.0.1
           rest_test_server: 127.0.0.1
           rest_test_port: 8080
index fb1543cff0b2840b0486694b67fbddce8e4faf90..ac6be39923e600cc39a05423145789c31ebae197 100755 (executable)
@@ -1,30 +1,42 @@
 #!/bin/sh
 
-# Build template config file
-cat <<EOF > /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
+ROOTDN="cn=Directory Manager"
+
+set
+
+if [ "x$USE_DOCKER" = "xtrue" ]; then
+       dsconf -D "${ROOTDN}" -w "secret123" "${PERSISTENT_SEARCH_TEST_SERVER}" backend create --suffix 'dc=example,dc=com' --be-name localhost
+       dsidm -D "${ROOTDN}" -w "secret123" "${PERSISTENT_SEARCH_TEST_SERVER}" -b 'dc=example,dc=com' initialise
+
+else
+
+       # Build template config file
+       cat <<-EOF > /tmp/instance.inf
+       [general]
+       config_version = 2
+
+       [slapd]
+       root_dn = ${ROOTDN}
+       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
+
+fi
 
 # 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
+    if ldapadd -x -H "${PERSISTENT_SEARCH_TEST_SERVER}" -D "${ROOTDN}" -w "secret123" -f src/tests/salt-test-server/salt/ldap/base3.ldif ; then
         break 2
     else
         count=$((count+1))
@@ -36,3 +48,38 @@ if [ $? -ne 0 ]; then
        echo "Error configuring server"
        exit 1
 fi
+
+
+#
+#  Some random commands that are used setting up 389ds...
+#
+#  Get config
+#    dsconf -D 'cn=Directory Manager' -w secret123 ldap://threeds:3389/ config get
+#
+#  List databases:
+#    dsconf -D 'cn=Directory Manager' -w secret123 ldap://threeds:3389/ backend suffix list
+#    dc=example,dc=com (localhost)
+# 
+#  Create some basic data in the directory:
+#    dsidm -D 'cn=Directory Manager' -w secret123 ldap://threeds:3389/ -b 'dc=example,dc=com' initialise
+#
+#  Add a new user:
+#    dsidm -D 'cn=Directory Manager' -w secret123 ldap://threeds:3389/ -b 'dc=example,dc=com' user create --uid manager --cn manager --displayName manager --uidNumber 1999 --gidNumber 1999 --homeDirectory /home/manager
+#
+#  Set user password:
+#    dsidm -D 'cn=Directory Manager' -w secret123 ldap://threeds:3389/ -b 'dc=example,dc=com' account reset_password uid=manager,ou=people,dc=example,dc=com secret123
+# 
+#
+#  Give permissions for user to edit anything:
+#    cat <<EOF > permissions.ldif
+#    dn: dc=example,dc=com
+#    changetype: modify
+#    add: aci
+#    aci: (targetattr="*")(target="ldap:///dc=example,dc=com")(version 3.0; acl "allow whatever"; allow (all)(userdn="ldap:///uid=manager,ou=people,dc=example,dc=com");)
+#    EOF
+# 
+#    ldapmodify -D 'cn=Directory Manager' -w secret123 -H "ldap://threeds:3389/" -x -f permissions.ldif
+# 
+#  List ACLs:
+#    ldapsearch -D 'cn=Directory Manager' -w secret123 -H "ldap://threeds:3389/" -x -b 'dc=example,dc=com' '(aci=*)' aci
+# 
index 57f5e05e7421669646e92167296284d1609d1ef4..c6633091b101341a9de65546d8a4fa4052098dea 100644 (file)
@@ -1,5 +1,5 @@
 #
-# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=manager" -w "secret123"
+# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=Directory Manager" -w "secret123"
 #
 dn: uid=fred,ou=people,dc=example,dc=com
 changeType: add
index 1937ddcab900a13908a0789b937a7b709595c2ae..86c528fe32659a1802383b6cf7a5d7e28f5ca362 100644 (file)
@@ -1,5 +1,5 @@
 #
-# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=manager" -w "secret123"
+# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=Directory Manager" -w "secret123"
 #
 dn: uid=fred,ou=people,dc=example,dc=com
 changeType: modify
index 23acc27f62245f4d72086bc095fa7686ef349e84..1a2f17e61abdb7a21309395189ca123b28d43057 100644 (file)
@@ -1,5 +1,5 @@
 #
-# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=manager" -w "secret123"
+# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=Directory Manager" -w "secret123"
 #
 dn: uid=fred,ou=people,dc=example,dc=com
 changeType: modrdn
index dce215888a774b0823fa158a29e103bc3420bd88..161e807e32ef5e215c3992e31c0f8b2766f0d9bb 100644 (file)
@@ -1,5 +1,5 @@
 #
-# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=manager" -w "secret123"
+# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=Directory Manager" -w "secret123"
 #
 dn: uid=frederic,ou=people,dc=example,dc=com
 changetype: delete
index 1cb62f3739e99a0a5edc7480cb3d3e126915e5e4..b06d34ffc86a37518150a5f31a2bffaae5c38f85 100644 (file)
@@ -1,5 +1,5 @@
 #
-# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=manager" -w "secret123"
+# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=Directory Manager" -w "secret123"
 #
 dn: cn=bosses,ou=groups,dc=example,dc=com
 changeType: add
index bd84f66c9aeaa0413cbe8803e72c9213dd58b3d5..13b4ecb03091bd90b9077269b30d3f851b98799e 100644 (file)
@@ -1,5 +1,5 @@
 #
-# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=manager" -w "secret123"
+# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=Directory Manager" -w "secret123"
 #
 dn: cn=foo,ou=groups,dc=example,dc=com
 changetype: modify
index 96164babf7a78a6f9f226274ef10b0689a50d965..72aba4e9a722db719ef7d27eeec8c470ad7db83c 100644 (file)
@@ -1,5 +1,5 @@
 #
-# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=manager" -w "secret123"
+# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=Directory Manager" -w "secret123"
 #
 dn: cn=foo,ou=groups,dc=example,dc=com
 changetype: modify
index ddf67e26ded4961a3e0659d2a7901afc6e7fe004..6261e09f67bd93eb001a627dc5cc73c63d0036d9 100644 (file)
@@ -1,5 +1,5 @@
 #
-# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=manager" -w "secret123"
+# ARGV: -x -H ${PERSISTENT_SEARCH_TEST_SERVER} -D "cn=Directory Manager" -w "secret123"
 #
 dn: cn=bosses,ou=groups,dc=example,dc=com
 changetype: delete
index 65026b5223c3dc0d17ea0350e4f054b8b2a6125a..7c91938c5729f5be89f5f23eb11d79a9356aba99 100644 (file)
@@ -112,7 +112,7 @@ server test {
 
                ldap {
                        server = $ENV{PERSISTENT_SEARCH_TEST_SERVER}
-                       identity = 'cn=manager'
+                       identity = 'cn=Directory Manager'
                        password = 'secret123'
 
                        options {