From 9e9a7d50970f1424245d88169de82988fd57e112 Mon Sep 17 00:00:00 2001 From: Niall Sheridan Date: Thu, 5 Jan 2017 23:28:26 +0000 Subject: Move GetPublicKey to the shared `lib` package --- cmd/cashierd/main.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'cmd') diff --git a/cmd/cashierd/main.go b/cmd/cashierd/main.go index 31ee240..52b6a8b 100644 --- a/cmd/cashierd/main.go +++ b/cmd/cashierd/main.go @@ -34,7 +34,6 @@ import ( "github.com/nsheridan/cashier/server/static" "github.com/nsheridan/cashier/server/store" "github.com/nsheridan/cashier/server/templates" - "github.com/nsheridan/cashier/server/util" "github.com/nsheridan/cashier/server/wkfs/vaultfs" "github.com/nsheridan/wkfs/s3" "github.com/sid77/drop" @@ -169,7 +168,7 @@ func signHandler(a *appContext, w http.ResponseWriter, r *http.Request) (int, er } json.NewEncoder(w).Encode(&lib.SignResponse{ Status: "ok", - Response: util.GetPublicKey(cert), + Response: lib.GetPublicKey(cert), }) return http.StatusOK, nil } -- cgit v1.2.3 From 9aeb1445549ec9a5b890f6df9bcf2952ef94ee03 Mon Sep 17 00:00:00 2001 From: Niall Sheridan Date: Fri, 6 Jan 2017 21:00:21 +0000 Subject: Check that tls cert/key are set if use_tls is true --- cmd/cashierd/main.go | 3 +++ 1 file changed, 3 insertions(+) (limited to 'cmd') diff --git a/cmd/cashierd/main.go b/cmd/cashierd/main.go index 52b6a8b..fb67a36 100644 --- a/cmd/cashierd/main.go +++ b/cmd/cashierd/main.go @@ -357,6 +357,9 @@ func main() { } tlsConfig.GetCertificate = m.GetCertificate } else { + if conf.Server.TLSCert == "" || conf.Server.TLSKey == "" { + log.Fatal("TLS cert or key not specified in config") + } tlsConfig.Certificates = make([]tls.Certificate, 1) tlsConfig.Certificates[0], err = loadCerts(conf.Server.TLSCert, conf.Server.TLSKey) if err != nil { -- cgit v1.2.3 From 6dfe350cb5eefde3a99374d14c083d1906717ddd Mon Sep 17 00:00:00 2001 From: Niall Sheridan Date: Sun, 8 Jan 2017 19:39:51 +0000 Subject: Remove dbinit and use sql/js seed files --- cmd/dbinit/dbinit.go | 126 --------------------------------------------------- 1 file changed, 126 deletions(-) delete mode 100644 cmd/dbinit/dbinit.go (limited to 'cmd') diff --git a/cmd/dbinit/dbinit.go b/cmd/dbinit/dbinit.go deleted file mode 100644 index 4cf0834..0000000 --- a/cmd/dbinit/dbinit.go +++ /dev/null @@ -1,126 +0,0 @@ -package main - -import ( - "database/sql" - "flag" - "fmt" - "log" - "strings" - - mgo "gopkg.in/mgo.v2" - - "github.com/go-sql-driver/mysql" - _ "github.com/mattn/go-sqlite3" -) - -var ( - host = flag.String("host", "localhost", "host[:port]") - adminUser = flag.String("admin_user", "root", "Admin user") - adminPasswd = flag.String("admin_password", "", "Admin password") - dbUser = flag.String("db_user", "user", "Database user") - dbPasswd = flag.String("db_password", "passwd", "Admin password") - dbType = flag.String("db_type", "mysql", "Database engine (\"mysql\", \"sqlite\" or \"mongo\")") - sqliteDB = flag.String("db_path", "certs.db", "Path to SQLite database") - authDB = flag.String("authdb", "admin", "Admin database (mongo)") - - certsDB = "certs" - issuedTable = "issued_certs" - createTable = `CREATE TABLE IF NOT EXISTS ` + issuedTable + ` ( - key_id VARCHAR(255) NOT NULL, - principals VARCHAR(255) NULL, - created_at DATETIME NULL, - expires_at DATETIME NULL, - revoked BOOLEAN DEFAULT NULL, - raw_key TEXT NULL, - PRIMARY KEY (key_id) - );` -) - -func initSQLite() { - db, err := sql.Open("sqlite3", *sqliteDB) - if err != nil { - log.Fatal(err) - } - defer db.Close() - - if _, err = db.Exec(createTable); err != nil { - log.Fatal(err) - } -} - -func initMySQL() { - var createTableStmt = []string{ - `CREATE DATABASE IF NOT EXISTS ` + certsDB + ` DEFAULT CHARACTER SET = 'utf8' DEFAULT COLLATE 'utf8_general_ci';`, - `USE ` + certsDB + `;`, - createTable, - `GRANT ALL PRIVILEGES ON certs.* TO '` + *dbUser + `'@'%' IDENTIFIED BY '` + *dbPasswd + `';`, - } - - if len(strings.Split(*host, ":")) != 2 { - *host = fmt.Sprintf("%s:3306", *host) - } - conn := &mysql.Config{ - User: *adminUser, - Passwd: *adminPasswd, - Net: "tcp", - Addr: *host, - } - db, err := sql.Open("mysql", conn.FormatDSN()) - if err != nil { - log.Fatalf("Error connecting to database: %v", err) - } - defer db.Close() - if err := db.Ping(); err != nil { - log.Fatalf("Unable to connect to database.") - } - for _, stmt := range createTableStmt { - _, err := db.Exec(stmt) - if err != nil { - log.Fatalf("Error running setup: %v", err) - } - } -} - -func initMongo() { - di := &mgo.DialInfo{ - Addrs: strings.Split(*host, ","), - Username: *adminUser, - Password: *adminPasswd, - Database: *authDB, - } - session, err := mgo.DialWithInfo(di) - if err != nil { - log.Fatalln(err) - } - defer session.Close() - d := session.DB(certsDB) - if err := d.UpsertUser(&mgo.User{ - Username: *dbUser, - Password: *dbPasswd, - Roles: []mgo.Role{mgo.RoleReadWrite}, - }); err != nil { - log.Fatalln(err) - } - c := d.C(issuedTable) - i := mgo.Index{ - Key: []string{"keyid"}, - Unique: true, - } - if err != c.EnsureIndex(i) { - log.Fatalln(err) - } -} - -func main() { - flag.Parse() - switch *dbType { - case "mysql": - initMySQL() - case "mongo": - initMongo() - case "sqlite": - initSQLite() - default: - log.Fatalf("Invalid database type") - } -} -- cgit v1.2.3