summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2014-10-03verify changes are major changeTed Unangst
2014-10-03Strip trailing new-lines from syslog messages. This avoids emptyAlexander Bluhm
lines when printing to console or stderr. OK deraadt@
2014-10-03Bump minor for ECHD auto and other recent changes.Joel Sing
2014-10-03Bump minor version for ECDH auto.Joel Sing
While there are no additional symbols, there is an additional command that clients will potentially depend on.
2014-10-03allow disabling hostname and cert verification separately.Ted Unangst
if you're careful, cert only verification can be useful. always enable both though, to avoid accidentally leaving one off. ok jsing
2014-10-03Allow "auto" to be specified as an ECDH curve name and make this theJoel Sing
default. This enables automatic handling of ephemeral EC keys. Discussed with reyk@ and tedu@
2014-10-03Add support for automatic ephemeral EC keys.Joel Sing
This allows an SSL server to enable ECDHE ciphers with a single setting, which results in an EC key being generated using the first preference shared curve. Based on OpenSSL with inspiration from boringssl. ok miod@
2014-10-03Use string literals in printf style calls so gcc's -Wformat works.Doug Hogan
ok tedu@, miod@
2014-10-02Fix a crash when there is text after a failed %Z conversion in strptime.Doug Hogan
jmates at ee dot washington dot edu reported this bug and provided a patch. This is a slightly modified version of the patch that only contains the bug fix. ok millert@, otto@
2014-10-01openssl.cnf tweaks following recent changes to usr.bin/openssl:Stuart Henderson
- don't define default_bits, allowing the compiled-in default (now 2048 bits) to take priority. - add commented-out default_md line in case somebody needs an easy way to change this. - remove some sample sections which aren't really useful in the default file (/etc/examples is the place for a more descriptive config, this file should be barebones). Help/OK jsing@. OKs on earlier diff (openssl.cnf only) from phessler@ aja@.
2014-09-30Clean up EC cipher handling in ssl3_choose_cipher().Joel Sing
The existing code reaches around into various internals of EC, which it should not know anything about. Replace this with a set of functions that that can correctly extract the necessary details and handle the comparisions. Based on a commit to OpenSSL, with some inspiration from boringssl. ok miod@
2014-09-29Bump major to 28, regen .pc and header with new version info.James Turner
2014-09-29Merge conflicts.James Turner
2014-09-29Update sqlite3 to 3.8.6. A list of changes are available here:James Turner
http://sqlite.org/releaselog/3_8_6.html. Tested in a bulk and ok landry@
2014-09-29Previous fix (1.12) would cause a NULL pointer dereference in the error pathMiod Vallat
if a NULL stack was passed as argument. Fix this by returning NULL early in that case.
2014-09-29Move cipher configuration handling to the shared SSL configuration functionJoel Sing
so that applies to both the ressl client and server.
2014-09-29Add an option that allows the enabled SSL protocols to be explicitlyJoel Sing
configured. Discussed with several. ok bcook@
2014-09-29When freeing the config, explicitly call ressl_config_clear_keys() ratherJoel Sing
than rerolling our own key clearing code. ok tedu@
2014-09-29check_cert(): be sure to reset ctx->current_crl to NULL before freeing it.Miod Vallat
X509_STORE_CTX_init(): do not free the X509_STORE_CTX * parameter upon failure, for we did not allocate it and it might not come from the heap, such as in check_crl_path() in this very same file where X509_STORE_CTX_init() gets invoked with a stack address. ok bcook@
2014-09-29X509_NAME_get_text_by_OBJ(): make sure we do not pass a negative size toMiod Vallat
memcpy(). ok bcook@
2014-09-29X509_VERIFY_PARAM_set1_name(): if invoked with NULL as the secondMiod Vallat
parameter, correctly set param->name to NULL after having freed it. ok bcook@
2014-09-28Wrap long lines and add missing argument name.Joel Sing
2014-09-28Bump minor after adding SSL_CTX_use_certificate_chain().Reyk Floeter
ok jsing@ miod@
2014-09-28Provide a ressl config function that explicitly clears keys.Joel Sing
Now that ressl config takes copies of the keys passed to it, the keys need to be explicitly cleared. While this can be done by calling the appropriate functions with a NULL pointer, it is simpler and more obvious to call one function that does this for you. ok tedu@
2014-09-28Add a new API function SSL_CTX_use_certificate_chain() that allows toReyk Floeter
read the PEM-encoded certificate chain from memory instead of a file. This idea is derived from an older implementation in relayd that was needed to use the function with a privep'ed process in a chroot. Now it is time to get it into LibreSSL to make the API more privsep- friendly and to make it available for other programs and the ressl library. ok jsing@ miod@
2014-09-28X509v3_add_ext(): do not free stuff we did not allocate in the error path.Miod Vallat
ok bcook@
2014-09-28X509_TRUST_add(): check X509_TRUST_get0() return value before dereferencing it,Miod Vallat
for it may be NULL. Do not leak memory upon error. ok bcook@
2014-09-28Someone (TM) thought it was smart to save memory by using malloc(1) andMiod Vallat
manual field fiddling to create an ASN1_INTEGER object, instead of using M_ASN1_INTEGER_new() which will allocate sizeof(long) bytes. That person had probably never looked into malloc(3) and never heard of allocation size rounding. Thus, replace the obfuscated code with M_ASN1_INTEGER_new() followed by ASN1_INTEGER_set(), to achieve a similar result, without the need for /* version == 0 */ comments. ok bcook@
2014-09-28revamp the config interface to own memory. easier to use correctly withoutTed Unangst
caller worrying about leaks or lifetimes. after feedback from jsing
2014-09-27Revert r1.5 and reenable assembler version of ghash now that it has beenMiod Vallat
fixed.
2014-09-27Doh, rev 1.4 had left out one routine with both 32-bit and 64-bit code, whereMiod Vallat
the 64-bit code has to be disabled under OpenBSD/hppa.
2014-09-27Disable assembler code for ghash on hppa, causes wrong computations in someMiod Vallat
cases and breaks TLS 1.2; crank libcrypto.so minor version out of safety and to be able to tell broken versions apart easily.
2014-09-27There is not much point checking ecdhp is not NULL... twice.Joel Sing
ok miod@
2014-09-27Check that the specified curve is one of the client preferences.Joel Sing
Based on OpenSSL. ok miod@
2014-09-27Explain why we deviate slightly from the PBKDF2 standard.Doug Hogan
This explanation is based off of Ted's site. Also, fix a comment from the SHA-1 version. ok tedu@
2014-09-26X509_STORE_new(): do not leak memory upon error.Miod Vallat
X509_STORE_get1_certs(), X509_STORE_get1_crls(): check the result of allocations. ok tedu@
2014-09-26X509_issuer_and_serial_hash(): do not leak memory if an error occurs duringMiod Vallat
the first EVP block. ok tedu@
2014-09-26X509at_add1_attr(): do not free stuff we did not allocate in the error path.Miod Vallat
ok tedu@
2014-09-26Now that we have a static version of the default EC formats, also use itJoel Sing
for the server hello. From OpenSSL. ok miod@
2014-09-23Fix regression introduced in revision 1.15 by using strndup() instead ofMiod Vallat
strdup() to allocated directory list components. ok jsing@
2014-09-22Refactor and simplify the ECC extension handling. The existing codeJoel Sing
effectively built two "static" data structures - instead of doing this, just use static data structures to start with. From OpenSSL (part of a larger commit). ok miod@
2014-09-22Also check the result from final_finish_mac() against finish_mac_length inJoel Sing
ssl3_send_finished(). While this previously checked against a zero return value (which could occur on failure), we may as well test against the expected length, since we already know what that is.
2014-09-22It is possible (although unlikely in practice) for peer_finish_md_len toJoel Sing
end up with a value of zero, primarily since ssl3_take_mac() fails to check the return value from the final_finish_mac() call. This would then mean that an SSL finished message with a zero-byte payload would successfully match against the calculated finish MAC. Avoid this by checking the length of peer_finish_md_len and the SSL finished message payload, against the known length already stored in the SSL3_ENC_METHOD finish_mac_length field (making use of a previously unused field). ok miod@ (a little while back)
2014-09-21Document SSL_OP_TLSEXT_PADDING.Joel Sing
From OpenSSL.
2014-09-21Move the TLS padding extension under an SSL_OP_TLSEXT_PADDING option, whichJoel Sing
is off by default (instead of being enabled unconditionally). The TLS padding extension was added as a workaround for a bug in F5 SSL terminators, however appears to trigger bugs in IronPort SMTP appliances. Now the SSL client gets to choose which of these devices it wants to trigger bugs in... Ported from OpenSSL. Discussed with many. ok miod@
2014-09-21a_enum.c used to be a copy of a_int.c with s/INTEGER/ENUMERATED/g , butMiod Vallat
some changes an a_int.c did not get applied to a_enum.c; despite style changes, make sure BN_to_ASN1_ENUMERATED() correctly handles a zero value the same way BN_to_ASN1_INTEGER() does. ok bcook@ beck@ jsing@
2014-09-21Fix a memory leak in the error path in ASN1_mbstring_ncopy().Miod Vallat
Replace an if() posse with a switch() statement in traverse_string(). Remove unnecessary casts in cpy_*(), with tweaks from guenther@; ok bcook@ jsing@ guenther@
2014-09-19Add CHACHA20 as a cipher symmetric encryption alias.Joel Sing
From Ming <gzchenym at 126.com>
2014-09-19remove obfuscating parens. man operator is your friend.Ted Unangst
2014-09-17diff From: Theo Buehler who notes of kn_encode_base64():Jason McIntyre
"Since the function is a simple wrapper around b64_ntop(), there is no restriction on the possible lengths of the raw data in `src'." ok millert