rpki-client: do not provide IPAddrBlocks_{new,free}() unconditionally
After sitting on the issue for over four years, a last-minute addition to
OpenSSL 4.1 provided a somewhat incorrect version of IPAddrBlocks_new(),
and versions of IPAddrBlocks_free() ith i2d and d2i and the ASN.1 item.
Until LibreSSL provides the corresponding functions, we need this compat
code in base. After that the rfc3779.c file can move to portable where it
really belongs.
With this the rpki-client code is ready for OpenSSL 4.1, provided it uses
a fixed version of lib(re)tls.
ok claudio
rpki-client: fix valid_uri() to work with non-strings
valid_uri() takes a length parameter and should honor that. Most uris
passed are NUL terminated, but the ones coming from an ASN1_STRING are
not guaranteed to be. Calling strstr() on a non-terminated string with
no match is a buffer overread. So use memmem() instead.
This is needed for rpki-client to work with OpenSSL 4.1, who, in their
infinite disregard for downstreams chose to stop NUL-terminating ASN.1
strings. A massive breaking change in a minor release that will surely
cause lots of buffer overreads. It's also not mentioned in CHANGES.md,
only in their terrible migration guide. Of course it's been documented
since forever, but who reads OpenSSL's crappy documentation anyway?
ok claudio
Add a test, disabled for now, that tests $ORIGIN works when a program
is executed by a search of the PATH. Additional tests are needed for
other cases. okay deraadt@
Enable jumbo frames in ogx(4)ogx(4) already handles buffer chaining. Raise the MTU limit to enable
the use of jumbo frames.
Use the same maximum MTU as cnmac(4). The limit 12288 (0x3000) is
somewhat arbitrary. It could be even higher, but it is already
higher than what many other network devices are capable of.
when expanding variables with the raw modifier, apply a filtering in
both environment and mda to restrict the characters that are allowed
to pass through.
spotted by squishification at gmail.com
from gilles@
this is errata/7.9/015_smtpd.patch.sig
when expanding variables with the raw modifier, apply a filtering in
both environment and mda to restrict the characters that are allowed
to pass through.
spotted by squishification at gmail.com
from gilles@
this is errata/7.8/051_smtpd.patch.sig
when expanding variables with the raw modifier, apply a filtering in
both environment and mda to restrict the characters that are allowed
to pass through.
spotted by squishification at gmail.com
As suggested by deraadt@, split execvp(3) out of execv(3),
since the two groups of functions are sufficiently different and
the semantics and error handling of the *p* functions is sufficiently
complicated to make the combined manual page confusing.
In particular, the early sentence about "the initial argument"
was outright wrong and hard to fix without causing other problems.
This commit only does the minimum required for the split,
with no text changes yet, but it will allow subsequent improvements
in both pages.
Rather than allowing floating panes to remain outside the window and
invisible after resize, move them and resize them so they are fully
inside the window. GitHub issue 5582 from Noam Stolero.
rpki-client: change return 0 to goto out
This turns cms_parse_validate() into a single exit function and fixes
a return 0 that should have been return NULL since the last commit.
correct dma_tag_lookup() loop
drm_cd.cd_ndevs[] has pointers to drm_softc not drm_device
Currently, dma_tag_lookup() is only used by the apldcp/apldrm drivers.
At the start of the softc for both of those is struct platform_device.
If the loop doesn't match the the function argument is cast to
struct platform_device *, so the problem was not noticed.
discussed with kettenis@ and apldcp/apldrm tested on m1 mac mini
only allow an NFS server to set file type on a new vnode
Otherwise, a malicous server could aid a local user in avoiding access
controls.
This reverts nfs_subs.c rev 1.3. Which was part of a commit to fix the
use of automount with direct maps.
reported by Andrew Griffiths
from jsg@
this is errata/7.9/016_nfs.patch.sig
only allow an NFS server to set file type on a new vnode
Otherwise, a malicous server could aid a local user in avoiding access
controls.
This reverts nfs_subs.c rev 1.3. Which was part of a commit to fix the
use of automount with direct maps.
reported by Andrew Griffiths
from jsg@
this is errata/7.8/052_nfs.patch.sig
Clamp numeric arguments of terminal escape sequences to an arbitrary value of
100,000. The existing logic would happily process as many digits as provided,
which could make the values wraparound at 2**32, or be considered as negative
values if cast to a signed type, leading to incorrect processing.
Bug report by Acts1631.
from miod@
this is errata/7.9/017_wscons.patch.sig
Clamp numeric arguments of terminal escape sequences to an arbitrary value of
100,000. The existing logic would happily process as many digits as provided,
which could make the values wraparound at 2**32, or be considered as negative
values if cast to a signed type, leading to incorrect processing.
Bug report by Acts1631.
from miod@
this is errata/7.8/053_wscons.patch.sig
sys/uvm: validate anonymous object pager requests
uao_get() trusts the requested page range before allocating pages and
looking up swap slots; an invalid request can therefore allocate a page
outside the object and read beyond its swap slot array. Validate the
request before page lookup or allocation, preserving optional fault
clustering at the object boundary.
Reject nonpositive page counts and starting page indices outside the
object; require the entire range for PGO_ALLPAGES, or a centeridx within
both the request and the object otherwise. Compare against the remaining
page count in voff_t and derive pageidx from the validated firstpage,
avoiding overflow in the bounds check and unchecked narrowing.
Reported by Andrew Griffiths, thanks!
from kirill@; OK kettenis@
this is errata/7.9/018_shmat.patch.sig
sys/uvm: validate anonymous object pager requests
uao_get() trusts the requested page range before allocating pages and
looking up swap slots; an invalid request can therefore allocate a page
outside the object and read beyond its swap slot array. Validate the
request before page lookup or allocation, preserving optional fault
clustering at the object boundary.
Reject nonpositive page counts and starting page indices outside the
object; require the entire range for PGO_ALLPAGES, or a centeridx within
both the request and the object otherwise. Compare against the remaining
page count in voff_t and derive pageidx from the validated firstpage,
avoiding overflow in the bounds check and unchecked narrowing.
Reported by Andrew Griffiths, thanks!
from kirill@; OK kettenis@
this is errata/7.8/054_shmat.patch.sig
Backport all changes from libexpat version 2.8.4.
Relevant for OpenBSD are security fixes #1321 #1331 #1322, other
changes #1315 #1325 #1334 #1340 #1319 #1320. Library bump is not
necessary.
CVE-2026-66046CVE-2026-76641CVE-2026-76957
from bluhm@; OK tb@
this is errata/7.9/019_expat.patch.sig
Backport all changes from libexpat version 2.8.4.
Relevant for OpenBSD are security fixes #1321 #1331 #1322, other
changes #1315 #1325 #1334 #1340 #1319 #1320. Library bump is not
necessary.
CVE-2026-66046CVE-2026-76641CVE-2026-76957
from bluhm@; OK tb@
this is errata/7.8/055_expat.patch.sig
Assign connections a 64 bit identifier rather than using the socket fd to
identify them between subprocesses.
Based on a report from Franz Bettag of Bettag Systems
from jmatthew@; OK deraadt@
this is errata/7.9/021_ldapd.patch.sig
Assign connections a 64 bit identifier rather than using the socket fd to
identify them between subprocesses.
Based on a report from Franz Bettag of Bettag Systems
from jmatthew@; OK deraadt@
this is errata/7.8/057_ldapd.patch.sig