Age | Commit message (Collapse) | Author |
|
file.
Prodded by deraadt
|
|
|
|
otto@ pointed out that we lost a description on HOW to use macros.
|
|
If it comes from one of our processes and the size does not match what
we expect call fatalx to crash and burn. We either hit a logic bug or
something is fishy on the other end and we can't trust that process
any longer. Not that we trust those processes to begin with.
This also applies to receiving resources that we don't expect. For
example if we have an open UDP listen socket and get a new one passed
from the main process something is wrong and we should crash and burn.
The only place where we are more lenient is on the control socket. We
just ignore wrong sized messages so that users can't bring down
unwind.
|
|
ok florian@
|
|
pointed out by deraadt
|
|
The new node contains the subsystem's main control variable,
kern.witness.watch. It is aliased by the old name, kern.witnesswatch.
The alias will be removed in the future.
OK anton@ mpi@
|
|
Recently introduced in pfctl_parser.c r1.333, this helper nicely
simplifies code when copying IPs based on their address family, so use
it in five other places when killing state or source node entries.
All addresses copied in these code paths result from either
pfctl_parse_host() or pfctl_addrprefix() which guarantee the address
family set to AF_INET or AF_INET6. Therefore, effectively relaxing the
case of unhandled families from errx(3) in callers to warnx(3) in
copy_satopfaddr() is safe since it's never reached.
OK sashan
|
|
Either disable DNS or enable additional reverse lookups, but not both.
OK benno
|
|
Killing source tracking or state entries by hostname or CIDR would pass
given keys twice to getaddrinfo(3): once to resolve/parse and again to
parse the numerical address in case a prefix was specified.
Avoid this overhead by making pfctl_addrprefix() resolve, pass and mask
in one go and return the list of IPs to the callers. This notably
simplifies both logic and sanity checks around prefix length and address
family.
While here, also pass -N along such that -k and -K can be restricted to
not use DNS.
Discussed with procter sashan, OK sashan
|
|
|
|
|
|
directives, some of them no longer necessary.
Cleanup by Caspar Schutijser, thank you very much!
|
|
More consistent, clearer.
|
|
|
|
OK benno
|
|
previously specified 'append', 'default', 'ignore', 'prepend', or
'supersede' actions on the values provided in leases.
|
|
|
|
|
|
|
|
the .y file is not hooked up to the build.
But since it works out just fine remove configparser.c and hook up
configparser.y.
(The same does not hold true for configlexer.lex though.)
With this obj/configparser.c is not left behind on make clean.
|
|
|
|
|
|
This lets us get past the broken Dutch railway wifi that responds
NXDOMAIN if an edns0 option is present.
|
|
|
|
|
|
|
|
|
|
resolve at all.
We come up without listening and open IPv4 and IPv6 sockets once the
resolver process has determinded that we can speak DNS to the outside
world.
Furthermore close the listening sockets when the resolver process
notices that we can no longer speak DNS to the outside.
This is a last-ditch effort to get out of libc resolver's way and let
it speak directly to e.g. dhcp provided resolvers.
With the recomended configuration of having 127.0.0.1 first in
/etc/resolv.conf and then add dhcp provided resolvers after that our
libc resolver will receive a port unreachable error and immediately
switch to the next one if unwind is not listening on port 53.
(Networks have been observed in the wild that intercept DNS packets and
answer NXDOMAIN if an edns0 option is send with the query.)
|
|
|
|
|
|
These functions / macros (from (s)ldns) are not part of the public
libunbound API so we couldn't use them before. Due to the way we use
libunbound (a local copy) we now have access.
|
|
ub_resolve_event() the heuristic to detect if the authoritative server
is unreachable was adapted in the wrong way.
Turns out when using ub_resolve_event() we get the correct rcode
passed in (SERVFAIL). The rcode in the wire format answer_packet is
still wrong though (NOERROR). But that doesn't matter since we can
just check the passed in rcode.
|
|
ifconfig(8) shows in its display of interface information.
ok bluhm@
|
|
ok phessler@
|
|
unwind(8) is a hybrid validating stub & recursive resolver.
It actively observes the local net to decide how to best resolve
names. It can chose to recurse on it's own or talk to dhcp
provided forwardes or statically defined forwarders in the
config file.
The intention is to be able to run it on localhost on every machine.
"toss it in man" deraadt@
|
|
This is probably too much but allows us to keep in sync with
usr.sbin/unbound to be able to easily apply updates.
|
|
|
|
where the "wrong" #define was used.
ok dlg@
|
|
|
|
Encountered, diagnosed, fix tested and ok jca@
|
|
|
|
go_daemon() may not be called before the first error. Second,
go_daemon() doesn't do anything when '-d' is specified.
|
|
save a copy of the original argv.
|
|
need to start a new copy when LLADDR or SSID changes. Just go back to
S_PREBOOT and get a new lease.
Fewer log messages, faster join'ing new networks, simpler code.
|
|
failed
OK deraadt@
|
|
Tweak spacing while here, no object change.
Feedback and OK procter, OK sceloha
|
|
|
|
instead of overloading SIGHUP.
|
|
and now in unreachable code. Simplifies dispatch loops by eliminating
most uses of INTERNALSIG.
|