itImplement -t flag for choosing between nodes being (in)valid initially. - 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 9273ef22a622c87441f711236c2d11515da6914f /git/tordam/commit/9273ef22a622c87441f711236c2d11515da6914f.gph parazyd.org 70 1parent b97811cbf9b58bcf190ed3cc88aa414a04cc84e6 /git/tordam/commit/b97811cbf9b58bcf190ed3cc88aa414a04cc84e6.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Thu, 19 Jul 2018 16:22:53 +0200 Err parazyd.org 70 i Err parazyd.org 70 iImplement -t flag for choosing between nodes being (in)valid initially. Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M cmd/dam-dir/main.go | 9 +++++++++ Err parazyd.org 70 i M pkg/damlib/config.go | 4 ++++ Err parazyd.org 70 i M pkg/damlib/validate.go | 6 +++++- Err parazyd.org 70 i Err parazyd.org 70 i3 files changed, 18 insertions(+), 1 deletion(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/cmd/dam-dir/main.go b/cmd/dam-dir/main.go /git/tordam/file/cmd/dam-dir/main.go.gph parazyd.org 70 it@@ -22,6 +22,7 @@ package main Err parazyd.org 70 i Err parazyd.org 70 i import ( Err parazyd.org 70 i "encoding/json" Err parazyd.org 70 i+ "flag" Err parazyd.org 70 i "log" Err parazyd.org 70 i "net/http" Err parazyd.org 70 i "os" Err parazyd.org 70 it@@ -213,6 +214,14 @@ func handleElse(rw http.ResponseWriter, request *http.Request) {} Err parazyd.org 70 i Err parazyd.org 70 i func main() { Err parazyd.org 70 i var wg sync.WaitGroup Err parazyd.org 70 i+ var t bool Err parazyd.org 70 i+ Err parazyd.org 70 i+ flag.BoolVar(&t, "t", false, "Mark all new nodes valid initially") Err parazyd.org 70 i+ flag.Parse() Err parazyd.org 70 i+ Err parazyd.org 70 i+ if t { Err parazyd.org 70 i+ lib.Testnet = true Err parazyd.org 70 i+ } Err parazyd.org 70 i Err parazyd.org 70 i // Chdir to our working directory. Err parazyd.org 70 i if _, err := os.Stat(lib.Cwd); os.IsNotExist(err) { Err parazyd.org 70 1diff --git a/pkg/damlib/config.go b/pkg/damlib/config.go /git/tordam/file/pkg/damlib/config.go.gph parazyd.org 70 it@@ -46,3 +46,7 @@ const TorPortMap = "80:49371,13010:13010,13011:13011,5000:5000" Err parazyd.org 70 i Err parazyd.org 70 i // DirPort is the port where dam-dir will be listening. Err parazyd.org 70 i const DirPort = 49371 Err parazyd.org 70 i+ Err parazyd.org 70 i+// Testnet is flipped with a flag in dam-dir and represents if all new Err parazyd.org 70 i+// nodes are initially marked valid or not. Err parazyd.org 70 i+var Testnet = false Err parazyd.org 70 1diff --git a/pkg/damlib/validate.go b/pkg/damlib/validate.go /git/tordam/file/pkg/damlib/validate.go.gph parazyd.org 70 it@@ -155,7 +155,11 @@ func ValidateFirstHandshake(req map[string]string) (bool, string) { Err parazyd.org 70 i if ex != 1 { // We did not have this node in redis. Err parazyd.org 70 i info["pubkey"] = pub Err parazyd.org 70 i info["firstseen"] = time.Now().Unix() Err parazyd.org 70 i- info["valid"] = 1 Err parazyd.org 70 i+ if Testnet { Err parazyd.org 70 i+ info["valid"] = 1 Err parazyd.org 70 i+ } else { Err parazyd.org 70 i+ info["valid"] = 0 Err parazyd.org 70 i+ } Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i log.Printf("%s: writing to redis\n", req["address"]) Err parazyd.org 70 .