@@ -21,6 +21,7 @@ chown -R openldap:openldap ${CONTAINER_SERVICE_DIR}/slapd
2121
2222FIRST_START_DONE=" ${CONTAINER_STATE_DIR} /slapd-first-start-done"
2323WAS_STARTED_WITH_TLS=" /etc/ldap/slapd.d/docker-openldap-was-started-with-tls"
24+ WAS_STARTED_WITH_TLS_ENFORCE=" /etc/ldap/slapd.d/docker-openldap-was-started-with-tls-enforce"
2425WAS_STARTED_WITH_REPLICATION=" /etc/ldap/slapd.d/docker-openldap-was-started-with-replication"
2526
2627# CONTAINER_SERVICE_DIR and CONTAINER_STATE_DIR variables are set by
129130 if [ -e " $WAS_STARTED_WITH_TLS " ]; then
130131 source $WAS_STARTED_WITH_TLS
131132
133+ log-helper debug " Check previous TLS certificates..."
134+
132135 cfssl-helper $LDAP_CFSSL_PREFIX $PREVIOUS_LDAP_TLS_CRT_PATH $PREVIOUS_LDAP_TLS_KEY_PATH $PREVIOUS_LDAP_TLS_CA_CRT_PATH
133136 [ -f ${PREVIOUS_LDAP_TLS_DH_PARAM_PATH} ] || openssl dhparam -out ${LDAP_TLS_DH_PARAM_PATH} 2048
134137
224227 #
225228 # TLS config
226229 #
230+ if [ -e " $WAS_STARTED_WITH_TLS " ] && [ " ${LDAP_TLS,,} " != " true" ]; then
231+ log-helper error " /!\ WARNING: LDAP_TLS=false but the container was previously started with LDAP_TLS=true"
232+ log-helper error " TLS can't be disabled once added. Ignoring LDAP_TLS=false."
233+ LDAP_TLS=true
234+ fi
235+
236+ if [ -e " $WAS_STARTED_WITH_TLS_ENFORCE " ] && [ " ${LDAP_TLS_ENFORCE,,} " != " true" ]; then
237+ log-helper error " /!\ WARNING: LDAP_TLS_ENFORCE=false but the container was previously started with LDAP_TLS_ENFORCE=true"
238+ log-helper error " TLS enforcing can't be disabled once added. Ignoring LDAP_TLS_ENFORCE=false."
239+ LDAP_TLS_ENFORCE=true
240+ fi
241+
227242 if [ " ${LDAP_TLS,,} " == " true" ]; then
228243
229244 log-helper info " Add TLS config..."
@@ -275,18 +290,20 @@ EOF
275290 if [ " ${LDAP_TLS_ENFORCE,,} " == " true" ]; then
276291 log-helper info " Add enforce TLS..."
277292 ldapmodify -Y EXTERNAL -Q -H ldapi:/// -f ${CONTAINER_SERVICE_DIR} /slapd/assets/config/tls/tls-enforce-enable.ldif 2>&1 | log-helper debug
293+ touch $WAS_STARTED_WITH_TLS_ENFORCE
278294
279- # disable tls enforcing
280- else
281- log-helper info " Disable enforce TLS..."
282- ldapmodify -Y EXTERNAL -Q -H ldapi:/// -f ${CONTAINER_SERVICE_DIR} /slapd/assets/config/tls/tls-enforce-disable.ldif 2>&1 | log-helper debug || true
295+ # disable tls enforcing (not possible for now)
296+ # else
297+ # log-helper info "Disable enforce TLS..."
298+ # ldapmodify -Y EXTERNAL -Q -H ldapi:/// -f ${CONTAINER_SERVICE_DIR}/slapd/assets/config/tls/tls-enforce-disable.ldif 2>&1 | log-helper debug || true
299+ # [[ -f "$WAS_STARTED_WITH_TLS_ENFORCE" ]] && rm -f "$WAS_STARTED_WITH_TLS_ENFORCE"
283300 fi
284301
285- else
286- log-helper info " Disable TLS config... "
287-
288- ldapmodify -c -Y EXTERNAL -Q -H ldapi:/// -f ${CONTAINER_SERVICE_DIR} /slapd/assets/config/tls/tls-disable.ldif 2>&1 | log-helper debug || true
289- [[ -f " $WAS_STARTED_WITH_TLS " ]] && rm -f " $WAS_STARTED_WITH_TLS "
302+ # disable tls (not possible for now)
303+ # else
304+ # log-helper info "Disable TLS config..."
305+ # ldapmodify -c -Y EXTERNAL -Q -H ldapi:/// -f ${CONTAINER_SERVICE_DIR}/slapd/assets/config/tls/tls-disable.ldif 2>&1 | log-helper debug || true
306+ # [[ -f "$WAS_STARTED_WITH_TLS" ]] && rm -f "$WAS_STARTED_WITH_TLS"
290307 fi
291308
292309
0 commit comments