Skip to content

Commit 6353a84

Browse files
committed
fix ldap ssl client with KEEP_EXISTING_CONFIG
1 parent 990b9c6 commit 6353a84

File tree

1 file changed

+21
-15
lines changed

1 file changed

+21
-15
lines changed

image/service/slapd/startup.sh

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ WAS_STARTED_WITH_TLS="/etc/ldap/slapd.d/docker-openldap-was-started-with-tls"
2424
WAS_STARTED_WITH_TLS_ENFORCE="/etc/ldap/slapd.d/docker-openldap-was-started-with-tls-enforce"
2525
WAS_STARTED_WITH_REPLICATION="/etc/ldap/slapd.d/docker-openldap-was-started-with-replication"
2626

27+
LDAP_TLS_CA_CRT_PATH="${CONTAINER_SERVICE_DIR}/slapd/assets/certs/$LDAP_TLS_CA_CRT_FILENAME"
28+
LDAP_TLS_CRT_PATH="${CONTAINER_SERVICE_DIR}/slapd/assets/certs/$LDAP_TLS_CRT_FILENAME"
29+
LDAP_TLS_KEY_PATH="${CONTAINER_SERVICE_DIR}/slapd/assets/certs/$LDAP_TLS_KEY_FILENAME"
30+
LDAP_TLS_DH_PARAM_PATH="${CONTAINER_SERVICE_DIR}/slapd/assets/certs/dhparam.pem"
31+
32+
2733
# CONTAINER_SERVICE_DIR and CONTAINER_STATE_DIR variables are set by
2834
# the baseimage run tool more info : https://github.com/osixia/docker-light-baseimage
2935

@@ -269,11 +275,6 @@ EOF
269275

270276
log-helper info "Add TLS config..."
271277

272-
LDAP_TLS_CA_CRT_PATH="${CONTAINER_SERVICE_DIR}/slapd/assets/certs/$LDAP_TLS_CA_CRT_FILENAME"
273-
LDAP_TLS_CRT_PATH="${CONTAINER_SERVICE_DIR}/slapd/assets/certs/$LDAP_TLS_CRT_FILENAME"
274-
LDAP_TLS_KEY_PATH="${CONTAINER_SERVICE_DIR}/slapd/assets/certs/$LDAP_TLS_KEY_FILENAME"
275-
LDAP_TLS_DH_PARAM_PATH="${CONTAINER_SERVICE_DIR}/slapd/assets/certs/dhparam.pem"
276-
277278
# generate a certificate and key with ssl-helper tool if LDAP_CRT and LDAP_KEY files don't exists
278279
# https://github.com/osixia/docker-light-baseimage/blob/stable/image/service-available/:ssl-tools/assets/tool/ssl-helper
279280
ssl-helper $LDAP_SSL_HELPER_PREFIX $LDAP_TLS_CRT_PATH $LDAP_TLS_KEY_PATH $LDAP_TLS_CA_CRT_PATH
@@ -302,16 +303,6 @@ EOF
302303
echo "export PREVIOUS_LDAP_TLS_KEY_PATH=${LDAP_TLS_KEY_PATH}" >> $WAS_STARTED_WITH_TLS
303304
echo "export PREVIOUS_LDAP_TLS_DH_PARAM_PATH=${LDAP_TLS_DH_PARAM_PATH}" >> $WAS_STARTED_WITH_TLS
304305

305-
# ldap client config
306-
sed -i --follow-symlinks "s,TLS_CACERT.*,TLS_CACERT ${LDAP_TLS_CA_CRT_PATH},g" /etc/ldap/ldap.conf
307-
echo "TLS_REQCERT ${LDAP_TLS_VERIFY_CLIENT}" >> /etc/ldap/ldap.conf
308-
cp -f /etc/ldap/ldap.conf ${CONTAINER_SERVICE_DIR}/slapd/assets/ldap.conf
309-
310-
[[ -f "$HOME/.ldaprc" ]] && rm -f $HOME/.ldaprc
311-
echo "TLS_CERT ${LDAP_TLS_CRT_PATH}" > $HOME/.ldaprc
312-
echo "TLS_KEY ${LDAP_TLS_KEY_PATH}" >> $HOME/.ldaprc
313-
cp -f $HOME/.ldaprc ${CONTAINER_SERVICE_DIR}/slapd/assets/.ldaprc
314-
315306
# enforce TLS
316307
if [ "${LDAP_TLS_ENFORCE,,}" == "true" ]; then
317308
log-helper info "Add enforce TLS..."
@@ -392,6 +383,21 @@ EOF
392383
while [ -e /proc/$SLAPD_PID ]; do sleep 0.1; done # wait until slapd is terminated
393384
fi
394385

386+
#
387+
# ldap client config
388+
#
389+
if [ "${LDAP_TLS,,}" == "true" ]; then
390+
log-helper info "Configure ldap client TLS configuration..."
391+
sed -i --follow-symlinks "s,TLS_CACERT.*,TLS_CACERT ${LDAP_TLS_CA_CRT_PATH},g" /etc/ldap/ldap.conf
392+
echo "TLS_REQCERT ${LDAP_TLS_VERIFY_CLIENT}" >> /etc/ldap/ldap.conf
393+
cp -f /etc/ldap/ldap.conf ${CONTAINER_SERVICE_DIR}/slapd/assets/ldap.conf
394+
395+
[[ -f "$HOME/.ldaprc" ]] && rm -f $HOME/.ldaprc
396+
echo "TLS_CERT ${LDAP_TLS_CRT_PATH}" > $HOME/.ldaprc
397+
echo "TLS_KEY ${LDAP_TLS_KEY_PATH}" >> $HOME/.ldaprc
398+
cp -f $HOME/.ldaprc ${CONTAINER_SERVICE_DIR}/slapd/assets/.ldaprc
399+
fi
400+
395401
#
396402
# remove container config files
397403
#

0 commit comments

Comments
 (0)