summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/reallocarray.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-08-30Remove tests that are now covered by regress/lib/libssl/verifytb1-65/+2
2021-08-30hook verify regress test to buildtb1-1/+2
2021-08-30Revert accidental committb7-35/+18
2021-08-30link verify regress tests to buildtb7-18/+35
2021-08-30Reimplement part of the openssl/x509 regress tests in Ctb3-0/+521
Instead of using s_client and s_server and complicated shell scripts, we can reuse the framework from the ssl_get_shared_cipher() regress test and inspect the verify return value directly. Discussed with beck jan jsing
2021-08-30Ignore warning alert returns from servername callback in TLSv1.3tb1-3/+7
If a servername callback returns SSL_TLSEXT_ERR_ALERT_WARNING, this results in a fatal error in TLSv1.3 since alert levels are implicit in the alert type and neither close_notify nor user_canceled make sense in this context. OpenSSL chose to ignore this, so we need to follow suit. Found via a broken servername callback in p5-IO-Socket-SSL which returns a Boolean instead of SSL_TLSEXT_ERR_*. This happened to have worked before TLSv1.3 since warning alerts are often ignored. This "fixes" sni.t and sni-verify.t in p5-IO-Socket-SSL. ok beck jsing
2021-08-30Clean up end of do_body in openssl(1) cainoguchi1-6/+8
suggested from tb@
2021-08-30Remove NULL check before free in openssl(1) cainoguchi1-41/+25
ok tb@
2021-08-30Admit that we return error 20 in the failure case here. Changingbeck1-5/+5
our verifier to return 21 results in other regress failures in ruby and perl.
2021-08-30Revert previous change that changed our default return for unable tobeck1-11/+5
find leaf cert issuers. This breaks perl and ruby regress, as noticed by tb that "we tried this before". Jan's regress that cares about 21 vs 20 needs to change ok tb@
2021-08-30Fix Jan's regress in openssl/x509 to do what it says it does,beck2-13/+15
then fix the only thing it still has complaints about which is that we don't return the leaf version of the error code when we can't verify the leaf (as opposed to the rest of the chain) ok jan@ tb@
2021-08-29Do not call X509_alias_get0(3) with NULL as the second argument.schwarze1-5/+7
Even if the buffer is guaranteed to be NUL-terminated in a particular case, it is still setting a bad example. Besides, it is unclear to me whether there is any such guarantee in the case at hand. Checking that would require auditing all of d2i_X509_bio(3), ASN1_item_d2i_bio(&NETSCAPE_X509_it, ...), PEM_read_bio_X509_AUX(3), and PKCS12_parse(3), since no such guarantee is documented for any of these functions, and even then it would remain fragile with respect to later changes of implementation details. In the worst case, this could potentially result in a read buffer overrun. OK tb@ on an earlier version of this patch. While we are here, deraadt@ requested to not use the word "string" in the name of a variable that is not a string in the sense of the C language.
2021-08-29Don't call the verify callback twice on success.beck1-2/+1
This fixes a problem in the perl regress where it notices the callback is called twice and complains. ok tb@ bluhm@
2021-08-29Pass the -quiet option to openssl s_server to make it ignore EOF.tb1-6/+6
This makes some tests run from the Makefile behave as they should.
2021-08-29Add back the echo Q thing.tb1-5/+5
2021-08-29Start naccept .desc with a capitaltb1-2/+2
noted by inoguchi
2021-08-29Use s_server -naccept 1 and remove echo "Q" | openssl s_client hack.tb1-12/+11
2021-08-29Implement -naccept in the s_server.tb4-11/+29
doc fixes/ok jmc ok beck
2021-08-28Get rid of historical code to extract the roots in the legacy case.beck3-78/+33
Due to the need to support by_dir, we use the get_issuer stuff when running in x509_vfy compatibility mode amyway - so just use it any time we are doing that. Removes a bunch of yukky stuff and a "Don't Look Ethel" ok tb@ jsing@
2021-08-28Clean up and simplify ssl3_dispatch_alert() and ssl3_send_alert().jsing1-30/+32
ok inoguchi@ tb@
2021-08-28Only remove the directories if there's an obj/ or obj@tb1-2/+4
2021-08-28Add a pass using the modern vfy with by_dir roots, code by me, script tobeck3-15/+106
generate certdirs by jsing, and make chicken sacrifies by tb. ok tb@ jsing@
2021-08-28Zap blanks before tabs.tb1-4/+4
2021-08-28Add RCS markertb1-0/+1
2021-08-28Add case 2c to the go side. Don't tell jsing I touched go.beck1-0/+1
2021-08-28Remove the "dump_chain" flag and code. This was a workaround for a problem wherebeck2-16/+4
roots were not checked correctly before intermediates that has since been fixed and is no longer necessary. It is regress checked by case 2c in regress/lib/libcrypto/x509/verify.c ok jsing@ tb@
2021-08-28Check X509_get_notAfter return value in openssl(1) ca.cinoguchi1-3/+5
2021-08-28Use strndup instead of malloc, memcpy and NULL termination in openssl(1) ca.cinoguchi1-11/+4
suggested from tb@ for do_updatedb(), and applied the same for do_body() and do_revoke().
2021-08-28Remove ASN1_TIME_new and use NULL for X509_gmtime_adj, free tmptm in err pathinoguchi1-15/+7
comments from tb@
2021-08-28Unwrap lines in openssl(1) ca.cinoguchi1-5/+3
suggested from tb@
2021-08-28Avoid leak with X509_REVOKED variable in openssl(1) ca.cinoguchi1-1/+3
pointed out by tb@
2021-08-28Checking the return value in openssl(1) ca.cinoguchi1-41/+127
Some functions are used without verifying the return value in openssl(1) ca. This diff adds checking for the function return value. With this diff, I changed return value of the write_new_certificate from void to int to return the condition to the caller. ok and comments from tb@
2021-08-27Add regress test testing having the root cert in the intermediate bundlebeck5-1/+96
2021-08-27Remove unused #include <assert.h>.tb1-2/+1
This is from upstream where there is an assert() that EVP_MD_size(digest) matches the length returned by HMAC(). We avoid asserts in our libraries. From Martin Vahlensieck
2021-08-24Fix various read buffer overflow when printing ASN.1 strings (which aretb4-14/+20
not necessarily NUL terminated). Same as schwarze's fix in t_x509a.c r1.9. From David Benjamin and Matt Caswell (part of the fixes in OpenSSL 1.1.1l) ok inoguchi
2021-08-19Pull roots out of the trust store in the legacy xsc when building chainsbeck3-8/+26
to handly by_dir and fun things correctly. - fixes dlg@'s case and by_dir regress in openssl-ruby ok jsing@
2021-08-18Import regress tests for SM2. Not yet linked to the build.tb4-0/+640
Part of Github PR #105
2021-08-18Import initial code for the SM2 ciphertb7-0/+1870
This adds the SM2 algorithm defined in the Chinese standards GB/T 32918.1-2016, GB/T 32918.2-2016, GB/T 32918.3-2016, GB/T 32918.4-2016 and GB/T 32918.5-2017. This is an ISC licensed implementation contributed by Ribose.inc, based on the same code that was contributed to OpenSSL by Jack Lloyd. The port to LibreSSL was done by Ronald Tse and Nickolay Olshevsky. Github PR #105 I made quite a few cleanup passes on this, but more is needed, some of which will happen in-tree before this is linked to the build. ok deraadt inoguchi (a long time ago), jsing
2021-08-18Add a check_trust call to the legacy chain validation on chain add, rememberingbeck1-2/+10
the result in order to return the same errors as OpenSSL users expect to override the generic "Untrusted cert" error. This fixes the openssl-ruby timestamp test. ok tb@
2021-08-18Refactor the legacy chain validation from the chain adding code into itsbeck1-52/+70
own function, in preparation for subesquent change. No functional change. ok tb@
2021-08-16typo in commenttb1-2/+2
2021-08-11add new (unsupported) eddsa in certificate verify teststb1-1/+3
2021-08-06link X509_STORE_get_by_subject(3) and X509_ocspid_print(3) to the build,schwarze1-1/+3
forgotten in earlier commits
2021-08-06new manual page X509_ocspid_print(3)schwarze3-6/+66
using input from tb@, and OK tb@ on an earlier version
2021-08-06add a roff(7) comment marking the API function X509_get_default_private_dir()schwarze1-2/+5
as intentionally undocumented because it is trivial and unused in the wild; OK tb@
2021-08-04SSL_CTX_remove_session() checks for a NULL session, avoid doing it twice.jsing1-2/+2
Noted by tb@ during review of a larger change.
2021-08-03Document X509_get_default_cert_dir_env(3)schwarze1-8/+35
and X509_get_default_cert_file_env(3). LibreSSL itself does not call getenv(3), but a few application programs including epic5, fetchmail, fossil, slic3r call these functions, so in case programmers find them in existing code, telling them what they do seems useful.
2021-08-03Document X509_get_default_cert_area(3).schwarze1-7/+41
Put it into this page because this is the code actually using it. Despite its name and include file, it is unrelated to X.509 and unrelated to certificates: it is just the default directory containing the library configuration file, openssl.cnf(5).
2021-08-02tweaks regarding X509_LOOKUP_by_subject(3):schwarze1-8/+28
* document the X509_OBJECT output parameter * more precision regarding return values * clarify relationship with X509_LOOKUP_ctrl(3) for the dir lookup method
2021-08-02new manual page X509_STORE_get_by_subject(3)schwarze5-12/+212