summaryrefslogtreecommitdiff
path: root/src/lib/libssl/s23_srvr.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge the client/server version negotiation into the existing (currentlyjsing2017-01-261-466/+0
| | | | | | fixed version) client/server code. ok beck@
* Move options and mode from SSL_CTX and SSL to internal, since these can bejsing2017-01-231-3/+3
| | | | set and cleared via existing functions.
* Split most of SSL_METHOD out into an internal variant, which is opaque.jsing2017-01-231-2/+2
| | | | Discussed with beck@
* send state and rstate from ssl_st into internal. There are accessorsbeck2017-01-231-14/+14
| | | | | so these should not be diddled with directly ok jsing@
* Move a large part of ssl_st into internal, so we can see what squeals.beck2017-01-231-18/+18
| | | | ok jsing@
* move the callbacks from ssl_st to internalbeck2017-01-231-9/+9
| | | | ok jsing@
* Move callback function pointers and argument pointers from SSL_CTX tojsing2017-01-231-3/+3
| | | | | | internal. ok beck@
* Move the stats struct from SSL_CTX to internal.jsing2017-01-231-2/+2
| | | | ok beck@
* Move most of the SSL3_STATE fields to internal - the ones that remain arejsing2017-01-221-4/+4
| | | | | | known to be used by ports. ok beck@
* Pull out, rework and dedup the code that determines the highest sharedjsing2017-01-031-73/+25
| | | | | | version. ok beck@ doug@
* Mark a couple local functions as staticguenther2016-11-041-2/+2
| | | | ok jsing@ beck@
* Limit the support of the "backward compatible" ssl2 handshake to only bebeck2016-07-161-1/+9
| | | | | used if TLS 1.0 is enabled. Sugessted/discussed with jsing@ and bcook@. ok guenther@ sthen@
* Simplify ssl23_get_client_hello error handling.doug2015-10-251-26/+26
| | | | | | | | | | ssl23_get_client_hello sets type=1 on error and continues processing. It should return an error immediately to simplify things. This also allows us to start removing the last of SSL_OP_NO_SSL*. Added extra paranoia for s->version to make sure it is set properly. ok jsing@
* Rename functions that moved to t1_enc.c, with a tls1_ prefix instead of ajsing2015-09-111-3/+3
| | | | | | ssl3_ prefix. ok beck@
* Put the *server_method* data structures and functions in the same place.jsing2015-09-111-58/+1
| | | | | | | We can also now nuke ssl23_get_server_method() since it is the same as tls1_get_server_method(). ok miod@
* Now that SSLv3 is going away, TLS_* and SSLv23 are equivalent.doug2015-08-291-59/+2
| | | | | | Remove the TLS method data and tls_any_* functions. Point to SSLv23. ok jsing@
* Remove SSLv3 support from LibreSSL.doug2015-08-271-20/+5
| | | | | | | | | | This is the first wave of SSLv3 removal which removes the main SSLv3 functions. Future commits will remove the rest of the SSLv3 support. Discussed the plan at c2k15. Input from jsing@, beck@, miod@, bcook@, sthen@, naddy@, and deraadt@. ok jsing@, beck@
* Fix symbol collision with libtls.doug2015-07-191-6/+6
| | | | | | Pointed out by guenther. ok guenther@
* Add TLS_method, TLS_client_method and TLS_server_method.doug2015-07-191-1/+64
| | | | | | | | | | | | | | | | Use these instead of SSLv23_*method when you want to make sure TLS is used. By default, we disable SSLv3 but it's still possible for the user to re-enable it. TLS_*method does not allow SSLv3. Both BoringSSL and (next version of) OpenSSL have these methods. However, they have changed the implementation significantly. We will as well, but not right now. Riding the libssl major bump. ok miod@ bcook@
* Factor out the init_buf initialisation code, rather than duplicating itjsing2015-03-271-14/+6
| | | | | | in four different places. ok doug@ guenther@
* Bring back the horrible API that is get_cipher_by_char/put_cipher_by_char.jsing2015-02-061-1/+3
| | | | | | | | This API was intended to be an internal only, however like many things in OpenSSL, it is exposed externally and parts of the software ecosystem are now using it since there is no real alternative within the public API. ok doug@, tedu@ and reluctantly miod@
* ssl3_init_finished_mac() calls BIO_new() which can fail since it in turnjsing2014-12-101-2/+5
| | | | | | | | calls malloc(). Instead of silently continuing on failure, check the return value of BIO_new() and propagate failure back to the caller for appropriate handling. ok bcook@
* Sort and group includes.jsing2014-11-161-2/+4
|
* Use arc4random_buf() instead of RAND_bytes() or RAND_pseudo_bytes().jsing2014-10-181-2/+1
| | | | | | | | | | | | | | | arc4random provides high quality pseudo-random numbers, hence there is no need to differentiate between "strong" and "pseudo". Furthermore, the arc4random_buf() function is guaranteed to succeed, which avoids the need to check for and handle failure, simplifying the code. It is worth noting that a number of the replaced RAND_bytes() and RAND_pseudo_bytes() calls were missing return value checks and these functions can fail for a number of reasons (at least in OpenSSL - thankfully they were converted to wrappers around arc4random_buf() some time ago in LibreSSL). ok beck@ deraadt@ miod@
* Since we no longer need to support SSLv2-style cipher lists, startjsing2014-08-101-3/+1
| | | | | | | | | | unravelling the maze of function pointers and callbacks by directly calling ssl3_{get,put}_cipher_by_char() and removing the ssl_{get,put}_cipher_by_char macros. Prompted by similar changes in boringssl. ok guenther.
* When you expect a function to return a particular value, don't put a commentmiod2014-08-071-6/+3
| | | | | | | | | | | saying that you expect it to return that value and compare it against zero because it is supposedly faster, for this leads to bugs (especially given the high rate of sloppy cut'n'paste within ssl3 and dtls1 routines in this library). Instead, compare for the exact value it ought to return upon success. ok deraadt@
* Fix CVE-2014-3511; TLS downgrade, verbatim diffderaadt2014-08-071-5/+27
| | | | | https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=280b1f1ad12131defcd986676a8fc9717aaa601b ok guenther miod
* No need to keep ssl23_foo() flavours mapping to ssl3_foo().miod2014-07-111-4/+4
| | | | ok tedu@
* decompress libssl. ok beck jsingtedu2014-07-101-2/+2
|
* fix the identical leak in three different files.tedu2014-06-301-2/+3
| | | | reported by Brent Cook, original diff by logan
* tags as requested by miod and teduderaadt2014-06-121-1/+1
|
* remove some #if 0 code. we don't need any more reminders that we're usingtedu2014-05-301-11/+0
| | | | a not quite appropriate data structure. ok jsing
* Code using malloc() in ssl23_get_client_hello() got removed 12 years ago,miod2014-05-241-32/+27
| | | | | it's time to remove the test for a possible need to free(). ok jsing@
* DeIMPLEMENT libssl. Expand the IMPLEMENT_* macros since it is far morejsing2014-05-241-3/+39
| | | | | | | | readable and one less layer of abstraction. Use C99 initialisers for clarity, grepability and to protect from future field reordering/removal. ok miod@ (tedu@ also thought it was a wonderful idea, beck@ also agreed, but ran away squealing since it reminded him of the VOP layer...)
* More KNF.jsing2014-04-191-13/+13
|
* More KNF and style consistency tweaksguenther2014-04-191-5/+4
|
* whack a bunch of disabled code. ok beck lteotedu2014-04-171-5/+0
|
* Change library to use intrinsic memory allocation functions instead ofbeck2014-04-171-2/+2
| | | | | | | | OPENSSL_foo wrappers. This changes: OPENSSL_malloc->malloc OPENSSL_free->free OPENSSL_relloc->realloc OPENSSL_freeFunc->free
* Kill the bogus "send an SSLv3/TLS hello in SSLv2 format" crap fromguenther2014-04-161-7/+12
| | | | | | | | | the SSLv23_* client code. The server continues to accept it. It also kills the bits for SSL2 SESSIONs; even when the server gets an SSLv2-style compat handshake, the session that it creates has the correct version internally. ok tedu@ beck@
* remove ssl2 support even more completely.tedu2014-04-151-44/+0
| | | | | | in the process, always include ssl3 and tls1, we don't need config options for them. when the time comes to expire ssl3, it will be with an ax. checked by miod
* remove FIPS mode support. people who require FIPS can buy something thattedu2014-04-151-11/+0
| | | | | meets their needs, but dumping it in here only penalizes the rest of us. ok miod
* So the OpenSSL codebase does "get the time, add it as a random seed"deraadt2014-04-141-2/+0
| | | | | | | in a bunch of places inside the TLS engine, to try to keep entropy high. I wonder if their moto is "If you can't solve a problem, at least try to do it badly". ok miod
* First pass at applying KNF to the OpenSSL code, which almost makes itjsing2014-04-141-304/+260
| | | | | readable. This pass is whitespace only and can readily be verified using tr and md5.
* Do not include "e_os.h" anymore. Simply pull in the necessary headers.mpi2014-04-131-1/+1
| | | | ok miod@, deraadt@
* resolve conflictsdjm2012-10-131-4/+48
|
* resolve conflicts, fix local changesdjm2010-10-011-14/+27
|
* update to openssl-0.9.8i; tested by several, especially krw@djm2009-01-051-0/+9
|
* resolve conflictsdjm2008-09-061-32/+4
|
* resolve conflictsdjm2006-06-271-4/+1
|
* fix potential SSL 2.0 rollback ↵markus2005-10-111-3/+1
| | | | | | (http://www.openssl.org//news/secadv_20051011.txt) from http://www.openssl.org/news/patch-CAN-2005-2969.txt