Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | For now... assume success of getentropy() just like we assumed success | deraadt | 2014-06-13 | 1 | -3/+3 | |
| | | | | of sysctl(). Mark it with XXX while we consider. | |||||
* | Correctly calculate the key block length when using export ciphers. | jsing | 2014-06-13 | 2 | -2/+10 | |
| | ||||||
* | Overhaul the keyblock handling in ssl3_change_cipher_state(). Use | jsing | 2014-06-13 | 1 | -32/+45 | |
| | | | | | meaningful variable names with use with pointer arithmitic rather than complex array indexing. | |||||
* | Correctly calculate the key block length when used with export ciphers. | jsing | 2014-06-13 | 1 | -17/+24 | |
| | | | | While here, use meaningful variable names and simplify the calculation. | |||||
* | Remove deprecated RFC2292 ancillary data convenience functions. | chrisz | 2014-06-13 | 2 | -488/+2 | |
| | | | | | | They are obsoleted by the RFC3542 api. ok mpi@ | |||||
* | use getgentropy() call. If it fails, things are pretty bad -- | deraadt | 2014-06-13 | 1 | -8/+3 | |
| | | | | | call abort(). this direction discussed at length with miod beck tedu matthew etc | |||||
* | use getentropy; from matthew | deraadt | 2014-06-13 | 1 | -5/+2 | |
| | ||||||
* | Use meaningful variable names, rather than i, j, k and cl. | jsing | 2014-06-13 | 1 | -23/+27 | |
| | ||||||
* | Do not bother trying to work out of we can reuse a cipher context - just | jsing | 2014-06-13 | 1 | -22/+12 | |
| | | | | | throw it away and create a new one. This simplifies the code and also allows ASR to do its thing. | |||||
* | Separate the comression handling from the cipher/message digest handling in | jsing | 2014-06-13 | 1 | -43/+47 | |
| | | | | ssl3_change_cipher_state(). | |||||
* | Swap compress/expand around so they are in the correct order - these ended | jsing | 2014-06-13 | 2 | -28/+28 | |
| | | | | up in the wrong order when the code was refactored. | |||||
* | The export_key/export_iv variables are only used in the is_export case. | jsing | 2014-06-13 | 1 | -7/+10 | |
| | | | | Also use c rather than &c[0]. | |||||
* | Rename a bunch of variables in ssl3_change_cipher_state() for readability. | jsing | 2014-06-13 | 1 | -38/+40 | |
| | | | | This also brings it inline with tls1_change_cipher_state_cipher(). | |||||
* | Add ChaCha20-Poly1305 based ciphersuites. | jsing | 2014-06-13 | 10 | -14/+162 | |
| | | | | | | Based on Adam Langley's chromium patches. Tested by and ok sthen@ | |||||
* | Switch the AES-GCM cipher suites to SSL_CIPHER_ALGORITHM2_AEAD. | jsing | 2014-06-13 | 2 | -42/+136 | |
| | ||||||
* | Combine the MAC handling for both !EVP_CIPH_FLAG_AEAD_CIPHER and | jsing | 2014-06-13 | 2 | -28/+22 | |
| | | | | EVP_CIPH_FLAG_AEAD_CIPHER into the same if/else block. | |||||
* | Use SSL3_SEQUENCE_SIZE and if we're going to preincrement we may as well | jsing | 2014-06-13 | 1 | -4/+3 | |
| | | | | do it properly. | |||||
* | Add support for handling SSL_CIPHER_ALGORITHM2_AEAD ciphers, which are | jsing | 2014-06-13 | 8 | -66/+498 | |
| | | | | | | | | | | | | | those that use EVP_AEAD instead ov EVP_CIPHER. This means being able to change cipher state with an EVP_AEAD and being able to encrypt/decrypt TLS using the EVP_AEAD. This has no change on existing non-SSL_CIPHER_ALGORITHM2_AEAD ciphers. Based on Adam Langley's chromium patches. Rides the recent libssl bump. Tested by sthen@ | |||||
* | Add an SSL_AEAD_CTX to enable the use of EVP_AEAD with an SSL cipher. | jsing | 2014-06-13 | 8 | -8/+98 | |
| | | | | | | | | | Read and write contexts are also added to the SSL_CTX, along with supporting code. Based on Adam Langley's chromium diffs. Rides the recent SSL library bump. | |||||
* | Remove support for the `opaque PRF input' extension, which draft has expired | miod | 2014-06-13 | 23 | -668/+29 | |
| | | | | | | | | 7 years ago and never made it into an RFC. That code wasn't compiled in anyway unless one would define the actual on-the-wire extension id bytes; crank libssl major. With help and enlightenment from Brendan MacDonell. | |||||
* | Add timingsafe_memcmp(). | matthew | 2014-06-13 | 5 | -33/+152 | |
| | | | | ok deraadt, jmc, tedu | |||||
* | replace atoi() calls with strtol(). Follow the idiomatic pattern in our | deraadt | 2014-06-12 | 6 | -80/+194 | |
| | | | | | | | | | manual page strictly. Return -2 if the strings are not strict numbers. The numbers remain in the range of "int". Range checking for these parameters is done later in the pkey_*_ctl() functions, or sometimes in functions much further downstream... but not always!!! ok millert miod mikeb | |||||
* | tags as requested by miod and tedu | deraadt | 2014-06-12 | 1537 | -1373/+1553 | |
| | ||||||
* | Disable the "switch to insertion sort" optimization to avoid quadratic | millert | 2014-06-12 | 1 | -13/+2 | |
| | | | | behavior for certain inputs. From NetBSD. OK tedu@ | |||||
* | Really remove the obsolete manpages left by earlier commit | chrisz | 2014-06-11 | 2 | -0/+0 | |
| | | | | which just emptied the file but didn't remove it. | |||||
* | Remove manpages about deprecated RFC2292 ancillary data convenience functions. | chrisz | 2014-06-11 | 4 | -769/+4 | |
| | | | | | | They are obsoleted by the RFC3542 api. ok mpi@ | |||||
* | Stop setting the EVP_MD_CTX_FLAG_NON_FIPS_ALLOW - it has been ignored since | jsing | 2014-06-11 | 9 | -17/+0 | |
| | | | | | | OpenSSL 1.0.0. ok miod@ (a little while back) | |||||
* | Tsk. Tsk. Someone forgot to compile test the other half. | jsing | 2014-06-11 | 2 | -4/+4 | |
| | ||||||
* | Disable TLS support... | jsing | 2014-06-11 | 6 | -16/+0 | |
| | | | | | | | | Just kidding! unifdef OPENSSL_NO_TLS since we will never want to actually do that. ok deraadt@ | |||||
* | Provide support for non-funopen systems. | deraadt | 2014-06-11 | 3 | -18/+62 | |
| | | | | ok beck | |||||
* | More KNF. | jsing | 2014-06-11 | 2 | -112/+182 | |
| | ||||||
* | Fix memory leak: free s if calloc fails. | logan | 2014-06-11 | 2 | -2/+6 | |
| | | | | | | (From Jonas Maebe) OK from beck@ | |||||
* | c-file-style hints, begone; ok beck | deraadt | 2014-06-11 | 94 | -94/+94 | |
| | ||||||
* | Check return value of EVP_MD_CTX_copy_ex() in ssl3_handshake_mac() | logan | 2014-06-10 | 1 | -1/+3 | |
| | | | | | | | | to avoid potential null pointer dereference. Based on david ramos work. OK from miod@ and jsing@ | |||||
* | Abandon the auto-ENGINE /dev/crypto interface. VIA 3des cbc receives | deraadt | 2014-06-10 | 9 | -2738/+4 | |
| | | | | | | | | | | | | | collateral damage. The syncronous nature of this mechanism has hampered performance for symmetric crypto relative to brute-force cpu. The assymetric crypto support never really materialized in drivers. So abandon the complexity. ok tedu beck mikeb some disagrement from djm but if he wants to test /dev/crypto ciphers he should do it without this this gigantic API in the way | |||||
* | KNF. | jsing | 2014-06-10 | 16 | -1512/+1512 | |
| | ||||||
* | KNF. | jsing | 2014-06-10 | 22 | -870/+1032 | |
| | ||||||
* | Remove pointless casts and use c instead of &c[0], since it is the same | jsing | 2014-06-10 | 1 | -9/+3 | |
| | | | | | | thing for an unsigned char array. ok deraadt@ | |||||
* | In tls1_cert_verify_mac(), check the return value of EVP_MD_CTX_copy_ex() | jsing | 2014-06-10 | 2 | -6/+10 | |
| | | | | | | | | | to avoid a possible NULL function call on ctx.final(). None of the callers currently check the return value of calls to cert_verify_mac(), however the function already returns 0 in another case and the MAC comparison will later fail. Issue reported by David Ramos. | |||||
* | Use C99 initialisers for EVP_MD structs, for clarity, grepability and to | jsing | 2014-06-10 | 22 | -360/+532 | |
| | | | | | | protect from future field reordering/removal. No difference in generated assembly. | |||||
* | More KNF. | jsing | 2014-06-10 | 1 | -19/+18 | |
| | ||||||
* | Avoid potential NULL pointer function calls in n_ssl3_mac() by checking | jsing | 2014-06-10 | 1 | -2/+4 | |
| | | | | | | | | | | the return value of EVP_MD_CTX_copy_ex(). If the copy fails early then EVP_DigestUpdate() will invoke md_ctx.update(), which will be a NULL function pointer. Analysis and patch from David Ramos. ok deraadt@ | |||||
* | Multiple fixes for ssl3_digest_cached_records() - if EVP_MD_CTX_create() | jsing | 2014-06-10 | 1 | -8/+12 | |
| | | | | | | | | | fails, the NULL check will add an error but it does not abort. This will result in EVP_DigestInit_ex() being called with a NULL context. Also ensure that we check the return values from EVP_DigestInit_ex() and EVP_DigestUpdate(). ok deraadt@ miod@ | |||||
* | Ensure ssl3_final_finish_mac() returns failure if either the MD5 or SHA1 | jsing | 2014-06-10 | 1 | -5/+10 | |
| | | | | | | | | | handshake MAC calculation fails. Currently, the result from both ssl3_handshake_mac() calls is added together. This means that unless both MD5 and SHA1 fail, a positive value will be returned to the caller, indicating success rather than failure. ok deraadt@ miod@ sthen@ | |||||
* | mop up ifndef KERNEL goo; ok miod | deraadt | 2014-06-10 | 12 | -60/+12 | |
| | ||||||
* | use memset instead of bzero | deraadt | 2014-06-09 | 2 | -4/+4 | |
| | ||||||
* | do not include dso.h where it is not needed; ok miod | deraadt | 2014-06-09 | 6 | -6/+0 | |
| | ||||||
* | More KNF. | jsing | 2014-06-09 | 1 | -11/+11 | |
| | ||||||
* | Add an SSL_CIPHER_ALGORITHM2_AEAD flag that is used to mark a cipher as | jsing | 2014-06-08 | 4 | -0/+114 | |
| | | | | | using EVP_AEAD. Also provide an EVP_AEAD-only equivalent of ssl_cipher_get_evp(). | |||||
* | Add a define for the SSLv3 sequence size and use it, rather than sprinkling | jsing | 2014-06-08 | 7 | -14/+16 | |
| | | | | | | magic numbers around. ok deraadt@ |