Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Mention exclude improvements.
[rsync/rsync.git]
/
socket.c
diff --git
a/socket.c
b/socket.c
index
fc01edf
..
264c532
100644
(file)
--- a/
socket.c
+++ b/
socket.c
@@
-48,11
+48,11
@@
static int establish_proxy_connection(int fd, char *host, int port,
int len;
if (proxy_user && proxy_pass) {
int len;
if (proxy_user && proxy_pass) {
- s
nprintf(buffer, sizeof buffer, "%s:%s"
,
- proxy_user,
proxy_pass
);
+ s
tringjoin(buffer, sizeof buffer
,
+ proxy_user,
":", proxy_pass, NULL
);
len = strlen(buffer);
len = strlen(buffer);
- if ((len*8 + 5) / 6
- 2
>= (int)sizeof authbuf) {
+ if ((len*8 + 5) / 6 >= (int)sizeof authbuf) {
rprintf(FERROR,
"authentication information is too long\n");
return -1;
rprintf(FERROR,
"authentication information is too long\n");
return -1;
@@
-299,9
+299,14
@@
int open_socket_out(char *host, int port, const char *bind_address,
int open_socket_out_wrapped(char *host, int port, const char *bind_address,
int af_hint)
{
int open_socket_out_wrapped(char *host, int port, const char *bind_address,
int af_hint)
{
- char *prog;
+ char *prog
= getenv("RSYNC_CONNECT_PROG")
;
- if ((prog = getenv("RSYNC_CONNECT_PROG")) != NULL)
+ if (verbose >= 2) {
+ rprintf(FINFO, "%sopening tcp connection to %s port %d\n",
+ prog ? "Using RSYNC_CONNECT_PROG instead of " : "",
+ host, port);
+ }
+ if (prog)
return sock_exec(prog);
return open_socket_out(host, port, bind_address, af_hint);
}
return sock_exec(prog);
return open_socket_out(host, port, bind_address, af_hint);
}
@@
-431,10
+436,10
@@
int is_a_socket(int fd)
static RETSIGTYPE sigchld_handler(UNUSED(int val))
{
static RETSIGTYPE sigchld_handler(UNUSED(int val))
{
- signal(SIGCHLD, sigchld_handler);
#ifdef WNOHANG
while (waitpid(-1, NULL, WNOHANG) > 0) {}
#endif
#ifdef WNOHANG
while (waitpid(-1, NULL, WNOHANG) > 0) {}
#endif
+ signal(SIGCHLD, sigchld_handler);
}
}
@@
-698,7
+703,7
@@
static int socketpair_tcp(int fd[2])
goto failed;
memset(&sock2, 0, sizeof sock2);
goto failed;
memset(&sock2, 0, sizeof sock2);
-#if
def HAVE_SOCKADDR
_LEN
+#if
HAVE_SOCKADDR_IN
_LEN
sock2.sin_len = sizeof sock2;
#endif
sock2.sin_family = PF_INET;
sock2.sin_len = sizeof sock2;
#endif
sock2.sin_family = PF_INET;
@@
-769,18
+774,14
@@
int sock_exec(const char *prog)
strerror(errno));
return -1;
}
strerror(errno));
return -1;
}
+ if (verbose >= 2)
+ rprintf(FINFO, "Running socket program: \"%s\"\n", prog);
if (fork() == 0) {
close(fd[0]);
close(0);
close(1);
dup(fd[1]);
dup(fd[1]);
if (fork() == 0) {
close(fd[0]);
close(0);
close(1);
dup(fd[1]);
dup(fd[1]);
- if (verbose > 3) {
- /* Can't use rprintf because we've forked. */
- fprintf(stderr,
- RSYNC_NAME ": execute socket program \"%s\"\n",
- prog);
- }
exit(system(prog));
}
close(fd[1]);
exit(system(prog));
}
close(fd[1]);