summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* zap weird spaces $EDITOR added in previoustb2022-12-041-2/+2
|
* skip rust-openssl-tests on sparc64tb2022-12-031-3/+17
| | | | | | | | The issue is likely that the build is trying to compile some generated C code with the prehistoric gcc from base, so add a tentative workaround for that. Since I don't currently have access to a sparc64 box where I could validate this easily and check if the workaround is enough, let's not waste lots of cycles on this.
* Clean up makefiletb2022-12-031-8/+6
|
* biotest needs bio_local.h nowtb2022-12-031-6/+7
| | | | Should have been part of the previous commit
* Test BIO_{push,pop}() along a linear chaintb2022-12-031-1/+135
|
* More cleanuptb2022-12-031-11/+8
| | | | | Drop unnecessary loading of error strings, fix error path and consistently print to stdout.
* Refactor and fix bn_mod_exp testtb2022-12-031-80/+86
| | | | | | | | | | | The amount of copy-paste in this test led to a few bugs and it was hard to spot them since things were done in random order. Use a different approach: compute the result of a^b (mod m) according to BN_mod_exp_simple(), then compare the results of all the other *_mod_exp* functions to that. Reuse the test structure from bn_mod_exp_zero.c to loop over the list of functions. This way we test more functions and don't forget to check some crucial bits.
* Add missing checks for BN_mod_exp_{non,}ct()tb2022-12-031-6/+8
| | | | | | Someone added a few more functions to test, but forgot to check their results, so if they would not do the expected thing that would only be noticed if one of the already tested functions would break.
* Fix some ancient silliness with a random bytetb2022-12-031-8/+5
| | | | | | | For nearly 25 years this test has attempted to generate random numbers of bit length between 192 and 319 bits. Unfortunately, it used an unsigned char so instead of generating numbers in the interval [-64..63] and add them to 256, it used numbers in the intervals [0..63] and [192..255]...
* Drop 'perhaps a little', plus grammar and spelling nitstb2022-12-021-5/+5
| | | | | BIO_push() and BIO_pop() are misnamed. No need to gently and politely suggest that their 'names [...] are perhaps a little misleading'.
* Revert bio_prev removaltb2022-12-022-2/+12
| | | | | | | | | As schwarze points out, you can pop any BIO in a chain, not just the first one (bonus points for a great name for this API). The internal doubly linked was used to fix up the BIO chain bio was part of when you BIO_pop() a bio that wasn't in the first position, which is explicitly allowed in our documentation and implied by OpenSSL's.
* bn_mod_exp.c: printing to stdout needs no BIOtb2022-12-021-17/+9
|
* bn_mod_exp: we have a BN_CTX available...tb2022-12-021-19/+15
| | | | Use BN_CTX_get() instead of BN_new()/BN_free().
* Check BN_rand() and BN_mod() return valuestb2022-12-021-6/+11
| | | | | CID 430848 CID 430849
* Link new bn_mod_exp_zero test to buildtb2022-12-021-1/+3
|
* Rewrite the tests that various modular exponentiation functionstb2022-12-022-148/+189
| | | | compute a^0 = 0 (mod 1) for all a from scratch.
* libcrypto/bn: switch back to manual regress targetstb2022-12-021-3/+8
| | | | | The previous change had the undesired side effect of running the super verbose run-regress-bn_test.
* regres/libssl/unit: simplify Makefiletb2022-12-021-20/+10
|
* Use regress framework rather than handrolling ittb2022-12-021-12/+1
|
* Use the default targets from bsd.regress.mk as far as possibletb2022-12-021-9/+4
|
* Let bsd.regress.mk take care of running teststb2022-12-021-8/+1
|
* bn_add_sub: no need for a BIO to print to stderrtb2022-12-021-21/+13
|
* Unhook exptb2022-12-011-2/+1
|
* Fix typo, move one .PHONY target nearer to the target itselftb2022-12-011-4/+3
|
* zap extra blank linetb2022-12-011-2/+1
|
* Check that the bn_isqrt -C output isn't changedtb2022-12-012-1/+43
| | | | | | bn_isqrt -C generates code included in lib/libcrypto/lib/bn_isqrt.c. The regress tests already ensure that the content of the tables don't change. Ensure further that the code generation doesn't get out of sync.
* Update reference to table generationtb2022-12-011-2/+2
|
* regress/libcrypto: merge exp/ into bn/tb2022-12-013-11/+4
| | | | | | | Move exp/exptest.c to bn/bn_mod_exp.c. This is a BN test that mostly tests a variety of BN_mod_exp*() API behavior and correctness. Commit stolen from jsing
* Silence this test and sprinkle some KNFtb2022-12-011-11/+6
| | | | | This test is fast enough even on very slow machines that printing dots doesn't seem necessary.
* Flatten structure of libcrypto/bn teststb2022-12-0115-116/+62
| | | | | | | | | The bn tests were distributed into three subdirectories rather randomly. It's cleaner and easier to maintain if all this is in a single directory. Use consistent names for the .c files, unify handling of the tests with the exception of bn_test, which is special. Discussed with jsing
* Test prime constants exposed in public BN APItb2022-12-011-1/+97
| | | | | Run the prime constants exposed in BN_get0_nist_prime_*() and BN_get_rfc3526_prime_*() through Ballie-PSW.
* Make tests silent on success.tb2022-12-012-21/+17
| | | | Also, run all x25519 tests, don't stop on first failure.
* Refrain from printing SUCCESS in some of my teststb2022-12-0113-50/+16
| | | | Silence is good. On failure, the regress framework will make it clear.
* Mark the X509_V_FLAG_CB_ISSUER_CHECK flag as deprecatedtb2022-12-011-11/+5
|
* Annotate X509_V_FLAG_CB_ISSUER_CHECK as deprecated and unusedtb2022-12-011-3/+3
|
* Retire X509_V_FLAG_CB_ISSUER_CHECKtb2022-12-011-16/+8
| | | | | | | | | This flag has been deprecated in OpenSSL 1.1 and has not had an effect since. This way we can simplify the default check_issued() callback, which helpfully has its arguments reversed compared to the public API X509_check_issued(). ok jsing
* Getters and setters for the check_issued() callbacktb2022-12-013-3/+39
| | | | | | | | | | | | | | | Open62541 uses X509_STORE_CTX_get_check_issued(), so provide it along with X509_STORE_{get,set}_check_issued(). As you would expect, they all return or take an X509_STORE_CTX_check_issued_fn. The getters aren't const in OpenSSL 1.1, but they now are in OpenSSL 3... These will be made available in the next minor bump and will ship in the stable release of LibreSSL 3.7 Part of OpenSSL commit 1060a50b See also https://github.com/libressl-portable/portable/issues/748 ok beck jsing
* BN_one() can fail, check its return value.jsing2022-12-011-3/+5
|
* BN_one() can fail, check its return value.jsing2022-12-012-9/+16
| | | | ok tb@
* Rewrite bn_correct_top().jsing2022-11-302-14/+10
| | | | | | | bn_correct_top() is currently a macro and far more complex than it needs to be - rewrite it as a function. ok tb@
* Fix return values bug in BN_ucmp().jsing2022-11-301-4/+6
| | | | | | | | BN_ucmp() is supposed to return -1/0/1 on a < b, a == b and a > b, however it currently returns other negative and positive values when the top of a and b differ. Correct this. ok tb@
* Add regress coverage for BN_cmp()/BN_ucmp().jsing2022-11-302-3/+347
| | | | | Some tests current fail due to a bug in BN_ucmp(), which will be fixed soon.
* Mostly align BIO_read()/BIO_write() return values with OpenSSL 3.x.jsing2022-11-301-7/+21
| | | | | | | | | | For various historical reasons, there are a number of cases where our BIO_read() and BIO_write() return slightly different values to what OpenSSL 3.x does (of course OpenSSL 1.0 differs from OpenSSL 1.1 which differs from OpenSSL 3.x). Mostly align these - some further work will be needed. Issue raised by tb@ who also wrote some test code.
* Mop up more BN_DEBUG related code.jsing2022-11-307-48/+7
|
* Add missing markup to comments and to RFC 3779 errortb2022-11-291-10/+12
|
* First pass at updating verifier error docstb2022-11-291-13/+41
| | | | | | | | | | X509_verify_cert_error_string() is now thread safe as it no longer returns a static buffer. Document X509_V_ERR_UNSPECIFIED. Stop asserting that the X509_V_ERR_CERT_CHAIN_TOO_LONG code is unused, the new verifier can set it. Add commented versions of various missing error codes in the proper spots and move X509_V_ERR_UNNESTED_RESOURCE where it belongs. prompted by claudio
* Remove a few doubled spaces and wrap an overlong linetb2022-11-291-8/+9
|
* Sort a few outliers by increasing error number to match x509_vfy.htb2022-11-291-13/+13
|
* Fix includestb2022-11-291-11/+2
| | | | | No need for errno, stdio, time, asn1, buffer, evp, lhash, objects, x509 for a switch containing string constants. We do need x509_vfy instead.
* Add missing X509_V_ERR_UNSPECIFIED casetb2022-11-291-1/+3
|