summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove all getenv() calls, especially those wrapped by issetugid().deraadt2015-04-116-55/+14
| | | | | | | | | getenv()'s wrapped by issetugid() are safe, but issetugid() is correct difficult to impliment on many operating systems. By accident, a grand experiment was run over the last year, where issetugid() returned 1 (the safe value) on a few operating systems. Noone noticed & complained that certain environment variables were not working....... ok doug beck jsing, discussion with others
* add initial AIX getentropy/arc4random files. Thanks to Michael Felt.bcook2015-03-304-0/+1002
|
* sys/sysctl.h includes linux/sysctl.h, remove the extra unchecked includebcook2015-03-222-4/+2
|
* Fix indentation that incorrectly implies a different control flow.doug2015-03-213-8/+11
| | | | | | | | | | | | | The actual control flow is intentional while the indenting is incorrect. This is intended to be a cosmetic change. Verified that each of these was part of a KNF commit that wasn't intending to change behavior. Also, double checked against the history of changes in OpenSSL and BoringSSL. Addresses Coverity CIDs: 78842, 78859, 78863. ok tedu@
* Fix a memory leak in an error path.doug2015-03-201-1/+3
| | | | | | From OpenSSL commit 5e5d53d341fd9a9b9cc0a58eb3690832ca7a511f. ok guenther@, logan@
* Fix several crash causing defects from OpenSSL.tedu2015-03-1911-62/+158
| | | | | | | | | | | | | These include: CVE-2015-0209 - Use After Free following d2i_ECPrivatekey error CVE-2015-0286 - Segmentation fault in ASN1_TYPE_cmp CVE-2015-0287 - ASN.1 structure reuse memory corruption CVE-2015-0289 - PKCS7 NULL pointer dereferences Several other issues did not apply or were already fixed. Refer to https://www.openssl.org/news/secadv_20150319.txt joint work with beck, doug, guenther, jsing, miod
* In the neverending saga of enabling and disabling assembler code for shamiod2015-03-182-10/+2
| | | | | | | | | | | routines on hppa, the cause for sha512-parisc subtly misbehaving has been found: despite having fallback pa1.1 code when running on a 32-bit cpu, the shift constants used in the sigma computations in sha512 are >= 32 and are silently truncated to 5 bits by the assembler, so there is no chance of getting this code to work on a non-pa2.0 processor. However, the pa1.1 fallback code for sha256 is safe, as it never attempts to shift by more than 31, so reenable it again.
* Avoid a NULL pointer deref when X509_get_pubkey() returns NULL.doug2015-03-151-2/+4
| | | | | | | | | | | | | | A NULL pointer could be dereferenced when X509_REQ_set_pubkey() calls X509_PUBKEY_set() with pktmp. OpenSSL says it's the fix for CVE-2015-0288, but there aren't any public details yet to confirm. Either way, we should fix this. Based on OpenSSL commit 28a00bcd8e318da18031b2ac8778c64147cd54f9 and BoringSSL commit 9d102ddbc0f6ed835ed12272a3d8a627d6a8e728. "looks sane" beck@ ok miod@, bcook@
* Do not use sha512-parisc for now, as it is subtly bugged - passes the shamiod2015-03-052-2/+6
| | | | | | | | | | | regress tests but causes tls ciphersuite using sha386 to fail; found the hard way by henning@. I can't see anything wrong in the generated assembly code yet, but building a libcrypto with no assembler code but sha512_block_data_order() is enough to trigger Henning's issue, so the bug lies there. No ABI change; ok deraadt@
* Fix CVE-2014-3570: properly calculate the square of a BIGNUM value.bcook2015-02-253-654/+303
| | | | | | | | | | | See https://www.openssl.org/news/secadv_20150108.txt for a more detailed discussion. Original OpenSSL patch here: https://github.com/openssl/openssl/commit/a7a44ba55cb4f884c6bc9ceac90072dea38e66d0 The regression test is modified a little for KNF. ok miod@
* fourth batch of perlpod(1) to mdoc(7) conversionschwarze2015-02-2319-3/+2521
|
* Bump libcrypto and libssl majors, due to various recent churn.jsing2015-02-222-2/+2
| | | | Discussed with/requested by deraadt@ at the conclusion of s2k15.
* Remove IMPLEMENT_STACK_OF noops.jsing2015-02-221-2/+1
|
* If BN_rand() or BN_pseudo_rand() are called with a NULL rnd argument,jsing2015-02-191-3/+8
| | | | | | | | | BN_bin2bn() will helpfully allocate a BN which is then leaked. Avoid this by explicitly checking for NULL at the start of the bnrand() function. Fixes Coverity ID 78831. ok miod@
* Memory leak in error path. Coverity CID 78822.miod2015-02-171-8/+9
| | | | ok doug@
* third batch of perlpod(1) to mdoc(7) conversionschwarze2015-02-1613-3/+2121
|
* Avoid calling BN_CTX_end() on a context that wasn't started.doug2015-02-151-4/+4
| | | | | | | | | | | In dsa_builtin_paramgen(), if BN_MONT_CTX_new() fails, the BN_CTX_new() call above it will have allocated a ctx without calling BN_CTX_start() on it. The error handling calls BN_CTX_end() when ctx is allocated. Move the BN_MONT_CTX_new() call up so it will fail first without splitting up the BN_CTX_new() and BN_CTX_start(). tweak + ok miod@, ok bcook@
* Regenmiod2015-02-153-264/+282
|
* If we decide to discard the provided seed buffer because its size is notmiod2015-02-151-8/+6
| | | | | | | | large enough, do it correctly so that the local seed buffer on the stack gets properly initialized in the first iteration of the loop. While there, remove an outdated and bogus comment. Coverity CID 21785 ok doug@ jsing@
* Check ASN1_OCTET_STRING_new() for failure. Coverity CID 78904miod2015-02-151-6/+8
| | | | ok doug@
* In ec_wNAF_mul(), move the declaration of tmp_wNAF higher in scope, so thatmiod2015-02-151-6/+5
| | | | | all the function's exit paths can make sure it gets freed. Coverity CID 78861 tweaks & ok doug@ jsing@
* Remove asn1_ex_i2c() prototype, now that this function has been made static;miod2015-02-141-2/+1
| | | | reminded by bcook@
* Words read better when they are separated by spaces.miod2015-02-141-1/+1
|
* 1.18 would introduce a possible out-of-bounds access in the error path;miod2015-02-141-7/+5
| | | | | Coverity CID 105346 ok doug@
* Remove DEBUG_PKCS5V2 code.miod2015-02-141-25/+1
|
* Unchecked allocations in x509_name_canon().miod2015-02-141-1/+5
| | | | ok doug@ jsing@
* Memory leak upon error in X509_add1_{trust,reject}_object.miod2015-02-141-7/+23
| | | | ok doug@
* Manually expand IMPLEMENT_EXTERN_ASN1 macro (the only occurence in crypto).jsing2015-02-141-3/+10
| | | | Only change to generated assembly is due to line numbers.
* Remove IMPLEMENT_COMPAT_ASN1() and related support code. Nothing uses it inmiod2015-02-145-141/+7
| | | | | | libcrypto/libssl, and nothing seems to use it in the wild, apart from embedded copies of OpenSSL. ok jsing@
* Make asn1_ex_i2c() static. ok jsing@miod2015-02-141-2/+4
|
* Memory leak in `should not happen' condition; Coverity CID 78889.miod2015-02-141-4/+4
| | | | ok doug@ jsing@
* Memory leak upon error; Coverity CID 78857miod2015-02-141-1/+4
| | | | | ok doug@ jsing@ CVy: Committing in .
* Check i2d_name_canon() for failure (negative return). Coverity CID 78888.miod2015-02-141-6/+8
| | | | ok doug@ jsing@
* Possible NULL pointer dereferences. Coverity CID 21719, 21732.miod2015-02-142-3/+7
| | | | ok doug@ jsing@
* Potential NULL dereference in the error path; Coverity CID 21720miod2015-02-141-2/+2
| | | | ok doug@ jsing@
* Coverity CID 21733 (unchecked allocation), 78823 (leak on error).miod2015-02-141-1/+6
| | | | ok doug@ jsing@
* Check for allocation error in RSA_eay_mod_exp(). Coverity CID 25217.miod2015-02-142-2/+7
| | | | ok jsing@
* Memory leaks upon error. Coverity CID 78874.miod2015-02-141-10/+10
| | | | ok jsing@
* Fix tests that got incorrectly inverted with the BN_CTX_get() return checkjsing2015-02-141-5/+5
| | | | | | diff. Spotted by miod@
* Expand ASN1_CHOICE*, ASN1_SEQUENCE* and associated macros, making thejsing2015-02-143-60/+416
| | | | | | | | | data structures visible and easier to review, without having to wade through layers and layers of asn1t.h macros. Change has been scripted and there is no change to the generated assembly. Discussed with beck@ miod@ tedu@
* Expand ASN1_CHOICE*, ASN1_SEQUENCE* and associated macros, making thejsing2015-02-141-9/+53
| | | | | | | | | data structures visible and easier to review, without having to wade through layers and layers of asn1t.h macros. Change has been scripted and there is no change to the generated assembly. Discussed with beck@ miod@ tedu@
* Attempt to correctly free temporary storage upon error. With help frommiod2015-02-141-15/+18
| | | | | doug@ and jsing@, ok doug@ three months ago (sigh... I sometimes suck bigtime at commiting bugfixes)
* second batch of perlpod(1) to mdoc(7) conversionschwarze2015-02-1412-4/+1381
|
* While doing development work on pod2mdoc(1),schwarze2015-02-146-3/+773
| | | | | | profit of the occasion to start the conversion of LibreSSL libcrypto manuals from perlpod(1) to mdoc(7). miod@ jmc@ bentley@ agreed to the process when shown this patch.
* Spell NULL correctly, be explicit with NULL checks and it is also easier tojsing2015-02-142-10/+6
| | | | | | initialise during declaration and drop the else statement. ok doug@ miod@
* Try and fix a bunch of memory leaks upon error;miod2015-02-143-12/+33
| | | | ok tedu@ about 7 months ago and I was sitting upon this diff for no reason
* Consistently check the return value from BN_CTX_get() on assignment.jsing2015-02-144-42/+44
| | | | | | | This is the same as the previous larger commit, however it would seem the GOST part got missed. ok beck@ doug@
* Don't leak memory on errors - fixes coverity issues 105353 105253beck2015-02-131-4/+9
| | | | ok guenther@ jsg@
* fix leaking of bn, coverity issue 105351beck2015-02-131-1/+2
| | | | ok doug@
* prevent a crash with openssl asn1parse -genstr FORMATjsg2015-02-121-1/+5
| | | | | | aka ASN1_generate_nconf("FORMAT", NULL) ok krw@ beck@ jsing@