diff --git a/.travis.yml b/.travis.yml index f032890..cf708c2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,9 +15,10 @@ addons: script: - curl -sSL $SHFMT_URL -o ~/shfmt - chmod +x ~/shfmt + - ~/shfmt -l -w -i 2 . + - git diff --exit-code && echo "shfmt OK" - shellcheck -V - shellcheck -e SC2021,SC2126,SC2034 **/*.sh && echo "shellcheck OK" - - ~/shfmt -l -w -i 2 . && echo "shfmt OK" || git diff --exit-code || (echo "Run shfmt to fix the formatting issues" && false) - cd .. - curl -sSL https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip -o ngrok-stable-linux-amd64.zip && unzip ngrok-stable-linux-amd64.zip && export NGROK_BIN="$(pwd)/ngrok" - git clone https://github.com/Neilpang/acmetest.git && cp -r acme.sh acmetest/ && cd acmetest diff --git a/acme.sh b/acme.sh index a6a6e97..ba4688c 100755 --- a/acme.sh +++ b/acme.sh @@ -1325,7 +1325,7 @@ _clear_conf() { _sdkey="$2" if [ "$_c_c_f" ]; then _conf_data="$(cat "$_c_c_f")" - echo "$_conf_data" | sed "s/^$_sdkey *=.*$//" > "$_c_c_f" + echo "$_conf_data" | sed "s/^$_sdkey *=.*$//" >"$_c_c_f" else _err "config file is empty, can not clear" fi @@ -1423,32 +1423,29 @@ _startserver() { #for centos ncat if _contains "$nchelp" "nmap.org"; then _debug "Using ncat: nmap.org" + if ! _exec "printf \"%s\r\n\r\n%s\" \"HTTP/1.1 200 OK\" \"$content\" | $_NC \"$Le_HTTPPort\" >&2"; then + _exec_err + return 1 + fi if [ "$DEBUG" ]; then - if printf "%s\r\n\r\n%s" "HTTP/1.1 200 OK" "$content" | $_NC "$Le_HTTPPort"; then - return - fi - else - if printf "%s\r\n\r\n%s" "HTTP/1.1 200 OK" "$content" | $_NC "$Le_HTTPPort" >/dev/null 2>&1; then - return - fi + _exec_err fi - _err "ncat listen error." + return fi # while true ; do - if [ "$DEBUG" ]; then - if ! printf "%s\r\n\r\n%s" "HTTP/1.1 200 OK" "$content" | $_NC -p "$Le_HTTPPort"; then - printf "%s\r\n\r\n%s" "HTTP/1.1 200 OK" "$content" | $_NC "$Le_HTTPPort" - fi - else - if ! printf "%s\r\n\r\n%s" "HTTP/1.1 200 OK" "$content" | $_NC -p "$Le_HTTPPort" >/dev/null 2>&1; then - printf "%s\r\n\r\n%s" "HTTP/1.1 200 OK" "$content" | $_NC "$Le_HTTPPort" >/dev/null 2>&1 - fi + if ! _exec "printf \"%s\r\n\r\n%s\" \"HTTP/1.1 200 OK\" \"$content\" | $_NC -p \"$Le_HTTPPort\" >&2"; then + _exec "printf \"%s\r\n\r\n%s\" \"HTTP/1.1 200 OK\" \"$content\" | $_NC \"$Le_HTTPPort\" >&2" fi + if [ "$?" != "0" ]; then _err "nc listen error." + _exec_err exit 1 fi + if [ "$DEBUG" ]; then + _exec_err + fi # done } @@ -1781,14 +1778,14 @@ _exec() { fi if [ "$_EXEC_TEMP_ERR" ]; then - "$@" 2>"$_EXEC_TEMP_ERR" + eval "$@ 2>>$_EXEC_TEMP_ERR" else - "$@" + eval "$@" fi } _exec_err() { - [ "$_EXEC_TEMP_ERR" ] && _err "$(cat "$_EXEC_TEMP_ERR")" + [ "$_EXEC_TEMP_ERR" ] && _err "$(cat "$_EXEC_TEMP_ERR")" && echo "" >"$_EXEC_TEMP_ERR" } _apachePath() { diff --git a/dnsapi/dns_nsupdate.sh b/dnsapi/dns_nsupdate.sh index a024e31..8067d2f 100755 --- a/dnsapi/dns_nsupdate.sh +++ b/dnsapi/dns_nsupdate.sh @@ -1,6 +1,5 @@ #!/usr/bin/env sh - ######## Public functions ##################### #Usage: dns_nsupdate_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs" @@ -22,7 +21,7 @@ EOF _err "error updating domain" return 1 fi - + return 0 } @@ -45,7 +44,6 @@ EOF return 0 } - #################### Private functions bellow ################################## _checkKeyFile() {