itdam-client: Move the init of the working directory to a separate function. - tordam - A library for peer discovery inside the Tor network Err parazyd.org 70 hgit clone https://git.parazyd.org/tordam URL:https://git.parazyd.org/tordam parazyd.org 70 1Log /git/tordam/log.gph parazyd.org 70 1Files /git/tordam/files.gph parazyd.org 70 1Refs /git/tordam/refs.gph parazyd.org 70 1README /git/tordam/file/README.md.gph parazyd.org 70 1LICENSE /git/tordam/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit 744a6b3b53755be364b37f7914b1961e9391bebf /git/tordam/commit/744a6b3b53755be364b37f7914b1961e9391bebf.gph parazyd.org 70 1parent a5268a9c66563b358d6b2d957051c3a10389ead9 /git/tordam/commit/a5268a9c66563b358d6b2d957051c3a10389ead9.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Sat, 27 Oct 2018 13:48:02 +0200 Err parazyd.org 70 i Err parazyd.org 70 idam-client: Move the init of the working directory to a separate function. Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M cmd/dam-client/main.go | 41 ++++++++++++++++++++----------- Err parazyd.org 70 i Err parazyd.org 70 i1 file changed, 26 insertions(+), 15 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/cmd/dam-client/main.go b/cmd/dam-client/main.go /git/tordam/file/cmd/dam-client/main.go.gph parazyd.org 70 it@@ -45,6 +45,28 @@ type msgStruct struct { Err parazyd.org 70 i Secret string Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i+func clientInit(gen bool) { Err parazyd.org 70 i+ err := os.Chmod(lib.PrivKeyPath, 0600) Err parazyd.org 70 i+ lib.CheckError(err) Err parazyd.org 70 i+ Err parazyd.org 70 i+ key, err := lib.GenRsa(lib.RsaBits) Err parazyd.org 70 i+ lib.CheckError(err) Err parazyd.org 70 i+ Err parazyd.org 70 i+ err = lib.SavePrivRsa(lib.PrivKeyPath, key) Err parazyd.org 70 i+ lib.CheckError(err) Err parazyd.org 70 i+ Err parazyd.org 70 i+ onionaddr, err := lib.OnionFromPubkeyRsa(key.PublicKey) Err parazyd.org 70 i+ lib.CheckError(err) Err parazyd.org 70 i+ Err parazyd.org 70 i+ err = ioutil.WriteFile("hostname", onionaddr, 0644) Err parazyd.org 70 i+ lib.CheckError(err) Err parazyd.org 70 i+ Err parazyd.org 70 i+ log.Printf("Our hostname is: %s\n", string(onionaddr)) Err parazyd.org 70 i+ if gen { Err parazyd.org 70 i+ os.Exit(0) Err parazyd.org 70 i+ } Err parazyd.org 70 i+} Err parazyd.org 70 i+ Err parazyd.org 70 i func announce(dir string, vals map[string]string, privkey *rsa.PrivateKey) (bool, error) { Err parazyd.org 70 i msg, err := json.Marshal(vals) Err parazyd.org 70 i if err != nil { Err parazyd.org 70 it@@ -236,20 +258,8 @@ func main() { Err parazyd.org 70 i err := os.Chdir(lib.Cwd) Err parazyd.org 70 i lib.CheckError(err) Err parazyd.org 70 i Err parazyd.org 70 i- if _, err := os.Stat(lib.PrivKeyPath); os.IsNotExist(err) || gen { Err parazyd.org 70 i- os.Chmod(lib.PrivKeyPath, 0600) Err parazyd.org 70 i- key, err := lib.GenRsa(lib.RsaBits) Err parazyd.org 70 i- lib.CheckError(err) Err parazyd.org 70 i- err = lib.SavePrivRsa(lib.PrivKeyPath, key) Err parazyd.org 70 i- lib.CheckError(err) Err parazyd.org 70 i- onionaddr, err := lib.OnionFromPubkeyRsa(key.PublicKey) Err parazyd.org 70 i- lib.CheckError(err) Err parazyd.org 70 i- err = ioutil.WriteFile("hostname", onionaddr, 0644) Err parazyd.org 70 i- lib.CheckError(err) Err parazyd.org 70 i- log.Println("Our hostname is:", string(onionaddr)) Err parazyd.org 70 i- if gen { Err parazyd.org 70 i- os.Exit(0) Err parazyd.org 70 i- } Err parazyd.org 70 i+ if _, err = os.Stat(lib.PrivKeyPath); os.IsNotExist(err) || gen { Err parazyd.org 70 i+ clientInit(gen) Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i // Start up the hidden service Err parazyd.org 70 it@@ -269,7 +279,8 @@ func main() { Err parazyd.org 70 i for !(ok) { Err parazyd.org 70 i t2 := time.Now().Unix() Err parazyd.org 70 i if t2-t1 > 90 { Err parazyd.org 70 i- cmd.Process.Kill() Err parazyd.org 70 i+ err := cmd.Process.Kill() Err parazyd.org 70 i+ lib.CheckError(err) Err parazyd.org 70 i log.Fatalln("Too much time passed. Exiting.") Err parazyd.org 70 i } Err parazyd.org 70 i time.Sleep(1000 * time.Millisecond) Err parazyd.org 70 .