[Pkg-openssl-changes] r568 - in openssl/trunk/debian: . patches

Kurt Roeckx kroeckx at alioth.debian.org
Thu Apr 19 21:17:06 UTC 2012


Author: kroeckx
Date: 2012-04-19 21:17:05 +0000 (Thu, 19 Apr 2012)
New Revision: 568

Modified:
   openssl/trunk/debian/changelog
   openssl/trunk/debian/patches/rc4_hmac_md5.patch
Log:
Use patch from upstream for the rc4_hmac_md5 issue.


Modified: openssl/trunk/debian/changelog
===================================================================
--- openssl/trunk/debian/changelog	2012-04-19 19:58:37 UTC (rev 567)
+++ openssl/trunk/debian/changelog	2012-04-19 21:17:05 UTC (rev 568)
@@ -1,3 +1,9 @@
+openssl (1.0.1a-3) unstable; urgency=low
+
+  * Use patch from upstream for the rc4_hmac_md5 issue.
+
+ -- Kurt Roeckx <kurt at roeckx.be>  Thu, 19 Apr 2012 23:16:30 +0200
+
 openssl (1.0.1a-2) unstable; urgency=low
 
   * Fix rc4_hmac_md5 on non-i386/amd64 arches.

Modified: openssl/trunk/debian/patches/rc4_hmac_md5.patch
===================================================================
--- openssl/trunk/debian/patches/rc4_hmac_md5.patch	2012-04-19 19:58:37 UTC (rev 567)
+++ openssl/trunk/debian/patches/rc4_hmac_md5.patch	2012-04-19 21:17:05 UTC (rev 568)
@@ -1,19 +1,40 @@
-Index: openssl-1.0.1a/crypto/evp/e_rc4_hmac_md5.c
-===================================================================
---- openssl-1.0.1a.orig/crypto/evp/e_rc4_hmac_md5.c	2012-04-18 19:51:33.000000000 +0200
-+++ openssl-1.0.1a/crypto/evp/e_rc4_hmac_md5.c	2012-04-19 21:53:36.000000000 +0200
-@@ -289,8 +289,14 @@
+--- a/crypto/evp/e_rc4_hmac_md5.c	2012/04/18 17:51:33	1.1.2.5
++++ b/crypto/evp/e_rc4_hmac_md5.c	2012/04/19 20:43:02	1.1.2.6
+@@ -121,6 +121,7 @@
+ 		md5_off = MD5_CBLOCK-key->md.num,
+ 		blocks;
+ 	unsigned int l;
++	extern unsigned int OPENSSL_ia32cap_P[];
+ #endif
+ 	size_t	plen = key->payload_length;
  
+@@ -132,7 +133,8 @@
+ 		/* cipher has to "fall behind" */
+ 		if (rc4_off>md5_off) md5_off+=MD5_CBLOCK;
+ 
+-		if (plen>md5_off && (blocks=(plen-md5_off)/MD5_CBLOCK)) {
++		if (plen>md5_off && (blocks=(plen-md5_off)/MD5_CBLOCK) &&
++		    (OPENSSL_ia32cap_P[0]&(1<<20))==0) {
+ 			MD5_Update(&key->md,in,md5_off);
+ 			RC4(&key->ks,rc4_off,in,out);
+ 
+@@ -172,7 +174,8 @@
+ 		if (md5_off>rc4_off)	rc4_off += 2*MD5_CBLOCK;
+ 		else			rc4_off += MD5_CBLOCK;
+ 
+-		if (len>rc4_off && (blocks=(len-rc4_off)/MD5_CBLOCK)) {
++		if (len>rc4_off && (blocks=(len-rc4_off)/MD5_CBLOCK) &&
++		    (OPENSSL_ia32cap_P[0]&(1<<20))==0) {
+ 			RC4(&key->ks,rc4_off,in,out);
+ 			MD5_Update(&key->md,out,md5_off);
+ 
+@@ -289,8 +292,6 @@
+ 
  const EVP_CIPHER *EVP_rc4_hmac_md5(void)
  	{
-+#if	defined(__i386)   || defined(__i386__)   || defined(_M_IX86) || \
-+	defined(__INTEL__) || \
-+	defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
- 	extern unsigned int OPENSSL_ia32cap_P[];
- 	/* RC4_CHAR flag ------------vvvvv */
- 	return(OPENSSL_ia32cap_P[0]&(1<<20) ? NULL : &r4_hmac_md5_cipher);
-+#else
+-	extern unsigned int OPENSSL_ia32cap_P[];
+-	/* RC4_CHAR flag ------------vvvvv */
+-	return(OPENSSL_ia32cap_P[0]&(1<<20) ? NULL : &r4_hmac_md5_cipher);
 +	return(&r4_hmac_md5_cipher);
-+#endif
  	}
  #endif




More information about the Pkg-openssl-changes mailing list