X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/3b2b53456759d614a92f178fa43f9c9ec1332f8e..b67381d0dcd437cb60cef565264b69137918c69f:/clientserver.c diff --git a/clientserver.c b/clientserver.c index 64e4d896..00efea49 100644 --- a/clientserver.c +++ b/clientserver.c @@ -63,7 +63,7 @@ int start_socket_client(char *host, char *path, int argc, char *argv[]) } if (*path == '/') { - rprintf(FERROR,"ERROR: The remote path must start with a module name\n"); + rprintf(FERROR,"ERROR: The remote path must start with a module name not a /\n"); return -1; } @@ -117,6 +117,9 @@ int start_socket_client(char *host, char *path, int argc, char *argv[]) } if (strcmp(line,"@RSYNCD: OK") == 0) break; + + if (strcmp(line,"@RSYNCD: EXIT") == 0) exit(0); + rprintf(FINFO,"%s\n", line); } @@ -141,7 +144,7 @@ static int rsync_module(int fd, int i) char *argv[MAX_ARGS]; char **argp; char line[MAXPATHLEN]; - uid_t uid = (uid_t)-2; + uid_t uid = (uid_t)-2; /* canonically "nobody" */ gid_t gid = (gid_t)-2; char *p; char *addr = client_addr(fd); @@ -196,7 +199,7 @@ static int rsync_module(int fd, int i) if (!name_to_uid(p, &uid)) { if (!isdigit(*p)) { rprintf(FERROR,"Invalid uid %s\n", p); - io_printf(fd,"@ERROR: invalid uid\n"); + io_printf(fd,"@ERROR: invalid uid %s\n", p); return -1; } uid = atoi(p); @@ -206,7 +209,7 @@ static int rsync_module(int fd, int i) if (!name_to_gid(p, &gid)) { if (!isdigit(*p)) { rprintf(FERROR,"Invalid gid %s\n", p); - io_printf(fd,"@ERROR: invalid gid\n"); + io_printf(fd,"@ERROR: invalid gid %s\n", p); return -1; } gid = atoi(p); @@ -381,6 +384,8 @@ static void send_listing(int fd) for (i=0;i