Fix XVM's classic networking problem mitchb precise-dev precise-prod 0.0.12
authorMitchell E Berger <mitchb@mit.edu>
Tue, 26 Jun 2018 02:10:52 +0000 (22:10 -0400)
committerMitchell E Berger <mitchb@mit.edu>
Tue, 26 Jun 2018 02:10:52 +0000 (22:10 -0400)
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
invirt-dhcpserver

index 8a3ff45..97777ae 100644 (file)
@@ -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 <mitchb@mit.edu>  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
index ddad34e..20a0816 100755 (executable)
@@ -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))