test filepath instead of path for join
This commit is contained in:
parent
582e746795
commit
68b2944f23
29
main.go
29
main.go
|
@ -22,7 +22,6 @@ import (
|
|||
mrand "math/rand"
|
||||
"os"
|
||||
"os/user"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"time"
|
||||
|
@ -75,19 +74,19 @@ func main() {
|
|||
if os.Getenv("CWTCH_FOLDER") != "" {
|
||||
the.CwtchDir = os.Getenv("CWTCH_FOLDER")
|
||||
} else if runtime.GOOS == "android" {
|
||||
the.CwtchDir = path.Join(androidBaseDir, "files")
|
||||
the.CwtchDir = filepath.Join(androidBaseDir, "files")
|
||||
} else {
|
||||
usr, err := user.Current()
|
||||
if err != nil {
|
||||
log.Errorf("\nerror: could not load current user: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
the.CwtchDir = path.Join(usr.HomeDir, ".cwtch")
|
||||
the.CwtchDir = filepath.Join(usr.HomeDir, ".cwtch")
|
||||
}
|
||||
|
||||
if buildVer == "" && os.Getenv("CWTCH_FOLDER") == "" {
|
||||
log.Infoln("Development build: using dev directory for dev profiles")
|
||||
the.CwtchDir = path.Join(the.CwtchDir, "dev")
|
||||
the.CwtchDir = filepath.Join(the.CwtchDir, "dev")
|
||||
}
|
||||
|
||||
the.ACN = nil
|
||||
|
@ -136,7 +135,7 @@ func mainUi(flagLocal bool, flagClientUI bool) {
|
|||
|
||||
app := gui.NewQGuiApplication(len(os.Args), os.Args)
|
||||
// our globals
|
||||
err := ui.InitGlobalSettingsFile(path.Join(the.CwtchDir, "global"), the.AppPassword)
|
||||
err := ui.InitGlobalSettingsFile(filepath.Join(the.CwtchDir, "global"), the.AppPassword)
|
||||
if err != nil {
|
||||
log.Errorf("Could not access global ui config: %v\n", err)
|
||||
os.Exit(-1)
|
||||
|
@ -153,7 +152,7 @@ func mainUi(flagLocal bool, flagClientUI bool) {
|
|||
if runtime.GOOS == "windows" {
|
||||
dir = "/" + dir
|
||||
}
|
||||
gcd.SetAssetPath("file://" + path.Join(dir, "assets") + "/")
|
||||
gcd.SetAssetPath("file://" + filepath.Join(dir, "assets") + "/")
|
||||
}
|
||||
|
||||
if buildVer != "" {
|
||||
|
@ -216,24 +215,24 @@ func mainUi(flagLocal bool, flagClientUI bool) {
|
|||
func loadACN() {
|
||||
torpath := "tor"
|
||||
if runtime.GOOS == "android" {
|
||||
torpath = path.Join(androidBaseDir, "lib/libtor.so")
|
||||
torpath = filepath.Join(androidBaseDir, "lib/libtor.so")
|
||||
} else if runtime.GOOS == "windows" {
|
||||
ex, err := os.Executable()
|
||||
if err != nil {
|
||||
ex = ""
|
||||
}
|
||||
exPath := filepath.Dir(ex)
|
||||
torpath = path.Join(exPath, "tor-0.3.5.7", "Tor", "tor.exe")
|
||||
torpath = filepath.Join(exPath, "tor-0.3.5.7", "Tor", "tor.exe")
|
||||
} else {
|
||||
dir, _ := filepath.Abs(filepath.Dir(os.Args[0]))
|
||||
if _, err := os.Stat(path.Join(dir, "tor")); os.IsNotExist(err) {
|
||||
if _, err := os.Stat(path.Join(dir, "deploy", "linux", "tor")); os.IsNotExist(err) {
|
||||
if _, err := os.Stat(filepath.Join(dir, "tor")); os.IsNotExist(err) {
|
||||
if _, err := os.Stat(filepath.Join(dir, "deploy", "linux", "tor")); os.IsNotExist(err) {
|
||||
log.Warnln("Cannot find bundled Tor")
|
||||
} else {
|
||||
torpath = path.Join(dir, "deploy", "linux", "tor")
|
||||
torpath = filepath.Join(dir, "deploy", "linux", "tor")
|
||||
}
|
||||
} else {
|
||||
torpath = path.Join(dir, "tor")
|
||||
torpath = filepath.Join(dir, "tor")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -251,7 +250,7 @@ func loadACN() {
|
|||
|
||||
// generate torrc on the fly
|
||||
// TODO if we have been configured for it, use system tor (like orbot) - we need a way to config this in the UI first
|
||||
tor.NewTorrc().WithSocksPort(port).WithOnionTrafficOnly().WithControlPort(controlPort).WithHashedPassword(base64.StdEncoding.EncodeToString(key)).Build(path.Join(the.CwtchDir, "tor", "torrc"))
|
||||
tor.NewTorrc().WithSocksPort(port).WithOnionTrafficOnly().WithControlPort(controlPort).WithHashedPassword(base64.StdEncoding.EncodeToString(key)).Build(filepath.Join(the.CwtchDir, "tor", "torrc"))
|
||||
the.ACN, err = tor.NewTorACNWithAuth(the.CwtchDir, torpath, controlPort, tor.HashedPasswordAuthenticator{base64.StdEncoding.EncodeToString(key)})
|
||||
|
||||
if err != nil {
|
||||
|
@ -263,8 +262,8 @@ func loadACN() {
|
|||
|
||||
func loadNetworkingAndFiles(gcd *ui.GrandCentralDispatcher, service bool, clientUI bool) {
|
||||
if service || clientUI || runtime.GOOS == "android" {
|
||||
clientIn := path.Join(the.CwtchDir, "clientIn")
|
||||
serviceIn := path.Join(the.CwtchDir, "serviceIn")
|
||||
clientIn := filepath.Join(the.CwtchDir, "clientIn")
|
||||
serviceIn := filepath.Join(the.CwtchDir, "serviceIn")
|
||||
if service {
|
||||
loadACN()
|
||||
serviceBridge := bridge.NewPipeBridgeService(serviceIn, clientIn)
|
||||
|
|
Reference in New Issue