summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-12remove duplicate linesJonathan Gray
2023-04-12Add test for multiprotocol announce statementsClaudio Jeker
2023-04-12remove duplicate linesJonathan Gray
2023-04-12fix double wordsJonathan Gray
ok dtucker@
2023-04-12Fix 24bit maximum/mask in manpage. Noticed by wangqr on github.Claudio Jeker
2023-04-12Remove now unused sha_local.h.Joel Sing
2023-04-12Provide and use crypto_ro{l,r}_u{32,64}().Joel Sing
Various code in libcrypto needs bitwise rotation - rather than defining different versions across the code base, provide a common set that can be reused. Any sensible compiler optimises these to a single instruction where the architecture supports it, which means we can ditch the inline assembly. On the chance that we need to provide a platform specific versions, this follows the approach used in BN where a MD crypto_arch.h header could be added in the future, which would then provide more specific versions of these functions. ok tb@
2023-04-12Provide and use crypto_store_htobe64().Joel Sing
It is common to need to store data in a specific endianness - rather than handrolling and deduplicating code to do this, provide a crypto_store_htobe64() function that converts from host endian to big endian, before storing the data to a location with unknown alignment. ok tb@
2023-04-12Align printing of geofeed records in filemodeJob Snijders
2023-04-12remove unused buffer selection codeJonathan Gray
ok visa@
2023-04-11Abstract find_[gpt|mbr]_menuitem() to simplify code andKenneth R Westerback
prepare for future uses. No functional change.
2023-04-11Handle BN_CTX at the EC API boundary.Joel Sing
The EC API allows callers to optionally pass in a BN_CTX, which means that any code needing a BN_CTX has to check if one was provided, allocate one if not, then free it again. Rather than doing this dance throughout the EC code, handle the BN_CTX existance at the EC API boundary. This means that lower level implementation code can simply assume that the BN_CTX is available. ok tb@
2023-04-11Clean up unused BIGNUM.Joel Sing
2023-04-11Simplify code by passing pointers to the appropriate type toKenneth R Westerback
find_gpt_desc() and find_mbr_desc(). No functional change.
2023-04-11Document the RETURN VALUES of BIO_method_type(3) and BIO_method_name(3)Ingo Schwarze
for the various BIO types.
2023-04-11Shuffle mbr and gpt function prototypes and declarations together.Kenneth R Westerback
No functional change.
2023-04-11Recommit jsing's r1.27 - portable is readyTheo Buehler
Use htobe64() instead of testing BYTE_ORDER and then handrolling htobe64(). Thanks to tobhe for providing most of the fix via openiked-portable
2023-04-11While all the BIO_TYPE_* constants are part of the API, most of theirIngo Schwarze
values are only part of the ABI and not of the API, so delete them from the SYNOPSIS: application programmers must not rely on the specific values. Instead of listing the specific values, properly describe the meaning of all these constants. However, the values of BIO_TYPE_NONE and BIO_TYPE_START are hard-coded into the API and application programmers need to be aware of their values, so those remain in the SYNOPSIS.
2023-04-11be more forceful in pointing people to bulk(8) and proot(1).Marc Espie
2023-04-11Back out r1.27 using htobe64() - apparently some OS don't have it.Theo Buehler
ok jsing
2023-04-11give people a chance to find bulk(8) from proot(1)Marc Espie
2023-04-11Consolidate sha1 into a single file.Joel Sing
2023-04-11Consolidate sha1 into a single file.Joel Sing
2023-04-11Simplify handling of big vs little endian.Joel Sing
Rather than sprinkling BYTE_ORDER checks throughout the implementation, always define PULL64 - on big endian platforms it just becomes a no-op. ok tb@
2023-04-11Use htobe64() instead of testing BYTE_ORDER and then handrolling htobe64().Joel Sing
ok tb@
2023-04-11Omit sha512_block_data_order() prototype when assembly is not being used.Joel Sing
In the case that the pure C implementation of SHA512 is being used, the prototype is unnecessary as the function is declared static and exists in dependency order. Simply omit the prototype rather than using #ifndef to toggle the static prefix. ok tb@
2023-04-11Remove less than useful implementation notes.Joel Sing
ok tb@
2023-04-11bn_mod_sqrt: remove no longer necessary complications due to theTheo Buehler
non-deterministic nature of the old implementation.
2023-04-11Add a new implementation of BN_mod_sqrt()Theo Buehler
This is a reimplementation from scratch of the Tonelli-Shanks algorithm based on Henri Cohen "A Course in Computational Algebraic Number Theory", Springer GTM 138, section 1.5.1. It is API compatible with the previous implementation, so no documentation change is required. Contrary to the old implementation, this does not have any infinite loops and has various additional sanity checks to prevent misbehavior in case the input modulus is not a prime. It contains extensive comments and the individual parts of the algorithm are split into digestible chunks instead of having one huge function. One difference of note is that it BN_mod_sqrt() now always returns the smaller of the two possible answers. In other words, while its core is non-deterministic, its answer is not. ok jsing
2023-04-11Correct benchmark result computation on 32 bit platforms.Joel Sing
2023-04-11Nuke unused function prototype.Marcus Glocker
Only acknowledge interrupts when one was active. ok kettenis@
2023-04-11fix double words in commentsJonathan Gray
feedback and ok jmc@ miod, ok millert@
2023-04-10add missing write of SAB_DAFOJonathan Gray
ok miod@ who tested on Ultra 5
2023-04-10Some more cleanup in bn_to_stringTheo Buehler
2023-04-10Drop BN_NO_DEPRECATED dance from bn_testTheo Buehler
2023-04-10Make GPT display of menu hex octet the same as the MBR display.Kenneth R Westerback
i.e. two digits.
2023-04-10Provide benchmarks for BN_copy()Joel Sing
2023-04-10Fix indentation of structs and unions in x509v3.hTheo Buehler
No change according to diff -w
2023-04-10Enable caps lock LED on modern Apple laptop keyboards.Tobias Heider
ok kettenis@ patrick@
2023-04-10Make bn_to_string() staticTheo Buehler
This function is no longer used directly by regress, so it can now be local to this file.
2023-04-10bn_to_string no longer needs to be linked staticallyTheo Buehler
2023-04-10Rework the bn_to_string() to use public APITheo Buehler
We can use the undocumented functions {i2s,s2i}_ASN1_INTEGER(3) to exercise bn_to_string(). This way we use public API and remove the need of linking statically.
2023-04-10Various wording tweaks for clarity and precision, and a few for conciseness.Ingo Schwarze
OK jmc@ and Ted Bullock
2023-04-10More deduplication: talk about environment variable in one place, not two.Ingo Schwarze
Clarify that the variables only affect the event_base structure currently being created. They do not disable "library support" as a whole. Sort the variables alphabetically. OK jmc@ and Ted Bullock
2023-04-10fix 'in in'Jonathan Gray
2023-04-10fix setting parity bitsJonathan Gray
ok mglocker@
2023-04-10spellingJonathan Gray
2023-04-09Treat symlinks better in $ORIGIN determination in ld.soGreg Steuck
Now symlinking an executable away from the rest of its installation tree no longer prevents it from finding the libraries. This matches the behavior of other OS linkers. Prompted by a behavior change in lang/ghc test suite. Swapped the order of dirname/realpath in _dl_origin_path. Added some regress tests that pass and then bin3 that fails without this change and reflects the behavior needd for lang/ghc. Suggestion by semarie@, OK deraadt@
2023-04-09So clang 13 miscompiles dev/usb/umass_scsi.c with the combination if -OzMark Kettenis
and -mbranch-protection=bti. So turn off the BTI protection in ramdisk kernels for now. ok deraadt@, miod@, phessler@
2023-04-09Move a few functions out of OPENSSL_NO_DEPRECATEDTheo Buehler
Geoff Thorpe added OPENSSL_NO_DEPRECATED nearly two decades ago. The hope was that at some point some functions can be dropped. Most of the functions marked deprecated are actually unused nowadays but unfortunately some of them are still used in the ecosystem. Move them out of OPENSSL_NO_DEPRECATED so we can define it without breaking the consumers in the next bump. ERR_remove_state() is still used by a dozen or so ports. This isn't a big deal since it is just a stupid wrapper for the not quite as deprecated ERR_remove_thread_state(). It's not worth patching these ports. Annoyingly, {DH,DSA}_generate_parameters() and RSA_generate_key() are still used. They "make use" of the old-style BN_GENCB callback, which is therefore more difficult to remove - in case you don't know know: that's the thing responsible for printing pretty '.', '+' and '*' when you generate keys. Most annoyingly, DH_generate_parameters() was added to rust-openssl in 2020 for "advanced DH support". This is very unfortunate since cargo bundles a rust-openssl and updates it only every few years or so. As a consequence we're going to be stuck with this nonsense for a good while. ok beck jsing