diff --git a/bitnami/openldap/2.5/debian-11/Dockerfile b/bitnami/openldap/2.5/debian-11/Dockerfile index c8005221e35a..e13459bb06c6 100644 --- a/bitnami/openldap/2.5/debian-11/Dockerfile +++ b/bitnami/openldap/2.5/debian-11/Dockerfile @@ -4,7 +4,7 @@ ARG TARGETARCH LABEL org.opencontainers.image.authors="https://bitnami.com/contact" \ org.opencontainers.image.description="Application packaged by Bitnami" \ - org.opencontainers.image.ref.name="2.5.13-debian-11-r55" \ + org.opencontainers.image.ref.name="2.5.13-debian-11-r56" \ org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/openldap" \ org.opencontainers.image.title="openldap" \ org.opencontainers.image.vendor="VMware, Inc." \ diff --git a/bitnami/openldap/2.5/debian-11/rootfs/opt/bitnami/scripts/libopenldap.sh b/bitnami/openldap/2.5/debian-11/rootfs/opt/bitnami/scripts/libopenldap.sh index ad43e96ed968..d9dc1a642ee9 100644 --- a/bitnami/openldap/2.5/debian-11/rootfs/opt/bitnami/scripts/libopenldap.sh +++ b/bitnami/openldap/2.5/debian-11/rootfs/opt/bitnami/scripts/libopenldap.sh @@ -36,6 +36,7 @@ export LDAP_ONLINE_CONF_DIR="${LDAP_VOLUME_DIR}/slapd.d" export LDAP_PID_FILE="${LDAP_VAR_DIR}/run/slapd.pid" export LDAP_CUSTOM_LDIF_DIR="${LDAP_CUSTOM_LDIF_DIR:-/ldifs}" export LDAP_CUSTOM_SCHEMA_FILE="${LDAP_CUSTOM_SCHEMA_FILE:-/schema/custom.ldif}" +export LDAP_CUSTOM_SCHEMA_DIR="${LDAP_CUSTOM_SCHEMA_DIR:-/schemas}" export PATH="${LDAP_BIN_DIR}:${LDAP_SBIN_DIR}:$PATH" export LDAP_TLS_CERT_FILE="${LDAP_TLS_CERT_FILE:-}" export LDAP_TLS_KEY_FILE="${LDAP_TLS_KEY_FILE:-}" @@ -357,6 +358,23 @@ ldap_add_custom_schema() { ldap_start_bg } +######################## +# Add custom schemas +# Globals: +# LDAP_* +# Arguments: +# None +# Returns +# None +######################### +ldap_add_custom_schemas() { + info "Adding custom schemas : $LDAP_CUSTOM_SCHEMA_DIR ..." + find "$LDAP_CUSTOM_SCHEMA_DIR" -maxdepth 1 \( -type f -o -type l \) -iname '*.ldif' -print0 | sort -z | xargs --null -I{} bash -c ". /opt/bitnami/scripts/libos.sh && debug_execute slapadd -F \"$LDAP_ONLINE_CONF_DIR\" -n 0 -l {}" + ldap_stop + while is_ldap_running; do sleep 1; done + ldap_start_bg +} + ######################## # Create LDAP tree # Globals: @@ -496,6 +514,9 @@ ldap_initialize() { if [[ -f "$LDAP_CUSTOM_SCHEMA_FILE" ]]; then ldap_add_custom_schema fi + if ! is_dir_empty "$LDAP_CUSTOM_SCHEMA_DIR"; then + ldap_add_custom_schemas + fi if ! is_dir_empty "$LDAP_CUSTOM_LDIF_DIR"; then ldap_add_custom_ldifs elif ! is_boolean_yes "$LDAP_SKIP_DEFAULT_TREE"; then