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
dlg [Wed, 7 Feb 2018 01:09:57 +0000 (01:09 +0000)]
split mobileip(4) out from the gre(4) driver.
having mobileip in gre makes it hard to cut gre up. the current mobileip
code is also broken, so this is def and improvement. it also makes it
easy to disable and remove mobileip in the future.
ok claudio@ henning@
krw [Wed, 7 Feb 2018 01:03:10 +0000 (01:03 +0000)]
Keep track of the last proposal used to configure the interface and
compare that to the offered proposal to determine if there are any
changes to configure. Simpler, and fixes issue where using a recorded
lease meant the interface was continually being configured with the
same information.
tedu [Wed, 7 Feb 2018 01:02:46 +0000 (01:02 +0000)]
remove the magic dns port hijacking feature. it's complicated and
brittle, and never quite made the next step to being useful.
bluhm [Wed, 7 Feb 2018 00:52:05 +0000 (00:52 +0000)]
Restore the old behavior when a port number without a host name is
passed to BIO_get_accept_socket(). This is part of the API and it
fixes "openssl ocsp -port 12345" in server mode.
from markus@; OK jsing@ beck@
bluhm [Wed, 7 Feb 2018 00:31:10 +0000 (00:31 +0000)]
Historically TCP timeouts were implemented with pr_slowtimo and
pr_fasttimo. That is the reason why we have two timeout mechanisms
with complicated ticks calculation. Move the delay ACK timeout to
milliseconds and remove some ticks and hz mess from the others.
This makes it easier to see the actual values.
OK florian@ dhill@ dlg@
florian [Wed, 7 Feb 2018 00:24:33 +0000 (00:24 +0000)]
update to unbound 1.6.8, testing millert, OK sthen
claudio [Wed, 7 Feb 2018 00:02:02 +0000 (00:02 +0000)]
Add plumbing inside of the prefix handling to put prefixes on either the
prefixes or updates list depending on flags passed to the functions.
While there also introduce a similar flag for rde_aspath and adjust
path_compare so that this flag is ignored (liked the linked one).
OK benno@
henning [Tue, 6 Feb 2018 23:47:47 +0000 (23:47 +0000)]
allow control over syncookies: set syncookies never/always/adaptive
krw [Tue, 6 Feb 2018 23:45:15 +0000 (23:45 +0000)]
Abstract "no link ..." and "no lease ..." message generation
into a function tick_msg(). Now both work the same way,
dot dot dotting as time passes until they 'sleep'.
Tested by tb@ as part of a larger diff.
henning [Tue, 6 Feb 2018 23:44:48 +0000 (23:44 +0000)]
syncookies for pf.
when syncookies are on, pf will blindly answer each and every SYN with a
syncookie-SYNACK. Upon reception of the ACK completing the 3WHS, pf will
reconstruct the original SYN, shove it through pf_test, where state will
be created if the ruleset permits it. Then massage the freshly created state
(we won't see the SYNACK), set up the sequence number modulator, and call
into the existing synproxy code to start the 3WHS with the backend host.
Add an - somewhat basic for now - adaptive mode where syncookies get enabled
if a certain percentage of the state table is filled up with half-open tcp
connections. This makes pf firewalls resilient against large synflood
attacks.
syncookies are off by default until we gained more experience, considered
experimental for now.
see http://bulabula.org/papers/2017/bsdcan/ for more details.
joint work with sashan@, widely discussed and with lots of input by many