/* runs through the process of setting up the server as specified in the args */ func main() { kingpin.MustParse(app.Parse(os.Args[1:])) var port int = *appPort var kfilepath string = *appPrivatekeyfile var kinfopath string = *appInfo fmt.Printf("Sigserv3 - listening on port %d.\n", port) suite := ed25519.NewAES128SHA256Ed25519(true) kv, err := crypto.SchnorrLoadKeypair(kfilepath, suite) if err != nil { fmt.Println("Error " + err.Error()) return } info, err := LoadInfo(kinfopath) if err != nil { fmt.Println("Error " + err.Error()) return } // I don't know if there's a way to // do std::bind-like behaviour in GO. // for C++ what I'd do is pretty simple: // newfunc := std::bind(&func, args to bind) var signBlindImpl connectionhandler = func(conn net.Conn) { signBlindlySchnorr(conn, suite, kv, info) } serve(port, signBlindImpl) }
func main() { var port int var kfilepath string flag.IntVar(&port, "port", 1111, "Listen on given port") flag.StringVar(&kfilepath, "keyfile", "", "Use the keyfile specified") flag.Parse() fmt.Printf("Sigserv1 - listening on port %d.\n", port) suite := ed25519.NewAES128SHA256Ed25519(true) kv, err := crypto.SchnorrLoadKeypair(kfilepath, suite) if err != nil { fmt.Println("Error " + err.Error()) return } // I don't know if there's a way to // do std::bind-like behaviour in GO. // for C++ what I'd do is pretty simple: // newfunc := std::bind(&func, args to bind) var signOneKBImpl connectionhandler = func(conn net.Conn) { signOneKBMSchnorr(conn, suite, kv) } serve(port, signOneKBImpl) }