From: Mitchell E Berger Date: Tue, 26 Jun 2018 02:10:52 +0000 (-0400) Subject: Fix XVM's classic networking problem X-Git-Tag: 0.0.12^0 X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-dhcp.git/commitdiff_plain/refs/heads/mitchb Fix XVM's classic networking problem Kill arpspoof with SIGKILL when we're done with it so it doesn't try to "clean up" and potentially tell the router that your MAC is all-zeros. --- diff --git a/debian/changelog b/debian/changelog index 8a3ff45..97777ae 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +invirt-dhcp (0.0.12) unstable; urgency=low + + * Kill arpspoof with SIGKILL when we're done with it so it doesn't + try to "clean up" and potentially tell the router that your MAC + is all-zeros. + + -- Mitchell Berger Mon, 25 Jun 2018 22:11:00 -0400 + invirt-dhcp (0.0.11) unstable; urgency=low * Fix the typo that causes what once took quadratic time (2ms) to diff --git a/invirt-dhcpserver b/invirt-dhcpserver index ddad34e..20a0816 100755 --- a/invirt-dhcpserver +++ b/invirt-dhcpserver @@ -413,7 +413,7 @@ class ArpspoofWorker(Thread): while True: (ip, gw) = self.queue.get() try: - p = Popen(['timeout', '5', 'arpspoof', '-i', self.iface, '-t', gw, ip], stdout=PIPE, stderr=PIPE) + p = Popen(['timeout', '-s', 'KILL', '5', 'arpspoof', '-i', self.iface, '-t', gw, ip], stdout=PIPE, stderr=PIPE) (out, err) = p.communicate() if p.returncode != 124: s.syslog(s.LOG_ERR, "arpspoof returned %s for IP %s gateway %s" % (p.returncode, ip, gw))