In "ignoring unsafe symlink" messages, show only the file-list path.
authorMatt McCutchen <matt@mattmccutchen.net>
Wed, 17 Mar 2010 04:53:42 +0000 (00:53 -0400)
committerWayne Davison <wayned@samba.org>
Sat, 24 Apr 2010 16:51:54 +0000 (09:51 -0700)
Rsync was showing the full destination path, which was confusing because
nothing is created at that path and was especially bogus in combination
with the source name of a solo file.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506830

backup.c
generator.c

index 937f1be..0ef4d9e 100644 (file)
--- a/backup.c
+++ b/backup.c
@@ -276,8 +276,8 @@ int make_backup(const char *fname, BOOL prefer_rename)
                const char *sl = F_SYMLINK(file);
                if (safe_symlinks && unsafe_symlink(sl, fname)) {
                        if (INFO_GTE(SYMSAFE, 1)) {
                const char *sl = F_SYMLINK(file);
                if (safe_symlinks && unsafe_symlink(sl, fname)) {
                        if (INFO_GTE(SYMSAFE, 1)) {
-                               rprintf(FINFO, "ignoring unsafe symlink %s -> %s\n",
-                                       full_fname(buf), sl);
+                               rprintf(FINFO, "not backing up unsafe symlink \"%s\" -> \"%s\"\n",
+                                       fname, sl);
                        }
                        ret = 2;
                } else {
                        }
                        ret = 2;
                } else {
index e7c1ef7..bec5c17 100644 (file)
@@ -1355,10 +1355,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                if (safe_symlinks && unsafe_symlink(sl, fname)) {
                        if (INFO_GTE(NAME, 1)) {
                                if (solo_file)
                if (safe_symlinks && unsafe_symlink(sl, fname)) {
                        if (INFO_GTE(NAME, 1)) {
                                if (solo_file)
+                                       /* fname contains the destination path, but we
+                                        * want to report the source path. */
                                        fname = f_name(file, NULL);
                                rprintf(FINFO,
                                        fname = f_name(file, NULL);
                                rprintf(FINFO,
-                                       "ignoring unsafe symlink %s -> \"%s\"\n",
-                                       full_fname(fname), sl);
+                                       "ignoring unsafe symlink \"%s\" -> \"%s\"\n",
+                                       fname, sl);
                        }
                        return;
                }
                        }
                        return;
                }