Import dhcpleased(8) - a dhcp daemon to acquire IPv4 address leases
authorflorian <florian@openbsd.org>
Fri, 26 Feb 2021 16:16:37 +0000 (16:16 +0000)
committerflorian <florian@openbsd.org>
Fri, 26 Feb 2021 16:16:37 +0000 (16:16 +0000)
commit57419a7f96aeadc6ba70400602d2386fabf95eef
tree5d62eb78164c645b9fe977862dbf604d4ed78c37
parent57f6d6df0d63d97b03e3a21985d780169e9bd905
Import dhcpleased(8) - a dhcp daemon to acquire IPv4 address leases
from servers.

dhcpleased(8) follows the well known three process design of all our
privsep daemons. It uses pledge(2) and unveil(2) to restrict access
further. In particular the "engine" process, responsible for parsing
of untrusted data, is pledge'd "stdio". It cannot access the outside
world nor the filesystem at all.

Like slaacd(8) for IPv6 it will be always running and acquire addresses
for all interface with the autoconf4 flag set.
The flag can be set by "ifconfig $if inet autoconf" or by adding
"inet autoconf" to /etc/hostname.if. An existing "dhcp" line should
be removed.

Various iterations tested by deraadt@
The hardest part, finding a name, was handled by jmatthew@ & otto@

"get to it :)" deraadt@
21 files changed:
sbin/dhcpleased/Makefile [new file with mode: 0644]
sbin/dhcpleased/bpf.c [new file with mode: 0644]
sbin/dhcpleased/bpf.h [new file with mode: 0644]
sbin/dhcpleased/checksum.c [new file with mode: 0644]
sbin/dhcpleased/checksum.h [new file with mode: 0644]
sbin/dhcpleased/control.c [new file with mode: 0644]
sbin/dhcpleased/control.h [new file with mode: 0644]
sbin/dhcpleased/dhcpleased.8 [new file with mode: 0644]
sbin/dhcpleased/dhcpleased.c [new file with mode: 0644]
sbin/dhcpleased/dhcpleased.h [new file with mode: 0644]
sbin/dhcpleased/engine.c [new file with mode: 0644]
sbin/dhcpleased/engine.h [new file with mode: 0644]
sbin/dhcpleased/frontend.c [new file with mode: 0644]
sbin/dhcpleased/frontend.h [new file with mode: 0644]
sbin/dhcpleased/log.c [new file with mode: 0644]
sbin/dhcpleased/log.h [new file with mode: 0644]
usr.sbin/dhcpleasectl/Makefile [new file with mode: 0644]
usr.sbin/dhcpleasectl/dhcpleasectl.8 [new file with mode: 0644]
usr.sbin/dhcpleasectl/dhcpleasectl.c [new file with mode: 0644]
usr.sbin/dhcpleasectl/parser.c [new file with mode: 0644]
usr.sbin/dhcpleasectl/parser.h [new file with mode: 0644]