From 149df324e6f1aca5ba2f043dba6614c65b499968 Mon Sep 17 00:00:00 2001 From: Mitchell E Berger Date: Mon, 25 Jun 2018 22:10:52 -0400 Subject: [PATCH] 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. --- debian/changelog | 8 ++++++++ invirt-dhcpserver | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) 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)) -- 1.7.9.5