From cfff13a45f057cd78619cfeef80afb336a20cf71 Mon Sep 17 00:00:00 2001 From: idk Date: Sun, 13 Sep 2020 16:41:21 -0400 Subject: [PATCH] start making Sammy into something kind of reusable --- sammy/sammy.go | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/sammy/sammy.go b/sammy/sammy.go index f09fd31..cea5034 100644 --- a/sammy/sammy.go +++ b/sammy/sammy.go @@ -3,6 +3,8 @@ package sammy import ( "github.com/eyedeekay/sam3" "github.com/eyedeekay/sam3/i2pkeys" + + "math/rand" "os" ) @@ -16,33 +18,30 @@ func RandStringBytes() string { } func Sammy(opts map[string]string) (*sam3.StreamListener, error) { - sam := "" - keypath := "" - servertun := "" if opts != nil { - if ok, _ := opts[`sam`]; !ok { + if _, ok := opts[`sam`]; !ok { opts[`sam`] = "127.0.0.1:7656" } - if ok, _ := opts[`keypath`]; !ok { + if _, ok := opts[`keypath`]; !ok { opts[`keypath`] = "keys.i2pkeys" } - if ok, _ := opts[`servertun`]; !ok { - opts[`servertun`] = "serv" + randStringBytes() + if _, ok := opts[`servertun`]; !ok { + opts[`servertun`] = "serv" + RandStringBytes() } } else { opts := make(map[string]string) opts[`sam`] = "127.0.0.1:7656" opts[`keypath`] = "keys.i2pkeys" - opts[`servertun`] = "serv" + randStringBytes() + opts[`servertun`] = "serv" + RandStringBytes() } if sam, err := sam3.NewSAM(opts[`sam`]); err != nil { return nil, err } else { - if file, err := os.Open(opt[`keypath`]); err == nil { + if file, err := os.Open(opts[`keypath`]); err == nil { if keys, err := i2pkeys.LoadKeysIncompat(file); err != nil { return nil, err } else { - if stream, err := sam.NewStreamSession(opt[`servertun`], keys, sam3.Options_Fat); err != nil { + if stream, err := sam.NewStreamSession(opts[`servertun`], keys, sam3.Options_Fat); err != nil { return nil, err } else { return stream.Listen() @@ -52,13 +51,13 @@ func Sammy(opts map[string]string) (*sam3.StreamListener, error) { if keys, err := sam.NewKeys(); err != nil { return nil, err } else { - if file, err := os.Create(opt[`keypath`]); err != nil { + if file, err := os.Create(opts[`keypath`]); err != nil { return nil, err } else { if err := i2pkeys.StoreKeysIncompat(keys, file); err != nil { return nil, err } - if stream, err := sam.NewStreamSession(opt[`servertun`], keys, sam3.Options_Fat); err != nil { + if stream, err := sam.NewStreamSession(opts[`servertun`], keys, sam3.Options_Fat); err != nil { return nil, err } else { return stream.Listen()