commit 675eba207124e1bc183880909d3422c2f3c21f63
Author: Kathy Brade <br...@pearlcrescent.com>
Date:   Wed Mar 9 09:53:08 2016 -0500

    fixup! Bug 18371: symlinks incompatible with Gatekeeper signing
    
    Fix a problem where copying the profile from the template failed
    if TorBrowser-Data/Tor/PluggableTransports/ did not already exist
    (before calling ioutil.TempDir(), the parent directory must exist).
    
    Remove trailing semicolons and unneeded parens.
---
 meek-client-torbrowser/meek-client-torbrowser.go | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/meek-client-torbrowser/meek-client-torbrowser.go 
b/meek-client-torbrowser/meek-client-torbrowser.go
index 8a3809d..8647d5d 100644
--- a/meek-client-torbrowser/meek-client-torbrowser.go
+++ b/meek-client-torbrowser/meek-client-torbrowser.go
@@ -104,15 +104,22 @@ func ensureProfileExists(profilePath string) error {
 
        // If profileTemplatePath is not set, we are running on a platform that
        // expects the profile to already exist.
-       if (profileTemplatePath == "") {
-               return err;
+       if profileTemplatePath == "" {
+               return err
        }
 
        log.Printf("creating profile by copying files from %s to %s\n", 
profileTemplatePath, profilePath)
-       tmpPath, err := ioutil.TempDir(filepath.Dir(profilePath), 
"tmpMeekProfile")
+       profileParentPath := filepath.Dir(profilePath)
+       err = os.MkdirAll(profileParentPath, os.ModePerm)
+       if err != nil {
+               return err
+       }
+
+       tmpPath, err := ioutil.TempDir(profileParentPath, "tmpMeekProfile")
        if err != nil {
                return err
        }
+
        err = os.MkdirAll(tmpPath, os.ModePerm)
        if err != nil {
                return err
@@ -120,7 +127,7 @@ func ensureProfileExists(profilePath string) error {
 
        // Remove the temporary directory before returning.
        defer func() {
-               os.RemoveAll(tmpPath);
+               os.RemoveAll(tmpPath)
        }()
 
        templatePath, err := filepath.Abs(profileTemplatePath)
@@ -130,13 +137,13 @@ func ensureProfileExists(profilePath string) error {
 
        visit := func(path string, info os.FileInfo, err error) error {
                relativePath := strings.TrimPrefix(path, templatePath)
-               if (relativePath == "") {
+               if relativePath == "" {
                        return nil      // skip the root directory
                }
 
                // If relativePath is a directory, create it; if it is a file, 
copy it.
-               destPath := filepath.Join(tmpPath, relativePath);
-               if (info.IsDir()) {
+               destPath := filepath.Join(tmpPath, relativePath)
+               if info.IsDir() {
                        err = os.MkdirAll(destPath, info.Mode())
                } else {
                        err = copyFile(path, info.Mode(), destPath)
@@ -150,7 +157,7 @@ func ensureProfileExists(profilePath string) error {
                return err
        }
 
-       return os.Rename(tmpPath, profilePath);
+       return os.Rename(tmpPath, profilePath)
 }
 
 

_______________________________________________
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to