]> git.ipfire.org Git - thirdparty/dehydrated.git/commitdiff
check exitcode of `curl -V` because of some issue with ancient versions of curl retur...
authorLukas Schauer <lukas@schauer.so>
Sat, 16 Jan 2016 20:50:15 +0000 (21:50 +0100)
committerLukas Schauer <lukas@schauer.so>
Sat, 16 Jan 2016 20:50:15 +0000 (21:50 +0100)
letsencrypt.sh

index fa4e156e5f53a5a4db611df466e9c595c5d9c12d..d2769410dc002f9abb0be402e2edaee15f6dfe28 100755 (executable)
@@ -10,11 +10,20 @@ BASEDIR="${SCRIPTDIR}"
 
 # Check for script dependencies
 check_dependencies() {
-  curl -V > /dev/null 2>&1 || _exiterr "This script requires curl."
+  # just execute some dummy and/or version commands to see if required tools exist and are actually usable
   openssl version > /dev/null 2>&1 || _exiterr "This script requires an openssl binary."
   _sed "" < /dev/null > /dev/null 2>&1 || _exiterr "This script requires sed with support for extended (modern) regular expressions."
   grep -V > /dev/null 2>&1 || _exiterr "This script requires grep."
   mktemp -u -t XXXXXX > /dev/null 2>&1 || _exiterr "This script requires mktemp."
+
+  # curl returns with an error code in some ancient versions so we have to catch that
+  set +e
+  curl -V > /dev/null 2>&1
+  set -e
+  retcode="$?"
+  if [[ ! "${retcode}" = "0" ]] && [[ ! "${retcode}" = "2" ]]; then
+    _exiterr "This script requires curl."
+  fi
 }
 
 # Setup default config values, search for and load configuration files