From 4f2385db4b3d4171fff841594f8c591703e84b0f Mon Sep 17 00:00:00 2001 From: Niall Sheridan Date: Mon, 6 Aug 2018 00:21:11 +0100 Subject: Unexport store implementations Return an error if the store isn't known, instead of defaulting to a mem store --- server/store/mem.go | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) (limited to 'server/store/mem.go') diff --git a/server/store/mem.go b/server/store/mem.go index c4fe14c..9d5038d 100644 --- a/server/store/mem.go +++ b/server/store/mem.go @@ -2,23 +2,22 @@ package store import ( "fmt" - "log" "sync" "time" "golang.org/x/crypto/ssh" ) -var _ CertStorer = (*MemoryStore)(nil) +var _ CertStorer = (*memoryStore)(nil) -// MemoryStore is an in-memory CertStorer -type MemoryStore struct { +// memoryStore is an in-memory CertStorer +type memoryStore struct { sync.Mutex certs map[string]*CertRecord } // Get a single *CertRecord -func (ms *MemoryStore) Get(id string) (*CertRecord, error) { +func (ms *memoryStore) Get(id string) (*CertRecord, error) { ms.Lock() defer ms.Unlock() r, ok := ms.certs[id] @@ -29,12 +28,12 @@ func (ms *MemoryStore) Get(id string) (*CertRecord, error) { } // SetCert parses a *ssh.Certificate and records it -func (ms *MemoryStore) SetCert(cert *ssh.Certificate) error { +func (ms *memoryStore) SetCert(cert *ssh.Certificate) error { return ms.SetRecord(parseCertificate(cert)) } // SetRecord records a *CertRecord -func (ms *MemoryStore) SetRecord(record *CertRecord) error { +func (ms *memoryStore) SetRecord(record *CertRecord) error { ms.Lock() defer ms.Unlock() ms.certs[record.KeyID] = record @@ -43,7 +42,7 @@ func (ms *MemoryStore) SetRecord(record *CertRecord) error { // List returns all recorded certs. // By default only active certs are returned. -func (ms *MemoryStore) List(includeExpired bool) ([]*CertRecord, error) { +func (ms *memoryStore) List(includeExpired bool) ([]*CertRecord, error) { var records []*CertRecord ms.Lock() defer ms.Unlock() @@ -58,7 +57,7 @@ func (ms *MemoryStore) List(includeExpired bool) ([]*CertRecord, error) { } // Revoke an issued cert by id. -func (ms *MemoryStore) Revoke(ids []string) error { +func (ms *memoryStore) Revoke(ids []string) error { ms.Lock() defer ms.Unlock() for _, id := range ids { @@ -68,7 +67,7 @@ func (ms *MemoryStore) Revoke(ids []string) error { } // GetRevoked returns all revoked certs -func (ms *MemoryStore) GetRevoked() ([]*CertRecord, error) { +func (ms *memoryStore) GetRevoked() ([]*CertRecord, error) { var revoked []*CertRecord all, _ := ms.List(false) for _, r := range all { @@ -80,23 +79,22 @@ func (ms *MemoryStore) GetRevoked() ([]*CertRecord, error) { } // Close the store. This will clear the contents. -func (ms *MemoryStore) Close() error { +func (ms *memoryStore) Close() error { ms.Lock() defer ms.Unlock() ms.certs = nil return nil } -func (ms *MemoryStore) clear() { +func (ms *memoryStore) clear() { for k := range ms.certs { delete(ms.certs, k) } } -// NewMemoryStore returns an in-memory CertStorer. -func NewMemoryStore() *MemoryStore { - log.Println("WARNING: Using memory store to record issued certs.") - return &MemoryStore{ +// newMemoryStore returns an in-memory CertStorer. +func newMemoryStore() *memoryStore { + return &memoryStore{ certs: make(map[string]*CertRecord), } } -- cgit v1.2.3