openbsd
6 years agozap whitespaces
mestre [Thu, 26 Jul 2018 19:33:20 +0000 (19:33 +0000)]
zap whitespaces

6 years agoreduce pledge(2) to the bare minimum:
mestre [Thu, 26 Jul 2018 19:32:52 +0000 (19:32 +0000)]
reduce pledge(2) to the bare minimum:
after dbopen(3) occurs then all operations are on fds which don't need
rpath/wpath and therefore spamdb(8) only needs stdio at all times after the DB
was already open(2)ed

great input from semarie@ OK deraadt@

6 years agosync
deraadt [Thu, 26 Jul 2018 14:49:35 +0000 (14:49 +0000)]
sync

6 years agoadd pledge(2) to quot(8):
mestre [Thu, 26 Jul 2018 13:37:40 +0000 (13:37 +0000)]
add pledge(2) to quot(8):
- rpath to traverse the filesystem(s)
- getpw to figure out who owns what

OK tb@ deraadt@

6 years agoAdd infrastructure to install lld as the default linker. The old GNU linker
kettenis [Thu, 26 Jul 2018 13:20:53 +0000 (13:20 +0000)]
Add infrastructure to install lld as the default linker.  The old GNU linker
will be installed as /usr/bin/ld.bfd on supported systems.  This allows
users to fall back on the old linker by using the -fuse-ld=bfd option on
systems where lld is the default linker.

Switch armv7 to use lld as the default linker.  On arm64 we already use lld
as the default linker.  Other platforms will keep using the GNU linker for
now.

ok patrick@, deraadt@, phessler@

6 years agoMention some missing libevent macros.
rob [Thu, 26 Jul 2018 12:50:04 +0000 (12:50 +0000)]
Mention some missing libevent macros.

ok jmc@, benno@, "yes" deraadt@

6 years agoAdd imxspi(4), a driver for the i.MX SPI controller. This is the first
patrick [Thu, 26 Jul 2018 10:59:07 +0000 (10:59 +0000)]
Add imxspi(4), a driver for the i.MX SPI controller.  This is the first
SPI controller in our tree.  Add a basic generic SPI infrastructure as
well.

ok kettenis@

6 years agoImplement calculating the SPI controller frequency in imxccm(4).
patrick [Thu, 26 Jul 2018 10:55:26 +0000 (10:55 +0000)]
Implement calculating the SPI controller frequency in imxccm(4).

ok kettenis@

6 years agoRemove CPUID insn_length check
job [Thu, 26 Jul 2018 10:05:02 +0000 (10:05 +0000)]
Remove CPUID insn_length check

Don't allow unprivileged users to crash things from ring 3

Thanks to William McCall for the patch!

OK mlarkin@

6 years agotweak previous; ok espie
jmc [Thu, 26 Jul 2018 06:49:08 +0000 (06:49 +0000)]
tweak previous; ok espie

6 years agodon't dump status iocbs twice
jmatthew [Thu, 26 Jul 2018 04:56:57 +0000 (04:56 +0000)]
don't dump status iocbs twice

6 years agoremove "bad startup mboxes" printf - it never indicates a real problem,
jmatthew [Thu, 26 Jul 2018 04:26:30 +0000 (04:26 +0000)]
remove "bad startup mboxes" printf - it never indicates a real problem,
and it always happens on 25xx controllers.

6 years agoImplement a MSGBUF control packet mechanism based on the command
patrick [Wed, 25 Jul 2018 20:47:45 +0000 (20:47 +0000)]
Implement a MSGBUF control packet mechanism based on the command
request ids.  So far we were only able to have one command in flight
at a time and race conditions could easily lead to unexpected
behaviour.  With this rework we send and enqueue a control packet
command and wait for replies to happen.  Thus we can have multiple
control packets in flight and a reply with the correct id will wake
us up.

6 years agoOn authentication we don't need to create the node before calling
patrick [Wed, 25 Jul 2018 20:37:11 +0000 (20:37 +0000)]
On authentication we don't need to create the node before calling
the network stack since the stack will create the node for us if we
pass the ibss stack.  On assocation request the node already has to
exist, so we error out if we don't have a record of the node.  Fixes
hostap on 5 GHz channels, since now the node's channel is recorded
correctly.

6 years agoProvide a harness that runs test vectors from Project Wycheproof against
jsing [Wed, 25 Jul 2018 18:04:09 +0000 (18:04 +0000)]
Provide a harness that runs test vectors from Project Wycheproof against
libcrypto. Initially this just covers RSA signatures, but can be extended
to cover other cryptographic algorithms.

This regress requires the go and wycheproof-testvector packages to be
installed, with the regress being skipped otherwise.

Discussed with beck@ and tb@

6 years agoDocument the spinning time of the CPU in systat(1) and top(1).
bluhm [Wed, 25 Jul 2018 17:24:14 +0000 (17:24 +0000)]
Document the spinning time of the CPU in systat(1) and top(1).
from Marcus MERIGHI; OK deraadt@ jmc@

6 years agoDon't redefine Makefile choices which come correct from bsd.*.mk
deraadt [Wed, 25 Jul 2018 17:12:35 +0000 (17:12 +0000)]
Don't redefine Makefile choices which come correct from bsd.*.mk
ok markus

6 years agoImplement a generic interface to forward resolver queries to the lka
eric [Wed, 25 Jul 2018 16:00:48 +0000 (16:00 +0000)]
Implement a generic interface to forward resolver queries to the lka
process.  Use it for the reverse lookups required by smtp and mta.

Until now, DNS-related lookups were implemented using ad-hoc IMSGs
between the lka and other processes. It turns out to be confusing and
difficult to maintain/extend.  So we want to replace this with a better
set of IMSGs matching the standard resolver interface.

ok gilles@

6 years agoqmail advertizes a size of 0 as "no limit on data", fix SIZE handling in
gilles [Wed, 25 Jul 2018 15:24:26 +0000 (15:24 +0000)]
qmail advertizes a size of 0 as "no limit on data", fix SIZE handling in
mta_session.c

spotted by deraadt@ and benno@

6 years agoFree operand copies after parsing.
cheloha [Wed, 25 Jul 2018 15:09:48 +0000 (15:09 +0000)]
Free operand copies after parsing.

We strdup operands before destructively parsing them to keep w(1) output
looking nice and neat, but after parsing we ought to free them.

We do need to keep copies for file paths, though, so add additional strdups
for operands if and of.

While here, use the preferred err(1, NULL) for an allocation failure.  Also
while here, don't assign `oper' to a copy of itself because it looks strange.

"sure." deraadt

6 years agofix indent; Clemens Goessnitzer
deraadt [Wed, 25 Jul 2018 13:56:23 +0000 (13:56 +0000)]
fix indent; Clemens Goessnitzer

6 years agosync
deraadt [Wed, 25 Jul 2018 13:19:28 +0000 (13:19 +0000)]
sync

6 years agoUse the caller provided (copied) pwent struct in load_public_identity_files
beck [Wed, 25 Jul 2018 13:10:56 +0000 (13:10 +0000)]
Use the caller provided (copied) pwent struct in load_public_identity_files
instead of calling getpwuid() again and discarding the argument.
This prevents a client crash where tilde_expand_filename calls getpwuid()
again before the pwent pointer is used.
Issue noticed and reported by Pierre-Olivier Martel <pom@apple.com>
ok djm@ deraadt@

6 years agodocument -e
espie [Wed, 25 Jul 2018 12:44:55 +0000 (12:44 +0000)]
document -e

6 years agodelivery to a filename should be in mbox format otherwise it will lack the
gilles [Wed, 25 Jul 2018 10:19:28 +0000 (10:19 +0000)]
delivery to a filename should be in mbox format otherwise it will lack the
^From separator and corrupt files

ok eric@

6 years agos/resolver/nameserver/ to match parse.y -r1.4
jasper [Wed, 25 Jul 2018 05:11:49 +0000 (05:11 +0000)]
s/resolver/nameserver/ to match parse.y -r1.4

6 years agoFix the prefix length of the IP address in the error message which shows
yasuoka [Wed, 25 Jul 2018 02:18:36 +0000 (02:18 +0000)]
Fix the prefix length of the IP address in the error message which shows
failure of assigning requested IP address on IPCP, it was mistakenly "-1"
on little endians.  Found by IIJ.

6 years agoAdd support for the i2c controller on the Marvell ARMADA 7K/8K SoC as well.
kettenis [Tue, 24 Jul 2018 21:53:46 +0000 (21:53 +0000)]
Add support for the i2c controller on the Marvell ARMADA 7K/8K SoC as well.

ok patrick@

6 years agoAdd clock needed to support the i2c controllers on the Marvell ARMADA 7K/8K.
kettenis [Tue, 24 Jul 2018 21:52:38 +0000 (21:52 +0000)]
Add clock needed to support the i2c controllers on the Marvell ARMADA 7K/8K.

ok patrick@

6 years agoregen
kettenis [Tue, 24 Jul 2018 21:17:25 +0000 (21:17 +0000)]
regen

6 years agoAdd SanDisk/WD Black NVMe devices.
kettenis [Tue, 24 Jul 2018 21:16:59 +0000 (21:16 +0000)]
Add SanDisk/WD Black NVMe devices.

From Bryan Vyhmeister

6 years agosync
deraadt [Tue, 24 Jul 2018 18:23:48 +0000 (18:23 +0000)]
sync

6 years agoadd rad.conf example
jasper [Tue, 24 Jul 2018 18:15:30 +0000 (18:15 +0000)]
add rad.conf example

ok florian@

6 years agoDo the same for i386 as amd64:
brynet [Tue, 24 Jul 2018 17:31:23 +0000 (17:31 +0000)]
Do the same for i386 as amd64:

Add "Mitigation G-2" per AMD's Whitepaper "Software Techniques for
Managing Speculation on AMD Processors"

By setting MSR C001_1029[1]=1, LFENCE becomes a dispatch serializing
instruction.

ok deraadt@

6 years agoThe I2C controller on the Allwinner hardware is actually a modified
patrick [Tue, 24 Jul 2018 16:11:33 +0000 (16:11 +0000)]
The I2C controller on the Allwinner hardware is actually a modified
Marvell controller.  The difference is essentially register offsets
and a clock divider calculation based on a power of two.  Also this
particular hardware needs a delay after sending a stop and before
reading the status register since apparently the data doesn't
propagate fast enough.  This makes sxitwi(4) work on the Marvell
Armada 38x.

ok kettenis@

6 years agoAdd support fotr the BCM4335/4339 SDIO chip to bwfm(4). This one is a bit
kettenis [Tue, 24 Jul 2018 15:45:52 +0000 (15:45 +0000)]
Add support fotr the BCM4335/4339 SDIO chip to bwfm(4).  This one is a bit
slow booting up, so give it a bit longer to enable the clock.

ok patrick@

6 years agoFix previous commit: the RSB refill bits change %rcx so it needed to be
guenther [Tue, 24 Jul 2018 14:49:44 +0000 (14:49 +0000)]
Fix previous commit: the RSB refill bits change %rcx so it needed to be
given an input/output ASM constraint...but I made it output-only, so the
compiler deleted the initialization.

reported by many, starting with Edd Barrett (edd(at)theunixzoo.co.uk)

6 years agoAdd some debug log messages telling which RIBs and peers get sofreconfigured
claudio [Tue, 24 Jul 2018 12:58:37 +0000 (12:58 +0000)]
Add some debug log messages telling which RIBs and peers get sofreconfigured
during reload.
OK henning@

6 years agoadd c++ symbol annotations
bcook [Tue, 24 Jul 2018 10:47:19 +0000 (10:47 +0000)]
add c++ symbol annotations

from Cameron Palmer

6 years agoUse prefix_nexthop() to access the nexthop instead of dereferencing the
claudio [Tue, 24 Jul 2018 10:10:58 +0000 (10:10 +0000)]
Use prefix_nexthop() to access the nexthop instead of dereferencing the
field in asp directly. This is a step to move the prefix from rde_aspath
to struct prefix.
OK benno@

6 years agoMove duplicate code into new helper print_addr_str()
kn [Tue, 24 Jul 2018 09:48:04 +0000 (09:48 +0000)]
Move duplicate code into new helper print_addr_str()

This simply puts the wiggle around inet_ntop() from four into one location.

OK benno

6 years agoSimplify getaddrinfo() error handling
kn [Tue, 24 Jul 2018 09:38:21 +0000 (09:38 +0000)]
Simplify getaddrinfo() error handling

`error' is not used so drop it and jump to the end.

OK sashan

6 years agoFix address calculation for _DYNAMIC. We want to address of _DYNAMIC itself,
kettenis [Tue, 24 Jul 2018 09:27:44 +0000 (09:27 +0000)]
Fix address calculation for _DYNAMIC.  We want to address of _DYNAMIC itself,
not the address of its GOT entry.  The current code mixed the high bits of
the GOT entry address with the low bits of the true address.  This only
worked by accident for small binaries where _DYNAMIC and its GOT entry
happen to reside on the same page.

ok guenther@, mortimer@

6 years agoWhen a GRE packet goes to "decline", the mbuf pointer was not updated
yasuoka [Tue, 24 Jul 2018 07:40:35 +0000 (07:40 +0000)]
When a GRE packet goes to "decline", the mbuf pointer was not updated
properly.  This had caused an panic when the mbuf pointer is updated.
Found by IIJ.

ok dlg

6 years agoAlso do RSB refilling when context switching, after vmexits, and
guenther [Tue, 24 Jul 2018 02:42:25 +0000 (02:42 +0000)]
Also do RSB refilling when context switching, after vmexits, and
when vmlaunch or vmresume fails.

Follow the lead of clang and the intel recommendation and do an lfence
after the pause in the speculation-stop path for retpoline, RSB refill,
and meltover ASM bits.

ok kettenis@ deraadt@

6 years agoUse the same order in NAME, SYNOPSIS, DESCRIPTION, and RETURN VALUES to
tb [Tue, 24 Jul 2018 02:01:34 +0000 (02:01 +0000)]
Use the same order in NAME, SYNOPSIS, DESCRIPTION, and RETURN VALUES to
improve readability and ease of maintenance.

Positive feedback jmc
Detailed suggestion & ok schwarze

6 years agoRemove defunct prototype leftover from previous code cleanup.
rob [Tue, 24 Jul 2018 01:31:20 +0000 (01:31 +0000)]
Remove defunct prototype leftover from previous code cleanup.

ok tb@, claudio@

6 years agoAdd "Mitigation G-2" per AMD's Whitepaper "Software Techniques for
brynet [Mon, 23 Jul 2018 23:25:02 +0000 (23:25 +0000)]
Add "Mitigation G-2" per AMD's Whitepaper "Software Techniques for
Managing Speculation on AMD Processors"

By setting MSR C001_1029[1]=1, LFENCE becomes a dispatch serializing
instruction.

Tested on AMD FX-4100 "Bulldozer", and Linux guest in SVM vmd(8)

ok deraadt@ mlarkin@

6 years agoDon't cast malloc(3) size to u_int.
cheloha [Mon, 23 Jul 2018 23:09:37 +0000 (23:09 +0000)]
Don't cast malloc(3) size to u_int.

Large buffer sizes on 64-bit platforms cause the sum to wrap, leading
read(2) to fail later.

We check prior to this point that all buffer sizes are <= SSIZE_MAX.
SSIZE_MAX * 2 < SIZE_MAX on all platforms, so the addition here will
not overflow and cause a similar issue.

Discovered by tobias@ a while back.

ok deraadt millert tobias

6 years agoRemove more redundant element selectors where the class selector
schwarze [Mon, 23 Jul 2018 22:51:24 +0000 (22:51 +0000)]
Remove more redundant element selectors where the class selector
is already sufficient.  John Gardner tells me that "CSS selectors
should only contain what's necessary to target their subjects".

6 years agoreplace the last instances of ex units by em;
schwarze [Mon, 23 Jul 2018 22:33:54 +0000 (22:33 +0000)]
replace the last instances of ex units by em;
recommended by John Gardner <gardnerjohng at gmail dot com>

6 years agoCoverity CID 1470233 complainst that the m != NULL check in
bluhm [Mon, 23 Jul 2018 21:14:00 +0000 (21:14 +0000)]
Coverity CID 1470233 complainst that the m != NULL check in
syn_cache_get() is not neccessary.  Also make the abort label
consistent to resetandabort and free the mbuf there.
OK mpi@

6 years agooops, failed to notice that SEE ALSO got messed up;
jmc [Mon, 23 Jul 2018 19:53:55 +0000 (19:53 +0000)]
oops, failed to notice that SEE ALSO got messed up;

6 years agoAdd missing $OpenBSD$ CVS tag.
rob [Mon, 23 Jul 2018 19:51:39 +0000 (19:51 +0000)]
Add missing $OpenBSD$ CVS tag.

6 years agoThe imxiomuxc(4) node itself can also contain a set of pins to
patrick [Mon, 23 Jul 2018 19:13:54 +0000 (19:13 +0000)]
The imxiomuxc(4) node itself can also contain a set of pins to
configure.  These are pins that should be configured to a sane
state and are not necessarily referenced by another node.

ok kettenis@

6 years agoPoint to glob in section 7 for the actual list of special characters instead
kn [Mon, 23 Jul 2018 19:02:49 +0000 (19:02 +0000)]
Point to glob in section 7 for the actual list of special characters instead
the C API in section 3.

OK millert jmc nicm, "the right idea" deraadt

6 years agoDocument tls_peer_ocsp_result() and use it in place of the non-existent
tb [Mon, 23 Jul 2018 18:30:29 +0000 (18:30 +0000)]
Document tls_peer_ocsp_result() and use it in place of the non-existent
tls_peer_ocsp_result_msg() in the documentation.

input & ok jsing
Reads fine to jmc and makes sense to schwarze

6 years agoUse BN_swap_ct() instead of BN_consttime_swap() in
tb [Mon, 23 Jul 2018 18:24:22 +0000 (18:24 +0000)]
Use BN_swap_ct() instead of BN_consttime_swap() in
ec_GF2m_montgomery_point_multiply().  The new BN_swap_ct() API is an
improved version of the public BN_consttime_swap() function: it allows
error checking, doesn't assert(), and has fewer assumptions on the input.
This diff eliminates the last use of BN_consttime_swap() in our tree.

ok inoguchi, jsing

6 years agoUse a size_t instead of an int for the byte count in BN_swap_ct().
tb [Mon, 23 Jul 2018 18:14:32 +0000 (18:14 +0000)]
Use a size_t instead of an int for the byte count in BN_swap_ct().
Since bignums use ints for the same purpose, this still uses an int
internally after an overflow check.

Suggested by and discussed with jsing.
ok inoguchi, jsing

6 years agoClean up our disgusting implementations of BN_{,u}{add,sub}(), following
tb [Mon, 23 Jul 2018 18:07:21 +0000 (18:07 +0000)]
Clean up our disgusting implementations of BN_{,u}{add,sub}(), following
changes made in OpenSSL by Davide Galassi and others, so that one can
actually follow what is going on. There is no performance impact from
this change as the code still does essentially the same thing. There's
a ton of work still to be done to make the BN code less terrible.

ok jsing, kn

6 years agoDo "Return stack refilling", based on the "Return stack underflow" discussion
guenther [Mon, 23 Jul 2018 17:54:04 +0000 (17:54 +0000)]
Do "Return stack refilling", based on the "Return stack underflow" discussion
and its associated appendix at https://support.google.com/faqs/answer/7625886
This should address at least some cases of "SpectreRSB" and earlier
Spectre variants; more commits to follow.

The refilling is done in the enter-kernel-from-userspace and
return-to-userspace-from-kernel paths, making sure to do it before
unblocking interrupts so that a successive interrupt can't get the
CPU to C code without doing this refill.  Per the link above, it
also does it immediately after mwait, apparently in case the low-power
CPU states of idle-via-mwait flush the RSB.

ok mlarkin@ deraadt@

6 years agoImplement RSASSA-PKCS1-v1_5 as specified in RFC 8017.
tb [Mon, 23 Jul 2018 17:37:17 +0000 (17:37 +0000)]
Implement RSASSA-PKCS1-v1_5 as specified in RFC 8017.
Based on an OpenSSL commit by David Benjamin.

Alex Gaynor and Paul Kehrer from the pyca/cryptography Python library
reported that more than 200 "expected to fail" signatures among Project
Wycheproof's test vectors validated on LibreSSL. This patch makes them
all fail.

ok jsing

commit 608a026494c1e7a14f6d6cfcc5e4994fe2728836
Author: David Benjamin <davidben@google.com>
Date:   Sat Aug 20 13:35:17 2016 -0400

    Implement RSASSA-PKCS1-v1_5 as specified.

    RFC 3447, section 8.2.2, steps 3 and 4 states that verifiers must encode
    the DigestInfo struct and then compare the result against the public key
    operation result. This implies that one and only one encoding is legal.

    OpenSSL instead parses with crypto/asn1, then checks that the encoding
    round-trips, and allows some variations for the parameter. Sufficient
    laxness in this area can allow signature forgeries, as described in
    https://www.imperialviolet.org/2014/09/26/pkcs1.html

    Although there aren't known attacks against OpenSSL's current scheme,
    this change makes OpenSSL implement the algorithm as specified. This
    avoids the uncertainty and, more importantly, helps grow a healthy
    ecosystem. Laxness beyond the spec, particularly in implementations
    which enjoy wide use, risks harm to the ecosystem for all. A signature
    producer which only tests against OpenSSL may not notice bugs and
    accidentally become widely deployed. Thus implementations have a
    responsibility to honor the specification as tightly as is practical.

    In some cases, the damage is permanent and the spec deviation and
    security risk becomes a tax all implementors must forever pay, but not
    here. Both BoringSSL and Go successfully implemented and deployed
    RSASSA-PKCS1-v1_5 as specified since their respective beginnings, so
    this change should be compatible enough to pin down in future OpenSSL
    releases.

    See also https://tools.ietf.org/html/draft-thomson-postel-was-wrong-00

    As a bonus, by not having to deal with sign/verify differences, this
    version is also somewhat clearer. It also more consistently enforces
    digest lengths in the verify_recover codepath. The NID_md5_sha1 codepath
    wasn't quite doing this right.

Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Rich Salz <rsalz@openssl.org>
    GH: #1474

6 years agoWhen moving between networks slaacd configures new addresses but
florian [Mon, 23 Jul 2018 17:25:52 +0000 (17:25 +0000)]
When moving between networks slaacd configures new addresses but
leaves old ones behind. The IPv6 RFCs don't seem to offer guidance on
what to do in this case. (RFC 5220 discusses related issues, but not
exactly this.)

It seems a bit harsh to just delete old addresses - a naive
implementation can easily lead to flip-flopping between two prefixes.

Instead set the preferred lifetime to 0 for all addresses on an
interface when the link goes down, thus marking addresses as
deprecated but still usable. When the link comes back send a router
solicitation. If we are still on the old network and receive a router
advertisement the preferred lifetime will increase and the addresses
will no longer be deprecated.

If we moved to a new network we will get new router advertisements and
form new addresses. The old ones will stay deprecated and the address
selection algorithm will prefer new addresses.

Problem reported by many.

testing & OK phessler

6 years agoavoid using argv[0] for printing to stderr
tb [Mon, 23 Jul 2018 17:15:21 +0000 (17:15 +0000)]
avoid using argv[0] for printing to stderr

6 years agoadd _rad user
florian [Mon, 23 Jul 2018 14:15:14 +0000 (14:15 +0000)]
add _rad user
OK tb, claudio

6 years agoRemove rtadvd(8) rc script.
florian [Mon, 23 Jul 2018 12:05:50 +0000 (12:05 +0000)]
Remove rtadvd(8) rc script.

6 years agoRemove rtadvd(8), it's time to switch to rad(8).
florian [Mon, 23 Jul 2018 12:04:46 +0000 (12:04 +0000)]
Remove rtadvd(8), it's time to switch to rad(8).

6 years agosync
florian [Mon, 23 Jul 2018 11:57:56 +0000 (11:57 +0000)]
sync

6 years agoRemove rtadvd(8) leftovers in etc.
florian [Mon, 23 Jul 2018 11:57:17 +0000 (11:57 +0000)]
Remove rtadvd(8) leftovers in etc.
OK deraadt, phessler

6 years agoIt's time to switch to rad(8); tested by many.
florian [Mon, 23 Jul 2018 11:56:02 +0000 (11:56 +0000)]
It's time to switch to rad(8); tested by many.
Unhook rtadvd from build.
OK deraadt, phessler

6 years agoIt's time to switch to rad(8); tested by many.
florian [Mon, 23 Jul 2018 11:54:49 +0000 (11:54 +0000)]
It's time to switch to rad(8); tested by many.
Remove rtadvd(8) from rc(8).
OK deraadt, phessler

6 years agoreplace references to rtadvd(8) with rad(8)
florian [Mon, 23 Jul 2018 11:51:38 +0000 (11:51 +0000)]
replace references to rtadvd(8) with rad(8)
OK deraadt, phessler, jmc

6 years agoHandle duplicate address detection failures.
florian [Mon, 23 Jul 2018 06:14:14 +0000 (06:14 +0000)]
Handle duplicate address detection failures.

We get notified when duplication is detected on the route socket. For
privacy addresses simply generate a new random address. If we have
soii enabled increase the dad counter on the prefix and generate a new
address. For eui64 addresses nothing can be done.

6 years agoNo need to re-implement realloc(). Just use it
krw [Sun, 22 Jul 2018 21:32:04 +0000 (21:32 +0000)]
No need to re-implement realloc(). Just use it
the way the man page says.

ok tb@

6 years agocross reference sndio(7) and sndiod(8); from weerd@;
schwarze [Sun, 22 Jul 2018 19:11:44 +0000 (19:11 +0000)]
cross reference sndio(7) and sndiod(8); from weerd@;
OK ratchov@ jmc@ (who are both busy)

6 years agodocument method=https, and use it in the example config;
jmc [Sun, 22 Jul 2018 17:09:43 +0000 (17:09 +0000)]
document method=https, and use it in the example config;
from lauri tirkkonen;

ok sthen beck

6 years agoFirst iteration of implementing full mrt dumping/printing support in bgpctl.
claudio [Sun, 22 Jul 2018 17:07:53 +0000 (17:07 +0000)]
First iteration of implementing full mrt dumping/printing support in bgpctl.
This is good enough as a start but I guess output could be nicer.
OK benno@

6 years agoMove nexthop into struct filterstate (including nexthop flags) and use
claudio [Sun, 22 Jul 2018 16:59:08 +0000 (16:59 +0000)]
Move nexthop into struct filterstate (including nexthop flags) and use
them whereever possible. In some places (path_update, softreconfig_out
handler) the nexthop state is temporarily folded back into the rde_aspath.
Tested and OK benno@

6 years agoAdd more information to if_change() debug log using the new interface helper
claudio [Sun, 22 Jul 2018 16:55:01 +0000 (16:55 +0000)]
Add more information to if_change() debug log using the new interface helper
functions in util.c. The idea is to make even debug messages as informative
as possible.
Before:
if_change: ifindex 1, ifi_rdomain 0
After:
if_change: em0: rdomain 0 UP, Ethernet, active, 1000 Mbps
OK benno@

6 years agoMove functions to print link status etc. to util.c so that bgpd can use them
claudio [Sun, 22 Jul 2018 16:52:27 +0000 (16:52 +0000)]
Move functions to print link status etc. to util.c so that bgpd can use them
as well. OK benno@

6 years agoIn uvm_map_protect(), make sure we select a first map entry that ends after
kettenis [Sun, 22 Jul 2018 14:33:44 +0000 (14:33 +0000)]
In uvm_map_protect(), make sure we select a first map entry that ends after
the start of the range of pages that we're changing.  Prevents a panic from
a somewhat convoluted test case that anton@ came up with.

ok guenther@, anton@

6 years agoSwitch authorized_keys example from ssh-dss to ssh-rsa since the former
dtucker [Sun, 22 Jul 2018 12:16:59 +0000 (12:16 +0000)]
Switch authorized_keys example from ssh-dss to ssh-rsa since the former
is no longer enabled by default.  Pointed out by Daniel A. Maierhofer,
ok jmc

6 years agoFix arguments of pf_purge_expired_{src_nodes,rules}()
sf [Sun, 22 Jul 2018 09:09:18 +0000 (09:09 +0000)]
Fix arguments of pf_purge_expired_{src_nodes,rules}()

Due to the missing "void", this

   extern void pf_purge_expired_src_nodes();

is no prototype but a declaration. It is enough to suppress the
'implicit declaration' warning but it does not allow the compiler to
check the arguments passed to the calls of the function.

Fix the prototypes and don't pass the waslocked argument anymore. It has
been removed a year ago.

ok sashan henning

6 years agoTweak comment about truncating NULs to reflect new
krw [Sun, 22 Jul 2018 08:59:56 +0000 (08:59 +0000)]
Tweak comment about truncating NULs to reflect new
reality.

6 years agoWhen finished pulling an option out of a buffer, skip directly to the
krw [Sun, 22 Jul 2018 08:43:01 +0000 (08:43 +0000)]
When finished pulling an option out of a buffer, skip directly to the
next option. Don't rely on truncated NULs being ignored because
NUL == DHO_PAD.

ok tb@

6 years agohook up fchown
anton [Sun, 22 Jul 2018 06:39:46 +0000 (06:39 +0000)]
hook up fchown

6 years agoAdd regress covering the recently fixed NULL pointer deref in fchown().
anton [Sun, 22 Jul 2018 06:37:46 +0000 (06:37 +0000)]
Add regress covering the recently fixed NULL pointer deref in fchown().

6 years agoAvoid a NULL pointer deref when calling fchown() on a file descriptor belonging
anton [Sun, 22 Jul 2018 06:31:17 +0000 (06:31 +0000)]
Avoid a NULL pointer deref when calling fchown() on a file descriptor belonging
to a cloned device.

ok kettenis@

6 years agoAdjust a log message and make sure that the data pointer is never increased
claudio [Sun, 22 Jul 2018 06:03:17 +0000 (06:03 +0000)]
Adjust a log message and make sure that the data pointer is never increased
beyond the end. There was no access to it but still bad style.
OK tb@

6 years agoReading past the end of a buffer is bad, Even if the
krw [Sat, 21 Jul 2018 15:24:55 +0000 (15:24 +0000)]
Reading past the end of a buffer is bad, Even if the
extra byte is always there. Even if the byte contains
innocuous data that isn't used. Eeven if a particular
level of optimization of a particular compiler avoids
it by processing things backwards. Bad.

So simplify and correct logic. Perhaps even proof the
code against future generations of clever compilers.

Pointed out by Brandon Falk. Thanks!

ok millert@ tb@

6 years agocomment out a dead Xr;
jmc [Sat, 21 Jul 2018 09:39:25 +0000 (09:39 +0000)]
comment out a dead Xr;

6 years agosort;
jmc [Sat, 21 Jul 2018 09:35:50 +0000 (09:35 +0000)]
sort;

6 years agoInclude the vnode type in the panic message in ffs_write(), just like ffs_read()
anton [Sat, 21 Jul 2018 09:35:08 +0000 (09:35 +0000)]
Include the vnode type in the panic message in ffs_write(), just like ffs_read()
does.

ok deraadt@ kettenis@

6 years agoThere is no need to initialise global and static local variables to zero,
claudio [Sat, 21 Jul 2018 07:27:54 +0000 (07:27 +0000)]
There is no need to initialise global and static local variables to zero,
they are like that by default.
OK florian@

6 years agoRemove the "got meltdown?" conditional from INTRENTRY by doing it
guenther [Sat, 21 Jul 2018 02:19:54 +0000 (02:19 +0000)]
Remove the "got meltdown?" conditional from INTRENTRY by doing it
 unconditionally and codepatching it out on CPUs that don't need/do
 the mitigation.
Align the from-{kernel,userspace} targets in INTRENTRY with _ALIGN_TRAPS
Align x2apic_eoi using KUENTRY() instead of the artisinal
 segment+label+.globl bits it uses currently
s/testq/testb/ for SEL_RPL checks

ok kettenis@ mlarkin@

6 years agoThe newly added realpath(3) in vmd's parse.y checks whether the
bluhm [Fri, 20 Jul 2018 22:18:49 +0000 (22:18 +0000)]
The newly added realpath(3) in vmd's parse.y checks whether the
directories exist.  Create the path and file for test
vmd-fail-disk-path-too-long.

6 years agoListen on 127.0.0.1 and ::1 in the regress config since the test use localhost
claudio [Fri, 20 Jul 2018 21:59:53 +0000 (21:59 +0000)]
Listen on 127.0.0.1 and ::1 in the regress config since the test use localhost
which can be resolved to either of the two values.
OK bluhm@

6 years agoRemove a few leftovers from the days of emulation, which could result in
deraadt [Fri, 20 Jul 2018 21:57:26 +0000 (21:57 +0000)]
Remove a few leftovers from the days of emulation, which could result in
a bad/corrupt binary not returning ENOEXEC but some other error.
ok guenther kettenis bluhm

6 years agoFail if a PT_LOAD segment has a memory size of 0. This prevents a panic
kettenis [Fri, 20 Jul 2018 21:48:27 +0000 (21:48 +0000)]
Fail if a PT_LOAD segment has a memory size of 0.  This prevents a panic
later on, and it makes no sense for a binary to have such a segment.

ok bluhm@, guenther@

6 years agoadd pledge(2), it only needs rpath if reading from a file
mestre [Fri, 20 Jul 2018 21:47:07 +0000 (21:47 +0000)]
add pledge(2), it only needs rpath if reading from a file

hint from tb@ and OK ratchov@