Package: iodine
Version: 0.4.0-3
Severity: important
tags: patch

iodine chroots and drops privileges before calling daemoon(). This
causes daemon() to be unable to detach from the terminal properly. This
stops it being used as a system service (as the terminal may close).
Here is a patch.

Matthew W. S. Bell
diff -ruN iodine-0.4.0/src/iodine.c iodine-0.4.0.new/src/iodine.c
--- iodine-0.4.0/src/iodine.c	2007-03-25 13:41:20.000000000 +0100
+++ iodine-0.4.0.new/src/iodine.c	2007-11-10 02:04:59.000000000 +0000
@@ -564,6 +564,10 @@
 	
 	printf("Sending queries for %s to %s\n", argv[1], argv[0]);
 
+	if (!foreground) {
+		do_detach();
+	}
+
 	do_chroot(newroot);
 	
 	if (username) {
@@ -573,10 +577,6 @@
 		}
 	}
 	
-	if (!foreground) {
-		do_detach();
-	}
-
 	tunnel(tun_fd, dns_fd);
 
 cleanup2:

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to