svn commit: r252697 - head/sbin/dhclient

Pawel Jakub Dawidek pjd at FreeBSD.org
Thu Jul 4 12:27:11 UTC 2013


Author: pjd
Date: Thu Jul  4 12:27:10 2013
New Revision: 252697
URL: http://svnweb.freebsd.org/changeset/base/252697

Log:
  Fix dhclient for interfaces that are down. The discover_interfaces() function
  that looks for interface skips interfaces that are not UP. We need to call
  dhclient-script PREINIT before we call discover_interfaces(), so the script has
  a chance to bring the interface UP.
  
  Reported by:	alfred

Modified:
  head/sbin/dhclient/dhclient.c

Modified: head/sbin/dhclient/dhclient.c
==============================================================================
--- head/sbin/dhclient/dhclient.c	Thu Jul  4 12:24:39 2013	(r252696)
+++ head/sbin/dhclient/dhclient.c	Thu Jul  4 12:27:10 2013	(r252697)
@@ -457,6 +457,11 @@ main(int argc, char *argv[])
 	if (gethostname(hostname, sizeof(hostname)) < 0)
 		hostname[0] = '\0';
 
+	priv_script_init("PREINIT", NULL);
+	if (ifi->client->alias)
+		priv_script_write_params("alias_", ifi->client->alias);
+	priv_script_go();
+
 	/* set up the interface */
 	discover_interfaces(ifi);
 
@@ -483,11 +488,6 @@ main(int argc, char *argv[])
 	rewrite_client_leases();
 	close(fd);
 
-	priv_script_init("PREINIT", NULL);
-	if (ifi->client->alias)
-		priv_script_write_params("alias_", ifi->client->alias);
-	priv_script_go();
-
 	if ((routefd = socket(PF_ROUTE, SOCK_RAW, 0)) != -1)
 		add_protocol("AF_ROUTE", routefd, routehandler, ifi);
 	if (shutdown(routefd, SHUT_WR) < 0)


More information about the svn-src-all mailing list