summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2014-06-22Just use SOMAXCONN and IPPROTO_TCP, since we know we have them.Joel Sing
2014-06-22In BIO_get_port(), use strol() with appropriate range checks rather thanJoel Sing
an atoi() followed by an unsigned short cast. This stops things like "-1" and "66536" from being considered to be "valid" port numbers. ok beck@ deraadt@
2014-06-22nuke unused test programs; ok jsingTheo de Raadt
2014-06-22More KNF.Joel Sing
2014-06-22KNF.Joel Sing
2014-06-22KNF.Joel Sing
2014-06-22More KNF.Joel Sing
2014-06-21always compare memcmp against 0, for clarity.Ted Unangst
2014-06-21Pull the code that builds a DTLS sequence number out into its own functionJoel Sing
to avoid duplication. Also use fewer magic numbers. ok miod@
2014-06-21Specify the correct strength bits for 3DES cipher suites.Joel Sing
From OpenSSL. ok miod@
2014-06-21Switch to the ISC licensed versions of these files, which Google has madeJoel Sing
available via boringssl. ok deraadt@
2014-06-21Pull out the sequence number selection and handle this up front. Also, theJoel Sing
correct record is already known, so avoid reassignment.
2014-06-21More KNF and clean up.Joel Sing
2014-06-21More KNF.Joel Sing
2014-06-21More KNF.Joel Sing
2014-06-21KNFMiod Vallat
2014-06-21KNFMiod Vallat
2014-06-21Fix memory leak in error path.Loganaden Velvindron
OK from miod@
2014-06-21Protect explicit_bzero() from link-time optimizationMatthew Dempsky
Modern compiler toolchains are capable of optimizing even across translation unit boundaries, so simply moving the memory clearing into a separate function is not guaranteed to clear memory. To avoid this, we take advantage of ELF weak symbol semantics, and insert a call to an empty, weakly named function. The semantics of calling this function aren't determinable until load time, so the compiler and linker need to keep the memset() call. There are still ways a toolchain might defeat this trick (e.g., optimistically expecting the weak symbol to not be overloaded, and only calling memset() if it is; promoting weak symbols to strong symbols at link-time when emitting a static binary because they won't be interposed; implementing load-time optimizations). But at least for the foreseeable future, these seem unlikely. ok deraadt
2014-06-20Remove the OPENSSL_*cap getenv's. A program should not be able toTheo de Raadt
change the behaviour of the library in such a complicated fashion. ok miod
2014-06-20wrap getenv OPENSSL_ALLOW_PROXY_CERTS in an issetugid check, to protectTheo de Raadt
setuid applications from being fooled. ok miod
2014-06-20Work in progress on how to deal with the inherit unreliability ofBob Beck
/dev/urandom. Does well in the fallback case. Get it in tree so it can be worked on. ok otto@ deraadt@
2014-06-20Remove OPENSSL_instrument_halt and OPENSSL_far_spin, which both mightMiod Vallat
have been used under DJGPP in the previous century (if at all).
2014-06-20Fix incorrect bounds check in amd64 assembly version of bn_mul_mont();Miod Vallat
noticed and fix by Fedor Indutny of Joyent ( https://github.com/joyent/node/issues/7704 )
2012-10-13import OpenSSL-1.0.1cDamien Miller
2014-06-20arc4random: hard fail with raise(SIGKILL) if getentropy() returns -1Matthew Dempsky
Allow other non-zero return values in case we change our mind to return an ssize_t byte count instead of simple success/fail. ok deraadt, djm
2014-06-19convert CRYPTO_memcmp to timingsafe_memcmp based on current policy favoringTed Unangst
libc interfaces over libcrypto interfaces. for now we also prefer timingsafe_memcmp over timingsafe_bcmp, even when the latter is acceptable. ok beck deraadt matthew miod
2014-06-19check stack push return and make some effort to clean up. ok beck miodTed Unangst
2014-06-19improve error checking. set error code on error, and check malloc return.Ted Unangst
add missing unlock in one case. ok lteo miod
2014-06-19Move rs_chacha and rs_buf into the same memory page and don't mark itMatthew Dempsky
MAP_INHERIT_ZERO anymore. This restores arc4random's previous behavior where fork children would mix in some randomness from the parent process. New behavior noticed by deraadt ok deraadt, tedu
2014-06-18Always call atexit handlers as if they were registered with __cxa_atexit.Mark Kettenis
The extra argument doesn't hurt genuine atexit handlers and this fixes a bug where we didn't provide the argument (effectively passing garbage) for functions registered with __cxa_atexit in the main executable. Pointed out by Dmitriy Ivanov <dimitry@google.com> and Elliott Hughes <enh@google.com>. ok matthew@
2014-06-18In ssl3_send_newsession_ticket(), fix a memory leak in an error path.Miod Vallat
2014-06-18Missinc calloc() return value check; ok deraadt@Miod Vallat
2014-06-18Make sure to always invoke EVP_CIPHER_CTX_cleanup() before returning in theMiod Vallat
error paths from tls_decrypt_ticket(). ok tedu@
2014-06-18Use asprintf() instead of a fixed 128-byte size in SSL_CIPHER_description()Miod Vallat
when no storage buffer is passed. ok deraadt@ tedu@
2014-06-18In SSL_COMP_add_compression_method(), make sure error cases actually returnMiod Vallat
`error' rather than `success'. ok deraadt@
2014-06-17ssl_session_cmp is not a sort function, can use CRYPTO_memcmp here too.Ted Unangst
2014-06-17Use MAP_INHERIT_ZERO in arc4random(3)Matthew Dempsky
Now instead of calling getpid() each time a user invokes arc4random(), we're able to rely on the kernel zero'ing out the RNG state if the process forks. ok deraadt, djm
2014-06-15free iv, then cleanse. from Cyril JouveTed Unangst
2014-06-15Simplify EVP_MD_CTX_create() by just using calloc(). Also, use 0 ratherJoel Sing
than '\0' for several memset(). ok beck@ miod@
2014-06-15Simplify EVP_CIPHER_CTX_new() - stop pretending that EVP_CIPHER_CTX_init()Joel Sing
does something special... just use calloc() instead. ok beck@ miod@
2014-06-15Add missing OPENSSL_cleanse() in aead_aes_gcm_cleanup().Joel Sing
ok beck@ miod@
2014-06-15The OPENSSL_cleanse() in aes_gcm_cleanup() only cleans the gcm field of theJoel Sing
EVP_AES_GCM_CTX, leaving the AES key untouched - clean the entire context, rather than just part of it. ok beck@ miod@
2014-06-15Rename ssl3_record_sequence_update() to ssl3_record_sequence_increment(),Joel Sing
so that it reflects what it is actually doing. Use this function in a number of places that still have the hand rolled version. ok beck@ miod@
2014-06-15oops, typo. James Hartley is fast at trying -currentTheo de Raadt
2014-06-15In srandomdev(), use arc4random_buf() instead of from the kernel.Theo de Raadt
discussion with matthew
2014-06-14Add more bounded attributes to the buffer and md5/sha headers in libsslAnil Madhavapeddy
ok miod@
2014-06-13typoMiod Vallat
2014-06-13For now... assume success of getentropy() just like we assumed successTheo de Raadt
of sysctl(). Mark it with XXX while we consider.
2014-06-13Correctly calculate the key block length when using export ciphers.Joel Sing