remi [Thu, 12 Jul 2018 12:19:05 +0000 (12:19 +0000)]
With the "depend on" option routes are sent out with a metric of 65535 if
the referenced interface is down or in state backup. This is especially
useful on a carp cluster to ensure all traffic goes to the carp master.
ok friehm@ jca@
reyk [Thu, 12 Jul 2018 12:04:49 +0000 (12:04 +0000)]
Allow to use configured/running VMs as templates for other VM instances.
This introduces new grammar and the -t optional in vmctl start.
(For now, only root can create VM instances; but it is planned to allow
users to create their own VMs based on permissions and quota.)
OK ccardenas@ mlarkin@ jmc@
beck [Thu, 12 Jul 2018 11:42:33 +0000 (11:42 +0000)]
Add regress test for realpath and modify behavior appropriately
mlarkin [Thu, 12 Jul 2018 10:16:41 +0000 (10:16 +0000)]
zap a blank line
mlarkin [Thu, 12 Jul 2018 10:15:44 +0000 (10:15 +0000)]
vmm(8)/vmm(4): send a copy of the guest register state to vmd on exit,
avoiding multiple readregs ioctls back to vmm in case register content
is needed subsequently.
ok phessler
florian [Thu, 12 Jul 2018 08:20:36 +0000 (08:20 +0000)]
rc(8) infrastructure for rad
florian [Thu, 12 Jul 2018 08:19:00 +0000 (08:19 +0000)]
hook up rad(8) and ractl(8) to the build
florian [Thu, 12 Jul 2018 08:18:10 +0000 (08:18 +0000)]
use _rad user
florian [Thu, 12 Jul 2018 08:17:26 +0000 (08:17 +0000)]
Add _rad user and group for rad(8).
This recycles the _btd uid/gid that have been removed in 2013.
Discussed in the hackroom.
mpi [Thu, 12 Jul 2018 07:58:23 +0000 (07:58 +0000)]
Instead of having a button for printing the driver(s) attached to a USB
device, do it when invoked with '-v'.
While here recycle '-d' to specify a specific device node, like pcidump(8)
does.
ok jca@, sthen@
espie [Thu, 12 Jul 2018 06:22:20 +0000 (06:22 +0000)]
synch documentation with reality, noticed by landry@
jmc [Thu, 12 Jul 2018 05:54:49 +0000 (05:54 +0000)]
syncookies never is the default; from paul de weerd
ok henning
djm [Thu, 12 Jul 2018 04:35:25 +0000 (04:35 +0000)]
remove prototype to long-gone function
cheloha [Thu, 12 Jul 2018 01:23:38 +0000 (01:23 +0000)]
Add hw.ncpuonline to count the number of online CPUs.
The introduction of hw.smt means that logical CPUs can be disabled
after boot and prior to suspend/resume. If hw.smt=0 (the default),
there needs to be a way to count the number of hardware threads
available on the system at any given time.
So, import HW_NCPUONLINE/hw.ncpuonline from NetBSD and document it.
hw.ncpu becomes equal to the number of CPUs given to sched_init_cpu()
during boot, while hw.ncpuonline is equal to the number of CPUs available
to the scheduler in the cpuset "sched_all_cpus". Set_SC_NPROCESSORS_ONLN
equal to this new sysctl and keep _SC_NPROCESSORS_CONF equal to hw.ncpu.
This is preferable to adding a new sysctl to count the number of
configured CPUs and keeping hw.ncpu equal to the number of online
CPUs because such a change would break software in the ecosystem
that relies on HW_NCPU/hw.ncpu to measure CPU usage and the like.
Such software in base includes top(1), systat(1), and snmpd(8),
and perhaps others.
We don't need additional locking to count the cardinality of a cpuset
in this case because the only interfaces that can modify said cardinality
are sysctl(2) and ioctl(2), both of which are under the KERNEL_LOCK.
Software using HW_NCPU/hw.ncpu to determine optimal parallism will need
to be updated to use HW_NCPUONLINE/hw.ncpuonline. Until then, such software
may perform suboptimally. However, most changes will be similar to the
change included here for libcxx's std::thread:hardware_concurrency():
using HW_NCPUONLINE in lieu of HW_NCPU should be sufficient for determining
optimal parallelism for most software if the change to _SC_NPROCESSORS_ONLN
is insufficient.
Prompted by deraadt. Discussed at length with kettenis, deraadt, and sthen.
Lots of patch tweaks from kettenis.
ok kettenis, "proceed" deraadt
sthen [Wed, 11 Jul 2018 21:49:37 +0000 (21:49 +0000)]
Explicitly call "/etc/rc.d/vmd stop". This issues graceful shutdown commands
to running VMs (at least for OpenBSD ones), but the stop routine for system
daemons is not usually called at shutdown.
Earlier version with just "vmd stop" ok reyk@ kn@, ajacoutot@ reminded me
to hide the contextless "vmd(ok)" text which looks bad, I did so and wrapped
it with a "stopping VMs" message (it can take some time, especially when you
have multiple VMs, so better to have some clear feedback).
reyk [Wed, 11 Jul 2018 21:29:05 +0000 (21:29 +0000)]
check string lengths in vm_start
nayden [Wed, 11 Jul 2018 21:18:23 +0000 (21:18 +0000)]
Disambiguate the source of panics in sys/net* by adding __func__
magic constant to panic() calls.
ok benno@ henning@ tb@
benno [Wed, 11 Jul 2018 21:10:07 +0000 (21:10 +0000)]
The routing table bgpd runs in needs to be a routing domain.
ok claudio henning
claudio [Wed, 11 Jul 2018 20:38:57 +0000 (20:38 +0000)]
Remove RTM_LOSING from the file, it is no longer used by OpenBSD and
route6d is not realy using it anyway.
OK henning@
schwarze [Wed, 11 Jul 2018 20:24:35 +0000 (20:24 +0000)]
some regression tests for lam(1) including width measurements;
will be fixed soon and then linked to the build
phessler [Wed, 11 Jul 2018 20:18:09 +0000 (20:18 +0000)]
Introduce 'auto-join' to the wifi 802.11 stack.
This allows a system to remember which ESSIDs it wants to connect to, any
relevant security configuration, and switch to it when the network we are
currently connected to is no longer available.
Works when connecting and switching between WPA2/WPA1/WEP/clear encryptions.
example hostname.if:
join home wpakey password
join work wpakey mekmitasdigoat
join open-lounge
join cafe wpakey
cafe2018
join "wepnetwork" nwkey "12345"
dhcp
inet6 autoconf
up
OK stsp@ reyk@
and enthusiasm from every hackroom I've been in for the last 3 years
guenther [Wed, 11 Jul 2018 20:07:55 +0000 (20:07 +0000)]
Declare cpu_meltdown in <machine/cpu.h>
beck [Wed, 11 Jul 2018 20:01:56 +0000 (20:01 +0000)]
regress to check nested subdirs and ..'s
henning [Wed, 11 Jul 2018 19:52:19 +0000 (19:52 +0000)]
superfluous newline
bluhm [Wed, 11 Jul 2018 19:28:16 +0000 (19:28 +0000)]
If no thread can immediately handle a signal, which has been sent
to the process, it is made pending at the main thread. There it
could hang forever. So also check the main thread for signal
delivery. This workaround fixes hung tests in posixtestsuite. The
proper solution would be to split pending signals for process and
threads.
input visa@; OK guenther@
claudio [Wed, 11 Jul 2018 19:05:41 +0000 (19:05 +0000)]
improve the path hash function (instead of just hashing the aspath put
most other attrs into the hash as well). At the same time use the full
64 bit of SipHash in various places.
Tested by and OK benno@ phessler@
florian [Wed, 11 Jul 2018 19:05:25 +0000 (19:05 +0000)]
cleanly shutdown by sending advertisement with lifetime 0
markus [Wed, 11 Jul 2018 18:55:11 +0000 (18:55 +0000)]
treat ssh_packet_write_wait() errors as fatal; ok djm@
markus [Wed, 11 Jul 2018 18:53:29 +0000 (18:53 +0000)]
remove legacy key emulation layer; ok djm@
fcambus [Wed, 11 Jul 2018 18:45:45 +0000 (18:45 +0000)]
Remove the i386 specific mention for pcvtfonts, they are also installed
on alpha and amd64.
No objection from jmc@.
OK deraadt@, sthen@
mlarkin [Wed, 11 Jul 2018 18:08:05 +0000 (18:08 +0000)]
Detect vmm(4) in the bootloader and automatically switch to the serial
console at 115200 baud.
ok deraadt
kn [Wed, 11 Jul 2018 18:06:25 +0000 (18:06 +0000)]
Prevent invalid interface specifiers on queue rules
pf.conf(5) states that queues attach to actual interfaces only, yet the
following parses:
# echo queue eq on egress bandwidth 1G default | pfctl -f-
# pfctl -sq
pfctl: DIOCGETQSTATS: Bad file descriptor
# echo queue rq on rdomain 0 bandwidth 1G default | pfctl -vf-
queue rq bandwidth 1G default
# pfctl -sq
pfctl: DIOCGETQSTATS: Bad file descriptor
On rdomains, ifa_exists() returns NULL.
On interface groups, ifa_exists() returns non-NULL but af is never set
to AF_LINK.
OK henning sashan
nayden [Wed, 11 Jul 2018 18:04:18 +0000 (18:04 +0000)]
adding __func__ identifier to panic() calls in vmm.c for amd64 and i386
ok mlarkin@
kn [Wed, 11 Jul 2018 17:44:57 +0000 (17:44 +0000)]
Prevent updating async option on softdep mount
`mount -uo async,nosoftdep /mnt' would set "async" but keep "softdep"
untouched on a read/write mount.
OK deraadt krw beck bluhm
claudio [Wed, 11 Jul 2018 17:35:07 +0000 (17:35 +0000)]
Bump some of the hash table size to more resonable numbers.
Still probably not optimal but less bad.
florian [Wed, 11 Jul 2018 17:32:05 +0000 (17:32 +0000)]
Send a RA with router lifetime of 0 when an interface is removed from
the config.
RFC 4861, 6.2.5:
[...] the router SHOULD transmit one or more (but not more than
MAX_FINAL_RTR_ADVERTISEMENTS) final multicast Router Advertisements on
the interface with a Router Lifetime field of zero.
jmc [Wed, 11 Jul 2018 17:21:57 +0000 (17:21 +0000)]
remove useless macro;
espie [Wed, 11 Jul 2018 16:53:14 +0000 (16:53 +0000)]
"running tags"
reyk [Wed, 11 Jul 2018 16:43:24 +0000 (16:43 +0000)]
sort tokens
naddy [Wed, 11 Jul 2018 16:38:03 +0000 (16:38 +0000)]
do not pick up groff from /usr/local/bin in configure, noticed by benno@;
ok benno@ jca@
reyk [Wed, 11 Jul 2018 16:37:31 +0000 (16:37 +0000)]
style - indent each case statement in a switch.
claudio [Wed, 11 Jul 2018 16:35:37 +0000 (16:35 +0000)]
Print out the hash info sent by the RDE in bgpctl show rib mem
OK phessler@ benno@
claudio [Wed, 11 Jul 2018 16:34:36 +0000 (16:34 +0000)]
On IMSG_CTL_SHOW_RIB_MEM also send back information of some of the
hash structures used in the RDE. Makes it fairly obvious that more
is needed in that area.
OK phessler@ benno@
beck [Wed, 11 Jul 2018 16:25:39 +0000 (16:25 +0000)]
test changed stat lying semantics - we don't lie about files
remi [Wed, 11 Jul 2018 15:41:19 +0000 (15:41 +0000)]
Print the rdomain config option if present.
ok kn@ tb@ deraadt@ sthen@ jca@
kn [Wed, 11 Jul 2018 15:25:42 +0000 (15:25 +0000)]
Use AF_UNSPEC not 0
bluhm [Wed, 11 Jul 2018 14:57:58 +0000 (14:57 +0000)]
Some spaces have been removed from pfctl print. Adapt expected
output in regress.
deraadt [Wed, 11 Jul 2018 14:51:01 +0000 (14:51 +0000)]
retire the old cron socket path; ok jca millert
mlarkin [Wed, 11 Jul 2018 14:48:40 +0000 (14:48 +0000)]
Detect vmm(4) in the bootloader and automatically switch to the serial
console at 115200 baud.
tested by phessler and myself, ok deraadt
beck [Wed, 11 Jul 2018 14:35:37 +0000 (14:35 +0000)]
Regress update to match changes for chrome
sf [Wed, 11 Jul 2018 14:20:18 +0000 (14:20 +0000)]
Fix comment about VLAN encapsulation and checksum offload
Document that some chips actually could do hardware checksum offload for
encapsulated packets, though that would need special handling in those
drivers.
discussions and ok naddy@
benno [Wed, 11 Jul 2018 14:08:46 +0000 (14:08 +0000)]
add option "network ... priority number" to announce prefixes from the
kernel routing table selected by priority.
For example to import all ospfd/ospf6d routes into bgp.
tested by remi@
ok remi@ henning@ and maybe a little claudio@
florian [Wed, 11 Jul 2018 14:03:13 +0000 (14:03 +0000)]
Detect when a router advertisement packet changes due to config
change and if it does send a new advertisement.
The way this is implemented gives us various things for free:
- periodic sending of router advertisements
- send initial advertisement for every interface on startup
florian [Wed, 11 Jul 2018 14:01:44 +0000 (14:01 +0000)]
no longer needed
kn [Wed, 11 Jul 2018 13:57:53 +0000 (13:57 +0000)]
Sync comment
Makes it a tad easier to read through and compare with BN_swap_ct().
OK tb
reyk [Wed, 11 Jul 2018 13:19:47 +0000 (13:19 +0000)]
Add -w option to vmctl stop to wait for completion of VM termination.
Use it in /etc/rc.d/vmd accordingly.
OK sthen@
mlarkin [Wed, 11 Jul 2018 13:19:42 +0000 (13:19 +0000)]
vmm(4): return proper cache topology for cpuid(0x4)
Make the cache neighbor fields match the number of VCPUs present
(currently 1)
ok reyk
claudio [Wed, 11 Jul 2018 13:08:00 +0000 (13:08 +0000)]
Retire RTM_LOSING, it no longer makes sense and on busy servers the
route socket is flooded with those messages. Instead maek sure that the
removal of the dynamic route that can happen is actually also sent to
the routing socket.
OK mpi@ henning@
claudio [Wed, 11 Jul 2018 13:06:16 +0000 (13:06 +0000)]
rtm_send() the cloned routes because of ICMP mtu changes. Until now
these changes to the routing table have not been visible whereas the
RTM_DELETE of those routes have been. Remove this inconsistency.
Input and OK mpi@
OK henning@
mlarkin [Wed, 11 Jul 2018 12:55:01 +0000 (12:55 +0000)]
vmm(4): respect argument size when reading from undefined ports.
mlarkin [Wed, 11 Jul 2018 12:45:01 +0000 (12:45 +0000)]
vmm(4): small cleanup in vm_rwregs.
Clarify error values and change a panic into a debug printf (which will
in turn just kill the VM).
martijn [Wed, 11 Jul 2018 12:38:46 +0000 (12:38 +0000)]
Drop a const-bomb on regexec. It's probably not a good idea to remove a
const promise when processing it in the regex engine.
Minor tweak and OK schwarze@
krw [Wed, 11 Jul 2018 12:21:37 +0000 (12:21 +0000)]
When in incremental search handle ^M (a.k.a. <cr>) like ^[ (a.k.a.
<esc>). i.e. exit incremental search and set the mark. This is what
emacs does.
pointers, suggestions and ok florian@
remi [Wed, 11 Jul 2018 12:09:34 +0000 (12:09 +0000)]
Change the control socket to ospfd.sock.<rdomain>.
ok friehm@ jca@
schwarze [Wed, 11 Jul 2018 11:42:17 +0000 (11:42 +0000)]
After opening all the needed files, tighten the pledge(2)
from "stdio rpath" to just "stdio", before parsing any user data.
It may not matter that much just yet, but parsing will become
slightly more complicated soon when i shall add UTF-8 handling.
OK millert@
henning [Wed, 11 Jul 2018 11:39:31 +0000 (11:39 +0000)]
the STATE_LOOKUP macro made sense ages ago. It stopped making sense
when we moved most of the functionality into a function. g/c the macro
and just call the function. ok mpi jca
schwarze [Wed, 11 Jul 2018 11:35:06 +0000 (11:35 +0000)]
Repair the regression introduced by the recent refactoring
revision 1.11 date: 2004/07/03 21:00:37;
for -p/-P, the argument was no longer parsed, causing segfaults.
OK millert@
reyk [Wed, 11 Jul 2018 10:31:45 +0000 (10:31 +0000)]
Rename function to vmd_check_vmh
remi [Wed, 11 Jul 2018 10:23:47 +0000 (10:23 +0000)]
remove wrong comment
ok jca@ tb@
espie [Wed, 11 Jul 2018 09:57:59 +0000 (09:57 +0000)]
allow default from state
espie [Wed, 11 Jul 2018 09:54:49 +0000 (09:54 +0000)]
allow state->new to deduce the command name from $0
reyk [Wed, 11 Jul 2018 09:35:44 +0000 (09:35 +0000)]
Add -f option to vmctl stop to forcefully kill a VM.
This also fixes a bug in vmm_sighdlr where it might have missed
forwarding the TERMINATE_EVENT to the vmd parent after a VM child
died, leading to an abandoned VM in the vmd parent process.
OK ccardenas@ mlarkin@ benno@ kn@
henning [Wed, 11 Jul 2018 09:08:21 +0000 (09:08 +0000)]
in if_addgroup(), call the new pfi_group_addmember() instead of
pf_group_change() - the latter is called by _addmemeber now to update dynaddr.
before this, "set skip on lo", ifconfig lo1 create -> no skip on lo1 until
pf rueset got reloaded. Now lo1 gets the skip flag as intended. This has
caused much confusion with i. e. gif interfaces in the past.
ok benno, very excited ok phessler
mpi [Wed, 11 Jul 2018 09:07:59 +0000 (09:07 +0000)]
Convert AH & IPcomp to ipsec_input_cb() and count drops on input.
ok markus@
henning [Wed, 11 Jul 2018 09:05:51 +0000 (09:05 +0000)]
provide pfi_group_addmember(), which makes the new member interface inherit
set flags from the group. ok phessler benno
florian [Wed, 11 Jul 2018 08:47:03 +0000 (08:47 +0000)]
there is nothing secret about rad.conf
tb [Wed, 11 Jul 2018 08:42:38 +0000 (08:42 +0000)]
Document behavior change of EC_POINTs_mul(3) from EC constant time changes.
ok beck on earlier version, markup help from Schwarze.
florian [Wed, 11 Jul 2018 08:31:48 +0000 (08:31 +0000)]
Don't hide errors when IPv6 forwarding is not enabled.
OK(failed) phessler
OK deraadt
nicm [Wed, 11 Jul 2018 08:29:21 +0000 (08:29 +0000)]
Expand formats in load-buffer and save-buffer.
martijn [Wed, 11 Jul 2018 08:19:35 +0000 (08:19 +0000)]
s/wuth/with/ in comment
deraadt [Wed, 11 Jul 2018 07:59:16 +0000 (07:59 +0000)]
sync
krw [Wed, 11 Jul 2018 07:39:22 +0000 (07:39 +0000)]
Do for most running out of memory err() what was done for most running
out of memory log_warn(). i.e. ("%s", __func__) instead of manual
function names and redundant verbiage about which wrapper detected the
out of memory condition.
ok henning@
tb [Wed, 11 Jul 2018 07:38:00 +0000 (07:38 +0000)]
Turn yesterday's optimistic ! in an XXX comment into a more cautious ?
martijn [Wed, 11 Jul 2018 07:03:03 +0000 (07:03 +0000)]
Using resolved after realpath(3) has failed is dangerous. Don't do it!
Minor tweak and OK jca@
OK beck@ deraadt@
martijn [Wed, 11 Jul 2018 06:57:18 +0000 (06:57 +0000)]
Make the output of the list command more sensible for the output device.
We now output $COLUMNS - 8 characters of the string and a newline.
This is similar to the behaviour in ed(1).
Discussed with and OK schwarze@
nicm [Wed, 11 Jul 2018 06:51:39 +0000 (06:51 +0000)]
Helper function to shorten history.
jmatthew [Wed, 11 Jul 2018 06:48:58 +0000 (06:48 +0000)]
implement media type detection and forcing of link speed, lightly tested
with a variety of 10g optics.
martijn [Wed, 11 Jul 2018 06:47:38 +0000 (06:47 +0000)]
Rephrase the wording on the replacement string of the substitute command.
Cover more cases with less wording.
Joint work with schwarze@
OK millert@
nicm [Wed, 11 Jul 2018 06:43:45 +0000 (06:43 +0000)]
Add function comments.
jmatthew [Wed, 11 Jul 2018 06:43:30 +0000 (06:43 +0000)]
move declarations of hwrm message functions up to the top and make them
non-static.
jmatthew [Wed, 11 Jul 2018 06:39:57 +0000 (06:39 +0000)]
don't bother checking the rx index matches what we expect, it works
properly.
martijn [Wed, 11 Jul 2018 06:39:23 +0000 (06:39 +0000)]
Remove an old and false comment. REALLOC now free(3)s the code if realloc
fails.
OK millert@
jmc [Wed, 11 Jul 2018 06:16:50 +0000 (06:16 +0000)]
zap trailing whitespace;
tb [Wed, 11 Jul 2018 06:16:40 +0000 (06:16 +0000)]
Update EC regression tests.
Part of https://github.com/libressl-portable/openbsd/pull/94
from Billy Brumley and his team.
ok jsing
florian [Tue, 10 Jul 2018 22:14:19 +0000 (22:14 +0000)]
remove newd control leftovers
florian [Tue, 10 Jul 2018 22:13:16 +0000 (22:13 +0000)]
remove unused variable; pointed out by llvm
florian [Tue, 10 Jul 2018 22:12:43 +0000 (22:12 +0000)]
add ractl, the rad(8) control program
tb [Tue, 10 Jul 2018 22:06:14 +0000 (22:06 +0000)]
Indent labels by a space so they don't obliterate function names in diffs.
tb [Tue, 10 Jul 2018 21:55:49 +0000 (21:55 +0000)]
ECC constant time scalar multiplication support. First step in overhauling
the EC module.
From Billy Brumley and his team, via
https://github.com/libressl-portable/openbsd/pull/94
With tweaks from jsing and me.
ok jsing
tb [Tue, 10 Jul 2018 21:52:07 +0000 (21:52 +0000)]
Provide BN_swap_ct(), a constant time function that conditionally swaps
two bignums. It's saner and substantially less ugly than the existing
public BN_constantime_swap() function and will be used in forthcoming work
on constant time ECC code.
From Billy Brumley and his team. Thanks!
ok jsing