From 16d95d2a73166cd27b5476221b12296c7731301a Mon Sep 17 00:00:00 2001 From: Jephte CLAIN Date: Thu, 12 Nov 2015 15:40:08 +0400 Subject: [PATCH] =?UTF-8?q?apache=5Fautoconf():=20d=C3=A9ploiement=20des?= =?UTF-8?q?=20certificats=20autorit=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/ulib/apache.tools | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/lib/ulib/apache.tools b/lib/ulib/apache.tools index 0e101a2..73fc0d0 100644 --- a/lib/ulib/apache.tools +++ b/lib/ulib/apache.tools @@ -259,15 +259,6 @@ function apache_autoconf() { [ -n "$wwwdir" ] || wwwdir="$autoconfdir/www" [ -n "$certsconfdir" ] || certsconfdir="$autoconfdir/certsconf" [ -n "$rrdir" ] || rrdir="$autoconfdir/RewriteRules" - if [ -d "$certsconfdir" ]; then - if [ -z "$certsdir" ]; then - eerror "CERTSDIR est requis si --certsconfdir est spécifié" - return 1 - elif [ ! -d "$certsdir" ]; then - eerror "$certsdir: répertoire invalide" - return 1 - fi - fi # Faire un script sed pour remplacer les variables spécifiées par leur # valeur dans les fichiers @@ -284,10 +275,10 @@ function apache_autoconf() { ac_set_tmpfile FILLTEMP # Copie des certificats - local modified conf + local modified rehash conf if [ -d "$certsconfdir" ]; then - local -a certsconfs - local certsconf cert key ca + local -a certsconfs certspems + local certsconf certspem cert key ca array_addu FILLVARS cert array_addu FILLVARS key array_addu FILLVARS ca @@ -295,10 +286,24 @@ function apache_autoconf() { etitle "Installation des certificats" array_lsfiles certsconfs "$certsconfdir" "*.conf" for certsconf in "${certsconfs[@]}"; do + if [ -z "$certsdir" ]; then + eerror "CERTSDIR est requis si --certsconfdir est spécifié" + return 1 + elif [ ! -d "$certsdir" ]; then + eerror "$certsdir: répertoire invalide" + return 1 + fi apache_resolvecert "$certsconf" "$certsdir" cert key ca || return 1 apache_addcert -y "$cert" "$key" "$ca" modified=1 done + array_lsfiles certspems "$certsconfdir" "*.crt" "*.pem" + for certspem in "${certspems[@]}"; do + if copy_update "$certspem" "$APACHESSLCERTSDIR/$(basename -- "$certspem")"; then + modified=1 + rehash=1 + fi + done eend fi @@ -499,8 +504,11 @@ s#@@ca@@#$APACHESSLCERTSDIR/$(basename "$ca")#g eend fi - if [ -n "$modified" -a -n "$restart" ]; then - estep "Redémarrage d'apache" - "$APACHECTL" restart + if [ -n "$modified" ]; then + [ -n "$rehash" ] && elinedots "Hashage des certificats" c_rehash + if [ -n "$restart" ]; then + estep "Redémarrage d'apache" + "$APACHECTL" restart + fi fi }