florian [Tue, 26 Jan 2021 12:27:28 +0000 (12:27 +0000)]
When checking for available address family for AI_ADDRCONFIG consider
the routing domain we are currently in. Otherwise we might end up with
address families that are not available in the current rdomain but in
others since getifaddrs(3) gives us all interface addresses in the
system.
Clue-bat & OK claudio, input & OK eric, OK kn
espie [Tue, 26 Jan 2021 12:13:21 +0000 (12:13 +0000)]
remove test that's now bogus, as fullpkgpath takes precedence.
thanks bluhm@
dtucker [Tue, 26 Jan 2021 11:25:01 +0000 (11:25 +0000)]
Remove unused variables leftover from refactoring. ok djm@
nicm [Tue, 26 Jan 2021 09:32:52 +0000 (09:32 +0000)]
Always resize the original screen before copying when exiting the
alternate screen, GitHub issue 2536.
deraadt [Tue, 26 Jan 2021 08:01:09 +0000 (08:01 +0000)]
intrmap attribute missing from mcx; ok dlg
dtucker [Tue, 26 Jan 2021 05:32:21 +0000 (05:32 +0000)]
Rename HostbasedKeyTypes (ssh) and HostbasedAcceptedKeyTypes (sshd) to
HostbasedAcceptedAlgorithms, which more accurately reflects its effect.
This matches a previous change to PubkeyAcceptedAlgorithms. The previous
names are retained as aliases. ok djm@
djm [Tue, 26 Jan 2021 00:54:49 +0000 (00:54 +0000)]
refactor key constraint parsing in ssh-agent
Key constraints parsing code previously existed in both the "add regular
key" and "add smartcard key" path. This unifies them but also introduces
more consistency checking: duplicated constraints and constraints that
are nonsensical for a particular situation (e.g. FIDO provider for a
smartcard key) are now banned.
ok markus@
djm [Tue, 26 Jan 2021 00:53:31 +0000 (00:53 +0000)]
more ssh-agent refactoring
Allow confirm_key() to accept an additional reason suffix
Factor publickey userauth parsing out into its own function and allow
it to optionally return things it parsed out of the message to its
caller.
feedback/ok markus@
djm [Tue, 26 Jan 2021 00:51:30 +0000 (00:51 +0000)]
make struct hostkeys public; I have no idea why I made it opaque
originally.
ok markus@
djm [Tue, 26 Jan 2021 00:49:30 +0000 (00:49 +0000)]
move check_host_cert() from sshconnect,c to sshkey.c and refactor
it to make it more generally usable and testable.
ok markus@
djm [Tue, 26 Jan 2021 00:47:47 +0000 (00:47 +0000)]
use recallocarray to allocate the agent sockets table; also clear
socket entries that are being marked as unused.
spinkle in some debug2() spam to make it easier to watch an agent
do its thing.
ok markus
djm [Tue, 26 Jan 2021 00:46:17 +0000 (00:46 +0000)]
factor out common code in the agent client
Add a ssh_request_reply_decode() function that sends a message to
the agent, reads and parses a success/failure reply.
Use it for all requests that only expect success/failure
ok markus@
mvs [Mon, 25 Jan 2021 19:47:16 +0000 (19:47 +0000)]
We have this sequence in bridge(4) ioctl(2) path:
ifs = ifunit(req->ifbr_ifsname);
if (ifs == NULL) {
error = ENOENT;
break;
}
if (ifs->if_bridgeidx != ifp->if_index) {
error = ESRCH;
break;
}
bif = bridge_getbif(ifs);
This sequence repeats 8 times. Also we don't check value returned by
bridge_getbig() before use. Newly introduced bridge_getbig() function
replaces this sequence. This not only reduces duplicated code but also
makes `bif' dereference safe.
ok bluhm@
kettenis [Mon, 25 Jan 2021 19:37:17 +0000 (19:37 +0000)]
Give machdep.c a thorough cleanup that is long overdue.
ok patrick@
florian [Mon, 25 Jan 2021 16:57:37 +0000 (16:57 +0000)]
Revert local diff now that we no longer use syslog logging in
libunbound.
OK phessler
florian [Mon, 25 Jan 2021 16:56:59 +0000 (16:56 +0000)]
Disable logging to syslog for libunbound. We are not getting anything
useful for us out of it and it can be quite noisy when we are missing
IPv4 or IPv6 addresses.
It is still available when logging to stderr when running with -d.
OK phessler
mglocker [Mon, 25 Jan 2021 14:14:42 +0000 (14:14 +0000)]
Resolve data toggle out of sync problem for ugen(4) and uhidev(4) devices
on xhci(4) controllers by clearing the interface endpoints before opening
the pipes.
Tested by Mikolaj Kucharski for ugen(4) and gnezdo@ for uhidev(4), plus
myself for both.
ok mpi@
mglocker [Mon, 25 Jan 2021 14:05:57 +0000 (14:05 +0000)]
Add the new function usbd_clear_endpoint_feature() which allows to issue
an UR_CLEAR_FEATURE request on a specific endpoint address without the
need to have a pipe open to that endpoint.
From NetBSD, ok mpi@
sthen [Mon, 25 Jan 2021 14:02:18 +0000 (14:02 +0000)]
php.port.mk sets MODPHP_BUILDDEP=No by default now.
dlg [Mon, 25 Jan 2021 12:27:42 +0000 (12:27 +0000)]
raise the max number of queues/interrupts to 16, up from 1.
jmatthew@ has tried this before, but hrvoje popovski experienced
breakage so it wasn't enabled. we've tightened the code up since
then so it's time to try again.
this diff has been tested by hrvoje popovski and myself
ok jmatthew@
dlg [Mon, 25 Jan 2021 11:11:22 +0000 (11:11 +0000)]
if the rx descriptor reports the rss hash, use it for the mbuf flowid.
ok jmatthew@
dlg [Mon, 25 Jan 2021 09:36:48 +0000 (09:36 +0000)]
don't lose the M_FLOWID flag if the ipv4 cksum is ok.
found while poking around with hrvoje popovski
yes jmatthew@
claudio [Mon, 25 Jan 2021 09:17:33 +0000 (09:17 +0000)]
Adjust code since bgpd added an extra argument to aspath_verify() to
reject AS_SET segments. In bgpctl this is always off.
OK benno@
claudio [Mon, 25 Jan 2021 09:15:23 +0000 (09:15 +0000)]
RFC6472 discourages the use of AS_SET segements in ASPATH attributes.
The main reason is that AS_SET does not play nice with RPKI ROA.
Introduce a per neighbor and global config option
'reject as-set yes' and 'reject as-set no'
If set to yes received UPDATES with AS_SET segements are rejected.
This is done the same way other ASPATH soft-errors are handled. The UPDATE
is marked invalid and all prefixes are treated as withdraws.
`bgpctl show rib in error` can be used to show prefixes that where denied
and treated as withdraws because of errors.
By default this feature is off.
OK benno@
yasuoka [Mon, 25 Jan 2021 09:11:36 +0000 (09:11 +0000)]
Fix wg(4) ioctl to be able to handle multiple wgpeers.
Diff from Yuichiro NAITO.
ok procter
dlg [Mon, 25 Jan 2021 06:55:59 +0000 (06:55 +0000)]
fix filtering on kstat unit numbers
dlg [Mon, 25 Jan 2021 06:16:38 +0000 (06:16 +0000)]
r1.102 forgot to tweak the "redistribute rtlabel" part of the grammar.
fixes "redistribute rtlabel foo" without "depend on".
djm [Mon, 25 Jan 2021 06:00:17 +0000 (06:00 +0000)]
make ssh hostbased authentication send the signature algorithm in
its SSH2_MSG_USERAUTH_REQUEST packets instead of the key type.
This make HostbasedAcceptedAlgorithms do what it is supposed to -
filter on signature algorithm and not key type.
spotted with dtucker@ ok markus@
dlg [Mon, 25 Jan 2021 03:40:46 +0000 (03:40 +0000)]
if stoeplitz is enabled, use it to provide a flowid for tcp packets.
drivers that implement rss and multiple rings depend on the symmetric
toeplitz code, and use it to generate a key that decides with rx
ring a packet lands on. if the toeplitz code is enabled, this diff
has the pcb and tcp layer use the toeplitz code to generate a flowid
for packets they send, which in turn is used to pick a tx ring.
because the nic and the stack use the same key, the tx and rx sides
end up with the same hash/flowid. at the very least this means that
the same rx and tx queue pair on a particular nic are used for both
sides of the connection. as the stack becomes more parallel, it
will also help keep both sides of the tcp connection processing in
the one place.
dlg [Mon, 25 Jan 2021 01:45:55 +0000 (01:45 +0000)]
use an intrmap when establishing interrupts for queues.
mcx is still hardcoded/limited to 1 queue for now, but this lets
different mcx devices use different cpus for handling packets.
looks good jmatthew@
millert [Sun, 24 Jan 2021 20:18:50 +0000 (20:18 +0000)]
Update to tzdata2021a from iana.org. Major changes:
o South Sudan changes from +03 to +02 on 2021-02-01 at 00:00.
tobhe [Sun, 24 Jan 2021 19:10:19 +0000 (19:10 +0000)]
hmac-sha2-384 and hmac-sha2-512 are enabled by default.
florian [Sun, 24 Jan 2021 18:29:15 +0000 (18:29 +0000)]
Implement DNS64 synthesis.
When unwind(8) learns new autoconf resolvers (from dhcp or router
advertisements) it checks if a DNS64 is present in this network
location and tries to recover the IPv6 prefix used according to
RFC7050.
The learned autoconf resolvers are then prevented from upgrading to
the validating state since DNS64 breaks DNSSEC.
unwind(8) can now perform its own synthesis. If a query for a AAAA
record results in no answer we re-send the query for A and if that
leads to an answer we synthesize an AAAA answer using the learned
prefixes.
Testing & OK kn
jsg [Sun, 24 Jan 2021 10:21:43 +0000 (10:21 +0000)]
match on Intel Alder Lake and Meteor Lake I219 Ethernet ids
jsg [Sun, 24 Jan 2021 10:17:32 +0000 (10:17 +0000)]
regen
jsg [Sun, 24 Jan 2021 10:16:58 +0000 (10:16 +0000)]
add Intel Alder Lake and Meteor Lake I219 Ethernet ids
florian [Sun, 24 Jan 2021 08:58:50 +0000 (08:58 +0000)]
Add missing __KAME__ markers.
OK claudio
florian [Sun, 24 Jan 2021 08:57:10 +0000 (08:57 +0000)]
Pass sockaddr_in6 arround so that we have space to store the scope in
a proper field. Move KAME hack to kernel / userland boundaries.
Due to the way -d (delete) works in ndp(8), once we flip the kernel
over to not pass down embedded scope it also must not expect embeded
scope passed to the kernel.
OK claudio
deraadt [Sun, 24 Jan 2021 02:44:51 +0000 (02:44 +0000)]
sync
jsg [Sun, 24 Jan 2021 01:59:20 +0000 (01:59 +0000)]
match on Realtek RTL8168H ids for Killer E2500V2 and E2600
checked against linux and windows drivers
jsg [Sun, 24 Jan 2021 01:57:17 +0000 (01:57 +0000)]
regen
jsg [Sun, 24 Jan 2021 01:56:44 +0000 (01:56 +0000)]
add Realtek RTL8168H ids for Killer E2500V2 and E2600
checked against linux and windows drivers
jsg [Sat, 23 Jan 2021 23:39:40 +0000 (23:39 +0000)]
match on another Realtek RTL8168 id
reported and tested by John Batteen on a TP-Link TG-3468
jsg [Sat, 23 Jan 2021 23:36:20 +0000 (23:36 +0000)]
regen
jsg [Sat, 23 Jan 2021 23:35:28 +0000 (23:35 +0000)]
add another Realtek RTL8168 id
shows up on a TP-Link TG-3468 John Batteen has
mlarkin [Sat, 23 Jan 2021 22:56:35 +0000 (22:56 +0000)]
Fix whitespace issues
mlarkin [Sat, 23 Jan 2021 22:34:46 +0000 (22:34 +0000)]
vmm(4): wire faulted in pages
This change wires the pages used by virtual machines managed by vmm(4).
When uvm swaps out a page, vmm(4) does not properly do TLB flushing,
possibly leading to memory corruption or improper page access later.
While this diff is not the correct fix (implementing proper TLB flush
semantics), it does work around the problem by not letting the pages
get swapped out in the first place.
This means that under memory pressure, swap pages will have to come
from other processes, and it also means you cannot overcommit vmm(4)
memory assignment (eg, assign more memory to VMs than you actually
have).
It is my plan to fix this the correct way, but that will take time.
This issue was originally pointed out a long time ago by Maxime V., but
due to my taking a year away from OpenBSD, the issue remained unfixed.
tobhe [Sat, 23 Jan 2021 22:04:55 +0000 (22:04 +0000)]
Handle write() errors.
ok patrick@
tobhe [Sat, 23 Jan 2021 21:51:29 +0000 (21:51 +0000)]
Handle errors and truncated output from snprintf().
ok patrick@
kn [Sat, 23 Jan 2021 21:39:54 +0000 (21:39 +0000)]
list-io must be run from config dir
The current description fails to explain how to use it properly and the
error message is only helpful for people that know how ldomctl works
and/or what the Phsyical Resource Inventory is.
OK afresh1 kettenis
tobhe [Sat, 23 Jan 2021 21:35:48 +0000 (21:35 +0000)]
Fix typos.
From Ryan Kavanagh
ok patrick@
patrick [Sat, 23 Jan 2021 20:01:01 +0000 (20:01 +0000)]
Fix IORT struct for Context and PMU interrupts. I misread bytes with bits.
ok kettenis@
deraadt [Sat, 23 Jan 2021 17:36:22 +0000 (17:36 +0000)]
sync
florian [Sat, 23 Jan 2021 16:28:12 +0000 (16:28 +0000)]
Move resolv_conf string generation for ASR to function; makes
upcomming DNS64 diff simpler.
florian [Sat, 23 Jan 2021 16:27:24 +0000 (16:27 +0000)]
Don't just blindly upgrade to VALIDATING if we see a SECURE answer.
Let's go through the check_resolver() / new_resolver() code path
which will also hook up the resovler to the shared cache.
This means also one less special case for upcomming DNS64 support.
rob [Sat, 23 Jan 2021 16:11:11 +0000 (16:11 +0000)]
Remove unused variables found by clang. Additional unused var spotted by eric@.
OK mvs@, eric@
sthen [Sat, 23 Jan 2021 15:03:00 +0000 (15:03 +0000)]
sync
kettenis [Sat, 23 Jan 2021 12:10:08 +0000 (12:10 +0000)]
OPAL implements firmware calls that abstract communicating with the BMC over
IPMI. Use these calls to add support for impi(4) on PowerNV systems.
ok dlg@
espie [Sat, 23 Jan 2021 10:18:28 +0000 (10:18 +0000)]
recognize those ubiquitous webp file
cherry-picked from FreeBSD
okay millert@, deraadt@, sthen@
thfr [Sat, 23 Jan 2021 05:08:33 +0000 (05:08 +0000)]
introduce ujoy(4), a restricted subset of uhid(4) for gamecontrollers.
This includes ujoy_hid_is_collection() to work around limitations of
hid_is_collection() until this can be combined without fallout.
input, testing with 8bitdo controller, and ok brynet@
PS4 controller testing, fix for hid_is_collection, and ok mglocker@
rob [Fri, 22 Jan 2021 18:27:52 +0000 (18:27 +0000)]
Gracefully handle any erroneous closing bracket/brace trailers in
ober_scanf_elements().
OK martijn@
jcs [Fri, 22 Jan 2021 17:35:00 +0000 (17:35 +0000)]
ims: an actual i2c-connected mouse is unlikely
Claim to be a touchpad instead, which sets up ims devices in X11 to
be more like touchpads.
ok mglocker
claudio [Fri, 22 Jan 2021 17:18:13 +0000 (17:18 +0000)]
Extend test with an full depth search of all possible prefix_evaluations.
This currently fails because the MED is not handled properly. Fix for this
will follow shortly.
florian [Fri, 22 Jan 2021 16:10:01 +0000 (16:10 +0000)]
The correct spelling is NULL.
tb [Fri, 22 Jan 2021 15:56:17 +0000 (15:56 +0000)]
Avoid NULL deref on BIO_new{_mem_buf,}() failure.
tb [Fri, 22 Jan 2021 15:54:32 +0000 (15:54 +0000)]
Avoid NULL deref on BIO_new{_mem_buf,}() failure.
millert [Fri, 22 Jan 2021 14:13:57 +0000 (14:13 +0000)]
Private functions in the kernel do not to be prototyped.
We don't use static in the kernel due to ddb so functions private
to the compilation unit are basically equivalent.
OK cheloha@ gnezdo@ mglocker@
claudio [Fri, 22 Jan 2021 13:57:32 +0000 (13:57 +0000)]
Cleanup and document the code a bit
benno [Fri, 22 Jan 2021 13:07:17 +0000 (13:07 +0000)]
fix a memory leak, found by rob@ in relayd.
ok tb@
nicm [Fri, 22 Jan 2021 11:28:33 +0000 (11:28 +0000)]
Revert clear changes to writing as they don't work properly, better
change to come.
nicm [Fri, 22 Jan 2021 10:24:52 +0000 (10:24 +0000)]
Add rectangle-on and rectangle-off copy mode commands, GitHub isse 2546
from author at will dot party.
nicm [Fri, 22 Jan 2021 10:21:24 +0000 (10:21 +0000)]
Fix some cursor movement commands, from Anindya Mukherjee.
martijn [Fri, 22 Jan 2021 06:35:26 +0000 (06:35 +0000)]
Adjust for traphandler process removal commit.
OK denis@, rob@
martijn [Fri, 22 Jan 2021 06:33:26 +0000 (06:33 +0000)]
Remove the traphandler process, which was nothing more then a sham.
It did nothing more then receive a message over UDP, do some basic ber
and ASN.1 parsing and forward the packet to the parent process. snmpe can
do/does the same thing but with a far more thorough ASN.1 validation.
Because we move trap receiving to snmpe we get trap over tcp for free.
However, to make sure that a normal snmp port doesn't automatically start
handling traps a new set of "listen on" flags are introduced: read, write,
and notify. To enable trap handling either let snmpd listen on port 162
without flags, or add the notify flag. Only a flag without port results in
listening on port 162.
To keep current behaviour copy all UDP-based "listen on" lines without port
and add the notify keyword:
listen on 127.0.0.1 port 666
becomes
listen on 127.0.0.1 port 666
listen on 127.0.0.1 notify
This change also enforces snmpd to honor trap community on receiving a
trap, where previously no community was checked before handling a packet.
OK denis@, rob@
rob [Fri, 22 Jan 2021 03:20:56 +0000 (03:20 +0000)]
Valid integer and enumerated types always have non-zero length. Perform
check to ensure we avoid a possible (undefined) negative shift. Found
with clang static analyzer.
Tweaked and OK martijn@
dtucker [Fri, 22 Jan 2021 02:46:40 +0000 (02:46 +0000)]
PubkeyAcceptedKeyTypes->PubkeyAcceptedAlgorithms here too.
dtucker [Fri, 22 Jan 2021 02:44:58 +0000 (02:44 +0000)]
Rename PubkeyAcceptedKeyTypes keyword to PubkeyAcceptedAlgorithms.
While the two were originally equivalent, this actually specifies the
signature algorithms that are accepted. Some key types (eg RSA) can be
used by multiple algorithms (eg ssh-rsa, rsa-sha2-512) so the old name is
becoming increasingly misleading. The old name is retained as an alias.
Prompted by bz#3253, help & ok djm@, man page help jmc@
eric [Thu, 21 Jan 2021 22:03:25 +0000 (22:03 +0000)]
when using fake keys, skip the private key check
ok tb@
eric [Thu, 21 Jan 2021 22:02:17 +0000 (22:02 +0000)]
return -1 on error for consistency
ok tb@
millert [Thu, 21 Jan 2021 20:08:17 +0000 (20:08 +0000)]
Ignore special keys returned by the curses getch() function.
Prevents canfield from suspending itself when you resize the window.
Canfield is not prepared to deal with anything other than normal
characters so just ignore them. OK tb@ pjanzen@
florian [Thu, 21 Jan 2021 19:12:13 +0000 (19:12 +0000)]
ndp only deals with current localtime. Print time with subsecond
resolution in a less roundabout way.
OK phessler, bluhm
eric [Thu, 21 Jan 2021 19:11:39 +0000 (19:11 +0000)]
sync for libtls bump
eric [Thu, 21 Jan 2021 19:09:43 +0000 (19:09 +0000)]
minor bump after symbol addition
eric [Thu, 21 Jan 2021 19:09:10 +0000 (19:09 +0000)]
Allow setting a keypair on a tls context without specifying the private
key, and fake it internally with the certificate public key instead.
It makes it easier for privsep engines like relayd that don't have to
use bogus keys anymore.
ok beck@ tb@ jsing@
jsing [Thu, 21 Jan 2021 18:48:56 +0000 (18:48 +0000)]
Mop up unused dtls1_build_sequence_number() function.
bluhm [Thu, 21 Jan 2021 17:02:37 +0000 (17:02 +0000)]
Pledge violation for SO_RTABLE prints "wroute" now. Adapt test.
tobhe [Thu, 21 Jan 2021 16:50:46 +0000 (16:50 +0000)]
Handle NO_PROPOSAL_CHOSEN for CREATE_CHILD_SA.
ok markus@
tobhe [Thu, 21 Jan 2021 16:46:47 +0000 (16:46 +0000)]
Add support for INVALID_KE_PAYLOAD in CREATE_CHILD_SA
exchange. In the case of an invalid KE error, retry
CREATE_CHILD_SA exchange with different group instead
of restarting the full IKE handshake.
ok markus@
jmc [Thu, 21 Jan 2021 13:19:58 +0000 (13:19 +0000)]
revert previous after complaints from sthen and deraadt;
mpi [Thu, 21 Jan 2021 13:19:25 +0000 (13:19 +0000)]
Make it possible to convert map arguments to long and insert nsecs in maps.
Necessary to measure latency, example below to better understand the kqueue
select(2) regression:
syscall:select:entry { @start[pid] = nsecs; }
syscall:select:return { @usecs = hist((nsecs - @start[pid]) / 1000); }
mvs [Thu, 21 Jan 2021 13:18:07 +0000 (13:18 +0000)]
carp(4): convert ifunit() to if_unit(9)
ok dlg@ bluhm@
mvs [Thu, 21 Jan 2021 13:17:13 +0000 (13:17 +0000)]
vlan(4): convert ifunit() to if_unit(9)
ok dlg@ kn@
jmc [Thu, 21 Jan 2021 12:43:30 +0000 (12:43 +0000)]
remove an unneccessary escape; from martin vahlensieck
ok gilles
while, there, zap an unneccessary Tn;
dlg [Thu, 21 Jan 2021 12:33:14 +0000 (12:33 +0000)]
let vfs keep track of nonblocking state for us.
ok claudio@ mvs@
kevlo [Thu, 21 Jan 2021 11:05:38 +0000 (11:05 +0000)]
Document IFM_2500_T media type.
ok claudio@ jmc@ sthen@
sthen [Thu, 21 Jan 2021 10:31:57 +0000 (10:31 +0000)]
Backport "Squelch udp connect 'no route to host' errors" from upstream.
Problem reported and diff tested by danj@
From
5906811ff19f005110b2edbda5aa144ad5fa05b1 Mon Sep 17 00:00:00 2001
From: "W.C.A. Wijngaards" <wouter@nlnetlabs.nl>
Date: Tue, 1 Dec 2020 09:09:13 +0100
Subject: [PATCH] - Fix #358: Squelch udp connect 'no route to host' errors on
low verbosity.
kn [Thu, 21 Jan 2021 08:13:59 +0000 (08:13 +0000)]
Revert r1.87 "Pledge before authentication when possible"
Someone reported to me that
''This breaks ansible managed machines where "persist" isn't used. There
i get
/bsd: doas[49341]: pledge "proc", syscall 2
Using "persist", everything is fine.''
jmc [Thu, 21 Jan 2021 07:12:34 +0000 (07:12 +0000)]
some updates from pjanzen;
tb [Thu, 21 Jan 2021 05:02:25 +0000 (05:02 +0000)]
don't set AUTO_RETRY. it's a remnant of an experiment.
mortimer [Thu, 21 Jan 2021 00:16:36 +0000 (00:16 +0000)]
Rearrange variables in dump / restore to handle -fno-common.
Largely following the commit by mckusick in FreeBSD.
ok naddy@