Add and use ot_checksum_bytes helper
authorAlexander Larsson <alexl@redhat.com>
Thu, 10 Sep 2020 12:29:47 +0000 (14:29 +0200)
committerAlexander Larsson <alexl@redhat.com>
Fri, 11 Sep 2020 10:00:05 +0000 (12:00 +0200)
This removes some duplicated code (and will be use even more later).

src/libostree/ostree-repo-pull.c
src/libotutil/ot-checksum-utils.c
src/libotutil/ot-checksum-utils.h

index f7f34d64ba503e449c2313ff9470ff9cf08335d4..e54da67edfbb1306c29c13530f3114720d408b8f 100644 (file)
@@ -2513,10 +2513,7 @@ on_superblock_fetched (GObject   *src,
       const guchar *expected_summary_digest = g_hash_table_lookup (pull_data->summary_deltas_checksums, delta);
       guint8 actual_summary_digest[OSTREE_SHA256_DIGEST_LEN];
 
-      g_auto(OtChecksum) hasher = { 0, };
-      ot_checksum_init (&hasher);
-      ot_checksum_update_bytes (&hasher, delta_superblock_data);
-      ot_checksum_get_digest (&hasher, actual_summary_digest, sizeof (actual_summary_digest));
+      ot_checksum_bytes (delta_superblock_data, actual_summary_digest);
 
 #ifndef OSTREE_DISABLE_GPGME
       /* At this point we've GPG verified the data, so in theory
index 667673689e12b6cc6754fc34928589002c3ebf6d..26e0280a24d0f9513ea181a526e10f3b05506d4d 100644 (file)
@@ -275,3 +275,13 @@ ot_checksum_file_at (int             dfd,
   ot_checksum_get_hexdigest (&checksum, hexdigest, sizeof (hexdigest));
   return g_strdup (hexdigest);
 }
+
+void
+ot_checksum_bytes (GBytes *data,
+                   guint8 out_digest[_OSTREE_SHA256_DIGEST_LEN])
+{
+  g_auto(OtChecksum) hasher = { 0, };
+  ot_checksum_init (&hasher);
+  ot_checksum_update_bytes (&hasher, data);
+  ot_checksum_get_digest (&hasher, out_digest, _OSTREE_SHA256_DIGEST_LEN);
+}
index 411ef25d37b2735d177f56bdbca36e6c433602eb..5432c81e1d1437ab123e8d418fdebae5b2fe50ce 100644 (file)
@@ -96,4 +96,7 @@ char * ot_checksum_file_at (int             dfd,
                             GCancellable   *cancellable,
                             GError        **error);
 
+void ot_checksum_bytes (GBytes *data,
+                        guint8 out_digest[_OSTREE_SHA256_DIGEST_LEN]);
+
 G_END_DECLS