Browse Source

fix error message for nc

neilpang 8 years ago
parent
commit
3e5b102445
1 changed files with 17 additions and 20 deletions
  1. 17 20
      acme.sh

+ 17 - 20
acme.sh

@@ -1423,32 +1423,29 @@ _startserver() {
   #for centos ncat
   #for centos ncat
   if _contains "$nchelp" "nmap.org"; then
   if _contains "$nchelp" "nmap.org"; then
     _debug "Using ncat: nmap.org"
     _debug "Using ncat: nmap.org"
-    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
+    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
     fi
-    _err "ncat listen error."
+    if [ "$DEBUG" ] ; then
+      _exec_err
+    fi
+    return
   fi
   fi
 
 
   #  while true ; do
   #  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
   fi
+
   if [ "$?" != "0" ]; then
   if [ "$?" != "0" ]; then
     _err "nc listen error."
     _err "nc listen error."
+    _exec_err
     exit 1
     exit 1
   fi
   fi
+  if [ "$DEBUG" ] ; then
+    _exec_err
+  fi
   #  done
   #  done
 }
 }
 
 
@@ -1781,14 +1778,14 @@ _exec() {
   fi
   fi
 
 
   if [ "$_EXEC_TEMP_ERR" ]; then
   if [ "$_EXEC_TEMP_ERR" ]; then
-    "$@" 2>"$_EXEC_TEMP_ERR"
+    eval "$@ 2>>$_EXEC_TEMP_ERR"
   else
   else
-    "$@"
+    eval "$@"
   fi
   fi
 }
 }
 
 
 _exec_err() {
 _exec_err() {
-  [ "$_EXEC_TEMP_ERR" ] && _err "$(cat "$_EXEC_TEMP_ERR")"
+  [ "$_EXEC_TEMP_ERR" ] && _err "$(cat "$_EXEC_TEMP_ERR")" && echo "" >"$_EXEC_TEMP_ERR"
 }
 }
 
 
 _apachePath() {
 _apachePath() {