Skip to content

Commit 911505d

Browse files
committed
must fix #44 and fix #36)
1 parent cd4fd78 commit 911505d

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

image/service/slapd/startup.sh

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,16 @@ EOF
124124
fi
125125

126126
# if the config was bootstraped with TLS
127-
# to avoid error (#6) we hard delete TLS config
127+
# to avoid error (#6) (#36) and (#44)
128+
# we create fake temporary certificates if they do not exists
128129
if [ -e "$WAS_STARTED_WITH_TLS" ]; then
129-
sed -i '/olcTLS/d' /etc/ldap/slapd.d/cn\=config.ldif
130+
source $WAS_STARTED_WITH_TLS
131+
132+
cfssl-helper $LDAP_CFSSL_PREFIX $PREVIOUS_LDAP_TLS_CRT_PATH $PREVIOUS_LDAP_TLS_KEY_PATH $PREVIOUS_LDAP_TLS_CA_CRT_PATH
133+
[ -f ${PREVIOUS_LDAP_TLS_DH_PARAM_PATH} ] || openssl dhparam -out ${LDAP_TLS_DH_PARAM_PATH} 2048
134+
135+
chmod 600 ${PREVIOUS_LDAP_TLS_DH_PARAM_PATH}
136+
chown openldap:openldap $PREVIOUS_LDAP_TLS_CRT_PATH $PREVIOUS_LDAP_TLS_KEY_PATH $PREVIOUS_LDAP_TLS_CA_CRT_PATH $PREVIOUS_LDAP_TLS_DH_PARAM_PATH
130137
fi
131138

132139
# start OpenLDAP
@@ -247,7 +254,12 @@ EOF
247254
sed -i "s|{{ LDAP_TLS_VERIFY_CLIENT }}|${LDAP_TLS_VERIFY_CLIENT}|g" ${CONTAINER_SERVICE_DIR}/slapd/assets/config/tls/tls-enable.ldif
248255

249256
ldapmodify -Y EXTERNAL -Q -H ldapi:/// -f ${CONTAINER_SERVICE_DIR}/slapd/assets/config/tls/tls-enable.ldif 2>&1 | log-helper debug
250-
touch $WAS_STARTED_WITH_TLS
257+
258+
[[ -f "$WAS_STARTED_WITH_TLS" ]] && rm -f "$WAS_STARTED_WITH_TLS"
259+
echo "export PREVIOUS_LDAP_TLS_CA_CRT_PATH=${LDAP_TLS_CA_CRT_PATH}" > $WAS_STARTED_WITH_TLS
260+
echo "export PREVIOUS_LDAP_TLS_CRT_PATH=${LDAP_TLS_CRT_PATH}" >> $WAS_STARTED_WITH_TLS
261+
echo "export PREVIOUS_LDAP_TLS_KEY_PATH=${LDAP_TLS_KEY_PATH}" >> $WAS_STARTED_WITH_TLS
262+
echo "export PREVIOUS_LDAP_TLS_DH_PARAM_PATH=${LDAP_TLS_DH_PARAM_PATH}" >> $WAS_STARTED_WITH_TLS
251263

252264
# ldap client config
253265
sed -i --follow-symlinks "s,TLS_CACERT.*,TLS_CACERT ${LDAP_TLS_CA_CRT_PATH},g" /etc/ldap/ldap.conf

0 commit comments

Comments
 (0)