~ubuntu-branches/ubuntu/maverick/openssl/maverick-security

« back to all changes in this revision

Viewing changes to ssl/s3_lib.c

  • Committer: Bazaar Package Importer
  • Author(s): Marc Deslauriers
  • Date: 2010-06-14 09:08:29 UTC
  • mfrom: (11.1.14 sid)
  • Revision ID: james.westby@ubuntu.com-20100614090829-nf3nrftn7ly58mxv
Tags: 0.9.8o-1ubuntu1
* Merge from debian unstable, remaining changes (LP: #581167):
  - debian/patches/Bsymbolic-functions.patch: Link using
    -Bsymbolic-functions
  - Ship documentation in openssl-doc, suggested by the package.
  - Use a different priority for libssl0.9.8/restart-services
    depending on whether a desktop, or server dist-upgrade is being
    performed.
  - Display a system restart required notification bubble on libssl0.9.8
    upgrade.
  - Replace duplicate files in the doc directory with symlinks.
  - Move runtime libraries to /lib, for the benefit of wpasupplicant
  - Use host compiler when cross-building (patch from Neil Williams in
    Debian #465248).
  - Don't run 'make test' when cross-building.
  - Create libssl0.9.8-udeb, for the benefit of wget-udeb (LP: #503339).
  - debian/patches/aesni.patch: Backport Intel AES-NI support from
    http://rt.openssl.org/Ticket/Display.html?id=2067 (LP: #485518).
  - debian/patches/perlpath-quilt.patch: Don't change perl #! paths
    under .pc.
* Dropped patches, now upstream:
  - debian/patches/CVE-2009-3245.patch
  - debian/patches/CVE-2010-0740.patch
  - debian/patches/dtls-compatibility.patch
  - debian/patches/CVE-2009-4355.patch
* Dropped "Add support for lpia".
* Dropped "Disable SSLv2 during compile" as this had never actually
  disabled SSLv2.
* Don't disable CVE-2009-3555.patch for Maverick.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2458
2458
 
2459
2459
int ssl3_shutdown(SSL *s)
2460
2460
        {
 
2461
        int ret;
2461
2462
 
2462
2463
        /* Don't do anything much if we have not done the handshake or
2463
2464
         * we don't want to send messages :-) */
2475
2476
#endif
2476
2477
                /* our shutdown alert has been sent now, and if it still needs
2477
2478
                 * to be written, s->s3->alert_dispatch will be true */
 
2479
                if (s->s3->alert_dispatch)
 
2480
                        return(-1);     /* return WANT_WRITE */
2478
2481
                }
2479
2482
        else if (s->s3->alert_dispatch)
2480
2483
                {
2481
2484
                /* resend it if not sent */
2482
2485
#if 1
2483
 
                s->method->ssl_dispatch_alert(s);
 
2486
                ret=s->method->ssl_dispatch_alert(s);
 
2487
                if(ret == -1)
 
2488
                        {
 
2489
                        /* we only get to return -1 here the 2nd/Nth
 
2490
                         * invocation, we must  have already signalled
 
2491
                         * return 0 upon a previous invoation,
 
2492
                         * return WANT_WRITE */
 
2493
                        return(ret);
 
2494
                        }
2484
2495
#endif
2485
2496
                }
2486
2497
        else if (!(s->shutdown & SSL_RECEIVED_SHUTDOWN))
2487
2498
                {
2488
2499
                /* If we are waiting for a close from our peer, we are closed */
2489
2500
                s->method->ssl_read_bytes(s,0,NULL,0,0);
 
2501
                if(!(s->shutdown & SSL_RECEIVED_SHUTDOWN))
 
2502
                        {
 
2503
                        return(-1);     /* return WANT_READ */
 
2504
                        }
2490
2505
                }
2491
2506
 
2492
2507
        if ((s->shutdown == (SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN)) &&