itImplement flag for (re)generating keypairs. - 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 402675f627ff126707f5dacd88e85258987941b8 /git/tordam/commit/402675f627ff126707f5dacd88e85258987941b8.gph parazyd.org 70 1parent 57d5e502e50701fb1352feb2dd2453f5ab74ca7e /git/tordam/commit/57d5e502e50701fb1352feb2dd2453f5ab74ca7e.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Mon, 3 Sep 2018 13:58:56 +0200 Err parazyd.org 70 i Err parazyd.org 70 iImplement flag for (re)generating keypairs. Err parazyd.org 70 i Err parazyd.org 70 iUsing this flag will make dam-client exit cleanly after generating a Err parazyd.org 70 ikeypair. Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M cmd/dam-client/main.go | 9 +++++++-- Err parazyd.org 70 i Err parazyd.org 70 i1 file changed, 7 insertions(+), 2 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@@ -200,12 +200,13 @@ func fetchDirlist(locations []string) ([]string, error) { Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i func main() { Err parazyd.org 70 i- var d bool Err parazyd.org 70 i+ var d, gen bool Err parazyd.org 70 i var ai int Err parazyd.org 70 i var dh string Err parazyd.org 70 i var dirHosts []string Err parazyd.org 70 i Err parazyd.org 70 i flag.BoolVar(&d, "d", false, "Don't fetch remote entry points") Err parazyd.org 70 i+ flag.BoolVar(&gen, "gen", false, "Only (re)generate keypairs and exit cleanly") Err parazyd.org 70 i flag.IntVar(&ai, "ai", 10, "Announce interval in minutes") Err parazyd.org 70 i flag.StringVar(&dh, "dh", "https://dam.decodeproject.eu/dirs.txt", Err parazyd.org 70 i "A remote list of entry points/directories (comma-separated)") Err parazyd.org 70 it@@ -226,7 +227,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) { 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 it@@ -236,6 +238,9 @@ func main() { 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 } Err parazyd.org 70 i Err parazyd.org 70 i // Start up the hidden service Err parazyd.org 70 .