openbsd
11 months agoinclude function name in warning printf in vmx_handle_np_fault() and svm_handle_np_fa...
jasper [Mon, 13 Nov 2023 19:15:01 +0000 (19:15 +0000)]
include function name in warning printf in vmx_handle_np_fault() and svm_handle_np_fault() more clearer output

ok mlarkin@

11 months agoReduce the man(7) default global indentation from 7n, which was an oddity
schwarze [Mon, 13 Nov 2023 19:13:00 +0000 (19:13 +0000)]
Reduce the man(7) default global indentation from 7n, which was an oddity
in groff-1.01 to groff-1.22.4, to 5n for compatibility with Version 7 AT&T
UNIX, 4.3BSD-Reno, groff-1.23.0, and all versions of mdoc(7).
OK jmc@ millert@

11 months agoFix rt_setgate() error handling.
bluhm [Mon, 13 Nov 2023 17:18:27 +0000 (17:18 +0000)]
Fix rt_setgate() error handling.

In revision 1.424 the logic in rt_setgate() has changed.  The old
code entered a value into rt_gateway also if rt_setgwroute() returned
an error.  Now if rt_setgwroute() fails, rt_gateway is NULL and
ROUNDUP(rt->rt_gateway->sa_len) crashes.

Put back the old logic in rt_setgate().  Setting rt_gateway and
rt_gwroute are actually independent.

If malloc(9) in rt_setgate() fails, rt_gateway can still be NULL.
The subsequent crash in free(rt->rt_gateway, M_RTABLE,
ROUNDUP(rt->rt_gateway->sa_len)) was just never observed.  Add a
NULL check around these free(9).

Reported-by: syzbot+2e79dd9db712d3c5ade9@syzkaller.appspotmail.com
OK mvs@

11 months agoMake X509_certificate_type() less bad
tb [Mon, 13 Nov 2023 16:16:14 +0000 (16:16 +0000)]
Make X509_certificate_type() less bad

This converts to proper single exit and undoes a number of unnecessarily
silly muppet antics.

ok beck

11 months agoGarbage collect an incoherent export crypto check
tb [Mon, 13 Nov 2023 15:44:15 +0000 (15:44 +0000)]
Garbage collect an incoherent export crypto check

Contrast "#define EVP_PKT_EXP  0x1000 /* <= 512 bit key */" with the diff:

-       /* /8 because it's 1024 bits we look for, not bytes */
-       if (EVP_PKEY_size(pk) <= 1024 / 8)
-               ret |= EVP_PKT_EXP;

EVP_PKT_EXP will be nuked at the next opportunity.

discussed with jsing

11 months agoUse a sensible variable name (i.e. nid) instead of i for a NID
tb [Mon, 13 Nov 2023 15:40:44 +0000 (15:40 +0000)]
Use a sensible variable name (i.e. nid) instead of i for a NID

11 months agoUse X509_get_signature_nid() instead of inlining it
tb [Mon, 13 Nov 2023 15:38:09 +0000 (15:38 +0000)]
Use X509_get_signature_nid() instead of inlining it

ok beck jsing

11 months agoX509_certificate_type() needs to know about RSA-PSS
tb [Mon, 13 Nov 2023 15:36:55 +0000 (15:36 +0000)]
X509_certificate_type() needs to know about RSA-PSS

This doesn't do much right now, but is part of the tangle that is adding
RSA-PSS support.

ok beck jsing

11 months agoApparently base-gcc doesn't like having OID() inside MIBDECL(). Handroll
martijn [Mon, 13 Nov 2023 15:05:14 +0000 (15:05 +0000)]
Apparently base-gcc doesn't like having OID() inside MIBDECL(). Handroll
the OID() logic into MIBDECL().

Found, tested, and OK jca@
OK tb@

11 months agoBye bye libcsi
tb [Mon, 13 Nov 2023 14:13:23 +0000 (14:13 +0000)]
Bye bye libcsi

This is sad, but unfortunately, we never had time to grow it to its
intended use. It's been in maintenance mode for too long, and there
currently aren't concrete projects to pursue this direction further.

It can be revived when the time is ripe. Until then, let it not get
in the way of more urgent work.

discussed with jsing

11 months agoRetire the libcsi regress
tb [Mon, 13 Nov 2023 14:03:17 +0000 (14:03 +0000)]
Retire the libcsi regress

11 months agosync Symbols.list with reality; ok tb@
robert [Mon, 13 Nov 2023 13:34:40 +0000 (13:34 +0000)]
sync Symbols.list with reality; ok tb@

11 months agoenable UDF on arm64 install media
jsg [Mon, 13 Nov 2023 12:49:41 +0000 (12:49 +0000)]
enable UDF on arm64 install media
ok deraadt@ kn@

11 months agoPrepare to expose OPENSSL_gmtime and OPENSSL_timegm as public
beck [Mon, 13 Nov 2023 12:46:07 +0000 (12:46 +0000)]
Prepare to expose OPENSSL_gmtime and OPENSSL_timegm as public

This matches when BoringSSL has done, and allows for getting
rid of the dependency on system timegm() and gmtime() in libtls.
which will make life easier for portable, and remove our
dependency on the potentially very slow system versions.

ok tb@ - tb will handle the minor bump bits and expose
on the next minor bump
CVS :----------------------------------------------------------------------

11 months agoKill last user of ASN1_time_parse() in the tree
tb [Mon, 13 Nov 2023 12:43:08 +0000 (12:43 +0000)]
Kill last user of ASN1_time_parse() in the tree

ASN1_time_parse() was useful while OpenSSL didn't have something sort of
equivalent, but now they do. Let's retire ASN1_time_parse() to internal.
This will require some patching in ports, but shrug.

ok beck

11 months agoCheck notBefore/notAfter validity with ASN1_TIME_to_tm(3)
tb [Mon, 13 Nov 2023 11:50:36 +0000 (11:50 +0000)]
Check notBefore/notAfter validity with ASN1_TIME_to_tm(3)

ok beck

11 months agoReplace ASN1_time_parse() with ASN1_TIME_to_tm()
tb [Mon, 13 Nov 2023 11:46:24 +0000 (11:46 +0000)]
Replace ASN1_time_parse() with ASN1_TIME_to_tm()

Like in libtls, we use ASN1_GENERALIZEDTIME_check() to ensure we actually
have a GeneralizedTime.

ok beck

11 months agoBump datasize for staff to match amd64
jca [Mon, 13 Nov 2023 11:33:52 +0000 (11:33 +0000)]
Bump datasize for staff to match amd64

Suggested by jsing@, ok tb@

11 months agosync
jsg [Mon, 13 Nov 2023 11:12:37 +0000 (11:12 +0000)]
sync

11 months agoRemove last caller of ASN1_time_parse(3) in libtls
tb [Mon, 13 Nov 2023 10:56:19 +0000 (10:56 +0000)]
Remove last caller of ASN1_time_parse(3) in libtls

This one is slightly annoying since ASN1_TIME_to_tm(3) doesn't provide a
direct check for a GeneralizedTime, so call ASN1_GENERALIZEDTIME_check()
as well. This means LibreSSL parses the time twice. Shrug.

ok beck

11 months agoRemove ASN1_time_parse() dependency in tls_conninfo.c
tb [Mon, 13 Nov 2023 10:51:49 +0000 (10:51 +0000)]
Remove ASN1_time_parse() dependency in tls_conninfo.c

During r2k22 ported some of the missing OpenSSL ASN.1 time API. This is
a step towards removing the dependency of libtls on ASN1_time_parse().
The latter grew a dependency on CBS/CBB, and thus the choice is to pull
in all this code or to use a no longer maintained version of the API.
Both options are unappealing.

ok beck

11 months agoEliminate the timegm(3) dependency in libcrypto
tb [Mon, 13 Nov 2023 10:33:00 +0000 (10:33 +0000)]
Eliminate the timegm(3) dependency in libcrypto

timegm(3) is not available on some operating systems we support in
portable. We currently use musl's implementation, for which gcc-13
decided to emit warnings (which seem incorrect in general and are
irrelevant in this case anyway). Instead of patching this up and
diverge from upstream, we can avoid reports about compiler warnings
by simply not depending on this function.

Rework the caching of notBefore and notAfter by replacing timegm(3)
with asn1_time_tm_to_time_t(3). Also make this API properly error
checkable since at the time x509v3_cache_extensions(3) is called,
nothing is known about the cert, in particular not whether it isn't
malformed one way or the other.

suggested by and ok beck

11 months agoAdd 2 tests to make sure getbulkrequests return the correct error index.
martijn [Mon, 13 Nov 2023 10:16:51 +0000 (10:16 +0000)]
Add 2 tests to make sure getbulkrequests return the correct error index.

11 months agostruct appl_varbind_internal's avi_index is used to give the index to
martijn [Mon, 13 Nov 2023 10:14:29 +0000 (10:14 +0000)]
struct appl_varbind_internal's avi_index is used to give the index to
the original varbindlist's index. In the case of a GetBulkRequest this
must never be larger than the length of the original varbindlist.

OK tb@

11 months agoadjust `regress' description since REGRESS_FAIL_EARLY is yes now
op [Mon, 13 Nov 2023 10:11:41 +0000 (10:11 +0000)]
adjust `regress' description since REGRESS_FAIL_EARLY is yes now

ok plus various improvements to the text by tb@

11 months agosync
jsg [Mon, 13 Nov 2023 09:51:33 +0000 (09:51 +0000)]
sync
ok robert@

11 months agoMake sure sftp_get_limits() only returns 0 if 'limits' was initialized.
tobhe [Mon, 13 Nov 2023 09:18:19 +0000 (09:18 +0000)]
Make sure sftp_get_limits() only returns 0 if 'limits' was initialized.
This fixes a potential uninitialized use of 'limits' in sftp_init() if
sftp_get_limits() returned early because of an unexpected message type.

ok djm@

11 months agoBump datasize for the default login class, needed to build clang-16
jca [Sun, 12 Nov 2023 23:50:57 +0000 (23:50 +0000)]
Bump datasize for the default login class, needed to build clang-16

11 months agoDeclare global variable zeroin46_addr as const.
bluhm [Sun, 12 Nov 2023 23:19:14 +0000 (23:19 +0000)]
Declare global variable zeroin46_addr as const.

OK mvs@ jca@

11 months agoAlso bump the default limit on riscv64
jca [Sun, 12 Nov 2023 23:15:56 +0000 (23:15 +0000)]
Also bump the default limit on riscv64

Reported by jsing@

11 months agoappend ExtensionDependencies.inc to CLEANFILES only if .OBJDIR != .CURDIR
robert [Sun, 12 Nov 2023 21:17:48 +0000 (21:17 +0000)]
append ExtensionDependencies.inc to CLEANFILES only if .OBJDIR != .CURDIR

11 months agoMove struct oid from snmpd.h into smi.c and trim a lot of the now unused
martijn [Sun, 12 Nov 2023 20:14:39 +0000 (20:14 +0000)]
Move struct oid from snmpd.h into smi.c and trim a lot of the now unused
fat. This includes all the o_flags member related defines.

if it compiles ship it/OK tb@

11 months agoRemove a bunch of unused smi_ functions and move a couple of definitions
martijn [Sun, 12 Nov 2023 20:12:01 +0000 (20:12 +0000)]
Remove a bunch of unused smi_ functions and move a couple of definitions
out of snmpd.h, which aren't used outside of smi.c

OK tb@

11 months agoNow that smi_oid_cmp() is only used by the oidtree RB-tree, and nothing
martijn [Sun, 12 Nov 2023 20:10:13 +0000 (20:10 +0000)]
Now that smi_oid_cmp() is only used by the oidtree RB-tree, and nothing
fancy is using it, we can simply rely on ober_oid_cmp().

OK tb@

11 months agoNow that MIBDECL() fills in bo_n, no need to call smi_oidlen() anymore.
martijn [Sun, 12 Nov 2023 20:07:48 +0000 (20:07 +0000)]
Now that MIBDECL() fills in bo_n, no need to call smi_oidlen() anymore.

OK tb@

11 months agoLet MIBDECL() make use of OID(). This gives use bo_n for free and we
martijn [Sun, 12 Nov 2023 20:06:53 +0000 (20:06 +0000)]
Let MIBDECL() make use of OID(). This gives use bo_n for free and we
won't have to rely on error-prone smi_oidlen.

OK tb@

11 months agoNow that smi.c is basically an oid/name translator, let smi_insert()
martijn [Sun, 12 Nov 2023 20:04:35 +0000 (20:04 +0000)]
Now that smi.c is basically an oid/name translator, let smi_insert()
create the struct oid and let parse.y supply the arguments.

OK tb@

11 months agoNo need to use struct oid to compare two struct ber_oids. Just call
martijn [Sun, 12 Nov 2023 20:02:05 +0000 (20:02 +0000)]
No need to use struct oid to compare two struct ber_oids. Just call
ober_oid_cmp() directly.

OK tb@

11 months agoPrinting all known objects inside smi when build with -DDEBUG has no
martijn [Sun, 12 Nov 2023 19:59:56 +0000 (19:59 +0000)]
Printing all known objects inside smi when build with -DDEBUG has no
benefit. Remove it and the last consumer of smi_foreach().

OK tb@

11 months agoNo reason to call (error-prone) smi_scalar_oidlen when we include the
martijn [Sun, 12 Nov 2023 19:58:15 +0000 (19:58 +0000)]
No reason to call (error-prone) smi_scalar_oidlen when we include the
scalar .0 ourselves.

OK tb@

11 months agorevert https://reviews.llvm.org/D135402 for now to shut lld up until we fix
robert [Sun, 12 Nov 2023 19:30:04 +0000 (19:30 +0000)]
revert https://reviews.llvm.org/D135402 for now to shut lld up until we fix
all the symbol lists

11 months agoBump NTP era if the offset we receive is small, in a similar manner
otto [Sun, 12 Nov 2023 18:53:22 +0000 (18:53 +0000)]
Bump NTP era if the offset we receive is small, in a similar manner
as ntpd.  ok deraadt@

11 months agoUse constant sockaddr in route lookup.
bluhm [Sun, 12 Nov 2023 17:51:40 +0000 (17:51 +0000)]
Use constant sockaddr in route lookup.

In rtalloc() and rtalloc_mpath() declare the parameter dst as const
sockaddr.  This makes MP safe route lookup easier as the destination
address is definitely not modified during the operation.  Array
rti_info, the central data structure with addresses for route
matching, contains constant sockaddr now.

OK mvs@ dlg@

11 months agosync path to libclang_rt*.a
jca [Sun, 12 Nov 2023 17:38:24 +0000 (17:38 +0000)]
sync path to libclang_rt*.a

11 months agoFix install path, reminded by otto@
jca [Sun, 12 Nov 2023 17:29:04 +0000 (17:29 +0000)]
Fix install path, reminded by otto@

11 months agoMechanical lib/clang/13.0.0/include -> lib/clang/16/include
jca [Sun, 12 Nov 2023 17:25:08 +0000 (17:25 +0000)]
Mechanical lib/clang/13.0.0/include -> lib/clang/16/include

The actual headers list still needs to be fixed on !(amd64)

11 months ago+/usr/include/llvm/Config/TargetMCAs.def
jca [Sun, 12 Nov 2023 17:22:43 +0000 (17:22 +0000)]
+/usr/include/llvm/Config/TargetMCAs.def

11 months agosync
jca [Sun, 12 Nov 2023 17:10:17 +0000 (17:10 +0000)]
sync

11 months agosync (libLLVM bump)
jca [Sun, 12 Nov 2023 17:09:40 +0000 (17:09 +0000)]
sync (libLLVM bump)

11 months agoBump MAXDSIZ to 2G on armv7. Needed for llvm-16.
kettenis [Sun, 12 Nov 2023 16:37:28 +0000 (16:37 +0000)]
Bump MAXDSIZ to 2G on armv7.  Needed for llvm-16.

ok deraadt@

11 months agoFix parsing of branch target protection options on arm64 to enable
kettenis [Sun, 12 Nov 2023 16:33:23 +0000 (16:33 +0000)]
Fix parsing of branch target protection options on arm64 to enable
BTI and PAC again by default on OpenBSD.

ok robert@

11 months agoDo not modify route info sockaddr in rtm_xaddrs().
bluhm [Sun, 12 Nov 2023 16:10:46 +0000 (16:10 +0000)]
Do not modify route info sockaddr in rtm_xaddrs().

The rti_info array is used to describe routes that should be found
by lookup.  Modifying the addreses in it is not a good idea.  There
were places where rtm_xaddrs() tried to fix the address family
instead of validating it.  Replace the modification with a check
and error out with EAFNOSUPPORT on failure.  Route labels always
have AF_UNSPEC and the other types are not used anyway.

OK kn@

11 months agoNow that the last consumer of mps.c is gone, remove it and its
martijn [Sun, 12 Nov 2023 16:07:34 +0000 (16:07 +0000)]
Now that the last consumer of mps.c is gone, remove it and its
application_legacy.c companion.

OK tb@

11 months agoMove snmpd.conf's oid keyword into application_internal.c. These objects
martijn [Sun, 12 Nov 2023 16:03:41 +0000 (16:03 +0000)]
Move snmpd.conf's oid keyword into application_internal.c. These objects
get registered under their own backend name, so that they can't overlap
with the internal regions. This removes the last consumer of mps.c

OK tb@

11 months agort_gateway and rt_gwroute use X protections now.
dlg [Sun, 12 Nov 2023 15:42:54 +0000 (15:42 +0000)]
rt_gateway and rt_gwroute use X protections now.

pointed out by bluhm@

11 months agort_setgate performs a series of tweaks to an rtable and the routes in
dlg [Sun, 12 Nov 2023 15:42:05 +0000 (15:42 +0000)]
rt_setgate performs a series of tweaks to an rtable and the routes in
the rtable which should be serialised to ensure they're consistent.
unfortunately, rt_setgate is called from the network stack while it's
only holding shared NET_LOCK.

this uses the [X] protections as described in route.h to serialise the
changes, and reworks the code to try and keep enough stuff linked up
properly during the changes that it will still work if another cpu is
still using the rtentry structs while they still have shared net lock.

tested by and ok bluhm@

11 months agofix the signal numbers passed to siginterrupt.
dlg [Sun, 12 Nov 2023 15:18:04 +0000 (15:18 +0000)]
fix the signal numbers passed to siginterrupt.

from dhill@

11 months agobump datasize to 1536M for the default login class to allow the build
robert [Sun, 12 Nov 2023 14:41:41 +0000 (14:41 +0000)]
bump datasize to 1536M for the default login class to allow the build
user to generate the AMDGPU includes in llvm-16

discussed with deraadt@

11 months agoTargetMCAs.def is required to be installed in the llvm include dir
robert [Sun, 12 Nov 2023 14:25:40 +0000 (14:25 +0000)]
TargetMCAs.def is required to be installed in the llvm include dir
so instead of shipping the file internally, let's generate it and
install it with the rest of the headers; unbreaks xenocara build

11 months agoAdd support for the Rockchip RK8602 and RK8603 voltage regulators.
patrick [Sun, 12 Nov 2023 12:41:43 +0000 (12:41 +0000)]
Add support for the Rockchip RK8602 and RK8603 voltage regulators.

ok dlg@

11 months agoflip the ignoreFunctionAddressEquality flag; lost in merging changes from llvm-13
robert [Sun, 12 Nov 2023 11:43:04 +0000 (11:43 +0000)]
flip the ignoreFunctionAddressEquality flag; lost in merging changes from llvm-13

11 months agosplit the Symbols.list up so that arch specific symbols do not end up everywhere
robert [Sun, 12 Nov 2023 10:49:27 +0000 (10:49 +0000)]
split the Symbols.list up so that arch specific symbols do not end up everywhere

ok tb@

11 months agothe ws in wscons is short for workstation
dlg [Sun, 12 Nov 2023 09:21:36 +0000 (09:21 +0000)]
the ws in wscons is short for workstation

11 months agoFix variable name in comment
jca [Sat, 11 Nov 2023 18:47:02 +0000 (18:47 +0000)]
Fix variable name in comment

Mostly a dummy commit so that the last llvm commit ends up in the git export.
(No idea whether it's actually/still needed but it can't hurt.)

11 months agoupdate build infrastructure for llvm-16.0.6
robert [Sat, 11 Nov 2023 18:35:35 +0000 (18:35 +0000)]
update build infrastructure for llvm-16.0.6

11 months agomerge lldb-16.0.6
robert [Sat, 11 Nov 2023 18:24:39 +0000 (18:24 +0000)]
merge lldb-16.0.6

11 months agoimport lldb from LLVM-16.0.6
robert [Sat, 11 Nov 2023 18:22:53 +0000 (18:22 +0000)]
import lldb from LLVM-16.0.6

11 months agomerge lld-16.0.6
robert [Sat, 11 Nov 2023 18:22:09 +0000 (18:22 +0000)]
merge lld-16.0.6

11 months agoimport of lld from LLVM-16.0.6
robert [Sat, 11 Nov 2023 18:21:06 +0000 (18:21 +0000)]
import of lld from LLVM-16.0.6

11 months agomerge clang-16.0.6
robert [Sat, 11 Nov 2023 18:20:20 +0000 (18:20 +0000)]
merge clang-16.0.6

11 months agoimport of clang from LLVM-16.0.6
robert [Sat, 11 Nov 2023 18:16:10 +0000 (18:16 +0000)]
import of clang from LLVM-16.0.6

11 months agomerge llvm-16.0.6
robert [Sat, 11 Nov 2023 18:14:26 +0000 (18:14 +0000)]
merge llvm-16.0.6

11 months agoRandomly linked riscv64 kernels built with clang/lld-16 hang too often
jca [Sat, 11 Nov 2023 18:00:36 +0000 (18:00 +0000)]
Randomly linked riscv64 kernels built with clang/lld-16 hang too often

Use cat instead of sort -R to disable random relinking for now, until we
find the culprit.  For whoever interested, using cat or sort avoids the
problem but using sort -r makes it 100% reproducible in my tests.

Suggested by deraadt@

11 months agoimport of llvm from LLVM 16.0.6
robert [Sat, 11 Nov 2023 17:58:32 +0000 (17:58 +0000)]
import of llvm from LLVM 16.0.6

11 months agoEnable CD9660 in RAMDISK so we can mount CD-ROMs.
patrick [Sat, 11 Nov 2023 17:20:21 +0000 (17:20 +0000)]
Enable CD9660 in RAMDISK so we can mount CD-ROMs.

ok jsg@

11 months agoAttach dwqe(4) to Intel Elkhart Lake PSE SGMII devices.
stsp [Sat, 11 Nov 2023 16:50:25 +0000 (16:50 +0000)]
Attach dwqe(4) to Intel Elkhart Lake PSE SGMII devices.

Patch by msaitoh@netbsd, who tested both PSE SGMII ports on a Helix 330.

11 months agoCorrect wrong register offset macros for dwqe(4) DMA burst length.
stsp [Sat, 11 Nov 2023 16:32:56 +0000 (16:32 +0000)]
Correct wrong register offset macros for dwqe(4) DMA burst length.

Intel Elkhart Lake Ethernet now reaches 934 Mbps Tx/Rx in my testing.

Patch by msaitoh@netbsd, thanks!
Tested by myself on Elkhart Lake, dlg@ on arm64, and jca@ on riscv.
ok dlg@ patrick@

11 months agoPass constant struct sockaddr to interface lookup functions.
bluhm [Sat, 11 Nov 2023 14:24:03 +0000 (14:24 +0000)]
Pass constant struct sockaddr to interface lookup functions.

OK mvs@

11 months agoWe do not define VERSION anymore.
ajacoutot [Sat, 11 Nov 2023 13:27:24 +0000 (13:27 +0000)]
We do not define VERSION anymore.

11 months agostart documenting the protections or locks needed for struct rtentry fields.
dlg [Sat, 11 Nov 2023 12:52:20 +0000 (12:52 +0000)]
start documenting the protections or locks needed for struct rtentry fields.

this is the result of a bunch of discussion at h2k23.

ok claudio@ mvs@ bluhm@

11 months agoAdd DIST_TUPLE support documentation.
ajacoutot [Sat, 11 Nov 2023 12:32:34 +0000 (12:32 +0000)]
Add DIST_TUPLE support documentation.

11 months agoMention that this module also supports meson(1).
ajacoutot [Sat, 11 Nov 2023 12:27:00 +0000 (12:27 +0000)]
Mention that this module also supports meson(1).

11 months agoRemove unused parameter dst from art_get().
bluhm [Sat, 11 Nov 2023 12:17:50 +0000 (12:17 +0000)]
Remove unused parameter dst from art_get().

OK mvs@

11 months agoDumb my latin down to vernacular english
espie [Sat, 11 Nov 2023 10:46:37 +0000 (10:46 +0000)]
Dumb my latin down to vernacular english

11 months agodocument UNLINKED/BUILD_UNLINKED
espie [Sat, 11 Nov 2023 10:12:08 +0000 (10:12 +0000)]
document UNLINKED/BUILD_UNLINKED

11 months agoFix a few bugs in X509v3_asid_add*()
tb [Sat, 11 Nov 2023 09:35:21 +0000 (09:35 +0000)]
Fix a few bugs in X509v3_asid_add*()

These 'builder' functions, usually used together, can result in corrupt
ASIdentifiers on failure. In general, no caller should ever try to recover
from OpenSSL API failure. There are simply too many traps. We can still
make an effort to leave the objects in unmodified state on failure. This
is tricky because ownership transfer happens. Unfortunately a really
clean version of this seems impossible, maybe a future iteration will
bring improvements...

The nasty bit here is that the caller of X509v3_asid_add_id_or_range()
can't know from the return value whether ownership of min and max was
transferred or not. An inspection of (*choice)->u.range is required.
If a caller frees min and max after sk_ASIdOrRange_push() failed, there
is a double free.

All these complications could have been avoided if the API interface
had simply used uint32_t instead of ASN1_INTEGERs. The entire RFC 3779
API was clearly written without proper review. I don't know if there
ever was an actual consumer before rpki-client. If it existed, nobody
with the requisite skill set looked at it in depth.

ok beck for the general direction
with a lot of input and ok jsing

11 months agoCope with recent rt_hash() const changes.
anton [Sat, 11 Nov 2023 07:34:54 +0000 (07:34 +0000)]
Cope with recent rt_hash() const changes.

11 months agoIgnore -N in "gzip -dN <in.gz" and "zcat -N in.gz"
gkoehler [Sat, 11 Nov 2023 02:52:55 +0000 (02:52 +0000)]
Ignore -N in "gzip -dN <in.gz" and "zcat -N in.gz"

Have -c override -N, like other gzip implementations.  Before, our -N
(decompress to stored name) overrode -c (cat to stdout) and crashed
with a pledge violation, because the pledge for -c excludes wpath.

Guilherme Janczak reported the pledge violation in July 2022 and
provided a diff to prevent it, along with a regress test.  I rewrote
the diff and expanded the regress.

ok kn@ millert@

11 months agoDelete the useless .\" ----- comments before .Sh.
schwarze [Sat, 11 Nov 2023 01:38:23 +0000 (01:38 +0000)]
Delete the useless .\" ----- comments before .Sh.
Wo don't have them anywhere else, so we don't need them here.
No text change.

11 months agomore details about error recovery
schwarze [Sat, 11 Nov 2023 01:28:41 +0000 (01:28 +0000)]
more details about error recovery
OK millert@ jmc@
triggered by a question from cheloha@

11 months agortable_match() takes constant destination.
bluhm [Fri, 10 Nov 2023 20:05:22 +0000 (20:05 +0000)]
rtable_match() takes constant destination.

For implementing MP safe route lookup, it helps to know which
function parameters are constant.  Add some const declarations, so
that the compiler guarantees that sockaddr dst parameter of
rtable_match() does not change.

OK dlg@

11 months agoMention gnome in DIST_TUPLE.
ajacoutot [Fri, 10 Nov 2023 19:46:52 +0000 (19:46 +0000)]
Mention gnome in DIST_TUPLE.

11 months agozap some unused includes
jasper [Fri, 10 Nov 2023 18:56:21 +0000 (18:56 +0000)]
zap some unused includes

11 months agoscsi_xs_get() sets xs->flags via scsi_xs_io(). There is no need
krw [Fri, 10 Nov 2023 17:43:39 +0000 (17:43 +0000)]
scsi_xs_get() sets xs->flags via scsi_xs_io(). There is no need
to separately add another flag via SET(). Just pass the correct
combo to scsi_xs_get().

ok dlg@

11 months agoAlso mention COMPILER_LANGS for CFLAGS_${CHOSEN_COMPILER}
jca [Fri, 10 Nov 2023 17:37:20 +0000 (17:37 +0000)]
Also mention COMPILER_LANGS for CFLAGS_${CHOSEN_COMPILER}

Suggested by espie@

While here, sprinkle more .Ev.

11 months agoAdd doc for CFLAGS_${CHOSEN_COMPILER} and CXXFLAGS_${CHOSEN_COMPILER}
jca [Fri, 10 Nov 2023 16:51:01 +0000 (16:51 +0000)]
Add doc for CFLAGS_${CHOSEN_COMPILER} and CXXFLAGS_${CHOSEN_COMPILER}

ok tb@

11 months agoGPT partitions have many attributes. Don't stomp on them all when
krw [Fri, 10 Nov 2023 16:20:52 +0000 (16:20 +0000)]
GPT partitions have many attributes. Don't stomp on them all when
using 'flag <part #>' to make a partition the only bootable partition.
Just turn off the bootable bit in the other partitions.

ok dlg@

11 months agosync with NetBSD -r1.38:
jasper [Fri, 10 Nov 2023 16:02:47 +0000 (16:02 +0000)]
sync with NetBSD -r1.38:
remove unused NULL pointer that was passed to printf %s.

11 months agoMake ifq and ifiq interface MP safe.
bluhm [Fri, 10 Nov 2023 15:51:19 +0000 (15:51 +0000)]
Make ifq and ifiq interface MP safe.

Rename ifq_set_maxlen() to ifq_init_maxlen().  This function neither
uses WRITE_ONCE() nor a mutex and is called before the ifq mutex
is initialized.  The new name expresses that it should be used only
during interface attach when there is no concurrency.

Protect ifq_len(), ifq_empty(), ifiq_len(), and ifiq_empty() with
READ_ONCE().  They can be used without lock as they only read a
single integer.

OK dlg@

11 months agoEnhance 'flag' to accept hex values in addition to the current 0
krw [Fri, 10 Nov 2023 15:41:11 +0000 (15:41 +0000)]
Enhance 'flag' to accept hex values in addition to the current 0
.. INT64_MAX decimal values..

Easier to specify the 64 bits of GPT partition attributes and
0x8000000000000000 (a.k.a.  MS_NOAUTOMOUNT, a.k.a. 1 << 63)
becomes accessable.

Prompted by bug report and testing by Philippe Meunier. Thanks!

ok dlg@