aboutsummaryrefslogtreecommitdiffstats
path: root/clientserver.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2005-09-03 16:50:20 +0000
committerWayne Davison <wayned@samba.org>2005-09-03 16:50:20 +0000
commitfed1f3f4fe6e91c64912eb3dfb6a095735b5da6e (patch)
treea1daa8719085d2f466af4a2da20a5f51569a27cb /clientserver.c
parent18cad44967fbc8bc043c9ab8d00e4c704440bf21 (diff)
downloadandroid_external_rsync-fed1f3f4fe6e91c64912eb3dfb6a095735b5da6e.tar.gz
android_external_rsync-fed1f3f4fe6e91c64912eb3dfb6a095735b5da6e.tar.bz2
android_external_rsync-fed1f3f4fe6e91c64912eb3dfb6a095735b5da6e.zip
Make use of the per-module "temp dir" setting.
Diffstat (limited to 'clientserver.c')
-rw-r--r--clientserver.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/clientserver.c b/clientserver.c
index 8ec966a5..a3767255 100644
--- a/clientserver.c
+++ b/clientserver.c
@@ -48,6 +48,7 @@ extern char *bind_address;
extern struct filter_list_struct server_filter_list;
extern char *config_file;
extern char *files_from;
+extern char *tmpdir;
char *auth_user;
int read_only = 0;
@@ -473,6 +474,16 @@ static int rsync_module(int f_in, int f_out, int i)
am_root = (MY_UID() == 0);
}
+ if (lp_temp_dir(i) && *lp_temp_dir(i)) {
+ tmpdir = lp_temp_dir(i);
+ if (strlen(tmpdir) >= MAXPATHLEN - 10) {
+ rprintf(FLOG,
+ "the 'temp dir' value for %s is WAY too long -- ignoring.\n",
+ name);
+ tmpdir = NULL;
+ }
+ }
+
io_printf(f_out, "@RSYNCD: OK\n");
maxargs = MAX_ARGS;