Rewrite ec_point_cmp()
This removes some complications due to handling the fast path for affine
points and general points at the same time. The result is a bit more code
but both paths should be much easier to follow.
ok jsing kenjiro
update-plist: ensure all LIB*_VERSION have a matching file in PLISTs
This had been the case before the rewrite but was left as a TODO in the
new code. This makes update-plist complain about SHARED_LIB entries that
don't exist as a file, which avoids fiddly and error prone grep for huge
library ports like abseil-cpp and boost.
from espie, thanks
mlkem: fix mklem_{generate_key,encap}_external_entropy() declarations
The prototypes used sized arrays appropriate only for MLKEM768 while the
declarations used pointers. For some reason clang doesn't flag this but
gcc does. In any case it was wrong. The callers of these functions check
that they pass in the correct size. Which is weird but the mlkem directory
has an unbelievable amount of mess and bad code.
found by/ok jsing
mlkem: garbage collect the unusd mlkem_{generate_key,encap}()
These are flagged by more recent gcc since declarations and definitions
don't match (sized array vs pointer). Also an array was checked for NULL.
found by/ok jsing
stub 'time' command; OK miod
octeon (like loongson at least) lacks clock code and thus the 'time'
command besides MD boot* manuals.
Since unsupported commands are treated as file names and explicit
kernels overrule any /bsd.{boot,upgrade} fallback in general,
this causes sysupgrade to not kick in until boot.conf is fixed:
>> OpenBSD/octeon BOOT 1.5
upgrade detected: switching to /bsd.upgrade
failed to load kernel sd0a:time: No such file or directory
will try /bsd
boot>
NOTE: random seed is being reused.
booting sd0a:/bsd
Make 'time' do nothing and return success to ensure it doesn't effect
subsequent execution.
prune previous libLLVM; OK jca deraadt
Reclaiming ~10% of that gigabyte sysupgrade now wants in /usr/ seems nice:
octeon -r--r--r-- 1 root bin 106M Apr 14 2025 /usr/lib/libLLVM.so.8.0
amd64 -r--r--r-- 1 root bin 82.6M Jun 10 2025 /usr/lib/libLLVM.so.8.0
distrib/sets/lists/base/md.* shows macppc as last arch to switch to 9.0
(even bigger) on 01.08.25, so nothing should use old libs anymore by now.
Check absoloute free space rather than usage percentage
10% on big (single filesystem) disks can still be plenty enough;
on the flip side, e.g. 10% of 3G /usr is often still too tight.
So instead of ">= 90% used", use "< 1G free" to bail out early.
Input OK sthen
Provide LIBRESSL_USE_.*_ASSEMBLY defines.
Make life easier for portable by providing LIBRESSL_USE_.*_ASSEMBLY
defines, which enable/disable assembly for a specific algorithm. This
means that selected platforms can include the assembly files and specify
a define, rather than having to try to patch the crypto_arch.h headers.
Discussed with tb@
Remove because it requires jdk-1.8.0 to run. Newer releases removed the
functionality and moved it to a TLS-Anvil but that does not work here.
ok tb@ armani@
Protect <endian.h> inclusion from assembly code.
Fixes build failure reported on arm by deraadt@. ok jca@
(Note: the arm assembly code doesn't need the WORDS_BIGENDIAN)
Replace MD5_ASM with function specific defines.
Use the same pattern that is now used for most other code - provide
HAVE_MD5_BLOCK_DATA_ORDER and use this to selectively enable source code.
Replace GHASH_ASM with function specific defines.
Use the same pattern that is now used for most other code - provide HAVE_*
defines for functions and use these to selectively enable source code.