From: Lukas Schauer Date: Wed, 30 Mar 2016 15:37:44 +0000 (+0200) Subject: add test and fix bug with upper-case domains (fixes #176) X-Git-Tag: v0.2.0~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=33f07fcc0bba97e2da71bffd27ce856ddcf0fe23;p=thirdparty%2Fdehydrated.git add test and fix bug with upper-case domains (fixes #176) --- diff --git a/letsencrypt.sh b/letsencrypt.sh index 3b527b3..6606ac3 100755 --- a/letsencrypt.sh +++ b/letsencrypt.sh @@ -572,7 +572,7 @@ command_sign_domains() { # Generate certificates for all domains found in domains.txt. Check if existing certificate are about to expire ORIGIFS="${IFS}" IFS=$'\n' - for line in $(<"${DOMAINS_TXT}" tr -d '\r' | _sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g' -e 's/[[:space:]]+/ /g' | (grep -vE '^(#|$)' || true)); do + for line in $(<"${DOMAINS_TXT}" tr -d '\r' | tr '[:upper:]' '[:lower:]' | _sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g' -e 's/[[:space:]]+/ /g' | (grep -vE '^(#|$)' || true)); do IFS="${ORIGIFS}" domain="$(printf '%s\n' "${line}" | cut -d' ' -f1)" morenames="$(printf '%s\n' "${line}" | cut -s -d' ' -f2-)" diff --git a/test.sh b/test.sh index dcb3d78..2e633c9 100755 --- a/test.sh +++ b/test.sh @@ -148,9 +148,12 @@ _CHECK_LOG "Creating fullchain.pem" _CHECK_LOG "Done!" _CHECK_ERRORLOG -# Add domain to domains.txt and run in cron mode again (should find a non-expiring certificate and do nothing) +# Prepare domains.txt +# Modify TMP3_URL to be uppercase to check for upper-lower-case mismatch bugs +echo "${TMP_URL} ${TMP2_URL} $(tr 'a-z' 'A-Z' <<<"${TMP3_URL}")" >> domains.txt + +# Run in cron mode again (should find a non-expiring certificate and do nothing) _TEST "Run in cron mode again, this time with domain in domains.txt, should find non-expiring certificate" -echo "${TMP_URL} ${TMP2_URL} ${TMP3_URL}" >> domains.txt ./letsencrypt.sh --cron > tmplog 2> errorlog || _FAIL "Script execution failed" _CHECK_LOG "Checking domain name(s) of existing cert... unchanged." _CHECK_LOG "Skipping renew"