prepare-root: Only support base64 formated public key files
authorAlexander Larsson <alexl@redhat.com>
Wed, 16 Aug 2023 08:59:47 +0000 (10:59 +0200)
committerAlexander Larsson <alexl@redhat.com>
Wed, 16 Aug 2023 09:00:43 +0000 (11:00 +0200)
I've updated the automotive samples to not use the raw format, so
there is no use anymore to support both formats, as base64 is strictly
better.

src/switchroot/ostree-prepare-root.c

index 31365b91b30a064d791ebe0e06cc6b8981caa48d..db76de1221a03826840b00b5f2032eb6b3d078fa 100644 (file)
@@ -330,23 +330,16 @@ load_composefs_config (GKeyFile *config, GError **error)
         return glnx_prefix_error_null (error, "Reading public key file '%s'",
                                        ret->signature_pubkey);
 
-      /* Raw binary form if right size */
-      if (pubkeys_size == OSTREE_SIGN_ED25519_PUBKEY_SIZE)
-        g_ptr_array_add (ret->pubkeys, g_bytes_new_take (g_steal_pointer (&pubkeys), pubkeys_size));
-      else /* otherwise text with base64 key per line */
+      g_auto (GStrv) lines = g_strsplit (pubkeys, "\n", -1);
+      for (char **iter = lines; *iter; iter++)
         {
-          g_auto (GStrv) lines = g_strsplit (pubkeys, "\n", -1);
-          for (char **iter = lines; *iter; iter++)
-            {
-              const char *line = *iter;
-              if (!*line)
-                continue;
-
-              gsize pubkey_size;
-              g_autofree guchar *pubkey = g_base64_decode (line, &pubkey_size);
-              g_ptr_array_add (ret->pubkeys,
-                               g_bytes_new_take (g_steal_pointer (&pubkey), pubkey_size));
-            }
+          const char *line = *iter;
+          if (!*line)
+            continue;
+
+          gsize pubkey_size;
+          g_autofree guchar *pubkey = g_base64_decode (line, &pubkey_size);
+          g_ptr_array_add (ret->pubkeys, g_bytes_new_take (g_steal_pointer (&pubkey), pubkey_size));
         }
 
       if (ret->pubkeys->len == 0)