tb [Fri, 14 Apr 2023 15:34:08 +0000 (15:34 +0000)]
Add a missing void
tb [Fri, 14 Apr 2023 15:31:17 +0000 (15:31 +0000)]
Add two missing void to appease clang 15
There is another thing clang 15 is whining about - this will be resolved
in upcoming work by dv.
ok dv
tb [Fri, 14 Apr 2023 15:27:13 +0000 (15:27 +0000)]
Drop policy printing from openssl
Nothing really uses the policy tree. It's desgined with built-in DoS
capabilities directly from the RFC. It will be removed from the attack
surface and replaced with something equivalent that doesn't grow
exponentially with the depth.
This removes the only reason the policy tree itself ever leaked out of
the library.
ok jsing
robert [Fri, 14 Apr 2023 15:00:40 +0000 (15:00 +0000)]
check if there is actually anything to extract from the firmware tarball
on apple silicon so that we don't fill up the ramdisk by extracting the
whole tarball
while here, change the code so that the machdep.compatible sysctl gets
read once and then that value is used in the script instead of calling
sysctl several times
from input and ok kn@, kettenis@
tb [Fri, 14 Apr 2023 14:36:13 +0000 (14:36 +0000)]
cttest: plug leak due to missing SCT_LIST_free()
tb [Fri, 14 Apr 2023 14:23:05 +0000 (14:23 +0000)]
Plug a memleak caused by an extra bump of a refcount
SSL_set_session() should really be called SSL_set1_session()...
tb [Fri, 14 Apr 2023 14:14:39 +0000 (14:14 +0000)]
Cast the uint64_t SCT timestamps to (unsigned long long) for printing.
What a wonderful choice between this and that PRI ugliness...
stsp [Fri, 14 Apr 2023 12:45:10 +0000 (12:45 +0000)]
Wire up the iwm_updatechan and iwx_updatechan callbacks.
These callbacks were not reachable by mistake. This change is a first step
towards preventing iwx SYSASSERT 0x20101A28 as seen by beck@ and Mikhail
when an 11ac AP switches channel width. The callbacks may still not trigger
after this change. Possibly because APs use channel switch announcements (CSA)
which we currently ignore. We only check the 11n HTOP IE for channel info.
We may eventually need to add CSA support in order to detect channel
width changes in 11ac mode.
No regressions seen by jmc@ on iwx, nor by florian@, millert@ on iwm
tb [Fri, 14 Apr 2023 12:41:26 +0000 (12:41 +0000)]
Make the signertest work better with the portable test framework
tb [Fri, 14 Apr 2023 12:38:30 +0000 (12:38 +0000)]
Make the apitest work better with the portable tets framework
tb [Fri, 14 Apr 2023 12:37:20 +0000 (12:37 +0000)]
Make cttest work better with the portable test harness
tb [Fri, 14 Apr 2023 11:18:40 +0000 (11:18 +0000)]
Fix cttest to use public header
jsing [Fri, 14 Apr 2023 11:10:11 +0000 (11:10 +0000)]
Rename the largely misnamed bn_print.c to bn_convert.c
This file primarily contains the various BN_bn2*() and BN_*2bn() functions
(along with BN_print() and BN_options()). More function shuffling will
follow.
Discussed with tb@
jsing [Fri, 14 Apr 2023 11:04:24 +0000 (11:04 +0000)]
Provide and use bn_copy_words() in BN_copy().
This is simpler than the current code, while still being well optimised by
compilers, across a range of architectures. In many cases we even get a
performance gain for the BN sizes that we primarily care about.
Joint work with tb@
jsing [Fri, 14 Apr 2023 10:45:15 +0000 (10:45 +0000)]
Add support for truncated SHA512 variants.
This adds support for SHA512/224 and SHA512/256, as specified in FIPS
FIPS 180-4. These are truncated versions of the SHA512 hash.
ok tb@
jsing [Fri, 14 Apr 2023 10:42:51 +0000 (10:42 +0000)]
Provide soon to be used crypto_store_htobe32().
ok tb@
jsing [Fri, 14 Apr 2023 10:41:34 +0000 (10:41 +0000)]
Use memset() and only initialise non-zero struct members.
ok tb@
tb [Fri, 14 Apr 2023 06:47:07 +0000 (06:47 +0000)]
Fix double free in error path in openssl(1) x509
A conversion from X509_REQ_get_pubkey() to X509_REQ_get0_pubkey() missed
one free of pkey in an unlikely error path. After the conversion pkey is
no longer owned by us, so we mustn't free it.
ok jsing
dlg [Fri, 14 Apr 2023 01:11:32 +0000 (01:11 +0000)]
add support for "rockchip,cryptov2-rng"
the steps to operate rockchip,cryptov2-rng are basically the same
as the existing rockchip,cryptov1-rng support, but the registers
and bits have moved around. add some abstraction for the register
differences and have the state machine call the different backends.
this is present on rk356x chips as the "True Random Number Generator
(TRNG)".
tested on a bunch of different rk3568 boards.
ok kettenis@
tb [Fri, 14 Apr 2023 00:23:16 +0000 (00:23 +0000)]
A tab snuck in
dlg [Thu, 13 Apr 2023 23:02:12 +0000 (23:02 +0000)]
add the "local experiments" ethertypes
millert [Thu, 13 Apr 2023 19:57:30 +0000 (19:57 +0000)]
Avoid an overflow in the ELF SYSV ABI hash function.
The hash function is supposed to return a value less than or equal
to 0x0fffffff. Due to a bug in the sample code supplied with the
ELF SYSV ABI documentation, the hash function can overflow on 64-bit
systems. Apply the same fix used by GNU libc, MUSL libc and FreeBSD.
Prompted by https://maskray.me/blog/2023-04-12-elf-hash-function
OK tb@ miod@
miod [Thu, 13 Apr 2023 19:39:50 +0000 (19:39 +0000)]
Sprinkle UL suffix to constant literals which don't fit in int. NFCI
miod [Thu, 13 Apr 2023 18:29:35 +0000 (18:29 +0000)]
Catch up with box drawing characters which have been standardized in unicode
after the original wscons code was written and chose placeholder values.
From NetBSD (wsemul_vt100_chars.c r1.8 and r1.14) via Crystal Kolipe, thanks!
tb [Thu, 13 Apr 2023 18:20:21 +0000 (18:20 +0000)]
Use ANSI-style functions for Base64 wrappers
Silences a few -Wdeprecated-non-prototype warnings emitted by clang 15.
ok bluhm miod
job [Thu, 13 Apr 2023 17:04:02 +0000 (17:04 +0000)]
Check whether products listed on a manifest were issued by the same authority as the manifest itself
OK tb@
claudio [Thu, 13 Apr 2023 15:51:16 +0000 (15:51 +0000)]
Simplify how IMSG_CTL_SHOW_RIB_COMMUNITIES is constructed. This can just
call imsg_compose() and be done with it.
OK tb@
miod [Thu, 13 Apr 2023 15:36:28 +0000 (15:36 +0000)]
Grammar fixes in comments.
miod [Thu, 13 Apr 2023 15:23:21 +0000 (15:23 +0000)]
pmap_copy() has never, ever, been implemented in any of the platforms OpenBSD
ever ran on, and it's unlikely to ever be implemented, so remove it.
ok jsg@
tb [Thu, 13 Apr 2023 15:18:29 +0000 (15:18 +0000)]
The NBs have been duly noted and ignored. Drop them.
tb [Thu, 13 Apr 2023 15:15:43 +0000 (15:15 +0000)]
Zap trailing whitespace
miod [Thu, 13 Apr 2023 15:07:42 +0000 (15:07 +0000)]
Remove intentionally undocumented pci_{io,mem}_find and convert their last
few users to pci_mapreg_info().
ok jsg@
miod [Thu, 13 Apr 2023 15:05:19 +0000 (15:05 +0000)]
Move USRSTACK to the end of userland address space.
tb [Thu, 13 Apr 2023 15:04:19 +0000 (15:04 +0000)]
Remove files that definitely contain no code anymore
(experts disagree whether they ever did)
tb [Thu, 13 Apr 2023 15:01:18 +0000 (15:01 +0000)]
Drop now useless files from the Makefile
tb [Thu, 13 Apr 2023 15:00:24 +0000 (15:00 +0000)]
Fold ECDSA sign and verify mess into ecs_ossl.c
discussed with jsing
tb [Thu, 13 Apr 2023 14:59:13 +0000 (14:59 +0000)]
Move RSA_generate_key() from rsa_depr.c to rsa_gen.c
Discussed with jsing
tb [Thu, 13 Apr 2023 14:58:27 +0000 (14:58 +0000)]
Move DSA_generate_parameters() from dsa_depr.c to dsa_gen.c
Discussed with jsing
tb [Thu, 13 Apr 2023 14:57:00 +0000 (14:57 +0000)]
Move DH_generate_parameters() from dh_depr.c to dh_gen.c
discussed with jsing
claudio [Thu, 13 Apr 2023 11:52:43 +0000 (11:52 +0000)]
Sort commands alphabetically both in the tables and manpage.
OK tb@
mbuhl [Thu, 13 Apr 2023 11:32:06 +0000 (11:32 +0000)]
Fix compilation on sparc64.
kn [Thu, 13 Apr 2023 10:23:21 +0000 (10:23 +0000)]
zap leftover lines from previous
tb [Thu, 13 Apr 2023 07:44:12 +0000 (07:44 +0000)]
ec_lib.c: fix a few NULL misspellings
tb [Thu, 13 Apr 2023 06:48:18 +0000 (06:48 +0000)]
Fix various early return issues spotted by coverity
A large mechanical diff led to sloppy review and gave coverity an
opportunity to be right for once. First time in a good many weeks.
same diff/ok jsing
tb [Thu, 13 Apr 2023 05:25:30 +0000 (05:25 +0000)]
ectest: missing error checking
CID 452228
jsg [Thu, 13 Apr 2023 02:19:04 +0000 (02:19 +0000)]
remove duplicate includes
ok deraadt@ miod@ krw@
claudio [Wed, 12 Apr 2023 17:19:16 +0000 (17:19 +0000)]
bgpctl network bulk requires now the specification of 'add' or 'delete'.
In the add case the extra attributes can be specified afterwards.
This makes the parser behave cleaner since 'add' and 'delete' are removed
from the attribute set table.
OK tb@
kn [Wed, 12 Apr 2023 16:14:42 +0000 (16:14 +0000)]
Pull MP-safe arprequest() out of kernel lock
Defer sending after unlock, reuse `refresh' from similar construct.
OK bluhm
kettenis [Wed, 12 Apr 2023 15:56:33 +0000 (15:56 +0000)]
regen
kettenis [Wed, 12 Apr 2023 15:56:08 +0000 (15:56 +0000)]
Add BCM4388.
ok patrick@, deraadt@
jmc [Wed, 12 Apr 2023 15:26:26 +0000 (15:26 +0000)]
correct the entry for chilepeso; from jan stary
jsg [Wed, 12 Apr 2023 14:22:04 +0000 (14:22 +0000)]
remove duplicate signal.h include
krw [Wed, 12 Apr 2023 13:11:37 +0000 (13:11 +0000)]
Simplify code by folding uuid_attr() into PRT_protected_uuid().
No functional change.
krw [Wed, 12 Apr 2023 12:35:30 +0000 (12:35 +0000)]
Clarify logic in PRT_uuid_to_menudflt() by using find_gpt_menuitem().
No functional change.
kettenis [Wed, 12 Apr 2023 10:12:42 +0000 (10:12 +0000)]
regen
kettenis [Wed, 12 Apr 2023 10:12:14 +0000 (10:12 +0000)]
Add PCI IDs for the 2nd generation Aquantio 10G NICs.
ok mlarkin@
jsg [Wed, 12 Apr 2023 09:55:22 +0000 (09:55 +0000)]
remove duplicate lines
claudio [Wed, 12 Apr 2023 09:09:41 +0000 (09:09 +0000)]
Add test for multiprotocol announce statements
jsg [Wed, 12 Apr 2023 09:07:42 +0000 (09:07 +0000)]
remove duplicate lines
jsg [Wed, 12 Apr 2023 08:53:54 +0000 (08:53 +0000)]
fix double words
ok dtucker@
claudio [Wed, 12 Apr 2023 08:32:27 +0000 (08:32 +0000)]
Fix 24bit maximum/mask in manpage. Noticed by wangqr on github.
jsing [Wed, 12 Apr 2023 05:16:08 +0000 (05:16 +0000)]
Remove now unused sha_local.h.
jsing [Wed, 12 Apr 2023 04:54:15 +0000 (04:54 +0000)]
Provide and use crypto_ro{l,r}_u{32,64}().
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@
jsing [Wed, 12 Apr 2023 04:40:39 +0000 (04:40 +0000)]
Provide and use crypto_store_htobe64().
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@
job [Wed, 12 Apr 2023 03:53:40 +0000 (03:53 +0000)]
Align printing of geofeed records in filemode
jsg [Wed, 12 Apr 2023 02:20:07 +0000 (02:20 +0000)]
remove unused buffer selection code
ok visa@
krw [Tue, 11 Apr 2023 21:14:19 +0000 (21:14 +0000)]
Abstract find_[gpt|mbr]_menuitem() to simplify code and
prepare for future uses.
No functional change.
jsing [Tue, 11 Apr 2023 18:58:20 +0000 (18:58 +0000)]
Handle BN_CTX at the EC API boundary.
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@
jsing [Tue, 11 Apr 2023 18:53:20 +0000 (18:53 +0000)]
Clean up unused BIGNUM.
krw [Tue, 11 Apr 2023 17:26:59 +0000 (17:26 +0000)]
Simplify code by passing pointers to the appropriate type to
find_gpt_desc() and find_mbr_desc().
No functional change.
schwarze [Tue, 11 Apr 2023 16:58:43 +0000 (16:58 +0000)]
Document the RETURN VALUES of BIO_method_type(3) and BIO_method_name(3)
for the various BIO types.
krw [Tue, 11 Apr 2023 16:34:51 +0000 (16:34 +0000)]
Shuffle mbr and gpt function prototypes and declarations together.
No functional change.
tb [Tue, 11 Apr 2023 15:38:55 +0000 (15:38 +0000)]
Recommit jsing's r1.27 - portable is ready
Use htobe64() instead of testing BYTE_ORDER and then handrolling htobe64().
Thanks to tobhe for providing most of the fix via openiked-portable
schwarze [Tue, 11 Apr 2023 15:35:31 +0000 (15:35 +0000)]
While all the BIO_TYPE_* constants are part of the API, most of their
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.
espie [Tue, 11 Apr 2023 15:02:56 +0000 (15:02 +0000)]
be more forceful in pointing people to bulk(8) and proot(1).
tb [Tue, 11 Apr 2023 13:03:03 +0000 (13:03 +0000)]
Back out r1.27 using htobe64() - apparently some OS don't have it.
ok jsing
espie [Tue, 11 Apr 2023 11:23:09 +0000 (11:23 +0000)]
give people a chance to find bulk(8) from proot(1)
jsing [Tue, 11 Apr 2023 10:41:10 +0000 (10:41 +0000)]
Consolidate sha1 into a single file.
jsing [Tue, 11 Apr 2023 10:39:50 +0000 (10:39 +0000)]
Consolidate sha1 into a single file.
jsing [Tue, 11 Apr 2023 10:35:21 +0000 (10:35 +0000)]
Simplify handling of big vs little endian.
Rather than sprinkling BYTE_ORDER checks throughout the implementation,
always define PULL64 - on big endian platforms it just becomes a no-op.
ok tb@
jsing [Tue, 11 Apr 2023 10:32:21 +0000 (10:32 +0000)]
Use htobe64() instead of testing BYTE_ORDER and then handrolling htobe64().
ok tb@
jsing [Tue, 11 Apr 2023 10:26:29 +0000 (10:26 +0000)]
Omit sha512_block_data_order() prototype when assembly is not being used.
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@
jsing [Tue, 11 Apr 2023 10:21:02 +0000 (10:21 +0000)]
Remove less than useful implementation notes.
ok tb@
tb [Tue, 11 Apr 2023 10:10:52 +0000 (10:10 +0000)]
bn_mod_sqrt: remove no longer necessary complications due to the
non-deterministic nature of the old implementation.
tb [Tue, 11 Apr 2023 10:08:44 +0000 (10:08 +0000)]
Add a new implementation of BN_mod_sqrt()
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
jsing [Tue, 11 Apr 2023 05:53:53 +0000 (05:53 +0000)]
Correct benchmark result computation on 32 bit platforms.
mglocker [Tue, 11 Apr 2023 04:45:11 +0000 (04:45 +0000)]
Nuke unused function prototype.
Only acknowledge interrupts when one was active.
ok kettenis@
jsg [Tue, 11 Apr 2023 00:45:06 +0000 (00:45 +0000)]
fix double words in comments
feedback and ok jmc@ miod, ok millert@
jsg [Mon, 10 Apr 2023 23:18:08 +0000 (23:18 +0000)]
add missing write of SAB_DAFO
ok miod@ who tested on Ultra 5
tb [Mon, 10 Apr 2023 21:00:16 +0000 (21:00 +0000)]
Some more cleanup in bn_to_string
tb [Mon, 10 Apr 2023 20:59:33 +0000 (20:59 +0000)]
Drop BN_NO_DEPRECATED dance from bn_test
krw [Mon, 10 Apr 2023 19:44:43 +0000 (19:44 +0000)]
Make GPT display of menu hex octet the same as the MBR display.
i.e. two digits.
jsing [Mon, 10 Apr 2023 19:02:30 +0000 (19:02 +0000)]
Provide benchmarks for BN_copy()
tb [Mon, 10 Apr 2023 16:46:00 +0000 (16:46 +0000)]
Fix indentation of structs and unions in x509v3.h
No change according to diff -w
tobhe [Mon, 10 Apr 2023 15:14:04 +0000 (15:14 +0000)]
Enable caps lock LED on modern Apple laptop keyboards.
ok kettenis@ patrick@
tb [Mon, 10 Apr 2023 14:10:26 +0000 (14:10 +0000)]
Make bn_to_string() static
This function is no longer used directly by regress, so it can now be local
to this file.
tb [Mon, 10 Apr 2023 13:57:57 +0000 (13:57 +0000)]
bn_to_string no longer needs to be linked statically
tb [Mon, 10 Apr 2023 13:57:32 +0000 (13:57 +0000)]
Rework the bn_to_string() to use public API
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.
schwarze [Mon, 10 Apr 2023 13:40:16 +0000 (13:40 +0000)]
Various wording tweaks for clarity and precision, and a few for conciseness.
OK jmc@ and Ted Bullock
schwarze [Mon, 10 Apr 2023 13:32:29 +0000 (13:32 +0000)]
More deduplication: talk about environment variable in one place, not two.
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