Make do_recv() reset copy_unsafe_links too (just like it does for
[rsync/rsync.git] / generator.c
index 1d63797..4eb5325 100644 (file)
@@ -278,7 +278,7 @@ static enum delret delete_dir_contents(char *fname, int flags)
                }
 
                strlcpy(p, fp->basename, remainder);
-               if (F_OWNER(fp) == our_uid)
+               if (!uid_ndx || (uid_t)F_OWNER(fp) == our_uid)
                        flags |= DEL_OWNED_BY_US;
                else
                        flags &= ~DEL_OWNED_BY_US;
@@ -503,7 +503,7 @@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
                }
                if (flist_find(cur_flist, fp) < 0) {
                        int flags = DEL_RECURSE
-                                 | (F_OWNER(fp) == our_uid ? DEL_OWNED_BY_US : 0);
+                                 | (!uid_ndx || (uid_t)F_OWNER(fp) == our_uid ? DEL_OWNED_BY_US : 0);
                        f_name(fp, delbuf);
                        if (delete_during == 2) {
                                if (!remember_delete(fp, delbuf, flags))
@@ -1229,11 +1229,9 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                                excluded_dir = file;
                        }
                  skipping:
-                       if (verbose) {
-                               rprintf(FINFO,
-                                       "skipping server-excluded file \"%s\"\n",
-                                       fname);
-                       }
+                       rprintf(FERROR_XFER,
+                               "skipping daemon-excluded file \"%s\"\n",
+                               fname);
                        return;
                }
        }