Commit ecc81fce authored by Wayne Davison's avatar Wayne Davison

Use the new safe_fname() function.

parent b4afd23c
...@@ -270,14 +270,14 @@ static void recv_generator(char *fname, struct file_struct *file, int i, ...@@ -270,14 +270,14 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
return; return;
if (verbose > 2) if (verbose > 2)
rprintf(FINFO,"recv_generator(%s,%d)\n",fname,i); rprintf(FINFO, "recv_generator(%s,%d)\n", safe_fname(fname), i);
if (server_exclude_list.head if (server_exclude_list.head
&& check_exclude(&server_exclude_list, fname, && check_exclude(&server_exclude_list, fname,
S_ISDIR(file->mode)) < 0) { S_ISDIR(file->mode)) < 0) {
if (verbose) { if (verbose) {
rprintf(FINFO, "skipping server-excluded file \"%s\"\n", rprintf(FINFO, "skipping server-excluded file \"%s\"\n",
fname); safe_fname(fname));
} }
return; return;
} }
...@@ -286,8 +286,10 @@ static void recv_generator(char *fname, struct file_struct *file, int i, ...@@ -286,8 +286,10 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
if (only_existing && statret == -1 && errno == ENOENT) { if (only_existing && statret == -1 && errno == ENOENT) {
/* we only want to update existing files */ /* we only want to update existing files */
if (verbose > 1) if (verbose > 1) {
rprintf(FINFO, "not creating new file \"%s\"\n", fname); rprintf(FINFO, "not creating new file \"%s\"\n",
safe_fname(fname));
}
return; return;
} }
...@@ -331,7 +333,7 @@ static void recv_generator(char *fname, struct file_struct *file, int i, ...@@ -331,7 +333,7 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
* and modification-time repair. */ * and modification-time repair. */
if (set_perms(fname, file, statret ? NULL : &st, 0) if (set_perms(fname, file, statret ? NULL : &st, 0)
&& verbose && f_out != -1) && verbose && f_out != -1)
rprintf(FINFO,"%s/\n",fname); rprintf(FINFO, "%s/\n", safe_fname(fname));
return; return;
} }
...@@ -367,11 +369,12 @@ static void recv_generator(char *fname, struct file_struct *file, int i, ...@@ -367,11 +369,12 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
} }
if (do_symlink(file->u.link,fname) != 0) { if (do_symlink(file->u.link,fname) != 0) {
rsyserr(FERROR, errno, "symlink %s -> \"%s\" failed", rsyserr(FERROR, errno, "symlink %s -> \"%s\" failed",
full_fname(fname), file->u.link); full_fname(fname), safe_fname(file->u.link));
} else { } else {
set_perms(fname,file,NULL,0); set_perms(fname,file,NULL,0);
if (verbose) { if (verbose) {
rprintf(FINFO,"%s -> %s\n", fname,file->u.link); rprintf(FINFO, "%s -> %s\n", safe_fname(fname),
safe_fname(file->u.link));
} }
} }
#endif #endif
...@@ -386,15 +389,18 @@ static void recv_generator(char *fname, struct file_struct *file, int i, ...@@ -386,15 +389,18 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
delete_file(fname); delete_file(fname);
if (verbose > 2) { if (verbose > 2) {
rprintf(FINFO,"mknod(%s,0%o,0x%x)\n", rprintf(FINFO,"mknod(%s,0%o,0x%x)\n",
fname,(int)file->mode,(int)file->u.rdev); safe_fname(fname),
(int)file->mode, (int)file->u.rdev);
} }
if (do_mknod(fname,file->mode,file->u.rdev) != 0) { if (do_mknod(fname,file->mode,file->u.rdev) != 0) {
rsyserr(FERROR, errno, "mknod %s failed", rsyserr(FERROR, errno, "mknod %s failed",
full_fname(fname)); full_fname(fname));
} else { } else {
set_perms(fname,file,NULL,0); set_perms(fname,file,NULL,0);
if (verbose) if (verbose) {
rprintf(FINFO,"%s\n",fname); rprintf(FINFO, "%s\n",
safe_fname(fname));
}
} }
} else { } else {
set_perms(fname, file, &st, PERMS_REPORT); set_perms(fname, file, &st, PERMS_REPORT);
...@@ -407,7 +413,8 @@ static void recv_generator(char *fname, struct file_struct *file, int i, ...@@ -407,7 +413,8 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
return; return;
if (!S_ISREG(file->mode)) { if (!S_ISREG(file->mode)) {
rprintf(FINFO, "skipping non-regular file \"%s\"\n",fname); rprintf(FINFO, "skipping non-regular file \"%s\"\n",
safe_fname(fname));
return; return;
} }
...@@ -427,7 +434,7 @@ static void recv_generator(char *fname, struct file_struct *file, int i, ...@@ -427,7 +434,7 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
if (do_link(fnamecmpbuf, fname) != 0) { if (do_link(fnamecmpbuf, fname) != 0) {
if (verbose > 0) { if (verbose > 0) {
rsyserr(FINFO, errno, "link %s => %s", rsyserr(FINFO, errno, "link %s => %s",
fnamecmpbuf, fname); fnamecmpbuf, safe_fname(fname));
} }
} }
fnamecmp = fnamecmpbuf; fnamecmp = fnamecmpbuf;
...@@ -468,14 +475,14 @@ static void recv_generator(char *fname, struct file_struct *file, int i, ...@@ -468,14 +475,14 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
if (opt_ignore_existing && fnamecmp == fname) { if (opt_ignore_existing && fnamecmp == fname) {
if (verbose > 1) if (verbose > 1)
rprintf(FINFO,"%s exists\n",fname); rprintf(FINFO, "%s exists\n", safe_fname(fname));
return; return;
} }
if (update_only && fnamecmp == fname if (update_only && fnamecmp == fname
&& cmp_modtime(st.st_mtime, file->modtime) > 0) { && cmp_modtime(st.st_mtime, file->modtime) > 0) {
if (verbose > 1) if (verbose > 1)
rprintf(FINFO,"%s is newer\n",fname); rprintf(FINFO, "%s is newer\n", safe_fname(fname));
return; return;
} }
...@@ -511,8 +518,8 @@ static void recv_generator(char *fname, struct file_struct *file, int i, ...@@ -511,8 +518,8 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
} }
if (verbose > 3) { if (verbose > 3) {
rprintf(FINFO,"gen mapped %s of size %.0f\n", fnamecmp, rprintf(FINFO, "gen mapped %s of size %.0f\n",
(double)st.st_size); safe_fname(fnamecmp), (double)st.st_size);
} }
if (verbose > 2) if (verbose > 2)
......
...@@ -62,7 +62,7 @@ static void delete_one(char *fn, int is_dir) ...@@ -62,7 +62,7 @@ static void delete_one(char *fn, int is_dir)
rsyserr(FERROR, errno, "delete_one: unlink %s failed", rsyserr(FERROR, errno, "delete_one: unlink %s failed",
full_fname(fn)); full_fname(fn));
} else if (verbose) } else if (verbose)
rprintf(FINFO, "deleting %s\n", fn); rprintf(FINFO, "deleting %s\n", safe_fname(fn));
} else { } else {
if (do_rmdir(fn) != 0) { if (do_rmdir(fn) != 0) {
if (errno == ENOTDIR && keep_dirlinks) { if (errno == ENOTDIR && keep_dirlinks) {
...@@ -74,8 +74,10 @@ static void delete_one(char *fn, int is_dir) ...@@ -74,8 +74,10 @@ static void delete_one(char *fn, int is_dir)
"delete_one: rmdir %s failed", "delete_one: rmdir %s failed",
full_fname(fn)); full_fname(fn));
} }
} else if (verbose) } else if (verbose) {
rprintf(FINFO, "deleting directory %s\n", fn); rprintf(FINFO, "deleting directory %s\n",
safe_fname(fn));
}
} }
} }
...@@ -115,7 +117,7 @@ void delete_files(struct file_list *flist) ...@@ -115,7 +117,7 @@ void delete_files(struct file_list *flist)
continue; continue;
if (verbose > 1) if (verbose > 1)
rprintf(FINFO, "deleting in %s\n", fbuf); rprintf(FINFO, "deleting in %s\n", safe_fname(fbuf));
for (i = local_file_list->count-1; i >= 0; i--) { for (i = local_file_list->count-1; i >= 0; i--) {
if (max_delete && deletion_count > max_delete) if (max_delete && deletion_count > max_delete)
...@@ -126,8 +128,10 @@ void delete_files(struct file_list *flist) ...@@ -126,8 +128,10 @@ void delete_files(struct file_list *flist)
char *f = f_name(local_file_list->files[i]); char *f = f_name(local_file_list->files[i]);
if (make_backups && (backup_dir || !is_backup_file(f))) { if (make_backups && (backup_dir || !is_backup_file(f))) {
make_backup(f); make_backup(f);
if (verbose) if (verbose) {
rprintf(FINFO, "deleting %s\n", f); rprintf(FINFO, "deleting %s\n",
safe_fname(f));
}
} else { } else {
int mode = local_file_list->files[i]->mode; int mode = local_file_list->files[i]->mode;
delete_one(f, S_ISDIR(mode) != 0); delete_one(f, S_ISDIR(mode) != 0);
...@@ -221,7 +225,7 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r, ...@@ -221,7 +225,7 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
mapbuf = map_file(fd_r, size_r, sum.blength); mapbuf = map_file(fd_r, size_r, sum.blength);
if (verbose > 2) { if (verbose > 2) {
rprintf(FINFO, "recv mapped %s of size %.0f\n", rprintf(FINFO, "recv mapped %s of size %.0f\n",
fname_r, (double)size_r); safe_fname(fname_r), (double)size_r);
} }
} else } else
mapbuf = NULL; mapbuf = NULL;
...@@ -396,15 +400,15 @@ int recv_files(int f_in, struct file_list *flist, char *local_name) ...@@ -396,15 +400,15 @@ int recv_files(int f_in, struct file_list *flist, char *local_name)
fname = f_name_to(file, fbuf); fname = f_name_to(file, fbuf);
if (dry_run) { if (dry_run) {
if (!am_server && verbose) if (!am_server && verbose) /* log the transfer */
rprintf(FINFO, "%s\n", fname); rprintf(FINFO, "%s\n", safe_fname(fname));
continue; continue;
} }
initial_stats = stats; initial_stats = stats;
if (verbose > 2) if (verbose > 2)
rprintf(FINFO,"recv_files(%s)\n",fname); rprintf(FINFO, "recv_files(%s)\n", safe_fname(fname));
fnamecmp = fname; fnamecmp = fname;
...@@ -416,7 +420,7 @@ int recv_files(int f_in, struct file_list *flist, char *local_name) ...@@ -416,7 +420,7 @@ int recv_files(int f_in, struct file_list *flist, char *local_name)
} }
if (i < next_gen_i) { if (i < next_gen_i) {
rprintf(FINFO, "skipping update for \"%s\"\n", rprintf(FINFO, "skipping update for \"%s\"\n",
fname); safe_fname(fname));
discard_receive_data(f_in, file->length); discard_receive_data(f_in, file->length);
continue; continue;
} }
...@@ -428,7 +432,7 @@ int recv_files(int f_in, struct file_list *flist, char *local_name) ...@@ -428,7 +432,7 @@ int recv_files(int f_in, struct file_list *flist, char *local_name)
if (verbose) { if (verbose) {
rprintf(FINFO, rprintf(FINFO,
"skipping server-excluded update for \"%s\"\n", "skipping server-excluded update for \"%s\"\n",
fname); safe_fname(fname));
} }
discard_receive_data(f_in, file->length); discard_receive_data(f_in, file->length);
continue; continue;
...@@ -527,8 +531,8 @@ int recv_files(int f_in, struct file_list *flist, char *local_name) ...@@ -527,8 +531,8 @@ int recv_files(int f_in, struct file_list *flist, char *local_name)
cleanup_set(fnametmp, fname, file, fd1, fd2); cleanup_set(fnametmp, fname, file, fd1, fd2);
} }
if (!am_server && verbose) if (!am_server && verbose) /* log the transfer */
rprintf(FINFO, "%s\n", fname); rprintf(FINFO, "%s\n", safe_fname(fname));
/* recv file data */ /* recv file data */
recv_ok = receive_data(f_in, fnamecmp, fd1, st.st_size, recv_ok = receive_data(f_in, fnamecmp, fd1, st.st_size,
...@@ -567,7 +571,8 @@ int recv_files(int f_in, struct file_list *flist, char *local_name) ...@@ -567,7 +571,8 @@ int recv_files(int f_in, struct file_list *flist, char *local_name)
} }
rprintf(msgtype, rprintf(msgtype,
"%s: %s failed verification -- update %sed%s.\n", "%s: %s failed verification -- update %sed%s.\n",
errstr, fname, keptstr, redostr); errstr, safe_fname(fname),
keptstr, redostr);
} }
if (csum_length != SUM_LENGTH) { if (csum_length != SUM_LENGTH) {
char buf[4]; char buf[4];
......
...@@ -98,7 +98,7 @@ int delete_file(char *fname) ...@@ -98,7 +98,7 @@ int delete_file(char *fname)
continue; continue;
pathjoin(buf, sizeof buf, fname, dname); pathjoin(buf, sizeof buf, fname, dname);
if (verbose > 0) if (verbose > 0)
rprintf(FINFO, "deleting %s\n", buf); rprintf(FINFO, "deleting %s\n", safe_fname(buf));
if (delete_file(buf) != 0) { if (delete_file(buf) != 0) {
closedir(d); closedir(d);
return -1; return -1;
......
...@@ -115,7 +115,7 @@ void send_files(struct file_list *flist, int f_out, int f_in) ...@@ -115,7 +115,7 @@ void send_files(struct file_list *flist, int f_out, int f_in)
struct sum_struct *s; struct sum_struct *s;
struct map_struct *mbuf = NULL; struct map_struct *mbuf = NULL;
STRUCT_STAT st; STRUCT_STAT st;
char fname[MAXPATHLEN]; char *fname2, fname[MAXPATHLEN];
int i; int i;
struct file_struct *file; struct file_struct *file;
int phase = 0; int phase = 0;
...@@ -160,15 +160,14 @@ void send_files(struct file_list *flist, int f_out, int f_in) ...@@ -160,15 +160,14 @@ void send_files(struct file_list *flist, int f_out, int f_in)
fname[offset++] = '/'; fname[offset++] = '/';
} else } else
offset = 0; offset = 0;
f_name_to(file, fname + offset); fname2 = f_name_to(file, fname + offset);
if (verbose > 2) if (verbose > 2)
rprintf(FINFO, "send_files(%d, %s)\n", i, fname); rprintf(FINFO, "send_files(%d, %s)\n", i, fname);
if (dry_run) { if (dry_run) {
if (!am_server && verbose) { if (!am_server && verbose) /* log the transfer */
rprintf(FINFO, "%s\n", fname+offset); rprintf(FINFO, "%s\n", safe_fname(fname2));
}
write_int(f_out, i); write_int(f_out, i);
continue; continue;
} }
...@@ -213,19 +212,20 @@ void send_files(struct file_list *flist, int f_out, int f_in) ...@@ -213,19 +212,20 @@ void send_files(struct file_list *flist, int f_out, int f_in)
if (verbose > 2) { if (verbose > 2) {
rprintf(FINFO, "send_files mapped %s of size %.0f\n", rprintf(FINFO, "send_files mapped %s of size %.0f\n",
fname, (double)st.st_size); safe_fname(fname), (double)st.st_size);
} }
write_int(f_out, i); write_int(f_out, i);
write_sum_head(f_out, s); write_sum_head(f_out, s);
if (verbose > 2) if (verbose > 2) {
rprintf(FINFO, "calling match_sums %s\n", fname); rprintf(FINFO, "calling match_sums %s\n",
safe_fname(fname));
if (!am_server && verbose) {
rprintf(FINFO, "%s\n", fname+offset);
} }
if (!am_server && verbose) /* log the transfer */
rprintf(FINFO, "%s\n", safe_fname(fname2));
set_compression(fname); set_compression(fname);
match_sums(f_out, s, mbuf, st.st_size); match_sums(f_out, s, mbuf, st.st_size);
...@@ -244,8 +244,10 @@ void send_files(struct file_list *flist, int f_out, int f_in) ...@@ -244,8 +244,10 @@ void send_files(struct file_list *flist, int f_out, int f_in)
free_sums(s); free_sums(s);
if (verbose > 2) if (verbose > 2) {
rprintf(FINFO, "sender finished %s\n", fname); rprintf(FINFO, "sender finished %s\n",
safe_fname(fname));
}
} }
if (verbose > 2) if (verbose > 2)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment