Preparing for release of 3.0.1pre2
[rsync/rsync.git] / receiver.c
index 38eaa84..ce6b739 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 1996-2000 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
- * Copyright (C) 2003-2007 Wayne Davison
+ * Copyright (C) 2003-2008 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -55,7 +55,7 @@ extern char *tmpdir;
 extern char *partial_dir;
 extern char *basis_dir[];
 extern struct file_list *cur_flist, *first_flist, *dir_flist;
-extern struct filter_list_struct server_filter_list;
+extern struct filter_list_struct daemon_filter_list;
 
 static struct bitbag *delayed_bits = NULL;
 static int phase = 0, redoing = 0;
@@ -352,10 +352,11 @@ static int get_next_gen_ndx(int fd, int next_gen_ndx, int desired_ndx)
 {
        while (next_gen_ndx < desired_ndx) {
                if (next_gen_ndx >= 0) {
-                       rprintf(FINFO,
+                       struct file_struct *file = cur_flist->files[next_gen_ndx];
+                       rprintf(FERROR_XFER,
                                "(No batched update for%s \"%s\")\n",
-                               redoing ? " resend of" : "",
-                               f_name(cur_flist->files[next_gen_ndx], NULL));
+                               file->flags & FLAG_FILE_SENT ? " resend of" : "",
+                               f_name(file, NULL));
                }
                next_gen_ndx = read_int(fd);
                if (next_gen_ndx == -1) {
@@ -488,8 +489,8 @@ int recv_files(int f_in, char *local_name)
 
                cleanup_got_literal = 0;
 
-               if (server_filter_list.head
-                   && check_filter(&server_filter_list, fname, 0) < 0) {
+               if (daemon_filter_list.head
+                   && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) {
                        rprintf(FERROR, "attempt to hack rsync failed.\n");
                        exit_cleanup(RERR_PROTOCOL);
                }
@@ -501,7 +502,7 @@ int recv_files(int f_in, char *local_name)
                        continue;
                }
                if (write_batch < 0) {
-                       log_item(FINFO, file, &stats, iflags, NULL);
+                       log_item(FCLIENT, file, &stats, iflags, NULL);
                        if (!am_server)
                                discard_receive_data(f_in, F_LENGTH(file));
                        continue;
@@ -554,8 +555,8 @@ int recv_files(int f_in, char *local_name)
                                fnamecmp = fnamecmpbuf;
                                break;
                        }
-                       if (!fnamecmp || (server_filter_list.head
-                         && check_filter(&server_filter_list, fname, 0) < 0)) {
+                       if (!fnamecmp || (daemon_filter_list.head
+                         && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0)) {
                                fnamecmp = fname;
                                fnamecmp_type = FNAMECMP_FNAME;
                        }
@@ -720,8 +721,8 @@ int recv_files(int f_in, char *local_name)
                                send_msg_int(MSG_SUCCESS, ndx);
                        break;
                case 0: {
-                       enum logcode msgtype = redoing || read_batch ? FERROR : FWARNING;
-                       if (msgtype == FERROR || verbose) {
+                       enum logcode msgtype = redoing ? FERROR_XFER : FWARNING;
+                       if (msgtype == FERROR_XFER || verbose) {
                                char *errstr, *redostr, *keptstr;
                                if (!(keep_partial && partialptr) && !inplace)
                                        keptstr = "discarded";
@@ -729,16 +730,18 @@ int recv_files(int f_in, char *local_name)
                                        keptstr = "put into partial-dir";
                                else
                                        keptstr = "retained";
-                               if (msgtype == FERROR) {
+                               if (msgtype == FERROR_XFER) {
                                        errstr = "ERROR";
                                        redostr = "";
                                } else {
                                        errstr = "WARNING";
-                                       redostr = " (will try again)";
+                                       redostr = read_batch ? " (may try again)"
+                                                            : " (will try again)";
                                }
                                rprintf(msgtype,
                                        "%s: %s failed verification -- update %s%s.\n",
-                                       errstr, fname, keptstr, redostr);
+                                       errstr, local_name ? f_name(file, NULL) : fname,
+                                       keptstr, redostr);
                        }
                        if (!redoing) {
                                send_msg_int(MSG_REDO, ndx);