From b6e22a47d3ed994c63876fe57ffd1cdccbb750ac Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Tue, 30 Aug 2005 16:13:54 +0000 Subject: [PATCH] - Allow --no-v and --no-verbose in the daemon options. - If a too-long --temp-dir is specified when starting a daemon, omplain to the daemon-starting user, not later to the client. --- options.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/options.c b/options.c index 0deb4fa7..669b15f9 100644 --- a/options.c +++ b/options.c @@ -532,6 +532,8 @@ static struct poptOption long_daemon_options[] = { {"server", 0, POPT_ARG_NONE, &am_server, 0, 0, 0 }, {"temp-dir", 'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 }, {"verbose", 'v', POPT_ARG_NONE, 0, 'v', 0, 0 }, + {"no-verbose", 0, POPT_ARG_VAL, &verbose, 0, 0, 0 }, + {"no-v", 0, POPT_ARG_VAL, &verbose, 0, 0, 0 }, {"help", 'h', POPT_ARG_NONE, 0, 'h', 0, 0 }, {0,0,0,0, 0, 0, 0} }; @@ -749,6 +751,13 @@ int parse_arguments(int *argc, const char ***argv, int frommain) goto daemon_error; } } + + if (tmpdir && strlen(tmpdir) >= MAXPATHLEN - 10) { + snprintf(err_buf, sizeof err_buf, + "the --temp-dir path is WAY too long.\n"); + return 0; + } + if (!daemon_opt) { rprintf(FERROR, "Daemon option(s) used without --daemon.\n"); daemon_error: @@ -756,6 +765,7 @@ int parse_arguments(int *argc, const char ***argv, int frommain) "(Type \"rsync --daemon --help\" for assistance with daemon mode.)\n"); exit_cleanup(RERR_SYNTAX); } + *argv = poptGetArgs(pc); *argc = count_args(*argv); am_starting_up = 0; -- 2.34.1