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@
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@
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@
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
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
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
tb [Mon, 13 Nov 2023 15:38:09 +0000 (15:38 +0000)]
Use X509_get_signature_nid() instead of inlining it
ok beck jsing
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
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@
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
tb [Mon, 13 Nov 2023 14:03:17 +0000 (14:03 +0000)]
Retire the libcsi regress
robert [Mon, 13 Nov 2023 13:34:40 +0000 (13:34 +0000)]
sync Symbols.list with reality; ok tb@
jsg [Mon, 13 Nov 2023 12:49:41 +0000 (12:49 +0000)]
enable UDF on arm64 install media
ok deraadt@ kn@
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 :----------------------------------------------------------------------
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
tb [Mon, 13 Nov 2023 11:50:36 +0000 (11:50 +0000)]
Check notBefore/notAfter validity with ASN1_TIME_to_tm(3)
ok beck
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
jca [Mon, 13 Nov 2023 11:33:52 +0000 (11:33 +0000)]
Bump datasize for staff to match amd64
Suggested by jsing@, ok tb@
jsg [Mon, 13 Nov 2023 11:12:37 +0000 (11:12 +0000)]
sync
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
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
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
martijn [Mon, 13 Nov 2023 10:16:51 +0000 (10:16 +0000)]
Add 2 tests to make sure getbulkrequests return the correct error index.
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@
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@
jsg [Mon, 13 Nov 2023 09:51:33 +0000 (09:51 +0000)]
sync
ok robert@
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@
jca [Sun, 12 Nov 2023 23:50:57 +0000 (23:50 +0000)]
Bump datasize for the default login class, needed to build clang-16
bluhm [Sun, 12 Nov 2023 23:19:14 +0000 (23:19 +0000)]
Declare global variable zeroin46_addr as const.
OK mvs@ jca@
jca [Sun, 12 Nov 2023 23:15:56 +0000 (23:15 +0000)]
Also bump the default limit on riscv64
Reported by jsing@
robert [Sun, 12 Nov 2023 21:17:48 +0000 (21:17 +0000)]
append ExtensionDependencies.inc to CLEANFILES only if .OBJDIR != .CURDIR
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@
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@
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@
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@
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@
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@
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@
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@
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@
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
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@
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@
jca [Sun, 12 Nov 2023 17:38:24 +0000 (17:38 +0000)]
sync path to libclang_rt*.a
jca [Sun, 12 Nov 2023 17:29:04 +0000 (17:29 +0000)]
Fix install path, reminded by otto@
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)
jca [Sun, 12 Nov 2023 17:22:43 +0000 (17:22 +0000)]
+/usr/include/llvm/Config/TargetMCAs.def
jca [Sun, 12 Nov 2023 17:10:17 +0000 (17:10 +0000)]
sync
jca [Sun, 12 Nov 2023 17:09:40 +0000 (17:09 +0000)]
sync (libLLVM bump)
kettenis [Sun, 12 Nov 2023 16:37:28 +0000 (16:37 +0000)]
Bump MAXDSIZ to 2G on armv7. Needed for llvm-16.
ok deraadt@
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@
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@
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@
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@
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@
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@
dlg [Sun, 12 Nov 2023 15:18:04 +0000 (15:18 +0000)]
fix the signal numbers passed to siginterrupt.
from dhill@
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@
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
patrick [Sun, 12 Nov 2023 12:41:43 +0000 (12:41 +0000)]
Add support for the Rockchip RK8602 and RK8603 voltage regulators.
ok dlg@
robert [Sun, 12 Nov 2023 11:43:04 +0000 (11:43 +0000)]
flip the ignoreFunctionAddressEquality flag; lost in merging changes from llvm-13
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@
dlg [Sun, 12 Nov 2023 09:21:36 +0000 (09:21 +0000)]
the ws in wscons is short for workstation
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.)
robert [Sat, 11 Nov 2023 18:35:35 +0000 (18:35 +0000)]
update build infrastructure for llvm-16.0.6
robert [Sat, 11 Nov 2023 18:24:39 +0000 (18:24 +0000)]
merge lldb-16.0.6
robert [Sat, 11 Nov 2023 18:22:53 +0000 (18:22 +0000)]
import lldb from LLVM-16.0.6
robert [Sat, 11 Nov 2023 18:22:09 +0000 (18:22 +0000)]
merge lld-16.0.6
robert [Sat, 11 Nov 2023 18:21:06 +0000 (18:21 +0000)]
import of lld from LLVM-16.0.6
robert [Sat, 11 Nov 2023 18:20:20 +0000 (18:20 +0000)]
merge clang-16.0.6
robert [Sat, 11 Nov 2023 18:16:10 +0000 (18:16 +0000)]
import of clang from LLVM-16.0.6
robert [Sat, 11 Nov 2023 18:14:26 +0000 (18:14 +0000)]
merge llvm-16.0.6
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@
robert [Sat, 11 Nov 2023 17:58:32 +0000 (17:58 +0000)]
import of llvm from LLVM 16.0.6
patrick [Sat, 11 Nov 2023 17:20:21 +0000 (17:20 +0000)]
Enable CD9660 in RAMDISK so we can mount CD-ROMs.
ok jsg@
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.
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@
bluhm [Sat, 11 Nov 2023 14:24:03 +0000 (14:24 +0000)]
Pass constant struct sockaddr to interface lookup functions.
OK mvs@
ajacoutot [Sat, 11 Nov 2023 13:27:24 +0000 (13:27 +0000)]
We do not define VERSION anymore.
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@
ajacoutot [Sat, 11 Nov 2023 12:32:34 +0000 (12:32 +0000)]
Add DIST_TUPLE support documentation.
ajacoutot [Sat, 11 Nov 2023 12:27:00 +0000 (12:27 +0000)]
Mention that this module also supports meson(1).
bluhm [Sat, 11 Nov 2023 12:17:50 +0000 (12:17 +0000)]
Remove unused parameter dst from art_get().
OK mvs@
espie [Sat, 11 Nov 2023 10:46:37 +0000 (10:46 +0000)]
Dumb my latin down to vernacular english
espie [Sat, 11 Nov 2023 10:12:08 +0000 (10:12 +0000)]
document UNLINKED/BUILD_UNLINKED
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
anton [Sat, 11 Nov 2023 07:34:54 +0000 (07:34 +0000)]
Cope with recent rt_hash() const changes.
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@
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.
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@
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@
ajacoutot [Fri, 10 Nov 2023 19:46:52 +0000 (19:46 +0000)]
Mention gnome in DIST_TUPLE.
jasper [Fri, 10 Nov 2023 18:56:21 +0000 (18:56 +0000)]
zap some unused includes
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@
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.
jca [Fri, 10 Nov 2023 16:51:01 +0000 (16:51 +0000)]
Add doc for CFLAGS_${CHOSEN_COMPILER} and CXXFLAGS_${CHOSEN_COMPILER}
ok tb@
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@
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.
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@
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@