diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2006-12-19 16:31:09 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2006-12-19 16:31:09 +0000 |
commit | 28fbd69bf8a0482de2816cc189fdd0e9ed551997 (patch) | |
tree | c2d7e7b1e0b9b87748cb74b52dd3599d5500feca /networking/udhcp | |
parent | 359d7ca0e70d4acfc3b7e792bf28f5b5581af8ff (diff) | |
download | busybox-w32-28fbd69bf8a0482de2816cc189fdd0e9ed551997.tar.gz busybox-w32-28fbd69bf8a0482de2816cc189fdd0e9ed551997.tar.bz2 busybox-w32-28fbd69bf8a0482de2816cc189fdd0e9ed551997.zip |
- use xlisten/xsocket some more. Saves .25 kB
Diffstat (limited to 'networking/udhcp')
-rw-r--r-- | networking/udhcp/clientsocket.c | 12 | ||||
-rw-r--r-- | networking/udhcp/dhcpc.c | 4 | ||||
-rw-r--r-- | networking/udhcp/dhcpd.c | 4 | ||||
-rw-r--r-- | networking/udhcp/dhcprelay.c | 4 | ||||
-rw-r--r-- | networking/udhcp/socket.c | 6 |
5 files changed, 3 insertions, 27 deletions
diff --git a/networking/udhcp/clientsocket.c b/networking/udhcp/clientsocket.c index b8803f04e..541f883b5 100644 --- a/networking/udhcp/clientsocket.c +++ b/networking/udhcp/clientsocket.c | |||
@@ -40,20 +40,12 @@ int raw_socket(int ifindex) | |||
40 | struct sockaddr_ll sock; | 40 | struct sockaddr_ll sock; |
41 | 41 | ||
42 | DEBUG("Opening raw socket on ifindex %d", ifindex); | 42 | DEBUG("Opening raw socket on ifindex %d", ifindex); |
43 | fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP)); | 43 | fd = xsocket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP)); |
44 | if (fd < 0) { | ||
45 | bb_perror_msg("socket"); | ||
46 | return -1; | ||
47 | } | ||
48 | 44 | ||
49 | sock.sll_family = AF_PACKET; | 45 | sock.sll_family = AF_PACKET; |
50 | sock.sll_protocol = htons(ETH_P_IP); | 46 | sock.sll_protocol = htons(ETH_P_IP); |
51 | sock.sll_ifindex = ifindex; | 47 | sock.sll_ifindex = ifindex; |
52 | if (bind(fd, (struct sockaddr *) &sock, sizeof(sock)) < 0) { | 48 | xbind(fd, (struct sockaddr *) &sock, sizeof(sock)); |
53 | bb_perror_msg("bind"); | ||
54 | close(fd); | ||
55 | return -1; | ||
56 | } | ||
57 | 49 | ||
58 | return fd; | 50 | return fd; |
59 | } | 51 | } |
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c index 71315ff0a..e042da89a 100644 --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c | |||
@@ -278,10 +278,6 @@ int udhcpc_main(int argc, char *argv[]) | |||
278 | fd = listen_socket(INADDR_ANY, CLIENT_PORT, client_config.interface); | 278 | fd = listen_socket(INADDR_ANY, CLIENT_PORT, client_config.interface); |
279 | else | 279 | else |
280 | fd = raw_socket(client_config.ifindex); | 280 | fd = raw_socket(client_config.ifindex); |
281 | if (fd < 0) { | ||
282 | bb_perror_msg("FATAL: cannot listen on socket"); | ||
283 | return 0; | ||
284 | } | ||
285 | } | 281 | } |
286 | max_fd = udhcp_sp_fd_set(&rfds, fd); | 282 | max_fd = udhcp_sp_fd_set(&rfds, fd); |
287 | 283 | ||
diff --git a/networking/udhcp/dhcpd.c b/networking/udhcp/dhcpd.c index 74380367f..7d0b8fad1 100644 --- a/networking/udhcp/dhcpd.c +++ b/networking/udhcp/dhcpd.c | |||
@@ -70,10 +70,6 @@ int udhcpd_main(int argc, char *argv[]) | |||
70 | 70 | ||
71 | if (server_socket < 0) { | 71 | if (server_socket < 0) { |
72 | server_socket = listen_socket(INADDR_ANY, SERVER_PORT, server_config.interface); | 72 | server_socket = listen_socket(INADDR_ANY, SERVER_PORT, server_config.interface); |
73 | if (server_socket < 0) { | ||
74 | bb_perror_msg("FATAL: cannot create server socket"); | ||
75 | return 2; | ||
76 | } | ||
77 | } | 73 | } |
78 | 74 | ||
79 | max_sock = udhcp_sp_fd_set(&rfds, server_socket); | 75 | max_sock = udhcp_sp_fd_set(&rfds, server_socket); |
diff --git a/networking/udhcp/dhcprelay.c b/networking/udhcp/dhcprelay.c index e3a816886..052739400 100644 --- a/networking/udhcp/dhcprelay.c +++ b/networking/udhcp/dhcprelay.c | |||
@@ -169,7 +169,6 @@ static int init_sockets(char **client, int num_clients, | |||
169 | 169 | ||
170 | /* talk to real server on bootps */ | 170 | /* talk to real server on bootps */ |
171 | fds[0] = listen_socket(htonl(INADDR_ANY), 67, server); | 171 | fds[0] = listen_socket(htonl(INADDR_ANY), 67, server); |
172 | if (fds[0] < 0) return -1; | ||
173 | *max_socket = fds[0]; | 172 | *max_socket = fds[0]; |
174 | 173 | ||
175 | /* array starts at 1 since server is 0 */ | 174 | /* array starts at 1 since server is 0 */ |
@@ -178,7 +177,6 @@ static int init_sockets(char **client, int num_clients, | |||
178 | for (i=1; i < num_clients; i++) { | 177 | for (i=1; i < num_clients; i++) { |
179 | /* listen for clients on bootps */ | 178 | /* listen for clients on bootps */ |
180 | fds[i] = listen_socket(htonl(INADDR_ANY), 67, client[i-1]); | 179 | fds[i] = listen_socket(htonl(INADDR_ANY), 67, client[i-1]); |
181 | if (fds[i] < 0) return -1; | ||
182 | if (fds[i] > *max_socket) *max_socket = fds[i]; | 180 | if (fds[i] > *max_socket) *max_socket = fds[i]; |
183 | } | 181 | } |
184 | 182 | ||
@@ -321,8 +319,6 @@ int dhcprelay_main(int argc, char **argv) | |||
321 | signal(SIGINT, dhcprelay_signal_handler); | 319 | signal(SIGINT, dhcprelay_signal_handler); |
322 | 320 | ||
323 | num_sockets = init_sockets(clients, num_sockets, argv[2], fds, &max_socket); | 321 | num_sockets = init_sockets(clients, num_sockets, argv[2], fds, &max_socket); |
324 | if (num_sockets == -1) | ||
325 | bb_perror_msg_and_die("init_sockets() failed"); | ||
326 | 322 | ||
327 | if (read_interface(argv[2], NULL, &gw_ip, NULL) == -1) | 323 | if (read_interface(argv[2], NULL, &gw_ip, NULL) == -1) |
328 | return 1; | 324 | return 1; |
diff --git a/networking/udhcp/socket.c b/networking/udhcp/socket.c index 9ea200280..8138f5a86 100644 --- a/networking/udhcp/socket.c +++ b/networking/udhcp/socket.c | |||
@@ -95,11 +95,7 @@ int listen_socket(uint32_t ip, int port, char *inf) | |||
95 | struct sockaddr_in addr; | 95 | struct sockaddr_in addr; |
96 | 96 | ||
97 | DEBUG("Opening listen socket on 0x%08x:%d %s", ip, port, inf); | 97 | DEBUG("Opening listen socket on 0x%08x:%d %s", ip, port, inf); |
98 | fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); | 98 | fd = xsocket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); |
99 | if (fd < 0) { | ||
100 | bb_perror_msg("socket"); | ||
101 | return -1; | ||
102 | } | ||
103 | 99 | ||
104 | memset(&addr, 0, sizeof(addr)); | 100 | memset(&addr, 0, sizeof(addr)); |
105 | addr.sin_family = AF_INET; | 101 | addr.sin_family = AF_INET; |