may skip file md5 checks
authorewt <devnull@localhost>
Thu, 23 Jan 1997 20:56:45 +0000 (20:56 +0000)
committerewt <devnull@localhost>
Thu, 23 Jan 1997 20:56:45 +0000 (20:56 +0000)
CVS patchset: 1348
CVS date: 1997/01/23 20:56:45

verify.c
verify.h

index 8fef7b8..9d5fe7b 100644 (file)
--- a/verify.c
+++ b/verify.c
 #include "rpmlib.h"
 #include "verify.h"
 
-static void verifyHeader(char * prefix, Header h);
+static void verifyHeader(char * prefix, Header h, int verifyFlags);
 static void verifyMatches(char * prefix, rpmdb db, dbiIndexSet matches,
                          int verifyFlags);
 static void verifyDependencies(rpmdb db, Header h);
 
-static void verifyHeader(char * prefix, Header h) {
+static void verifyHeader(char * prefix, Header h, int verifyFlags) {
     char ** fileList;
     int count, type;
     int verifyResult;
@@ -23,12 +23,16 @@ static void verifyHeader(char * prefix, Header h) {
     char * size, * md5, * link, * mtime, * mode;
     char * group, * user, * rdev;
     int_32 * fileFlagsList;
+    int omitMask = 0;
 
-    headerGetEntry(h, RPMTAG_FILEFLAGS, &type, (void **) &fileFlagsList, &count);
+    if (!(verifyFlags & VERIFY_MD5)) omitMask = RPMVERIFY_MD5;
 
-    if (headerGetEntry(h, RPMTAG_FILENAMES, &type, (void **) &fileList, &count)) {
+    headerGetEntry(h, RPMTAG_FILEFLAGS, NULL, (void **) &fileFlagsList, NULL);
+
+    if (headerGetEntry(h, RPMTAG_FILENAMES, &type, (void **) &fileList, 
+                       &count)) {
        for (i = 0; i < count; i++) {
-           if (rpmVerifyFile(prefix, h, i, &verifyResult))
+           if (rpmVerifyFile(prefix, h, i, &verifyResult, omitMask))
                printf("missing    %s\n", fileList[i]);
            else {
                size = md5 = link = mtime = mode = ".";
@@ -100,7 +104,7 @@ static void verifyPackage(char * root, rpmdb db, Header h, int verifyFlags) {
     if (verifyFlags & VERIFY_DEPS)
        verifyDependencies(db, h);
     if (verifyFlags & VERIFY_FILES)
-       verifyHeader(root, h);
+       verifyHeader(root, h, verifyFlags);
     if (verifyFlags & VERIFY_SCRIPT) {
        rpmVerifyScript(root, h, 1);
     }
index 2b46646..53a10c0 100644 (file)
--- a/verify.h
+++ b/verify.h
@@ -6,6 +6,7 @@
 #define VERIFY_FILES           (1 << 0)
 #define VERIFY_DEPS            (1 << 1)
 #define VERIFY_SCRIPT          (1 << 2)
+#define VERIFY_MD5             (1 << 3)
 
 enum verifysources { VERIFY_PATH, VERIFY_PACKAGE, VERIFY_EVERY, VERIFY_SPATH,
                     VERIFY_SPACKAGE, VERIFY_RPM, VERIFY_SRPM, VERIFY_GRP,