From b5b8ac8686cc8efe6835fc2e2e0287cbe64173da Mon Sep 17 00:00:00 2001 From: Jeff Mitchell Date: Thu, 28 Apr 2016 18:04:31 +0000 Subject: [PATCH] Ensure seal finalizing happens even when using verify-only --- command/server.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/command/server.go b/command/server.go index 10b94d1e1b..6e9d744085 100644 --- a/command/server.go +++ b/command/server.go @@ -163,6 +163,14 @@ func (c *ServerCommand) Run(args []string) int { var seal vault.Seal = &vault.DefaultSeal{} + // Ensure that the seal finalizer is called, even if using verify-only + defer func() { + err = seal.Finalize() + if err != nil { + c.Ui.Error(fmt.Sprintf("Error finalizing seals: %v", err)) + } + }() + coreConfig := &vault.CoreConfig{ Physical: backend, AdvertiseAddr: config.Backend.AdvertiseAddr, @@ -392,11 +400,6 @@ func (c *ServerCommand) Run(args []string) int { listener.Close() } - err = seal.Finalize() - if err != nil { - c.Ui.Error(fmt.Sprintf("Error finalizing seals: %v", err)) - } - return 0 }