0acc1b8
diff -up dhcp-4.2.3-P1/server/dhcpd.c.paranoia dhcp-4.2.3-P1/server/dhcpd.c
0acc1b8
--- dhcp-4.2.3-P1/server/dhcpd.c.paranoia	2011-12-20 18:02:26.000000000 +0100
0acc1b8
+++ dhcp-4.2.3-P1/server/dhcpd.c	2011-12-20 18:03:43.840037108 +0100
0acc1b8
@@ -771,22 +771,6 @@ main(int argc, char **argv) {
278bc55
 			exit (0);
278bc55
 	}
278bc55
  
278bc55
-#if defined (PARANOIA)
278bc55
-	/* change uid to the specified one */
278bc55
-
278bc55
-	if (set_gid) {
278bc55
-		if (setgroups (0, (void *)0))
278bc55
-			log_fatal ("setgroups: %m");
278bc55
-		if (setgid (set_gid))
278bc55
-			log_fatal ("setgid(%d): %m", (int) set_gid);
278bc55
-	}	
278bc55
-
278bc55
-	if (set_uid) {
278bc55
-		if (setuid (set_uid))
278bc55
-			log_fatal ("setuid(%d): %m", (int) set_uid);
278bc55
-	}
278bc55
-#endif /* PARANOIA */
278bc55
-
278bc55
 	/*
278bc55
 	 * Deal with pid files.  If the user told us
278bc55
 	 * not to write a file we don't read one either
0acc1b8
@@ -823,6 +807,22 @@ main(int argc, char **argv) {
278bc55
 		}
278bc55
 	}
278bc55
 
278bc55
+#if defined (PARANOIA)
278bc55
+	/* change uid to the specified one */
278bc55
+
278bc55
+	if (set_gid) {
278bc55
+		if (setgroups (0, (void *)0))
278bc55
+			log_fatal ("setgroups: %m");
278bc55
+		if (setgid (set_gid))
278bc55
+			log_fatal ("setgid(%d): %m", (int) set_gid);
278bc55
+	}	
278bc55
+
278bc55
+	if (set_uid) {
278bc55
+		if (setuid (set_uid))
278bc55
+			log_fatal ("setuid(%d): %m", (int) set_uid);
278bc55
+	}
278bc55
+#endif /* PARANOIA */
278bc55
+
278bc55
 	/* If we were requested to log to stdout on the command line,
278bc55
 	   keep doing so; otherwise, stop. */
278bc55
 	if (log_perror == -1)