summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2016-11-22 09:47:02 +0200
committerPanu Matilainen <pmatilai@redhat.com>2016-11-22 10:19:24 +0200
commit10429a37e018811a59f979872902a37377c7f744 (patch)
tree3f6acb2f9f979637f49af98549705aade0784175
parent274dc3a8b1bda891a84ee6517d3c2db2103341ea (diff)
downloadrpm-10429a37e018811a59f979872902a37377c7f744.tar.gz
Assimilate headerVerify() remnants into headerCheck()
-rw-r--r--lib/package.c28
1 files changed, 4 insertions, 24 deletions
diff --git a/lib/package.c b/lib/package.c
index 406824840..b97752dbe 100644
--- a/lib/package.c
+++ b/lib/package.c
@@ -231,29 +231,6 @@ exit:
return rc;
}
-static rpmRC headerVerify(rpmKeyring keyring, rpmVSFlags vsflags,
- hdrblob blob, char ** msg)
-{
- char *buf = NULL;
- rpmRC rc = RPMRC_NOTFOUND; /* assume not found */
-
- /* Verify header-only digest/signature if there is one we can use. */
- if (blob->il > blob->ril)
- rc = headerSigVerify(keyring, vsflags, blob, &buf);
-
- if (rc == RPMRC_NOTFOUND && buf == NULL) {
- rasprintf(&buf, "Header sanity check: OK");
- rc = RPMRC_OK;
- }
-
- if (msg)
- *msg = buf;
- else
- free(buf);
-
- return rc;
-}
-
rpmRC headerCheck(rpmts ts, const void * uh, size_t uc, char ** msg)
{
rpmRC rc = RPMRC_FAIL;
@@ -263,8 +240,11 @@ rpmRC headerCheck(rpmts ts, const void * uh, size_t uc, char ** msg)
if (hdrblobInit(uh, uc, RPMTAG_HEADERIMMUTABLE, 0, &blob, msg) == RPMRC_OK) {
rpmswEnter(rpmtsOp(ts, RPMTS_OP_DIGEST), 0);
- rc = headerVerify(keyring, vsflags, &blob, msg);
+ rc = headerSigVerify(keyring, vsflags, &blob, msg);
rpmswExit(rpmtsOp(ts, RPMTS_OP_DIGEST), uc);
+
+ if (rc == RPMRC_NOTFOUND && msg != NULL && *msg == NULL)
+ rasprintf(msg, "Header sanity check: OK");
}
rpmKeyringFree(keyring);