Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | split the tls_init(3) that had grown fat to allow healthy future growth; | schwarze | 2017-01-25 | 15 | -888/+1474 | |
| | | | | suggested by jsing@; "i would just chuck it in" jmc@ | |||||
* | document BN_asc2bn(3); | schwarze | 2017-01-25 | 1 | -3/+27 | |
| | | | | jsing@ confirmed that it is a public function worth documenting | |||||
* | Limit enabled version range by the versions configured on the SSL_CTX/SSL, | jsing | 2017-01-25 | 3 | -23/+84 | |
| | | | | | | | provide an ssl_supported_versions_range() function which also limits the versions to those supported by the current method. ok beck@ | |||||
* | Change the SSL_IS_DTLS() macro to check the version, rather than using a | jsing | 2017-01-25 | 2 | -7/+4 | |
| | | | | | | | flag in the encryption methods. We can do this since there is currently only one DTLS version. This makes upcoming changes easier. ok beck@ | |||||
* | Construct a BN_gcd_nonct, based on BN_mod_inverse_no_branch, as suggested | beck | 2017-01-25 | 6 | -10/+170 | |
| | | | | | | | | | | | by Alejandro Cabrera <aldaya@gmail.com> to avoid the possibility of a sidechannel timing attack during RSA private key generation. Modify BN_gcd to become not visible under LIBRESSL_INTERNAL and force the use of the _ct or _nonct versions of the function only within the library. ok jsing@ | |||||
* | Provide ssl3_packet_read() and ssl3_packet_extend() functions that improve | jsing | 2017-01-25 | 3 | -35/+59 | |
| | | | | | | | the awkward API provided by ssl3_read_n(). Call these when we need to read or extend a packet. ok beck@ | |||||
* | Provide defines for SSL_CTRL_SET_CURVES/SSL_CTRL_SET_CURVES_LIST for things | jsing | 2017-01-25 | 1 | -1/+15 | |
| | | | | | | | | that are conditioning on these. From BoringSSL. ok beck@ | |||||
* | BUF_MEM_free(), X509_STORE_free() and X509_VERIFY_PARAM_free() all check | jsing | 2017-01-24 | 2 | -18/+10 | |
| | | | | for NULL, as does lh_free() - do not do the same from the caller. | |||||
* | sk_free() checks for NULL so do not bother doing it from the callers. | jsing | 2017-01-24 | 4 | -10/+9 | |
| | ||||||
* | sk_pop_free() checks for NULL so do not bother doing it from the callers. | jsing | 2017-01-24 | 7 | -50/+31 | |
| | ||||||
* | Within libssl a SSL_CTX * is referred to as a ctx - fix this for | jsing | 2017-01-24 | 1 | -29/+29 | |
| | | | | SSL_CTX_free(). | |||||
* | in resolver(3), document that _EDNS0 and _DNSSEC are no ops; | jmc | 2017-01-24 | 1 | -6/+17 | |
| | | | | | | | diff from kirill miazine while here, bump all the no op texts to one standard blurb; help/ok jca | |||||
* | #if 0 the ecformats_list and eccurves_list - these are currently unused but | jsing | 2017-01-24 | 1 | -2/+5 | |
| | | | | will be revisited at some point in the near future. | |||||
* | Remove unused cert variable. | jsing | 2017-01-24 | 1 | -3/+1 | |
| | | | | Found by bcook@ | |||||
* | Bump libssl and libtls minors due to symbol additions. | jsing | 2017-01-24 | 2 | -2/+2 | |
| | ||||||
* | Add support for setting the supported EC curves via | jsing | 2017-01-24 | 7 | -26/+197 | |
| | | | | | | | | | | | | | SSL{_CTX}_set1_groups{_list}() - also provide defines for the previous SSL{_CTX}_set1_curves{_list} names. This also changes the default list of EC curves to be X25519, P-256 and P-384. If you want others (such a brainpool) you need to configure this yourself. Inspired by parts of BoringSSL and OpenSSL. ok beck@ | |||||
* | Correct bounds checks used when generating the EC curves extension. | jsing | 2017-01-24 | 1 | -3/+3 | |
| | | | | ok beck@ | |||||
* | accross -> across; | jmc | 2017-01-24 | 1 | -2/+2 | |
| | ||||||
* | Fix typo in brainpool curve name within a comment. | jsing | 2017-01-24 | 1 | -2/+2 | |
| | ||||||
* | There is no point returning then breaking... | jsing | 2017-01-24 | 1 | -2/+1 | |
| | ||||||
* | unifdef OPENSSL_NO_BIO - we do not support this in any form. | jsing | 2017-01-24 | 1 | -15/+1 | |
| | | | | ok beck@ | |||||
* | Introduce ticket support. To enable them it is enough to set a positive | claudio | 2017-01-24 | 6 | -14/+251 | |
| | | | | | | | | | | | | | | | | | | | | lifetime with tls_config_set_session_lifetime(). This enables tickets and uses an internal automatic rekeying mode for the ticket keys. If multiple processes are involved the following functions can be used to make tickets work accross all instances: - tls_config_set_session_id() sets the session identifier - tls_config_add_ticket_key() adds an encryption and authentication key For now only the last 4 keys added will be used (unless they are too old). If tls_config_add_ticket_key() is used the caller must ensure to add new keys regularly. It is best to do this 4 times per session lifetime (which is also the ticket key lifetime). Since tickets break PFS it is best to minimize the session lifetime according to needs. With a lot of help, input and OK beck@, jsing@ | |||||
* | ssl_cert_free() checks for NULL itself. | jsing | 2017-01-24 | 1 | -10/+5 | |
| | ||||||
* | Remove a "free up if allocated" comment that exists before code that frees | jsing | 2017-01-24 | 1 | -2/+1 | |
| | | | | | | things if they are allocated. ok captainobvious@ | |||||
* | sk_SSL_CIPHER_free() checks for NULL so do not bother doing the same from | jsing | 2017-01-24 | 4 | -27/+16 | |
| | | | | the callers. | |||||
* | ssl_sess_cert_free() checks for NULL, so do not bother doing it at the | jsing | 2017-01-24 | 2 | -6/+8 | |
| | | | | call sites. | |||||
* | There is no point in zeroing fields that exist within a struct that is | jsing | 2017-01-24 | 1 | -3/+1 | |
| | | | | about to be explicit_bzero'd and freed. | |||||
* | Add missing documentation for tls_config_set_verify_depth | claudio | 2017-01-24 | 1 | -1/+5 | |
| | | | | Done together with jsing@ | |||||
* | Shuffle the deck chairs to bring them back in order. | claudio | 2017-01-24 | 1 | -9/+9 | |
| | ||||||
* | tls_config_add_keypair_mem is the function to add additional keypairs and | claudio | 2017-01-24 | 1 | -5/+5 | |
| | | | | | | ocsp_staple functions set the OCSP response they don't add them (which implies you can call them multiple times). Discussed with jsing@ beck@ | |||||
* | move default_passwd_cb and default_passwd_cb_userdata back into | beck | 2017-01-23 | 4 | -30/+35 | |
| | | | | | | | the ssl_ctx from internal - these are used directly by python and openvpn and a few other things - we have the set accessors but the get accessors were added in 1.1 and these roll their own caveat OPENSSL_VERSION chickenpluckery | |||||
* | Move options and mode from SSL_CTX and SSL to internal, since these can be | jsing | 2017-01-23 | 12 | -66/+70 | |
| | | | | set and cleared via existing functions. | |||||
* | Split most of SSL_METHOD out into an internal variant, which is opaque. | jsing | 2017-01-23 | 23 | -303/+378 | |
| | | | | Discussed with beck@ | |||||
* | Remove ssl_ctrl, ssl_ctx_ctrl, ssl_callback_ctrl and ssl_ctx_callback_ctrl | jsing | 2017-01-23 | 8 | -76/+14 | |
| | | | | | | | from SSL_METHOD, replacing usage with direct calls to the appropriate functions. ok beck@ | |||||
* | send state and rstate from ssl_st into internal. There are accessors | beck | 2017-01-23 | 16 | -295/+296 | |
| | | | | | so these should not be diddled with directly ok jsing@ | |||||
* | move back read_hash and enc_read_ctx into ssl_st. wpa_supplicant and | beck | 2017-01-23 | 8 | -52/+57 | |
| | | | | other perversions touches them sickly and unnaturally. | |||||
* | Move a large part of ssl_st into internal, so we can see what squeals. | beck | 2017-01-23 | 22 | -888/+892 | |
| | | | | ok jsing@ | |||||
* | Move ex_data, next and prev from SSL_SESSION to internal. | jsing | 2017-01-23 | 3 | -31/+32 | |
| | | | | ok beck@ | |||||
* | Move most of the fields in SSL_CTX to internal - the ones that remain are | jsing | 2017-01-23 | 11 | -202/+209 | |
| | | | | | | known to be in use. ok beck@ | |||||
* | move the callbacks from ssl_st to internal | beck | 2017-01-23 | 19 | -230/+237 | |
| | | | | ok jsing@ | |||||
* | Move callback function pointers and argument pointers from SSL_CTX to | jsing | 2017-01-23 | 16 | -200/+210 | |
| | | | | | | internal. ok beck@ | |||||
* | Move not_resumable and sess_cert from SSL_SESSION to internal. | jsing | 2017-01-23 | 7 | -47/+50 | |
| | | | | ok beck@ | |||||
* | Remove heartbeat related fields from the SSL_CTX, which are unused | jsing | 2017-01-23 | 1 | -9/+1 | |
| | | | | (thankfully). | |||||
* | Move the stats struct from SSL_CTX to internal. | jsing | 2017-01-23 | 10 | -65/+64 | |
| | | | | ok beck@ | |||||
* | Move most of the SSL3_STATE fields to internal - the ones that remain are | jsing | 2017-01-22 | 18 | -681/+690 | |
| | | | | | | known to be used by ports. ok beck@ | |||||
* | Disable session cache and tickets by default. | claudio | 2017-01-22 | 1 | -1/+5 | |
| | | | | OK beck@ jsing@ | |||||
* | Move most of DTLS1_STATE to internal. | beck | 2017-01-22 | 11 | -273/+272 | |
| | | | | ok jsing@ | |||||
* | Move ALPN and NPN fields from SSL/SSL_CTX to internal. | jsing | 2017-01-22 | 7 | -125/+129 | |
| | | | | ok beck@ | |||||
* | Move internal parts of ssl_session_st to internal | beck | 2017-01-22 | 4 | -40/+40 | |
| | | | | ok jsing@ | |||||
* | Move recently added min_version/max_version from SSL and SSL_CTX to their | jsing | 2017-01-22 | 2 | -10/+6 | |
| | | | | opaque structs. |