- use xlisten/xsocket some more. Saves .25 kB
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Tue, 19 Dec 2006 16:31:09 +0000 (16:31 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Tue, 19 Dec 2006 16:31:09 +0000 (16:31 -0000)
networking/dnsd.c
networking/udhcp/clientsocket.c
networking/udhcp/dhcpc.c
networking/udhcp/dhcpd.c
networking/udhcp/dhcprelay.c
networking/udhcp/socket.c

index 5e9cf52f1590b0d1596d107643d8bc3da1e4dbec..6f1ec0ea4ce125e6e056a073a491dc5a85f4fe56 100644 (file)
@@ -199,21 +199,21 @@ static int listen_socket(char *iface_addr, int listen_port)
 {
        struct sockaddr_in a;
        char msg[100];
-       int s;
-       s = xsocket(PF_INET, SOCK_DGRAM, 0);
-       if (setsockopt_reuseaddr(s) < 0)
+       int sck;
+       sck = xsocket(PF_INET, SOCK_DGRAM, 0);
+       if (setsockopt_reuseaddr(sck) < 0)
                bb_perror_msg_and_die("setsockopt() failed");
        memset(&a, 0, sizeof(a));
        a.sin_port = htons(listen_port);
        a.sin_family = AF_INET;
        if (!inet_aton(iface_addr, &a.sin_addr))
                bb_perror_msg_and_die("bad iface address");
-       xbind(s, (struct sockaddr *)&a, sizeof(a));
-       xlisten(s, 50);
+       xbind(sck, (struct sockaddr *)&a, sizeof(a));
+       xlisten(sck, 50);
        sprintf(msg, "accepting UDP packets on addr:port %s:%d\n",
                iface_addr, (int)listen_port);
        log_message(LOG_FILE, msg);
-       return s;
+       return sck;
 }
 
 /*
@@ -412,8 +412,6 @@ int dnsd_main(int argc, char **argv)
 #endif
 
        udps = listen_socket(listen_interface, port);
-       if (udps < 0)
-               exit(1);
 
        while (1) {
                fd_set fdset;
index b8803f04e684ac1b926a49323f3f5379b137c67a..541f883b5bfb6570beb4bc2a7ee95c3cb0a3371c 100644 (file)
@@ -40,20 +40,12 @@ int raw_socket(int ifindex)
        struct sockaddr_ll sock;
 
        DEBUG("Opening raw socket on ifindex %d", ifindex);
-       fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
-       if (fd < 0) {
-               bb_perror_msg("socket");
-               return -1;
-       }
+       fd = xsocket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
 
        sock.sll_family = AF_PACKET;
        sock.sll_protocol = htons(ETH_P_IP);
        sock.sll_ifindex = ifindex;
-       if (bind(fd, (struct sockaddr *) &sock, sizeof(sock)) < 0) {
-               bb_perror_msg("bind");
-               close(fd);
-               return -1;
-       }
+       xbind(fd, (struct sockaddr *) &sock, sizeof(sock));
 
        return fd;
 }
index 71315ff0aebc7a03c7ebb05313d45057dae2816e..e042da89a50fbb06cf78d43e1198c325232d0f01 100644 (file)
@@ -278,10 +278,6 @@ int udhcpc_main(int argc, char *argv[])
                                fd = listen_socket(INADDR_ANY, CLIENT_PORT, client_config.interface);
                        else
                                fd = raw_socket(client_config.ifindex);
-                       if (fd < 0) {
-                               bb_perror_msg("FATAL: cannot listen on socket");
-                               return 0;
-                       }
                }
                max_fd = udhcp_sp_fd_set(&rfds, fd);
 
index 74380367f24a46f4b446da49a3fa7acad16dee39..7d0b8fad12ea6e1152a3e38ebb8cd61516569ffc 100644 (file)
@@ -70,10 +70,6 @@ int udhcpd_main(int argc, char *argv[])
 
                if (server_socket < 0) {
                        server_socket = listen_socket(INADDR_ANY, SERVER_PORT, server_config.interface);
-                       if (server_socket < 0) {
-                               bb_perror_msg("FATAL: cannot create server socket");
-                               return 2;
-                       }
                }
 
                max_sock = udhcp_sp_fd_set(&rfds, server_socket);
index e3a81688603b7417b74da59f880b5d29840282f3..052739400a734975fd87d8b1b7aa5c065b7b13ce 100644 (file)
@@ -169,7 +169,6 @@ static int init_sockets(char **client, int num_clients,
 
        /* talk to real server on bootps */
        fds[0] = listen_socket(htonl(INADDR_ANY), 67, server);
-       if (fds[0] < 0) return -1;
        *max_socket = fds[0];
 
        /* array starts at 1 since server is 0 */
@@ -178,7 +177,6 @@ static int init_sockets(char **client, int num_clients,
        for (i=1; i < num_clients; i++) {
                /* listen for clients on bootps */
                fds[i] = listen_socket(htonl(INADDR_ANY), 67, client[i-1]);
-               if (fds[i] < 0) return -1;
                if (fds[i] > *max_socket) *max_socket = fds[i];
        }
 
@@ -321,8 +319,6 @@ int dhcprelay_main(int argc, char **argv)
        signal(SIGINT, dhcprelay_signal_handler);
 
        num_sockets = init_sockets(clients, num_sockets, argv[2], fds, &max_socket);
-       if (num_sockets == -1)
-               bb_perror_msg_and_die("init_sockets() failed");
 
        if (read_interface(argv[2], NULL, &gw_ip, NULL) == -1)
                return 1;
index 9ea2002808317d0a64a7154be68e69a2ade416ab..8138f5a86b31f3ec502e00447ffe998b958639a4 100644 (file)
@@ -95,11 +95,7 @@ int listen_socket(uint32_t ip, int port, char *inf)
        struct sockaddr_in addr;
 
        DEBUG("Opening listen socket on 0x%08x:%d %s", ip, port, inf);
-       fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
-       if (fd < 0) {
-               bb_perror_msg("socket");
-               return -1;
-       }
+       fd = xsocket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
 
        memset(&addr, 0, sizeof(addr));
        addr.sin_family = AF_INET;