]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm-disable-hmac-verify.patch
- disable hmac when veryfying file digests
[packages/rpm.git] / rpm-disable-hmac-verify.patch
diff --git a/rpm-disable-hmac-verify.patch b/rpm-disable-hmac-verify.patch
new file mode 100644 (file)
index 0000000..0566261
--- /dev/null
@@ -0,0 +1,21 @@
+--- rpm-5.4.10.orig/lib/verify.c       2012-07-06 17:39:16.000000000 +0200
++++ rpm-5.4.10/lib/verify.c    2012-10-21 19:35:08.610708732 +0200
+@@ -261,11 +261,18 @@
+           unsigned char * fdigest = (unsigned char *)
+                       memset(alloca(vf->dlen), 0, vf->dlen);
+           size_t fsize = 0;
++// Disable hmac during digest calculation, since rpm package files contain plain md5sums,
++// hmac support is useless, see:
++// http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2012-October/023193.html
++#if defined(RPM_VENDOR_PLD)
++          int rc = dodigest(vf->dalgo, vf->fn, fdigest, 0, &fsize);
++#else
+ #define       _mask   (RPMVERIFY_FDIGEST|RPMVERIFY_HMAC)
+           unsigned dflags = (vf->vflags & _mask) == RPMVERIFY_HMAC
+               ? 0x2 : 0x0;
+ #undef        _mask
+           int rc = dodigest(vf->dalgo, vf->fn, fdigest, dflags, &fsize);
++#endif
+           sb.st_size = fsize;
+           if (rc) {
+               VF_SET(res, READFAIL);
This page took 0.027989 seconds and 4 git commands to generate.