util: Allow empty keyserver

Signed-off-by: Thomas Hipp <thomas.hipp@canonical.com>
This commit is contained in:
Thomas Hipp 2018-02-28 15:58:13 +01:00
parent 1ffed3de3e
commit 17bce64b03
No known key found for this signature in database
GPG Key ID: 993408D1137B7D51
2 changed files with 16 additions and 10 deletions

View File

@ -87,8 +87,15 @@ func CreateGPGKeyring(keyserver string, keys []string) (string, error) {
return "", err
}
out, err := lxd.RunCommand("gpg", append([]string{
"--homedir", gpgDir, "--keyserver", keyserver, "--recv-keys"}, keys...)...)
args := []string{"--homedir", gpgDir}
if keyserver != "" {
args = append(args, "--keyserver", keyserver)
}
args = append(args, append([]string{"--recv-keys"}, keys...)...)
out, err := lxd.RunCommand("gpg", args...)
if err != nil {
os.RemoveAll(gpgDir)
return "", fmt.Errorf("Failed to create keyring: %s", out)

View File

@ -81,7 +81,7 @@ func TestVerifyFile(t *testing.T) {
"",
keys,
"",
true,
false,
},
}
@ -109,15 +109,14 @@ func TestCreateGPGKeyring(t *testing.T) {
}
os.RemoveAll(gpgDir)
// This should fail running the gpg command.
// This shouldn't fail either.
gpgDir, err = CreateGPGKeyring("", []string{})
if err == nil {
t.Fatal("Expected to fail")
if err != nil {
t.Fatalf("Unexpected error: %s", err)
}
// The gpgDir directory should've have been cleaned up. Check this.
if lxd.PathExists(gpgDir) {
os.RemoveAll(gpgDir)
t.Fatal("Failed to clean up gpg directory")
if !lxd.PathExists(gpgDir) {
t.Fatalf("Failed to create gpg directory: %s", gpgDir)
}
os.RemoveAll(gpgDir)
}