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