core/openssl-cryptodev to 1.0.1a-1

This commit is contained in:
Kevin Mihelich 2012-04-19 10:31:02 -04:00
parent e8f60a45b1
commit b9340d5682
3 changed files with 9 additions and 121 deletions

View file

@ -10,10 +10,11 @@ noautobuild=1
pkgname=openssl-cryptodev
_pkgname=openssl
_ver=1.0.1
_ver=1.0.1a
# use a pacman compatible version scheme
pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
pkgrel=3
#pkgver=$_ver
pkgrel=1
pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security'
arch=('i686' 'x86_64')
url='https://www.openssl.org'
@ -25,20 +26,16 @@ options=('!makeflags')
backup=('etc/ssl/openssl.cnf')
conflicts=('openssl')
provides=("openssl=${pkgver}")
source=("https://www.openssl.org/source/${_pkgname}-${_ver}.tar.gz"
"https://www.openssl.org/source/${_pkgname}-${_ver}.tar.gz.asc"
source=("https://www.openssl.org/source/${pkgname}-${_ver}.tar.gz"
"https://www.openssl.org/source/${pkgname}-${_ver}.tar.gz.asc"
'fix-manpages.patch'
'no-rpath.patch'
'ca-dir.patch'
'disable-tls12-client.patch'
'vpaes.patch')
md5sums=('134f168bc2a8333f19f81d684841710b'
'efbe93c11747fed52e60567819409d8a'
'ca-dir.patch')
md5sums=('a0104320c0997cd33e18b8ea798609d1'
'df6d2432d3ff03f72fa6744d6f1a7f34'
'5bbc0655bda2af95bc8eb568963ce8ba'
'dc78d3d06baffc16217519242ce92478'
'3bf51be3a1bbd262be46dc619f92aa90'
'365328e1fff7239777adcb50dc4edd42'
'55ad53e8ec3db1db6978af55e3ce1b5d')
'3bf51be3a1bbd262be46dc619f92aa90')
build() {
cd $srcdir/$_pkgname-$_ver
@ -58,10 +55,6 @@ build() {
patch -p0 -i $srcdir/no-rpath.patch
# set ca dir to /etc/ssl by default
patch -p0 -i $srcdir/ca-dir.patch
# workaround for PR#2771
patch -p1 -i $srcdir/disable-tls12-client.patch
# fix for PR#2775
patch -p1 -i $srcdir/vpaes.patch
# mark stack as non-executable: http://bugs.archlinux.org/task/12434
./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib \
-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DHASH_MAX_LEN=64 \

View file

@ -1,36 +0,0 @@
Index: openssl/ssl/t1_lib.c
RCS File: /v/openssl/cvs/openssl/ssl/t1_lib.c,v
rcsdiff -q -kk '-r1.64.2.14.2.31' '-r1.64.2.14.2.32' -u '/v/openssl/cvs/openssl/ssl/t1_lib.c,v' 2>/dev/null
--- t1_lib.c 2012/02/27 16:38:10 1.64.2.14.2.31
+++ t1_lib.c 2012/03/21 21:32:57 1.64.2.14.2.32
@@ -544,7 +544,7 @@
}
skip_ext:
- if (TLS1_get_version(s) >= TLS1_2_VERSION)
+ if (TLS1_get_client_version(s) >= TLS1_2_VERSION)
{
if ((size_t)(limit - ret) < sizeof(tls12_sigalgs) + 6)
return NULL;
Index: openssl/ssl/s23_clnt.c
RCS File: /v/openssl/cvs/openssl/ssl/s23_clnt.c,v
rcsdiff -q -kk '-r1.43.2.4.2.5' '-r1.43.2.4.2.6' -u '/v/openssl/cvs/openssl/ssl/s23_clnt.c,v' 2>/dev/null
--- s23_clnt.c 2011/05/19 18:22:15 1.43.2.4.2.5
+++ s23_clnt.c 2012/03/29 19:08:54 1.43.2.4.2.6
@@ -287,12 +287,14 @@
if (ssl2_compat && ssl23_no_ssl2_ciphers(s))
ssl2_compat = 0;
-
+#ifndef OPENSSL_NO_TLS1_2_CLIENT
if (!(s->options & SSL_OP_NO_TLSv1_2))
{
version = TLS1_2_VERSION;
}
- else if (!(s->options & SSL_OP_NO_TLSv1_1))
+ else
+#endif
+ if (!(s->options & SSL_OP_NO_TLSv1_1))
{
version = TLS1_1_VERSION;
}

View file

@ -1,69 +0,0 @@
Index: openssl/crypto/aes/asm/vpaes-x86.pl
RCS File: /v/openssl/cvs/openssl/crypto/aes/asm/vpaes-x86.pl,v
rcsdiff -q -kk '-r1.5.4.4' '-r1.5.4.5' -u '/v/openssl/cvs/openssl/crypto/aes/asm/vpaes-x86.pl,v' 2>/dev/null
--- vpaes-x86.pl 2011/12/15 22:20:26 1.5.4.4
+++ vpaes-x86.pl 2012/03/31 16:55:18 1.5.4.5
@@ -843,6 +843,8 @@
&mov ($out,&wparam(1)); # out
&mov ($round,&wparam(2)); # len
&mov ($key,&wparam(3)); # key
+ &sub ($round,16);
+ &jc (&label("cbc_abort"));
&lea ($base,&DWP(-56,"esp"));
&mov ($const,&wparam(4)); # ivp
&and ($base,-16);
@@ -853,7 +855,6 @@
&mov (&DWP(48,"esp"),$base);
&mov (&DWP(0,"esp"),$out); # save out
- &sub ($round,16);
&mov (&DWP(4,"esp"),$key) # save key
&mov (&DWP(8,"esp"),$const); # save ivp
&mov ($out,$round); # $out works as $len
@@ -896,6 +897,7 @@
&mov ($base,&DWP(8,"esp")); # restore ivp
&mov ("esp",&DWP(48,"esp"));
&movdqu (&QWP(0,$base),"xmm1"); # write IV
+&set_label("cbc_abort");
&function_end("${PREFIX}_cbc_encrypt");
&asm_finish();
Index: openssl/crypto/aes/asm/vpaes-x86_64.pl
RCS File: /v/openssl/cvs/openssl/crypto/aes/asm/vpaes-x86_64.pl,v
rcsdiff -q -kk '-r1.4.4.2' '-r1.4.4.3' -u '/v/openssl/cvs/openssl/crypto/aes/asm/vpaes-x86_64.pl,v' 2>/dev/null
--- vpaes-x86_64.pl 2011/11/14 21:01:17 1.4.4.2
+++ vpaes-x86_64.pl 2012/03/31 16:55:18 1.4.4.3
@@ -263,7 +263,7 @@
pshufb %xmm2, %xmm4 # 4 = sbou
pxor %xmm0, %xmm4 # 4 = sb1u + k
movdqa 0x70(%r10), %xmm0 # 0 : sbot
- movdqa .Lk_sr-.Lk_dsbd(%r11), %xmm2
+ movdqa -0x160(%r11), %xmm2 # .Lk_sr-.Lk_dsbd=-0x160
pshufb %xmm3, %xmm0 # 0 = sb1t
pxor %xmm4, %xmm0 # 0 = A
pshufb %xmm2, %xmm0
@@ -869,6 +869,8 @@
___
($len,$key)=($key,$len);
$code.=<<___;
+ sub \$16,$len
+ jc .Lcbc_abort
___
$code.=<<___ if ($win64);
lea -0xb8(%rsp),%rsp
@@ -887,7 +889,6 @@
$code.=<<___;
movdqu ($ivp),%xmm6 # load IV
sub $inp,$out
- sub \$16,$len
call _vpaes_preheat
cmp \$0,${enc}d
je .Lcbc_dec_loop
@@ -932,6 +933,7 @@
.Lcbc_epilogue:
___
$code.=<<___;
+.Lcbc_abort:
ret
.size ${PREFIX}_cbc_encrypt,.-${PREFIX}_cbc_encrypt
___