[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#310489: [installer@ftp-master.debian.org: openssh_3.8.1p1-8.sarge.5_ia64.changes REJECTED]



On Tue, May 24, 2005 at 05:43:41PM -0600, dann frazier wrote:
> On Wed, 2005-05-25 at 00:01 +0100, Colin Watson wrote:
> > (Please set Maintainer: correctly in your binNMUs, so that you get
> > archive mails.)
> 
> ok - thanks.  My first binNMU :)
> 
> > A rejection for you. Looks like this might not be so simple. How bad
> > would backing out the OpenSSL change be (i.e. has stuff already been
> > built to expect the new ABI?)?
> 
> Backing out the ABI change shouldn't be a big deal - Mike Stroyan says
> this was an ia64-specific performance improvement.  My concern was that
> any package that was rebuilt against this new, unintentional ABI change
> would be broken if we revert.  
> 
> I'll put an audit on my todo list, though backing out the openssl change
> should probably be done ASAP.  
> 
> Mike: can you provide a patch for this, or point me to the offending
> patch so that I can?

Dan,

  Here are the necessary changes to openssl.  Looking at the
/usr/lib/libcrypto.so.0.9.7 delivered in libssl0.9.7 version 0.9.7g-1,
I see that while the RC4 struct was made larger for the sake of 
openssl-0.9.7g/crypto/rc4/asm/rc4-ia64.S, the debian build wasn't
actually configured to use that assembly language version of RC4.

  There will be no performance difference from backing out this change.
Going back to the old unpadded header and taking out the alignment code
in rc4_enc.c and rc4_skey.c should be completely compatible with code
built with either version of rc4.h.


diff -ur openssl-0.9.7g/crypto/rc4/rc4_enc.c openssl-0.9.7g-fix/crypto/rc4/rc4_enc.c
--- openssl-0.9.7g/crypto/rc4/rc4_enc.c	2004-12-02 03:54:36.000000000 -0700
+++ openssl-0.9.7g-fix/crypto/rc4/rc4_enc.c	2005-05-25 10:57:21.425267141 -0600
@@ -77,10 +77,6 @@
         x=key->x;     
         y=key->y;     
         d=key->data; 
-#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
-	/* see crypto/rc4/asm/rc4-ia64.S for further details... */
-	d=(RC4_INT *)(((size_t)(d+255))&~(sizeof(key->data)-1));
-#endif
 
 #if defined(RC4_CHUNK)
 	/*
diff -ur openssl-0.9.7g/crypto/rc4/rc4.h openssl-0.9.7g-fix/crypto/rc4/rc4.h
--- openssl-0.9.7g/crypto/rc4/rc4.h	2005-01-26 13:00:35.000000000 -0700
+++ openssl-0.9.7g-fix/crypto/rc4/rc4.h	2005-05-25 10:32:36.303215021 -0600
@@ -73,10 +73,6 @@
 	{
 	RC4_INT x,y;
 	RC4_INT data[256];
-#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
-	/* see crypto/rc4/asm/rc4-ia64.S for further details... */
-	RC4_INT pad[512-256-2];
-#endif
 	} RC4_KEY;
 
  
diff -ur openssl-0.9.7g/crypto/rc4/rc4_skey.c openssl-0.9.7g-fix/crypto/rc4/rc4_skey.c
--- openssl-0.9.7g/crypto/rc4/rc4_skey.c	2005-01-26 13:00:35.000000000 -0700
+++ openssl-0.9.7g-fix/crypto/rc4/rc4_skey.c	2005-05-25 10:57:46.598118395 -0600
@@ -94,11 +94,6 @@
         unsigned int i;
         
         d= &(key->data[0]);
-#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
-	/* see crypto/rc4/asm/rc4-ia64.S for further details... */
-	d=(RC4_INT *)(((size_t)(d+255))&~(sizeof(key->data)-1));
-#endif
-
 	for (i=0; i<256; i++)
 		d[i]=i;
         key->x = 0;     
diff -ur openssl-0.9.7g/include/openssl/rc4.h openssl-0.9.7g-fix/include/openssl/rc4.h
--- openssl-0.9.7g/include/openssl/rc4.h	2005-01-26 13:00:35.000000000 -0700
+++ openssl-0.9.7g-fix/include/openssl/rc4.h	2005-05-25 10:32:36.303215021 -0600
@@ -73,10 +73,6 @@
 	{
 	RC4_INT x,y;
 	RC4_INT data[256];
-#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
-	/* see crypto/rc4/asm/rc4-ia64.S for further details... */
-	RC4_INT pad[512-256-2];
-#endif
 	} RC4_KEY;
 
  

-- 
Mike Stroyan, mike.stroyan@hp.com




Reply to: