introduce and use xdup2(int, int)

stop checking whether setsockopt_reuseaddr(int fd) was successful (it always is)
remove second parameter (sockllen) from xmalloc_sockaddr2xxxxx functions

sockaddr2str                                         142     156     +14
collect_blk                                          467     474      +7
xdup2                                                 28      33      +5
singlemount                                         4456    4454      -2
print_host                                           214     212      -2
nslookup_main                                        139     137      -2
ftpgetput_main                                       414     412      -2
udhcpd_main                                         1258    1255      -3
udhcpc_main                                         2405    2402      -3
traceroute_main                                     4125    4122      -3
nc_main                                             1072    1069      -3
buffer_fill_and_print                                 76      73      -3
xmalloc_sockaddr2hostonly_noport                      18      14      -4
xmalloc_sockaddr2host_noport                          18      14      -4
xmalloc_sockaddr2host                                 15      11      -4
xmalloc_sockaddr2dotted_noport                        18      14      -4
xmalloc_sockaddr2dotted                               18      14      -4
wget_main                                           2618    2614      -4
ping_main                                            393     389      -4
ip_port_str                                          120     115      -5
dhcprelay_main                                      1146    1141      -5
dnsd_main                                           1531    1525      -6
passwd_main                                         1110    1102      -8
udhcp_kernel_packet                                  206     197      -9
udhcp_listen_socket                                  154     144     -10
getty_main                                          2576    2566     -10
setup                                                655     640     -15
xmove_fd                                              51      34     -17
dolisten                                             759     742     -17
tcpudpsvd_main                                      1866    1836     -30
startservice                                         339     299     -40
This commit is contained in:
Denis Vlasenko
2007-08-18 14:16:39 +00:00
parent b98c26ad68
commit a27a11bb2c
23 changed files with 95 additions and 107 deletions

View File

@ -258,7 +258,7 @@ int tcpudpsvd_main(int argc, char **argv)
#endif
if (verbose) {
char *addr = xmalloc_sockaddr2dotted(&lsa->sa, sa_len);
char *addr = xmalloc_sockaddr2dotted(&lsa->sa);
printf("%s: info: listening on %s", applet_name, addr);
free(addr);
#ifndef SSLSVD
@ -302,7 +302,7 @@ int tcpudpsvd_main(int argc, char **argv)
if (max_per_host) {
/* Drop connection immediately if cur_per_host > max_per_host
* (minimizing load under SYN flood) */
remote_ip = xmalloc_sockaddr2dotted_noport(&remote.sa, sa_len);
remote_ip = xmalloc_sockaddr2dotted_noport(&remote.sa);
cur_per_host = ipsvd_perhost_add(remote_ip, max_per_host, &hccp);
if (cur_per_host > max_per_host) {
/* ipsvd_perhost_add detected that max is exceeded
@ -380,11 +380,11 @@ int tcpudpsvd_main(int argc, char **argv)
close(sock);
if (need_remote_ip)
remote_addr = xmalloc_sockaddr2dotted(&remote.sa, sa_len);
remote_addr = xmalloc_sockaddr2dotted(&remote.sa);
if (need_hostnames) {
if (option_mask32 & OPT_h) {
remote_hostname = xmalloc_sockaddr2host_noport(&remote.sa, sa_len);
remote_hostname = xmalloc_sockaddr2host_noport(&remote.sa);
if (!remote_hostname) {
bb_error_msg("warning: cannot look up hostname for %s", remote_addr);
remote_hostname = (char*)"";
@ -397,9 +397,9 @@ int tcpudpsvd_main(int argc, char **argv)
local.len = sa_len;
getsockname(0, &local.sa, &local.len);
}
local_addr = xmalloc_sockaddr2dotted(&local.sa, sa_len);
local_addr = xmalloc_sockaddr2dotted(&local.sa);
if (!local_hostname) {
local_hostname = xmalloc_sockaddr2host_noport(&local.sa, sa_len);
local_hostname = xmalloc_sockaddr2host_noport(&local.sa);
if (!local_hostname)
bb_error_msg_and_die("warning: cannot look up hostname for %s"+9, local_addr);
}
@ -426,7 +426,7 @@ int tcpudpsvd_main(int argc, char **argv)
* an outbond connection to local handler, and it needs
* to know where it originally tried to connect */
if (tcp && getsockopt(0, SOL_IP, SO_ORIGINAL_DST, &lsa->sa, &lsa->len) == 0) {
char *addr = xmalloc_sockaddr2dotted(&lsa->sa, sa_len);
char *addr = xmalloc_sockaddr2dotted(&lsa->sa);
xsetenv("TCPORIGDSTADDR", addr);
free(addr);
}