Make use of the per-module "temp dir" setting.
authorWayne Davison <wayned@samba.org>
Sat, 3 Sep 2005 16:50:20 +0000 (16:50 +0000)
committerWayne Davison <wayned@samba.org>
Sat, 3 Sep 2005 16:50:20 +0000 (16:50 +0000)
clientserver.c

index 8ec966a..a376725 100644 (file)
@@ -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;