From 0d52fb3c26b764f37eff2ed665d266d8a1c04241 Mon Sep 17 00:00:00 2001 From: Denis Pynkin Date: Thu, 31 Oct 2019 10:34:24 +0300 Subject: [PATCH] fixup! lib/sign: add revoking mechanism for ed25519 keys --- src/libostree/ostree-sign-ed25519.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/src/libostree/ostree-sign-ed25519.c b/src/libostree/ostree-sign-ed25519.c index aa2d21917e..4b20a1d540 100644 --- a/src/libostree/ostree-sign-ed25519.c +++ b/src/libostree/ostree-sign-ed25519.c @@ -47,8 +47,6 @@ struct _OstreeSignEd25519 GList *revoked_keys; }; -typedef gboolean (*add_key_func) (OstreeSign *, GVariant *, GError **); - static void ostree_sign_ed25519_iface_init (OstreeSignInterface *self); @@ -502,34 +500,31 @@ _load_pk_from_stream (OstreeSign *self, gsize len = 0; g_autofree char *line = g_data_input_stream_read_line (key_data_in, &len, NULL, error); g_autoptr (GVariant) pk = NULL; + gboolean added = FALSE; if (*error != NULL) goto err; if (line == NULL) - goto out; + goto out; /* Read the key itself */ /* base64 encoded key */ pk = g_variant_new_string (line); - add_key_func fptr; if (trusted) - fptr = &ostree_sign_ed25519_add_pk; + added = ostree_sign_ed25519_add_pk (self, pk, error); else - fptr = &_ed25519_add_revoked; + added = _ed25519_add_revoked (self, pk, error); - if ( (*fptr) (self, pk, error)) - { - ret = TRUE; - g_debug ("Added %s key: %s", - trusted ? "public" : "revoked", - line); - } - else - g_debug ("Invalid %s key: %s", - trusted ? "public" : "revoked", - line); + g_debug ("%s %s key: %s", + added ? "Added" : "Invalid", + trusted ? "public" : "revoked", + line); + + /* Mark what we load at least one key */ + if (added) + ret = TRUE; } out: