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
henning [Tue, 6 Feb 2018 23:37:24 +0000 (23:37 +0000)]
syncookies implementation to be used in pf, based on the FreeBSD one by
Andre Oppermann, heavily adjusted for pf instead of stack use and with
entirely rewritten timeout machinery and new hashing
with bits from sashan, widely discussed with the other network hackers
dlg [Tue, 6 Feb 2018 22:35:32 +0000 (22:35 +0000)]
slightly randomize the order that new pages populate their item lists in.
ok tedu@ deraadt@
phessler [Tue, 6 Feb 2018 22:17:03 +0000 (22:17 +0000)]
convert __inline to inline
no binary change on amd64
sthen [Tue, 6 Feb 2018 22:14:52 +0000 (22:14 +0000)]
quote http_proxy going to rc.firsttime, avoiding problems if it contains a
special character or space (possible with e.g. proxy username/password).
noticed by, install.sub shell magic from, and ok halex@
phessler [Tue, 6 Feb 2018 22:14:52 +0000 (22:14 +0000)]
convert the test if a node support HT (aka, 11n) into an inline function,
instead of testing some un-obvious bitfield
OK stsp@
krw [Tue, 6 Feb 2018 21:09:10 +0000 (21:09 +0000)]
Nuke unused state S_REBINDING. We just use the time
to decide between unicast and broadcast for REQUEST.
krw [Tue, 6 Feb 2018 21:01:27 +0000 (21:01 +0000)]
When binding a lease from the dhclient.leasees.<if> file and
the renewal time is in the past wait retry_interval before
trying to renew the lease.
tedu [Tue, 6 Feb 2018 20:38:47 +0000 (20:38 +0000)]
when we get SIGHUP, close conffd so it's reopened (and rewound).
problem and early fix by anton
naddy [Tue, 6 Feb 2018 20:35:21 +0000 (20:35 +0000)]
Allow the kernel to recognize that it has been netbooted and to add the
boot interface to the "netboot" group. efiboot grabs the MAC address
from the PXE environment, passes it to the kernel, where it is matched
against the list of ethernet interfaces and the boot device is set.
Concept and most of the code cribbed from amd64.
ok kettenis@
tb [Tue, 6 Feb 2018 19:57:37 +0000 (19:57 +0000)]
Print an explicit error if the backup volume is not present in
hw.disknames. This can only happen due to a failure or user error.
In either case, silent failure makes it hard to discover and debug.
Now it will be easy to spot in the daily mail.
ok rob, schwarze
tb [Tue, 6 Feb 2018 19:53:50 +0000 (19:53 +0000)]
If -n is given, the netstart script should not (try to) set the default
route(s). Simply print the command(s) to be issued instead.
tweak & ok rpe
espie [Tue, 6 Feb 2018 16:34:35 +0000 (16:34 +0000)]
avoid not working if redirected to another urlscheme
espie [Tue, 6 Feb 2018 16:29:01 +0000 (16:29 +0000)]
syslog cdns redirect, as suggested by sthen@
schwarze [Tue, 6 Feb 2018 16:28:26 +0000 (16:28 +0000)]
Delete the "no blank before trailing delimiter" check from the
partial explicit macros. Leah Neukirchen <leah at vuxu dot org>
rightfully points out that the check makes no sense for these macros.
espie [Tue, 6 Feb 2018 15:17:26 +0000 (15:17 +0000)]
refactor the "Signature" code for later
- all stuff being elements end up as version elements
- store them directly in the hash, so that we can properly impose
behavior depending on VersionElement (adding stuff to LibObject/PackageName
was slightly icky)
schwarze [Tue, 6 Feb 2018 15:13:32 +0000 (15:13 +0000)]
Clarify that the "bind" built-in command only affects Emacs editing
mode, to avoid potential confusion pointed out by andreas dot kahari
at icm dot uu dot se on misc@.
Patch minimally tweaked based on a comment from jmc@.
OK anton@ jca@ jmc@ on the previous version without the tweak.
bluhm [Tue, 6 Feb 2018 15:13:08 +0000 (15:13 +0000)]
There was a race in the TCP timers. As they may sleep to grab the
netlock, timers may still run after they have been disarmed. Deleting
the timeout is not sufficient to cancel them, but the code from 4.4
BSD is assuming this.
The solution is to add a flag for every timer to see whether it has
been armed or canceled. Remove the TF_DEAD check as tcp_canceltimers()
is called before the reaper timer is fired. Cancelation works
reliably now.
OK mpi@
bluhm [Tue, 6 Feb 2018 14:54:22 +0000 (14:54 +0000)]
Do some cleanup in ah_massage_headers().
- Declare global array ipseczeroes containing zeroes constant.
- The proto parameter contains the address family, so call it af.
- Remove an unused if block, just keep the else.
- If m_copyback(M_NOWAIT) fails, return with error instead of working
with an inconsistent mbuf.
- ip6_nxt is u_int8_t, no need to clear the high bits.
- The offset and next protocol are advanced for all extension
headers, move it after the switch.
- ah_massage_headers() returns an errno, call the variable error.
OK procter@
bluhm [Tue, 6 Feb 2018 14:45:52 +0000 (14:45 +0000)]
Do not call freeaddrinfo() with a NULL parameter.
OK jsing@
eric [Tue, 6 Feb 2018 13:00:48 +0000 (13:00 +0000)]
make sure that all error paths are correctly handled in asr_run_sync()
and that the result is always properly set when the functions returns.
fix issues spotted by claudio@.
ok claudio@