summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/merge.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-11-10Use tls_buffer for alert and handshake fragments in the legacy stack.jsing5-49/+94
This avoids a bunch of pointer munging and a handrolled memmove. ok tb@
2022-11-10Finish migrating to one source file per line.joshua1-17/+78
ok jsing@ tb@
2022-11-10In asn1.h rev. 1.65, beck@ provided ASN1_TIME_set_string_X509(3),schwarze1-11/+139
ASN1_TIME_normalize(3), ASN1_TIME_to_tm(3), ASN1_TIME_cmp_time_t(3), and ASN1_TIME_compare(3). Merge documentation from the OpenSSL 1.1.1 branch, which is still under a free license, with tweaks by me in several respects to match our implementation, and also using some feedback from beck@. OK beck@.
2022-11-10Allow explicit cert trusts or distrusts for EKU anybeck1-4/+6
This matches the current OpenSSL behaviour introduced in their commit: commit 0daccd4dc1f1ac62181738a91714f35472e50f3c Date: Thu Jan 28 03:01:45 2016 -0500 ok jsing@ tb@
2022-11-10Add regress coverage for Ed25519 and X25519 EVP interfaces.jsing2-2/+838
2022-11-10Implement EVP interfaces for Ed25519 and X25519.jsing8-7/+902
ok beck@ tb@
2022-11-10Remove obsolete function, struct, and macro namesschwarze1-5/+0
that tb@ removed from asn1.h on January 14: rev. 1.58: ASN1_CTX ASN1_const_CTX rev. 1.60: ASN1_OBJECT_FLAG_CRITICAL ASN1_OBJECT_FLAG_DYNAMIC rev. 1.60: ASN1_OBJECT_FLAG_DYNAMIC_DATA ASN1_OBJECT_FLAG_DYNAMIC_STRINGS rev. 1.61: NETSCAPE_X509 NETSCAPE_X509_free NETSCAPE_X509_new rev. 1.61: d2i_NETSCAPE_X509 i2d_NETSCAPE_X509
2022-11-10Map objects for ED25519 to Ed25519.jsing1-1/+7
OpenSSL used ED25519, even though the RFCs use Ed25519 - as such, we get to provide both. ok tb@
2022-11-10Continue migrating to one source file per line.joshua1-30/+121
ok jsing@ tb@
2022-11-10Provide digestsign/digestverify hooks for EVP_PKEY_METHOD.jsing4-4/+32
These are needed for EVP implementations of Ed25519 and X25519. ok beck@ tb@
2022-11-10Continue migrating to one source file per line.joshua1-37/+163
ok jsing@ tb@
2022-11-10Port EVP raw key API from OpenSSL.jsing4-5/+116
This will be needed to deal with Curve25519 based keys. ok beck@ tb@
2022-11-10Port ASN1_buf_print() from OpenSSL 1.1.jsing2-2/+34
This is needed to print byte array based keys, such as Ed25519 and X25519. ok beck@ tb@
2022-11-10Continue migrating to one source file per line.joshua1-26/+110
ok jsing@ tb@
2022-11-10Use /tmp as opposed of /var/tmp as the default directory for temporaryanton1-2/+2
files.
2022-11-10Fix a few more leaks in *_print() functions.tobhe2-14/+28
ok jsing@
2022-11-10Move bn_prime.h to the public domain.tb1-57/+4
It's entirely trivial. ok beck
2022-11-09Start migrating to one source file per line.joshua1-18/+83
ok jsing@ tb@
2022-11-09Remove prime_t remnant and link bn_primes test staticallytb2-3/+4
2022-11-09Sync CBS_strdup() documentation update from libcrypto.jsing1-6/+4
2022-11-09Move table in bn_primes.h to a .c file and get rid of prime_ttb5-335/+292
This way we deduplicate two inclusions of the same big table and eliminate lots of stupid casts. input and ok many
2022-11-09Fix up indentation for EVP_PKEY_* defines.jsing1-19/+19
2022-11-09Revise CBS_strdup() documentation.jsing1-6/+4
CBS_strdup() now internally checks if the data contains NUL, failing if it does. Prompted by beck@
2022-11-09Clean up EVP_PKEY_METHOD related tables and code.jsing1-56/+41
This is effectively the same as done for EVP_PKEY_ASN1_METHOD, although this table only has nine entries. ok tb@
2022-11-09Clean up EVP_PKEY_ASN1_METHOD related tables and code.jsing1-87/+52
Rather than messing around with an OBJ_bsearch() for a table that contains 16 entries (and a stack find for any application added methods), simply do a reverse linear scan. This maintains the application method first behaviour, while removing a chunk of code. While here rename some variables and do some style clean up. ok tb@
2022-11-09Add tests for boundary conditions of struct tm.beck1-1/+125
Struct tm is limited by it's year being an int.
2022-11-09Revise ED25519 regress following API changes.jsing1-25/+5
2022-11-09Make X25519_public_from_private() internally reachable.jsing2-5/+8
2022-11-09Rename public_value to public_key for consistency.jsing1-9/+9
ok tb@
2022-11-09Rework ED25519 API.jsing3-45/+40
BoringSSL implemented a compound private key, which includes a copy of the public key as a performance optimisation for signing. However, this does not readily match with how EVP works, makes the ED25519 API inconsistent with the X25519 API, diverges from th RFC and does not align with the OpenSSL API. Instead, the caller can readily compute the public key and pass this in to the signing process. ok tb@
2022-11-09Add some regress coverage for EVP_PKEY_METHOD.jsing1-3/+40
2022-11-09Sort EVP_PKEY_METHOD externs.jsing1-5/+10
2022-11-09Sort EVP_PKEY_ASN1_METHOD externs.jsing1-6/+6
2022-11-09Add some regress coverage for EVP_PKEY_ASN1_METHODjsing2-2/+118
2022-11-09Inline use of bn_is_prime_bpsw()tb1-24/+20
Instead of using the BN_is_prime_fasttime_ex() API, use a direct call to bn_is_prime_bpsw(). This increases readability and simplifies error handling. Also put a division by two to the natural place now that we no longer need to do Miller-Rabin rounds. ok beck jsing
2022-11-09Remove unnecessary sizeofjoshua2-6/+6
ok jsing@ tb@
2022-11-09Next pass of bn_prime.c cleanuptb1-39/+29
Garbage collect a few pointless variables and remove a loop that wasn't really a loop. Simplify BN_CTX handling and drop some stupid comments. ok jsing miod
2022-11-09Drop some dead codetb1-136/+1
ok jsing
2022-11-09Fix possible memory leak in BN_mpi2bn() if BN_bin2bn() fails.tobhe1-3/+7
found with CodeChecker feedback from millert@ ok tb@
2022-11-08In case lh_OBJ_NAME_insert returns NULL due to a failed malloc, onpmbuhl1-1/+2
is leaked in OBJ_NAME_add. ok tb Found by CodeChecker.
2022-11-08Rename out to err to conform with standard naming scheme.tobhe1-4/+4
2022-11-08Fix leak of pk if EVP_PKEY_set1_DSA() fails.tobhe1-5/+9
Found with CodeChecker ok jsing@
2022-11-08Refactor/split ED25519_keypair.jsing2-16/+24
This brings in ED25519_keypair_from_seed() from BoringSSL commit c034e2d3ce16, which ED25519_keypair then wraps. This reduces differences between us and BoringSSL.
2022-11-08Change function argument to reduce differences with BoringSSL.jsing1-2/+2
2022-11-08Remove pointless loops.jsing1-13/+1
From BoringSSL 997c706d43504.
2022-11-08Avoid signed integer overflow in i2c_ASN1_BIT_STRING()tb1-5/+9
If the length of the bitstring is INT_MAX, adding 1 to it is undefined behavior, so error out before doing so. Based on BoringSSL eeb3333f by davidben ok beck joshua
2022-11-08Add missing $OpenBSD$beck1-0/+1
2022-11-08Fix leak of pk if EVP_PKEY_set1_RSA() fails.tobhe1-5/+9
Found with CodeChecker feedback and ok tb@
2022-11-08Replace the old OpenSSL julian date stuff with BoringSSL'sbeck7-326/+289
OpenSSL dealt with time conversion using a classical julian day scheme. BoringSSL got rid of it and uses only a julian style calculation for seconds since the POSIX time epoch. This changes libressl to use the seconds calculation exculusively instead of a mix of the julian day based conversions and the system time conversions to and from time_t to tm. ok tb@ jsing@
2022-11-07Wrap long linesjoshua1-3/+5
ok jsing@