rpmverifyfile.c File Reference

rpmverifyfile probe More...

#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <assert.h>
#include <limits.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <pcre.h>
#include <rpm/rpmdb.h>
#include <rpm/rpmlib.h>
#include <rpm/rpmts.h>
#include <rpm/rpmmacro.h>
#include <rpm/rpmlog.h>
#include <rpm/rpmfi.h>
#include <rpm/header.h>
#include <rpm/rpmcli.h>
#include <probe-api.h>
#include <alloc.h>
#include <common/assume.h>
#include "debug_priv.h"
#include "probe/entcmp.h"

Data Structures

struct  rpmverify_res
struct  rpmverify_global
struct  rpmverifyfile_bhmap_t

Defines

#define HAVE_LIBRPM44   1
#define headerFormat(_h, _fmt, _emsg)   headerSprintf((_h),( _fmt), rpmTagTable, rpmHeaderFormats, (_emsg))
#define rpmFreeCrypto()   while(0)
#define rpmFreeFilesystems()   while(0)
#define RPMVERIFY_SKIP_CONFIG   0x1000000000000000
#define RPMVERIFY_SKIP_GHOST   0x2000000000000000
#define RPMVERIFY_RPMATTRMASK   0x00000000ffffffff
#define RPMVERIFY_LOCK
#define RPMVERIFY_UNLOCK
#define COMPARE_ENT(XXX)
#define VF_RESULT(f)   (res->oflags & (f) ? "not performed" : (res->vflags & RPMVERIFY_FAILURES ? "not performed" : (res->vflags & (f) ? "fail" : "pass")))
#define FF_RESULT(f)   (res->fflags & (f) ? true : false)

Functions

void * probe_init (void)
 Dummy probe_fini function.
void probe_fini (void *ptr)
 Dummy probe_fini function.
int probe_main (probe_ctx *ctx, void *arg)

Variables

const rpmverifyfile_bhmap_t rpmverifyfile_bhmap []

Detailed Description

rpmverifyfile probe

Author:
"Daniel Kopecek" <dkopecek@redhat.com>
"Petr Lautrbach" <plautrba@redhat.com>

Define Documentation

#define COMPARE_ENT ( XXX   ) 
Value:
if (XXX ## _ent != NULL) { \
                        ent = probe_entval_from_cstr( \
                                probe_ent_getdatatype(XXX ## _ent), res.XXX, strlen(res.XXX) \
                        ); \
                        if (ent != NULL && probe_entobj_cmp(XXX ## _ent, ent) != OVAL_RESULT_TRUE) { \
                                SEXP_free(ent); \
                                continue; \
                        } \
                        SEXP_free(ent); \
                }
#define RPMVERIFY_LOCK
Value:
do {                                                \
                if (pthread_mutex_lock(&g_rpm.mutex) != 0) {    \
                        dE("Can't lock mutex\n");              \
                        return (-1);                        \
                }                                              \
        } while(0)
#define RPMVERIFY_UNLOCK
Value:
do {                                                        \
                if (pthread_mutex_unlock(&g_rpm.mutex) != 0) {    \
                        dE("Can't unlock mutex. Aborting...\n");        \
                        abort();                                        \
                }                                                      \
        } while(0)

Variable Documentation

const rpmverifyfile_bhmap_t rpmverifyfile_bhmap[]
Initial value:
 {
        { "nolinkto",      (uint64_t)VERIFY_LINKTO    },
        { "nomd5",       (uint64_t)VERIFY_MD5       },
        { "nosize",     (uint64_t)VERIFY_SIZE      },
        { "nouser",     (uint64_t)VERIFY_USER      },
        { "nogroup",       (uint64_t)VERIFY_GROUP     },
        { "nomtime",       (uint64_t)VERIFY_MTIME     },
        { "nomode",     (uint64_t)VERIFY_MODE      },
        { "nordev",     (uint64_t)VERIFY_RDEV      },
        { "noconfigfiles", RPMVERIFY_SKIP_CONFIG      },
        { "noghostfiles",  RPMVERIFY_SKIP_GHOST       }
}

Generated on 17 Jul 2013 for Open SCAP Library by  doxygen 1.6.1