From eb4887d619002932b348496c5613424b0ee120e0 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Mon, 19 Jun 2017 15:26:50 +0100 Subject: [PATCH] =?UTF-8?q?lib/pull:=20Don=E2=80=99t=20cache=20summary=20f?= =?UTF-8?q?ile=20until=20its=20signature=20is=20verified?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes no difference to the validity of the code, since any summary file loaded from the cache will be verified before being read anyway; but it will make some upcoming changes a little simpler. Signed-off-by: Philip Withnall Closes: #961 Approved by: cgwalters --- src/libostree/ostree-repo-pull.c | 43 ++++++++++++++++---------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c index acc5098a..cc8a51eb 100644 --- a/src/libostree/ostree-repo-pull.c +++ b/src/libostree/ostree-repo-pull.c @@ -3339,28 +3339,6 @@ ostree_repo_pull_with_options (OstreeRepo *self, goto out; } - if (bytes_summary) - { - pull_data->summary_data = g_bytes_ref (bytes_summary); - pull_data->summary = g_variant_new_from_bytes (OSTREE_SUMMARY_GVARIANT_FORMAT, bytes_summary, FALSE); - - if (bytes_sig) - pull_data->summary_data_sig = g_bytes_ref (bytes_sig); - } - - - if (!summary_from_cache && bytes_summary && bytes_sig) - { - if (!pull_data->remote_repo_local && - !_ostree_repo_cache_summary (self, - remote_name_or_baseurl, - bytes_summary, - bytes_sig, - cancellable, - error)) - goto out; - } - if (pull_data->gpg_verify_summary && bytes_summary && bytes_sig) { g_autoptr(GVariant) sig_variant = NULL; @@ -3379,6 +3357,27 @@ ostree_repo_pull_with_options (OstreeRepo *self, goto out; } + if (bytes_summary) + { + pull_data->summary_data = g_bytes_ref (bytes_summary); + pull_data->summary = g_variant_new_from_bytes (OSTREE_SUMMARY_GVARIANT_FORMAT, bytes_summary, FALSE); + + if (bytes_sig) + pull_data->summary_data_sig = g_bytes_ref (bytes_sig); + } + + if (!summary_from_cache && bytes_summary && bytes_sig) + { + if (!pull_data->remote_repo_local && + !_ostree_repo_cache_summary (self, + remote_name_or_baseurl, + bytes_summary, + bytes_sig, + cancellable, + error)) + goto out; + } + if (pull_data->summary) { additional_metadata = g_variant_get_child_value (pull_data->summary, 1);