[packages/rpm] - disable hmac when veryfying file digests - rel 24

baggins baggins at pld-linux.org
Mon Oct 22 15:14:34 CEST 2012


commit 9158f140bb9f0e1f143bba54ec8e7715358d2bd1
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Mon Oct 22 15:13:23 2012 +0200

    - disable hmac when veryfying file digests
    - rel 24
    
    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

 rpm-disable-hmac-verify.patch | 21 +++++++++++++++++++++
 rpm.spec                      |  4 +++-
 2 files changed, 24 insertions(+), 1 deletion(-)
---
diff --git a/rpm.spec b/rpm.spec
index 5d8b6c7..df189f9 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -52,7 +52,7 @@ Summary(ru.UTF-8):	Менеджер пакетов от RPM
 Summary(uk.UTF-8):	Менеджер пакетів від RPM
 Name:		rpm
 Version:	5.4.10
-Release:	23
+Release:	24
 License:	LGPL
 Group:		Base
 # http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.10-0.20120706.src.rpm
@@ -144,6 +144,7 @@ Patch51:	%{name}-gst-inspect-typo.patch
 Patch52:	%{name}-null-term-ascii-digest.patch
 Patch53:	%{name}-lua-enable-extra-libs.patch
 Patch54:	%{name}-fix-filedigests-verify.patch
+Patch55:	%{name}-disable-hmac-verify.patch
 
 # Patches imported from Mandriva
 
@@ -832,6 +833,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch52 -p0
 %patch53 -p1
 %patch54 -p1
+%patch55 -p1
 
 %patch1000 -p1
 %patch1001 -p1
diff --git a/rpm-disable-hmac-verify.patch b/rpm-disable-hmac-verify.patch
new file mode 100644
index 0000000..0566261
--- /dev/null
+++ b/rpm-disable-hmac-verify.patch
@@ -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);
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/rpm.git/commitdiff/9158f140bb9f0e1f143bba54ec8e7715358d2bd1



More information about the pld-cvs-commit mailing list