openbsd
9 months agodrm/amd/display: Fix MST PBN/X.Y value calculations
jsg [Tue, 6 Feb 2024 03:14:23 +0000 (03:14 +0000)]
drm/amd/display: Fix MST PBN/X.Y value calculations

From Ilya Bakoulin
01e7578c7cd3d8815fae130ac74b1303c056bd2d in linux-6.6.y/6.6.16
94bbf802efd0a8f13147d6664af6e653637340a8 in mainline linux

9 months agodrm/amd/display: Fix tiled display misalignment
jsg [Tue, 6 Feb 2024 03:13:06 +0000 (03:13 +0000)]
drm/amd/display: Fix tiled display misalignment

From Meenakshikumar Somasundaram
1c563c04509080b374af5adf8e1c45718e3f37bf in linux-6.6.y/6.6.16
c4b8394e76adba4f50a3c2696c75b214a291e24a in mainline linux

9 months agoInvert broken check of panic string in if_linkstate().
bluhm [Tue, 6 Feb 2024 00:18:53 +0000 (00:18 +0000)]
Invert broken check of panic string in if_linkstate().

original bug report from syzkaller
Reported-by: syzbot+d19060a65721eb432a72@syzkaller.appspotmail.com
broken fix found by Hrvoje Popovski
hint to the problem and OK deraadt@

9 months agoAdd netstat counter for route cache.
bluhm [Mon, 5 Feb 2024 23:16:39 +0000 (23:16 +0000)]
Add netstat counter for route cache.

To optimize route caching, count cache hits and misses.  This is
shown in netstat -s for both inet and inet6.  Reuse the old IPv6
forward cache counter.  Sort ip6s_wrongif consistently.  For now
only IPv4 cache counter has been implemented.

OK mvs@

9 months agoCleanup fcntl(3) usage and fd lifetimes in vmd(8).
dv [Mon, 5 Feb 2024 21:58:09 +0000 (21:58 +0000)]
Cleanup fcntl(3) usage and fd lifetimes in vmd(8).

Remove extraneous fcntl(3) usage for setting fd features that can
be set at time of open(2), pipe2(2), or socketpair(2). Also cleans
up pty creation switching to using functions from libutil instead
of direct ioctl(2) calls.

ok mlarkin@, original diff ok claudio@ as well.

9 months agosync
deraadt [Mon, 5 Feb 2024 21:41:52 +0000 (21:41 +0000)]
sync

9 months agoremove /f from "show buf", which was used for softdep info
jmc [Mon, 5 Feb 2024 21:33:00 +0000 (21:33 +0000)]
remove /f from "show buf", which was used for softdep info
and is no longer relevant after softdep removal;

confirmed by miod

9 months agoUse `sb_mtx' mutex(9) to protect `sb_timeo_nsecs'. In most places
mvs [Mon, 5 Feb 2024 20:21:38 +0000 (20:21 +0000)]
Use `sb_mtx' mutex(9) to protect `sb_timeo_nsecs'. In most places
solock() is still held because other 'sockbuf' members require it, but
in so{g,s}etopt() paths solock() is avoided.

ok bluhm

9 months agoCheck whether all data in eContent has been consumed
job [Mon, 5 Feb 2024 19:23:58 +0000 (19:23 +0000)]
Check whether all data in eContent has been consumed

It is possible that a given ASN.1 template generated d2i_*() function
didn't consume all data, so there is a potential for malleability.
The econtent is a sequence (which means it could be the concatenation
of several DER "blobs"). d2i_*() would only deserialize the first one
and not notice blobs following it.

OK tb@

9 months agosupport newer mfii devices; ok jmatthew
deraadt [Mon, 5 Feb 2024 19:08:29 +0000 (19:08 +0000)]
support newer mfii devices; ok jmatthew

9 months agosync
deraadt [Mon, 5 Feb 2024 19:08:10 +0000 (19:08 +0000)]
sync

9 months agonewer mfii devices; ok jmatthew
deraadt [Mon, 5 Feb 2024 19:07:45 +0000 (19:07 +0000)]
newer mfii devices; ok jmatthew

9 months agoDon't send route messages while rebooting after panic. Syskaller exposed
mvs [Mon, 5 Feb 2024 18:27:47 +0000 (18:27 +0000)]
Don't send route messages while rebooting after panic. Syskaller exposed
[1] that if_downall() tries to send route messages and triggers panic
again but in knote(9) layer.

1. https://syzkaller.appspot.com/bug?extid=d19060a65721eb432a72

ok bluhm

9 months agoUpdate to 2024agtz from https://github.com/JodaOrg/global-tz
millert [Mon, 5 Feb 2024 17:07:23 +0000 (17:07 +0000)]
Update to 2024agtz from https://github.com/JodaOrg/global-tz
  o Kazakhstan unifies on UTC+5 beginning 2024-03-01.
  o Palestine springs forward a week later after Ramadan.

9 months agoIncrease interval's rate to speed up tests.
mpi [Mon, 5 Feb 2024 15:34:11 +0000 (15:34 +0000)]
Increase interval's rate to speed up tests.

9 months agoRegress test for undefined probe arguments fixed in in btrace.c,v 1.83.
mpi [Mon, 5 Feb 2024 15:30:04 +0000 (15:30 +0000)]
Regress test for undefined probe arguments fixed in in btrace.c,v 1.83.

Adapted from a submission from Christian Ludwig.

9 months agoAdapt map regress test to cover associated arrays fixed in btrace.c r1.82.
mpi [Mon, 5 Feb 2024 15:18:19 +0000 (15:18 +0000)]
Adapt map regress test to cover associated arrays fixed in btrace.c r1.82.

From Christian Ludwig.

9 months agoPrint statistics on stderr to be able to redirect bt(5) script output.
mpi [Mon, 5 Feb 2024 15:11:35 +0000 (15:11 +0000)]
Print statistics on stderr to be able to redirect bt(5) script output.

From Christian Ludwig.

9 months agoMove route_cache() declaration from net/route.h to netinet/in.h.
aoyama [Mon, 5 Feb 2024 12:52:11 +0000 (12:52 +0000)]
Move route_cache() declaration from net/route.h to netinet/in.h.

This prevents gcc3's 'parameter has incomplete type' warning that
causes kernel build failure.

Suggested by claudio@, ok bluhm@

9 months agoAdd a bunch of IANA/IETF MIBs that are (partially) supported by OpenBSD.
martijn [Mon, 5 Feb 2024 11:46:58 +0000 (11:46 +0000)]
Add a bunch of IANA/IETF MIBs that are (partially) supported by OpenBSD.
These will soon be picked up by snmpd(8) for debugging output and
OID names used in snmpd.conf(5).

Go ahead sthen@ and tb@

9 months agoAdd a 1ms delay before starting the MHI channels. This is a hack; we're
kettenis [Mon, 5 Feb 2024 10:45:47 +0000 (10:45 +0000)]
Add a 1ms delay before starting the MHI channels.  This is a hack; we're
probably not waiting iproperly for some sort of firmware state transition.
But this gets us going on the x13s.

ok stsp@, phessler@

9 months agoCope with recent ctype.h prefix changes.
anton [Mon, 5 Feb 2024 06:48:04 +0000 (06:48 +0000)]
Cope with recent ctype.h prefix changes.

9 months agoMore missing void
tb [Sun, 4 Feb 2024 20:51:21 +0000 (20:51 +0000)]
More missing void

From Christian Andersen

9 months agoOf course libssl also has a few missing void
tb [Sun, 4 Feb 2024 20:50:23 +0000 (20:50 +0000)]
Of course libssl also has a few missing void

From Christian Andersen

9 months agoTweak codepatch_control_flow():
guenther [Sun, 4 Feb 2024 20:18:48 +0000 (20:18 +0000)]
Tweak codepatch_control_flow():
 * it should be in .cptext so it gets unmapped when codepatching is done
 * when doing a JMP, fill the area after it with INT3s instead of NOPs

ok deraadt@

9 months agoAdd a DMA constraint for the x13s. Some brilliant person at Qualcomm
kettenis [Sun, 4 Feb 2024 18:44:23 +0000 (18:44 +0000)]
Add a DMA constraint for the x13s.  Some brilliant person at Qualcomm
decided that tying a wifi interface that can only do 32-bit DMA to their
compute platform that typically comes with at least 8G of memory was a
sensible thing to do.

Maybe we should be able to use an IOMMU to work around that.  But they
fucked that up as well.

ok patrick@, phessler@

9 months agoFix cases where the size of the complete firmware file is used instead of
kettenis [Sun, 4 Feb 2024 17:51:59 +0000 (17:51 +0000)]
Fix cases where the size of the complete firmware file is used instead of
the carved out board firmware.

ok phessler@, stsp@

9 months agoAdd minimal support for GNU_PROPERTY
deraadt [Sun, 4 Feb 2024 16:44:45 +0000 (16:44 +0000)]
Add minimal support for GNU_PROPERTY

9 months agoRemove dead code and fix null deref if vm is not found.
dv [Sun, 4 Feb 2024 14:57:00 +0000 (14:57 +0000)]
Remove dead code and fix null deref if vm is not found.

Return early if no vm is found in vmd(8)'s primary vm fork/exec
function, preventing null deref in the 'fail' section. Also remove
inner return from the parent routine to prevent unreachable code.

Found by smatch, reported by and ok jsg@.

9 months agoPrevent null pointer deref is vm isn't found.
dv [Sun, 4 Feb 2024 14:56:45 +0000 (14:56 +0000)]
Prevent null pointer deref is vm isn't found.

This area of code in vmd(8) is suspect, but the null dereference
is easily avoided.

Found by smatch, reported by and ok jsg@

9 months agoInitialize result in vioblk notification handler.
dv [Sun, 4 Feb 2024 14:54:51 +0000 (14:54 +0000)]
Initialize result in vioblk notification handler.

In the event the driver kicks the vioblk device, but the guest
doesn't have any available virtqueue space, vmd will return an
uninitialized value. If non-zero, it results in a notification to
the driver and effectively a spurious interrupt.

Found by smatch, reported by and ok jsg@

9 months agoReverse calloc args.
dv [Sun, 4 Feb 2024 14:53:12 +0000 (14:53 +0000)]
Reverse calloc args.

Found by smatch "double check that we're allocating correct size"
warning. Reported by and ok jsg@.

9 months agoZap a useless comment followed by a stray semicolon
tb [Sun, 4 Feb 2024 13:08:29 +0000 (13:08 +0000)]
Zap a useless comment followed by a stray semicolon

Noticed by Christian Andersen

9 months agoFix asn1_integer_null_data_test()
tb [Sun, 4 Feb 2024 13:07:02 +0000 (13:07 +0000)]
Fix asn1_integer_null_data_test()

The failed variable was erroneously initialized to 0, making this test
always pass.

From Christian Andersen, thanks!

9 months agoAdapt base libstdc++ to the new ctype.h defines
jca [Sun, 4 Feb 2024 13:03:26 +0000 (13:03 +0000)]
Adapt base libstdc++ to the new ctype.h defines

ctype_base.h is correctly installed by make includes so the transition should
be automatic.  If you hit a failure with this header, make sure ctype.h and
ctype_base.h are in sync.

ok miod@ tb@

9 months agoMove ctype.h defines to the _CTYPE_ prefix, avoids clashes with identifiers in ports
jca [Sun, 4 Feb 2024 13:03:18 +0000 (13:03 +0000)]
Move ctype.h defines to the _CTYPE_ prefix, avoids clashes with identifiers in ports

Even if those _[BCNLPSUX] defines are in the reserved namespace, some
ports make use of those identifiers and thus need pointless
headscratching and patches.  Just use a longer reserved prefix.
We can't just #undef those defines as they are used in libc.

Change similar to what NetBSD did around 2010.  Went through base builds
and an amd64 bulk build, the only fallout was lib(e)stdc++ base_ctype.h.
"make includes" will install the latest ctype.h and libstdc++ ctype_base.h.

"makes sense" deraadt@, ok sthen@ tb@

9 months agoChange rune-specific #defines from _CTYPE_ prefix to _RUNETYPE_ prefix
jca [Sun, 4 Feb 2024 12:46:01 +0000 (12:46 +0000)]
Change rune-specific #defines from _CTYPE_ prefix to _RUNETYPE_ prefix

Similar to what NetBSD did around 2010, this lets us move some defines
in ctype.h to the _CTYPE_ prefix.  No functional change.

"makes sense" deraadt, ok sthen@ tb@

9 months agoSplit X509_get_ext_count() out of for loop again
tb [Sun, 4 Feb 2024 07:43:27 +0000 (07:43 +0000)]
Split X509_get_ext_count() out of for loop again

The compiler can't know that the count doesn't change, so avoid evaluating
X509_get_ext_count() in each iteration. Also use a separate loop variable
in the ASid non-inheritance check to avoid a silly cast.

ok claudio

9 months agoUse x509_get_time() to get the Manifest thisUpdate / nextUpdate
job [Sun, 4 Feb 2024 00:53:27 +0000 (00:53 +0000)]
Use x509_get_time() to get the Manifest thisUpdate / nextUpdate

From the moment d2i_Manifest() was introduced, it was automatically
checked whether the thisUpdate/nextUpdate are ASN1_GENERALIZEDTIME.

Unfortunately, an additional check is needed, because OpenSSL doesn't
require RFC 5280 conformance for GeneralizedTime DER encoding.

OK tb@

9 months agoRework socket buffers locking for shared netlock.
mvs [Sat, 3 Feb 2024 22:50:08 +0000 (22:50 +0000)]
Rework socket buffers locking for shared netlock.

Shared netlock is not sufficient to call so{r,w}wakeup(). The following
sowakeup() modifies `sb_flags' and knote(9) stuff. Unfortunately, we
can't call so{r,w}wakeup() with `inp_mtx' mutex(9) because sowakeup()
also calls pgsigio() which grabs kernel lock.

However, `so*_filtops' callbacks only perform read-only access to the
socket stuff, so it is enough to hold shared netlock only, but the klist
stuff needs to be protected.

This diff introduces `sb_mtx' mutex(9) to protect sockbuf. This time
`sb_mtx' used to protect only `sb_flags' and `sb_klist'.

Now we have soassertlocked_readonly() and soassertlocked(). The first
one is happy if only shared netlock is held, meanwhile the second wants
`so_lock' or pru_lock() be held together with shared netlock.

To keep soassertlocked*() assertions soft, we need to know mutex(9)
state, so new mtx_owned() macro was introduces. Also, the new optional
(*pru_locked)() handler brings the state of pru_lock().

Tests and ok from bluhm.

9 months agoAdd tap(4) read events after rx virtqueue notification.
dv [Sat, 3 Feb 2024 21:41:35 +0000 (21:41 +0000)]
Add tap(4) read events after rx virtqueue notification.

The recent vmd(8) vionet refactor caused cpu spinning when the
device would be activated by a driver but before virtqueues were
provided. (e.g. booting a ramdisk kernel and not running `ifconfig
vio0 up`)

Defer adding the tap and packet injection read events until after
the first RX queue notification from the driver.

ok mlarkin@

9 months agomissing "s" after apostrophe;
jmc [Sat, 3 Feb 2024 20:46:57 +0000 (20:46 +0000)]
missing "s" after apostrophe;

9 months agoTry to fetch the board variant from the device tree on platforms that have
kettenis [Sat, 3 Feb 2024 20:07:19 +0000 (20:07 +0000)]
Try to fetch the board variant from the device tree on platforms that have
one (e.g. on arm64).  Needed to extract the right information from the
qwx(4) firmware on the x13s.

ok stsp@

9 months agoRework the exit path of tls13_handshake_recv_action()
tb [Sat, 3 Feb 2024 19:57:14 +0000 (19:57 +0000)]
Rework the exit path of tls13_handshake_recv_action()

If an error occurs in action->recv() for a handshake that needs to
downgrade to legacy TLS, the artistic exit path led to hiding the
error under TLS13_IO_USE_LEGACY. Rework the exit path to be easier
to follow, preserving behavior except that the error can no longer
be masked.

Detailed analysis and initial diff by Masaru Masuda.
Fixes https://github.com/libressl/openbsd/issues/146

ok beck

9 months agoRemove Softdep.
beck [Sat, 3 Feb 2024 18:51:57 +0000 (18:51 +0000)]
Remove Softdep.

Softdep has been a no-op for some time now, this removes it to get
it out of the way.

Flensing mostly done in Talinn, with some help from krw@

ok deraadt@

9 months agoStop spamming syslog when the network does something silly.
florian [Sat, 3 Feb 2024 18:30:17 +0000 (18:30 +0000)]
Stop spamming syslog when the network does something silly.
From Stefan R. Filipek, thanks!

9 months agoRemove last peeking at TLS1_FLAGS_SKIP_CERT_VERIFY
tb [Sat, 3 Feb 2024 18:03:49 +0000 (18:03 +0000)]
Remove last peeking at TLS1_FLAGS_SKIP_CERT_VERIFY

This was used for some GOST weirdness. The flag is unused in ports and
there is no user in Debian's codesearch.

ok beck

9 months agoZap a trailing blank that snuck into ssl3_get_client_hello()
tb [Sat, 3 Feb 2024 17:39:17 +0000 (17:39 +0000)]
Zap a trailing blank that snuck into ssl3_get_client_hello()

9 months agoAdd new amd64-only sysctl machdep.retpoline which says whether the cpu
deraadt [Sat, 3 Feb 2024 16:21:20 +0000 (16:21 +0000)]
Add new amd64-only sysctl machdep.retpoline which says whether the cpu
requires retpoline.  If 0, we should do everything in our power to avoid
pure retpoline (replacing it with a simple thunk where possible), because
by it's nature retpoline converts an indirect-branch into a direct branch
(push to stack & ret), and therefore it is an IBT (endbr64) bypass method.
This sysctl leverages guenther's decision-making logic in the kernel, which
already uses codepatch to fix the kernel retpoline thunk.
In my opinion, the retpoline-using logic really should be flipped; ROP
execution bypassing IBT to re-enter regular control flow is more dangerous
than spectre.
ok kettenis

9 months agoRemove GOST and STREEBOG support from libssl.
beck [Sat, 3 Feb 2024 15:58:33 +0000 (15:58 +0000)]
Remove GOST and STREEBOG support from libssl.

This version of GOST is old and not anywhere close to compliant with
modern GOST standards. It is also very intrusive in libssl and
makes a mess everywhere.  Efforts to entice a suitably minded anyone
to care about it have been unsuccessful.

At this point it is probably best to remove this, and if someone
ever showed up who truly needed a working version, it should be
a clean implementation from scratch, and have it use something
closer to the typical API in libcrypto so it would integrate less
painfully here.

This removes it from libssl in preparation for it's removal from
libcrypto with a future major bump

ok tb@

9 months agoleave the command for mbox delivery unset
op [Sat, 3 Feb 2024 15:50:00 +0000 (15:50 +0000)]
leave the command for mbox delivery unset

The mbox delivery is handled apart from the other delivery methods.
Since the mda is already hardcoded in mda_mbox(), there's no need to
fill the command string in parse.y.  While here also assess that for
mbox deliveries the command is unset at delivery time too.

based on a diff by gilles

ok gilles@, millert@

9 months agodocument that when an alternate delivery user is provided in a
op [Sat, 3 Feb 2024 15:41:02 +0000 (15:41 +0000)]
document that when an alternate delivery user is provided in a
dispatcher, no .forward file except that of the alternate delivery user
is processed.

ok gilles@, millert@

9 months agoFix X509_get_ext_count() usage
tb [Sat, 3 Feb 2024 14:43:15 +0000 (14:43 +0000)]
Fix X509_get_ext_count() usage

It doesn't return a value < 0. If it did, someone could feed rpki-client
a bad cert that makes it error out, which is bad. There are various checks
that will reject a cert without extensions, so we don't need to check this
explicitly.

ok job

9 months agoRefactor handling of stale manifests
job [Sat, 3 Feb 2024 14:30:47 +0000 (14:30 +0000)]
Refactor handling of stale manifests

No need to hoist a staleness indicator through the whole process and
count it explicitly.

OK tb@

9 months agoproc_parser_mft: simplify logic slightly
tb [Sat, 3 Feb 2024 11:27:55 +0000 (11:27 +0000)]
proc_parser_mft: simplify logic slightly

This aligns the mft2 case with mft1. There's still a bunch of cleanup
needed in here, but the logic seems to converge to something mere mortals
can follow.

ok job

9 months agoOn OpenBSD we always want IBT-compatible PLT entries. Currently we use
kettenis [Sat, 3 Feb 2024 11:03:48 +0000 (11:03 +0000)]
On OpenBSD we always want IBT-compatible PLT entries.  Currently we use
repoline PLT entries that were changed to include the necessary endbr64
instructions.  But with -Wl,-znoretpolineplt we would still emit non-BIT
PLT entries under certain circumstances.  Fix this.

ok deraadt@, guenther@

9 months agoImplement Multiple Message MSI support on arm64. As on amd64 this is
kettenis [Sat, 3 Feb 2024 10:37:25 +0000 (10:37 +0000)]
Implement Multiple Message MSI support on arm64.  As on amd64 this is
experimental code to assis qwx(4) development.  Currently this only works
on systems that use agintcmsi(4) as the MSI controller combined with the
dwpcie(4) Hots/PCIe bridge.

ok patrick@

9 months agoimplement qwx_tx()
stsp [Sat, 3 Feb 2024 10:03:18 +0000 (10:03 +0000)]
implement qwx_tx()

This gets the 4-way handshake working. Unfortunately, no traffic is
passing yet, apparently because of CCMP decryption errors in Rx.

9 months agonot enough bits for L1 cache size to be >= 1M
jsg [Sat, 3 Feb 2024 09:53:15 +0000 (09:53 +0000)]
not enough bits for L1 cache size to be >= 1M

found by "mask and shift to zero: expr='totalsize >> 10'" smatch warning

9 months agofix off-by-one in bounds check
jsg [Sat, 3 Feb 2024 09:26:52 +0000 (09:26 +0000)]
fix off-by-one in bounds check

found by "buffer overflow 'peer->capa.add_path' 7 <= 7" smatch error
ok claudio@

9 months agoreturn early if malloc fails to avoid use after free
jsg [Sat, 3 Feb 2024 09:15:57 +0000 (09:15 +0000)]
return early if malloc fails to avoid use after free

found by "passing freed memory 'edid'" smatch warning

9 months agofix off-by-one in bounds test
jsg [Sat, 3 Feb 2024 00:54:14 +0000 (00:54 +0000)]
fix off-by-one in bounds test

found by "buffer overflow 'peerxfs' 6 <= 6" smatch error

tobhe@ had a remote peer attempt a transform type of 6 and it is caught
by earlier checks before getting here.

ok tobhe@

9 months agocorrect buffer size argument to snprintf in print_proto()
jsg [Sat, 3 Feb 2024 00:38:08 +0000 (00:38 +0000)]
correct buffer size argument to snprintf in print_proto()

found by "snprintf() is printing too much 8192 vs 1024" smatch error
ok tobhe@ stsp@

9 months agofix vmd vioblk fd closing bounds test
jsg [Sat, 3 Feb 2024 00:28:07 +0000 (00:28 +0000)]
fix vmd vioblk fd closing bounds test

found by "buffer overflow 'vioblk->disk_fd' 4 <= 15" smatch error
ok dv@

9 months agofix off-by-one in bounds check
jsg [Sat, 3 Feb 2024 00:20:21 +0000 (00:20 +0000)]
fix off-by-one in bounds check

found by "buffer overflow 'ContextVarbind' 3 <= 3" smatch error
ok miod@ stsp@

9 months agoadd missing fatal() call in rde_peer_send_rrefresh()
jsg [Sat, 3 Feb 2024 00:11:34 +0000 (00:11 +0000)]
add missing fatal() call in rde_peer_send_rrefresh()

found by "if statement not indented" smatch warning
ok claudio@

9 months agowhen an alternate delivery user is provided in a dispatcher, do not process
gilles [Fri, 2 Feb 2024 23:33:42 +0000 (23:33 +0000)]
when an alternate delivery user is provided in a dispatcher, do not process
any recipient .forward file except that of the alternate delivery user.

ok millert@

9 months agoRework proc_parser_mft() further
tb [Fri, 2 Feb 2024 22:09:56 +0000 (22:09 +0000)]
Rework proc_parser_mft() further

By making proc_parser_mft_check() fail on a NULL manifest, we can
simplify the manifest selection logic further. This way we can see if
the new manifest has all the files it lists with correct hashes and
fall back to mft2 if not. This is still more complicated and uglier
than it should be, but far les convoluted and mind-bending than a day
ago.

ok job

9 months agothere's no good reason to allow smtpd to execute custom command set by root
gilles [Fri, 2 Feb 2024 22:02:12 +0000 (22:02 +0000)]
there's no good reason to allow smtpd to execute custom command set by root
in a .forward file so disallow custom commands and file reading, only allow
setting forward addresses and users.

as root is no longer allowed to run any MDA but mbox, we can be stricter on
the setup of the MDA process and refuse to exec anything that's not an mbox
dispatcher.

tested by op@ who edited a root envelope to simulate an exploit injecting a
custom command in a root envelope, smtpd refused to exec.

ok millert@ and op@

9 months agoFix vector number check.
kettenis [Fri, 2 Feb 2024 21:13:35 +0000 (21:13 +0000)]
Fix vector number check.

ok kevlo@, patrick@

9 months agoRun lmtp deliveries as the recipient user, not SMTPD_USER (_smtpd).
millert [Fri, 2 Feb 2024 20:54:27 +0000 (20:54 +0000)]
Run lmtp deliveries as the recipient user, not SMTPD_USER (_smtpd).
This is a backout of revision 1.278.  Delivery via lmtp is not
limited to running mail.lmtp, it may also be modified by a user's
.forward file (if any).  OK gilles@

9 months agoUpdate the comment
job [Fri, 2 Feb 2024 19:31:59 +0000 (19:31 +0000)]
Update the comment

9 months agoRemove old comment
job [Fri, 2 Feb 2024 19:26:49 +0000 (19:26 +0000)]
Remove old comment

OK tb@

9 months agono longer check staleness in proc_parser_mft
job [Fri, 2 Feb 2024 19:26:26 +0000 (19:26 +0000)]
no longer check staleness in proc_parser_mft

invert logic for readability

OK tb@

9 months agoparser: inline last call to proc_parser_mft_post()
tb [Fri, 2 Feb 2024 18:59:35 +0000 (18:59 +0000)]
parser: inline last call to proc_parser_mft_post()

with and ok job

9 months agofix previous: a *mp = mft1 got lost
tb [Fri, 2 Feb 2024 18:22:45 +0000 (18:22 +0000)]
fix previous: a *mp = mft1 got lost

ok job

9 months agorefactor: don't call proc_parser_mft_post for the first mft
job [Fri, 2 Feb 2024 18:11:12 +0000 (18:11 +0000)]
refactor: don't call proc_parser_mft_post for the first mft

should be exact same behaviour as before

OK tb@

9 months agoparser: no need to overload err1 twice.
tb [Fri, 2 Feb 2024 16:41:41 +0000 (16:41 +0000)]
parser: no need to overload err1 twice.

err2 is only used in the second call to proc_parser_mft_proc() and
right before it there is already an error overload.

ok job

9 months agorefactor: populate mft->path in the pre parser
job [Fri, 2 Feb 2024 16:15:08 +0000 (16:15 +0000)]
refactor: populate mft->path in the pre parser

OK tb@

9 months agoaspath_inflate() can be called with an empty ASPATH.
claudio [Fri, 2 Feb 2024 16:14:51 +0000 (16:14 +0000)]
aspath_inflate() can be called with an empty ASPATH.

In this case ibuf_size(in) is 0 and the ibuf_open() fails because
right now 0 sized ibufs are not allowed. Add + 1 to the size calculation
as a workaround.
OK tb@

9 months agoCleanup a couple of fatal messages to be less bad.
claudio [Fri, 2 Feb 2024 16:10:33 +0000 (16:10 +0000)]
Cleanup a couple of fatal messages to be less bad.

9 months agoImplement basics of the qwx(4) data frame Rx path.
stsp [Fri, 2 Feb 2024 15:44:19 +0000 (15:44 +0000)]
Implement basics of the qwx(4) data frame Rx path.

Port enough ath11k dp_rx code in order to let our net80211 stack
see the initial WPA handshake packet sent by the AP.

9 months agoIn in_pcbrtentry() add missing return of in6_pcbrtentry() value.
bluhm [Fri, 2 Feb 2024 15:39:23 +0000 (15:39 +0000)]
In in_pcbrtentry() add missing return of in6_pcbrtentry() value.

Reported-by: syzbot+5f2286d5962355f0cfd8@syzkaller.appspotmail.com
OK kn@

9 months agoExplain missing group on getgrnam(3) failure.
dv [Fri, 2 Feb 2024 14:58:02 +0000 (14:58 +0000)]
Explain missing group on getgrnam(3) failure.

vmd's use of agentx requires the agentx group, but if unavailable,
no details were given to the user.

Zap some whitespace whitespace while here.

"that is better", deraadt@

9 months agorefactor: no longer needed to pass loc to the mft preparser
job [Fri, 2 Feb 2024 14:13:58 +0000 (14:13 +0000)]
refactor: no longer needed to pass loc to the mft preparser

OK tb@

9 months agoIgnore EVP_MD_CTX_reset() return value
tb [Fri, 2 Feb 2024 14:13:11 +0000 (14:13 +0000)]
Ignore EVP_MD_CTX_reset() return value

Also drop now unnecessary NULL checks before it.

9 months agoIgnore EVP_CIPHER_CTX_reset() return value, it can't fail
tb [Fri, 2 Feb 2024 14:11:45 +0000 (14:11 +0000)]
Ignore EVP_CIPHER_CTX_reset() return value, it can't fail

9 months agorefactor: move parse_filepath() to avoid pointer indirection
job [Fri, 2 Feb 2024 13:40:50 +0000 (13:40 +0000)]
refactor: move parse_filepath() to avoid pointer indirection

OK tb@

9 months agorefactoring: move time validity window checks out of proc_parser_mft_post()
job [Fri, 2 Feb 2024 12:35:15 +0000 (12:35 +0000)]
refactoring: move time validity window checks out of proc_parser_mft_post()

OK tb@

9 months agoRework error messages a bit
job [Fri, 2 Feb 2024 12:23:16 +0000 (12:23 +0000)]
Rework error messages a bit

OK tb@

9 months agoEnable sximmc(4)
kettenis [Fri, 2 Feb 2024 12:09:18 +0000 (12:09 +0000)]
Enable sximmc(4)

9 months agoAdd Allwinner D1 support.
kettenis [Fri, 2 Feb 2024 12:02:26 +0000 (12:02 +0000)]
Add Allwinner D1 support.

ok jca@, patrick@

9 months agoAdd a few more Allwinner D1 clocks.
kettenis [Fri, 2 Feb 2024 12:01:49 +0000 (12:01 +0000)]
Add a few more Allwinner D1 clocks.

ok patrick@

9 months agoReimplement BIO_dump_indent() with CBS/CBB and BIO_printf()
tb [Fri, 2 Feb 2024 10:53:48 +0000 (10:53 +0000)]
Reimplement BIO_dump_indent() with CBS/CBB and BIO_printf()

Instead of heaps of unchecked strlcpy/strlcat/snprintf doing hard to follow
gymnastics, use a byte string, a somewhat comprehensible computation of the
number of bytes to dump per output line and write using checked BIO_printf()
directly to the BIO.

Longer strings will still overflow the terminal width of 80 and even longer
strings will still overflow the return value (undefined behavior). I don't
care much about the former but the latter should be fixed in a later pass.

ok beck

9 months agoThe fix to pfctl_kill_src_nodes() comes from Olivier Croquin.
sashan [Fri, 2 Feb 2024 08:23:29 +0000 (08:23 +0000)]
The fix to pfctl_kill_src_nodes() comes from Olivier Croquin.
bluhm@ pointed out pfctl_net_kill_states() suffers from the
same copy'n'paste typo. Commit combines both fixes.

OK @bluhm, OK @kn

9 months agobio_dump: fix indent
tb [Fri, 2 Feb 2024 06:47:21 +0000 (06:47 +0000)]
bio_dump: fix indent

9 months agobio_dump: add one more testcase
tb [Fri, 2 Feb 2024 06:39:58 +0000 (06:39 +0000)]
bio_dump: add one more testcase

This one covers the silly minuses between the hexdump and the ASCII dump
when dumping eight bytes per line.

9 months agoAdd regress coverage for BIO_dump()
tb [Fri, 2 Feb 2024 06:22:01 +0000 (06:22 +0000)]
Add regress coverage for BIO_dump()

9 months agodrm/amdgpu/gfx11: set UNORD_DISPATCH in compute MQDs
jsg [Fri, 2 Feb 2024 03:41:53 +0000 (03:41 +0000)]
drm/amdgpu/gfx11: set UNORD_DISPATCH in compute MQDs

From Alex Deucher
5ff487d180dc25138d2261dda9e3b2d46ef3051a in linux-6.6.y/6.6.15
3380fcad2c906872110d31ddf7aa1fdea57f9df6 in mainline linux

9 months agodrm/amdgpu/gfx10: set UNORD_DISPATCH in compute MQDs
jsg [Fri, 2 Feb 2024 03:39:56 +0000 (03:39 +0000)]
drm/amdgpu/gfx10: set UNORD_DISPATCH in compute MQDs

From Alex Deucher
b59ea95e72e051fe53a5c978222d65b80ca2ef96 in linux-6.6.y/6.6.15
03ff6d7238b77e5fb2b85dc5fe01d2db9eb893bd in mainline linux