summaryrefslogtreecommitdiffstats
path: root/ssl/s2_lib.c
AgeCommit message (Collapse)Author
2015-03-19Fix reachable assert in SSLv2 servers.Emilia Kasper
This assert is reachable for servers that support SSLv2 and export ciphers. Therefore, such servers can be DoSed by sending a specially crafted SSLv2 CLIENT-MASTER-KEY. Also fix s2_srvr.c to error out early if the key lengths are malformed. These lengths are sent unencrypted, so this does not introduce an oracle. CVE-2015-0293 This issue was discovered by Sean Burford (Google) and Emilia Käsper of the OpenSSL development team. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-22Run util/openssl-format-source -v -c .Matt Caswell
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-22Tweaks for comments due to indent's inability to handle themMatt Caswell
Reviewed-by: Tim Hudson <tjh@openssl.org>
2014-10-15Support TLS_FALLBACK_SCSV.Bodo Moeller
Reviewed-by: Rich Salz <rsalz@openssl.org>
2014-06-09Update strength_bits for 3DES.Dr. Stephen Henson
Fix strength_bits to 112 for 3DES. (cherry picked from commit 837c203719205ab19b5609b2df7151be8df05687)
2012-12-26Add ctrl and utility functions to retrieve raw cipher list sent by client inDr. Stephen Henson
client hello message. Previously this could only be retrieved on an initial connection and it was impossible to determine the cipher IDs of any uknown ciphersuites. (backport from HEAD)
2009-04-04Make no-ssl2 work including on Win32 builds.Dr. Stephen Henson
2008-12-29If we're going to return errors (no matter how stupid), then we shouldBen Laurie
test for them!
2008-10-22Create function of the form OBJ_bsearch_xxx() in bsearch typesafe macrosDr. Stephen Henson
with the appropriate parameters which calls OBJ_bsearch(). A compiler will typically inline this. This avoids the need for cmp_xxx variables and fixes unchecked const issues with CHECKED_PTR_OF()
2008-10-20Fix a shed load or warnings:Dr. Stephen Henson
Duplicate const. Use of ; outside function.
2008-10-12Type-checked (and modern C compliant) OBJ_bsearch.Ben Laurie
2007-02-19fix warnings/inconsistencies caused by the recent changes to theBodo Möller
ciphersuite selection code in HEAD Submitted by: Victor Duchovni
2007-02-17Reorganize the data used for SSL ciphersuite pattern matching.Bodo Möller
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.
2007-01-21Constify version strings is ssl lib.Dr. Stephen Henson
2005-11-15disable some invalid ciphersuitesBodo Möller
2005-08-27Fix warnings.Ben Laurie
2005-08-25Keep cipher lists sorted in the source instead of sorting them atNils Larsch
runtime, thus removing the need for a lock. Add a test to ssltest to verify that the cipher lists are sorted.
2005-08-08remove unused internal foo_base_method functionsNils Larsch
2005-08-05Initialize SSL_METHOD structures at compile time. This removes the needDr. Stephen Henson
for locking code. The CRYPTO_LOCK_SSL_METHOD lock is now no longer used.
2005-04-26Add DTLS support.Ben Laurie
2005-03-31Give everything prototypes (well, everything that's actually used).Ben Laurie
2005-03-30Constification.Ben Laurie
2004-04-19(oops) Apologies all, that last header-cleanup commit was from the wrongGeoff Thorpe
tree. This further reduces header interdependencies, and makes some associated cleanups.
2003-12-27Avoid including cryptlib.h, it's not really needed.Richard Levitte
Check if IDEA is being built or not. This is part of a large change submitted by Markus Friedl <markus@openbsd.org>
2003-10-29A general spring-cleaning (in autumn) to fix up signed/unsigned warnings.Geoff Thorpe
I have tried to convert 'len' type variable declarations to unsigned as a means to address these warnings when appropriate, but when in doubt I have used casts in the comparisons instead. The better solution (that would get us all lynched by API users) would be to go through and convert all the function prototypes and structure definitions to use unsigned variables except when signed is necessary. The proliferation of (signed) "int" for strictly non-negative uses is unfortunate.
2002-11-28Cleanse memory using the new OPENSSL_cleanse() function.Richard Levitte
I've covered all the memset()s I felt safe modifying, but may have missed some.
2002-11-13Security fixes brought forward from 0.9.7.Ben Laurie
2002-09-25really fix race conditionsBodo Möller
Submitted by: "Patrick McCormick" <patrick@tellme.com> PR: 262 PR: 291
2002-08-03oops -- must use EVP_MD_size, not EVP_MD_block_sizeBodo Möller
2002-08-02get rid of OpenSSLDieBodo Möller
2002-07-30OpenSSL Security Advisory [30 July 2002]Lutz Jänicke
Changes marked "(CHATS)" were sponsored by the Defense Advanced Research Projects Agency (DARPA) and Air Force Research Laboratory, Air Force Materiel Command, USAF, under agreement number F30602-01-2-0537.
2002-07-10Ciphers with NULL encryption were not properly handled because they wereLutz Jänicke
not covered by the strength bit mask. Submitted by: Reviewed by: PR: 130
2001-11-10Implement msg_callback for SSL 2.0.Bodo Möller
Important SSL 2.0 bugfixes (bugs found while implementing msg_callback).
2001-10-20New functions SSL[_CTX]_set_msg_callback().Bodo Möller
New macros SSL[_CTX]_set_msg_callback_arg(). Message callback imlementation for SSL 3.0/TLS 1.0 (no SSL 2.0 yet). New '-msg' option for 'openssl s_client' and 'openssl s_server' that enable a message callback that displays all protocol messages. In ssl3_get_client_hello (ssl/s3_srvr.c), generate a fatal alert if client_version is smaller than the protocol version in use. Also change ssl23_get_client_hello (ssl/s23_srvr.c) to select TLS 1.0 if the client demanded SSL 3.0 but only TLS 1.0 is enabled; then the client will at least see that alert. Fix SSL[_CTX]_ctrl prototype (void * instead of char * for generic pointer). Add/update some OpenSSL copyright notices.
2001-10-16Retain compatibility of EVP_DigestInit() and EVP_DigestFinal()Dr. Stephen Henson
with existing code. Modify library to use digest *_ex() functions.
2001-07-30Really add the EVP and all of the DES changes.Ben Laurie
2001-06-19Change all calls to low level digest routines in the library andDr. Stephen Henson
applications to use EVP. Add missing calls to HMAC_cleanup() and don't assume HMAC_CTX can be copied using memcpy(). Note: this is almost identical to the patch submitted to openssl-dev by Verdon Walker <VWalker@novell.com> except some redundant EVP_add_digest_()/EVP_cleanup() calls were removed and some changes made to avoid compiler warnings.
2001-02-20Use new-style system-id macros everywhere possible. I hope I haven'tRichard Levitte
missed any. This compiles and runs on Linux, and external applications have no problems with it. The definite test will be to build this on VMS.
2000-12-26Finish SSL_peek/SSL_pending fixes.Bodo Möller
2000-12-25Fix SSL_peek and SSL_pending.Bodo Möller
2000-12-18Import s2_pkt.c wbuf fixes from OpenSSL_0_9_6-stable branch.Bodo Möller
2000-11-28Comments on SSL_peek deficienciesBodo Möller
2000-06-21Fixes for Win32 build.Dr. Stephen Henson
This is mostly a work around for the old VC++ problem that it treats func() as func(void). Various prototypes had been added to 'compare' function pointers that triggered this. This could be fixed by removing the prototype, adding function pointer casts to every call or changing the passed function to use the expected arguments. I mostly did the latter. The mkdef.pl script was modified to remove the typesafe functions which no longer exist. Oh and some functions called OPENSSL_freeLibrary() were changed back to FreeLibrary(), wonder how that happened :-)
2000-06-01There have been a number of complaints from a number of sources that namesRichard Levitte
like Malloc, Realloc and especially Free conflict with already existing names on some operating systems or other packages. That is reason enough to change the names of the OpenSSL memory allocation macros to something that has a better chance of being unique, like prepending them with OPENSSL_. This change includes all the name changes needed throughout all C files.
2000-02-20Move the registration of callback functions to special functionsRichard Levitte
designed for that. This removes the potential error to mix data and function pointers. Please note that I'm a little unsure how incorrect calls to the old ctrl functions should be handled, in som cases. I currently return 0 and that's it, but it may be more correct to generate a genuine error in those cases.
2000-02-20Tolerate fragmentation and interleaving in the SSL 3/TLS record layer.Bodo Möller
2000-02-17Get rid of evil cast.Ben Laurie
2000-01-22Apply Lutz Behnke's 56 bit cipher patch with a fewDr. Stephen Henson
minor changes. Docs haven't been added at this stage. They are probably best included in the 'ciphers' program docs.
2000-01-16Add missing #ifndefs that caused missing symbols when building libsslUlf Möller
as a shared library without RSA. Use #ifndef NO_SSL2 instead of NO_RSA in ssl/s2*.c. Submitted by: Kris Kennaway <kris@hub.freebsd.org> Modified by Ulf Möller
2000-01-08Make NO_RSA compile with pedantic.Ben Laurie