From aab59969711746b77d7d160eafd8ddee7e72397a Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Thu, 3 May 2018 15:45:50 -0700 Subject: [PATCH] move server auto keygen to app/main --- server/app/main.go | 24 +++++++++++++++++++++++- server/server.go | 12 ------------ 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/server/app/main.go b/server/app/main.go index 8687e5e..e02464a 100644 --- a/server/app/main.go +++ b/server/app/main.go @@ -3,11 +3,33 @@ package main import ( cwtchserver "git.mascherari.press/cwtch/server" "log" + "os" + "github.com/s-rah/go-ricochet/utils" + "io/ioutil" ) +const privateKeyFile = "./private_key" + +func checkAndGenPrivateKey(privateKeyFile string) { + if _, err := os.Stat(privateKeyFile); os.IsNotExist(err) { + log.Printf("no private key found!") + log.Printf("generating new private key...") + pk, pk_err := utils.GeneratePrivateKey() + if pk_err != nil { + log.Fatalf("error generating new private key: %v\n", err) + } + err := ioutil.WriteFile(privateKeyFile, []byte(utils.PrivateKeyToString(pk)), 0400) + if err != nil { + log.Fatalf("error writing new private key to file %s: %v\n", privateKeyFile, err) + } + } +} + func main() { + checkAndGenPrivateKey(privateKeyFile) + server := new(cwtchserver.Server) log.Printf("starting cwtch server...") - server.Run("./private_key") + server.Run(privateKeyFile) } diff --git a/server/server.go b/server/server.go index a814b4c..233ffab 100644 --- a/server/server.go +++ b/server/server.go @@ -10,8 +10,6 @@ import ( "github.com/s-rah/go-ricochet/utils" "log" - "os" - "io/ioutil" ) type Server struct { @@ -20,16 +18,6 @@ type Server struct { func (s *Server) Run(privateKeyFile string) { cwtchserver := new(application.RicochetApplication) - if _, err := os.Stat(privateKeyFile); os.IsNotExist(err) { - log.Printf("no private key found!") - log.Printf("generating new private key...") - pk, pk_err := utils.GeneratePrivateKey() - if pk_err != nil { - log.Fatalf("error generating new private key: %v", err) - } - ioutil.WriteFile(privateKeyFile, []byte(utils.PrivateKeyToString(pk)), 0400) - } - pk, err := utils.LoadPrivateKeyFromFile(privateKeyFile) if err != nil {