summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkrw <krw@openbsd.org>2015-02-05 09:42:52 +0000
committerkrw <krw@openbsd.org>2015-02-05 09:42:52 +0000
commit7597658634e050ffdda5238893fffec634272ff6 (patch)
tree79e7c01b754f06e250aaf15d398a4eaf481d710a
parentunbreak the tree, oups (diff)
downloadwireguard-openbsd-7597658634e050ffdda5238893fffec634272ff6.tar.xz
wireguard-openbsd-7597658634e050ffdda5238893fffec634272ff6.zip
The pf table process should die if the pipe to the dhcpd process is
closed. e.g. dhcpd has been killed. ok henning@
-rw-r--r--usr.sbin/dhcpd/pfutils.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/dhcpd/pfutils.c b/usr.sbin/dhcpd/pfutils.c
index 8e385ab5b87..7f11185744a 100644
--- a/usr.sbin/dhcpd/pfutils.c
+++ b/usr.sbin/dhcpd/pfutils.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pfutils.c,v 1.12 2015/01/21 21:50:33 deraadt Exp $ */
+/* $OpenBSD: pfutils.c,v 1.13 2015/02/05 09:42:52 krw Exp $ */
/*
* Copyright (c) 2006 Chris Kuethe <ckuethe@openbsd.org>
*
@@ -73,6 +73,9 @@ pftable_handler()
if (errno != EINTR)
error("poll: %m");
+ if (nfds > 0 && (pfd[0].revents & POLLHUP))
+ error("pf pipe closed");
+
if (nfds > 0 && (pfd[0].revents & POLLIN)) {
bzero(&cmd, l);
r = atomicio(read, pfpipe[0], &cmd, l);