Currently when eigrpd(8) shuts down then its unix control socket is being
authormestre <mestre@openbsd.org>
Thu, 2 Aug 2018 06:28:35 +0000 (06:28 +0000)
committermestre <mestre@openbsd.org>
Thu, 2 Aug 2018 06:28:35 +0000 (06:28 +0000)
commitabe347cfde375c8acf074496dd3ba2f7588da11d
treedadf4dcfe1ffa3b14d52441087b0db03157a0309
parentf993c6f7844b25fe298d121c5af2d511a74112bf
Currently when eigrpd(8) shuts down then its unix control socket is being
unlink(2)ed from eigrpe engine process, the problem is that this proc is
chrooted and therefore the socket will never be deleted.
In order to solve it we need to bring control_cleanup() function, which calls
unlink(2), into the main proc which is not chrooted. This is the way it's
already done for several other daemons we have in our base.
Additionally we also need to move the "cpath" pledge(2) promise from the child
process to the main process in order for the latter to be allowed to delete the
socket and while here shuffle the promises into their canonical form.

OK florian@ and benno@
usr.sbin/eigrpd/eigrpd.c
usr.sbin/eigrpd/eigrpe.c