From 8d9e7f2b1ba309d1ba3c1153232656da78794479 Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Sat, 17 Aug 2019 16:09:21 +0100 Subject: [PATCH] Improve error reporting And fix a bug with inline XML descriptors. --- cmd/saml-server/main.go | 6 +++--- saml/saml.go | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/cmd/saml-server/main.go b/cmd/saml-server/main.go index b9bf23e..7be2530 100644 --- a/cmd/saml-server/main.go +++ b/cmd/saml-server/main.go @@ -42,15 +42,15 @@ func main() { config, err := loadConfig() if err != nil { - log.Fatal(err) + log.Fatalf("error loading configuration: %v", err) } s, err := saml.NewSAMLIDP(config.SAMLConfig) if err != nil { - log.Fatal(err) + log.Fatalf("error instantiating SAML IDP: %v", err) } if err := serverutil.Serve(s, config.ServerConfig, *addr); err != nil { - log.Fatal(err) + log.Fatalf("error: %v", err) } } diff --git a/saml/saml.go b/saml/saml.go index 1638156..614044b 100644 --- a/saml/saml.go +++ b/saml/saml.go @@ -88,12 +88,14 @@ func (c *Config) loadServiceProviders() error { var err error data, err = ioutil.ReadFile(sp.Descriptor[1:]) if err != nil { - return err + return fmt.Errorf("reading %s: %v", sp.Descriptor[1:], err) } + } else { + data = []byte(sp.Descriptor) } var ent saml.EntityDescriptor if err := xml.Unmarshal(data, &ent); err != nil { - return err + return fmt.Errorf("error unmarshaling descriptor: %v", err) } sp.parsed = &ent c.serviceProviderMap[ent.EntityID] = sp -- GitLab