Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

lib/verify.c File Reference

Verify installed payload files from package metadata. More...

#include "system.h"
#include <rpmlib.h>
#include <rpmurl.h>
#include "psm.h"
#include "md5.h"
#include "misc.h"
#include "debug.h"

Go to the source code of this file.

Data Structures

union  _vendian

Defines

#define IS_BIG_ENDIAN()    (_endian->b[0] == '\x44')
#define IS_LITTLE_ENDIAN()    (_endian->b[0] == '\x11')
#define S_ISDEV(m)   (S_ISBLK((m)) || S_ISCHR((m)))
#define POPT_NODEPS   1000
#define POPT_NOFILES   1001
#define POPT_NOMD5   1002
#define POPT_NOSCRIPTS   1003
#define _verify(_RPMVERIFY_F, _C)
#define _verifylink(_RPMVERIFY_F, _C)
#define _verifyfile(_RPMVERIFY_F, _C)

Functions

void verifyArgCallback (poptContext con, enum poptCallbackReason reason, const struct poptOption *opt, const char *arg, const void *data)
void* _free (const void *this)
 Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. More...

int rpmVerifyFile (const char *prefix, Header h, int filenum, int *result, int omitMask)
int rpmVerifyScript (const char *rootDir, Header h, FD_t scriptFd)
 Return exit code from running verify script in header. More...

int verifyHeader (QVA_t *qva, Header h)
int verifyDependencies (rpmdb rpmdb, Header h)
int showVerifyPackage (QVA_t *qva, rpmdb rpmdb, Header h)
int rpmVerify (QVA_t *qva, rpmQVSources source, const char *arg)

Variables

int _ie = 0x44332211
union _vendian_endian
int noDeps = 0
int noFiles = 0
int noMd5 = 0
int noScripts = 0
struct poptOption rpmVerifyPoptTable []


Detailed Description

Verify installed payload files from package metadata.

Definition in file verify.c.


Define Documentation

#define IS_BIG_ENDIAN( )   (_endian->b[0] == '\x44')
 

Definition at line 21 of file verify.c.

#define IS_LITTLE_ENDIAN( )   (_endian->b[0] == '\x11')
 

Definition at line 22 of file verify.c.

#define POPT_NODEPS   1000
 

Definition at line 26 of file verify.c.

#define POPT_NOFILES   1001
 

Definition at line 27 of file verify.c.

#define POPT_NOMD5   1002
 

Definition at line 28 of file verify.c.

#define POPT_NOSCRIPTS   1003
 

Definition at line 29 of file verify.c.

#define S_ISDEV( m )   (S_ISBLK((m)) || S_ISCHR((m)))
 

Definition at line 24 of file verify.c.

Referenced by rpmVerifyFile().

#define _verify( _RPMVERIFY_F, _C )
 

Value:

        ((verifyResult & _RPMVERIFY_F) ? _C : aok)

Referenced by verifyHeader().

#define _verifyfile( _RPMVERIFY_F, _C )
 

Value:

        ((verifyResult & RPMVERIFY_READFAIL) ? unknown : \
         (verifyResult & _RPMVERIFY_F) ? _C : aok)

Referenced by verifyHeader().

#define _verifylink( _RPMVERIFY_F, _C )
 

Value:

        ((verifyResult & RPMVERIFY_READLINKFAIL) ? unknown : \
         (verifyResult & _RPMVERIFY_F) ? _C : aok)

Referenced by verifyHeader().


Function Documentation

void * _free ( const void * this ) [static]
 

Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.

Parameters:
this   memory to free
Return values:
NULL   always

Definition at line 77 of file verify.c.

Referenced by alFileSatisfiesDepend(), alFree(), alFreeIndex(), checkPackageDeps(), cpioHeaderRead(), dnlFreeIterator(), doBuildFileList(), expandFilelist(), expandRegular(), freeFSM(), freeFi(), freeHardLink(), freeSplitString(), fsmCommitLinks(), fsmMakeLinks(), fsmMapPath(), fsmStage(), makeTempFile(), mapFreeIterator(), printFileInfo(), printNewSpecfile(), psmStage(), relocateFileList(), rpmErase(), rpmGlob(), rpmInstall(), rpmInstallSource(), rpmInstallSourcePackage(), rpmProblemSetFree(), rpmQueryVerify(), rpmRangesOverlap(), rpmReadPackageManifest(), rpmRunTransactions(), rpmVerifyScript(), rpmdepCheck(), rpmdepFreeConflicts(), rpmdepOrder(), rpmtransFree(), saveHardLink(), showProgress(), showQueryPackage(), skipFiles(), tsFreeIterator(), writeLinkedFile(), and zapRelation().

int rpmVerifyScript ( const char * rootDir,
Header h,
FD_t scriptFd )
 

Return exit code from running verify script in header.

Todo:
gnorpm/kpackage prevents static, should be using VERIFY_SCRIPT flag.
Parameters:
rootDir   path to top of install tree
h   header
scriptFd   file handle to use for stderr (or NULL)
Returns:
0 on success

Definition at line 292 of file verify.c.

Referenced by showVerifyPackage().

void verifyArgCallback ( poptContext con,
enum poptCallbackReason reason,
const struct poptOption * opt,
const char * arg,
const void * data ) [static]
 

Definition at line 32 of file verify.c.

int verifyDependencies ( rpmdb rpmdb,
Header h ) [static]
 

Definition at line 402 of file verify.c.

Referenced by showVerifyPackage().

int verifyHeader ( QVA_t * qva,
Header h ) [static]
 

Definition at line 318 of file verify.c.

Referenced by showVerifyPackage().


Variable Documentation

union _vendian * _endian [static]
 

int _ie = 0x44332211 [static]
 

Definition at line 19 of file verify.c.

int noDeps = 0 [static]
 

Definition at line 46 of file verify.c.

int noFiles = 0 [static]
 

Definition at line 47 of file verify.c.

int noMd5 = 0 [static]
 

Definition at line 48 of file verify.c.

int noScripts = 0 [static]
 

Definition at line 49 of file verify.c.

struct poptOption rpmVerifyPoptTable[]
 

Initial value:

 {
 { NULL, '\0', POPT_ARG_CALLBACK | POPT_CBFLAG_INC_DATA, 
        verifyArgCallback, 0, NULL, NULL },
 { NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmQVSourcePoptTable, 0,
        NULL, NULL },
 { "nodeps", '\0', 0, &noDeps,  1000 ,
         "do not verify package dependencies" ,
        NULL },
 { "nofiles", '\0', 0, &noFiles,  1001 ,
         "don't verify files in package" ,
        NULL},
 { "nomd5", '\0', 0, &noMd5,  1002 ,
         "do not verify file md5 checksums" ,
        NULL },
 { "noscripts", '\0', 0, &noScripts,  1003 ,
         "do not execute %verifyscript (if any)" ,
        NULL },
    POPT_TABLEEND
}

Definition at line 52 of file verify.c.


Generated at Thu Apr 19 15:29:47 2001 for rpm by doxygen1.2.6-20010408 written by Dimitri van Heesch, © 1997-2001