Move execution of the constraints from the ntp to the parent process.
authorreyk <reyk@openbsd.org>
Mon, 12 Oct 2015 06:50:08 +0000 (06:50 +0000)
committerreyk <reyk@openbsd.org>
Mon, 12 Oct 2015 06:50:08 +0000 (06:50 +0000)
commita257dd04c6fade08e18b65c244738cafa1eac9d8
tree844efeebe518662f6b6817552ffc2c36dcdd89dc
parent57766fec99b4d5814bc1af5013e2be8618639b49
Move execution of the constraints from the ntp to the parent process.
This helps the ntp process to a) give a better pledge(2) and to b)
keep the promise of "saving the world again... on time" by removing
the delays that have been introduced by expensive constraint forks.
The new design offers better privsep but introduces a few more imsgs
and runs a little bit more code in the privileged parent.  The
privileged code is minimal, carefully checked, and does not attempt to
"parse" any contents; the forked constraints instantly drop all
privileges and pledge to "stdio inet".

OK beck@ deraadt@
usr.sbin/ntpd/config.c
usr.sbin/ntpd/constraint.c
usr.sbin/ntpd/ntp.c
usr.sbin/ntpd/ntpd.c
usr.sbin/ntpd/ntpd.h