From da562c8bede16c74314e1de38a72243915ffa282 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Wed, 12 Oct 2011 22:59:47 -0700 Subject: [PATCH] jsonsign: don't check for default secretring file unless we don't have an entity fetcher Change-Id: I9ea58b09c5ad5465f64ce36d0cbc4edcc00c5d9d --- lib/go/camli/jsonsign/sign.go | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/lib/go/camli/jsonsign/sign.go b/lib/go/camli/jsonsign/sign.go index 918bea717..bf055b85e 100644 --- a/lib/go/camli/jsonsign/sign.go +++ b/lib/go/camli/jsonsign/sign.go @@ -249,21 +249,17 @@ func (sr *SignRequest) Sign() (signedJson string, err os.Error) { trimmedJson = trimmedJson[0 : len(trimmedJson)-1] // sign it - secring, err := os.Open(sr.secretRingPath()) - if err != nil { - return "", fmt.Errorf("jsonsign: failed to open secret ring file %q: %v", sr.secretRingPath(), err) - } - defer secring.Close() - entityFetcher := sr.EntityFetcher if entityFetcher == nil { - file := sr.SecretKeyringPath - if file == "" { - file = flagSecretRing - } + file := sr.secretRingPath() if file == "" { return "", os.NewError("jsonsign: no EntityFetcher, SecretKeyringPath, or secret-keyring flag provided") } + secring, err := os.Open(sr.secretRingPath()) + if err != nil { + return "", fmt.Errorf("jsonsign: failed to open secret ring file %q: %v", sr.secretRingPath(), err) + } + secring.Close() // just opened to see if it's readable entityFetcher = &FileEntityFetcher{File: file} } signer, err := entityFetcher.FetchEntity(pubk.KeyIdString())