Three patches from FreeWRT people
This commit is contained in:
		@@ -484,7 +484,12 @@ static const struct dhcp_client_t ext_dhcp_clients[] = {
 | 
			
		||||
static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
 | 
			
		||||
{
 | 
			
		||||
#if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP
 | 
			
		||||
	int i ;
 | 
			
		||||
#if ENABLE_FEATURE_IFUPDOWN_IP
 | 
			
		||||
	/* ip doesn't up iface when it configures it (unlike ifconfig) */
 | 
			
		||||
	if (!execute("ip link set %iface% up", ifd, exec))
 | 
			
		||||
		return 0;
 | 
			
		||||
#endif
 | 
			
		||||
	int i;
 | 
			
		||||
	for (i = 0; i < ARRAY_SIZE(ext_dhcp_clients); i++) {
 | 
			
		||||
		if (exists_execable(ext_dhcp_clients[i].name))
 | 
			
		||||
			return execute(ext_dhcp_clients[i].startcmd, ifd, exec);
 | 
			
		||||
@@ -492,6 +497,11 @@ static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
 | 
			
		||||
	bb_error_msg("no dhcp clients found");
 | 
			
		||||
	return 0;
 | 
			
		||||
#elif ENABLE_APP_UDHCPC
 | 
			
		||||
#if ENABLE_FEATURE_IFUPDOWN_IP
 | 
			
		||||
	/* ip doesn't up iface when it configures it (unlike ifconfig) */
 | 
			
		||||
	if (!execute("ip link set %iface% up", ifd, exec))
 | 
			
		||||
		return 0;
 | 
			
		||||
#endif
 | 
			
		||||
	return execute("udhcpc -R -n -p /var/run/udhcpc.%iface%.pid "
 | 
			
		||||
			"-i %iface%[[ -H %hostname%]][[ -c %clientid%]][[ -s %script%]]",
 | 
			
		||||
			ifd, exec);
 | 
			
		||||
@@ -503,7 +513,7 @@ static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
 | 
			
		||||
static int dhcp_down(struct interface_defn_t *ifd, execfn *exec)
 | 
			
		||||
{
 | 
			
		||||
#if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP
 | 
			
		||||
	int i ;
 | 
			
		||||
	int i;
 | 
			
		||||
	for (i = 0; i < ARRAY_SIZE(ext_dhcp_clients); i++) {
 | 
			
		||||
		if (exists_execable(ext_dhcp_clients[i].name))
 | 
			
		||||
			return execute(ext_dhcp_clients[i].stopcmd, ifd, exec);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user