tb [Wed, 12 Jul 2023 07:03:24 +0000 (07:03 +0000)]
Reenable clienttest and servertest
tb [Tue, 11 Jul 2023 17:03:44 +0000 (17:03 +0000)]
Fix last bit of the clienttest, needs ssl_pkt.c r1.66
tb [Tue, 11 Jul 2023 17:02:47 +0000 (17:02 +0000)]
Remove old workaround for F5
F5 is well-known for needing workaround (go read RFC 8446). In this
particular case, it required implementation sending CHs larger than
255 bytes to 0x0300 otherwise their server would hang. This is the
same hang that required the CH padding extension which broke other
implementations. The CH padding extension was removed ~6 years ago,
so hopefully this kludge will no longer needed either.
ok jsing
op [Tue, 11 Jul 2023 16:40:22 +0000 (16:40 +0000)]
drop engine support
diff originally by tb@, tweaked to apply after the useless logging
methods removal.
ok tb
op [Tue, 11 Jul 2023 16:39:41 +0000 (16:39 +0000)]
remove the useless logging methods
Instead of wrapping all the methods of the RSA and ECDSA ENGINE,
duplicate the default and override only the ones that are actually
needed for the privsep crypto engine.
part of a larger diff that's ok tb@
nicm [Tue, 11 Jul 2023 16:09:09 +0000 (16:09 +0000)]
Remove Ns and Li and change Nm to Ic, suggested by jmc.
claudio [Tue, 11 Jul 2023 15:18:31 +0000 (15:18 +0000)]
Bump version for -portable release
claudio [Tue, 11 Jul 2023 12:14:16 +0000 (12:14 +0000)]
No need to initialize the first element of st->string since it was just
calloc(3)-ed a few lines above.
OK tb@
tb [Tue, 11 Jul 2023 11:52:35 +0000 (11:52 +0000)]
Keep servertest silent and align with clienttest
tb [Tue, 11 Jul 2023 10:09:47 +0000 (10:09 +0000)]
Neuter expected server test failures with SSLv2
This test should either be extended or retired. As it is it is useless.
tb [Tue, 11 Jul 2023 08:31:34 +0000 (08:31 +0000)]
Fix most of the clienttest. With this only test cases 9 and 13 fail.
nicm [Tue, 11 Jul 2023 07:34:23 +0000 (07:34 +0000)]
Add descriptions of copy mode commands, from Michael Bianco.
claudio [Tue, 11 Jul 2023 07:02:43 +0000 (07:02 +0000)]
Rework sleep_setup()/sleep_finish() to no longer hold the scheduler lock
between calls.
Instead of forcing an atomic operation across multiple calls use a three
step transaction.
1. setup sleep state by calling sleep_setup()
2. recheck sleep condition to ensure that the event did not fire before
sleep_setup() registered the proc onto the sleep queue
3. call sleep_finish() to either sleep or keep on running based on the
step 2 outcome and any possible signal delivery
To make this work wakeup from signals, single thread api and wakeup(9) need
to be aware if a process is between step 1 and step 3 so that the process
is not enqueued back onto the runqueue while going to sleep. Introduce
the p_flag P_WSLEEP to detect this situation.
On top of this remove the spl dance in msleep() which is no longer required.
It is ok to process interrupts between step 1 and 3.
OK mpi@ cheloha@
anton [Tue, 11 Jul 2023 06:09:32 +0000 (06:09 +0000)]
Trim leading whitespace from find(1) output, missed in previous.
deraadt [Mon, 10 Jul 2023 22:54:40 +0000 (22:54 +0000)]
Allow unveiled programs to dump core (in the default, classic, into . way)
by passing BYPASSUNVEIL just for this vnode. The coredump() code is quite
careful, so this will be fine.
ok kn kettenis semarie
tb [Mon, 10 Jul 2023 20:21:37 +0000 (20:21 +0000)]
Add test case for negative number with highest bit of top octet set
This currently adds an incorrect 00: padding, consistent with OpenSSL's
behavior.
jan [Mon, 10 Jul 2023 19:36:54 +0000 (19:36 +0000)]
ix(4): allocate less memory for tx buffers
TSO packets are limited to MAXMCLBYTES (64k). Thus, we don't need to
allocate IXGBE_TSO_SIZE (256k) per packet for the transmit buffers.
tested by bluhm
ok bluhm@
tb [Mon, 10 Jul 2023 19:10:51 +0000 (19:10 +0000)]
Rename EC_KEY from r to key like in the rest of the file
anton [Mon, 10 Jul 2023 17:46:29 +0000 (17:46 +0000)]
The rsync tests are unstable since the directory listing includes the
last modification timestamp. One directory represents the one rsync is
operating on and the other is our reference to compare against. If the
current time managed to tick up to the next minute between creation of
the two directories, the timestamps will differ.
Improving the normalization in the findme helper makes the tests stable.
ok bluhm@ claudio@
anton [Mon, 10 Jul 2023 17:46:03 +0000 (17:46 +0000)]
Infer the timeout from the environment, with sane defaults. Should
hopefully make these tests more stable on my slow^W regress machines.
ok sashan@
anton [Mon, 10 Jul 2023 17:45:17 +0000 (17:45 +0000)]
Improve err/warn messages:
* The colon space separator is already appended by err/warn.
* Favor err(1, NULL) for malloc errors.
jeremy [Mon, 10 Jul 2023 16:28:33 +0000 (16:28 +0000)]
Don't open files that will be skipped
Previously, when creating an archive file with pax(1), pax will attempt
to open a file even if the file will be skipped due to an -s replacement
with the empty string. With this change, pax will not attempt to open
files that it knows will be skipped.
When doing direct copies to a directory (-rw), pax already skips
the file before attempting to open it. So this makes the behavior
more consistent.
This can measurably speed up pax when skipping a large number of files.
OK tb@
patrick [Mon, 10 Jul 2023 13:48:02 +0000 (13:48 +0000)]
The changes to the register layout affect the interrupt status/ack registers
as well. Make use of these, otherwise it might lead to an interrupt flood.
ok kettenis@
job [Mon, 10 Jul 2023 12:02:37 +0000 (12:02 +0000)]
Update outdated comment
nicm [Mon, 10 Jul 2023 12:00:08 +0000 (12:00 +0000)]
It should no longer be necessary to ignore SIGCHLD because it is now
blocked around daemon(), and doing so causes trouble with newer libevent
(it cannot restore the original handler). Reported by Azat Khuzhin in
GitHub issue 3626.
nicm [Mon, 10 Jul 2023 09:35:46 +0000 (09:35 +0000)]
Loop around waitpid in client, from Azat Khuzhin.
espie [Mon, 10 Jul 2023 09:29:48 +0000 (09:29 +0000)]
finish v5.36, UList was a bit more work
nicm [Mon, 10 Jul 2023 09:24:53 +0000 (09:24 +0000)]
Use a stack for last panes line windows, from Thomas Bertschinger in
GitHub issue 3588.
djm [Mon, 10 Jul 2023 04:51:26 +0000 (04:51 +0000)]
misplaced debug message
guenther [Mon, 10 Jul 2023 03:32:10 +0000 (03:32 +0000)]
Enable Indirect Branch Tracking for amd64 userland, using XSAVES/XRSTORS
to save/restore the state and enabling it at exec-time (and for
signal handling) if the PS_NOBTCFI flag isn't set.
Note: this changes the format of the sc_fpstate data in the signal
context to possibly be in compressed format: starting now we just
guarantee that that state is in a format understood by the XRSTOR
instruction of the system that is being executed on.
At this time, passing sigreturn a corrupt sc_fpstate now results
in the process exiting with no attempt to fix it up or send a
T_PROTFLT trap. That may change.
prodding by deraadt@
issues with my original signal handling design identified by kettenis@
lots of base and ports preparation for this by deraadt@ and the
libressl and ports teams
ok deraadt@ kettenis@
guenther [Mon, 10 Jul 2023 03:31:57 +0000 (03:31 +0000)]
Add PS_NOBTCFI, a per-process flag indicating that Branch Target
Control Flow Integrity has been disabled for the process. At
exec-time, set that flag iff EXEC_NOBTCFI is passed from the ELF
exec bits (which set it based on presence of a PT_OPENBSD_NOBTCFI
segment). This will be used by the amd64 code.
kern_exec.c part by kettenis@
ok guenther@ deraadt@
tb [Mon, 10 Jul 2023 03:26:30 +0000 (03:26 +0000)]
Pull BIGNUM constants out of get_* function bodies
The get_rfc*_prime_* functions will be removed. The constants will remain
for the BN_get_rfc*_prime_* functions. Make the latter call BN_bin2bn()
directly on these constants rather than going through get_*. This avoids
some overlong lines. Also KNF for some comments.
Reduces the diff I currently carry by quite a bit.
tb [Mon, 10 Jul 2023 02:33:33 +0000 (02:33 +0000)]
BIO_indent: use %*s rather than puts in a loop
ok beck jsing millert
tb [Mon, 10 Jul 2023 02:29:28 +0000 (02:29 +0000)]
bn_print: string.h is no longer needed
deraadt [Mon, 10 Jul 2023 00:31:03 +0000 (00:31 +0000)]
sync
nicm [Sun, 9 Jul 2023 22:54:52 +0000 (22:54 +0000)]
Call closefrom after removing signals because newer libevent doesn't
like its signal fd being closed Azat Khuzhin.
tb [Sun, 9 Jul 2023 19:22:43 +0000 (19:22 +0000)]
Fix ndef_{prefix,suffix}()
These functions inline a poor version of asn1_item_flags_i2d() without
error checks. This can be replaced with a single correct call to
ASN1_item_ndef_i2d(). Mechanically adding malloc checks and checks for
negative did not really improve things all that much in a related project.
ok beck jsing
patrick [Sun, 9 Jul 2023 19:11:30 +0000 (19:11 +0000)]
It turns out that there are seperate pins for the PCIe Gen 2 and 3, which
means that the x4 PCIe controller can get all PCIe Gen 3 lines, while the
others then only get PCIe Gen 2 lines. Therefore the decision on how to
configure the mux needs to be adjusted so that the PCIe Gen 3 lines are
only routed to other PCIe controllers when they are explicitly configured
for them. While there, fix an obvious typo.
ok kettenis@
bluhm [Sun, 9 Jul 2023 19:06:48 +0000 (19:06 +0000)]
Fix route entry leak.
In in6_ifdetach() two struct rtentry were leaked. This was triggered
by regress/sbin/route and detected with btrace(8) refcnt. The
reference returned by rtalloc() must be freed with rtfree() in all
cases.
OK phessler@ mvs@
tb [Sun, 9 Jul 2023 18:37:58 +0000 (18:37 +0000)]
Reimplement BN_print() and BN_print_fp()
These can now use the internal version of BN_bn2hex() and be direct
wrappers of BIO_printf() and fprintf() as they should have been all
along.
ok jsing
tb [Sun, 9 Jul 2023 18:35:52 +0000 (18:35 +0000)]
Simplify bn_print()
We no longer need to do weird things as taking the length of the hex
string and jumping over a sign we didn't need.
ok jsing
tb [Sun, 9 Jul 2023 18:27:22 +0000 (18:27 +0000)]
Refactor BN_bn2hex()
Various outputting functions are variants of BN_bn2hex(). They do not
want a sign or they display the BIGNUM at nibble granularity instead
of byte granularity. So add this functionality to an internal variant
of BN_bn2hex().
with/ok jsing
patrick [Sun, 9 Jul 2023 16:33:49 +0000 (16:33 +0000)]
Add some more RK3588 PCIe clocks and resets.
ok kettenis@
bluhm [Sun, 9 Jul 2023 13:30:03 +0000 (13:30 +0000)]
Some Perl tests set owner, permissions, access time, and modification
time on files in the Perl source distribution. Replace the symlink
in obj directory with a copy, so that they do not modify OpenBSD
src tree.
kettenis [Sun, 9 Jul 2023 12:32:22 +0000 (12:32 +0000)]
Add mute control. This makes the mute button on laptops that use sncodec(4)
work.
ok tobhe@
jsing [Sun, 9 Jul 2023 10:37:32 +0000 (10:37 +0000)]
Provide optimised bn_subw() for riscv64.
jsing [Sun, 9 Jul 2023 10:36:53 +0000 (10:36 +0000)]
Provide optimised bn_addw() for riscv64.
bluhm [Sun, 9 Jul 2023 09:33:30 +0000 (09:33 +0000)]
Allocate enough memory to pervent SIGSEGV or SIGABRT due to write
after free. There was confusion between size of struct and size
of pointer.
bluhm [Sun, 9 Jul 2023 09:02:13 +0000 (09:02 +0000)]
sync perl 5.36.1
tobhe [Sun, 9 Jul 2023 08:04:09 +0000 (08:04 +0000)]
regen
tobhe [Sun, 9 Jul 2023 08:02:13 +0000 (08:02 +0000)]
Add suspend key support in wskbd and make it work on Apple ARM laptops.
feedback and ok miod@
tb [Sun, 9 Jul 2023 06:49:25 +0000 (06:49 +0000)]
Add Xr to EVP_MD_meth_new to top level library
tb [Sun, 9 Jul 2023 06:47:51 +0000 (06:47 +0000)]
Fix OpenBSD release
tb [Sun, 9 Jul 2023 06:45:48 +0000 (06:45 +0000)]
sync
tb [Sun, 9 Jul 2023 06:45:03 +0000 (06:45 +0000)]
ASN1_bn_print() will be removed soon. Remove docs.
jsg [Sun, 9 Jul 2023 01:12:04 +0000 (01:12 +0000)]
correct spelling
confirmed by Vladimir
jmc [Sat, 8 Jul 2023 21:51:45 +0000 (21:51 +0000)]
max_processes -> max_jobs in usage();
beck [Sat, 8 Jul 2023 20:38:23 +0000 (20:38 +0000)]
fix comment to unbreak things that care about warnings
ok tb@ krw@
tb [Sat, 8 Jul 2023 20:14:30 +0000 (20:14 +0000)]
sync
tb [Sat, 8 Jul 2023 20:13:13 +0000 (20:13 +0000)]
link EVP_MD_meth_new.3 to build
tb [Sat, 8 Jul 2023 20:01:26 +0000 (20:01 +0000)]
Import EVP_MD_meth_new.3 from OpenSSL 1.1.1 head
As usual, this has a lot of room for improvement, but it is better than
nothing at all. It leaves a dangling reference to EVP_MD_CTX_md_data(),
which I leave for schwarze to document. This is a terrible API and the
way it is used in the wild is terrifying.
tb [Sat, 8 Jul 2023 19:41:07 +0000 (19:41 +0000)]
Fix whitespace
espie [Sat, 8 Jul 2023 18:42:27 +0000 (18:42 +0000)]
nitpicking: singular of children is child
espie [Sat, 8 Jul 2023 18:33:41 +0000 (18:33 +0000)]
partial fix for make -j8 (bluhm@ is sitting right next to me and agreeing)
there is a subtler issue with make regress/make all that will be way more
of a headache to sort !
bluhm [Sat, 8 Jul 2023 18:10:32 +0000 (18:10 +0000)]
sync perl 5.36.1
espie [Sat, 8 Jul 2023 18:02:00 +0000 (18:02 +0000)]
talk about "jobs" because that's make knows, and mention the heuristics
about the recursive non exploding kitten recursive behavior outside of
BUGS.
okay naddy@, jca@
beck [Sat, 8 Jul 2023 16:40:13 +0000 (16:40 +0000)]
Hide all public symbols in libssl
With the guentherizer 9000
ok tb@
beck [Sat, 8 Jul 2023 15:29:03 +0000 (15:29 +0000)]
Hide symbols in dh
ok tb@
beck [Sat, 8 Jul 2023 15:12:49 +0000 (15:12 +0000)]
Hide symbols in curve22519
ok tb@
kn [Sat, 8 Jul 2023 15:01:09 +0000 (15:01 +0000)]
Floppies don't have bioctl(8)
The installer always checks for softraid using it, skip if unavailable.
Apply the usual idiom in encrypt_root() to silence stderr noise.
Do so in do in get_softraid_chunks() as well which is always called in
get_dkdevs_unitialized() and finish_up(); get_softraid_chunks() discards
stderr and both users still do the right thing on bioctl failure/empty
output from get_dkdevs_unitialized(), but there's no point in trying plus
the idiom clarifies how this code is indeed used on floppies.
Found and tested by krw
OK deraadt krw
beck [Sat, 8 Jul 2023 14:56:54 +0000 (14:56 +0000)]
Hide symbols in modes.h
ok tb@
beck [Sat, 8 Jul 2023 14:55:36 +0000 (14:55 +0000)]
Hit modes with the loving mallet of knfmt
ok tb@
bluhm [Sat, 8 Jul 2023 14:49:55 +0000 (14:49 +0000)]
Fix Perl tests in OpenBSD regress.
Disable Perl test t/porting/exec-bit.t as it only checks permissions.
The x-bit in OpenBSD CVS tree does not match Perl distribution tar.
This is known and accepted.
Set permission of Test-Harness source.sh and source_args.sh to
executable as Perl uses it to test module features. Stay close to
upstream. During regress, set the x-bit of the files in obj
directory. Do not touch src tree, it might be read-only.
discussed with anton@; OK afresh1@
tobhe [Sat, 8 Jul 2023 14:44:43 +0000 (14:44 +0000)]
Adds request_sleep(), a MI way of sending the machine to sleep in
a safe thread. Support is limited to amd64, i386 and arm64 at the
moment, macppc gets only an empty stub.
feedback from kettenis@
tested by bluhm@
ok phessler@
beck [Sat, 8 Jul 2023 14:30:44 +0000 (14:30 +0000)]
Hide symbols in gost.
ok tb@ after some puking in his mouth.
beck [Sat, 8 Jul 2023 14:28:14 +0000 (14:28 +0000)]
hide symbols in dsa
ok tb@
beck [Sat, 8 Jul 2023 14:27:14 +0000 (14:27 +0000)]
Hide symbols in cmac
ok tb@
afresh1 [Sat, 8 Jul 2023 14:18:35 +0000 (14:18 +0000)]
Update to perl 5.36.1
Many small bugfixes
you should commit 5.36.1 bluhm@
jasper [Sat, 8 Jul 2023 14:09:43 +0000 (14:09 +0000)]
turn an ifdef'd _dl_printf call into DL_DEB and various whitespace fixes
sure deraadt@
beck [Sat, 8 Jul 2023 12:27:51 +0000 (12:27 +0000)]
Hide symbols in objects
ok tb@
beck [Sat, 8 Jul 2023 12:26:45 +0000 (12:26 +0000)]
Hide symbols in rsa
ok tb@
beck [Sat, 8 Jul 2023 12:24:10 +0000 (12:24 +0000)]
Hide symbols in sha
ok tb@
beck [Sat, 8 Jul 2023 12:21:58 +0000 (12:21 +0000)]
Hide symbols in bn
ok tb@
beck [Sat, 8 Jul 2023 11:28:03 +0000 (11:28 +0000)]
Hide symbols in txt_db
ok tb@
jasper [Sat, 8 Jul 2023 11:03:45 +0000 (11:03 +0000)]
zap stray backslash
ok deraadt@
beck [Sat, 8 Jul 2023 10:45:57 +0000 (10:45 +0000)]
Hide symbols in md4 and md5
ok tb@
beck [Sat, 8 Jul 2023 10:43:59 +0000 (10:43 +0000)]
Hide symbols in cast, idea, and ocsp
ok tb@
kettenis [Sat, 8 Jul 2023 10:19:19 +0000 (10:19 +0000)]
stfpcie(4) and stfpciephy(4)
kettenis [Sat, 8 Jul 2023 10:18:51 +0000 (10:18 +0000)]
stfpciephy(4)
kettenis [Sat, 8 Jul 2023 10:18:34 +0000 (10:18 +0000)]
stfpcie(4)
kettenis [Sat, 8 Jul 2023 10:17:35 +0000 (10:17 +0000)]
Mention JH7110.
kettenis [Sat, 8 Jul 2023 10:06:13 +0000 (10:06 +0000)]
Add support for the PCIe controller on the JH7110 SoC.
MSIs don't work reliably so these are disabled for now. The stfpcie(4)
driver is based on preliminary device tree bindings that might still
change.
ok patrick@
kettenis [Sat, 8 Jul 2023 09:13:27 +0000 (09:13 +0000)]
regen
patrick [Sat, 8 Jul 2023 09:12:28 +0000 (09:12 +0000)]
Add support for the RK3588 PCIe3 PHY to rkpciephy(4). The PHY controls
4 lanes that can be routed to 4 of the 5 PCIe controllers in the following
configurations.
Either all 4 lanes go to the x4 controller, then the other 3 controllers
stay disabled. If those are split, lane 0 goes to the x4 controller and
lane 2 goes to the x2 controller. Lane 1 now either goes to the x4 one
to build a x2, or it gets routed to a x1 controller. Lane 3 also either
goes to the x2 one to build a x2, or it gets routed to a x1 controller.
If lanes 1 or lane 3 are configured, they are routed towards the PCIe3 PHY
instead of the Combo PHY.
ok kettenis@
kettenis [Sat, 8 Jul 2023 09:11:51 +0000 (09:11 +0000)]
Add PLDA XpressRICH-AXI PCIe controller
jmatthew [Sat, 8 Jul 2023 09:01:30 +0000 (09:01 +0000)]
Check rx dma map was allocated before trying to free it, so we don't crash
if we ran out of memory while bringing the interface up.
tested by hrvoje, ok kevlo@
yasuoka [Sat, 8 Jul 2023 08:53:26 +0000 (08:53 +0000)]
Tidy up #include lines.
espie [Sat, 8 Jul 2023 08:45:54 +0000 (08:45 +0000)]
cosmetic clean-up of UList.pm, no signatures yet
remove prototype that's actually unused, since method call
deraadt [Sat, 8 Jul 2023 08:38:41 +0000 (08:38 +0000)]
sync
patrick [Sat, 8 Jul 2023 08:37:39 +0000 (08:37 +0000)]
Add some resets for the PCIe controllers on the RK3588.
ok kettenis@