guenther [Sun, 9 Sep 2018 22:46:54 +0000 (22:46 +0000)]
pmap_activate() should match cpu_switchto, so set up ci_{kern,user}_cr3
if activating for the current thread and meltdown mitigations are in effect.
Not clear if it's actually possible to hit the case where this matters,
but it's the Right Thing.
ok mlarkin@
guenther [Sun, 9 Sep 2018 22:41:57 +0000 (22:41 +0000)]
Simplify pmap_is_curpmap(): %cr3 can never match pm_pdirpa_intel here
as this code isn't present in those page tables
ok mlarkin@
guenther [Sun, 9 Sep 2018 22:09:36 +0000 (22:09 +0000)]
Calculate automatically the padding necessary for lining up the
iretq instruction used when Meltdown mitigation is effect. It got
pushed off when an lfence was added in locore.S rev 1.107, resulting
in two signals being sent instead of one when iretq faulted, and
neither signal had the correct sigcontext info. Update the makefile
rule for locore.o to verify that things are correct.
ok mlarkin@
guenther [Sun, 9 Sep 2018 21:59:43 +0000 (21:59 +0000)]
Teach binutils how to assemble INVPCID and how to disassemble
INV{EPT,VPID,PCID}
ok mlarkin@
sthen [Sun, 9 Sep 2018 21:32:59 +0000 (21:32 +0000)]
merge in some missed bits from 1.7.0 to simplify update prep.
sthen [Sun, 9 Sep 2018 21:30:24 +0000 (21:30 +0000)]
merge in some missed bits from 1.7.0 to simplify update prep.
(I think we actually had slightly beyond 1.7.0, I've left code bits but
there are some SSL->TLS changes which go away with this and will come back
with the update).
bluhm [Sun, 9 Sep 2018 21:06:51 +0000 (21:06 +0000)]
During the fork+exec implementation, daemon(3) was moved after
proc_init(). As a consequence httpd(8) and relayd(8) child processes
did not detach from the terminal anymore. Dup /dev/null to the
stdio file descriptors in the children.
OK benno@
claudio [Sun, 9 Sep 2018 20:41:01 +0000 (20:41 +0000)]
Enable the empty as-set and prefix-set tests since that is now allowed again
claudio [Sun, 9 Sep 2018 20:39:09 +0000 (20:39 +0000)]
Allow for empty as-set and prefix-set definitions by adding explicit rules
for those because shift/reduce issues in the list with optional commas.
OK benno@
phessler [Sun, 9 Sep 2018 20:32:55 +0000 (20:32 +0000)]
convert the things we save in 'join' into a single ioctl. mixing related
settings over multiple calls was risky and racy. Pass essid, wpa, and wep
paramaters in a single ioctl and process it atomically.
no change for 'nwid' users
OK stsp@ benno@
jmc [Sun, 9 Sep 2018 17:11:26 +0000 (17:11 +0000)]
missing Xc;
mortimer [Sun, 9 Sep 2018 16:41:43 +0000 (16:41 +0000)]
Apply retguard to the last asm functions in the arm64 kernel. This completes
retguard in the kernel and brings the number of useful ROP gadgets at
runtime to zero.
ok kettenis@
claudio [Sun, 9 Sep 2018 15:04:36 +0000 (15:04 +0000)]
Shut up a gcc warning about uninitialized use of min & max by adding a default
case in the switch statement. Found by denis@ and fix proposed by sthen@
benno [Sun, 9 Sep 2018 15:02:26 +0000 (15:02 +0000)]
use rib_valid() to check if a rib is useable. ok claudio@
claudio [Sun, 9 Sep 2018 14:28:50 +0000 (14:28 +0000)]
Comment the empty as-set and prefix-set tests. This is not yet working.
Add a single asnum test, just to make sure that works as well
claudio [Sun, 9 Sep 2018 14:27:24 +0000 (14:27 +0000)]
Can not allow empty as-set and prefix-set blocks right now. This produces
shit/reduce confilcts which need to be resolved first.
akoshibe [Sun, 9 Sep 2018 14:21:32 +0000 (14:21 +0000)]
Make switchd(8) ignore PACKET_INs generated from looped traffic. Currently,
it responds to these messages with an invalid PACKET_OUT onto OFP*_PORT_ANY,
resulting in the switch responding with an error, causing switchd to
disconnect the switch.
OK phessler@ claudio@
benno [Sun, 9 Sep 2018 14:08:11 +0000 (14:08 +0000)]
use TAILQ_CONCAT in filterset_move(). ok claudio@
millert [Sun, 9 Sep 2018 13:53:11 +0000 (13:53 +0000)]
Fix a crash in rdistd triggered by the recent getpw{ent,nam,uid}
changes. This stems from rdist stashing a pointer to the static
area used by getpw{ent,nam,uid} and using it to avoid repeating
passwd lookups when pw->pw_name matches the user to be looked up.
This relied on undefined behavior, and with the recent passwd
changes, is no longer possible as the old pointer will be invalidated.
A better approach is to use the upcoming uid_from_user(3) functions.
Found by and fix OK tim@
claudio [Sun, 9 Sep 2018 13:44:54 +0000 (13:44 +0000)]
Remove another optnl. In general we no longer support a newline between
the keyword and "{". In this case it is 'set {'.
Newlines afterwards are accepted.
claudio [Sun, 9 Sep 2018 13:32:05 +0000 (13:32 +0000)]
Bad merge, change a optnl to comma since that is what we want there.
claudio [Sun, 9 Sep 2018 13:31:10 +0000 (13:31 +0000)]
Enable all the #notyet tests since the parser supports those now
claudio [Sun, 9 Sep 2018 13:25:12 +0000 (13:25 +0000)]
prefix-set printing was adjusted in last commit. Adjust test.
claudio [Sun, 9 Sep 2018 13:22:41 +0000 (13:22 +0000)]
Rework the parser a bit to be more sane when it comes to newline and comma
handling. In expansion lists we want that commas and newlines are allowed
but optional. In the neighbor, group and rdomain blocks statements need to
be newline separated but neighbor 192.0.2.3 { descr "test-peer" } is allowed.
OK sthen@ benno@
claudio [Sun, 9 Sep 2018 13:06:42 +0000 (13:06 +0000)]
Write asset as as_set since the other word is already used in English.
benno@ agrees, OK compiler
claudio [Sun, 9 Sep 2018 12:58:04 +0000 (12:58 +0000)]
Fixup regress test after the last burst of commits by benno@
benno [Sun, 9 Sep 2018 12:53:41 +0000 (12:53 +0000)]
sync header line with whats actually in the output.
ok claudio@
benno [Sun, 9 Sep 2018 12:53:00 +0000 (12:53 +0000)]
Make it clear what 'dynamically added' prefixes are.
Say that adding a prefix will overwrite an existing (equal) prefix.
ok claudio@
benno [Sun, 9 Sep 2018 12:49:44 +0000 (12:49 +0000)]
update example bgpd.conf to use new config language features:
network prefix-set ... and filters with prefix-set ... or-longer.
ok claudio@
claudio [Sun, 9 Sep 2018 12:39:51 +0000 (12:39 +0000)]
Fixup unit test after change to trie_match (or-longer case)
claudio [Sun, 9 Sep 2018 12:33:51 +0000 (12:33 +0000)]
Clean up prefix flag handling. First of all the dynamic networks no longer
need this and are now treated equally to the network statement in the config.
This makes bgpctl network delete <net> also remove a network which was defined
in the config.
While there remove the other use of flag which was done to support Adj-RIB-Out
but the direction we're taking is no longer needing that. Makes code simpler
again.
OK benno@
benno [Sun, 9 Sep 2018 11:00:51 +0000 (11:00 +0000)]
Add network prefix-set <name> syntax to announce networks in a prefix-set.
feature discussed with deraadt@ and job@, ok claudio@
henning [Sun, 9 Sep 2018 10:13:21 +0000 (10:13 +0000)]
rdomains can be deleted again - remove caveat, tell ppl how to delete, and
show an example. reminded by kn
henning [Sun, 9 Sep 2018 10:11:41 +0000 (10:11 +0000)]
allow the automatically created loopback interfaces in rdomains to be
deleted if the rdomain doesn't contain any other interface. turn the rdomain
back into an ordinary, empty rtable in that case.
with this and the previous commits one can get rid of rdomains again without
rebooting, which wasn't possible any more for some time
ok bluhm, input mpi
henning [Sun, 9 Sep 2018 10:09:06 +0000 (10:09 +0000)]
if_setrdomain: allow empty rtables to be turned into rdomains, not just
nonexistant ones as before. nasty error handling with bluhm, feedback mpi as
well. ok bluhm
henning [Sun, 9 Sep 2018 10:07:38 +0000 (10:07 +0000)]
provide rtable_empty(), returns 1 if the rtable doesn't contain any routes
ok bluhm
jmc [Sun, 9 Sep 2018 06:36:43 +0000 (06:36 +0000)]
tweak previous;
ccardenas [Sun, 9 Sep 2018 04:25:32 +0000 (04:25 +0000)]
Add disk format tests.
Thanks to Ori Bernstein.
ccardenas [Sun, 9 Sep 2018 04:11:55 +0000 (04:11 +0000)]
Add tests for disk format.
Thanks to Ori Bernstein.
ccardenas [Sun, 9 Sep 2018 04:09:32 +0000 (04:09 +0000)]
Add initial qcow2 image support.
Users are able to declare disk images as 'raw' or 'qcow2' using either
vmctl and vm.conf. The default disk image format is 'raw' if not specified.
Examples of using disk format:
vmctl start bsd -Lc -r cd64.iso -d qcow2:current.qc2
or
vmctl start bsd -Lc -r cd64.iso -d raw:current.raw
is equivalent to
vmctl start bsd -Lc -r cd64.iso -d current.raw
in vm.conf
vm "current" {
disable
memory 2G
disk "/home/user/vmm/current.qc2" format "qcow2"
interface { switch "external" }
}
or
vm "current" {
disable
memory 2G
disk "/home/user/vmm/current.raw" format "raw"
interface { switch "external" }
}
is equivlanet to
vm "current" {
disable
memory 2G
disk "/home/user/vmm/current.raw"
interface { switch "external" }
}
Tested by many.
Big Thanks to Ori Bernstein.
claudio [Sat, 8 Sep 2018 20:12:54 +0000 (20:12 +0000)]
Bump NMBCLUSTERS to a more reasonable 256MB instead of the tiny 4MB.
May help ports builders to not run out of memory.
Lots of agreement and OK n2k18@
jmc [Sat, 8 Sep 2018 15:54:41 +0000 (15:54 +0000)]
missing Ed;
benno [Sat, 8 Sep 2018 15:25:27 +0000 (15:25 +0000)]
implement or-longer filter op for prefix-sets. Allows one two write rules like
deny from any prefix-set mynetworks or-longer
ok claudio, feature discussed with job and deraadt
phessler [Sat, 8 Sep 2018 15:21:03 +0000 (15:21 +0000)]
Enforce that "join" and "nwid" may not be used at the same time.
OK stsp@
kn [Sat, 8 Sep 2018 14:45:55 +0000 (14:45 +0000)]
Allocate path only when needed, use __func__
jsing [Sat, 8 Sep 2018 14:39:41 +0000 (14:39 +0000)]
Remove now unused code for EVP_CIPH_FLAG_AEAD_CIPHER and EVP_CIPH_GCM_MODE.
ok inoguchi@ tb@
jsing [Sat, 8 Sep 2018 14:29:52 +0000 (14:29 +0000)]
SSL_MAX_DIGEST is no longer needed.
kn [Sat, 8 Sep 2018 14:12:57 +0000 (14:12 +0000)]
Error out early on bad anchor usage
`pfctl -a foo' would do nothing with the non-existent anchor and exit 0.
This implements behaviour as documented in pfctl(8):
-a anchor
Apply flags -f, -F, and -s only to the rules in the specified
anchor.
While here, hoist a duplicate "_" check by using the more mnemonic `mode'.
OK henning sashan
tb [Sat, 8 Sep 2018 13:49:26 +0000 (13:49 +0000)]
ASN1_OBJECTs should be freed with ASN1_OBJECT_free(3), not with free(3).
ok inoguchi, jsing
anton [Sat, 8 Sep 2018 13:17:19 +0000 (13:17 +0000)]
Check for malloc() failures.
Initial diff from Clemens Goessnitzer on tech@
Feedback and ok tb@
bluhm [Sat, 8 Sep 2018 13:16:58 +0000 (13:16 +0000)]
Split the pf(4) fragment reassembly queue into smaller parts.
Remember 16 entry points based on the fragment offset. Instead of
a worst case of 8196 list traversals we now check a maximum of 512
list entries or 16 array elements.
discussed with claudio@ and sashan@; OK sashan@
claudio [Sat, 8 Sep 2018 13:10:55 +0000 (13:10 +0000)]
Regress tests for as-set and prefix-set blocks
claudio [Sat, 8 Sep 2018 12:32:01 +0000 (12:32 +0000)]
Add some additional config regress tests. Testing neighbor, group and rdomain.
claudio [Sat, 8 Sep 2018 12:29:19 +0000 (12:29 +0000)]
More BGPD_OPT_NOACTION checking to make regress happier.
claudio [Sat, 8 Sep 2018 12:18:51 +0000 (12:18 +0000)]
If BGPD_OPT_NOACTION is set don't check that the rdomain exists.
This makes it possible to use bgpd -nv in regress with unknown rdomains.
inoguchi [Sat, 8 Sep 2018 11:12:27 +0000 (11:12 +0000)]
Fix indent and adjust line fit to 80 columns.
tb [Sat, 8 Sep 2018 10:31:24 +0000 (10:31 +0000)]
indent labels
tb [Sat, 8 Sep 2018 10:20:33 +0000 (10:20 +0000)]
missing word & a couple of typos
eric [Sat, 8 Sep 2018 10:05:07 +0000 (10:05 +0000)]
use symbolic integer values for the different tls options when relaying,
rather than a confusing set of flags.
ok gilles@
inoguchi [Sat, 8 Sep 2018 09:34:12 +0000 (09:34 +0000)]
Split test blocks into a function. Test contents are not changed.
claudio [Sat, 8 Sep 2018 09:33:54 +0000 (09:33 +0000)]
Change the way we parse prefix-sets so that newlines are allowed in more
places and so prefix-sets look a lot better. Currently commas are not allowed
but they will come back soon.
OK benno@
claudio [Sat, 8 Sep 2018 09:29:25 +0000 (09:29 +0000)]
Fix print_as_sets() a bit.
OK benno@
benno [Sat, 8 Sep 2018 09:18:34 +0000 (09:18 +0000)]
add a check for curly braces in a macro being used inside a filter
rule with curly braces
claudio [Sat, 8 Sep 2018 08:00:21 +0000 (08:00 +0000)]
Remove optional commas from example config. In the future these optional
commas may become a syntax error.
inoguchi [Sat, 8 Sep 2018 03:39:51 +0000 (03:39 +0000)]
Test more ciphers and randomize the order in regress appstest.sh
- change test target ciphers
- randomize the test ciphers order
- display test cipher count
miko [Sat, 8 Sep 2018 01:28:39 +0000 (01:28 +0000)]
blkfree() takes no action for NULL pointer so callers can avoid checking.
ok jca@
yasuoka [Sat, 8 Sep 2018 01:03:59 +0000 (01:03 +0000)]
Don't cause an error when setting the same rdomain.
Found by asou at soum.co.jp.
ok claudio mpi akoshibe benno
kn [Fri, 7 Sep 2018 21:37:03 +0000 (21:37 +0000)]
More __func__ to fix error messages
kn [Fri, 7 Sep 2018 20:31:39 +0000 (20:31 +0000)]
Make host_*() AF-agnostic
Merge host_v{4,6}() into much simpler host_ip() using just getaddrinfo().
host_dns() uses the same procedure.
OK naddy
claudio [Fri, 7 Sep 2018 20:26:30 +0000 (20:26 +0000)]
The debug function trie_dump() should use stderr since that does not case
that much problem with the regress test which writes its stuff on stdout.
kn [Fri, 7 Sep 2018 19:56:07 +0000 (19:56 +0000)]
Fix function name in error messages by using __func__
benno [Fri, 7 Sep 2018 16:45:23 +0000 (16:45 +0000)]
fix badly broken reload of filter rules that use prefix-sets. debugged
and fixed with/by claudio@
bluhm [Fri, 7 Sep 2018 16:26:21 +0000 (16:26 +0000)]
Not adding ::1 on non-default lo(4) broke regress/sbin/route.
Adjust test's expected output files.
OK mpi@
claudio [Fri, 7 Sep 2018 16:10:42 +0000 (16:10 +0000)]
Regress test for rde_trie should cover some basics for now.
cheloha [Fri, 7 Sep 2018 14:54:49 +0000 (14:54 +0000)]
fgetln(3) -> getline(3); from Lauri Tirkkonen; ok millert@
kn [Fri, 7 Sep 2018 14:16:22 +0000 (14:16 +0000)]
Remove wildcard address on loopack remnants
henning@ removed this functionality years ago, see the share/man/man4/lo.4
revision 1.27.
OK jca claudio
inoguchi [Fri, 7 Sep 2018 14:11:39 +0000 (14:11 +0000)]
tests all available TLSv1.2 ciphers
martijn [Fri, 7 Sep 2018 13:46:33 +0000 (13:46 +0000)]
Revert earlier revert.
It turned out the issue was a badly applied diff on stsp@'s machine.
OK stsp@
claudio [Fri, 7 Sep 2018 13:25:36 +0000 (13:25 +0000)]
Add missing htonl() else matching does not really work.
jmatthew [Fri, 7 Sep 2018 13:18:06 +0000 (13:18 +0000)]
remove some unused variables and otherwise tidy up a bit.
bluhm [Fri, 7 Sep 2018 13:10:38 +0000 (13:10 +0000)]
Fragment one large 64k IP ping packet into 155 fragments, each with
424 bytes payload. Send them in random order. Expect a fragment
with matching echo reply header.
solene [Fri, 7 Sep 2018 12:54:44 +0000 (12:54 +0000)]
Document the spin CPU state column
ok yasuoka@ jca@
kn [Fri, 7 Sep 2018 12:43:30 +0000 (12:43 +0000)]
Remove unnused af argument from unmask(), sync with pfctl
Noted by jca, thanks.
OK jca claudio
benno [Fri, 7 Sep 2018 11:50:32 +0000 (11:50 +0000)]
remove unused function find_prefixsetitem(), ok claudio@
stsp [Fri, 7 Sep 2018 11:01:22 +0000 (11:01 +0000)]
Backout recent cp(1) changes; they broke texlive's mktexlsr(1)
claudio [Fri, 7 Sep 2018 10:59:16 +0000 (10:59 +0000)]
Some space fixes mentioned by benno@
bluhm [Fri, 7 Sep 2018 10:55:35 +0000 (10:55 +0000)]
Explain the special case for redirect to localhost in a comment.
input and OK claudio@
claudio [Fri, 7 Sep 2018 10:49:22 +0000 (10:49 +0000)]
Implement a fast presix-set lookup. This magic trie is able to match a
prefix addr/plen to a prefix-set spec addr/plen prefixlen min - max (a
prefix including prefixlen range). Every addr/plen pair is a node in the
trie and the prefixlen is added as a bitmask to those nodes.
For the lookup the any match is OK, there is no need to do longest or
best prefix matching.
Inspiration for this solution comes from the way bird implements this
which was done by Ondrej Zajicek santiago (at) crfreenet.org
OK benno@
kn [Fri, 7 Sep 2018 10:29:22 +0000 (10:29 +0000)]
Make print_hostname() less AF-specific
Reduce differences address families and replace strlcpy() with simpler
if/else logic as done in print_addr_str().
OK sashan
bluhm [Fri, 7 Sep 2018 09:55:29 +0000 (09:55 +0000)]
Declare strings passed to local_listen() as const. This makes it
consistent to remote_connect() and getaddrinfo(3).
from Nan Xiao
benno [Fri, 7 Sep 2018 09:38:04 +0000 (09:38 +0000)]
allow as4number_any in as-sets. Otherwise you cant filter bogon as'es.
ok claudio@
claudio [Fri, 7 Sep 2018 09:31:14 +0000 (09:31 +0000)]
Refactor a bit and add another test
florian [Fri, 7 Sep 2018 09:31:13 +0000 (09:31 +0000)]
Do not send a Content-Length header for 1xx and 204 status codes since
RFC 7230 states that a server MUST NOT do so.
At least relayd chokes on this.
Pointed out & diff by Carlin Bingham (cb AT walcyrge.org), thanks!
OK benno
claudio [Fri, 7 Sep 2018 08:40:00 +0000 (08:40 +0000)]
Add a basic unittest for the as_set_* functions
claudio [Fri, 7 Sep 2018 08:38:35 +0000 (08:38 +0000)]
Move the config regress tests into own directory making space for additional
unittests and maybe more. bgpd needs more test coverage.
Discussed with bluhm@
kevlo [Fri, 7 Sep 2018 07:49:43 +0000 (07:49 +0000)]
Fix the build after removing an unused af argument from unmask().
ok claudio@
martijn [Fri, 7 Sep 2018 07:44:15 +0000 (07:44 +0000)]
Rename dne in copy_file to exists to be more consistent with the other
copy_* functions.
OK stsp@
miko [Fri, 7 Sep 2018 07:35:30 +0000 (07:35 +0000)]
replace malloc()+strlcpy() with strndup() in cmdline_symset().
"looks good" gilles@ halex@
yasuoka [Fri, 7 Sep 2018 07:24:05 +0000 (07:24 +0000)]
Fix "_nfiles" reference for crash dump.
Diff from fukaumi at soum.co.jp
ok mpi
martijn [Fri, 7 Sep 2018 07:17:14 +0000 (07:17 +0000)]
Also verify a overwrite for the copy of a fifo, link and device node.
OK stsp@