~ubuntu-branches/ubuntu/quantal/openssl/quantal-updates

« back to all changes in this revision

Viewing changes to debian/patches/vpaes.patch

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-06-29 13:01:30 UTC
  • mfrom: (11.1.38 sid)
  • Revision ID: package-import@ubuntu.com-20120629130130-9i6y36xymsxy7jmh
Tags: 1.0.1c-3ubuntu1
* Resynchronise with Debian. Remaining changes:
  - debian/libssl1.0.0.postinst:
    + Display a system restart required notification on libssl1.0.0
      upgrade on servers.
    + Use a different priority for libssl1.0.0/restart-services depending
      on whether a desktop, or server dist-upgrade is being performed.
  - debian/{libssl1.0.0-udeb.dirs, control, rules}: Create
    libssl1.0.0-udeb, for the benefit of wget-udeb (no wget-udeb package
    in Debian).
  - debian/{libcrypto1.0.0-udeb.dirs, libssl1.0.0.dirs, libssl1.0.0.files,
    rules}: Move runtime libraries to /lib, for the benefit of
    wpasupplicant.
  - debian/patches/perlpath-quilt.patch: Don't change perl #! paths under
    .pc.
  - debian/rules:
    + Don't run 'make test' when cross-building.
    + Use host compiler when cross-building.  Patch from Neil Williams.
    + Don't build for processors no longer supported: i586 (on i386)
    + Fix Makefile to properly clean up libs/ dirs in clean target.
    + Replace duplicate files in the doc directory with symlinks.
  - Unapply patch c_rehash-multi and comment it out in the series as it
    breaks parsing of certificates with CRLF line endings and other cases
    (see Debian #642314 for discussion), it also changes the semantics of
    c_rehash directories by requiring applications to parse hash link
    targets as files containing potentially *multiple* certificates rather
    than exactly one.
  - Bump version passed to dh_makeshlibs to 1.0.1 for new symbols.
  - debian/patches/tls12_workarounds.patch: workaround large client hello
    issue: Compile with -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 and
    with -DOPENSSL_NO_TLS1_2_CLIENT.
* Dropped upstreamed patches:
  - debian/patches/CVE-2012-2110.patch
  - debian/patches/CVE-2012-2110b.patch
  - debian/patches/CVE-2012-2333.patch
  - debian/patches/CVE-2012-0884-extra.patch
  - most of debian/patches/tls12_workarounds.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
Index: openssl/crypto/aes/asm/vpaes-x86.pl
2
 
RCS File: /v/openssl/cvs/openssl/crypto/aes/asm/vpaes-x86.pl,v
3
 
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
4
 
--- a/crypto/aes/asm/vpaes-x86.pl       2011/12/15 22:20:26     1.5.4.4
5
 
+++ b/crypto/aes/asm/vpaes-x86.pl       2012/03/31 16:55:18     1.5.4.5
6
 
@@ -843,6 +843,8 @@
7
 
        &mov    ($out,&wparam(1));              # out
8
 
        &mov    ($round,&wparam(2));            # len
9
 
        &mov    ($key,&wparam(3));              # key
10
 
+       &sub    ($round,16);
11
 
+       &jc     (&label("cbc_abort"));
12
 
        &lea    ($base,&DWP(-56,"esp"));
13
 
        &mov    ($const,&wparam(4));            # ivp
14
 
        &and    ($base,-16);
15
 
@@ -853,7 +855,6 @@
16
 
        &mov    (&DWP(48,"esp"),$base);
17
 
 
18
 
        &mov    (&DWP(0,"esp"),$out);           # save out
19
 
-       &sub    ($round,16);
20
 
        &mov    (&DWP(4,"esp"),$key)            # save key
21
 
        &mov    (&DWP(8,"esp"),$const);         # save ivp
22
 
        &mov    ($out,$round);                  # $out works as $len
23
 
@@ -896,6 +897,7 @@
24
 
        &mov    ($base,&DWP(8,"esp"));          # restore ivp
25
 
        &mov    ("esp",&DWP(48,"esp"));
26
 
        &movdqu (&QWP(0,$base),"xmm1");         # write IV
27
 
+&set_label("cbc_abort");
28
 
 &function_end("${PREFIX}_cbc_encrypt");
29
 
 
30
 
 &asm_finish();
31
 
Index: openssl/crypto/aes/asm/vpaes-x86_64.pl
32
 
RCS File: /v/openssl/cvs/openssl/crypto/aes/asm/vpaes-x86_64.pl,v
33
 
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
34
 
--- a/crypto/aes/asm/vpaes-x86_64.pl    2011/11/14 21:01:17     1.4.4.2
35
 
+++ a/crypto/aes/asm/vpaes-x86_64.pl    2012/03/31 16:55:18     1.4.4.3
36
 
@@ -263,7 +263,7 @@
37
 
        pshufb  %xmm2,  %xmm4   # 4 = sbou
38
 
        pxor    %xmm0,  %xmm4   # 4 = sb1u + k
39
 
        movdqa  0x70(%r10), %xmm0       # 0 : sbot
40
 
-       movdqa  .Lk_sr-.Lk_dsbd(%r11), %xmm2
41
 
+       movdqa  -0x160(%r11), %xmm2     # .Lk_sr-.Lk_dsbd=-0x160
42
 
        pshufb  %xmm3,  %xmm0   # 0 = sb1t
43
 
        pxor    %xmm4,  %xmm0   # 0 = A
44
 
        pshufb  %xmm2,  %xmm0
45
 
@@ -869,6 +869,8 @@
46
 
 ___
47
 
 ($len,$key)=($key,$len);
48
 
 $code.=<<___;
49
 
+       sub     \$16,$len
50
 
+       jc      .Lcbc_abort
51
 
 ___
52
 
 $code.=<<___ if ($win64);
53
 
        lea     -0xb8(%rsp),%rsp
54
 
@@ -887,7 +889,6 @@
55
 
 $code.=<<___;
56
 
        movdqu  ($ivp),%xmm6            # load IV
57
 
        sub     $inp,$out
58
 
-       sub     \$16,$len
59
 
        call    _vpaes_preheat
60
 
        cmp     \$0,${enc}d
61
 
        je      .Lcbc_dec_loop
62
 
@@ -932,6 +933,7 @@
63
 
 .Lcbc_epilogue:
64
 
 ___
65
 
 $code.=<<___;
66
 
+.Lcbc_abort:
67
 
        ret
68
 
 .size  ${PREFIX}_cbc_encrypt,.-${PREFIX}_cbc_encrypt
69
 
 ___