int pull_verify(ImportVerify verify,
PullJob *main_job,
- PullJob *roothash_job,
- PullJob *settings_job,
PullJob *checksum_job,
- PullJob *signature_job) {
+ PullJob *signature_job,
+ PullJob *settings_job,
+ PullJob *roothash_job,
+ PullJob *roothash_signature_job,
+ PullJob *verity_job) {
VerificationStyle style;
+ PullJob *j;
int r;
assert(main_job);
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG),
"Checksum is empty, cannot verify.");
- r = verify_one(checksum_job, main_job);
- if (r < 0)
- return r;
-
- r = verify_one(checksum_job, roothash_job);
- if (r < 0)
- return r;
-
- r = verify_one(checksum_job, settings_job);
- if (r < 0)
- return r;
+ FOREACH_POINTER(j, main_job, settings_job, roothash_job, roothash_signature_job, verity_job) {
+ r = verify_one(checksum_job, j);
+ if (r < 0)
+ return r;
+ }
if (verify == IMPORT_VERIFY_CHECKSUM)
return 0;
int pull_make_auxiliary_job(PullJob **ret, const char *url, int (*strip_suffixes)(const char *name, char **ret), const char *suffix, CurlGlue *glue, PullJobFinished on_finished, void *userdata);
int pull_make_verification_jobs(PullJob **ret_checksum_job, PullJob **ret_signature_job, ImportVerify verify, const char *url, CurlGlue *glue, PullJobFinished on_finished, void *userdata);
-int pull_verify(ImportVerify verify, PullJob *main_job, PullJob *roothash_job, PullJob *settings_job, PullJob *checksum_job, PullJob *signature_job);
+int pull_verify(ImportVerify verify, PullJob *main_job, PullJob *checksum_job, PullJob *signature_job, PullJob *settings_job, PullJob *roothash_job, PullJob *roothash_signature_job, PullJob *verity_job);
typedef enum VerificationStyle {
VERIFICATION_PER_FILE, /* SuSE-style ".sha256" files with inline gpg signature */
raw_pull_report_progress(i, RAW_VERIFYING);
- r = pull_verify(i->verify, i->raw_job, i->roothash_job, i->settings_job, i->checksum_job, i->signature_job);
+ r = pull_verify(i->verify,
+ i->raw_job,
+ i->checksum_job,
+ i->signature_job,
+ i->settings_job,
+ i->roothash_job,
+ i->roothash_signature_job,
+ i->verity_job);
if (r < 0)
goto finish;
tar_pull_report_progress(i, TAR_VERIFYING);
- r = pull_verify(i->verify, i->tar_job, NULL, i->settings_job, i->checksum_job, i->signature_job);
+ r = pull_verify(i->verify,
+ i->tar_job,
+ i->checksum_job,
+ i->signature_job,
+ i->settings_job,
+ /* roothash_job = */ NULL,
+ /* roothash_signature_job = */ NULL,
+ /* verity_job = */ NULL);
if (r < 0)
goto finish;