summaryrefslogtreecommitdiffstats
path: root/ssl/ssl3.h
AgeCommit message (Collapse)Author
2014-11-20Ensure SSL3_FLAGS_CCS_OK (or d1->change_cipher_spec_ok for DTLS) is resetEmilia Kasper
once the ChangeCipherSpec message is received. Previously, the server would set the flag once at SSL3_ST_SR_CERT_VRFY and again at SSL3_ST_SR_FINISHED. This would allow a second CCS to arrive and would corrupt the server state. (Because the first CCS would latch the correct keys and subsequent CCS messages would have to be encrypted, a MitM attacker cannot exploit this, though.) Thanks to Joeri de Ruiter for reporting this issue. Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit e94a6c0ede623960728415b68650a595e48f5a43) Conflicts: CHANGES ssl/s3_srvr.c
2014-10-15Support TLS_FALLBACK_SCSV.Bodo Moeller
Reviewed-by: Rich Salz <rsalz@openssl.org>
2014-06-05Fix for CVE-2014-0224Dr. Stephen Henson
Only accept change cipher spec when it is expected instead of at any time. This prevents premature setting of session keys before the master secret is determined which an attacker could use as a MITM attack. Thanks to KIKUCHI Masashi (Lepidum Co. Ltd.) for reporting this issue and providing the initial fix this patch is based on.
2013-09-16Tidy up comments.Rob Stradling
2013-09-16Don't prefer ECDHE-ECDSA ciphers when the client appears to be Safari on OS X.Rob Stradling
OS X 10.8..10.8.3 has broken support for ECDHE-ECDSA ciphers.
2013-02-01ssl/*: remove SSL3_RECORD->orig_len to restore binary compatibility.Andy Polyakov
2013-01-28Make CBC decoding constant time.Ben Laurie
This patch makes the decoding of SSLv3 and TLS CBC records constant time. Without this, a timing side-channel can be used to build a padding oracle and mount Vaudenay's attack. This patch also disables the stitched AESNI+SHA mode pending a similar fix to that code. In order to be easy to backport, this change is implemented in ssl/, rather than as a generic AEAD mode. In the future this should be changed around so that HMAC isn't in ssl/, but crypto/ as FIPS expects.
2012-06-08Reduce version skew.Ben Laurie
2012-02-22ABI compliance fixes.Dr. Stephen Henson
Move new structure fields to end of structures. Import library codes from 1.0.0 and recreate new ones.
2012-01-04Only allow one SGC handshake restart for SSL/TLS. (CVE-2011-4619)Dr. Stephen Henson
2011-12-31PR: 2658Dr. Stephen Henson
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de> Reviewed by: steve Support for TLS/DTLS heartbeats.
2011-12-25PR: 2535Dr. Stephen Henson
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de> Reviewed by: steve Add SCTP support for DTLS (RFC 6083).
2011-11-25PR: 1794Dr. Stephen Henson
Submitted by: Peter Sylvester <peter.sylvester@edelweb.fr> Reviewed by: steve Make SRP conformant to rfc 5054. Changes are: - removal of the addition state after client hello - removal of all pre-rfc srp alert ids - sending a fatal alert when there is no srp extension but when the server wants SRP - removal of unnecessary code in the client.
2011-11-13Add Next Protocol Negotiation.Ben Laurie
2011-05-20Add server client certificate support for TLS v1.2 . This is more complexDr. Stephen Henson
than client side as we need to keep the handshake record cache frozen when it contains all the records need to process the certificate verify message. (backport from HEAD).
2011-05-11Backport TLS v1.2 support from HEAD.Dr. Stephen Henson
This includes TLS v1.2 server and client support but at present client certificate support is not implemented.
2011-05-11Initial "opaque SSL" framework. If an application defines OPENSSL_NO_SSL_INTERNDr. Stephen Henson
all ssl related structures are opaque and internals cannot be directly accessed. Many applications will need some modification to support this and most likely some additional functions added to OpenSSL. The advantage of this option is that any application supporting it will still be binary compatible if SSL structures change. (backport from HEAD).
2011-03-16Add SRP.Ben Laurie
2010-01-06Updates to conform with draft-ietf-tls-renegotiation-03.txt:Dr. Stephen Henson
1. Add provisional SCSV value. 2. Don't send SCSV and RI at same time. 3. Fatal error is SCSV received when renegotiating.
2009-12-27Update RI to match latest spec.Dr. Stephen Henson
MCSV is now called SCSV. Don't send SCSV if renegotiating. Also note if RI is empty in debug messages.
2009-12-16New option to enable/disable connection to unpatched serversDr. Stephen Henson
2009-12-08Add support for magic cipher suite value (MCSV). Make secure renegotiationDr. Stephen Henson
work in SSLv3: initial handshake has no extensions but includes MCSV, if server indicates RI support then renegotiation handshakes include RI. NB: current MCSV value is bogus for testing only, will be updated when we have an official value. Change mismatch alerts to handshake_failure as required by spec. Also have some debugging fprintfs so we can clearly see what is going on if OPENSSL_RI_DEBUG is set.
2009-11-09First cut of renegotiation extension. (port to 1.0.0-stable)Dr. Stephen Henson
2009-06-16Updates from HEAD.Dr. Stephen Henson
2009-05-28Submitted by: Artem Chuprina <ran@cryptocom.ru>Dr. Stephen Henson
Reviewed by: steve@openssl.org Fix to match latest GOST in TLS draft.
2008-10-12Type-checked (and modern C compliant) OBJ_bsearch.Ben Laurie
2007-09-26Support for certificate status TLS extension.Dr. Stephen Henson
2007-09-23Use accept flag for new session ticket write.Dr. Stephen Henson
2007-09-21Implement the Opaque PRF Input TLS extensionBodo Möller
(draft-rescorla-tls-opaque-prf-input-00.txt), and do some cleanups and bugfixes on the way. In particular, this fixes the buffer bounds checks in ssl_add_clienthello_tlsext() and in ssl_add_serverhello_tlsext(). Note that the opaque PRF Input TLS extension is not compiled by default; see CHANGES.
2007-08-31Update ssl code to support digests other than MD5+SHA1 in handshake.Dr. Stephen Henson
Submitted by: Victor B. Wagner <vitus@cryptocom.ru>
2007-08-11RFC4507 (including RFC4507bis) TLS stateless session resumption supportDr. Stephen Henson
for OpenSSL.
2007-06-04Update ssl library to support EVP_PKEY MAC API. Include generic MAC support.Dr. Stephen Henson
2006-10-20Align data payload for better performance.Andy Polyakov
2006-06-14Ciphersuite string bugfixes, and ECC-related (re-)definitions.Bodo Möller
2005-12-18Keep disclaiming 16-bit platform support. For now remove WIN16 referencesAndy Polyakov
from .h files...
2005-10-08New option SSL_OP_NO_COMP to disable compression. New ctrls to setDr. Stephen Henson
maximum send fragment size. Allocate I/O buffers accordingly.
2005-09-30Make OPENSSL_NO_COMP compile again.Dr. Stephen Henson
2005-06-07"Liberate" dtls from BN dependency. Fix bug in replay/update.Andy Polyakov
2005-05-30pqueue and dtls uses 64-bit values. Unfortunately, OpenSSL doesn'tRichard Levitte
have a uniform representation for those over all architectures, so a little bit of hackery is needed. Contributed by nagendra modadugu <nagendra@cs.stanford.edu>
2005-04-27Lots of Win32 fixes for DTLS.Dr. Stephen Henson
1. "unsigned long long" isn't portable changed: to BN_ULLONG. 2. The LL prefix isn't allowed in VC++ but it isn't needed where it is used. 2. Avoid lots of compiler warnings about signed/unsigned mismatches. 3. Include new library directory pqueue in mk1mf build system. 4. Update symbols.
2005-04-26remove some functions from exported headersBodo Möller
2005-04-26Add DTLS support.Ben Laurie
2002-11-26Small bugfixes to the KSSL implementation.Richard Levitte
PR: 349
2002-10-15Typos.Richard Levitte
PR: 189
2002-10-15Typos.Richard Levitte
PR: 189
2002-10-10TypoRichard Levitte
2002-10-10RFC 2712 redefines the codes for use of Kerberos 5 in SSL/TLS.Richard Levitte
PR: 189
2002-08-09ECC ciphersuite supportBodo Möller
Submitted by: Douglas Stebila <douglas.stebila@sun.com> (Authors: Vipul Gupta and Sumit Gupta, Sun Microsystems Laboratories)
2002-04-13Implement known-IV countermeasure.Bodo Möller
Fix length checks in ssl3_get_client_hello(). Use s->s3->in_read_app_data differently to fix ssl3_read_internal().
2001-02-19Make all configuration macros available for application by makingRichard Levitte
sure they are available in opensslconf.h, by giving them names starting with "OPENSSL_" to avoid conflicts with other packages and by making sure e_os2.h will cover all platform-specific cases together with opensslconf.h. I've checked fairly well that nothing breaks with this (apart from external software that will adapt if they have used something like NO_KRB5), but I can't guarantee it completely, so a review of this change would be a good thing.