udhcpc: fix my breakage
This commit is contained in:
parent
1fffe38e01
commit
c2f5b02293
@ -151,10 +151,9 @@ static char **fill_envp(struct dhcpMessage *packet)
|
|||||||
envp[j] = xmalloc(sizeof("ip=255.255.255.255"));
|
envp[j] = xmalloc(sizeof("ip=255.255.255.255"));
|
||||||
sprintip(envp[j++], "ip=", (uint8_t *) &packet->yiaddr);
|
sprintip(envp[j++], "ip=", (uint8_t *) &packet->yiaddr);
|
||||||
|
|
||||||
|
|
||||||
for (i = 0; dhcp_options[i].code; i++) {
|
for (i = 0; dhcp_options[i].code; i++) {
|
||||||
temp = get_option(packet, dhcp_options[i].code);
|
temp = get_option(packet, dhcp_options[i].code);
|
||||||
if (temp)
|
if (!temp)
|
||||||
continue;
|
continue;
|
||||||
envp[j] = xmalloc(upper_length(temp[OPT_LEN - 2],
|
envp[j] = xmalloc(upper_length(temp[OPT_LEN - 2],
|
||||||
dhcp_options[i].flags & TYPE_MASK) + strlen(dhcp_options[i].name) + 2);
|
dhcp_options[i].flags & TYPE_MASK) + strlen(dhcp_options[i].name) + 2);
|
||||||
@ -205,7 +204,6 @@ void udhcp_run_script(struct dhcpMessage *packet, const char *name)
|
|||||||
return;
|
return;
|
||||||
} else if (pid == 0) {
|
} else if (pid == 0) {
|
||||||
/* close fd's? */
|
/* close fd's? */
|
||||||
|
|
||||||
/* exec script */
|
/* exec script */
|
||||||
execle(client_config.script, client_config.script,
|
execle(client_config.script, client_config.script,
|
||||||
name, NULL, envp);
|
name, NULL, envp);
|
||||||
|
@ -53,7 +53,7 @@ int read_interface(char *interface, int *ifindex, uint32_t *addr, uint8_t *arp)
|
|||||||
ifr.ifr_addr.sa_family = AF_INET;
|
ifr.ifr_addr.sa_family = AF_INET;
|
||||||
strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name));
|
strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name));
|
||||||
if (addr) {
|
if (addr) {
|
||||||
if (ioctl(fd, SIOCGIFADDR, &ifr) == 0) {
|
if (ioctl(fd, SIOCGIFADDR, &ifr) != 0) {
|
||||||
bb_perror_msg("SIOCGIFADDR failed, is the interface up and configured?");
|
bb_perror_msg("SIOCGIFADDR failed, is the interface up and configured?");
|
||||||
close(fd);
|
close(fd);
|
||||||
return -1;
|
return -1;
|
||||||
@ -64,7 +64,7 @@ int read_interface(char *interface, int *ifindex, uint32_t *addr, uint8_t *arp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ifindex) {
|
if (ifindex) {
|
||||||
if (ioctl(fd, SIOCGIFINDEX, &ifr) == 0) {
|
if (ioctl(fd, SIOCGIFINDEX, &ifr) != 0) {
|
||||||
bb_perror_msg("SIOCGIFINDEX failed");
|
bb_perror_msg("SIOCGIFINDEX failed");
|
||||||
close(fd);
|
close(fd);
|
||||||
return -1;
|
return -1;
|
||||||
|
Loading…
Reference in New Issue
Block a user