summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorjbj <devnull@localhost>2002-08-02 21:52:01 +0000
committerjbj <devnull@localhost>2002-08-02 21:52:01 +0000
commitf5c9fd111bf2d68bff373738310bfc355577233b (patch)
tree2bdf25a899056387b2be133f76397f257407eb43 /lib
parent78fafefc38e1176e747c3453393bffa3f7f5c551 (diff)
downloadrpm-f5c9fd111bf2d68bff373738310bfc355577233b.tar.gz
rpm-f5c9fd111bf2d68bff373738310bfc355577233b.tar.bz2
rpm-f5c9fd111bf2d68bff373738310bfc355577233b.zip
- check header blobs on export (i.e. rpmdbAdd())..
- enable iterator header blob checks for install/erase modes. - python: _vsflags_up2date macro to configure verify signature flags. CVS patchset: 5595 CVS date: 2002/08/02 21:52:01
Diffstat (limited to 'lib')
-rw-r--r--lib/psm.c16
-rw-r--r--lib/query.c2
-rw-r--r--lib/rpminstall.c6
-rw-r--r--lib/transaction.c2
-rw-r--r--lib/verify.c2
5 files changed, 16 insertions, 12 deletions
diff --git a/lib/psm.c b/lib/psm.c
index 37910bb85..473817bc1 100644
--- a/lib/psm.c
+++ b/lib/psm.c
@@ -1850,20 +1850,24 @@ assert(psm->mi == NULL);
fi->h = rpmdbNextIterator(psm->mi);
if (fi->h)
fi->h = headerLink(fi->h);
-else {
-fprintf(stderr, "*** PSM_RDB_LOAD: header #%u not found\n", fi->record);
-}
+
psm->mi = rpmdbFreeIterator(psm->mi);
rc = (fi->h ? RPMRC_OK : RPMRC_FAIL);
break;
case PSM_RPMDB_ADD:
if (rpmtsFlags(ts) & RPMTRANS_FLAG_TEST) break;
- if (fi->h != NULL) /* XXX can't happen */
- rc = rpmdbAdd(rpmtsGetRdb(ts), rpmtsGetTid(ts), fi->h, NULL, NULL);
+ if (fi->h == NULL) break; /* XXX can't happen */
+ if (!(rpmtsVerifySigFlags(ts) & _RPMTS_VSF_NOHDRCHK))
+ rc = rpmdbAdd(rpmtsGetRdb(ts), rpmtsGetTid(ts), fi->h,
+ ts, headerCheck);
+ else
+ rc = rpmdbAdd(rpmtsGetRdb(ts), rpmtsGetTid(ts), fi->h,
+ NULL, NULL);
break;
case PSM_RPMDB_REMOVE:
if (rpmtsFlags(ts) & RPMTRANS_FLAG_TEST) break;
- rc = rpmdbRemove(rpmtsGetRdb(ts), rpmtsGetTid(ts), fi->record, NULL, NULL);
+ rc = rpmdbRemove(rpmtsGetRdb(ts), rpmtsGetTid(ts), fi->record,
+ NULL, NULL);
break;
default:
diff --git a/lib/query.c b/lib/query.c
index ad823e1f8..9b4172de7 100644
--- a/lib/query.c
+++ b/lib/query.c
@@ -926,7 +926,7 @@ int rpmcliQuery(rpmts ts, QVA_t qva, const char ** argv)
if (qva->qva_showPackage == NULL)
qva->qva_showPackage = showQueryPackage;
- vsflags = rpmExpandNumeric("%{_vsflags_query}");
+ vsflags = rpmExpandNumeric("%{?_vsflags_query}");
if (qva->qva_flags & VERIFY_DIGEST)
vsflags |= _RPMTS_VSF_NODIGESTS;
if (qva->qva_flags & VERIFY_SIGNATURE)
diff --git a/lib/rpminstall.c b/lib/rpminstall.c
index d1e267280..5c6a89641 100644
--- a/lib/rpminstall.c
+++ b/lib/rpminstall.c
@@ -244,9 +244,9 @@ int rpmInstall(rpmts ts,
ts->goal = TSM_INSTALL;
if (ia->installInterfaceFlags & INSTALL_UPGRADE)
- vsflags = rpmExpandNumeric("%{_vsflags_erase}");
+ vsflags = rpmExpandNumeric("%{?_vsflags_erase}");
else
- vsflags = rpmExpandNumeric("%{_vsflags_install}");
+ vsflags = rpmExpandNumeric("%{?_vsflags_install}");
if (ia->qva_flags & VERIFY_DIGEST)
vsflags |= _RPMTS_VSF_NODIGESTS;
if (ia->qva_flags & VERIFY_SIGNATURE)
@@ -648,7 +648,7 @@ int rpmErase(rpmts ts,
if (argv == NULL) return 0;
- vsflags = rpmExpandNumeric("%{_vsflags_erase}");
+ vsflags = rpmExpandNumeric("%{?_vsflags_erase}");
if (ia->qva_flags & VERIFY_DIGEST)
vsflags |= _RPMTS_VSF_NODIGESTS;
if (ia->qva_flags & VERIFY_SIGNATURE)
diff --git a/lib/transaction.c b/lib/transaction.c
index d765dfceb..c38aaa951 100644
--- a/lib/transaction.c
+++ b/lib/transaction.c
@@ -1399,7 +1399,7 @@ rpmMessage(RPMMESS_DEBUG, _("install/erase %d elements\n"), rpmtsNElements(ts));
rpmRC rpmrc;
rpmrc = rpmReadPackageFile(ts, rpmteFd(p),
- "rpmtsRun", &p->h);
+ rpmteNEVR(p), &p->h);
if (!(rpmrc == RPMRC_OK || rpmrc == RPMRC_BADSIZE)) {
/*@-noeffectuncon@*/ /* FIX: notify annotations */
diff --git a/lib/verify.c b/lib/verify.c
index ad109ac37..d9689ae32 100644
--- a/lib/verify.c
+++ b/lib/verify.c
@@ -471,7 +471,7 @@ int rpmcliVerify(rpmts ts, QVA_t qva, const char ** argv)
qva->qva_showPackage = showVerifyPackage;
/* XXX verify flags are inverted from query. */
- vsflags = rpmExpandNumeric("%{_vsflags_verify}");
+ vsflags = rpmExpandNumeric("%{?_vsflags_verify}");
if (!(qva->qva_flags & VERIFY_DIGEST))
vsflags |= _RPMTS_VSF_NODIGESTS;
if (!(qva->qva_flags & VERIFY_SIGNATURE))