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@
jmc [Mon, 18 Jul 2016 18:24:21 +0000 (18:24 +0000)]
rework the first sentence of this page;
with help from otto
zhuk [Mon, 18 Jul 2016 16:46:30 +0000 (16:46 +0000)]
The string with path to shell could be taken directly from struct passwd.
At some point later the data it points to is overridden by getpwuid() call,
resulting in garbage. The problem could be easily demonstreated by double
doas call:
$ doas doas -su _sndio
doas: mpty: command not found
The fix is easy: just strdup() the pw_shell field value.
okay tedu@, tweaks from & okay natano@
henning [Mon, 18 Jul 2016 15:21:33 +0000 (15:21 +0000)]
g/c unused (global!) var: oqueues isn't used any more. ALTQ leftover; not
noticed since struct node_queue stayed. ok claudio benno gcc
jsg [Mon, 18 Jul 2016 15:03:01 +0000 (15:03 +0000)]
Add additional i2c and mmc prcm module enum values for devices that
didn't attach previously on OMAP4 with the static device configuration
and now do with the fdt. Like most of the other OMAP4 prcm cases
these don't do anything, hopefully we'll properly configure clocks with
data from the fdt at some point in the future.
Tested by abieber@ on PandaBoard-ES.
tom [Mon, 18 Jul 2016 13:38:11 +0000 (13:38 +0000)]
Don't need a separate flags variable in armv7 pmap_clean_page() -
just use the pv_flags. ('Twas a copy-paste from arm's pmap_clean_page(),
which did need it.)
Also remove even less used flags variable from pmap_page_remove().
First part from a diff from aalm@ - thanks
ok kettenis@ "looks good" patrick@
bluhm [Mon, 18 Jul 2016 13:17:44 +0000 (13:17 +0000)]
Hide pf internals by moving code from in_ouraddr() to pf_ouraddr().
OK mpi@ sashan@
stsp [Mon, 18 Jul 2016 13:10:35 +0000 (13:10 +0000)]
Explicitly set iwm(4) firmware Tx aggregation limit to one (which disables
Tx aggregation), instead of the maximum (63 frames). Tx aggregation should
already be disabled, so this change should be a no-op. It just avoids any
side effects in case the firmware happens to interpret the limit we set here.
ok mpi@
stsp [Mon, 18 Jul 2016 13:09:58 +0000 (13:09 +0000)]
Fix inverted logic in iwm_tx(). The PROT_REQUIRE flag in should be set for
data frames above a certain length, but we were setting it for !data frames
above a certain length, which makes no sense at all. Found while comparing
our driver's Tx code to iwlwifi.
ok mpi@
stsp [Mon, 18 Jul 2016 13:09:08 +0000 (13:09 +0000)]
Make iwm(4) retry Tx of management frames less often. We now retry management
frames the same number of times as Linux iwlwifi does.
patrick [Mon, 18 Jul 2016 11:53:32 +0000 (11:53 +0000)]
Some SoCs have a ranges property set in their device trees. This can
be used to translate one memory address to another. Currently we just
pass the child's memory address to bus space map. If one of the parent
busses implements a ranges property, the child's address property is
not the real address. This change hooks up a bus space map function
that is aware of the ranges property and translates the addresses if
needed.
ok kettenis@
looks fine jsg@
guenther [Mon, 18 Jul 2016 11:48:55 +0000 (11:48 +0000)]
Fix VFLAG formatting
ok bluhm@
markus [Mon, 18 Jul 2016 11:35:33 +0000 (11:35 +0000)]
Reduce timing attack against obsolete CBC modes by always computing
the MAC over a fixed size of data.
Reported by Jean Paul Degabriele, Kenny Paterson, Torben Hansen and
Martin Albrecht. ok djm@
guenther [Mon, 18 Jul 2016 09:37:49 +0000 (09:37 +0000)]
Linking against libkvm is unnecessary here
ok mlarkin@
guenther [Mon, 18 Jul 2016 09:36:50 +0000 (09:36 +0000)]
Add 'p' trace point for KTRFAC_PLEDGE, as noted by
Michal Mazurek <akfaew@jasminek.net>
While here, fix handling of -t+ in ltrace.
bluhm [Mon, 18 Jul 2016 09:09:24 +0000 (09:09 +0000)]
Remote regression tests should not run ssh with -t all the time.
This will make it easier to automate them.
guenther [Mon, 18 Jul 2016 08:43:16 +0000 (08:43 +0000)]
Polish:
- copy #define workaround from mips64 to avoid dangling __CERROR symbol
- remove trap DL_SYSCALL2_NOERR() macro with comment explanation
- make DL_SYSCALL2() self-contained
- add END() and ENTRY() macros to make the symbol table shine
ok miod@
djm [Mon, 18 Jul 2016 06:08:01 +0000 (06:08 +0000)]
Add some unsigned overflow checks for extra_pad. None of these
are reachable with the amount of padding that we use internally.
bz#2566, pointed out by Torben Hansen. ok markus@
guenther [Mon, 18 Jul 2016 04:35:57 +0000 (04:35 +0000)]
Updated advice^Wcode from miod@ for passing &_DYNAMIC to _dl_boot_bind
ok aoyama@
bcook [Mon, 18 Jul 2016 01:04:52 +0000 (01:04 +0000)]
don't mix code and decls, ok tedu@
bcook [Sun, 17 Jul 2016 22:01:01 +0000 (22:01 +0000)]
use memset to initialize the union
bcook [Sun, 17 Jul 2016 21:23:50 +0000 (21:23 +0000)]
remove unused OPENSSL_NO_OBJECT case
ok tedu@
bcook [Sun, 17 Jul 2016 21:21:40 +0000 (21:21 +0000)]
Initialize buffers before use, noted by Kinichiro Inoguchi.
ok beck@
kettenis [Sun, 17 Jul 2016 17:45:14 +0000 (17:45 +0000)]
Attach sunxi(4) based on the compatible property of the root node of the
device tree like we do on omap. Add preliminary support for the sun5i
variant which corresponds to the A13 and A10s SoCs.
ok patrick@
otto [Sun, 17 Jul 2016 17:30:47 +0000 (17:30 +0000)]
getopt(3) can be called twice (once for bc and once for dc), so reinit getopt
ok deraadt@
jmc [Sun, 17 Jul 2016 16:33:17 +0000 (16:33 +0000)]
strip back asn1parse; ok beck jsing
description of -out altered on jsing's advice
stefan [Sun, 17 Jul 2016 11:21:07 +0000 (11:21 +0000)]
Talk about event API instead of libevent
Avoids inconsistent capitalization of libevent at start of sentence
suggested by and ok jmc@, ok bluhm@
djm [Sun, 17 Jul 2016 04:20:16 +0000 (04:20 +0000)]
support UTF-8 characters in ssh(1) banners using schwarze@'s
safe fmprintf printer; bz#2058
feedback schwarze@ ok dtucker@
tb [Sun, 17 Jul 2016 04:15:25 +0000 (04:15 +0000)]
Remove now obsolete parenthetical explanation (should have been part of
previous commit).
tb [Sun, 17 Jul 2016 04:04:46 +0000 (04:04 +0000)]
1. Update manpage in view of the change of behavior I introduced in -r1.27.
The bounds are taken inclusive and -w %d doesn't change the output of
integer random sequences anymore. This is the same behavior as that
of Linux and NetBSD, but differs from FreeBSD and OS X.
Issue reported by Philippe Meunier on misc@.
2 Fix a bug from the same commit observed by Otto: if the precision is 0,
values may be printed out of bounds. Fall back to the old behavior if at
least one bound isn't an integer.
General agreement expressed by otto@, tedu@, jmc@, sobrado@
Help with checking other operating systems by sobrado@.
Manpage ok jmc@.
Bugfix discussed with otto@ on icb
jsg [Sun, 17 Jul 2016 02:45:05 +0000 (02:45 +0000)]
Adapt kettenis' pinctrl changes in imx to sitaracm and
pinctrl-single,pins to handle mux settings and pad configuration.
The fdt data has offsets from the start of the pinmux address range so
the am335x specific pinmux offset from the scm base is added to the
offsets. This as not a new driver as sitaracm does manual table
driven pad configuration for gpio. If all the offsets in the
ti_padconf_devmap table were reduced by the am335x pinmux offset (0x800)
it may make sense to map only the pinmux memory region and not the
scm superset.
looks good kettenis@
jsg [Sun, 17 Jul 2016 00:28:46 +0000 (00:28 +0000)]
use the fdt root node instead of board ids to test for am335x
jsg [Sun, 17 Jul 2016 00:25:21 +0000 (00:25 +0000)]
Set function pointers based on the fdt root node instead of board ids.
ok kettenis@ on an earlier version
jsg [Sun, 17 Jul 2016 00:21:13 +0000 (00:21 +0000)]
Set function pointers based on the fdt root node instead of board ids.
ok kettenis@
millert [Sat, 16 Jul 2016 21:03:26 +0000 (21:03 +0000)]
sync
renato [Sat, 16 Jul 2016 19:24:30 +0000 (19:24 +0000)]
Remove potential overflow when validating message's length.
Also, use uint16_t for msg_type on gen_msg_hdr().
renato [Sat, 16 Jul 2016 19:20:16 +0000 (19:20 +0000)]
Fix parsing of mal-formed optional TLVs/Sub-TLVs.
We must detect if a TLV's length extends beyond the end of the containing
message. And, if so, send a fatal "Bad TLV Length" notification message.
Found with the Mu Dynamics Mu-8000 protocol fuzzer.
jca [Sat, 16 Jul 2016 18:55:55 +0000 (18:55 +0000)]
Fix sockopt name: ICMPV6_FILTER -> ICMP6_FILTER
mlarkin [Sat, 16 Jul 2016 18:36:41 +0000 (18:36 +0000)]
remove an unused parameter that wasn't handled during a previous refactor
(reducing the number of XXXs in vmm)
beck [Sat, 16 Jul 2016 16:14:28 +0000 (16:14 +0000)]
Clean up OCSP_check_validity() a bit more.
- Return on first failure rather than continuing.
- Don't compare times by comparing strings that possibly were not parsable as a time.
ok deraadt@
jca [Sat, 16 Jul 2016 16:10:44 +0000 (16:10 +0000)]
Fix example: long long should be print with %lld
sf [Sat, 16 Jul 2016 12:07:21 +0000 (12:07 +0000)]
Support MSI-X in virtio
This increases performance for interrupt heavy loads.
While suspend/resume support for MSI-X is missing, this is also missing for
virtio. So no new issue there.
Currently, qemu's old "82441FX" pci-bridge is still blacklisted for MSI. But
MSI-X is used if qemu is started with "-M q35".
visa [Sat, 16 Jul 2016 10:41:53 +0000 (10:41 +0000)]
Add $OpenBSD$ / replace $Id$ with $OpenBSD$.
visa [Sat, 16 Jul 2016 10:19:55 +0000 (10:19 +0000)]
Remove octeon_disable_interrupt() and octeon_restore_status().
They are unused and equivalent to disableintr() and setsr().
While here, clean up a few other leftovers.
tom [Sat, 16 Jul 2016 08:53:37 +0000 (08:53 +0000)]
Fix typo in comment in three machdep.c files:
s/names are this level/names at this level/
from aalm@ - thanks
jmc [Sat, 16 Jul 2016 07:27:53 +0000 (07:27 +0000)]
since we no longer pull source directly from openssl, the time is
right to try and trim some of the excess from this page. begin now
by cutting some of the fluff from the start.
the section on pass phrase arguments goes to the end of the page: it;s in
the way for now.
jmc [Sat, 16 Jul 2016 06:57:55 +0000 (06:57 +0000)]
- add proxyjump to the options list
- formatting fixes
- update usage()
ok djm
tom [Sat, 16 Jul 2016 06:41:20 +0000 (06:41 +0000)]
Remove unused function process_frame() from arm_machdep.c
ok jsg@
mlarkin [Sat, 16 Jul 2016 06:32:18 +0000 (06:32 +0000)]
remove unused vmm_activate function. all vmm-specific suspend/resume needs
are handled during cpu hatch.
mlarkin [Sat, 16 Jul 2016 06:20:24 +0000 (06:20 +0000)]
Fix an incorrect shift value when calculating the mask for the VMCS MSR
list storage size. Noticed when attempting to get vmm(4) to nest under
Hyper-V.
mlarkin [Sat, 16 Jul 2016 06:08:52 +0000 (06:08 +0000)]
remove some 12 year old code that was never correct, and never compiled
anyway due to a missing #include.
the code was originally intended to handle i386 SMP EISA machines with an
IOAPIC. Since the code never was compiled, and nobody has noticed or
complained for 12 years, I think things are probably fine.
mlarkin [Sat, 16 Jul 2016 06:04:29 +0000 (06:04 +0000)]
remove some unused #includes
beck [Sat, 16 Jul 2016 04:42:35 +0000 (04:42 +0000)]
Limit the support of the "backward compatible" ssl2 handshake to only be
used if TLS 1.0 is enabled. Sugessted/discussed with jsing@ and bcook@.
ok guenther@ sthen@
tom [Fri, 15 Jul 2016 22:28:25 +0000 (22:28 +0000)]
Remove duplicated line in omap mmc driver, which would cause
clkbase to be set to 0 (if it wasn't all commented out anyway).
ok patrick@
tom [Fri, 15 Jul 2016 22:05:40 +0000 (22:05 +0000)]
Remove duplicate line in amd64/acpi_machdep.c
ok krw@
schwarze [Fri, 15 Jul 2016 19:31:53 +0000 (19:31 +0000)]
To remove the const qualifier from a pointer to an object - either
because we know it is actually mutable or because we are passing
it to a function that doesn't accept a const object but won't
actually attempt to modify it - simply casting from (const type *)
to (type *) is legal C and clearly expresses the intent.
So get rid of the obfuscating UNCONST macro.
Basic idea discussed with guenther@.
tom [Fri, 15 Jul 2016 19:02:30 +0000 (19:02 +0000)]
Remove unused re_nbits from dev/rnd.c
"another leftover of the bean counter"
od tedu@ deraadt@
schwarze [Fri, 15 Jul 2016 18:49:53 +0000 (18:49 +0000)]
Fix previous: the mandocdb() prototype was already there, it just
hid among static functions, as noticed by tedu@ (my bad).
schwarze [Fri, 15 Jul 2016 18:02:32 +0000 (18:02 +0000)]
add missing prototypes, no code change;
noticed by Christos Zoulas with -Wmissing-prototypes
renato [Fri, 15 Jul 2016 17:09:25 +0000 (17:09 +0000)]
Improve logging of reserved labels.
Print "exp-null" and "imp-null" instead of "0" and "3", for example. Also,
remove print_label() and print_pw_type() from ldpctl.c and use the
equivalent functions from ldpd's log.c.
While here, be more paranoid and use UINT32_MAX instead of UINT_MAX
for NO_LABEL.
renato [Fri, 15 Jul 2016 17:05:50 +0000 (17:05 +0000)]
Explicitly ignore the Hop Count and Path Vector TLVs.
Since these are "well known" TLVs, we have to explicitly ignore them
otherwise ldpd would send "Unknown TLV" Notification messages when it
shouldn't.
Fixes regression caused by rev1.51.