aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2006-01-30 21:47:02 +0000
committerWayne Davison <wayned@samba.org>2006-01-30 21:47:02 +0000
commitaaccaa887d486b6f1c73046e67afccf4e7985560 (patch)
tree0eff2d6b4e55f0b890dcd2c5f31b6c0bd8a924ab
parent5481e42cd6aa83ec9d3b296860d8cdd4bf6088d7 (diff)
downloadandroid_external_rsync-aaccaa887d486b6f1c73046e67afccf4e7985560.tar.gz
android_external_rsync-aaccaa887d486b6f1c73046e67afccf4e7985560.tar.bz2
android_external_rsync-aaccaa887d486b6f1c73046e67afccf4e7985560.zip
Added support for the new "outgoing chmod" daemon option.
-rw-r--r--clientserver.c11
-rw-r--r--loadparm.c4
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)