From 3e61e87d2bea6fe7e5d1953cd8f6fd75126695ce Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Tue, 13 Sep 2022 09:52:03 +0100 Subject: [PATCH] Attempt to fix partial config parsing issue Using a *yaml.Node does not work. --- backend/backend.go | 4 ++-- dovecot/keyproxy.go | 4 ++-- dovecot/keyproxy_test.go | 7 +++---- server/keystore.go | 4 ++-- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/backend/backend.go b/backend/backend.go index 836e4dbf..b54e7d58 100644 --- a/backend/backend.go +++ b/backend/backend.go @@ -15,6 +15,6 @@ type Database interface { // Config is how users configure a database backend. type Config struct { - Type string `yaml:"type"` - Params *yaml.Node `yaml:"params"` + Type string `yaml:"type"` + Params yaml.Node `yaml:"params"` } diff --git a/dovecot/keyproxy.go b/dovecot/keyproxy.go index b9c13a7e..49bd1a43 100644 --- a/dovecot/keyproxy.go +++ b/dovecot/keyproxy.go @@ -98,9 +98,9 @@ func NewKeyLookupProxy(config *Config) (*KeyLookupProxy, error) { var db backend.Database switch config.Backend.Type { case "ldap": - db, err = ldapBE.New(config.Backend.Params) + db, err = ldapBE.New(&config.Backend.Params) case "sql": - db, err = sqlBE.New(config.Backend.Params) + db, err = sqlBE.New(&config.Backend.Params) default: err = errors.New("unknown backend type") } diff --git a/dovecot/keyproxy_test.go b/dovecot/keyproxy_test.go index f5789796..68a53bdb 100644 --- a/dovecot/keyproxy_test.go +++ b/dovecot/keyproxy_test.go @@ -44,11 +44,10 @@ func withTestDB(t testing.TB, schema string) (func(), string) { }, dbPath } -func makeMapSlice(m map[string]interface{}) *yaml.Node { - var out yaml.Node +func makeMapSlice(m map[string]interface{}) (out yaml.Node) { d, _ := yaml.Marshal(m) - yaml.Unmarshal(d, &out) - return &out + yaml.Unmarshal(d, &out) // nolint: errcheck + return } var ( diff --git a/server/keystore.go b/server/keystore.go index ca1a8d31..0ffcda59 100644 --- a/server/keystore.go +++ b/server/keystore.go @@ -106,9 +106,9 @@ func NewKeyStore(config *Config) (*KeyStore, error) { var err error switch config.Backend.Type { case "ldap": - db, err = ldapBE.New(config.Backend.Params) + db, err = ldapBE.New(&config.Backend.Params) case "sql": - db, err = sqlBE.New(config.Backend.Params) + db, err = sqlBE.New(&config.Backend.Params) default: err = errors.New("unknown backend type") } -- GitLab