reyk [Fri, 22 Jul 2016 09:31:33 +0000 (09:31 +0000)]
"wpath" is needed in the parent pledge when using the /dev/switch0 device.
benno [Fri, 22 Jul 2016 09:30:36 +0000 (09:30 +0000)]
fix some cases where we relay_abort_http() the connection too soon.
instead, pass a more specific error back and handle the errors in
relay_test() instead.
reported by Arto Jonsson and Hiltjo Posthuma, thanks!
ok bluhm@ reyk@
reyk [Fri, 22 Jul 2016 09:28:59 +0000 (09:28 +0000)]
Fix generated Perl headers.
With input from bluhm@
mpi [Fri, 22 Jul 2016 07:39:06 +0000 (07:39 +0000)]
Fix a double rtfree(9) triggered when IPSEC inserts a more specific
route because of PMTU.
otto@ reported the issue and helped me tracking it down during more
than one month, he is the man!
mikeb@ figured out the bug was in the forwarding path.
ok mikeb@, deraadt@, claudio@
djm [Fri, 22 Jul 2016 07:00:46 +0000 (07:00 +0000)]
improve wording; suggested by jmc@
dtucker [Fri, 22 Jul 2016 05:46:11 +0000 (05:46 +0000)]
Lower loglevel for "Authenticated with partial success" message similar to
other similar level. bz#2599, patch from cgallek at gmail.com, ok markus@
djm [Fri, 22 Jul 2016 03:47:36 +0000 (03:47 +0000)]
constify a few functions' arguments; patch from Jakub Jelen bz#2581
djm [Fri, 22 Jul 2016 03:39:13 +0000 (03:39 +0000)]
move debug("%p", key) to before key is free'd; probable undefined
behaviour on strict compilers; reported by Jakub Jelen bz#2581
djm [Fri, 22 Jul 2016 03:35:11 +0000 (03:35 +0000)]
reverse the order in which -J/JumpHost proxies are visited to be
more intuitive and document
reported by and manpage bits naddy@
jmc [Thu, 21 Jul 2016 18:40:26 +0000 (18:40 +0000)]
rework DESCRIPTION a little: no-command seems clearer than no-XXX;
jmc [Thu, 21 Jul 2016 18:33:27 +0000 (18:33 +0000)]
rename NOTES to COMMON SYNTAX (explains itself better); rework the
passphrase section a little; move the DER|PEM stuff in there to help
avoid text repetition, and prefer the lowercase (less keys to press);
adjust ENVIRONMENT to format a little more nicely;
jmc [Thu, 21 Jul 2016 16:34:08 +0000 (16:34 +0000)]
strip back openssl crl somewhat: remove the examples
and move any relevant text into the main body;
reyk [Thu, 21 Jul 2016 14:25:36 +0000 (14:25 +0000)]
Add basic support for OpenFlow 1.3 PACKET_IN+PACKET_OUT,
no FLOW_MOD yet.
jmc [Thu, 21 Jul 2016 10:42:49 +0000 (10:42 +0000)]
zap trailing whitespace;
mikeb [Thu, 21 Jul 2016 10:21:00 +0000 (10:21 +0000)]
Remove a few debugging leftovers
claudio [Thu, 21 Jul 2016 10:13:58 +0000 (10:13 +0000)]
Remove a fatal() in peer_up when the local addrs of a peer can't be figured out.
Instead bring the session down and wait for admin help.
OK henning@, benno@, phessler@
claudio [Thu, 21 Jul 2016 10:11:11 +0000 (10:11 +0000)]
Add AF_UNIX support to tcpbench and also make it possible to randomize the
write size in the client. pledge setup can be made tighter but that will be
done in a second step.
OK benno@, henning@, markus@ and some man page input by jmc@
krw [Thu, 21 Jul 2016 09:58:55 +0000 (09:58 +0000)]
Use explicit idiom when testing the result of strcmp() and strncmp().
i.e. == 0 and != 0 as appropriate. No intentional functional change.
Suggested by & ok tom@
reyk [Thu, 21 Jul 2016 08:40:14 +0000 (08:40 +0000)]
long to uint32_t port
reyk [Thu, 21 Jul 2016 08:39:23 +0000 (08:39 +0000)]
With uint32_t ports, we cannot sneak the port into an int anymore
stsp [Thu, 21 Jul 2016 08:38:33 +0000 (08:38 +0000)]
Make rtwn(4) and urtwn(4) respect the RTS threshold set by net80211.
ok mpi@
reyk [Thu, 21 Jul 2016 07:58:44 +0000 (07:58 +0000)]
Turn ofp*_debug functions into ofp*_validate functions to follow a
similar approach like iked: first validate the packet, then parse it,
and execute actions. debug logging is a side effect of validation.
deraadt [Thu, 21 Jul 2016 07:22:38 +0000 (07:22 +0000)]
2004 privsep caused "tcpdump -r" to became a priviledged operation because
we felt chroot-containment was also necessary for off-line analysis. Today
use of pledge "stdio" for the packet parser acts as an even better sandbox.
We can therefore silently ignore chroot setup failure, and regain tcpdump -r
support.
Result of a discussion with tedu -- which probably happened because we
became aware of the laughable retarded -Z option in upstream tcpdump.
ok tedu sthen guenther stsp
jsg [Thu, 21 Jul 2016 02:32:23 +0000 (02:32 +0000)]
set and clear the 10baseT bit in statchg
ok patrick@
dtucker [Thu, 21 Jul 2016 01:39:35 +0000 (01:39 +0000)]
Skip passwords longer than 1k in length so clients can't easily DoS sshd
by sending very long passwords, causing it to spend CPU hashing them.
feedback djm@, ok markus@.
Brought to our attention by tomas.kuthan at oracle.com, shilei-c at
360.cn and coredump at autistici.org
reyk [Wed, 20 Jul 2016 21:06:09 +0000 (21:06 +0000)]
fix typos in comments
reyk [Wed, 20 Jul 2016 21:04:44 +0000 (21:04 +0000)]
pledge switchctl
reyk [Wed, 20 Jul 2016 21:01:06 +0000 (21:01 +0000)]
pledge(2) all the switchd processes.
krw [Wed, 20 Jul 2016 20:45:13 +0000 (20:45 +0000)]
Plug potential leak of device list.
Problem found by Michael McConville.
Tested & ok stsp@
benno [Wed, 20 Jul 2016 20:39:49 +0000 (20:39 +0000)]
s/sudo/doas/
reyk [Wed, 20 Jul 2016 20:07:02 +0000 (20:07 +0000)]
Handle ports as uint32_t instead of in_port_t: OpenFlow 1.0 used 16bit
ports, but later versions switched to 32bit ports (for the case that a
virtual switch has more than 65535 switch ports, of course).
reyk [Wed, 20 Jul 2016 19:57:54 +0000 (19:57 +0000)]
Parse and print OpenFlow 1.3 PACKET_IN and OXM (Openflow eXtended Match) -
no action yet.
bluhm [Wed, 20 Jul 2016 19:57:53 +0000 (19:57 +0000)]
To tune the TCP SYN cache we need more information. Print the
relevant counters with netstat -s -p tcp.
OK henning@
krw [Wed, 20 Jul 2016 19:56:24 +0000 (19:56 +0000)]
Use more compact idiom to select architecture dependent files to compile. No
intentional functional change.
Diff from Miod.
ok millert@ deraadt@
deraadt [Wed, 20 Jul 2016 19:40:04 +0000 (19:40 +0000)]
Shrink priv_write_file() API so that it does less, and the callers ask
it to do less. Discussion with guenther.
ok krw
deraadt [Wed, 20 Jul 2016 19:25:39 +0000 (19:25 +0000)]
As a general rule, fchown before fchmod is a safer order (because many
systems throw away bits upon chown). Not in this case, but code gets
copied..
ok krw
vgross [Wed, 20 Jul 2016 18:51:50 +0000 (18:51 +0000)]
Split in6_selectsrc() into a low-level part and a pcb-level part, and
convert in_selectsrc() prototype to match.
Ok bluhm@ mpi@.
stsp [Wed, 20 Jul 2016 18:24:38 +0000 (18:24 +0000)]
Disable the beacon filter in iwm(4). This allows beacons to pass through to
the stack while associated, which in turn makes it possible to keep track of
HT protection changes.
ok mpi@
stsp [Wed, 20 Jul 2016 16:24:37 +0000 (16:24 +0000)]
Make the iwn(4) LED flash 10 times slower in monitor mode.
Makes running monitor mode over extended periods of time much less annoying.
ok benno@
stsp [Wed, 20 Jul 2016 15:40:27 +0000 (15:40 +0000)]
In net80211, enable RTS for frames above a particular size (currently 512
bytes). This is what other OS have been doing for years. In our stack this
feature was present but disabled at compile-time by an #ifdef.
This is a low risk change because drivers were already required to use RTS
whenever the AP set the USE_PROTECTION flag in ERP elements of its beacons.
This change allows for reasonable throughput on loaded 11g networks
whereas before they were practically unusable.
tests and ok phessler@
jmc [Wed, 20 Jul 2016 14:42:03 +0000 (14:42 +0000)]
strip back openssl ciphers:
- rearrange the descriptions of -V and -v to read more logically
- move the cipherlist text into the cipherlist description
- zap examples
reyk [Wed, 20 Jul 2016 14:15:08 +0000 (14:15 +0000)]
Update OpenFlow 1.3 stub based on the 1.0 code.
reyk [Wed, 20 Jul 2016 14:04:51 +0000 (14:04 +0000)]
Fix dependencies of generated map files.
schwarze [Wed, 20 Jul 2016 13:02:44 +0000 (13:02 +0000)]
tag_signal() is dead; from LLVM via Christos Zoulas
reyk [Wed, 20 Jul 2016 12:31:00 +0000 (12:31 +0000)]
When parsing the configuration. initialize the auth structure
correctly, as parse.y's $$ is not zero-initialized.
Found by Rene Ammerlaan
OK markus@ florian@
jsg [Wed, 20 Jul 2016 11:43:31 +0000 (11:43 +0000)]
Add a -n flag to check the configuration and exit. Matches what almost
all the other daemons do.
ok reyk@
naddy [Wed, 20 Jul 2016 10:45:27 +0000 (10:45 +0000)]
Do not clobber the global jump_host variables when parsing an inactive
configuration. ok djm@
stsp [Wed, 20 Jul 2016 10:26:42 +0000 (10:26 +0000)]
Bring iwn_update_htprot() back, so iwn(4) will properly keep track
of HT protection changes while associated.
HT protection affects behaviour on Tx but is configured along with Rx settings
(because Intel likes it that way). And our previous iwn_update_htprot()
implementation had a bug where it would accidentally clear bits which enable
CCK rates for Rx. The Intel Wireless-N 2200 chip accordingly stopped receiving
some frames (most notably broadcast frames) and the link broke down.
Also, restore the power-saving level after updating the Rx config (like
Linux does), and add some DELAYs for good measure to ensure the firmware
has time to process asynchronous commands we send.
tested by myself and mlarkin@
ok mlarkin@
stsp [Wed, 20 Jul 2016 10:24:43 +0000 (10:24 +0000)]
Unbreak ural(4), which had been dropping frames on Tx while
the IFF_RUNNING flag was set since last November (r1.138).
Apparently nobody is using this driver, except for martijn@.
Fix tested by martijn@ and myself.
ok dlg@
mpi [Wed, 20 Jul 2016 09:48:06 +0000 (09:48 +0000)]
ATI controllers seem to need the same workaround as VIA controllers.
This should hopefully help people reporting errors with SB700.
From FreeBSD, ok kettenis@, krw@
bluhm [Wed, 20 Jul 2016 09:15:28 +0000 (09:15 +0000)]
Make the size for the syn cache hash array tunable. As we are
swapping between two syn caches for random reseeding anyway, this
feature can be added easily. When the cache is empty, there is an
opportunity to change the hash size. This allows an admin under
SYN flood attack to defend his machine.
Suggested by claudio@; OK jung@ claudio@ jmc@
yasuoka [Wed, 20 Jul 2016 07:21:24 +0000 (07:21 +0000)]
Fix typo
from Atzm Watanabe
bluhm [Tue, 19 Jul 2016 21:28:43 +0000 (21:28 +0000)]
Plug an mbuf leak in the error path of tcp signature in tcp_output().
OK claudio@ henning@
jmc [Tue, 19 Jul 2016 20:02:47 +0000 (20:02 +0000)]
strip back openssl ca: in particular remove some excessively wordy sections,
move some other sections into more relevant places, and remove the example
ca file;
reyk [Tue, 19 Jul 2016 18:14:08 +0000 (18:14 +0000)]
The -DNAME=switch flag is an artifact from the PoC when I couldn't
decide on a name. Remove it and fix the name to switchd now.
reyk [Tue, 19 Jul 2016 18:11:08 +0000 (18:11 +0000)]
Correctly use ssize_t instead of size_t for read/write return values.
Pointed out by David Hill and clang.
reyk [Tue, 19 Jul 2016 18:09:39 +0000 (18:09 +0000)]
Remove unused variable
reyk [Tue, 19 Jul 2016 18:04:04 +0000 (18:04 +0000)]
A bit of cleanup and style changes. ofcconn needs more work.
reyk [Tue, 19 Jul 2016 17:34:13 +0000 (17:34 +0000)]
L2 tun is tap now
reyk [Tue, 19 Jul 2016 17:31:22 +0000 (17:31 +0000)]
Don't use .p_shutdown in the proc struct
reyk [Tue, 19 Jul 2016 17:30:30 +0000 (17:30 +0000)]
Comment out device/switch(4) for now
krw [Tue, 19 Jul 2016 17:23:20 +0000 (17:23 +0000)]
Narrow the BPF read filter rules so only packets sent to the
interface's LLADDR pass. Rely on dhclient's existing ability to
detect and react to LLADDR changes.
This limits the number of packets that get dropped as a result of
dhclient setting BIOCSFILDROP on the bpf descriptor.
Problem with bridges and multiple dhclients noted by stsp@.
ok mpi@ stsp@ deraadt@ henning@
reyk [Tue, 19 Jul 2016 17:19:58 +0000 (17:19 +0000)]
Add two more tests that use traffic that was captured with tcpdump.
These files serve as an example, no more .pcap files should be added here
(especially not large ones).
reyk [Tue, 19 Jul 2016 17:04:19 +0000 (17:04 +0000)]
Add simple OpenFlow tests for switchd.
reyk [Tue, 19 Jul 2016 16:54:26 +0000 (16:54 +0000)]
Import switchd(8), a basic WIP OpenFlow implementation for OpenBSD.
switchd consists of two parts:
1. switchd(8) and switchctl(8), an OpenFlow controller or "vswitch".
2. switch(4), an OpenFlow-aware kernel "bridge".
This the 1st part, the driver will be imported later. The code will
remain disabled for a while, but it helps development to have it in
the tree. switchd currently supports partial OpenFlow 1.0, but the
goal is to use OpenFlow 1.3.5 instead (switch(4) already does 1.3.5).
For more background information see:
http://www.openbsd.org/papers/bsdcan2016-switchd.pdf
https://youtu.be/Cuo0qT-lqig
With help from yasuoka@ goda@
Import discussed with deraadt@
schwarze [Tue, 19 Jul 2016 16:22:34 +0000 (16:22 +0000)]
Since the mdoc/man parser unification, the parser is always allocated
in mparse_alloc(), so delete all the curp->man == NULL checks.
Triggered by a patch from Christos Zoulas suggesting to add
yet another such check.
mpi [Tue, 19 Jul 2016 16:08:46 +0000 (16:08 +0000)]
Fix the check supposed to prevent 'ip' and 'ip-stealth' balancing modes
from leaking the multicast address.
beck@ found the hard way that this made his second CARP master use a
wrong MAC address.
This is part of a bigger diff from Florian Riehm who is currently
working on a proper solution to fix balancing modes.
ok beck@, bluhm@
phessler [Tue, 19 Jul 2016 15:57:13 +0000 (15:57 +0000)]
protect a pf specific function with the correct #if. Fixes ramdisk building.
(we got lucky before, because the variable that used to be checked was
always available)
OK bluhm@
mpi [Tue, 19 Jul 2016 14:49:46 +0000 (14:49 +0000)]
NULLify a route pointer after calling rtfree(9).
This should theoretically be a no-op because we're freeing the PCB
right after, but it helps us debug a reference count problem found
by otto@.
ok mikeb@
henning [Tue, 19 Jul 2016 13:34:12 +0000 (13:34 +0000)]
style: no spaces after # for define/include, ok phessler benno
henning [Tue, 19 Jul 2016 13:30:51 +0000 (13:30 +0000)]
don't hide globals between function prototypes; ok phessler benno
schwarze [Tue, 19 Jul 2016 13:30:16 +0000 (13:30 +0000)]
Use __attribute__((__format__ throughout.
Triggered by a smaller patch from Christos Zoulas.
jmc [Tue, 19 Jul 2016 12:59:16 +0000 (12:59 +0000)]
tweak previous;
henning [Tue, 19 Jul 2016 12:51:19 +0000 (12:51 +0000)]
remove wrong and misleading comment, ok phessler
dtucker [Tue, 19 Jul 2016 11:38:53 +0000 (11:38 +0000)]
Allow wildcard for PermitOpen hosts as well as ports. bz#2582, patch from
openssh at mzpqnxow.com and jjelen at redhat.com. ok markus@
mpi [Tue, 19 Jul 2016 10:52:56 +0000 (10:52 +0000)]
Adapt test to the srp_swap() area.
mpi [Tue, 19 Jul 2016 10:51:44 +0000 (10:51 +0000)]
Revert use of the _SAFE version of SRPL_FOREACH() now that the offending
function has been fixed.
Functions passed to rtable_walk() must return EAGAIN if they delete an
entry from the tree, no matter if it is a leaf or not.
mpi [Tue, 19 Jul 2016 10:47:39 +0000 (10:47 +0000)]
Update counters & unbreak now that rtrequest(RTM_ADD, ...) caches the
gateway.
mpi [Tue, 19 Jul 2016 10:26:41 +0000 (10:26 +0000)]
Return EAGAIN for every deleted route when detaching an interface.
Previously the code was "too clever" and returned EAGAIN only for
cloning route assuming that other deletion did not modify the tree.
Analysed by and ok dlg@
natano [Tue, 19 Jul 2016 09:52:34 +0000 (09:52 +0000)]
Replace malloc() + memset() with calloc().
ok mlarkin
bluhm [Tue, 19 Jul 2016 09:23:51 +0000 (09:23 +0000)]
In ip6_input() use a shortcut to detect our own address if the pf
state key is linked to a socket inp.
OK mpi@ henning@
sthen [Tue, 19 Jul 2016 08:28:03 +0000 (08:28 +0000)]
In rcctl ls, skip all files with a '.' in the name, not just rc.subr;
pkg_add renames files in this way when the checksums don't match at update
or removal time. [[ ]] suggestion from guenther@ to avoid the messy "case"
that I had in my first diff. Other feedback/suggestions from halex aja
millert, ok halex@ aja@.
mpi [Tue, 19 Jul 2016 08:13:45 +0000 (08:13 +0000)]
Use a flag to indicate that a packet has been received on an IPv6
anycast address.
This will allow us to split ip6_input() in two parts using a queue
in the middle.
ok jca@, florian@, bluhm@
benno [Tue, 19 Jul 2016 08:04:53 +0000 (08:04 +0000)]
remove bogus attributes from ifstated, spooted by guenther@
mpi [Tue, 19 Jul 2016 08:03:01 +0000 (08:03 +0000)]
Do not consider tap(4) a special interface and start if before other
pseudo-interfaces.
This unbreak vlan(4) on top of tap(4) since the refactoring to turn it
MP-safe.
ok claudio@, deraadt@
benno [Tue, 19 Jul 2016 07:58:51 +0000 (07:58 +0000)]
remove bogus attributes on fatal* spotted by guenther@
deraadt [Tue, 19 Jul 2016 06:43:27 +0000 (06:43 +0000)]
Cleanup close(open idioms.
ok krw
tedu [Tue, 19 Jul 2016 05:30:48 +0000 (05:30 +0000)]
instead of messing about with pointer arithmetic, add an empty array
to the end of the defer structure. solves sizing and alignment concerns.
sf [Tue, 19 Jul 2016 02:51:09 +0000 (02:51 +0000)]
virtio_pci: Always allow MSI/MSI-X
For virtio devices, ignore the black/white-listing depending on the PCI
bridge. This enables MSI-X with qemu's old "82441FX" pci-bridge.
Suggested by kettenis@
tom [Tue, 19 Jul 2016 02:26:15 +0000 (02:26 +0000)]
Remove what appears to be a copy-paste error setting cur_ttb
in pmap_free_l1().
from aalm@ - thanks
ok patrick@
benno [Mon, 18 Jul 2016 21:22:09 +0000 (21:22 +0000)]
add format attributes to log functions and fix some errors
ok claudio@ florian@
benno [Mon, 18 Jul 2016 21:20:31 +0000 (21:20 +0000)]
add format attributes to log functions
ok florian@ claudio@
benno [Mon, 18 Jul 2016 21:18:48 +0000 (21:18 +0000)]
add format attributes to log functions
ok claudio@
benno [Mon, 18 Jul 2016 21:17:32 +0000 (21:17 +0000)]
add format attributes to log functions
ok stsp@ claudio@ florian@
benno [Mon, 18 Jul 2016 21:14:30 +0000 (21:14 +0000)]
add format attributes to log functions and fix two errors
ok renato@
benno [Mon, 18 Jul 2016 21:10:37 +0000 (21:10 +0000)]
add format attributes to log functions and fix am error when using
log_warnx()
ok renato@ claudio@
bluhm [Mon, 18 Jul 2016 19:50:49 +0000 (19:50 +0000)]
Kill the rtableid variable in ip6_input(). It does not make sense
to store a field in an extra variable that is only accessed twice.
OK mpi@
kettenis [Mon, 18 Jul 2016 19:22:45 +0000 (19:22 +0000)]
Apparently we need to explicitly stop the timers before reloading them. At
least this is what Linux does and it fixes a hang on the Olimex A10s boards.
While there, also preserve the clock selection when reloading the timer.
ok patrick@, jsg@, tom@
henning [Mon, 18 Jul 2016 19:11:18 +0000 (19:11 +0000)]
no more cbq_opts - CBQ is gone, ok mpi phessler benno
guenther [Mon, 18 Jul 2016 19:05:22 +0000 (19:05 +0000)]
We have __weak_alias() everywhere; remove obsolete #ifdef's
ok deraadt@