aboutsummaryrefslogtreecommitdiff
path: root/ssl/s3_clnt.c
AgeCommit message (Collapse)AuthorFilesLines
2011-02-16Include openssl/crypto.h first in several other files so FIPS renamingDr. Stephen Henson1-0/+1
is picked up.
2011-02-03CVE-2010-4180 fix (from OpenSSL_1_0_0-stable)Bodo Möller1-0/+3
2010-10-10PR: 2314Dr. Stephen Henson1-0/+1
Submitted by: Mounir IDRASSI <mounir.idrassi@idrix.net> Reviewed by: steve Fix for double free bug in ssl/s3_clnt.c CVE-2010-2939
2010-09-05Fixes to NPN from Adam Langley.Ben Laurie1-3/+3
2010-08-26PR: 1833Dr. Stephen Henson1-1/+2
Submitted By: Robin Seggelmann <seggelmann@fh-muenster.de> Support for abbreviated handshakes when renegotiating.
2010-07-28Add Next Protocol Negotiation.Ben Laurie1-0/+43
2010-02-28algorithms field has changed in 1.0.0 and later: updateDr. Stephen Henson1-1/+1
2010-02-27Add Kerberos fix which was in 0.9.8-stable but never committed to HEAD andDr. Stephen Henson1-8/+10
1.0.0. Original fix was on 2007-Mar-09 and had the log message: "Fix kerberos ciphersuite bugs introduced with PR:1336."
2010-02-02PR: 2161Dr. Stephen Henson1-2/+0
Submitted by: Doug Goldstein <cardoe@gentoo.org>, Steve. Make no-dsa, no-ecdsa and no-rsa compile again.
2010-01-26PR: 1949Dr. Stephen Henson1-9/+5
Submitted by: steve@openssl.org More robust fix and workaround for PR#1949. Don't try to work out if there is any write pending data as this can be unreliable: always flush.
2010-01-06Missing commit from change ofr compress_meth to unsignedDr. Stephen Henson1-1/+1
2010-01-01Client side compression algorithm sanity checks: ensure old compressionDr. Stephen Henson1-1/+22
algorithm matches current and give error if compression is disabled and server requests it (shouldn't happen unless server is broken).
2009-12-08Add support for magic cipher suite value (MCSV). Make secure renegotiationDr. Stephen Henson1-1/+1
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-12-08PR: 2121Dr. Stephen Henson1-16/+3
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de> Add extension support to DTLS code mainly using existing implementation for TLS.
2009-12-01PR: 2115Dr. Stephen Henson1-1/+12
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de> Approved by: steve@openssl.org Add Renegotiation extension to DTLS, fix DTLS ClientHello processing bug.
2009-10-30Generate stateless session ID just after the ticket is received insteadDr. Stephen Henson1-1/+22
of when a session is loaded. This will mean that applications that just hold onto SSL_SESSION structures and never call d2i_SSL_SESSION() will still work.
2009-10-28Don't attempt session resumption if no ticket is present and sessionDr. Stephen Henson1-3/+9
ID length is zero.
2009-10-28oops!Dr. Stephen Henson1-9/+3
2009-10-28PR: 2085Dr. Stephen Henson1-3/+9
Submitted by: Mike Frysinger <vapier@gentoo.org> Approved by: steve@openssl.org Change domd test to match 1.0.0+ version: check $MAKEDEPEND ends in "gcc" to support cross compilers.
2009-09-13Submitted by: Julia Lawall <julia@diku.dk>Dr. Stephen Henson1-1/+1
The functions ENGINE_ctrl(), OPENSSL_isservice(), EVP_PKEY_sign(), CMS_get1_RecipientRequest() and RAND_bytes() can return <=0 on error fix so the return code is checked correctly.
2009-06-16Submitted by: Artem Chuprina <ran@cryptocom.ru>Dr. Stephen Henson1-13/+30
Reviewed by: steve@openssl.org Various GOST ciphersuite and ENGINE fixes. Including... Allow EVP_PKEY_set_derive_peerkey() in encryption operations. New flag when certificate verify should be omitted in client key exchange.
2009-04-23Merge from 1.0.0-stable branch.Dr. Stephen Henson1-2/+2
2009-04-20Updates from 1.0.0-stable branch.Dr. Stephen Henson1-1/+1
2009-02-14PR: 1835Dr. Stephen Henson1-1/+1
Submitted by: Damien Miller <djm@mindrot.org> Approved by: steve@openssl.org Fix various typos.
2009-01-07Updatde from stable branch.Dr. Stephen Henson1-3/+3
2008-12-27Handle the unlikely event that BIO_get_mem_data() returns -ve.Ben Laurie1-1/+2
2008-11-15PR: 1574Dr. Stephen Henson1-5/+19
Submitted by: Jouni Malinen <j@w1.fi> Approved by: steve@openssl.org Ticket override support for EAP-FAST.
2008-11-12Revert the size_t modifications from HEAD that had led to moreGeoff Thorpe1-1/+1
knock-on work than expected - they've been extracted into a patch series that can be completed elsewhere, or in a different branch, before merging back to HEAD.
2008-11-10Make -DKSSL_DEBUG work again.Dr. Stephen Henson1-1/+1
2008-10-12Type-checked (and modern C compliant) OBJ_bsearch.Ben Laurie1-1/+1
2008-06-01Allow ENGINE client cert callback to specify a set of other certs, forDr. Stephen Henson1-1/+1
the rest of the certificate chain. Currently unused.
2008-06-01Add client cert engine to SSL routines.Dr. Stephen Henson1-2/+22
2008-05-28From HEAD:Bodo Möller1-0/+7
Fix flaw if 'Server Key exchange message' is omitted from a TLS handshake which could lead to a cilent crash as found using the Codenomicon TLS test suite (CVE-2008-1672) Reviewed by: openssl-security@openssl.org Obtained from: mark@awe.com
2008-04-29Update from stable branch.Dr. Stephen Henson1-1/+5
2008-01-05Fix unsigned/signed warnings in ssl.Andy Polyakov1-2/+1
2007-12-14Initialize sigsize.Dr. Stephen Henson1-1/+1
2007-11-03Fix from stable branch.Dr. Stephen Henson1-1/+4
2007-10-261. Changes for s_client.c to make it return non-zero exit code in caseDr. Stephen Henson1-7/+116
of handshake failure 2. Changes to x509_certificate_type function (crypto/x509/x509type.c) to make it recognize GOST certificates as EVP_PKT_SIGN|EVP_PKT_EXCH (required for s3_srvr to accept GOST client certificates). 3. Changes to EVP - adding of function EVP_PKEY_CTX_get0_peerkey - Make function EVP_PKEY_derive_set_peerkey work for context with ENCRYPT operation, because we use peerkey field in the context to pass non-ephemeral secret key to GOST encrypt operation. - added EVP_PKEY_CTRL_SET_IV control command. It is really GOST-specific, but it is used in SSL code, so it has to go in some header file, available during libssl compilation 4. Fix to HMAC to avoid call of OPENSSL_cleanse on undefined data 5. Include des.h if KSSL_DEBUG is defined into some libssl files, to make debugging output which depends on constants defined there, work and other KSSL_DEBUG output fixes 6. Declaration of real GOST ciphersuites, two authentication methods SSL_aGOST94 and SSL_aGOST2001 and one key exchange method SSL_kGOST 7. Implementation of these methods. 8. Support for sending unsolicited serverhello extension if GOST ciphersuite is selected. It is require for interoperability with CryptoPro CSP 3.0 and 3.6 and controlled by SSL_OP_CRYPTOPRO_TLSEXT_BUG constant. This constant is added to SSL_OP_ALL, because it does nothing, if non-GOST ciphersuite is selected, and all implementation of GOST include compatibility with CryptoPro. 9. Support for CertificateVerify message without length field. It is another CryptoPro bug, but support is made unconditional, because it does no harm for draft-conforming implementation. 10. In tls1_mac extra copy of stream mac context is no more done. When I've written currently commited code I haven't read EVP_DigestSignFinal manual carefully enough and haven't noticed that it does an internal digest ctx copying. This implementation was tested against 1. CryptoPro CSP 3.6 client and server 2. Cryptopro CSP 3.0 server
2007-10-14Make ssl compile [from 098-stable, bug is masked by default].Andy Polyakov1-0/+1
2007-09-26Support for certificate status TLS extension.Dr. Stephen Henson1-0/+90
2007-09-21Implement the Opaque PRF Input TLS extensionBodo Möller1-2/+5
(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 Henson1-2/+5
Submitted by: Victor B. Wagner <vitus@cryptocom.ru>
2007-08-31Check return code when attempting to receive new session ticket message.Dr. Stephen Henson1-0/+1
2007-08-11RFC4507 (including RFC4507bis) TLS stateless session resumption supportDr. Stephen Henson1-1/+129
for OpenSSL.
2007-04-24fix function codes for errorBodo Möller1-1/+1
2007-02-19fix warnings/inconsistencies caused by the recent changes to theBodo Möller1-1/+1
ciphersuite selection code in HEAD Submitted by: Victor Duchovni
2007-02-17Reorganize the data used for SSL ciphersuite pattern matching.Bodo Möller1-55/+55
This change resolves a number of problems and obviates multiple kludges. A new feature is that you can now say "AES256" or "AES128" (not just "AES", which enables both). In some cases the ciphersuite list generated from a given string is affected by this change. I hope this is just in those cases where the previous behaviour did not make sense.
2006-09-28Fixes for the following claims:Richard Levitte1-2/+4
1) Certificate Message with no certs OpenSSL implementation sends the Certificate message during SSL handshake, however as per the specification, these have been omitted. -- RFC 2712 -- CertificateRequest, and the ServerKeyExchange shown in Figure 1 will be omitted since authentication and the establishment of a master secret will be done using the client's Kerberos credentials for the TLS server. The client's certificate will be omitted for the same reason. -- RFC 2712 -- 3) Pre-master secret Protocol version The pre-master secret generated by OpenSSL does not have the correct client version. RFC 2712 says, if the Kerberos option is selected, the pre-master secret structure is the same as that used in the RSA case. TLS specification defines pre-master secret as: struct { ProtocolVersion client_version; opaque random[46]; } PreMasterSecret; where client_version is the latest protocol version supported by the client The pre-master secret generated by OpenSSL does not have the correct client version. The implementation does not update the first 2 bytes of random secret for Kerberos Cipher suites. At the server-end, the client version from the pre-master secret is not validated. PR: 1336
2006-06-15Error messages for client ECC cert verification.Bodo Möller1-5/+1
Also, change the default ciphersuite to give some prefererence to ciphersuites with forwared secrecy (rather than using a random order).
2006-06-14Ciphersuite string bugfixes, and ECC-related (re-)definitions.Bodo Möller1-9/+3