dlg [Thu, 8 Feb 2018 22:08:18 +0000 (22:08 +0000)]
implement ethernet over gre encapsulation with a thing egre(4) driver.
there's three main chunks in this: transmit, receive, and factoring out
common gre code.
ethernet over gre unfortunately doesnt pad ethernet frames, so their
payload on rx and their headers on tx will be misaligned. egre copes
with this in the rx path by copying the payload with m_dup_pkt if
it detects misalignment. in the tx path, it unconditionally allocates
a new mbuf for the headers, that can be aligned separately to the
existing payload.
most of the common gre code is in the ioctl paths, so this diff
adds gre_tunnel_ioctl, which is in the spirit of ether_ioctl.
ok claudio@
dlg [Thu, 8 Feb 2018 21:55:34 +0000 (21:55 +0000)]
handle SIOCGLIFPHYTTL and say that the ttl is always "copied"
dlg [Thu, 8 Feb 2018 21:54:55 +0000 (21:54 +0000)]
when using tunnelttl, let -1 mean "copy the ttl from the inner traffic".
tunnelttl now accepts "copy" as an argument, and prints "copy" when
it sees -1.
ok claudio@
benno [Thu, 8 Feb 2018 21:37:36 +0000 (21:37 +0000)]
ospf6d mostly only cares about AF_INET6 routes
found while investigating routing socket desync with claudio.
ok remi jca claudio
jca [Thu, 8 Feb 2018 18:02:06 +0000 (18:02 +0000)]
Kill ber.c support for direct fd read/writes
This mechanism is already unused and annotated with lots of XXX's, no
need to keep it around. ok claudio@
jmc [Thu, 8 Feb 2018 17:52:24 +0000 (17:52 +0000)]
tweak previous;
jmc [Thu, 8 Feb 2018 17:51:43 +0000 (17:51 +0000)]
tweak previous; ok henning
mpi [Thu, 8 Feb 2018 13:51:08 +0000 (13:51 +0000)]
Test that next-hop L2 caches are cloned using the correct MPATH route.
ok jmatthew@, claudio@, dlg@
mpi [Thu, 8 Feb 2018 13:50:48 +0000 (13:50 +0000)]
When multiple RTF_CLONING routes for the same subnet are present, use
the correct one to clone the gateway.
Fix wired vs wireless on the same subnet issue as well as a more
complicated setup reported by dlg@.
ok jmatthew@, claudio@, dlg@
martijn [Thu, 8 Feb 2018 13:22:25 +0000 (13:22 +0000)]
Make pool order on size actually order on size instead of size*inuse.
Prompted by and OK otto@
mpi [Thu, 8 Feb 2018 13:15:31 +0000 (13:15 +0000)]
Add a new '-protected' option for bridge members.
Bridge members that are part of the same protected domain, refered by
a number between 1 and 31, cannot talk to each others. This is useful
to isolate VMs or untrusted networks at layer 2.
Members can be part of multiple protected domain making it possible to
create complex protected setups.
ok ccardenas@, claudio@, dlg@, henning@
mpi [Thu, 8 Feb 2018 12:57:24 +0000 (12:57 +0000)]
Remove CSRG copyright, there isn't any code left from Berkeley here.
In 2016 natano@ removed the last two functions remaining from the CSRG
time: lockinit() and lockstatus(). At that time they were already wrappers
around recursive rwlocks functions from thib@ that tedu@ committed in 2013.
ok deraadt@
jsing [Thu, 8 Feb 2018 11:31:00 +0000 (11:31 +0000)]
Update regress to use tlsext_serverhello_parse().
jsing [Thu, 8 Feb 2018 11:30:30 +0000 (11:30 +0000)]
Complete the TLS extension rewrite on the client-side.
The RI logic gets pulled up into ssl3_get_server_hello() and
ssl_parse_serverhello_tlsext() gets replaced by tlsext_client_parse(),
which allows a CBS to be passed all the way down.
This also deduplicates the tlsext_client_build() and tlsext_server_build()
code.
ok beck@
jsing [Thu, 8 Feb 2018 11:17:44 +0000 (11:17 +0000)]
Convert option handling for openssl(1) genpkey.
ok beck@ inoguchi@
jsing [Thu, 8 Feb 2018 10:19:57 +0000 (10:19 +0000)]
Update regress to match change to tls_keypair_pubkey_hash().
jsing [Thu, 8 Feb 2018 10:19:31 +0000 (10:19 +0000)]
Have tls_keypair_pubkey_hash() call tls_keypair_load_cert() instead of
rolling its own certificate loading. This also means we get better error
reporting on failure.
jsing [Thu, 8 Feb 2018 10:06:52 +0000 (10:06 +0000)]
Add a regress test that covers libtls keypairs.
jsing [Thu, 8 Feb 2018 10:05:43 +0000 (10:05 +0000)]
Tweak compiler flags to include -DLIBRESSL_INTERNAL and make more warnings
fatal.
jsing [Thu, 8 Feb 2018 10:03:19 +0000 (10:03 +0000)]
Ensure that tls_keypair_clear() clears the OCSP staple and pubkey hash.
jsing [Thu, 8 Feb 2018 10:02:48 +0000 (10:02 +0000)]
Do not bother NULLing pointers in a struct that is about to be freed.
mortimer [Thu, 8 Feb 2018 10:01:12 +0000 (10:01 +0000)]
Do not hardcode key length. Pointed out by jsing@
ok deraadt@
deraadt [Thu, 8 Feb 2018 09:42:48 +0000 (09:42 +0000)]
After flushing disks, try again to release all memory. We don't need to
save dirty memory to the hibernate space.
deraadt [Thu, 8 Feb 2018 09:37:17 +0000 (09:37 +0000)]
Toss all releaseable memory, because fragmentation can get in the way
of allocating the hibernate playpen.
mortimer [Thu, 8 Feb 2018 09:27:44 +0000 (09:27 +0000)]
Use a temporary chacha instance to fill large randomdata sections. Avoids
grabbing the rnglock repeatedly.
ok deraadt@ djm@
henning [Thu, 8 Feb 2018 09:15:46 +0000 (09:15 +0000)]
make the watermarks/thresholds for entering and leaving syncookie mode when
syncookies are set to adaptive tunable, ok claudio benno
henning [Thu, 8 Feb 2018 09:14:19 +0000 (09:14 +0000)]
give jmc another chance to "fix previous" - document syncookies
(thanks jmc!)
dlg [Thu, 8 Feb 2018 09:01:45 +0000 (09:01 +0000)]
recognise gre proto 0 as a "keep alive" packet
djm [Thu, 8 Feb 2018 08:46:20 +0000 (08:46 +0000)]
some helpers to check verbose/quiet mode
krw [Thu, 8 Feb 2018 08:22:31 +0000 (08:22 +0000)]
Don't update first_sending in state_selecting() and thus
fix the accounting for the interval since we started the
process of getting a lease.
Fixes the 'no lease ... got lease' messaging at a minimum.
jsing [Thu, 8 Feb 2018 08:09:10 +0000 (08:09 +0000)]
Move tls_keypair_pubkey_hash() to the keypair file.
jsing [Thu, 8 Feb 2018 08:04:12 +0000 (08:04 +0000)]
Avoid a memory leak that results when the same tls_config is reused.
Reported by and fix from Nate Bessette <openbsd at nate dot sh> - thanks.
jsing [Thu, 8 Feb 2018 07:55:29 +0000 (07:55 +0000)]
Assert tedu's copyright since some of the code moved here is his.
martijn [Thu, 8 Feb 2018 07:00:33 +0000 (07:00 +0000)]
Add the order keyword to systat global command interpreter.
This command shows the available orderings for the current view, which
ordering is active, their shortcuts, and if they're in reverse order.
manpage nits jmc@
OK tedu@
deraadt [Thu, 8 Feb 2018 06:02:09 +0000 (06:02 +0000)]
sr_quiesce() is a new approach for ensuring that softraid drains
output to the disks.
This is part of a larger suspend/resume filesystem-safety diff, which
has been worked on for a couple of months already. Tests by job, krw,
beck, benno, and others. Sometimes even by snapshot users...
jsing [Thu, 8 Feb 2018 05:56:49 +0000 (05:56 +0000)]
Split keypair handling out into its own file - it had already appeared
in multiple locations.
ok beck@
patrick [Thu, 8 Feb 2018 05:00:38 +0000 (05:00 +0000)]
Move bwfm(4) from ifq begin/commit/rollback semantics to the newer
ifq dequeue semantics. This basically means we need to check for
available space before dequeuing a packet. As soon as we dequeue
a packet we commit to it. On the PCIe backend this check can not
be done easily since the flowring depends on the packet contents and
we cannot take a peek. When there is no flowring we cache the mbuf
and send it out as soon as the flowring opened up. Then the ifq can
be restarted and traffic can flow. Typically we usually run out of
packet ids, which can be checked without consulting the packet. The
flowring probably never becomes full as the bwfm(4) firmware takes
the packets off the ring without actually sending them out.
Discussed with dlg@
dlg [Thu, 8 Feb 2018 05:00:37 +0000 (05:00 +0000)]
gre doesnt need ifmedia
dlg [Thu, 8 Feb 2018 04:58:55 +0000 (04:58 +0000)]
reintroduce support for keepalives.
there's a couple of bug fixes in here too. this properly initializes
the ttl on the tunnel, and it clears the ip_off header.
requested by claudio@
dtucker [Thu, 8 Feb 2018 04:12:32 +0000 (04:12 +0000)]
Rename struct umac_ctx to umac128_ctx too. In portable some linkers
complain about two symbols with the same name having differing
sizes. ok djm@
henning [Thu, 8 Feb 2018 02:26:39 +0000 (02:26 +0000)]
show current synflood detection watermarks in pfctl -vsi, for the lack
of a more appropriate place. ok claudio benno procter
henning [Thu, 8 Feb 2018 02:25:44 +0000 (02:25 +0000)]
add DIOCGETSYNFLWATS to get current synflood detection watermarks,
ok claudio benno procter
tb [Thu, 8 Feb 2018 01:36:38 +0000 (01:36 +0000)]
Invalidate the tag_files.tfd after fclose(3)ing the stram associated with
it. In main assert that the tfd was actually invalidated. This avoids
closing an invalid fd.
ok deraadt on earlier version, tweak & ok schwarze
claudio [Thu, 8 Feb 2018 00:21:10 +0000 (00:21 +0000)]
Bump the read sockbuf of the routing socket to 2MB, may help reduce some of
the desync cases. OK benno@
claudio [Thu, 8 Feb 2018 00:19:54 +0000 (00:19 +0000)]
Bump the read sockbuf of the routing socket to 2MB, may help reduce some of
the desync cases. OK benno@
claudio [Thu, 8 Feb 2018 00:18:57 +0000 (00:18 +0000)]
Bump the read sockbuf of the routing socket to 2MB, may help reduce some of
the desync cases. OK benno@
claudio [Thu, 8 Feb 2018 00:18:20 +0000 (00:18 +0000)]
Bump the read sockbuf of the routing socket to 2MB, may help reduce some of
the desync cases. OK benno@
claudio [Thu, 8 Feb 2018 00:17:31 +0000 (00:17 +0000)]
Bump the read sockbuf of the routing socket to 2MB, may help reduce some of
the desync cases. OK benno@
claudio [Thu, 8 Feb 2018 00:16:54 +0000 (00:16 +0000)]
Bump the read sockbuf of the routing socket to 2MB, may help reduce some of
the desync cases. OK benno@
claudio [Thu, 8 Feb 2018 00:16:18 +0000 (00:16 +0000)]
Bump the read sockbuf of the routing socket to 2MB, may help reduce some of
the desync cases. OK benno@
procter [Wed, 7 Feb 2018 23:04:50 +0000 (23:04 +0000)]
rename var 's' -> 'fd' to ease finding it in a long function
ok tb@ deraadt@
procter [Wed, 7 Feb 2018 23:01:09 +0000 (23:01 +0000)]
eliminate close()/fclose() dance.
ok tb@ deraadt@
dtucker [Wed, 7 Feb 2018 22:52:45 +0000 (22:52 +0000)]
ssh_free checks for and handles NULL args, remove NULL checks from remaining
callers. ok djm@
procter [Wed, 7 Feb 2018 22:46:11 +0000 (22:46 +0000)]
comment change only. ok bluhm@
dlg [Wed, 7 Feb 2018 22:36:54 +0000 (22:36 +0000)]
add SIOCSETKALIVE to the list of ioctls that need root and NET_LOCK
bluhm [Wed, 7 Feb 2018 22:35:14 +0000 (22:35 +0000)]
Sporadically the network over gem(4) interface hang on sparc64 and
macppc. Receiving packets stopped, ifconfig down/up made it work
again.
In the tick timeout handler refill the receive ring if it is empty.
The logic is taken from hme(4). Also protect the register access
and ifp counters with splnet().
In gem_rx_watchdog() is a workaround for a hardware bug. It resets
the hardware when there is no progress. If the fifo pointers
advanced a bit, it got stuck anyway. So restart the receive watchdog
timeout in that case.
OK mpi@
dlg [Wed, 7 Feb 2018 22:30:59 +0000 (22:30 +0000)]
update the gre driver.
the main new feature is gre keys, supported by the vnetid ioctls.
this also adds support for gre over ipv6, the use of hfsc, and
allows tx mitigation in the future.
this diff removes keepalive support, but i promised claudio@ and
patrick@ i would put it back after this goes in.
ok claudio@
dlg [Wed, 7 Feb 2018 22:10:17 +0000 (22:10 +0000)]
dcoppa@ and bluhm@ noted that i accidentally removed POOL_DEBUG
put it back.
patrick [Wed, 7 Feb 2018 22:08:24 +0000 (22:08 +0000)]
Outsource setting the backplane window into a specific function so it
can be called and reused in different places.
patrick [Wed, 7 Feb 2018 22:02:48 +0000 (22:02 +0000)]
Move parsing the BCDC header on RX into a protocol specific RX
function so it can be shared with the SDIO attachment driver.
patrick [Wed, 7 Feb 2018 22:01:04 +0000 (22:01 +0000)]
Move parsing the BCDC header on RX into a protocol specific RX
function so it can be shared with the SDIO attachment driver.
patrick [Wed, 7 Feb 2018 21:44:09 +0000 (21:44 +0000)]
Move SDIO bus and protocol definitions from the shared header
into one header specific to the SDIO attachment driver. Also
add more register and protocol definitions to it.
patrick [Wed, 7 Feb 2018 21:36:34 +0000 (21:36 +0000)]
Add helper to find out if the chip supports Save/Restore. Will be used
in the SDIO bus glue.
tedu [Wed, 7 Feb 2018 20:31:57 +0000 (20:31 +0000)]
the SETUIDSCRIPTS define is no longer needed since the code was unifdef
a few years ago. spotted by tb.
schwarze [Wed, 7 Feb 2018 20:31:32 +0000 (20:31 +0000)]
In man(7) and cat pages, cut off excessive one line descriptions.
An extreme example of how rogue files could mess up apropos(1) output
was reported by bentley@: qwtlicense(3) in the x11/qwt port.
tedu [Wed, 7 Feb 2018 20:22:23 +0000 (20:22 +0000)]
slightly reduce the difficulty of the adventure game that is reading
the battlestar code by reformatting a few lines.
special request from mlarkin so he'll go back to fixing meltdown.
schwarze [Wed, 7 Feb 2018 20:04:33 +0000 (20:04 +0000)]
Fix the mandoc_strndup() utility function. All existing callers seem
safe so far, but implementing it with an unchecked memcpy(3) is just
wrong and quite dangerous.
schwarze [Wed, 7 Feb 2018 19:58:28 +0000 (19:58 +0000)]
fix wrong date
otto [Wed, 7 Feb 2018 18:59:20 +0000 (18:59 +0000)]
sync with libc malloc: use consistent style for for loop in unmap(),
no functional change
otto [Wed, 7 Feb 2018 18:58:30 +0000 (18:58 +0000)]
use consistent style for for loop in unmap(), no functional change
naddy [Wed, 7 Feb 2018 18:42:38 +0000 (18:42 +0000)]
Reporting the PXE boot interface we identified is independent of setting
the boot device. We do the latter only for NFSCLIENT, but always the former.
While here, modernize the interface matching loop.
ok deraadt@
anton [Wed, 7 Feb 2018 17:15:48 +0000 (17:15 +0000)]
Markup SIGHUP.
espie [Wed, 7 Feb 2018 11:38:38 +0000 (11:38 +0000)]
prepare for session files
mpi [Wed, 7 Feb 2018 11:30:01 +0000 (11:30 +0000)]
Unbreak carp(4) MAC check in bridge_process().
Introduce bridge_ourether() and move carp(4)-specific SRPL code inside
carp_ourether().
ok bluhm@
espie [Wed, 7 Feb 2018 11:22:39 +0000 (11:22 +0000)]
prepare for session saving by separating the pkgfetch code.
jsing [Wed, 7 Feb 2018 08:57:25 +0000 (08:57 +0000)]
Restore a check before BN_free() that needs to exist and write it such that
the intent is more obvious.
dlg [Wed, 7 Feb 2018 08:45:17 +0000 (08:45 +0000)]
make some wording better.
from jmc@
jmc [Wed, 7 Feb 2018 07:06:53 +0000 (07:06 +0000)]
tweak previous;
dlg [Wed, 7 Feb 2018 06:26:14 +0000 (06:26 +0000)]
shorten the output for gre keys.
krw [Wed, 7 Feb 2018 06:19:54 +0000 (06:19 +0000)]
Use M_WAITOK to show we don't need to check for NULL.
ok deraadt@
krw [Wed, 7 Feb 2018 06:16:08 +0000 (06:16 +0000)]
Use duid_format() instead of rolling one locally.
ok jsing@ tb@
henning [Wed, 7 Feb 2018 06:11:43 +0000 (06:11 +0000)]
look ma, henning forgot to PF_LOCK/_UNLOCK in the new ioctls, ok procter
dlg [Wed, 7 Feb 2018 06:02:01 +0000 (06:02 +0000)]
dont return ENETRESET from SIOCSIFFLAGS, it wont't be handled properly
dlg [Wed, 7 Feb 2018 05:59:00 +0000 (05:59 +0000)]
take the interface down if it is being destroyed.
jsing [Wed, 7 Feb 2018 05:49:36 +0000 (05:49 +0000)]
Nuke some more free NULL guards.
henning [Wed, 7 Feb 2018 05:48:47 +0000 (05:48 +0000)]
provide counters for # of synfloods detected, # of syncookies sent,
# of syncookies successfuly validated, ok phessler
jsing [Wed, 7 Feb 2018 05:47:55 +0000 (05:47 +0000)]
Indent labels with a single space so that diff prototypes are more useful.
jsing [Wed, 7 Feb 2018 05:17:56 +0000 (05:17 +0000)]
Convert some explicit_bzero()/free() calls to freezero().
ok deraadt@ dtucker@
jsing [Wed, 7 Feb 2018 05:15:49 +0000 (05:15 +0000)]
Remove some #ifdef notyet code from OpenSSL 0.9.8 days.
These functions have never appeared in OpenSSL and are likely never to do
so.
"kill it with fire" djm@
tedu [Wed, 7 Feb 2018 05:13:57 +0000 (05:13 +0000)]
lowercase doas ee cummings style
jsing [Wed, 7 Feb 2018 05:07:39 +0000 (05:07 +0000)]
Add more free functions for NULL checks.
tedu [Wed, 7 Feb 2018 05:05:46 +0000 (05:05 +0000)]
not necessarily the same name, but the indicated name
jsing [Wed, 7 Feb 2018 04:57:06 +0000 (04:57 +0000)]
Remove guards around *_free() calls since these functions handle NULL.
jsing [Wed, 7 Feb 2018 04:25:19 +0000 (04:25 +0000)]
Remove guards around *_free() calls since these functions handle NULL.
tedu [Wed, 7 Feb 2018 04:23:04 +0000 (04:23 +0000)]
clarify a bit about config
florian [Wed, 7 Feb 2018 03:28:05 +0000 (03:28 +0000)]
NAME_MAX is the length of the thing between / / in a path *without*
the terminating NUL.
Do not use it for a "small string" or a "probably short path". Replace
it with new defines or PATH_MAX.
It also makes the life easier for people auditing the tree for real
usage of NAME_MAX.
OK deraadt, benno
jsing [Wed, 7 Feb 2018 02:13:42 +0000 (02:13 +0000)]
Add more functions (based on those used in OpenSSH) to the free NULL test.
jsing [Wed, 7 Feb 2018 02:06:50 +0000 (02:06 +0000)]
Remove all guards for calls to OpenSSL free functions - all of these
functions handle NULL, from at least OpenSSL 1.0.1g onwards.
Prompted by dtucker@ asking about guards for RSA_free(), when looking at
openssh-portable pr#84 on github.
ok deraadt@ dtucker@
dlg [Wed, 7 Feb 2018 01:52:15 +0000 (01:52 +0000)]
remove mobileip(4) tendrils
dlg [Wed, 7 Feb 2018 01:50:48 +0000 (01:50 +0000)]
unbreak strict alignment archs by using SIPHASH_KEY for siphash
keys, not uint8_t array.
found by sparc64.
probably ok henning@, but he's at coffee