anton [Mon, 10 Sep 2018 19:22:53 +0000 (19:22 +0000)]
logmsg(LOG_ERR) -> logerr(); ok tedu@
gerhard [Mon, 10 Sep 2018 17:00:45 +0000 (17:00 +0000)]
Prevent a panic in umb(4) when roaming is diabled.
Found by beck@, tested and ok by bluhm@
sashan [Mon, 10 Sep 2018 16:18:34 +0000 (16:18 +0000)]
- if_cloners list populated at boot time only then becomes immutable,
so we can let go if_cloners_lock.
OK tb@, claudio@, bluhm@, kn@, henning@
kn [Mon, 10 Sep 2018 16:17:48 +0000 (16:17 +0000)]
Introduce copy_satopfaddr()
Move the same dance around v4/v6 for copying IP addresses from sockaddr
into pf_addr to avoid duplicate code and improve readability.
Feedback and OK bluhm
bluhm [Mon, 10 Sep 2018 16:14:07 +0000 (16:14 +0000)]
Instead of calculating the mbuf packet header length here and there,
put the algorithm into a new function m_calchdrlen(). Also set an
uninitialized m_len to 0 in NFS code.
OK claudio@
henning [Mon, 10 Sep 2018 16:07:20 +0000 (16:07 +0000)]
if_setrdomain could potentially call if_clone_create recursively in the create
rdomain case leading to locking issues and lots of headscratching. turns out
the only case where if_setrdomain could actually create an rdomain and thus
end up with that pattern is the ioctl path.
make if_setrdomain never create an rdomain, return error if it doesn't exist
already, introduce if_createrdomain, and adjust the ioctl path to use it.
ok sashan bluhm claudio
henning [Mon, 10 Sep 2018 15:54:28 +0000 (15:54 +0000)]
in pf_syncookie_validate, return early if we don't have syncookies in
flight that can possibly match. there is a tiny but existing chance that
a sequence number matches w/ our hash and we'd end up dropping traffic.
unclear whether that has actually happened since the report chain is long :)
report via haesbert via bluhm; ok bluhm
benno [Mon, 10 Sep 2018 14:29:19 +0000 (14:29 +0000)]
test all variations of network statements
benno [Mon, 10 Sep 2018 14:20:25 +0000 (14:20 +0000)]
add a test for network statements with prefix-sets
jmc [Mon, 10 Sep 2018 13:52:37 +0000 (13:52 +0000)]
tweak previous;
akoshibe [Mon, 10 Sep 2018 13:21:39 +0000 (13:21 +0000)]
Mirror bluhm's fixes for proc.c daemons to dup /dev/null for child processes
in switchd(8).
OK henning@ bluhm@
denis [Mon, 10 Sep 2018 13:15:50 +0000 (13:15 +0000)]
fix typos
OK claudio@
bluhm [Mon, 10 Sep 2018 13:00:58 +0000 (13:00 +0000)]
Send many small fragments that exceed the pf reassembly queue limit.
bluhm [Mon, 10 Sep 2018 12:47:02 +0000 (12:47 +0000)]
During fragment reassembly, mbuf chains with packet headers were
created. Add a new function m_removehdr() do convert packet header
mbufs within the chain to regular mbufs. Assert that the mbuf at
the beginning of the chain has a packet header.
found by Maxime Villard in NetBSD; from markus@; OK claudio@
jmc [Mon, 10 Sep 2018 12:42:17 +0000 (12:42 +0000)]
tweak the table commands somewhat; ok gilles
bluhm [Mon, 10 Sep 2018 11:37:26 +0000 (11:37 +0000)]
Limit the fragment entry queue length to 64 per bucket. So we have
a global limit of 1024 fragments, but it is fine grained to the
region of the packet. Smaller packets may have less fragments.
This costs another 16 bytes of memory per reassembly and devides
the worst case for searching by 8.
requestd by claudio@; OK sashan@ claudio@
benno [Mon, 10 Sep 2018 11:09:25 +0000 (11:09 +0000)]
use filterset_move() like all other network statements. It checks for
source == NULL, avoiding a possible crash introduced yesterday.
ok claudio@
phessler [Mon, 10 Sep 2018 11:07:43 +0000 (11:07 +0000)]
do not immediately set the join'd network, the join command only updates
the list.
makes /etc/netstart very fast when ran while the interface is up
OK stsp@
benno [Mon, 10 Sep 2018 11:02:35 +0000 (11:02 +0000)]
update regression tests after previous commit. ok claudio@
benno [Mon, 10 Sep 2018 11:01:15 +0000 (11:01 +0000)]
remove some empty lines from printconf output. ok claudio@
bluhm [Mon, 10 Sep 2018 10:39:26 +0000 (10:39 +0000)]
vmd(8) clould close file descriptor 0 as not all fd fields were
properly initialized with -1. Also avoid closing -1.
OK mlarkin@
bluhm [Mon, 10 Sep 2018 10:36:01 +0000 (10:36 +0000)]
During the fork+exec implementation, daemon(3) was moved after
proc_init(). As a consequence vmd(8) child processes did not detach
from the terminal anymore. Dup /dev/null to the stdio file descriptors
in the children.
OK mlarkin@ reyk@
phessler [Mon, 10 Sep 2018 10:11:18 +0000 (10:11 +0000)]
fix typo in the length of the essid we want to switch to
found with and OK stsp@
phessler [Mon, 10 Sep 2018 09:13:53 +0000 (09:13 +0000)]
extract clearing WEP/WPA in ess into helper functions
claudio [Mon, 10 Sep 2018 09:10:36 +0000 (09:10 +0000)]
Adjust the config to -current bgpd which makes it a lot more readable.
OK phessler@
phessler [Mon, 10 Sep 2018 08:27:13 +0000 (08:27 +0000)]
use the correct essid when switching during the ioctl path
pointed out by stsp@
phessler [Mon, 10 Sep 2018 08:26:39 +0000 (08:26 +0000)]
give set_ess a len variable, so we can correctly match the essid we want
to switch to.
pointed out by stsp@
nicm [Mon, 10 Sep 2018 06:48:01 +0000 (06:48 +0000)]
Do not clear selection when searching.
yasuoka [Mon, 10 Sep 2018 06:40:06 +0000 (06:40 +0000)]
Fix previous commit. It mistakenly included a change for debug.
jmatthew [Mon, 10 Sep 2018 04:59:32 +0000 (04:59 +0000)]
put the port into autonegotiate mode on attach, since that's the default
media setting.
tested by and ok ccardenas@
jmatthew [Mon, 10 Sep 2018 04:56:13 +0000 (04:56 +0000)]
if the adapter can't determine the phy type on a port, pretend it's baseCR
so we get a usable list of media types to pick from.
tested by and ok ccardenas@
jmatthew [Mon, 10 Sep 2018 04:52:23 +0000 (04:52 +0000)]
bit rates over 2G won't fit in an int, so use uint64_ts instead
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