diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-01 17:05:57 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-01 17:05:57 +0000 |
commit | c82b5108e1a40f3b299043770e01d7d7db35de04 (patch) | |
tree | 35039a36868df644b8e5ffc766c1b0c921c88ab5 /networking/udhcp/socket.c | |
parent | dc7a5eae36d31f5cfc301de2499329b8a03ea660 (diff) | |
download | busybox-w32-c82b5108e1a40f3b299043770e01d7d7db35de04.tar.gz busybox-w32-c82b5108e1a40f3b299043770e01d7d7db35de04.tar.bz2 busybox-w32-c82b5108e1a40f3b299043770e01d7d7db35de04.zip |
udhcp: new config option "Rewrite the lease file at every new acknowledge"
(Mats Erik Andersson <mats@blue2net.com> (Blue2Net AB))
udhcp: consistently treat server_config.start/end IPs as host-order
fix IP parsing for 64bit machines
fix unsafe hton macro usage in read_opt()
do not chdir("/") when daemonizing
fix help text
Diffstat (limited to 'networking/udhcp/socket.c')
-rw-r--r-- | networking/udhcp/socket.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/networking/udhcp/socket.c b/networking/udhcp/socket.c index d294fb259..be5985f88 100644 --- a/networking/udhcp/socket.c +++ b/networking/udhcp/socket.c | |||
@@ -43,7 +43,7 @@ int read_interface(const char *interface, int *ifindex, uint32_t *addr, uint8_t | |||
43 | struct ifreq ifr; | 43 | struct ifreq ifr; |
44 | struct sockaddr_in *our_ip; | 44 | struct sockaddr_in *our_ip; |
45 | 45 | ||
46 | memset(&ifr, 0, sizeof(struct ifreq)); | 46 | memset(&ifr, 0, sizeof(ifr)); |
47 | fd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); | 47 | fd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); |
48 | if (fd < 0) { | 48 | if (fd < 0) { |
49 | bb_perror_msg("socket failed"); | 49 | bb_perror_msg("socket failed"); |
@@ -54,7 +54,8 @@ int read_interface(const char *interface, int *ifindex, uint32_t *addr, uint8_t | |||
54 | strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name)); | 54 | strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name)); |
55 | if (addr) { | 55 | if (addr) { |
56 | if (ioctl(fd, SIOCGIFADDR, &ifr) != 0) { | 56 | if (ioctl(fd, SIOCGIFADDR, &ifr) != 0) { |
57 | bb_perror_msg("SIOCGIFADDR failed, is the interface up and configured?"); | 57 | bb_perror_msg("SIOCGIFADDR failed (is interface %s " |
58 | "up and configured?)", interface); | ||
58 | close(fd); | 59 | close(fd); |
59 | return -1; | 60 | return -1; |
60 | } | 61 | } |
@@ -117,7 +118,7 @@ int listen_socket(uint32_t ip, int port, const char *inf) | |||
117 | return -1; | 118 | return -1; |
118 | } | 119 | } |
119 | 120 | ||
120 | if (bind(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr)) == -1) { | 121 | if (bind(fd, (struct sockaddr *)&addr, sizeof(addr)) == -1) { |
121 | close(fd); | 122 | close(fd); |
122 | return -1; | 123 | return -1; |
123 | } | 124 | } |