Refactor ts out of main header read function
authorPanu Matilainen <pmatilai@redhat.com>
Wed, 20 May 2009 14:19:06 +0000 (17:19 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Wed, 20 May 2009 14:19:06 +0000 (17:19 +0300)
- Add a lower level rpmpkgReadHeader() which just takes keyring and
  verify flags, rpmReadHeader() is just a wrapper around it now

lib/package.c

index b787786..7d622c5 100644 (file)
@@ -453,7 +453,8 @@ rpmRC headerCheck(rpmts ts, const void * uh, size_t uc, char ** msg)
     return rc;
 }
 
-rpmRC rpmReadHeader(rpmts ts, FD_t fd, Header *hdrp, char ** msg)
+static rpmRC rpmpkgReadHeader(rpmKeyring keyring, rpmVSFlags vsflags, 
+                      FD_t fd, Header *hdrp, char ** msg)
 {
     char *buf = NULL;
     int32_t block[4];
@@ -504,7 +505,7 @@ rpmRC rpmReadHeader(rpmts ts, FD_t fd, Header *hdrp, char ** msg)
     }
 
     /* Sanity check header tags */
-    rc = headerCheck(ts, ei, uc, msg);
+    rc = headerVerify(keyring, vsflags, ei, uc, msg);
     if (rc != RPMRC_OK)
        goto exit;
 
@@ -533,6 +534,18 @@ exit:
     return rc;
 }
 
+rpmRC rpmReadHeader(rpmts ts, FD_t fd, Header *hdrp, char ** msg)
+{
+    rpmRC rc;
+    rpmKeyring keyring = rpmtsGetKeyring(ts, 1);
+    rpmVSFlags vsflags = rpmtsVSFlags(ts);
+
+    rc = rpmpkgReadHeader(keyring, vsflags, fd, hdrp, msg);
+
+    rpmKeyringFree(keyring);
+    return rc;
+}
+
 rpmRC rpmReadPackageFile(rpmts ts, FD_t fd, const char * fn, Header * hdrp)
 {
     pgpDig dig = NULL;