diff --git a/bitnami/openldap/2.6/debian-12/Dockerfile b/bitnami/openldap/2.6/debian-12/Dockerfile index 2e40064fe390..3ed946295b33 100644 --- a/bitnami/openldap/2.6/debian-12/Dockerfile +++ b/bitnami/openldap/2.6/debian-12/Dockerfile @@ -7,7 +7,7 @@ ARG DOWNLOADS_URL="https://downloads.bitnami.com/files/stacksmith" ARG TARGETARCH LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \ - org.opencontainers.image.created="2026-06-10T21:50:11Z" \ + org.opencontainers.image.created="2026-07-10T22:18:13Z" \ org.opencontainers.image.description="Application packaged by Broadcom, Inc." \ org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/openldap/README.md" \ org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/openldap" \ @@ -49,7 +49,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/openldap/postunpack.sh ENV APP_VERSION="2.6.13" \ BITNAMI_APP_NAME="openldap" \ - IMAGE_REVISION="7" \ + IMAGE_REVISION="8" \ PATH="/opt/bitnami/openldap/bin:/opt/bitnami/openldap/sbin:$PATH" EXPOSE 1389 1636 diff --git a/bitnami/openldap/2.6/debian-12/prebuildfs/opt/bitnami/scripts/libpersistence.sh b/bitnami/openldap/2.6/debian-12/prebuildfs/opt/bitnami/scripts/libpersistence.sh index 18445e7d27fa..833ee5ab1d65 100644 --- a/bitnami/openldap/2.6/debian-12/prebuildfs/opt/bitnami/scripts/libpersistence.sh +++ b/bitnami/openldap/2.6/debian-12/prebuildfs/opt/bitnami/scripts/libpersistence.sh @@ -39,7 +39,7 @@ persist_app() { fi pushd "$install_dir" >/dev/null || exit local file_to_persist_relative file_to_persist_destination file_to_persist_destination_folder - local -r tmp_file="/tmp/perms.acl" + local -r acl_file="$(mktemp "${TMPDIR:-/tmp}"/acl.XXXXXXXXXX)" for file_to_persist in "${files_to_persist[@]}"; do if [[ ! -f "$file_to_persist" && ! -d "$file_to_persist" ]]; then error "Cannot persist '${file_to_persist}' because it does not exist" @@ -50,22 +50,22 @@ persist_app() { file_to_persist_destination_folder="$(dirname "$file_to_persist_destination")" # Get original permissions for existing files, which will be applied later # Exclude the root directory with 'sed', to avoid issues when copying the entirety of it to a volume - getfacl -R "$file_to_persist_relative" | sed -E '/# file: (\..+|[^.])/,$!d' > "$tmp_file" + getfacl -R "$file_to_persist_relative" | sed -E '/# file: (\..+|[^.])/,$!d' > "$acl_file" # Copy directories to the volume ensure_dir_exists "$file_to_persist_destination_folder" cp -Lr --preserve=links "$file_to_persist_relative" "$file_to_persist_destination_folder" # Restore permissions pushd "$persist_dir" >/dev/null || exit if am_i_root; then - setfacl --restore="$tmp_file" + setfacl --restore="$acl_file" else # When running as non-root, don't change ownership - setfacl --restore=<(grep -E -v '^# (owner|group):' "$tmp_file") + setfacl --restore=<(grep -E -v '^# (owner|group):' "$acl_file") fi popd >/dev/null || exit done popd >/dev/null || exit - rm -f "$tmp_file" + rm -f "$acl_file" # Install the persisted files into the installation directory, via symlinks restore_persisted_app "$@" } diff --git a/bitnami/openldap/2.6/debian-12/prebuildfs/opt/bitnami/scripts/libservice.sh b/bitnami/openldap/2.6/debian-12/prebuildfs/opt/bitnami/scripts/libservice.sh index a8293800d55c..c1d60a5c5f42 100644 --- a/bitnami/openldap/2.6/debian-12/prebuildfs/opt/bitnami/scripts/libservice.sh +++ b/bitnami/openldap/2.6/debian-12/prebuildfs/opt/bitnami/scripts/libservice.sh @@ -424,3 +424,23 @@ EOF WantedBy=bitnami.service EOF } + +######################## +# Register a SIGTERM handler that forwards the signal to all child processes. +# Should be called at the start of run.sh, before launching any background processes. +# Globals: +# None +# Arguments: +# None +# Returns: +# None +######################### +service_register_term_forwarder() { + _service_forward_term() { + warn "Caught signal SIGTERM, passing it to child processes..." + pgrep -P $$ | xargs kill -TERM 2>/dev/null + wait + exit $? + } + trap _service_forward_term TERM +}