From aaccaa887d486b6f1c73046e67afccf4e7985560 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Mon, 30 Jan 2006 21:47:02 +0000 Subject: [PATCH] Added support for the new "outgoing chmod" daemon option. --- clientserver.c | 11 ++++++++--- loadparm.c | 4 ++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/clientserver.c b/clientserver.c index 20d5253c..3b1567bf 100644 --- a/clientserver.c +++ b/clientserver.c @@ -684,9 +684,14 @@ static int rsync_module(int f_in, int f_out, int i) set_io_timeout(lp_timeout(i)); - p = lp_incoming_chmod(i); - if (*p && !parse_chmod(p, &chmod_modes)) - rprintf(FLOG, "Invalid \"incoming chmod\" directive: %s\n", p); + if (am_sender) + p = lp_outgoing_chmod(i); + else + p = lp_incoming_chmod(i); + if (*p && !parse_chmod(p, &chmod_modes)) { + rprintf(FLOG, "Invalid \"%sing chmod\" directive: %s\n", + am_sender ? "outgo" : "incom", p); + } start_server(f_in, f_out, argc, argv); diff --git a/loadparm.c b/loadparm.c index a83724f6..bd37ac99 100644 --- a/loadparm.c +++ b/loadparm.c @@ -133,6 +133,7 @@ typedef struct char *lock_file; char *log_format; char *name; + char *outgoing_chmod; char *path; char *postxfer_exec; char *prexfer_exec; @@ -177,6 +178,7 @@ static service sDefault = /* lock_file; */ DEFAULT_LOCK_FILE, /* log_format; */ "%o %h [%a] %m (%u) %f %l", /* name; */ NULL, + /* outgoing_chmod; */ NULL, /* path; */ NULL, /* postxfer_exec; */ NULL, /* prexfer_exec; */ NULL, @@ -307,6 +309,7 @@ static struct parm_struct parm_table[] = {"max connections", P_INTEGER,P_LOCAL, &sDefault.max_connections, NULL,0}, {"max verbosity", P_INTEGER,P_LOCAL, &sDefault.max_verbosity, NULL,0}, {"name", P_STRING, P_LOCAL, &sDefault.name, NULL,0}, + {"outgoing chmod", P_STRING, P_LOCAL, &sDefault.outgoing_chmod, NULL,0}, {"path", P_PATH, P_LOCAL, &sDefault.path, NULL,0}, #ifdef HAVE_PUTENV {"post-xfer exec", P_STRING, P_LOCAL, &sDefault.postxfer_exec, NULL,0}, @@ -393,6 +396,7 @@ FN_LOCAL_STRING(lp_incoming_chmod, incoming_chmod) FN_LOCAL_STRING(lp_lock_file, lock_file) FN_LOCAL_STRING(lp_log_format, log_format) FN_LOCAL_STRING(lp_name, name) +FN_LOCAL_STRING(lp_outgoing_chmod, outgoing_chmod) FN_LOCAL_STRING(lp_path, path) FN_LOCAL_STRING(lp_postxfer_exec, postxfer_exec) FN_LOCAL_STRING(lp_prexfer_exec, prexfer_exec) -- 2.34.1