rpm
5.4.10
|
Verify installed payload files from package metadata. More...
#include "system.h"
#include <rpmiotypes.h>
#include <rpmio.h>
#include <rpmcb.h>
#include "ugid.h"
#include <rpmtypes.h>
#include <rpmtag.h>
#include <pkgio.h>
#include <rpmfi.h>
#include "psm.h"
#include "legacy.h"
#include <rpmcli.h>
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | rpmvf_s |
Macros | |
#define | _RPMFI_INTERNAL |
#define | _RPMSQ_INTERNAL |
#define | _RPMPS_INTERNAL /* XXX rpmps needs iterator. */ |
#define | _RPMTS_INTERNAL /* XXX expose rpmtsSetScriptFd */ |
#define | S_ISDEV(m) (S_ISBLK((m)) || S_ISCHR((m))) |
#define | FF_ISSET(_fflags, _FLAG) ((_fflags) & (RPMFILE_##_FLAG)) |
#define | VF_ISSET(_vflags, _FLAG) ((_vflags) & (RPMVERIFY_##_FLAG)) |
#define | VF_SET(_vflags, _FLAG) (_vflags) |= (RPMVERIFY_##_FLAG) |
#define | VF_CLR(_vflags, _FLAG) (_vflags) &= ~(RPMVERIFY_##_FLAG) |
#define | QVA_ISSET(_qvaflags, _FLAG) ((_qvaflags) & (VERIFY_##_FLAG)) |
#define | VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG)) |
#define | VSF_SET(_vsflags, _FLAG) (_vsflags) |= (RPMVSF_##_FLAG) |
#define | VSF_CLR(_vsflags, _FLAG) (_vsflags) &= ~(RPMVSF_##_FLAG) |
#define | _mask (RPMVERIFY_FDIGEST|RPMVERIFY_HMAC) |
#define | _verify(_FLAG, _C) (VF_ISSET(res, _FLAG) ? _C : aok) |
#define | _verifylink(_FLAG, _C) |
#define | _verifyfile(_FLAG, _C) |
Typedefs | |
typedef struct rpmvf_s * | rpmvf |
Functions | |
static rpmvf | rpmvfFree (rpmvf vf) |
static rpmvf | rpmvfNew (rpmts ts, rpmfi fi, int i, rpmVerifyAttrs omitMask) |
static int | rpmvfVerify (rpmvf vf, int spew) |
Verify file attributes (including file digest). More... | |
static int | rpmVerifyScript (QVA_t qva, rpmts ts, rpmfi fi, FD_t scriptFd) |
Return exit code from running verify script from header. More... | |
static int | verifyDependencies (QVA_t qva, rpmts ts, Header h) |
Check installed package dependencies for problems. More... | |
int | showVerifyPackage (QVA_t qva, rpmts ts, Header h) |
Display results of package verify. More... | |
int | rpmcliVerify (rpmts ts, QVA_t qva, const char **argv) |
Verify package install. More... | |
Variables | |
int | _rpmds_unspecified_epoch_noise |
Verify installed payload files from package metadata.
Definition in file verify.c.
#define _mask (RPMVERIFY_FDIGEST|RPMVERIFY_HMAC) |
Referenced by rpmvfVerify().
#define _RPMTS_INTERNAL /* XXX expose rpmtsSetScriptFd */ |
#define _verify | ( | _FLAG, | |
_C | |||
) | (VF_ISSET(res, _FLAG) ? _C : aok) |
Referenced by rpmvfVerify().
#define _verifyfile | ( | _FLAG, | |
_C | |||
) |
Referenced by rpmvfVerify().
#define _verifylink | ( | _FLAG, | |
_C | |||
) |
Referenced by rpmvfVerify().
#define FF_ISSET | ( | _fflags, | |
_FLAG | |||
) | ((_fflags) & (RPMFILE_##_FLAG)) |
Definition at line 81 of file verify.c.
Referenced by rpmvfNew(), rpmvfVerify(), and showVerifyPackage().
#define QVA_ISSET | ( | _qvaflags, | |
_FLAG | |||
) | ((_qvaflags) & (VERIFY_##_FLAG)) |
Definition at line 87 of file verify.c.
Referenced by rpmcliVerify().
#define S_ISDEV | ( | m | ) | (S_ISBLK((m)) || S_ISCHR((m))) |
Definition at line 34 of file verify.c.
Referenced by rpmvfVerify().
#define VF_CLR | ( | _vflags, | |
_FLAG | |||
) | (_vflags) &= ~(RPMVERIFY_##_FLAG) |
Definition at line 85 of file verify.c.
Referenced by rpmvfNew(), and rpmvfVerify().
#define VF_ISSET | ( | _vflags, | |
_FLAG | |||
) | ((_vflags) & (RPMVERIFY_##_FLAG)) |
Definition at line 83 of file verify.c.
Referenced by rpmvfVerify().
#define VF_SET | ( | _vflags, | |
_FLAG | |||
) | (_vflags) |= (RPMVERIFY_##_FLAG) |
Definition at line 84 of file verify.c.
Referenced by rpmvfVerify().
#define VSF_CLR | ( | _vsflags, | |
_FLAG | |||
) | (_vsflags) &= ~(RPMVSF_##_FLAG) |
Definition at line 91 of file verify.c.
Referenced by rpmcliVerify().
#define VSF_ISSET | ( | _vsflags, | |
_FLAG | |||
) | ((_vsflags) & (RPMVSF_##_FLAG)) |
#define VSF_SET | ( | _vsflags, | |
_FLAG | |||
) | (_vsflags) |= (RPMVSF_##_FLAG) |
Definition at line 90 of file verify.c.
Referenced by rpmcliVerify().
Verify package install.
ts | transaction set |
qva | parsed query/verify options |
argv | verify argument(s) (or NULL) |
Definition at line 647 of file verify.c.
References rpmQVKArguments_s::depFlags, rpmQVKArguments_s::qva_flags, QVA_ISSET, rpmQVKArguments_s::qva_showPackage, rpmcliArgIter(), rpmExpandNumeric(), rpmtsEmpty(), rpmtsSetDFlags(), rpmtsSetFlags(), rpmtsSetVSFlags(), showVerifyPackage(), tagName(), rpmQVKArguments_s::transFlags, VSF_CLR, VSF_SET, and vsflags.
Referenced by main().
Return exit code from running verify script from header.
qva | parsed query/verify options |
ts | transaction set |
fi | file info set |
scriptFd | file handle to use for stderr (or NULL) |
Definition at line 420 of file verify.c.
References rpmpsmFree(), rpmpsmNew(), rpmpsmScriptStage(), RPMRC_OK, RPMTAG_SANITYCHECK, RPMTAG_SANITYCHECKPROG, RPMTAG_VERIFYSCRIPT, RPMTAG_VERIFYSCRIPTPROG, and rpmtsSetScriptFd().
Referenced by showVerifyPackage().
Definition at line 95 of file verify.c.
References _free(), rpmvf_s::_item, rpmvf_s::fn, L, and rpmioItem_s::use.
Referenced by showVerifyPackage().
|
static |
Definition at line 119 of file verify.c.
References rpmvf_s::_item, rpmvf_s::dalgo, rpmvf_s::digest, rpmvf_s::dlen, DRD_xcalloc, FF_ISSET, rpmvf_s::fflags, rpmvf_s::fgroup, rpmvf_s::flink, rpmvf_s::fn, rpmvf_s::fstate, rpmvf_s::fuser, gnameToGid(), rpmioItem_s::pool, rpmfiFNlink(), rpmGetPath(), rpmtsRootDir(), RPMVERIFY_FAILURES, rpmvf_s::sb, unameToUid(), rpmioItem_s::use, VF_CLR, and rpmvf_s::vflags.
Referenced by showVerifyPackage().
|
static |
Verify file attributes (including file digest).
vf | file data to verify #param spew should verify results be printed? |
Definition at line 188 of file verify.c.
References _, _mask, _verify, _verifyfile, _verifylink, alloca(), rpmvf_s::dalgo, rpmvf_s::digest, rpmvf_s::dlen, dodigest(), errno, FF_ISSET, rpmvf_s::fflags, rpmvf_s::fgroup, rpmvf_s::flink, rpmvf_s::fn, rpmvf_s::fstate, rpmvf_s::fuser, gidToGname(), Lstat(), Readlink(), RPMFILE_STATE_NETSHARED, RPMFILE_STATE_NORMAL, RPMFILE_STATE_NOTINSTALLED, RPMFILE_STATE_REPLACED, RPMFILE_STATE_WRONGCOLOR, rpmIsVerbose, rpmlog(), RPMLOG_NOTICE, RPMVERIFY_HMAC, RPMVERIFY_NONE, S_ISDEV, S_ISLNK, rpmvf_s::sb, uidToUname(), VF_CLR, VF_ISSET, VF_SET, and rpmvf_s::vflags.
Referenced by showVerifyPackage().
Display results of package verify.
qva | parsed query/verify options |
ts | transaction set |
h | header to use for verify |
Definition at line 544 of file verify.c.
References _free(), _rpmds_unspecified_epoch_noise, Fclose(), fdDup(), FF_ISSET, rpmvf_s::fflags, headerCheck(), headerGetOrigin(), headerIsEntry(), headerUnload(), rpmQVKArguments_s::qva_fflags, rpmQVKArguments_s::qva_flags, rpmQVKArguments_s::qva_mode, rpmfiFC(), rpmfiFree(), rpmfiNew(), rpmfiSetHeader(), rpmIsVerbose, rpmlog(), RPMLOG_DEBUG, RPMLOG_ERR, RPMRC_FAIL, RPMTAG_BASENAMES, RPMTAG_SANITYCHECK, RPMTAG_VERIFYSCRIPT, rpmtsCleanDig(), rpmtsDig(), rpmVerifyScript(), rpmvfFree(), rpmvfNew(), rpmvfVerify(), VERIFY_ATTRS, VERIFY_DEPS, VERIFY_DIGEST, VERIFY_FILES, VERIFY_SCRIPT, VERIFY_SIGNATURE, and verifyDependencies().
Referenced by rpmcliVerify(), and unsatisfiedDepend().
Check installed package dependencies for problems.
qva | parsed query/verify options |
ts | transaction set |
h | header |
Definition at line 458 of file verify.c.
References _, alloca(), headerGetInstance(), headerGetOrigin(), rpmlog(), RPMLOG_NOTICE, rpmProblemGetAltNEVR(), rpmProblemGetPkgNEVR(), rpmpsFree(), rpmpsFreeIterator(), rpmpsInitIterator(), rpmpsNextIterator(), rpmpsNumProblems(), rpmpsProblem(), rpmtsAddEraseElement(), rpmtsAddInstallElement(), rpmtsCheck, rpmtsEmpty(), rpmtsProblems(), and stpcpy().
Referenced by showVerifyPackage().
int _rpmds_unspecified_epoch_noise |
Definition at line 130 of file rpmds.c.
Referenced by showVerifyPackage().