jsing [Mon, 17 Oct 2022 18:44:36 +0000 (18:44 +0000)]
Revise expire callback regress to use chains with expired certificates.
Rather than using X509_STORE_CTX_set_time() (which is resulting all
certificates in the chain being treated as expired), use chains that have
an expired leaf or expired intermediate. This triggers a different code
path, which is currently mishandled (and hence failing).
Also ensure that the resulting error and error depth match what we expect
them to be.
jsing [Mon, 17 Oct 2022 18:36:52 +0000 (18:36 +0000)]
Ensure that verification results in the expected error and error depth.
Improve verification regress and ensure that the legacy or modern
verification completes with the expected error and error depth.
jsing [Mon, 17 Oct 2022 18:26:41 +0000 (18:26 +0000)]
Avoid potential divide by zero in BIO_dump_indent_cb()
Passing an indent value of 67 results in DUMP_WIDTH_LESS_IDENT returning a
value of zero, which is promptly used for division. Likewise, passing a
value larger than 67 results in a negative value being returned.
Prevent this by limiting indent to 64 (which matches OpenSSL's current
behaviour), as well as ensuring that dump_width is > 0.
Should fix oss-fuzz #52464 and #52467.
ok miod@ tb@
jsing [Mon, 17 Oct 2022 18:03:15 +0000 (18:03 +0000)]
Unbreak ASN.1 indefinite length encoding.
In r1.25 of tasn_enc.c a check was added to ensure that asn1_ex_i2c()
returned the same value on both calls, however in the ndef case the len
variable gets changed between calls. Keep a copy of the original value to
test against.
Issue reported by niklas, who encountered a test failure in rust-openssl.
ok miod@ tb@
claudio [Mon, 17 Oct 2022 16:51:36 +0000 (16:51 +0000)]
SHOW_METRICS for the actions enum. Just to match the rest.
claudio [Mon, 17 Oct 2022 15:42:19 +0000 (15:42 +0000)]
Document /metrics endpoint and use bgpctl show metrics as command.
OK tb@
claudio [Mon, 17 Oct 2022 15:04:12 +0000 (15:04 +0000)]
Use metrics as the command name and document show metrics.
OK tb@
mvs [Mon, 17 Oct 2022 14:49:01 +0000 (14:49 +0000)]
Change pru_abort() return type to the type of void and make pru_abort()
optional.
We have no interest on pru_abort() return value. We call it only from
soabort() which is dummy pru_abort() wrapper and has no return value.
Only the connection oriented sockets need to implement (*pru_abort)()
handler. Such sockets are tcp(4) and unix(4) sockets, so remove existing
code for all others, it doesn't called.
ok guenther@
claudio [Mon, 17 Oct 2022 13:23:31 +0000 (13:23 +0000)]
Add /metrics endpoint which outputs stats in openmetrics format.
This uses `bgpctl show metric` to produce the payload.
OK tb@
claudio [Mon, 17 Oct 2022 12:01:19 +0000 (12:01 +0000)]
Implement openmetric output via bgpctl show metric command
This adds most of the generic code to output the metrics with labels
and implements some basic metrics. The code works but metrics may still
change.
OK tb@
nicm [Mon, 17 Oct 2022 10:59:42 +0000 (10:59 +0000)]
Preserve marked pane when renumbering windows.
bru [Sun, 16 Oct 2022 20:17:08 +0000 (20:17 +0000)]
Improve the clickpad/touchpad detection in hidmt.
If the HID descriptors don't provide a HUD_BUTTON_TYPE property, hidmt
should treat all devices as clickpads if they report a "clickpad button",
or don't report to have both a left and right external button.
bru [Sun, 16 Oct 2022 18:23:44 +0000 (18:23 +0000)]
Fix a bug in the initialization mechanism of wsmouse.
The CONFIGURED flag, which indicates that first-time initialization
has been completed, must be set immediately after the first call to
wstpad_configure. Otherwise, passing touchpad parameters to the
initialization function has no effect for some of them.
deraadt [Sun, 16 Oct 2022 16:27:02 +0000 (16:27 +0000)]
Rather than marking MAP_STACK on entries for sigaltstack() [2 days ago],
go back to the old approach: using a new anon mapping because it removes
any potential gadgetry pre-placed in the region (by making it zero). But
also bring in a few more validation checks beyond contigious mapping -- it
must not be a syscall region, and the protection must be precisely RW.
This does allow sigaltstack() to shoot zero'd MAP_STACK non-immutable regions
into the main stack area (which will soon be immutable). I am not sure we
can keep reinforce immutable on the region after we do stack (like maybe
determine this while doing the validation entry walk?)
Sadly, continued support for sigaltstack() does require selecting the guessed
best compromise.
ok kettenis
deraadt [Sun, 16 Oct 2022 16:16:37 +0000 (16:16 +0000)]
Rather than marking MAP_STACK on entries for sigaltstack() [2 days ago],
go back to the old approach: using a new anon mapping because it removes
any potential gadgetry pre-placed in the region (by making it zero). But
also bring in a few more validation checks beyond contigious mapping -- it
must not be a syscall region, and the protection must be precisely RW.
This does allow sigaltstack() to shoot zero'd MAP_STACK non-immutable regions
into the main stack area (which will soon be immutable). I am not sure we
can keep reinforce immutable on the region after we do stack (like maybe
determine this while doing the validation entry walk?)
Sadly, continued support for sigaltstack() does require selecting the guessed
best compromise.
ok kettenis
kettenis [Sun, 16 Oct 2022 15:03:39 +0000 (15:03 +0000)]
Add the guts for EFI runtime services support on amd64. This will be used
in the future to implement support for things like EFI variables.
ok krw@ (a few others ok'ed earlier incarnations of this diff)
jsg [Sun, 16 Oct 2022 13:33:10 +0000 (13:33 +0000)]
don't use | operator where || was intended
ok gnezdo@ kn@ martijn@
kn [Sun, 16 Oct 2022 12:34:13 +0000 (12:34 +0000)]
Add new failing read/signal test
^C does not abort `read < /dev/zero', instead it read(2)s indefinitely,
one null byte at a time; bash and ksh93 from ports abort as expected.
Use the new timeout(1) $PROG trick to send ^C after 0.1s, but also
rely on it's -k for the final SIGKILL to stop the busy-looping process.
./th's `time-limit: 1' prints "test timed out (limit of 1 seconds)" but
leaves the process running.
kn [Sun, 16 Oct 2022 10:44:06 +0000 (10:44 +0000)]
Add new trap/errexit/signal test simulating interactive usage
First try add capturing use cases like the bin/ksh/main.c r1.52 one:
"[...] we would not run the signal trap if,
for example, ^C was pressed and -e was set."
With so many different factors (errexit?, receiving (special) signals,
traps themselves failing/returing non-zero, running child processes?, etc.)
it is very easy to miss subtle behaviour changes during scripting...
kn [Sun, 16 Oct 2022 10:19:02 +0000 (10:19 +0000)]
move/rename usr1 test to new signal block, tweak other name
kn [Sun, 16 Oct 2022 08:49:03 +0000 (08:49 +0000)]
Always pass the test program as PROG env var, fix synopsis
The ./th perl script always runs -p prog (KSH in Makefile) as the shell,
but cannot signal it other than the optional SIGKILL after `time-limit'.
Implementing time-related signal handling in ./th seems overkill, so always
pass the program as PROG in the environment so it can wrap itself, e.g.
description:
simluate interrupting a script
stdin:
timeout --signal SIGINT --preserve-status -- 1s $PROG -c '
actual test script getting ^C after one second...
'
Avoiding hard-coded programs in tests with PROG allows testing different
shells through `make KSH=/path/to/sh' without changing or adding shell
specific tests.
While here, make -p and -s as mandatory in usage as ./th `die's if they're
not passed (allowing to always just pass -p's argument as PROG).
kn [Sun, 16 Oct 2022 08:47:20 +0000 (08:47 +0000)]
Leave installurl handling to syspatch(8)
When upgrading to releases, the installer fills rc.firsttime(8) with
a syspatch(8) snippet possibly displaying available patches.
That snippet itself checks for a release version as well as an existent
installurl(5) file as a precondition for syspatch, see the diff below.
syspatch, however, has code to fallback to cdn.o.o without a valid URL:
286 _MIRROR=$(while read _line; do _line=${_line%%#*}; [[ -n ${_line} ]] &&
287 print -r -- "${_line}"; done </etc/installurl | tail -1) 2>/dev/null
288 [[ ${_MIRROR} == @(file|ftp|http|https)://* ]] ||
289 _MIRROR=https://cdn.openbsd.org/pub/OpenBSD
290 _MIRROR="${_MIRROR}/syspatch/${_KERNV[0]}/$(machine)"
Furthermore, the installer actively sets a working URL if needed, in the
same finish_up() function shortly before placing the syspatch snippet:
2842 # Create /etc/installurl if it does not yet exist.
2843 if [[ ! -f /mnt/etc/installurl ]]; then
2844 echo "${INSTALL_URL:-https://cdn.openbsd.org/pub/OpenBSD}" \
2845 >/mnt/etc/installurl
2846 fi
So one of the following is true for installurl:
1. exists but has no valid URL, then syspatch falls back to cdn.o.o
2. exists and has a valid URL, then syspatch uses that
3. does not exist so the installer creates it with cdn.o.o, see 2.
In the unlikely case that the install/upgrade finishes, i.e. installurl
does exist, but gets removed or truncated before rc.firsttime runs, the
existing check would actually prevent syspatch from running even though
it copes with such files.
So just remove the useless check.
OK aja
jsg [Sun, 16 Oct 2022 01:22:39 +0000 (01:22 +0000)]
Change function definitions using the identifier-list form used in the
1st edition of Kernighan and Ritchie's The C Programming Language, to
that of the parameter-type-list form described in the ANSI X3.159-1989
standard.
In ISO/IEC 9899:2023 drafts, there is only one form of function definition.
"N2432 Remove support for function definitions with identifier lists".
ok kettenis@
kettenis [Sat, 15 Oct 2022 18:22:53 +0000 (18:22 +0000)]
Convert remaining I2C RTC drivers to use todr_attach().
These all get a quality of 1000 since these are supposed to be battery
backed and almost certainly what the hardware designers want us to use.
ok mglocker@, jsg@
op [Sat, 15 Oct 2022 17:01:14 +0000 (17:01 +0000)]
replace ewprintf("") calls with eerase(): no functional difference.
ok florian@
kn [Sat, 15 Oct 2022 15:29:45 +0000 (15:29 +0000)]
fix comments wrt. pending ksh fixes
jmc [Sat, 15 Oct 2022 15:18:15 +0000 (15:18 +0000)]
.Oc -> .Op in previous;
jsg [Sat, 15 Oct 2022 14:58:54 +0000 (14:58 +0000)]
ansi
florian [Sat, 15 Oct 2022 13:27:45 +0000 (13:27 +0000)]
Do not throw away errno.
Pointed out in the pref64 code, which was copied from here, by kn.
florian [Sat, 15 Oct 2022 13:26:15 +0000 (13:26 +0000)]
Implement RFC 8781 PREF64 router advertisement option.
With this clients can learn the presence and used prefix for Network
Address and Protocol Translation between IPv6 and IPv4 (NAT64).
Apparently there is support in mobile devices as well as in macOS.
This option, together with the the dhcp "IPv6-only preferred"
option (108) enables the Customer-side transLATor (CLAT) on macOS so
IPv4 literals can be used in IPv6-only networks.
Input & OK kn
jsg [Sat, 15 Oct 2022 10:12:12 +0000 (10:12 +0000)]
ansi
op [Sat, 15 Oct 2022 09:54:29 +0000 (09:54 +0000)]
typo in comment: Funtion -> Function
jsg [Sat, 15 Oct 2022 08:41:18 +0000 (08:41 +0000)]
ansi
jsg [Sat, 15 Oct 2022 08:04:02 +0000 (08:04 +0000)]
ansi
deraadt [Sat, 15 Oct 2022 05:56:01 +0000 (05:56 +0000)]
remove one of the debug messages
deraadt [Sat, 15 Oct 2022 03:23:50 +0000 (03:23 +0000)]
During the MAP_STACK introduction in 2018, sigaltstack() became a
problem because haphazard use could shoot holes in the address space
(changing permissions, providing opportunities for pivoting, etc). I
tried to write a diff to convert the address space correctly but did
not understand enough about map entries, so instead we mapped new
memory over top of the existing object. Placing a new mapping becomes
unfeasible with the upcoming mimmutable model, so here is code that
adds MAP_STACK to the region. It will only do so for a contigiously
mapped region that is non-syscall with permission RW, otherwise it
returns an error.
Food for thought: If we know the object isn't service by an object,
we should consider zero'ing the region, to block pre-pivot placement?
ok kettenis
kn [Fri, 14 Oct 2022 23:51:16 +0000 (23:51 +0000)]
add two new errexit/trap tests, tweak wording
both pass in bash and ksh93 from ports.
our ksh fails for now, so mark them as expected fail.
sthen [Fri, 14 Oct 2022 23:01:16 +0000 (23:01 +0000)]
sync
kn [Fri, 14 Oct 2022 22:56:13 +0000 (22:56 +0000)]
add two new errexit/trap tests
both behave the same with our ksh, bash and ksh93 from ports.
jmc [Fri, 14 Oct 2022 21:44:06 +0000 (21:44 +0000)]
space required between macro and punctuation;
while here, wrap long line;
aoyama [Fri, 14 Oct 2022 20:53:18 +0000 (20:53 +0000)]
Pass boot device information from bootloader to kernel.
This brings the default root device is the same one of the kernel
specified by bootloader, rather than NVRAM setting, like other
architectures.
"looks good to me" miod@, tested on LUNA-88K2 and nono (LUNA-88K
capable emulator) by me.
millert [Fri, 14 Oct 2022 18:35:19 +0000 (18:35 +0000)]
Update to 2022egtz from https://github.com/JodaOrg/global-tz
Major changes:
o Jordan and Syria switch from +02/+03 with DST to year-round +03.
tb [Fri, 14 Oct 2022 17:17:13 +0000 (17:17 +0000)]
Add RCS markers
tb [Fri, 14 Oct 2022 17:09:43 +0000 (17:09 +0000)]
Revert kn's Makefile surgery. It no longer does what it was supposed
to do and I'm still not clear what it was supposed to fix.
krw [Fri, 14 Oct 2022 16:36:36 +0000 (16:36 +0000)]
Fix botched D_SUNCYLCHECK+D_VENDOR check from r1.321.
D_VENDOR lives in d_flags, not d_secpercyl.
Makes resizing a partition more likely to respect cylinder rounding
on sparc64.
martijn [Fri, 14 Oct 2022 15:26:58 +0000 (15:26 +0000)]
Add an agentx_retry call.
If a session, agentcaps, region, index, or object doesn't properly open
because of an error returned by the AgentX master it remained closed until
a reconnect. This new function call walks the tree and tries to reopen
everything in a closed state.
OK sthen@
martijn [Fri, 14 Oct 2022 15:20:33 +0000 (15:20 +0000)]
Don't call agentx_reset on errors returned by the AgentX
There is no reason to assume that a reset of the connection and a retry
will solve the problem and could cause reconnect loops.
Found while playing with context in vmd in combination with snmpd(8)
instead of net-snmpd.
OK sthen@
krw [Fri, 14 Oct 2022 13:22:57 +0000 (13:22 +0000)]
No point in luna88k setting D_VENDOR since all actual uses are
inside #ifdef SUN_CYLCHECK or #ifdef SUN_AAT0 blocks in
disklabel(8), neither of which are defined for luna88k.
ok miod@
kn [Fri, 14 Oct 2022 11:26:19 +0000 (11:26 +0000)]
Document missing cases of variable substitution
Feedback OK op
kn [Fri, 14 Oct 2022 11:02:43 +0000 (11:02 +0000)]
add configtest
OK florian
kn [Fri, 14 Oct 2022 10:41:43 +0000 (10:41 +0000)]
add configtest
OK florian
tb [Fri, 14 Oct 2022 06:56:33 +0000 (06:56 +0000)]
Error out if the out secret wasn't properly initialized
Calling HKDF_expand() with a length of 0 happens to succeed due to a quirk
in the API inherited from BoringSSL. This hides caller-side errors during
development. Error out to catch such mistakes early on.
ok jsing
jmc [Fri, 14 Oct 2022 06:46:52 +0000 (06:46 +0000)]
remove the unsightly plural from Nd:
audio files manipulation tool -> audio file manipulation tool
jmc [Fri, 14 Oct 2022 06:43:26 +0000 (06:43 +0000)]
some macro fixes, mostly Cm -> Ic;
from josiah frentsos
anton [Fri, 14 Oct 2022 05:44:42 +0000 (05:44 +0000)]
The HTTP endpoint used for the redirect chain started to unconditionally
respond with the HTTP protocol in the response location header although
HTTPS is being used in the corresponding request. Flag the test as
expected to fail for now.
deraadt [Fri, 14 Oct 2022 04:38:39 +0000 (04:38 +0000)]
put the malloc_readonly struct into the "openbsd.mutable" section, so
that the kernel and ld.so will know not to mark it immutable. malloc
handles the read/write transitions by itself.
jmc [Thu, 13 Oct 2022 21:37:05 +0000 (21:37 +0000)]
controm terminql -> controlling terminal;
kettenis [Thu, 13 Oct 2022 18:34:56 +0000 (18:34 +0000)]
Properly implement disestablishing LPI interrupts. Fixes a crash when using
virtio(4) in combination with agintc(4).
ok jsg@, patrick@
jsg [Thu, 13 Oct 2022 09:09:28 +0000 (09:09 +0000)]
use correct type with sizeof
ok djm@
kettenis [Thu, 13 Oct 2022 09:07:26 +0000 (09:07 +0000)]
Add (minimal) support for the RK3568 PCIe controller. This relies on
the firmware to do most of the hardware initialization; the driver
basically only sets up the address translation unit to match the
configuration specified in the device tree.
ok patrick@
tb [Thu, 13 Oct 2022 08:38:53 +0000 (08:38 +0000)]
Make comment match the code.
Since rnd.c r1.127, there is only one stirring polynomial.
kettenis [Thu, 13 Oct 2022 07:04:53 +0000 (07:04 +0000)]
Implement support for MBIs. MBIs are message based interrupts that can be
used as an alternative implementation for MSIs on hardware that doesn't
implement an ITS (or where the ITS is broken such as on the Rochchip
RK3566 SoC).
Based on an earlier WIP diff from patrick@; I just cleaned it up a bit.
ok patrick@
jmatthew [Thu, 13 Oct 2022 04:55:33 +0000 (04:55 +0000)]
Add client certificate authentication and optional SASL EXTERNAL bind,
which allows the client to bind as the subject of the certificate in cases
where the directory doesn't implicitly do that.
The client certificate is configured with 'certfile' and 'keyfile'
directives, and SASL EXTERNAL bind is configured with the 'bindext'
directive.
ok tb@
job [Thu, 13 Oct 2022 04:43:32 +0000 (04:43 +0000)]
All of ROA, MFT, ASPA, and RSC define their respective 'version' field
in ASN.1 as following: "version [0] INTEGER DEFAULT 0,". Each object
profile preamble contains "DEFINITIONS EXPLICIT TAGS ::=".
We didn't bump into any issue yet, because all Signed Objects are at
version 0, which means the field is entirely omitted (including the tag,
be it implicit or explicit). (From X.690 section 11.5: "The encoding of
a set value or a sequence value shall not include an encoding for any
component value which is equal to its default value.")
OK tb@
krw [Wed, 12 Oct 2022 23:11:32 +0000 (23:11 +0000)]
Nuke D_BADSECT and disktab's 'sf'.
DEC standard 144 bad sector information is no longer a thing. As
evidenced by bad144(8) moving to the attic 16 years ago.
ok miod@, who points out that badsect(8) is now the nail sticking
out.
kettenis [Wed, 12 Oct 2022 13:39:50 +0000 (13:39 +0000)]
Extend struct todr_chip_handle with a todr_quality member. This allows us
to assign a quality to RTC implementation and pick the "best" RTC if a
system has multiple RTCs (or multiple interfaces to an RTC). This allows
us to prefer a battery-backed I2C RTC over an RTC that is part of the SoC
which is only running of the SoC is powered. It also allows us to
work around issues with firmware RTC interfaces that may lie to us or
even crash the system.
This change makes sure the todr_quality member of the struct is always
initialized. In most cases the quality will be set to zero; further
adjustments of the quality for specific subsystems/architectures will follow.
ok cheloha@, patrick@
jsg [Wed, 12 Oct 2022 11:57:40 +0000 (11:57 +0000)]
avoid use after free in error paths
ok miod@ martijn@
jsg [Wed, 12 Oct 2022 11:29:53 +0000 (11:29 +0000)]
use correct type with sizeof
ok miod@ kettenis@
jsg [Wed, 12 Oct 2022 11:26:05 +0000 (11:26 +0000)]
use correct type with sizeof
ok miod@ claudio@ tb@
kn [Wed, 12 Oct 2022 10:48:33 +0000 (10:48 +0000)]
Remove powerpc left-overs
There since the powerpc -> macppc move/rename.
KERN_AS usage disappeared in
commit
5b7db11d478192c5908038bb1345e7d51cc35c8e
Author: rahnds <rahnds@openbsd.org>
Date: Mon May 5 16:47:15 1997 +0000
only build one version of the libraries.
REAL_VIRT usage disappeared in
commit
08e027d6bb9ca863bfc44a1aa6957ff3a242e2f4
Author: rahnds <rahnds@openbsd.org>
Date: Thu Apr 27 12:36:29 2000 +0000
Fixes to xcoff bootloader to allow it to execute and load kernels for OpenBSD.
Make agrees that these are defined but not used:
$ make -p | grep -e KERN_AS -e REAL_VIRT
KERN_AS = library
REAL_VIRT = -v
$ make -C ofwboot -p | grep -e KERN_AS -e REAL_VIRT
KERN_AS = library
REAL_VIRT = -v
No object change.
Feedback OK miod
kn [Wed, 12 Oct 2022 09:23:45 +0000 (09:23 +0000)]
Fix -Wreturn-type
OK miod
deraadt [Wed, 12 Oct 2022 02:39:16 +0000 (02:39 +0000)]
The sigaltstack() MAP_STACK re-map mechanism is incompatible with immutable
regions, so immutable stack isn't viable yet. There are configure programs
which create sigstacks upon their own stacks, and there is no simple fix for
the sigaltstack mechanism...
discovered by sthen and tb
krw [Tue, 11 Oct 2022 23:39:07 +0000 (23:39 +0000)]
Give checkdisklabel() a new parameter supplying the dev_t of the
device whose disklabel is being checked. Within checkdisklabel()
use this information to discover a device name iff (sic) the
label is an obsolete version. Use the name to generate a
meaningful warning message asking the user to rewrite the
disklabel and thus promote it to the current version.
Suggested by, feedback from and ok deraadt@
krw [Tue, 11 Oct 2022 16:32:40 +0000 (16:32 +0000)]
Vox populi says "cdio:" prefix is useful so switch back to using
warnx(), but with required "\n" manually output to stderr before
calling warnx().
Requested by tb@ and OP Michael Siegel.
tb [Tue, 11 Oct 2022 13:52:23 +0000 (13:52 +0000)]
Fix path of mentioned regress test
tb [Tue, 11 Oct 2022 13:51:41 +0000 (13:51 +0000)]
Handle corner case in which the test case can actually be a square
jsg [Tue, 11 Oct 2022 13:40:38 +0000 (13:40 +0000)]
correct t_lex_type() return type
ok miod@
jsg [Tue, 11 Oct 2022 11:46:58 +0000 (11:46 +0000)]
add missing unlock in swapmount()
ok tb@ kn@ miod@
jsg [Tue, 11 Oct 2022 07:36:27 +0000 (07:36 +0000)]
fix unintended sizeof pointer introduced in 1.10
ok cheloha@ miod@ matthieu@ martijn@
anton [Tue, 11 Oct 2022 05:45:41 +0000 (05:45 +0000)]
Run noexec tests in a new thread, leveraging the fact that
pthread_create() allocates a new stack which has mutable permissions.
Allows the temporary expected failures to be dropped.
ok deraadt@
jsg [Tue, 11 Oct 2022 03:37:14 +0000 (03:37 +0000)]
remove unused var
kettenis [Mon, 10 Oct 2022 17:45:35 +0000 (17:45 +0000)]
Add support for the RK817 PMIC.
ok patrick@, mlarkin@
bket [Mon, 10 Oct 2022 16:43:12 +0000 (16:43 +0000)]
Recalculate checksum of normalised packet
In 2011, henning@ removed fiddling with the ip checksum of normalised
packets in r1.131 of sys/net/pf_norm.c. Rationale was that the checksum
is always recalculated in all output paths anyway. In 2016, procter@
reintroduced checksum modification to preserve end-to-end checksums in
r1.189 of sys/net/pf_norm.c. Likely soomewhere in that timeslot checksum
recalculation of normalised packets was broken.
With input from bluhm@.
OK sashan@, bluhm@
krw [Mon, 10 Oct 2022 15:04:09 +0000 (15:04 +0000)]
Use warnx(), not warn(), when 'errno' is not relevant.
kn [Mon, 10 Oct 2022 14:57:48 +0000 (14:57 +0000)]
Trigger ERR trap on permanent I/O redirection failure
The following three cases behave identical in bash(1), but our ksh
(ksh93 also) fails to run the trap in the last case:
(non-zero exit code is trigger, no redirection)
$ ksh -c 'trap "echo ERR" ERR ; false'
ERR
(failed redirection is trigger, 'echo' was not executed)
$ ksh -c 'trap "echo ERR" ERR ; echo >/'
ksh: cannot create /: Is a directory
ERR
(failed redirection, no execution, trap was NOT triggered)
$ ksh -c 'trap "echo ERR" ERR ; exec >/'
ksh: cannot create /: Is a directory
bash(1) prints "ERR" in all three cases, as expected.
ksh93 behaves like our ksh(1).
In ksh `exec' is a builtin (CSHELL), but also special (SPEC_BI):
$ type alias
alias is a shell builtin
$ type exec
exec is a special shell builtin
Without command and redirection alone, `exec' permanently redirects I/O for
the shell itself, not executing anything; it is the only (special) builtin
with such a special use-case, implemented as c_sh.c:c_exec().
This corner-case is overlooked in exec.c:execute() which handles iosetup()
failure for all commands, incl. builtins.
Exclude c_exec() from the rest of special builtins to ensure it runs the
ERR trap as expected:
$ ./obj/ksh -c 'trap "echo ERR" ERR ; exec >/'
ksh: cannot create /: Is a directory
ERR
Also add three new regress cases covering this; rest keep passing.
OK millert
krw [Mon, 10 Oct 2022 14:52:02 +0000 (14:52 +0000)]
Don't leak 'sec' in error path.
kn [Mon, 10 Oct 2022 12:07:53 +0000 (12:07 +0000)]
Enable configtest
OK solene
tobhe [Mon, 10 Oct 2022 11:33:55 +0000 (11:33 +0000)]
Move enabling the policy refcounting from policy_ref() to config_free_policy().
In config_free_policy() the refcounting is unchanged and each SA linked to the
policy will trigger a call to policy_ref() and increase the references as
before the change. This allows unconditional calls to policy_ref() and
policy_unref() and the callers no longer have to check if IKED_POLICY_REFCNT
is set.
From and ok markus@
kn [Mon, 10 Oct 2022 11:06:14 +0000 (11:06 +0000)]
Continue tests is the mountpoint already exists
regress should be resilient against partially cleaned obj/.
Feedback bluhm
kn [Mon, 10 Oct 2022 11:04:17 +0000 (11:04 +0000)]
Discard stdout/err only where needed in check_unattendedupgrade()
We should be fine silencing only the test condition which produces legit
output and warnings.
All else produces no output and should not error out; if it does, those
warnings should be printed and fixed.
Feedback OK halex
jsg [Mon, 10 Oct 2022 10:42:42 +0000 (10:42 +0000)]
consistently use IPv4/IPv6
jsg [Mon, 10 Oct 2022 09:13:43 +0000 (09:13 +0000)]
consistently use IPv4/IPv6; from jmc@
nicm [Mon, 10 Oct 2022 09:03:08 +0000 (09:03 +0000)]
ncurses wide character functions should be available with _XOPEN_SOURCE
of 500 or greater and not require _XOPEN_SOURCE_EXTENDED. Bring in
changes from upstream ncurses patches
20100403 and
20111030 to take this
into account. Reported by Grigory Kirillov via jmc@.
ok millert jmc
anton [Mon, 10 Oct 2022 05:26:11 +0000 (05:26 +0000)]
two tests are now expected to fail since the introduction of mimmutable
jsg [Mon, 10 Oct 2022 03:01:11 +0000 (03:01 +0000)]
add references to 10h 12h revision guides
jsg [Mon, 10 Oct 2022 01:58:36 +0000 (01:58 +0000)]
revert amdgpu dirty fb helper changes from 5.15.71
drm/amdgpu: don't register a dirty callback for non-atomic
drm/amdgpu: use dirty framebuffer helper
kettenis found that these changes made xpdf slow on x395 (picasso).
I can not reproduce this on renoir.
jsg [Mon, 10 Oct 2022 00:12:45 +0000 (00:12 +0000)]
Ipv6 -> IPv6
kn [Sun, 9 Oct 2022 23:04:57 +0000 (23:04 +0000)]
Drop fattr promise unless file creation is allowed
This is only required for the single fchmod(2) ensuring default permissions
which only happens in the -c code path.
OK millert
kettenis [Sun, 9 Oct 2022 20:31:30 +0000 (20:31 +0000)]
RK3566/RK3568 support.
ok mlarkin@, patrick@
kettenis [Sun, 9 Oct 2022 20:30:59 +0000 (20:30 +0000)]
RK3566/RK3568 support.
ok patrick@