~ubuntu-branches/ubuntu/trusty/openssl/trusty

« back to all changes in this revision

Viewing changes to ssl/s3_pkt.c

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2014-01-08 15:57:24 UTC
  • mfrom: (11.1.46 sid)
  • Revision ID: package-import@ubuntu.com-20140108155724-kl61on9fyqmod2z9
Tags: 1.0.1f-1ubuntu1
* Merge 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.
  - debian/control: Mark Debian Vcs-* as XS-Debian-Vcs-*
  - debian/patches/ubuntu_deb676533_arm_asm.patch: Enable arm assembly
    code.
  - debian/rules: Enable optimized 64bit elliptic curve code contributed
    by Google.
* Dropped changes:
  - debian/patches/arm64-support: included in debian-targets.patch
  - debian/patches/no_default_rdrand.patch: upstream
  - debian/patches/openssl-1.0.1e-env-zlib.patch: zlib is now completely
    disabled in debian/rules

Show diffs side-by-side

added added

removed removed

Lines of Context:
335
335
                        if (version != s->version)
336
336
                                {
337
337
                                SSLerr(SSL_F_SSL3_GET_RECORD,SSL_R_WRONG_VERSION_NUMBER);
338
 
                                if ((s->version & 0xFF00) == (version & 0xFF00))
 
338
                                if ((s->version & 0xFF00) == (version & 0xFF00) && !s->enc_write_ctx && !s->write_hash)
339
339
                                        /* Send back error using their minor version number :-) */
340
340
                                        s->version = (unsigned short)version;
341
341
                                al=SSL_AD_PROTOCOL_VERSION;
1459
1459
                slen=s->method->ssl3_enc->client_finished_label_len;
1460
1460
                }
1461
1461
 
1462
 
        s->s3->tmp.peer_finish_md_len = s->method->ssl3_enc->final_finish_mac(s,
 
1462
        i = s->method->ssl3_enc->final_finish_mac(s,
1463
1463
                sender,slen,s->s3->tmp.peer_finish_md);
 
1464
        if (i == 0)
 
1465
                {
 
1466
                SSLerr(SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC, ERR_R_INTERNAL_ERROR);
 
1467
                return 0;
 
1468
                }
 
1469
        s->s3->tmp.peer_finish_md_len = i;
1464
1470
 
1465
1471
        return(1);
1466
1472
        }