X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/e23d790fa73c6c615a81e16d21a7f7684922253c..32f761755e2cfee243a1513c9ea9871586463fa6:/socket.c diff --git a/socket.c b/socket.c index acf6234b..bb7acc06 100644 --- a/socket.c +++ b/socket.c @@ -34,8 +34,10 @@ #include "rsync.h" -/* Establish a proxy connection on an open socket to a web roxy by - * using the CONNECT method. */ +/** + * Establish a proxy connection on an open socket to a web proxy by + * using the HTTP CONNECT method. + **/ static int establish_proxy_connection(int fd, char *host, int port) { char buffer[1024]; @@ -68,7 +70,7 @@ static int establish_proxy_connection(int fd, char *host, int port) buffer); return -1; } - for (cp = &buffer[5]; isdigit(*cp) || (*cp == '.'); cp++) + for (cp = &buffer[5]; isdigit(* (unsigned char *) cp) || (*cp == '.'); cp++) ; while (*cp == ' ') cp++; @@ -119,17 +121,17 @@ int try_bind_local(int s, return -1; } - /* FIXME: Call freeaddrinfo() on all return paths! */ - for (r = bres_all; r; r = r->ai_next) { if (bind(s, r->ai_addr, r->ai_addrlen) == -1) continue; + freeaddrinfo(bres_all); return s; } /* no error message; there might be some problem that allows * creation of the socket but not binding, perhaps if the * machine has no ipv6 address of this name. */ + freeaddrinfo(bres_all); return -1; } @@ -332,7 +334,7 @@ static int open_socket_in(int type, int port, const char *bind_address, continue; } - /* FIXME: Call freeaddrinfo? */ + freeaddrinfo(all_ai); return s; } @@ -494,9 +496,9 @@ struct -/**************************************************************************** -set user socket options -****************************************************************************/ +/** + * Set user socket options + **/ void set_socket_options(int fd, char *options) { char *tok; @@ -554,9 +556,9 @@ void set_socket_options(int fd, char *options) free(options); } -/**************************************************************************** -become a daemon, discarding the controlling terminal -****************************************************************************/ +/** + * Become a daemon, discarding the controlling terminal + **/ void become_daemon(void) { int i; @@ -586,14 +588,15 @@ void become_daemon(void) } -/******************************************************************* -this is like socketpair but uses tcp. It is used by the Samba -regression test code -The function guarantees that nobody else can attach to the socket, -or if they do that this function fails and the socket gets closed -returns 0 on success, -1 on failure -the resulting file descriptors are symmetrical - ******************************************************************/ +/** + * This is like socketpair but uses tcp. It is used by the Samba + * regression test code. + * + * The function guarantees that nobody else can attach to the socket, + * or if they do that this function fails and the socket gets closed + * returns 0 on success, -1 on failure the resulting file descriptors + * are symmetrical. + **/ static int socketpair_tcp(int fd[2]) { int listener;