summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* style(9) grenade.jsing2015-09-131-153/+178
|
* Don't leak conninfo - spotted by marko kreen.beck2015-09-131-2/+3
| | | | ok jsing@
* Stop generating private keys in a network buffer.jsing2015-09-132-58/+58
| | | | | | | | | | The current client key exchange code generates DH and ECDH keys into the same buffer that we use to send data to the network - stop doing this and malloc() a new buffer, which we explicit_bzero() and free() on return. This also benefits from ASLR and means that the keys are no longer generated in a well known location. ok beck@
* The number of rounds is just two digits in the salt. We've alreadymillert2015-09-131-2/+2
| | | | | verified that they are there via isdigit() so we can convert from ASCII to an int without using atoi(). OK guenther@ deraadt@
* Factor out setup_up / destroy_ui functions.bcook2015-09-134-58/+58
| | | | | | | | | This pulls out and renames setup_ui/destroy_ui so we have something that can be replaced as-needed, moving the the console setup code for Windows to app_win.c in -portable, instead of needing a local patch to enable binary console mode ui_read/write are also simplified.
* Use ECDH_size() instead of rolling our own.jsing2015-09-134-24/+22
| | | | ok beck@
* document extra algorithms available with openssl speed commandbcook2015-09-131-1/+4
| | | | ok jmc@
* Switch to miod's shiny new OPENSSL_cpu_caps() and we can now also enablejsing2015-09-132-6/+6
| | | | | | the AES acceleration checking for i386. ok beck@ miod@
* Merge ech_ossl.c into ech_key.c - not much point having one file with ajsing2015-09-135-432/+294
| | | | | | four line function and a tonne of license text. ok beck@
* Nuke openssl/e_os2.h, since nothing should be using it.jsing2015-09-132-86/+1
| | | | ok deraadt@ "hurray! finally!" miod@ "Yay!" sthen@
* Provide ECDH_size().jsing2015-09-136-8/+22
| | | | "jajaja" miod@
* Check ECDH output buffer length and avoid truncation.jsing2015-09-136-12/+32
| | | | | | | | | Currently, if you call ECDH_compute_key() it will silently truncate the resulting key if the output buffer is less than the key size. Instead, detect this condition and return an error. If the buffer provided is larger than the key length, zero the remainder. ok beck@ miod@ "+ shivers"
* Add Certplus CA root certificate:sthen2015-09-131-0/+86
| | | | | | C=FR, O=Certplus, CN=Class 2 Primary CA req by beck@, ok miod@ beck@
* display negotiated TLS version and cipher suite in verbose mode.beck2015-09-131-2/+3
| | | | ok jsing@
* Lob a style(9) grenade in here.jsing2015-09-1312-362/+352
|
* Mechanical minor bump to follow libcrypto.miod2015-09-133-3/+3
|
* add visibility of ciper and connection version stringsbeck2015-09-134-6/+56
| | | | ok jsing@
* Add a new interface, OPENSSL_cpu_caps(), to return the currently runningmiod2015-09-136-6/+36
| | | | | | | | | | | | | cpu's specific hardware capabilities users of libcrypto might be interested in, as an integer value. This deprecates the existing OPENSSL_ia32cap() macro and the OPENSSL_ia32cap_loc() function (which returns the pointer so that you can mess with stuff you shouldn't mess with). Interpreting the value returned by OPENSSL_cpu_caps() is, of course, machine-dependent. Minor version bump for libcrypto. ok beck@ jsing@
* The *_accept() functions increment in_handshake at the start of the function,jsing2015-09-134-38/+60
| | | | | | | | then decrement it and call a callback on exit from the function. As such, these functions should not return in the middle, otherwise in_handshake is never decremented and the callback never called. ok beck@ "with many sighs" miod@
* If we have hardware acceleration for AES, prefer AES as a symmetric cipherjsing2015-09-132-14/+60
| | | | | | over CHACHA20. Otherwise, prefer CHACHA20 with AES second. ok beck@ miod@
* Wrap <stdlib.h> so that calls go direct and the symbols not in theguenther2015-09-1322-26/+54
| | | | | | C standard are all weak. Apply __{BEGIN,END}_HIDDEN_DECLS to gdtoa{,imp}.h, hiding the arch-specific __strtorx, __ULtox_D2A, __strtorQ, __ULtoQ_D2A symbols.
* tweak STANDARDS;jmc2015-09-131-3/+3
|
* Adapt to just committed libtls api changebeck2015-09-121-21/+14
|
* Move connection info into it's own private structure allocated and filled inbeck2015-09-127-120/+208
| | | | | | at handshake time. change accessors to return const char * to remove need for caller to free memory. ok jsing@
* Split ssl3_send_client_key_exchange() (387 lines of code) into fivejsing2015-09-122-654/+702
| | | | | | | | | functions. The original was written as a huge if/else if chain - split out the handling for each key exchange type. This allows us to reduce two levels of indentation, make the code far more readable and have single return paths so that we can simplify clean up. ok beck@
* Fix function name.jsing2015-09-122-4/+4
|
* Sync handling of cached record digests with s3_srvr.c.jsing2015-09-122-2/+46
|
* explicit_bzero() the GOST premaster secret.jsing2015-09-122-4/+14
| | | | ok miod@
* Ensure that we clear the libssl error stack before we make a function calljsing2015-09-123-5/+12
| | | | | | | | | | that we will pass the result through tls_ssl_error() on failure. Otherwise we can end up reporting spurious errors due to their being unrelated errors already on the error stack. Spotted by Marko Kreen. ok beck@
* Unwrap a bunch of lines.jsing2015-09-122-74/+38
|
* Nuke SSLEAY_CONF -- a backwards compatibility environment variable thatlteo2015-09-124-14/+5
| | | | | | | | | | has been superseded by OPENSSL_CONF and discouraged from use for almost 16 years. "Definately ok" jsing@ "burn it" deraadt@ "Kill it with fire" miod@ "KILL IT WITH FIRE!!! BURN!!!!" beck@
* __strsignal() is now declared in hidden/signal.hguenther2015-09-121-2/+0
|
* Put tls_peer_cert* functions in the same place.jsing2015-09-121-6/+6
|
* Wrap <inttypes.h> and finish wrapping of <wchar.h> so that calls go directguenther2015-09-1224-24/+51
| | | | and the symbols not in the C standard are weak
* Remove most of the SSLv3 version checks and a few TLS v1.0.doug2015-09-1214-236/+114
| | | | | | | We can now assume >= TLS v1.0 since SSL2_VERSION, SSL3_VERSION and DTLS1_BAD_VER support was removed. "reads ok" miod@
* Add openssl(1) speed support for AEAD algorithms.bcook2015-09-121-17/+96
| | | | | | | This adds aes-128-gcm aes-256-gcm chacha20-poly1305 from Adam Langley's original patch for OpenSSL ok beck@ jsing@
* Cleanup enginetest a bit.bcook2015-09-121-104/+84
| | | | | It was the only thing preventing -Werror from building on some systems due to the unchecked asprintf's.
* Uncopy and unpaste dtls1_send_newsession_ticket() - another 111 lines ofjsing2015-09-124-222/+6
| | | | code deduped.
* Fix the openssl(1) prime command: When checking a decimal number forlteo2015-09-121-3/+2
| | | | | | | | | primality, do not unnecessarily convert the original decimal number to hex in the output. Hex numbers explicitly specified with -hex remain unchanged. ok beck@ deraadt@ jsing@ miod@
* Move handshake message header length determination into a separatejsing2015-09-128-46/+54
| | | | | | | ssl3_handshake_msg_hdr_len() function. Use this to correct several places that have magic numbers with header lengths hardcoded as '4'. ok beck@
* Wrap <unistd.h> so that internal calls go direct and they're all weak symbolsguenther2015-09-126-4/+12
| | | | Delete unused 'fd' argument from internal function oldttyname()
* Wrap <getopt.h> to make the functions weak and make access to the initializedguenther2015-09-121-1/+6
| | | | variables go direct. (Common variables cannot be aliased.)
* Uncopy and unpaste dtls1_send_certificate_request() - removes another 80jsing2015-09-124-160/+6
| | | | lines of code, while gaining SIGALGs support.
* Uncopy and unpaste dtls1_send_server_key_exchange(). Removes another 329jsing2015-09-124-658/+6
| | | | lines of code, while gaining bug fixes and SIGALGs support.
* Uncopy and unpaste dtls1_send_server_done().jsing2015-09-124-36/+6
|
* Uncopy and unpaste dtls1_send_server_hello().jsing2015-09-124-136/+6
|
* Uncopy and unpaste dtls1_send_hello_request().jsing2015-09-124-36/+6
|
* Convert the rest of the server handshake functions to ssl3_handshake_msg_*.jsing2015-09-122-88/+70
| | | | ok beck@
* Uncopy and unpaste dtls1_send_client_verify() - thejsing2015-09-124-148/+6
| | | | | ssl3_send_client_verify() is different, but it correctly supports things like SIGALGS. Another 74 lines of code bites the dust.
* Uncopy and unpaste dtls1_send_client_key_exchange() - thejsing2015-09-124-538/+10
| | | | | | | | ssl3_send_client_key_exchange() is effectively identical, in fact it has a number of bug fixes and improvements that never got merged into the DTLS copy of the code. Flenses another 264 lines of code. ok beck@