afresh1 [Mon, 1 Mar 2021 23:19:42 +0000 (23:19 +0000)]
Fix merge issues, remove excess files - match perl-5.32.1 dist
OK sthen@
afresh1 [Mon, 1 Mar 2021 23:14:32 +0000 (23:14 +0000)]
Import perl-5.32.1
OK sthen@
patrick [Mon, 1 Mar 2021 21:38:20 +0000 (21:38 +0000)]
Update the MSI addresses for the Armada 8040. This chunk will only be
there until we have a proper way of making the MSI pages available.
patrick [Mon, 1 Mar 2021 21:35:03 +0000 (21:35 +0000)]
Instead of sprinkling the device's DMA tag, always return a new DMA tag
which is based on the IOMMU's. If you think about it, using the IOMMU's
DMA tag makes more sense because it is the IOMMU that does the actual DMA.
Noticed while debugging, since the SMMU's map function was called twice:
once for the PCI device, and once for its ppb(4). As the transaction has
the PCI device's Stream ID, not the ppb(4)'s, this would be useless work.
Suggested by kettenis@
patrick [Mon, 1 Mar 2021 21:03:24 +0000 (21:03 +0000)]
Transactions on the AXI bus contain a Stream ID. SMMUs filter
based on Stream IDs. On the Armada 8040 these Stream IDs can
be configured in different registers. The PCIe controller has
a register which maps root port, bus, dev and func number to
the Stream ID. This should be set up by TF-A firmware, but on
the 8040 the current images don't do this. For chips with more
than one PCIe controller this register must be setup correctly
depending on the implementation, but on the 8040 there only is
one controller, so we can configure a fixed value to match what
is defined in the device tree. This allows the SMMU to properly
track the PCIe controller's transactions.
ok kettenis@
patrick [Mon, 1 Mar 2021 20:49:20 +0000 (20:49 +0000)]
The ep-gpios property is optional on the Rockchip PCIe controller.
While there, enable the different voltage regulators and set the
PHY's assigned clocks. This makes PCIe work on the NanoPi R4S.
Tested by kurt@ on Rock Pi N10 and ROCKPro64
ok kurt@ kettenis@
deraadt [Mon, 1 Mar 2021 19:25:58 +0000 (19:25 +0000)]
sync
jmc [Mon, 1 Mar 2021 17:56:16 +0000 (17:56 +0000)]
remove unneccessary Pp;
espie [Mon, 1 Mar 2021 17:52:36 +0000 (17:52 +0000)]
document log entry W, reminded by naddy@
jmc [Mon, 1 Mar 2021 17:51:43 +0000 (17:51 +0000)]
fix Nd and remove trailing whitespace;
jmc [Mon, 1 Mar 2021 17:49:08 +0000 (17:49 +0000)]
escape quotes and remove some unneccessary Pp; ok nicm
tobhe [Mon, 1 Mar 2021 16:38:07 +0000 (16:38 +0000)]
Make sure sa_policy is not NULL in sa_configure_iface(). This can happen
if the SA is deleted because of a failed policy lookup.
florian [Mon, 1 Mar 2021 15:56:31 +0000 (15:56 +0000)]
Log adding and deleting of IP addresses as well as nameservers.
deraadt@ pointed out that dhcpleased is too quiet.
florian [Mon, 1 Mar 2021 15:56:00 +0000 (15:56 +0000)]
We really must handle all possible enumeration values in
state_transition() and iface_timeout(). Let the compiler help us by
emitting a warning when we missed one (-Wswitch).
Reminded by jsg who pointed out that gcc is quite confused and thinks
there is an out of bounds access in if_state_name[] in the default
case. There is not, if_state_name[] and enum if_state have to be kept
in sync.
(Note that -Wswitch is not a silver bullet, it just happens to work
here.)
florian [Mon, 1 Mar 2021 15:54:49 +0000 (15:54 +0000)]
Let send_rdns_withdraw and send_deconfigure_interface clean up after
themselves. This way the iface object is in a consistent state.
For consistency we should also withdraw rdns first, then deconfigure
the interface.
Lastly make sure we parse the lease file on a down -> up transition if
we had a lease before and it had expired while the interface was in
down state. Otherwise we'd send a dhcpdiscover requesting any IP
address while we really should send a dhcprequest asking for our
previous IP back.
kn [Mon, 1 Mar 2021 14:27:44 +0000 (14:27 +0000)]
Document veb(4) support
Feedback jmc
OK dlg
bluhm [Mon, 1 Mar 2021 11:05:42 +0000 (11:05 +0000)]
Refactor ip_fragment() and ip6_fragment(). Use a mbuf list to
simplify the handling of the fragment list. Now the functions
ip_fragment() and ip6_fragment() always consume the mbuf. They
free the mbuf and mbuf list in case of an error and take care about
the counter. Adjust the code a bit to make v4 and v6 look similar.
Fixes a potential mbuf leak when pf_route6() called pf_refragment6()
and it failed. Now the mbuf is always freed by ip6_fragment().
OK dlg@ mvs@
lum [Mon, 1 Mar 2021 10:51:14 +0000 (10:51 +0000)]
Put the hardcoded '\n' character which is found throughout mg into a
buffer specific variable. The diff should not produce any behavourial
changes in mg.
nicm [Mon, 1 Mar 2021 10:50:14 +0000 (10:50 +0000)]
There is no need to call del_curterm in the server anymore.
nicm [Mon, 1 Mar 2021 10:44:38 +0000 (10:44 +0000)]
Add some text with examples of ; as a separator, GitHub issues 2522 and
2580.
espie [Mon, 1 Mar 2021 10:35:49 +0000 (10:35 +0000)]
document pkg_check-version
jsg [Mon, 1 Mar 2021 09:50:40 +0000 (09:50 +0000)]
allocate enough space in start_child() argv for all possible flags
ok claudio@
mpi [Mon, 1 Mar 2021 09:13:33 +0000 (09:13 +0000)]
If an anon is associated with a page, acquire its lock before any modification.
This change should have been part of the previous anon-locking diff and is
necessary to run the top part of uvm_fault() unlocked.
ok jmatthew@
mpi [Mon, 1 Mar 2021 09:09:35 +0000 (09:09 +0000)]
Move the top part of uvm_fault_lower(), the lookup, in its own function.
The name and logic come from NetBSD in order to reduce the difference
between the two code bases.
No functional change intended.
ok tb@
jsg [Mon, 1 Mar 2021 08:05:40 +0000 (08:05 +0000)]
off by one in bounds test
ok florian@
jsg [Mon, 1 Mar 2021 08:02:34 +0000 (08:02 +0000)]
off by one in bounds test
ok claudio@
deraadt [Mon, 1 Mar 2021 07:25:07 +0000 (07:25 +0000)]
resolvd and dhcpleased should not be enabled yet
jmc [Mon, 1 Mar 2021 06:30:05 +0000 (06:30 +0000)]
update currency exchange rates;
deraadt [Mon, 1 Mar 2021 05:15:37 +0000 (05:15 +0000)]
typo; from Scott Bennett
deraadt [Mon, 1 Mar 2021 02:42:07 +0000 (02:42 +0000)]
sync
dtucker [Sun, 28 Feb 2021 22:56:30 +0000 (22:56 +0000)]
Add %k to list of keywords. From Eero Häkkinenvia bz#3267
dlg [Sun, 28 Feb 2021 22:56:09 +0000 (22:56 +0000)]
add veb(4) to the list of supported bridges/switches you can configure.
tested by josh rickmar
ok kn@
patrick [Sun, 28 Feb 2021 21:42:08 +0000 (21:42 +0000)]
Have acpipci(4) look for a matching SMMU in the IORT.
ok kettenis@
patrick [Sun, 28 Feb 2021 21:41:07 +0000 (21:41 +0000)]
Enable acpiiort(4), add smmu(4) but keep disabled.
ok kettenis@
patrick [Sun, 28 Feb 2021 21:40:11 +0000 (21:40 +0000)]
acpiiort(4) and smmu(4)
patrick [Sun, 28 Feb 2021 21:39:31 +0000 (21:39 +0000)]
Add smmu(4), a driver the ARM System MMU. This IOMMU is basically a
regular ARM CPU MMU re-used for I/O devices. Implementations can have a
mix of stage-2 only and stage-2/stage-2 context blocks (domains). The
IOMMU allows different ways of grouping devices into a single domain.
This implementation only supports SMMUv2, since there is basically
no relevant SMMUv1 hardware. It also only supports AArch64
pagetables, the same as our pmap. Hence lots of code was taken from
there. There is no support for 32-bit pagetables, which would have
also been needed for SMMUv1 support. I have not yet seen any
machines with SMMUv3, which will probably need a new driver.
There is some work to be done, but the code works and it's about
time it hits the tree.
ok kettenis@
patrick [Sun, 28 Feb 2021 21:31:10 +0000 (21:31 +0000)]
Add acpiiort(4), a driver for the ACPI I/O Remapping Table. This table
contains information which IOMMUs we have and how the devices are routed.
ok kettenis@
patrick [Sun, 28 Feb 2021 21:28:33 +0000 (21:28 +0000)]
Add memory attributes for stage-2 pagetables.
ok kettenis@
patrick [Sun, 28 Feb 2021 21:10:22 +0000 (21:10 +0000)]
Issue call to IOMMU OFW API to collect an IOMMU-sprinkled DMA tag.
ok kettenis@
patrick [Sun, 28 Feb 2021 21:09:44 +0000 (21:09 +0000)]
Implement IOMMU OFW API for on-SoC/non-PCI devices.
ok kettenis@
patrick [Sun, 28 Feb 2021 21:06:58 +0000 (21:06 +0000)]
Issue call to IOMMU OFW API to collect an IOMMU-sprinkled DMA tag.
ok kettenis@
tobhe [Sun, 28 Feb 2021 19:25:59 +0000 (19:25 +0000)]
Rename addr to gateway.
deraadt [Sun, 28 Feb 2021 18:09:18 +0000 (18:09 +0000)]
install rc.d/resolvd
krw [Sun, 28 Feb 2021 17:49:01 +0000 (17:49 +0000)]
Move tick_msg(TICK_WAIT) calls after related log_debug()
calls to avoid losing those debug messages if
tick_msg() notices link-timeout has expired and daemonizes
dhclient.
krw [Sun, 28 Feb 2021 17:33:45 +0000 (17:33 +0000)]
Reduce non-debug output further by allowing up to the usual 3 second
grace period of silence before emitting "<if>: no lease...", even if
the link has taken a few secocnds to come up. 'link-timoeut' remains
the hard deadline for going daemon.
lum [Sun, 28 Feb 2021 15:30:35 +0000 (15:30 +0000)]
Add dobeep functions that take messages to buffer.c and cscope.c
No functional change intended.
florian [Sun, 28 Feb 2021 15:26:26 +0000 (15:26 +0000)]
Introduce #defines for exponential backoff, explain where they come
from and explain why we are a bit more agressive during startup.
While here make the math a bit easier on the eyes.
espie [Sun, 28 Feb 2021 14:03:09 +0000 (14:03 +0000)]
document the move of FIX_CRLF_FILES to the end of distpatch
dlg [Sun, 28 Feb 2021 03:59:25 +0000 (03:59 +0000)]
big numbers need suffixes on some platforms. fix LACP_ADDR_SLOW_E64.
deraadt@ says i broke hppa :(
dtucker [Sun, 28 Feb 2021 01:50:47 +0000 (01:50 +0000)]
Do not try to reset signal handler for signal 0 in subprocess.
Prevents spurious debug message. ok djm@
djm [Sat, 27 Feb 2021 23:42:37 +0000 (23:42 +0000)]
fix alphabetic ordering of options; spotted by Iain Morgan
deraadt [Sat, 27 Feb 2021 20:30:19 +0000 (20:30 +0000)]
sync
jmc [Sat, 27 Feb 2021 19:32:58 +0000 (19:32 +0000)]
removal of "must" missed in previous: spotted by george brown, who also
submitted the diff for the previous commit and who i forgot to credit...
jmc [Sat, 27 Feb 2021 18:58:59 +0000 (18:58 +0000)]
remove some info related to compat;
tweaked by deraadt
ok kettenis deraadt
jmc [Sat, 27 Feb 2021 18:50:38 +0000 (18:50 +0000)]
fix NAME;
florian [Sat, 27 Feb 2021 17:53:23 +0000 (17:53 +0000)]
Restore ability to handle default routes on multiple interfaces, this
got lost shortly before initial import.
While here explicitly delete the default route when deconfiguring an
interface. There might be corner cases where the stack will not tear
it down for us when we remove the IP address.
deraadt [Sat, 27 Feb 2021 17:47:43 +0000 (17:47 +0000)]
ensure local array is same size as global
krw [Sat, 27 Feb 2021 17:44:58 +0000 (17:44 +0000)]
Stop checking 'epoch' in get_recorded_lease() and just set it as
required in read_lease_db(). It's already set in packet_to_lease() and
thus both paths to TAILQ_INSERT(lease_db) ensure there is a non-zero
epoch in all lease_db entries.
kettenis [Sat, 27 Feb 2021 17:15:55 +0000 (17:15 +0000)]
apldart(4)
kettenis [Sat, 27 Feb 2021 17:15:33 +0000 (17:15 +0000)]
aplpcie(4)
tobhe [Sat, 27 Feb 2021 17:07:04 +0000 (17:07 +0000)]
Set RTF_GATEWAY for host route based on RTM_GET response.
kettenis [Sat, 27 Feb 2021 16:31:33 +0000 (16:31 +0000)]
apldart(4) is needed here as well.
kettenis [Sat, 27 Feb 2021 16:26:41 +0000 (16:26 +0000)]
aipldart(4)
kettenis [Sat, 27 Feb 2021 16:23:41 +0000 (16:23 +0000)]
aplpcie(4)
kettenis [Sat, 27 Feb 2021 16:19:14 +0000 (16:19 +0000)]
Add apldart(4), a driver for the IOMMU on Apple M1 SoCs.
ok patrick@
florian [Sat, 27 Feb 2021 15:20:54 +0000 (15:20 +0000)]
While I wrote the initial version of resolvd(8) it diverged so much
that it's not appropriate to claim that I wrote it.
jsing [Sat, 27 Feb 2021 14:20:50 +0000 (14:20 +0000)]
Move handling of cipher/hash based cipher suites into the new record layer.
ok tb@
krw [Sat, 27 Feb 2021 13:59:00 +0000 (13:59 +0000)]
Disentangle log_debug() output from tick_msg() output.
Simplifies -v output, and reduces non-'-v' output.
Reduce non-'-v' output further by only displaying the first 'link up'
event.
Restore behaviour specified in dhclient.conf(5) of going daemon after
link-timeout seconds, rather than waiting another link-timeout seconds
for a lease to be accepted.
Lease verbiage problem reported, and fix tested by Mihai Popescu. Thanks!
Link verbiage problems reported, fix tested & ok tb@.
visa [Sat, 27 Feb 2021 13:43:16 +0000 (13:43 +0000)]
Replace stray direct call of f_event with filter_event().
This does not change the current behaviour, but filterops should be
invoked through filter_*() for consistency.
jsing [Sat, 27 Feb 2021 13:38:35 +0000 (13:38 +0000)]
Identify DTLS based on the version major value.
This avoids the need to match specific DTLS version numbers.
lum [Sat, 27 Feb 2021 13:24:52 +0000 (13:24 +0000)]
Add dobeep functions that take messages to basic.c.
No functional change intended.
mvs [Sat, 27 Feb 2021 11:44:48 +0000 (11:44 +0000)]
Rework route_input() and rtm_sendup(). While we perform foreach loop
in route_input() we drop solock() after we checked socket state. We
pass mbuf(9) to this socket at next loops, while it referenced as
`last'. Socket's state could be changed by concurrent thread while
it's not locked.
Since we perform socket's checks and output in same iteration, the
logic which prevents mbuf(9) chain copy for the last socket in list
was removed.
ok bluhm@ claudio@
florian [Sat, 27 Feb 2021 10:35:20 +0000 (10:35 +0000)]
Path #defines are traditionally prefixed with _PATH.
Pointed out by deraadt
florian [Sat, 27 Feb 2021 10:32:28 +0000 (10:32 +0000)]
Path #defines are traditionally prefixed with _PATH.
Pointed out by deraadt
florian [Sat, 27 Feb 2021 10:28:12 +0000 (10:28 +0000)]
Path #defines are traditionally prefixed with _PATH.
pointed out by deraadt
florian [Sat, 27 Feb 2021 10:21:08 +0000 (10:21 +0000)]
Path #defines are traditionally prefixed with _PATH.
pointed out by deraadt
florian [Sat, 27 Feb 2021 10:07:41 +0000 (10:07 +0000)]
Read the lease file into a statically sized buffer and pass it over to
the engine process for parsing instead of passing an fd.
Let's us tighten the engine's pledge back down to "stdio".
ajacoutot [Sat, 27 Feb 2021 09:28:04 +0000 (09:28 +0000)]
Add logger(1) support for daemons that are logging to stdout/stderr (mostly from
the go ecosystem).
Properly handle failing daemon startup now that we have pipefail.
To take advantage of this new feature, just add foo_logger=facility to the
daemon rc.d(8) script or in rc.conf.local(8) or use rcctl:
rcctl set foo logger daemon.info
tweak for checking flags in rcctl(8) from martijn@
"this looks pretty good" deraadt@
ok sthen@
dlg [Sat, 27 Feb 2021 09:21:22 +0000 (09:21 +0000)]
trim some code i accidentally left into the nvgre add address function
dlg [Sat, 27 Feb 2021 09:20:38 +0000 (09:20 +0000)]
recover scope from v6 nvgre endpoint addresses for userland to look at.
claudio [Sat, 27 Feb 2021 08:59:29 +0000 (08:59 +0000)]
It is perfectly fine to POLLIN and POLLOUT at the same time. It may
actually make things a bit faster.
OK deraadt@
nicm [Sat, 27 Feb 2021 06:28:16 +0000 (06:28 +0000)]
Handle NULL term_type.
jsg [Sat, 27 Feb 2021 03:04:22 +0000 (03:04 +0000)]
regen
jsg [Sat, 27 Feb 2021 03:03:40 +0000 (03:03 +0000)]
sort and fix RTL8713 id
jsg [Sat, 27 Feb 2021 03:01:25 +0000 (03:01 +0000)]
regen
jsg [Sat, 27 Feb 2021 03:00:54 +0000 (03:00 +0000)]
sort
jsg [Sat, 27 Feb 2021 02:37:06 +0000 (02:37 +0000)]
regen
jsg [Sat, 27 Feb 2021 02:36:33 +0000 (02:36 +0000)]
add ids for Intel Xeon Scalable
Used by at least Skylake-SP (SKX) and Cascade Lake-SP (CLX).
Covers Xeon Scalable, Xeon D, Xeon W, Core Extreme/Core X product
families. The Scalable parts are marketed as Xeon Bronze, Silver, Gold
and Platinum.
As most of these ids are not described in public documents from Intel
use Skylake-ESystem.inf and KabyLakePCH-HSystem.inf from Intel's Windows
drivers to get an idea of what the names should be. With the name for
0x2088 found in a Intel authored Linux driver.
Initial patch and much discussion from Karel Gardas.
dlg [Sat, 27 Feb 2021 01:19:11 +0000 (01:19 +0000)]
put the mac addr into a uint64_t to compare it to the ethernet slow addr.
also do the ethertype comparison before the conversion above.
nicm [Fri, 26 Feb 2021 21:53:41 +0000 (21:53 +0000)]
Check session, window, pane in the right order when working out format type.
tobhe [Fri, 26 Feb 2021 21:06:02 +0000 (21:06 +0000)]
Set RTF_GATEWAY for flow routes, not for host route.
tobhe [Fri, 26 Feb 2021 20:22:11 +0000 (20:22 +0000)]
Fix and improve handling of address families in vroute_getcloneroute().
ok patrick@
kn [Fri, 26 Feb 2021 18:29:16 +0000 (18:29 +0000)]
Ship resolvd service, enable it by default
Starting right after unwind.
OK deraadt
kn [Fri, 26 Feb 2021 18:28:07 +0000 (18:28 +0000)]
Ignore SIGHUP
It should always run and there is no reload semantic.
OK deraadt
florian [Fri, 26 Feb 2021 17:20:07 +0000 (17:20 +0000)]
sync; OK deraadt
florian [Fri, 26 Feb 2021 17:19:21 +0000 (17:19 +0000)]
Create /var/db/dhcpleased for lease files.
OK deraadt@
florian [Fri, 26 Feb 2021 17:18:41 +0000 (17:18 +0000)]
rc(8) bits for dhcpleased(8).
OK deraadt
florian [Fri, 26 Feb 2021 17:17:03 +0000 (17:17 +0000)]
Hook up dhcpleased to the build.
OK deraadt
tb [Fri, 26 Feb 2021 17:14:25 +0000 (17:14 +0000)]
Sort SEE ALSO and fix its punctuation.
florian [Fri, 26 Feb 2021 16:16:37 +0000 (16:16 +0000)]
Import dhcpleased(8) - a dhcp daemon to acquire IPv4 address leases
from servers.
dhcpleased(8) follows the well known three process design of all our
privsep daemons. It uses pledge(2) and unveil(2) to restrict access
further. In particular the "engine" process, responsible for parsing
of untrusted data, is pledge'd "stdio". It cannot access the outside
world nor the filesystem at all.
Like slaacd(8) for IPv6 it will be always running and acquire addresses
for all interface with the autoconf4 flag set.
The flag can be set by "ifconfig $if inet autoconf" or by adding
"inet autoconf" to /etc/hostname.if. An existing "dhcp" line should
be removed.
Various iterations tested by deraadt@
The hardest part, finding a name, was handled by jmatthew@ & otto@
"get to it :)" deraadt@