Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | save errno in ERR_put_error(), so that SYSerr doesn't have any accidental | deraadt | 2014-06-26 | 2 | -2/+6 |
| | | | | | cases where errno can be trashed. ok jsing | ||||
* | fix HD() misuse; from brent cook | deraadt | 2014-06-26 | 2 | -4/+4 |
| | |||||
* | AT_BASE returns us the *address* of the start of ld.so, so | beck | 2014-06-25 | 2 | -4/+4 |
| | | | | | use the address, not what it points to (which is always the same) ok deraadt@ | ||||
* | get the page of data at AT_SYSINFO_EHDR | beck | 2014-06-25 | 2 | -4/+4 |
| | | | | ok deraadt@ | ||||
* | comment fixes from theo | beck | 2014-06-25 | 2 | -10/+12 |
| | |||||
* | Possibly obtain a little bit of entropy from addresses returned | beck | 2014-06-25 | 2 | -4/+46 |
| | | | | | by getauxval if we have it. ok deraadt@ | ||||
* | O_NOFOLLOW would be very nice to have here if the version of linux | beck | 2014-06-25 | 2 | -20/+22 |
| | | | | | we are running supports it. from enh@google.com | ||||
* | Alexander Schrijver posted a diff to remove references to the c_rehash script, | jmc | 2014-06-25 | 1 | -6/+5 |
| | | | | | | which we don;t have in base. after some discussion with jca, i've not removed these references, but tried to make it clearer it's distributed with openssl and not included in base; | ||||
* | document why we explicit_bzero | deraadt | 2014-06-25 | 1 | -2/+2 |
| | |||||
* | Unifdef -UNO_SYS_TYPES_H | miod | 2014-06-24 | 10 | -40/+18 |
| | |||||
* | Remove previously commented out wrong code, as well as the comment saying this | miod | 2014-06-24 | 2 | -6/+2 |
| | | | | is incorrect code. | ||||
* | Remove ancient workaround for previous century's compilers in the declaration | miod | 2014-06-24 | 2 | -4/+2 |
| | | | | of CRYPTO_EX_DATA; riding upon the libcrypto major bump. | ||||
* | Remove BIO_f_reliable(), guilty of playing with EVP_MD_CTX internals it | miod | 2014-06-24 | 5 | -1256/+4 |
| | | | | | should not know anything about. Verified not to be used in ports; riding upon the recent libcrypto major bump. | ||||
* | Crank libcrypto major since my previous commit changed the size of the | jsing | 2014-06-24 | 2 | -2/+2 |
| | | | | ChaCha context. Other changes will also ride this crank. | ||||
* | If a chacha operation does not consume all of the generated key stream, | jsing | 2014-06-24 | 6 | -14/+92 |
| | | | | | | | | | | | | | | | | ensure that we save it and consume it on subsequent writes. Otherwise we end up discarding part of the key stream and instead generate a new block at the start of the next write. This was only an issue for callers that did multiple writes that are not multiples of 64 bytes - in particular, the ChaCha20Poly1305 usage does not hit this problem since it performs encryption in a single-shot. For the same reason, this is also a non-issue when openssl(1) is used to encrypt with ChaCha. Issue identified by insane coder; reported to bugs@ by Joseph M. Schwartz. ok beck@ | ||||
* | Extend the chacha regress to cover the ChaCha interface, in addition to the | jsing | 2014-06-24 | 1 | -22/+99 |
| | | | | | | | single-shot CRYPTO_chacha_20() interface (the ChaCha interface was already tested via the EVP regress, but not extensively). The additional ChaCha tests include single-shot writes, along with partial/single-byte writes that currently fail due to a bug in the underlying implementation. | ||||
* | Some KNF. | jsing | 2014-06-24 | 2 | -12/+24 |
| | |||||
* | Replace 48 lines of code with a single inet_pton() call. The previous | jsing | 2014-06-24 | 2 | -96/+6 |
| | | | | | | | | | | | | | handrolled version could not even make use of sscanf(), since that would not work with a certain antiquated compiler. It is worth noting that there is a tiny change in behaviour - previously calling BIO_get_host_ip() with something that looked like it might be a valid IP address (for example, "1." or even ".") would result in it returning failure rather than trying a BIO_gethostbyname() - now we'll always try a BIO_gethostbyname() if it was not a valid IPv4 address. ok beck@ miod@ deraadt@ | ||||
* | Actually make BIO_set_tcp_ndelay() work - TCP_NODELAY will not magically | jsing | 2014-06-24 | 2 | -32/+6 |
| | | | | | | appear by itself. ok beck@ miod@ | ||||
* | Fix memory leak. | logan | 2014-06-24 | 1 | -2/+4 |
| | | | | | | Thanks to Brenk Cook. OK from miod@ | ||||
* | Since this is a library, place issetugid() before every getenv() | deraadt | 2014-06-23 | 10 | -26/+48 |
| | | | | ok miod | ||||
* | unbreak build of getentropy_sysctl - we need linux/sysctl.h, and | beck | 2014-06-23 | 2 | -36/+42 |
| | | | | RANDOM_UUID is an enum member. | ||||
* | unbreak - main needs to be extern in here somewhere. | beck | 2014-06-23 | 2 | -2/+4 |
| | |||||
* | KNF, particularly wrapped lines of calls to PEM_read_bio_FOO() and | guenther | 2014-06-22 | 2 | -48/+88 |
| | | | | | | multiline comments ok jsing@ | ||||
* | Add regress tests for BIO_get_host_ip(). | jsing | 2014-06-22 | 1 | -2/+70 |
| | |||||
* | BIO_sock_init() no longer does anything, so stop calling it. | jsing | 2014-06-22 | 2 | -20/+2 |
| | |||||
* | Just use SOMAXCONN and IPPROTO_TCP, since we know we have them. | jsing | 2014-06-22 | 2 | -28/+8 |
| | |||||
* | In BIO_get_port(), use strol() with appropriate range checks rather than | jsing | 2014-06-22 | 6 | -68/+100 |
| | | | | | | | 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@ | ||||
* | Add a skeleton regress for crypto/bio, which currently only covers | jsing | 2014-06-22 | 3 | -1/+94 |
| | | | | | BIO_get_port() and fails since the current code believes that "-1" is a valid port. | ||||
* | Hook in the aead regress. | jsing | 2014-06-22 | 1 | -1/+2 |
| | |||||
* | nuke unused test programs; ok jsing | deraadt | 2014-06-22 | 4 | -92/+4 |
| | |||||
* | More KNF. | jsing | 2014-06-22 | 2 | -10/+10 |
| | |||||
* | KNF. | jsing | 2014-06-22 | 6 | -416/+406 |
| | |||||
* | KNF. | jsing | 2014-06-22 | 12 | -1922/+2162 |
| | |||||
* | More KNF. | jsing | 2014-06-22 | 6 | -18/+18 |
| | |||||
* | matthew reminds me to update regress to reflect current spec | tedu | 2014-06-21 | 1 | -10/+3 |
| | |||||
* | repair indentation for an inner loop; shorten some macros and variable | deraadt | 2014-06-21 | 2 | -258/+270 |
| | | | | | names to shorten line lengths ok beck | ||||
* | always compare memcmp against 0, for clarity. | tedu | 2014-06-21 | 6 | -14/+14 |
| | |||||
* | loosen the spec for timingsafe functions slightly, so as to not | tedu | 2014-06-21 | 1 | -10/+5 |
| | | | | artificially constrain alternative implementations. ok deraadt | ||||
* | Pull the code that builds a DTLS sequence number out into its own function | jsing | 2014-06-21 | 6 | -46/+58 |
| | | | | | | to avoid duplication. Also use fewer magic numbers. ok miod@ | ||||
* | Specify the correct strength bits for 3DES cipher suites. | jsing | 2014-06-21 | 2 | -30/+26 |
| | | | | | | From OpenSSL. ok miod@ | ||||
* | Add DTLS support to ssltest and wire up some regress tests. | jsing | 2014-06-21 | 2 | -8/+41 |
| | | | | ok miod@ | ||||
* | Switch to the ISC licensed versions of these files, which Google has made | jsing | 2014-06-21 | 4 | -202/+52 |
| | | | | | | available via boringssl. ok deraadt@ | ||||
* | Pull out the sequence number selection and handle this up front. Also, the | jsing | 2014-06-21 | 2 | -18/+12 |
| | | | | correct record is already known, so avoid reassignment. | ||||
* | More KNF and clean up. | jsing | 2014-06-21 | 2 | -26/+18 |
| | |||||
* | More KNF. | jsing | 2014-06-21 | 16 | -122/+112 |
| | |||||
* | KNF | miod | 2014-06-21 | 6 | -248/+274 |
| | |||||
* | KNF | miod | 2014-06-21 | 6 | -356/+372 |
| | |||||
* | Fix memory leak in error path. | logan | 2014-06-21 | 2 | -4/+4 |
| | | | | OK from miod@ | ||||
* | Protect explicit_bzero() from link-time optimization | matthew | 2014-06-21 | 1 | -7/+10 |
| | | | | | | | | | | | | | | | | | | | | 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 |