X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/7b9598b2d5d0aa6aefe06731dc60612ee98646da..e208631a5b488a8bc6d0ad1d0a71a60faab2266e:/options.c diff --git a/options.c b/options.c index 5adcf7bc..82fb24c7 100644 --- a/options.c +++ b/options.c @@ -25,6 +25,7 @@ extern int module_id; extern int sanitize_paths; +extern int daemon_over_rsh; extern struct filter_list_struct filter_list; extern struct filter_list_struct server_filter_list; @@ -95,7 +96,6 @@ int recurse = 0; int allow_inc_recurse = 1; int xfer_dirs = -1; int am_daemon = 0; -int daemon_over_rsh = 0; int do_stats = 0; int do_progress = 0; int keep_partial = 0; @@ -329,7 +329,7 @@ void usage(enum logcode F) rprintf(F," -A, --acls preserve ACLs (implies --perms)\n"); #endif #ifdef SUPPORT_XATTRS - rprintf(F," -X, --xattrs preserve extended attributes (implies --perms)\n"); + rprintf(F," -X, --xattrs preserve extended attributes\n"); #endif rprintf(F," -o, --owner preserve owner (super-user only)\n"); rprintf(F," -g, --group preserve group\n"); @@ -1190,7 +1190,6 @@ int parse_arguments(int *argc, const char ***argv, int frommain) case 'X': #ifdef SUPPORT_XATTRS preserve_xattrs++; - preserve_perms = 1; break; #else snprintf(err_buf,sizeof(err_buf), @@ -1617,7 +1616,7 @@ void server_options(char **args,int *argc) /* This should always remain first on the server's command-line. */ args[ac++] = "--server"; - if (daemon_over_rsh) { + if (daemon_over_rsh > 0) { args[ac++] = "--daemon"; *argc = ac; /* if we're passing --daemon, we're done */ @@ -1887,6 +1886,9 @@ void server_options(char **args,int *argc) if (numeric_ids) args[ac++] = "--numeric-ids"; + if (!allow_inc_recurse) + args[ac++] = "--no-ir"; + if (am_sender) { if (ignore_existing) args[ac++] = "--ignore-existing"; @@ -1978,7 +1980,7 @@ char *check_for_hostspec(char *s, char **host_ptr, int *port_ptr) if (p[1] == ':') *port_ptr = atoi(p+2); } else { - if ((p = strchr(s, ':')) != NULL) { + if ((p = strchr(s, ':')) != NULL && p < s + hostlen) { hostlen = p - s; *port_ptr = atoi(p+1); }