jsg [Wed, 19 Apr 2023 12:34:23 +0000 (12:34 +0000)]
remove duplicate include
feedback tb@
jsg [Wed, 19 Apr 2023 12:30:09 +0000 (12:30 +0000)]
remove duplicate includes
ok tb@
krw [Wed, 19 Apr 2023 11:20:03 +0000 (11:20 +0000)]
Remove obsolete/unused disktab entries for install media
that are no longer built.
ok miod@
jsing [Wed, 19 Apr 2023 11:14:04 +0000 (11:14 +0000)]
Rename Hex array to hex_digits.
ok tb@
jsing [Wed, 19 Apr 2023 11:12:43 +0000 (11:12 +0000)]
Move the BN_bn2bin()/BN_bin2bn() family to bn_convert.c
jsing [Wed, 19 Apr 2023 11:05:11 +0000 (11:05 +0000)]
Reorder functions.
No functional change.
jsing [Wed, 19 Apr 2023 10:54:49 +0000 (10:54 +0000)]
Move BN_options() from bn_convert.c to bn_lib.c
jsing [Wed, 19 Apr 2023 10:51:22 +0000 (10:51 +0000)]
unifdef BN_RECURSION
This removes a bunch of incomplete and scary code, which potentially leaks
secrets and is not constant time. A performance gain is achieved on arm64
for sizes that we care about, while a minimal decrease in performance is
noted for larger sizes on some other platforms.
While we will potentially reimplement Karatsuba (or Toom-Cook) at a later
date, it will be easier and safer to do it from a clean slate.
ok tb@
claudio [Wed, 19 Apr 2023 09:31:58 +0000 (09:31 +0000)]
Remove usage of fatalx() in here. This code will be shared with bgpctl.
In flowspec_cmp() make sure a deterministic sort is possible. Most error
cases are unreachable if flowspec NLRI are validated first (flowspec_valid).
In flowspec_valid() replace the assert like check with an error return.
OK tb@
claudio [Wed, 19 Apr 2023 09:03:00 +0000 (09:03 +0000)]
Add minimal support for flowspec in the table-mp MRT format.
In general people should use table-v2 which handles flowspec just fine.
OK tb@
claudio [Wed, 19 Apr 2023 08:30:37 +0000 (08:30 +0000)]
Add handling for flowspec in the update path.
Flowspec has no nexthop so adjust up_prep_adjout() to handle a NULL nexthop.
Add the MP_REACH encoding in up_generate_mp_reach for flowspec.
OK tb@
claudio [Wed, 19 Apr 2023 07:12:22 +0000 (07:12 +0000)]
Implement code to pass the flowspec config over to the RDE. The parent
process tracks which prefixes are added / removed and issues the
corresponding imsg calls.
Right now the RDE does nothing with the received information.
OK tb@
claudio [Wed, 19 Apr 2023 07:09:47 +0000 (07:09 +0000)]
Extend the pt_entry api to handle flowspec.
Introduce pt_get_flow() and pt_add_flow() to lookup and insert flowspec
objects. Add pt_getflowspec() which works somewhat similar to pt_getaddr()
to extract the flowspec NLRI from a pt_entry.
Make pt_getaddr() to return the destination prefix of the flowspec rule and
handle flowspec in pt_write().
OK tb@
claudio [Wed, 19 Apr 2023 07:07:58 +0000 (07:07 +0000)]
bad indents
miod [Wed, 19 Apr 2023 04:51:53 +0000 (04:51 +0000)]
Remove strict checks added in 1.22, for they break some sensors.
Reported by Paul de Weerd on bugs@
deraadt [Wed, 19 Apr 2023 04:48:07 +0000 (04:48 +0000)]
sync
dlg [Wed, 19 Apr 2023 02:01:02 +0000 (02:01 +0000)]
dwmshc on rockchips don't support dma crossy 128M boundaries.
let controllers pass the dma boundaries to sdmmc as part of the
attach args so it can be used for the bus_dmamap_create. add the
boundary to sdhci so dwmshc can set it to be bassed to sdmmc.
tested on a radxa e25 booting and rooting off the onboard emmc.
before this diff some programs would fault with weird instructions.
dlg [Wed, 19 Apr 2023 01:46:10 +0000 (01:46 +0000)]
dont advertise non-removable sdmmc devices as removable to the scsi layer.
this is cosmetic more than anything cos it gets rid of "removable"
in dmesg output when sd attaches.
dlg [Wed, 19 Apr 2023 01:42:13 +0000 (01:42 +0000)]
handle some more manufacturer ids.
dlg [Wed, 19 Apr 2023 01:41:12 +0000 (01:41 +0000)]
get rid of some dead code.
dlg [Wed, 19 Apr 2023 01:38:32 +0000 (01:38 +0000)]
flag the device as non-removable if the dt says it's non-removable
this may help if we end up doing suspend/resume on rk356x/rk3588.
jsg [Wed, 19 Apr 2023 00:56:10 +0000 (00:56 +0000)]
spelling
dlg [Wed, 19 Apr 2023 00:40:24 +0000 (00:40 +0000)]
enable dwmshc to support the emmc controller on rockchip rk356x boards.
dlg [Wed, 19 Apr 2023 00:19:17 +0000 (00:19 +0000)]
dwmshc config
dlg [Wed, 19 Apr 2023 00:13:23 +0000 (00:13 +0000)]
add a manpage for dwqe.
dlg [Wed, 19 Apr 2023 00:07:21 +0000 (00:07 +0000)]
have a go at a manpage for dwmshc.
i have a headache, so this isn't very good.
dlg [Tue, 18 Apr 2023 23:44:21 +0000 (23:44 +0000)]
support Designware Mobile Storage Host Controllers
this is used on rk356x and rk3588 SoCs as the emmc controller.
this is actually an sdhc(4) controller, but it has a lot of extra
registers and code for dealing with clock rates. i could have added
this to sdhc_fdt.c, but the amount of this extra code and the lack
of overlap with other chips meant id be splitting the code up based
on the chip id, which is something the autoconf/device framework
already does for us.
some help and ok from patrick@
ok jmatthew@
dlg [Tue, 18 Apr 2023 23:11:56 +0000 (23:11 +0000)]
add support for loading files from the EFI System Partition.
this means you can put a bsd.rd next to BOOTAA64.EFI and go "boot
esp0a:bsd.rd" (assuming bsd.rd is in the root of the boot partition).
cool! krw@
ok kettenis@ patrick@
kn [Tue, 18 Apr 2023 22:20:16 +0000 (22:20 +0000)]
Hoist identical privilege checks in in_ioctl*()
All cases do the same check as first step, so merge it before the switch
and before grapping exclusive locks.
OK mvs
mvs [Tue, 18 Apr 2023 22:01:23 +0000 (22:01 +0000)]
Remove kernel lock from ifa_ifwithaddr() and ifa_ifwithdstaddr().
Netlock protects `if_list', `ifa_list' and returned `ifa' dereference,
so put netlock assertion within.
Please note, rtable_setsource() doesn't destroy data pointed by
`ar_source'. This is the `ifa_addr' data belongs to `ifa' and exclusive
netlock is required to destroy it. So the kernel lock is not required
within rt_setsource(). Take netlock by rt_setsource() caller to make
`ifa' dereference safe.
Suggestions and ok by bluhm@
mvs [Tue, 18 Apr 2023 22:00:19 +0000 (22:00 +0000)]
Document `ifnetlist' locking.
We use both kernel and net lock for protect `ifnetlist'. This means we
do modification with both locks held, but for read-only access only one
lock required. Some places doing `ifnetlist' foreach loop are protected
by kernel lock and context switch can't be introduced there. This is the
exception, so "XXXSMP:" comment added.
Proposed and ok by bluhm@
patrick [Tue, 18 Apr 2023 21:22:00 +0000 (21:22 +0000)]
Map MSI-X in addition to MSI and INTx on xhci(4). On Qemu apparently
the xHCI controller does not support MSIs, but does support MSI-X. With
this diff running on Qemu/arm64 we switch over from shared INTx to device-
specific MSI-X interrupts.
Tested by and ok phessler@
ok dlg@
bluhm [Tue, 18 Apr 2023 19:41:50 +0000 (19:41 +0000)]
Skip all tests that need internet connection unless they have it.
Run reachability ping only once. Fix clean files and always run
make obj. Do not suppress messages from redirectchain test.
tb [Tue, 18 Apr 2023 18:29:32 +0000 (18:29 +0000)]
Use NULL, not 0 for pointers and use an explicit comparison against NULL.
bluhm [Tue, 18 Apr 2023 16:57:44 +0000 (16:57 +0000)]
Define net lock assertions for building kernel code in regress.
tb [Tue, 18 Apr 2023 15:28:17 +0000 (15:28 +0000)]
ectest: Remove #if 1
tb [Tue, 18 Apr 2023 15:20:34 +0000 (15:20 +0000)]
Unifdef OPENSSL_NO_EC_NISTP_64_GCC_128
tb [Tue, 18 Apr 2023 15:14:46 +0000 (15:14 +0000)]
Remove prototypes under OPENSSL_NO_EC_NISTP_64_GCC_128
The code was deleted a while back, the prototypes remained. We had
OPENSSL_NO_EC_NISTP_64_GCC_128 in opensslfeatures.h since forever.
discussed with jsing
claudio [Tue, 18 Apr 2023 14:11:54 +0000 (14:11 +0000)]
Implement a basic flowspec print function. It is not 100% compatible
with the parser but that is for a later time to fix.
OK tb@
tb [Tue, 18 Apr 2023 13:31:14 +0000 (13:31 +0000)]
Rewrite some ugly for loops
This fixes a few KNF issues and ugly line wrapping by using a local
version of nitems(); fix two bsearch() on top.
ok claudio
kettenis [Tue, 18 Apr 2023 12:39:32 +0000 (12:39 +0000)]
Resolve namerefs in packages. Fixes legacy interrupts on machines that use
PNP0C0F PCI interrupt link devices.
ok patrick@
claudio [Tue, 18 Apr 2023 12:11:27 +0000 (12:11 +0000)]
Implement the parser bits to process flowspec rules. Heavily inspired by
pfctl, in bgpd flowspec rules are written like pf rules (with a few
exceptions / extensions). As a result not all flowspec features are
available but that is OK.
OK tb@
tb [Tue, 18 Apr 2023 10:27:38 +0000 (10:27 +0000)]
I somehow overlooked four more missing void...
mvs [Tue, 18 Apr 2023 10:19:16 +0000 (10:19 +0000)]
Rename 'art_root' structure member `source' to `ar_source' to be in
accordance with all other 'art_root' structure members.
Proposed by bluhm@
ok bluhm@ kn@
jsg [Tue, 18 Apr 2023 09:58:06 +0000 (09:58 +0000)]
Add another check to com probe
With this bentley@'s Steam Deck no longer attaches these:
com0 at isa0 port 0x3f8/8 irq 4: ns8250, no fifo
com1 at isa0 port 0x2f8/8 irq 3: ns8250, no fifo
com2 at isa0 port 0x3e8/8 irq 5: ns8250, no fifo
From Matthias Drochner in NetBSD rev 1.154
ok kettenis@
florian [Tue, 18 Apr 2023 09:57:51 +0000 (09:57 +0000)]
If rcode is SERVFAIL, there is no need to look at the packet.
This pulls the check for rcode up, before we check if the answer
packet has sensible length. Since we are not touching the packet at
all, we don't care about the size and don't need to log if the size is
wrong from a DNS perspective.
With asr error reporting improved in the previous commit, this
probably gets rid of all "bad packet: too short" messages.
OK semarie
florian [Tue, 18 Apr 2023 09:57:08 +0000 (09:57 +0000)]
Improve asr error handling.
When an upstream nameserver is not available asr is not synthesizing a
SERVFAIL rcode (duh), but sets ar_errno. When we need SERVFAIL further
down,we need to set the rcode ourselves.
While here, don't complain about a too short packet when asr already
told us that resolving did not work out in check_dns64_done.
OK semarie
mvs [Tue, 18 Apr 2023 09:56:54 +0000 (09:56 +0000)]
Call sysctl_dumpentry() with shared netlock. It performs read-only
access to netlock protected data. Please note, kernel lock is still
taken, as required by rtable_getsource() or BFD subsystem.
ok kn@ bluhm@
mvs [Tue, 18 Apr 2023 09:55:34 +0000 (09:55 +0000)]
Call sysctl_iflist() with shared netlock. It performs read-only access
to netlock protected data.
ok kn@ bluhm@
mvs [Tue, 18 Apr 2023 09:54:53 +0000 (09:54 +0000)]
Call sysctl_ifnames() with shared netlock. It performs read-only access
to netlock protected data.
ok kn@ bluhm@
tb [Tue, 18 Apr 2023 09:10:44 +0000 (09:10 +0000)]
Move x509.h inclusion into alphabetical order
semarie [Tue, 18 Apr 2023 08:50:37 +0000 (08:50 +0000)]
changelist: remove dhclient(8) files
as currently dhclient(8) is a (sort of) alias to "ifconfig inet autoconf", these
files aren't used anymore.
ok tb@
semarie [Tue, 18 Apr 2023 08:48:17 +0000 (08:48 +0000)]
changelist: add unbound-control files
ok tb@
tb [Tue, 18 Apr 2023 08:47:28 +0000 (08:47 +0000)]
Bring includes into canonical order
Requested by jsing
tb [Tue, 18 Apr 2023 08:46:08 +0000 (08:46 +0000)]
Sigh cvs... Also drop OPENSSL_NO_DEPRECATED from ec.h
patrick [Tue, 18 Apr 2023 08:35:02 +0000 (08:35 +0000)]
Support upstreamed AP806/CP110 bindings in mvtemp(4). Apparently older EDK2
versions shipped bindings compatible with the Armada 380, but when the ARM64
SoCs were upstreamed from the vendor fork to Linux, those apparently were
adjusted.
With this diff mvtemp(4) now tries and use the parent as syscon regmap in case
the legacy binding cannot be used. Furthermore this adds some initialization
as apparently the new EDK2 does less of that work during bootup.
Noticed by mbuhl@ who's running an updated EDK2 on the MACCHIATObin.
ok kettenis@
tb [Tue, 18 Apr 2023 08:33:43 +0000 (08:33 +0000)]
Move some includes out of OPENSSL_NO_DEPRECATED
Some headers were included conditionally on OPENSSL_NO_DEPRECATED in hopes
that eventually the mess of everything includes everything will magically
resolve itself. Of course everyone would end up building openssl with
OPENSSL_NO_DEPRECATED over time... Right.
Surprisingly, the ecosystem has come to rely on these implicit inclusions,
so about two dozen ports would fail to build because of this. Patching this
would be easy but really not worth the effort.
ok jsing
tb [Tue, 18 Apr 2023 08:17:49 +0000 (08:17 +0000)]
ectest: drop a broken #if 0 /* optional */ piece of code
This places a point at infinity and then fails. Fix some wacky indentation
in the vicinity.
tb [Tue, 18 Apr 2023 08:05:18 +0000 (08:05 +0000)]
ec_point_conversion: drop test for sect571k1
Maybe it should be replaced by another test, although P-256 seems enough.
tb [Tue, 18 Apr 2023 07:56:58 +0000 (07:56 +0000)]
ectest: drop some gross unused macros
tb [Tue, 18 Apr 2023 07:54:42 +0000 (07:54 +0000)]
ectest: unifdef OPENSSL_NO_EC2M
claudio [Tue, 18 Apr 2023 06:41:00 +0000 (06:41 +0000)]
I reversed flowspec_cmp() so adjust the code here as well.
Reminded by anton@
dlg [Tue, 18 Apr 2023 05:28:41 +0000 (05:28 +0000)]
tweak a printf for an unhandled clock in rkclock_get_frequency.
this makes rkclock_get_frequency more like rkclock_set_frequency.
dlg [Tue, 18 Apr 2023 05:27:04 +0000 (05:27 +0000)]
add the emmc clocks on rk3568 (and rk3566)
krw [Mon, 17 Apr 2023 22:28:51 +0000 (22:28 +0000)]
Remove unused variables FSDISKTYPE that point at non-existant
'install' disktab entries.
No functional change.
tb [Mon, 17 Apr 2023 21:00:35 +0000 (21:00 +0000)]
Skip binary curves in ec_point_conversion
claudio [Mon, 17 Apr 2023 20:54:57 +0000 (20:54 +0000)]
Reverse the polarity of flowspec_cmp() so it works better with our
RB trees. Mainly RB_FOREACH() walks form RB_MIN to RB_MAX so the most
preferred entry should be at RB_MIN.
OK tb@
tb [Mon, 17 Apr 2023 20:41:02 +0000 (20:41 +0000)]
Switch all ec tests to using dynamic linking
This only requires very minor changes and simplifies testing quite a bit.
Some of the changes can be undone after the next bump.
tb [Mon, 17 Apr 2023 20:36:08 +0000 (20:36 +0000)]
Simplify Makefile
tb [Mon, 17 Apr 2023 19:56:39 +0000 (19:56 +0000)]
Drop GF2m tests
The code they test will go away soon.
tb [Mon, 17 Apr 2023 19:51:05 +0000 (19:51 +0000)]
Allow overriding the bc implementation used in run-bc
While base bc is great, it uses libcrypto's BIGNUM implementation.
This implies that the independent verification of the bn_test isn't
as independent as it should be.
With this commit, run-bc picks up bn-gh if it is installed. This appears
to work on amd64, arm64 and sparc64 (where gbc is busted). I will send
PRs to the regress maintainers once I will have tested this a bit more
thoroughly. Committing this early since I juggle way too many diffs
already.
tb [Mon, 17 Apr 2023 19:37:18 +0000 (19:37 +0000)]
Fix typo
nicm [Mon, 17 Apr 2023 18:22:24 +0000 (18:22 +0000)]
Ignore the user keys range when checking if a key is Unicode.
kettenis [Mon, 17 Apr 2023 18:10:26 +0000 (18:10 +0000)]
Make -mbranch-protection=bti the default on OpenBSD.
ok deraadt@
nicm [Mon, 17 Apr 2023 18:00:19 +0000 (18:00 +0000)]
It seems silly to use progname for version, just always say tmux.
nicm [Mon, 17 Apr 2023 17:58:35 +0000 (17:58 +0000)]
Make the check if printing is allowed the same as writing which is less
confusing.
nicm [Mon, 17 Apr 2023 17:57:35 +0000 (17:57 +0000)]
Discard mouse sequences that have the right form but actually are
invalid (for example have column zero rather than one).
tb [Mon, 17 Apr 2023 17:38:08 +0000 (17:38 +0000)]
Drop two useless READMEs
"go ahead" jsing
op [Mon, 17 Apr 2023 15:18:25 +0000 (15:18 +0000)]
fix buffer overflow in displaymatch(); ok/tweak tb@
tb [Mon, 17 Apr 2023 15:11:00 +0000 (15:11 +0000)]
Skip sect* curve checks
GF2m curves will go away soon. This reduces the pile of diffs in my jungle
a tiny little bit.
kn [Mon, 17 Apr 2023 13:59:16 +0000 (13:59 +0000)]
Indent interface and disk listings
'?' output to list available answers could better distuingish from questions
and other lines, like sets selection does with four leading spaces.
OK deraadt
claudio [Mon, 17 Apr 2023 13:48:31 +0000 (13:48 +0000)]
Convert all users of parse_number() to also process the next element
like it was done for communities. Again a fair amount of token tables
disappear.
OK tb@
tb [Mon, 17 Apr 2023 13:18:00 +0000 (13:18 +0000)]
c_zlib.c needs bio_local.h with -DZLIB.
Apparently nobody tried to compile libcrypto with ZLI since Jan 2022.
Maybe this means that we can unifdef -U ZLIB or maybe not...
jsing [Mon, 17 Apr 2023 12:51:09 +0000 (12:51 +0000)]
Tweak indent and use named registers.
No functional change.
claudio [Mon, 17 Apr 2023 12:48:38 +0000 (12:48 +0000)]
In parse_prefix and parse_addr only touch the addr if the functions is
successful. Do not clear it all the time since that breaks the ANYTOKEN
fallback since it resets the just set address on the next argument.
OK tb@
jsing [Mon, 17 Apr 2023 12:46:36 +0000 (12:46 +0000)]
Hook sha3 up to build.
ok tb@
jsing [Mon, 17 Apr 2023 12:36:59 +0000 (12:36 +0000)]
Move BN_bn2mpi()/BN_mpi2bn() into bn_convert.c
claudio [Mon, 17 Apr 2023 11:02:40 +0000 (11:02 +0000)]
Passing argv as tripple indirect pointer to match_token() is just strange.
Instead pass argc and argv as value and return the consumed number of
arguments in argsused (normally 1).
OK tb@
claudio [Mon, 17 Apr 2023 10:23:32 +0000 (10:23 +0000)]
Rework how communities are parsed. Use tha fact that argv and argc are
available inside match_token() and peek and consume argv[1] and for
ext-communities also argv[2].
OK tb@
op [Mon, 17 Apr 2023 10:11:30 +0000 (10:11 +0000)]
fix a few dobeep_msgs() calls: a space is already added between the arguments
ok tb@
op [Mon, 17 Apr 2023 09:53:08 +0000 (09:53 +0000)]
add doindent() prototype at the start of the file; forgotten in previous
op [Mon, 17 Apr 2023 09:49:04 +0000 (09:49 +0000)]
resurrect mg' no-tab-mode
It's a mode that makes mg insert spaces up to the next tab stop upon
pressing TAB, along with the various tweaks needed in other places so
for e.g. auto-indent-mode also uses spaces.
This is not just an unifdef NOTAB: even under no-tab-mode mg should
consider literal TAB characters wide up to the next tab stop, while the
hidden code considered hard tabs to be just control character (i.e. ^I)
with width of two columns. I'm also introducing the helper function
doindent() in utils.c to de-obfuscate the insertion of tabs/spaces until
the given column.
ok tb@
tb [Mon, 17 Apr 2023 08:43:16 +0000 (08:43 +0000)]
Use C99 initializers for the default_pctx and mark it static const
claudio [Mon, 17 Apr 2023 08:02:55 +0000 (08:02 +0000)]
Add basic flowspec regress test.
claudio [Mon, 17 Apr 2023 08:02:21 +0000 (08:02 +0000)]
Implement a basic API to work with flowspec NLRI.
Flowspec is excessivly flexible and large so there is no way to convert
the flowspec data into a struct bgpd_addr and it is better to keep it in
wireformat and add a few functions to validate and extract information
from the NLRI encoding.
OK tb@
tb [Mon, 17 Apr 2023 06:46:19 +0000 (06:46 +0000)]
Add missing const qualifiers to the v3_* externs
ok jsing
tb [Mon, 17 Apr 2023 05:57:17 +0000 (05:57 +0000)]
Fix whitespace in DHparam_print_fp()
tb [Mon, 17 Apr 2023 05:54:41 +0000 (05:54 +0000)]
Remove now unused dh_prn.c
tb [Mon, 17 Apr 2023 05:54:20 +0000 (05:54 +0000)]
Drop dh_prn.c
tb [Mon, 17 Apr 2023 05:51:16 +0000 (05:51 +0000)]
Move DHparam_print_fp() next to DHparam_print()
As usual with the fp suffix, the former wraps the latter with a file BIO.
There is no reason for this function to be in a separate file.