Browse Source

Support for shells without 'stat' (busybox ash)

- the _stat command can now return an error
- the issue() command chown command isn't run if _stat fails
Tim O'Brien 8 years ago
parent
commit
32fdc19697
1 changed files with 7 additions and 3 deletions
  1. 7 3
      acme.sh

+ 7 - 3
acme.sh

@@ -549,6 +549,7 @@ _stat() {
   if stat -f  '%Su:%Sg' "$1" 2>/dev/null ; then
     return
   fi
+  return 3; #error, 'stat' not found
 }
 
 #keyfile
@@ -1656,9 +1657,12 @@ issue() {
         mkdir -p "$wellknown_path"
         printf "%s" "$keyauthorization" > "$wellknown_path/$token"
         if [ ! "$usingApache" ] ; then
-          webroot_owner=$(_stat $_currentRoot)
-          _debug "Changing owner/group of .well-known to $webroot_owner"
-          chown -R $webroot_owner "$_currentRoot/.well-known"
+          if webroot_owner=$(_stat $_currentRoot) ; then
+            _debug "Changing owner/group of .well-known to $webroot_owner"
+            chown -R $webroot_owner "$_currentRoot/.well-known"
+          else
+            _debug "not chaning owner/group of webroot";
+          fi
         fi
         
       fi