openbsd
6 years agoMove privileged initialization from frontend to main process.
florian [Sun, 10 Dec 2017 10:07:54 +0000 (10:07 +0000)]
Move privileged initialization from frontend to main process.
Needed for future work where we will spin up children via
fork - privdrop - exec. Child processes will no longer come
up with root privileges.

6 years ago- add max-count to SYNOPSIS
jmc [Sun, 10 Dec 2017 09:17:24 +0000 (09:17 +0000)]
- add max-count to SYNOPSIS
- list long options with short, where they have an equivalent
- sync usage()
- minor tweaks

6 years agoadd the zte mf831; from christoph r. murauer
jmc [Sun, 10 Dec 2017 07:40:04 +0000 (07:40 +0000)]
add the zte mf831; from christoph r. murauer
while here, a little less capitalisation

6 years agosort -r in the description list, and make its grammar match those
jmc [Sun, 10 Dec 2017 07:34:38 +0000 (07:34 +0000)]
sort -r in the description list, and make its grammar match those
of the other options in this page;

6 years agoPut remote client info back into the ClientAlive connection termination
dtucker [Sun, 10 Dec 2017 05:55:29 +0000 (05:55 +0000)]
Put remote client info back into the ClientAlive connection termination
message.  Based in part on diff from  lars.nooden at gmail, ok djm

6 years agoEnable the phy-supply regulator if present and use the phy id specified
jsg [Sun, 10 Dec 2017 04:21:55 +0000 (04:21 +0000)]
Enable the phy-supply regulator if present and use the phy id specified
in the device tree.

Patch from Artturi Alm who tested on a Miniand Hackberry.

6 years ago-r restricted mode blocks certain operations as ~ operations.
deraadt [Sun, 10 Dec 2017 01:03:46 +0000 (01:03 +0000)]
-r restricted mode blocks certain operations as ~ operations.
from Jan Klemkow
ok nicm

6 years agoAdd support for the non-standard grep -m extension.
pirofti [Sat, 9 Dec 2017 18:38:37 +0000 (18:38 +0000)]
Add support for the non-standard grep -m extension.

grep -m num stops after a maximum of num matches are found.
We support -m0 to match GNU behaviour, but we do not allow negative
numbers.

Manpage help from jmc@, OK deraadt@.

6 years agoMake tls_config_parse_protocols() work correctly when passed a NULL pointer
jsing [Sat, 9 Dec 2017 16:46:08 +0000 (16:46 +0000)]
Make tls_config_parse_protocols() work correctly when passed a NULL pointer
for a protocol string.

Issue found by semarie@, who also provided the diff.

6 years agoAdd a regress test for tls_config_parse_protocols().
jsing [Sat, 9 Dec 2017 16:43:09 +0000 (16:43 +0000)]
Add a regress test for tls_config_parse_protocols().

6 years agoAdd sizes for free() in the AMD PowerNow! K8 driver.
fcambus [Sat, 9 Dec 2017 16:39:54 +0000 (16:39 +0000)]
Add sizes for free() in the AMD PowerNow! K8 driver.

OK deraadt@, sthen@, visa@

6 years agoAdd ACTION_IGNORE and nuke ignored_options, ignored_option_count fields
krw [Sat, 9 Dec 2017 15:48:04 +0000 (15:48 +0000)]
Add ACTION_IGNORE and nuke ignored_options, ignored_option_count fields
in struct client_config.

6 years agoUse a test value that fits into a long on both 32-bit and 64-bit
jsing [Sat, 9 Dec 2017 14:34:09 +0000 (14:34 +0000)]
Use a test value that fits into a long on both 32-bit and 64-bit
architectures, so that the regress passes on both.

6 years agoNo need for the txb_used flag anymore
mikeb [Sat, 9 Dec 2017 14:00:21 +0000 (14:00 +0000)]
No need for the txb_used flag anymore

6 years agoIn the middle of CRYPTO_gcm128_finish() there is a complicated #ifdef
deraadt [Sat, 9 Dec 2017 07:16:51 +0000 (07:16 +0000)]
In the middle of CRYPTO_gcm128_finish() there is a complicated #ifdef
block which defines a variable late, after code.  Place this chunk into
a { subblock } to satisfy old compilers and old eyes.

6 years agoPlease variable decl before code.
deraadt [Sat, 9 Dec 2017 07:09:25 +0000 (07:09 +0000)]
Please variable decl before code.

6 years agoMore precision in pledge sysctl report
deraadt [Sat, 9 Dec 2017 06:50:32 +0000 (06:50 +0000)]
More precision in pledge sysctl report

6 years agorecognize .openbsd.randomdata section and indicate it roughly, so
deraadt [Sat, 9 Dec 2017 06:39:04 +0000 (06:39 +0000)]
recognize .openbsd.randomdata section and indicate it roughly, so
that objects within it are identified as being in read-only space.
ok guenther

6 years agoAdd a #define for the name of the .openbsd.randomdata section.
deraadt [Sat, 9 Dec 2017 06:35:08 +0000 (06:35 +0000)]
Add a #define for the name of the .openbsd.randomdata section.
ok guenther

6 years agoPullup the mbuf before accessing the version field in the IP header.
bluhm [Fri, 8 Dec 2017 22:10:34 +0000 (22:10 +0000)]
Pullup the mbuf before accessing the version field in the IP header.
Fix the pullup length of the shim header in mpls_do_error().
issue reported by Maxime Villard; OK deraadt@ claudio@

6 years agoUse m_freem() in error case. Found by Maxime Villard
claudio [Fri, 8 Dec 2017 21:59:05 +0000 (21:59 +0000)]
Use m_freem() in error case. Found by Maxime Villard
OK bluhm@

6 years agoThe adjttl functions use m_pullup(). In some cases m_pullup() can return
claudio [Fri, 8 Dec 2017 21:56:22 +0000 (21:56 +0000)]
The adjttl functions use m_pullup(). In some cases m_pullup() can return
a new mbuf chain and this chain needs to be returned to the caller else
a use after free may happen.
Issue reported by Maxime Villard
OK bluhm@ deraadt@

6 years agompls_shim_pop() can return NULL. Check it else we end up dereferencing NULL.
claudio [Fri, 8 Dec 2017 21:52:49 +0000 (21:52 +0000)]
mpls_shim_pop() can return NULL. Check it else we end up dereferencing NULL.
Issue reported by Maxime Villard
OK bluhm@ deraadt@

6 years agoAdd support for background scanning to net80211 and iwm(4).
stsp [Fri, 8 Dec 2017 21:16:01 +0000 (21:16 +0000)]
Add support for background scanning to net80211 and iwm(4).

The iwm(4) driver will now roam between access points which share an SSID.
Use 'ifconfig iwm0 debug' and 'tail -f /var/log/messages' to watch it do so.

Tested by several people in various iterations.
As usual, let me know if you run into issues.

ok phessler deraadt

6 years agoThe per-interface mpls flag should also also be tested on input before
deraadt [Fri, 8 Dec 2017 21:08:35 +0000 (21:08 +0000)]
The per-interface mpls flag should also also be tested on input before
proceeding, as described in ifconfig documentation.  Discussion with claudio.
Related to a report from maxime.
ok claudio bluhm

6 years agoMake iwm(4) restore the ic_bss channel after tweaking this channel as part
stsp [Fri, 8 Dec 2017 20:55:46 +0000 (20:55 +0000)]
Make iwm(4) restore the ic_bss channel after tweaking this channel as part
of passing the frame to ieee80211_input(). Fixes a race where auth frames
would be sent on the wrong channel during association.
Problem reported by florian@
ok deraadt@

6 years agoWhen accepting a BOOTP lease, do not leak offered values of lease
krw [Fri, 8 Dec 2017 20:17:28 +0000 (20:17 +0000)]
When accepting a BOOTP lease, do not leak offered values of lease
time, renewal time, rebinding time. Use the ACTION_DEFAULT mechanism
to set the default expiry time for any lease so gauche as to not
provide one. Use the DHCP default lease times for BOOTP leases instead
of, bizarrely, shorter times.

6 years agoMake sure we don't match (and attach) more than the maximum number of
kettenis [Fri, 8 Dec 2017 19:05:33 +0000 (19:05 +0000)]
Make sure we don't match (and attach) more than the maximum number of
supported CPUs.

6 years agoMake the r command filename obligatory, similar to what FreeBSD and NetBSD
martijn [Fri, 8 Dec 2017 18:41:59 +0000 (18:41 +0000)]
Make the r command filename obligatory, similar to what FreeBSD and NetBSD
do for several years.
While here make corresponding error message for missing read and write file
consistent between commands/flag, and shrink the the code of the w flag of
the s command by making it use the same code as the w command.

Prompted by a larger diff by kshe59 <at> zoho <dot> eu
OK millert@

6 years agorepair columns; from kshe59@zohu.eu
deraadt [Fri, 8 Dec 2017 17:51:26 +0000 (17:51 +0000)]
repair columns; from kshe59@zohu.eu

6 years agoAdd missing length checks to make sure we don't dereference a pointer
millert [Fri, 8 Dec 2017 17:26:42 +0000 (17:26 +0000)]
Add missing length checks to make sure we don't dereference a pointer
past the mmap(2)'d buffer.  Otherwise, locate will read a single
byte past the end of the buffer.  This is often harmless, but if
the length of the buffer is an even multiple of the page size,
locate will crash.  OK tb@ espie@ deraadt@

6 years agoConvert snprintf+write into dprintf. It is simply easier to read, and
deraadt [Fri, 8 Dec 2017 17:04:14 +0000 (17:04 +0000)]
Convert snprintf+write into dprintf.  It is simply easier to read, and
provides retry on short-write file descriptors.
ok florian, previous versions seen by millert

6 years agoremove description of 'at' field which was removed from vmstat.c -r1.21
jasper [Fri, 8 Dec 2017 09:45:05 +0000 (09:45 +0000)]
remove description of 'at' field which was removed from vmstat.c -r1.21

6 years agoDisable SMAP temporarily to display userland traces.
mpi [Fri, 8 Dec 2017 08:54:03 +0000 (08:54 +0000)]
Disable SMAP temporarily to display userland traces.

ok visa@, deraadt@, mlarkin@, jasper@

6 years agoalso cleanout ld.so.a
deraadt [Fri, 8 Dec 2017 05:30:16 +0000 (05:30 +0000)]
also cleanout ld.so.a

6 years agoEveryone knows this as ld.so, nor by the ancient name rtld.
deraadt [Fri, 8 Dec 2017 05:25:20 +0000 (05:25 +0000)]
Everyone knows this as ld.so, nor by the ancient name rtld.
ok guenther

6 years agotime_t printing needs %lld and (long long) casts
deraadt [Fri, 8 Dec 2017 03:45:52 +0000 (03:45 +0000)]
time_t printing needs %lld and (long long) casts
ok djm

6 years agofix ordering in previous to ensure errno isn't clobbered before
djm [Fri, 8 Dec 2017 02:14:33 +0000 (02:14 +0000)]
fix ordering in previous to ensure errno isn't clobbered before
logging.

6 years agofor some reason unix_listener() logged most errors twice with each
djm [Fri, 8 Dec 2017 02:13:02 +0000 (02:13 +0000)]
for some reason unix_listener() logged most errors twice with each
message containing only some of the useful information; merge these

6 years agoFix the return value of fwscanf(3) when encountering an early matching
kevlo [Fri, 8 Dec 2017 01:03:51 +0000 (01:03 +0000)]
Fix the return value of fwscanf(3) when encountering an early matching
failure.  This change brings fwscanf(3) back in line with fscanf(3).

From FreeBSD; ok deraadt@, millert@

6 years agoChange the SA payload parser to parse more than the first proposal. This
patrick [Thu, 7 Dec 2017 22:47:28 +0000 (22:47 +0000)]
Change the SA payload parser to parse more than the first proposal.  This
allows us to select one of the peer's proposals (and not only the first).

ok sthen@ hshoexer@

6 years agoadjust the "timeout" text, now that leases are no longer
jmc [Thu, 7 Dec 2017 21:47:22 +0000 (21:47 +0000)]
adjust the "timeout" text, now that leases are no longer
specified in dhclient.conf;

ok krw

6 years agocorrect indentation
deraadt [Thu, 7 Dec 2017 20:38:15 +0000 (20:38 +0000)]
correct indentation

6 years agoSet ifi->offer to NULL after free'ing it.
krw [Thu, 7 Dec 2017 19:17:13 +0000 (19:17 +0000)]
Set ifi->offer to NULL after free'ing it.

6 years agoNuke support for defining last-gasp leases in dhclient.conf.
krw [Thu, 7 Dec 2017 19:03:15 +0000 (19:03 +0000)]
Nuke support for defining last-gasp leases in dhclient.conf.

6 years agoInitialize tcp_secret in tcp_init
mikeb [Thu, 7 Dec 2017 16:52:21 +0000 (16:52 +0000)]
Initialize tcp_secret in tcp_init

The initialization of a secret SHA256 context for generating TCP
initial sequence numbers is moved out of tcp_set_iss_tsm used to
set up ISN for new connections and into tcp_init, sparing the
need for a global flag.

OK deraadt, visa, mpi

6 years ago* clean up macro usage: use .Ar for command arguments, .Cm for fixed
schwarze [Thu, 7 Dec 2017 15:43:03 +0000 (15:43 +0000)]
* clean up macro usage: use .Ar for command arguments, .Cm for fixed
strings to be used in commands, and .Li for example strings
* clarify what uses the two environment variables, and that only these
two are ignored for issetugid(2) programs
triggered by a question from Jan Stary <hans at stare dot cz>
feedback and OK ratchov@

6 years agoIn iwm(4), keep scanning if net80211 asks for a SCAN->SCAN transition
stsp [Thu, 7 Dec 2017 14:13:05 +0000 (14:13 +0000)]
In iwm(4), keep scanning if net80211 asks for a SCAN->SCAN transition
and the firmware is no longer busy scanning.

Fixes 'ifconfig iwm0 scan' returning no results after resume far away
from the currently configured AP.

ok phessler@

6 years agoMake iwm_newstate() recover from state transition errors.
stsp [Thu, 7 Dec 2017 14:12:39 +0000 (14:12 +0000)]
Make iwm_newstate() recover from state transition errors.

On error, we now schedule the init task which will whack the interface when
it gets to run, which prevents the driver from stalling in such situations.

ok phessler@

6 years agoSet the correct ENCAPSULATION_MODE when doing NAT-T.
mpi [Thu, 7 Dec 2017 11:44:02 +0000 (11:44 +0000)]
Set the correct ENCAPSULATION_MODE when doing NAT-T.

Fix at least interoperability with Cisco when isakmpd(8) is initiating
the connections, originally reported by sebastia@ in 2014.

Refreshed diff from and ok hshoexer@, ok sthen@, ok remi@

6 years agoMake the command formatting more consistent.
martijn [Thu, 7 Dec 2017 09:52:26 +0000 (09:52 +0000)]
Make the command formatting more consistent.
s/with/width type-O fix while here.

From kshe59 <at> zoho <dot> eu
OK jmc@

6 years agozap a few stray backslashes from the time thesse two were #defines; from
otto [Thu, 7 Dec 2017 06:34:05 +0000 (06:34 +0000)]
zap a few stray backslashes from the time thesse two were #defines; from
Ilya Kaliman

6 years agoNow that we have RB_NFIND, the canacar's trick with RB_INSERT+RB_NEXT
zhuk [Thu, 7 Dec 2017 05:21:57 +0000 (05:21 +0000)]
Now that we have RB_NFIND, the canacar's trick with RB_INSERT+RB_NEXT
is not needed anymore.

okay jmatthew@

6 years agoclient_addr_init() never fails and its return value is never checked,
zhuk [Thu, 7 Dec 2017 05:09:27 +0000 (05:09 +0000)]
client_addr_init() never fails and its return value is never checked,
so just make it void.

okay jmatthew@

6 years agoFix a potential fd leak in client_aldap_open().
zhuk [Thu, 7 Dec 2017 05:06:08 +0000 (05:06 +0000)]
Fix a potential fd leak in client_aldap_open().

okay jmatthew@

6 years agoLet it compile again.
krw [Thu, 7 Dec 2017 02:08:44 +0000 (02:08 +0000)]
Let it compile again.

6 years agoreorder some port numbers, no functional change.
mlarkin [Thu, 7 Dec 2017 01:54:39 +0000 (01:54 +0000)]
reorder some port numbers, no functional change.

6 years agoDrop the unused second argument from set_prompt(). It used to be used for
tb [Thu, 7 Dec 2017 01:54:33 +0000 (01:54 +0000)]
Drop the unused second argument from set_prompt(). It used to be used for
early special casing of ! and !! in the PS1 expansion. This was removed
from set_prompt() as part of the implementaion of the character count
toggles \[ and \] back in 2004.

ok jca

6 years agobe consistent in where we call fflush
espie [Wed, 6 Dec 2017 17:15:43 +0000 (17:15 +0000)]
be consistent in where we call fflush

okay millert@

6 years agoUpdate inaccurate comment: i386_has_xcrypt => amd64_has_xcrypt.
fcambus [Wed, 6 Dec 2017 16:26:12 +0000 (16:26 +0000)]
Update inaccurate comment: i386_has_xcrypt => amd64_has_xcrypt.

6 years agoImplement support for using interrupt cookies in vbus(4) and vpci(4) as
kettenis [Wed, 6 Dec 2017 16:20:53 +0000 (16:20 +0000)]
Implement support for using interrupt cookies in vbus(4) and vpci(4) as
introduced in version 3.0 of the Interrupt APIs group.  This makes it possible
boot OpenBSD on SPARC T7/M7 hardware (although there still may be issues with
the onboard mpii(4) controller).

6 years agoDisentangle dhclient.conf static lease handling from dynamic
krw [Wed, 6 Dec 2017 13:57:27 +0000 (13:57 +0000)]
Disentangle dhclient.conf static lease handling from dynamic
lease handling. Simplifies code and makes it easier to
consider excising this 'feature'.

6 years agostrdup -> bstrdup; from Michael W. Bombardieri
otto [Wed, 6 Dec 2017 13:48:05 +0000 (13:48 +0000)]
strdup -> bstrdup; from Michael W. Bombardieri

6 years agoMake vmd respect owner when starting non-disabled vms.
abieber [Wed, 6 Dec 2017 13:29:02 +0000 (13:29 +0000)]
Make vmd respect owner when starting non-disabled vms.

OK pd@, benno@

6 years agoIt's the imsg_compose(3) who accepts 'fd' argument, not imsg_create(3).
zhuk [Wed, 6 Dec 2017 12:07:08 +0000 (12:07 +0000)]
It's the imsg_compose(3) who accepts 'fd' argument, not imsg_create(3).

6 years agodon't accept junk after "yes" or "no" responses to hostkey prompts.
djm [Wed, 6 Dec 2017 05:06:21 +0000 (05:06 +0000)]
don't accept junk after "yes" or "no" responses to hostkey prompts.
bz#2803 reported by Maksim Derbasov; ok dtucker@

6 years agoReplace atoi and strtol conversions for integer arguments to config
dtucker [Tue, 5 Dec 2017 23:59:47 +0000 (23:59 +0000)]
Replace atoi and strtol conversions for integer arguments to config
keywords with a checking wrapper around strtonum.  This will prevent
and flag invalid and negative arguments to these keywords.  ok djm@

6 years agoAdd missing break for rdomain. Prevents spurious "Deprecated option"
dtucker [Tue, 5 Dec 2017 23:56:07 +0000 (23:56 +0000)]
Add missing break for rdomain.  Prevents spurious "Deprecated option"
warnings.  ok djm@

6 years agoregen
kettenis [Tue, 5 Dec 2017 22:27:54 +0000 (22:27 +0000)]
regen

6 years agoAdd SPARC-M7 PCIe; rename existing SPARC PCIe entries.
kettenis [Tue, 5 Dec 2017 22:26:31 +0000 (22:26 +0000)]
Add SPARC-M7 PCIe; rename existing SPARC PCIe entries.

6 years agoRemove DEF_STRONG(__cxa_thread_atexit_impl). This produces an unwanted
kettenis [Tue, 5 Dec 2017 21:11:10 +0000 (21:11 +0000)]
Remove DEF_STRONG(__cxa_thread_atexit_impl).  This produces an unwanted
_libc___cxa_thread_atexit_impl reference on gcc architectures that breaks
the build.

6 years agoHandle 64-bit-address Memory Space.
kettenis [Tue, 5 Dec 2017 21:04:32 +0000 (21:04 +0000)]
Handle 64-bit-address Memory Space.

6 years agoUse clock_gettime(CLOCK_MONOTONIC) to schedule timers
jca [Tue, 5 Dec 2017 20:31:45 +0000 (20:31 +0000)]
Use clock_gettime(CLOCK_MONOTONIC) to schedule timers

From Scott Cheloha, ok tb@

6 years agoadd missing blank before punctuation;
jmc [Tue, 5 Dec 2017 19:40:16 +0000 (19:40 +0000)]
add missing blank before punctuation;

6 years agosync
deraadt [Tue, 5 Dec 2017 18:36:02 +0000 (18:36 +0000)]
sync

6 years agodocument PORTS_PRIVSEP now that it's nearing completion
espie [Tue, 5 Dec 2017 17:58:10 +0000 (17:58 +0000)]
document PORTS_PRIVSEP now that it's nearing completion

6 years agoFix a case where we could go off the end of the buffer.
millert [Tue, 5 Dec 2017 17:47:09 +0000 (17:47 +0000)]
Fix a case where we could go off the end of the buffer.
Crash found by Sergey Bronnikov using afl-fuzz.
Based on a diff from and OK by espie@

6 years agoShow board ID and revision in dmesg to ease the identification
visa [Tue, 5 Dec 2017 15:39:26 +0000 (15:39 +0000)]
Show board ID and revision in dmesg to ease the identification
of system model. The early boot code already prints them, but
that output is not buffered and tends to be left out from
dmesg submissions.

6 years agoDrop cn30xxpow_intr_establish(), cn30xxpow_intr() and some other
visa [Tue, 5 Dec 2017 15:26:47 +0000 (15:26 +0000)]
Drop cn30xxpow_intr_establish(), cn30xxpow_intr() and some other
unused code. POW interrupts are now handled in if_cnmac.c.

6 years agoSeperate real and user timer interfaces
jca [Tue, 5 Dec 2017 15:02:06 +0000 (15:02 +0000)]
Seperate real and user timer interfaces

Use more descriptive names, and make it clearer that real and user
timers work on different static storage.  The end goal is to be able to
reuse those timer functions, instead of inlining other timer
implementations subject to clock jumps.

Discussed with Scott Cheloha

6 years agoWhen removing duplicate dynamic leases from the cache, compare the
krw [Tue, 5 Dec 2017 14:57:14 +0000 (14:57 +0000)]
When removing duplicate dynamic leases from the cache, compare the
SSID against ifi->ssid, not the SSID of the new lease. They
should be the same, but this makes the intent clearer and removes
an assumption about the contents of ifi->active.

6 years agostrip_comments is also called for dot lines, so sometimes the comment
espie [Tue, 5 Dec 2017 14:35:12 +0000 (14:35 +0000)]
strip_comments is also called for dot lines, so sometimes the comment
is all the line.

problem reported by Sergey Bronnikov

6 years agouse a global BN_CTX; from kshe with a twist from myself
otto [Tue, 5 Dec 2017 14:05:22 +0000 (14:05 +0000)]
use a global BN_CTX; from kshe with a twist from myself

6 years agoImplement __cxa_thread_atexit to support C++11 thread_local scope. The
kettenis [Tue, 5 Dec 2017 13:45:31 +0000 (13:45 +0000)]
Implement __cxa_thread_atexit to support C++11 thread_local scope.  The
interface is also made available as __cxa_thread_atexit_impl to satisfy the
needs of GNU libstdc++.

ok guenther@, millert@

6 years agoWhen sending out a proposal we create an SA/SPI for the Child SAs if we
patrick [Tue, 5 Dec 2017 09:06:53 +0000 (09:06 +0000)]
When sending out a proposal we create an SA/SPI for the Child SAs if we
are an initiator and store the information on the proposal, because we
only had one proposal so far.  This changes the code to only create one
SA on the first proposal and then apply the SPI to all other proposals
as well.

ok markus@

6 years agoadjust for warning: warning repairs
deraadt [Tue, 5 Dec 2017 06:05:39 +0000 (06:05 +0000)]
adjust for warning: warning repairs

6 years agoinclude the addr:port in bind/listen failure messages
djm [Tue, 5 Dec 2017 01:30:19 +0000 (01:30 +0000)]
include the addr:port in bind/listen failure messages

6 years agoSadly the firmware on SPARC T7 machines omits the executable bit on mappings
kettenis [Mon, 4 Dec 2017 22:06:21 +0000 (22:06 +0000)]
Sadly the firmware on SPARC T7 machines omits the executable bit on mappings
that contain code, just like some sun4u machines.  So add it for sun4v as
well when entering the mappings into the kernel pmap.

6 years agoUse _kernel_lock_held() instead of __mp_lock_held(&kernel_lock).
mpi [Mon, 4 Dec 2017 21:12:41 +0000 (21:12 +0000)]
Use _kernel_lock_held() instead of __mp_lock_held(&kernel_lock).

Missed in previous, found by deraadt@, ok visa@

6 years agoRemove duplicate check that never could execute because the exact same
patrick [Mon, 4 Dec 2017 17:22:39 +0000 (17:22 +0000)]
Remove duplicate check that never could execute because the exact same
condition is handled a line before.

6 years agoConsistently log "malformed payload" instead of "payload malformed", and
patrick [Mon, 4 Dec 2017 17:03:43 +0000 (17:03 +0000)]
Consistently log "malformed payload" instead of "payload malformed", and
replace "minimal" with "minimum".

6 years agoRemove check that is now a duplicate due to recent refactoring.
patrick [Mon, 4 Dec 2017 16:57:40 +0000 (16:57 +0000)]
Remove check that is now a duplicate due to recent refactoring.

6 years agoThe payloads are layered like onions, so you can validate one layer and
patrick [Mon, 4 Dec 2017 16:52:16 +0000 (16:52 +0000)]
The payloads are layered like onions, so you can validate one layer and
then call the next one, which can then validate itself.  Thing is, most
layers try to run validations on the upper layer, which is not useful
and rather confusing.  This cleans it up.

First change is that the generic payload parser does not anymore pass
the length of the whole datagram, including all remaining payloads, but
passes only the length of the specific payload to the specific payload
parser.  Second change is that the payload validators don't check the
length of the upper layer, but only verify their own lengths.

Diff discussed with hshoexer@ and sthen@
Tested by sthen@

6 years agoRFC 4861 requires that all neighbor discovery packets have 255 in
bluhm [Mon, 4 Dec 2017 15:13:12 +0000 (15:13 +0000)]
RFC 4861 requires that all neighbor discovery packets have 255 in
their IPv6 header hop limit field.  Let pf drop neighbor solicitation,
neighbor advertisement, router solicitation, router advertisement,
and redirect ICMP6 packets that do not comply.  This enforces that
bogus packets cannot be routed when pf is enabled.
OK mpi@ sashan@ benno@

6 years agochange "if (lp &&" to "if lp != NULL &&".
tb [Mon, 4 Dec 2017 15:00:03 +0000 (15:00 +0000)]
change "if (lp &&" to "if lp != NULL &&".

pointed out by krw

6 years agoadd the alps touchpad that can be found in the ideapad 710s
robert [Mon, 4 Dec 2017 14:56:47 +0000 (14:56 +0000)]
add the alps touchpad that can be found in the ideapad 710s

ok mpi@

6 years agoAvoid a NULL-deref in get_recorded_lease() leading to a segfault seen
tb [Mon, 4 Dec 2017 14:56:07 +0000 (14:56 +0000)]
Avoid a NULL-deref in get_recorded_lease() leading to a segfault seen
by aja and others.

ok krw

6 years agoInitialize variable, otherwise the pointer might contain stack garbage.
patrick [Mon, 4 Dec 2017 14:35:03 +0000 (14:35 +0000)]
Initialize variable, otherwise the pointer might contain stack garbage.

6 years agoMake divert lookup similar for all socket types. If PF_TAG_DIVERTED
bluhm [Mon, 4 Dec 2017 13:40:34 +0000 (13:40 +0000)]
Make divert lookup similar for all socket types.  If PF_TAG_DIVERTED
is set, pf_find_divert() cannot fail so put an assert there.
Explicitly check all possible divert types, panic in the default
case.  For raw sockets call pf_find_divert() before of the socket
loop.  Divert reply should not match on TCP or UDP listen sockets.
OK sashan@ visa@

6 years agoChange __mp_lock_held() to work with an arbitrary CPU info structure and
mpi [Mon, 4 Dec 2017 09:51:03 +0000 (09:51 +0000)]
Change __mp_lock_held() to work with an arbitrary CPU info structure and
extend ddb(4) "ps /o" output to print which CPU is currently holding the
KERNEL_LOCK().

Tested by dhill@, ok visa@