Fixed failing hunks.
authorWayne Davison <wayned@samba.org>
Wed, 16 Feb 2005 15:43:01 +0000 (15:43 +0000)
committerWayne Davison <wayned@samba.org>
Wed, 16 Feb 2005 15:43:01 +0000 (15:43 +0000)
ODBC-dblog.diff
append.diff
chmod-option.diff
remove-sent-files.diff

index 43f07a6..b6f44f2 100644 (file)
@@ -115,7 +115,7 @@ This patch adds the following options:
  
        if (verbose > 2) {
                rprintf(FINFO,"_exit_cleanup(code=%d, file=%s, line=%d): about to call exit(%d)\n",
---- orig/clientserver.c        2005-02-07 20:41:56
+--- orig/clientserver.c        2005-02-14 02:45:10
 +++ clientserver.c     2004-07-03 20:22:18
 @@ -344,6 +344,9 @@ static int rsync_module(int f_in, int f_
                   XFLG_ANCHORED2ABS | XFLG_OLD_PREFIXES);
@@ -686,9 +686,9 @@ This patch adds the following options:
  FN_LOCAL_BOOL(lp_ignore_errors, ignore_errors)
  FN_LOCAL_BOOL(lp_ignore_nonreadable, ignore_nonreadable)
  FN_LOCAL_STRING(lp_uid, uid)
---- orig/log.c 2005-02-07 20:41:56
+--- orig/log.c 2005-02-16 15:35:53
 +++ log.c      2004-07-03 20:22:18
-@@ -75,7 +75,7 @@ struct {
+@@ -77,7 +77,7 @@ struct {
  /*
   * Map from rsync error code to name, or return NULL.
   */
@@ -697,9 +697,9 @@ This patch adds the following options:
  {
        int i;
        for (i = 0; rerr_names[i].name; i++) {
---- orig/main.c        2005-02-07 20:41:56
+--- orig/main.c        2005-02-15 19:27:04
 +++ main.c     2004-07-03 20:22:18
-@@ -134,6 +134,9 @@ static void report(int f)
+@@ -136,6 +136,9 @@ static void report(int f)
  
        if (am_daemon) {
                log_exit(0, __FILE__, __LINE__);
@@ -709,24 +709,24 @@ This patch adds the following options:
                if (f == -1 || !am_sender)
                        return;
        }
---- orig/receiver.c    2005-02-11 10:53:14
-+++ receiver.c 2004-07-20 21:47:47
-@@ -505,6 +505,9 @@ int recv_files(int f_in, struct file_lis
-                                      fname, fd2, file->length);
+--- orig/receiver.c    2005-02-16 15:35:53
++++ receiver.c 2005-02-16 15:40:15
+@@ -560,6 +560,9 @@ int recv_files(int f_in, struct file_lis
  
-               log_recv(file, &initial_stats);
+               if (!log_before_transfer)
+                       log_recv(file, &initial_stats, iflags);
 +#if HAVE_LIBODBC
 +              db_log_transfer(file, &initial_stats, "receive");
 +#endif
  
                if (fd1 != -1)
                        close(fd1);
---- orig/sender.c      2005-02-11 22:24:19
-+++ sender.c   2004-07-15 02:37:48
-@@ -236,6 +236,9 @@ void send_files(struct file_list *flist,
+--- orig/sender.c      2005-02-16 15:35:54
++++ sender.c   2005-02-16 15:40:44
+@@ -263,6 +263,9 @@ void send_files(struct file_list *flist,
                match_sums(f_out, s, mbuf, st.st_size);
-               log_send(file, &initial_stats);
+               if (!log_before_transfer)
+                       log_send(file, &initial_stats, iflags);
 +#if HAVE_LIBODBC
 +              db_log_transfer(file, &initial_stats,"send");
 +#endif
index 301f8be..c32a3a2 100644 (file)
@@ -1,7 +1,7 @@
 This patch adds the --append option, which works like a "resume" mode in
 an ftp client, appending new data onto the end of the files it updates.
 
---- orig/generator.c   2005-02-15 19:27:04
+--- orig/generator.c   2005-02-16 15:35:52
 +++ generator.c        2005-02-15 19:31:13
 @@ -41,6 +41,7 @@ extern int delete_during;
  extern int update_only;
@@ -11,7 +11,7 @@ an ftp client, appending new data onto the end of the files it updates.
  extern int make_backups;
  extern int csum_length;
  extern int ignore_times;
-@@ -245,35 +246,42 @@ static void generate_and_send_sums(int f
+@@ -232,35 +233,42 @@ static void generate_and_send_sums(int f
        OFF_T offset = 0;
  
        sum_sizes_sqroot(&sum, len);
@@ -61,7 +61,7 @@ an ftp client, appending new data onto the end of the files it updates.
        }
  
        if (mapbuf)
-@@ -685,6 +693,9 @@ static void recv_generator(char *fname, 
+@@ -677,6 +685,9 @@ static void recv_generator(char *fname, 
                return;
        }
  
@@ -71,7 +71,7 @@ an ftp client, appending new data onto the end of the files it updates.
        if (!compare_dest && fnamecmp_type <= FNAMECMP_BASIS_DIR_HIGH)
                ;
        else if (fnamecmp_type == FNAMECMP_FUZZY)
-@@ -710,7 +721,7 @@ prepare_to_open:
+@@ -703,7 +714,7 @@ prepare_to_open:
  
        if (dry_run || read_batch)
                goto notify_others;
@@ -80,7 +80,7 @@ an ftp client, appending new data onto the end of the files it updates.
                if (statret == 0)
                        statret = 1;
                goto notify_others;
-@@ -876,6 +887,9 @@ void generate_files(int f_out, struct fi
+@@ -869,6 +880,9 @@ void generate_files(int f_out, struct fi
        csum_length = SUM_LENGTH;
        only_existing = max_size = opt_ignore_existing = 0;
        update_only = always_checksum = size_only = 0;
@@ -131,8 +131,8 @@ an ftp client, appending new data onto the end of the files it updates.
                        matched(f, s, buf, j, -2);
                matched(f, s, buf, len, -1);
        }
---- orig/options.c     2005-02-15 19:27:05
-+++ options.c  2005-02-11 20:31:32
+--- orig/options.c     2005-02-16 15:35:53
++++ options.c  2005-02-16 15:36:40
 @@ -39,6 +39,7 @@ int make_backups = 0;
   **/
  int whole_file = -1;
@@ -141,16 +141,15 @@ an ftp client, appending new data onto the end of the files it updates.
  int archive_mode = 0;
  int keep_dirlinks = 0;
  int copy_links = 0;
-@@ -152,7 +153,7 @@ static int daemon_opt;   /* sets am_daem
- static int F_option_cnt = 0;
+@@ -154,6 +155,7 @@ static int F_option_cnt = 0;
  static int modify_window_set;
  static int refused_verbose, refused_delete, refused_archive_part;
--static int refused_partial, refused_progress;
-+static int refused_partial, refused_progress, refused_inplace;
+ static int refused_partial, refused_progress, refused_delete_before;
++static int refused_inplace;
  static char *dest_option = NULL;
  static char *max_size_arg;
  static char partialdir_for_delayupdate[] = ".~tmp~";
-@@ -262,6 +263,7 @@ void usage(enum logcode F)
+@@ -263,6 +265,7 @@ void usage(enum logcode F)
    rprintf(F,"     --suffix=SUFFIX         set backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX);
    rprintf(F," -u, --update                skip files that are newer on the receiver\n");
    rprintf(F,"     --inplace               update destination files in-place (SEE MAN PAGE)\n");
@@ -158,7 +157,7 @@ an ftp client, appending new data onto the end of the files it updates.
    rprintf(F," -d, --dirs                  transfer directories without recursing\n");
    rprintf(F," -l, --links                 copy symlinks as symlinks\n");
    rprintf(F," -L, --copy-links            transform symlink into referent file/dir\n");
-@@ -387,6 +389,7 @@ static struct poptOption long_options[] 
+@@ -388,6 +391,7 @@ static struct poptOption long_options[] 
    {"links",           'l', POPT_ARG_NONE,   &preserve_links, 0, 0, 0 },
    {"copy-links",      'L', POPT_ARG_NONE,   &copy_links, 0, 0, 0 },
    {"keep-dirlinks",   'K', POPT_ARG_NONE,   &keep_dirlinks, 0, 0, 0 },
@@ -166,7 +165,7 @@ an ftp client, appending new data onto the end of the files it updates.
    {"whole-file",      'W', POPT_ARG_VAL,    &whole_file, 1, 0, 0 },
    {"no-whole-file",    0,  POPT_ARG_VAL,    &whole_file, 0, 0, 0 },
    {"copy-unsafe-links",0,  POPT_ARG_NONE,   &copy_unsafe_links, 0, 0, 0 },
-@@ -561,6 +564,8 @@ static void set_refuse_options(char *bp)
+@@ -564,6 +568,8 @@ static void set_refuse_options(char *bp)
                                                refused_partial = op->val;
                                        else if (wildmatch("progress", op->longName))
                                                refused_progress = op->val;
@@ -175,7 +174,7 @@ an ftp client, appending new data onto the end of the files it updates.
                                        break;
                                }
                                if (!is_wild)
-@@ -1066,6 +1071,14 @@ int parse_arguments(int *argc, const cha
+@@ -1084,6 +1090,14 @@ int parse_arguments(int *argc, const cha
                        bwlimit_writemax = 512;
        }
  
@@ -190,7 +189,7 @@ an ftp client, appending new data onto the end of the files it updates.
        if (delay_updates && !partial_dir)
                partial_dir = partialdir_for_delayupdate;
  
-@@ -1354,7 +1367,9 @@ void server_options(char **args,int *arg
+@@ -1372,7 +1386,9 @@ void server_options(char **args,int *arg
        if (opt_ignore_existing && am_sender)
                args[ac++] = "--ignore-existing";
  
@@ -201,9 +200,9 @@ an ftp client, appending new data onto the end of the files it updates.
                args[ac++] = "--inplace";
  
        if (tmpdir) {
---- orig/receiver.c    2005-02-15 19:27:05
+--- orig/receiver.c    2005-02-16 15:35:53
 +++ receiver.c 2005-02-11 20:26:32
-@@ -45,6 +45,7 @@ extern int cleanup_got_literal;
+@@ -46,6 +46,7 @@ extern int cleanup_got_literal;
  extern int module_id;
  extern int ignore_errors;
  extern int orig_umask;
@@ -211,7 +210,7 @@ an ftp client, appending new data onto the end of the files it updates.
  extern int keep_partial;
  extern int checksum_seed;
  extern int inplace;
-@@ -165,6 +166,28 @@ static int receive_data(int f_in, char *
+@@ -167,6 +168,28 @@ static int receive_data(int f_in, char *
  
        sum_init(checksum_seed);
  
@@ -240,7 +239,7 @@ an ftp client, appending new data onto the end of the files it updates.
        while ((i = recv_token(f_in, &data)) != 0) {
                if (do_progress)
                        show_progress(offset, total_size);
-@@ -356,6 +379,7 @@ int recv_files(int f_in, struct file_lis
+@@ -359,6 +382,7 @@ int recv_files(int f_in, struct file_lis
                        send_msg(MSG_DONE, "", 0);
                        if (keep_partial && !partial_dir)
                                make_backups = 0; /* prevents double backup */
@@ -248,7 +247,7 @@ an ftp client, appending new data onto the end of the files it updates.
                        continue;
                }
  
---- orig/rsync.yo      2005-02-15 19:27:05
+--- orig/rsync.yo      2005-02-16 15:35:54
 +++ rsync.yo   2005-02-11 20:36:38
 @@ -309,6 +309,7 @@ to the detailed description below for a 
       --suffix=SUFFIX         backup suffix (default ~ w/o --backup-dir)
@@ -273,17 +272,17 @@ an ftp client, appending new data onto the end of the files it updates.
  dit(bf(-d, --dirs)) Tell the sending side to include any directories that
  are encountered.  Unlike bf(--recursive), a directory's contents are not copied
  unless the directory was specified on the command-line as either "." or a
---- orig/sender.c      2005-02-15 19:27:05
-+++ sender.c   2005-02-11 20:26:32
-@@ -31,6 +31,7 @@ extern int protocol_version;
- extern int updating_basis_file;
+--- orig/sender.c      2005-02-16 15:35:54
++++ sender.c   2005-02-16 15:36:53
+@@ -33,6 +33,7 @@ extern int updating_basis_file;
  extern int make_backups;
+ extern int do_progress;
  extern int inplace;
 +extern int append_mode;
+ extern char *log_format;
  extern struct stats stats;
  
-@@ -63,6 +64,13 @@ static struct sum_struct *receive_sums(i
+@@ -66,6 +67,13 @@ static struct sum_struct *receive_sums(i
                        (double)s->count, (long)s->blength, (long)s->remainder);
        }
  
@@ -297,7 +296,7 @@ an ftp client, appending new data onto the end of the files it updates.
        if (s->count == 0)
                return(s);
  
-@@ -128,6 +136,7 @@ void send_files(struct file_list *flist,
+@@ -131,6 +139,7 @@ void send_files(struct file_list *flist,
                                /* For inplace: redo phase turns off the backup
                                 * flag so that we do a regular inplace send. */
                                make_backups = 0;
index d776e2f..614df78 100644 (file)
@@ -225,8 +225,8 @@ command before "make":
        file->uid = st.st_uid;
        file->gid = st.st_gid;
  
---- orig/options.c     2005-02-15 19:27:05
-+++ options.c  2005-02-15 19:33:30
+--- orig/options.c     2005-02-16 15:35:53
++++ options.c  2005-02-16 15:38:40
 @@ -132,6 +132,7 @@ char *log_format = NULL;
  char *password_file = NULL;
  char *rsync_path = RSYNC_PATH;
@@ -235,7 +235,7 @@ command before "make":
  char backup_dir_buf[MAXPATHLEN];
  int rsync_port = 0;
  int compare_dest = 0;
-@@ -148,6 +149,8 @@ int list_only = 0;
+@@ -149,6 +150,8 @@ int list_only = 0;
  #define MAX_BATCH_NAME_LEN 256        /* Must be less than MAXPATHLEN-13 */
  char *batch_name = NULL;
  
@@ -244,7 +244,7 @@ command before "make":
  static int daemon_opt;   /* sets am_daemon after option error-reporting */
  static int F_option_cnt = 0;
  static int modify_window_set;
-@@ -275,6 +278,7 @@ void usage(enum logcode F)
+@@ -276,6 +279,7 @@ void usage(enum logcode F)
    rprintf(F," -D, --devices               preserve devices (root only)\n");
    rprintf(F," -t, --times                 preserve times\n");
    rprintf(F," -O, --omit-dir-times        omit directories when preserving times\n");
@@ -252,7 +252,7 @@ command before "make":
    rprintf(F," -S, --sparse                handle sparse files efficiently\n");
    rprintf(F," -n, --dry-run               show what would have been transferred\n");
    rprintf(F," -W, --whole-file            copy files whole (without rsync algorithm)\n");
-@@ -393,6 +397,7 @@ static struct poptOption long_options[] 
+@@ -394,6 +398,7 @@ static struct poptOption long_options[] 
    {"perms",           'p', POPT_ARG_NONE,   &preserve_perms, 0, 0, 0 },
    {"owner",           'o', POPT_ARG_NONE,   &preserve_uid, 0, 0, 0 },
    {"group",           'g', POPT_ARG_NONE,   &preserve_gid, 0, 0, 0 },
@@ -260,7 +260,7 @@ command before "make":
    {"devices",         'D', POPT_ARG_NONE,   &preserve_devices, 0, 0, 0 },
    {"times",           't', POPT_ARG_NONE,   &preserve_times, 0, 0, 0 },
    {"omit-dir-times",  'O', POPT_ARG_NONE,   &omit_dir_times, 0, 0, 0 },
-@@ -1050,6 +1055,13 @@ int parse_arguments(int *argc, const cha
+@@ -1058,6 +1063,13 @@ int parse_arguments(int *argc, const cha
                return 0;
        }
  
@@ -271,10 +271,10 @@ command before "make":
 +              return 0;
 +      }
 +
-       if (do_progress && !verbose && !itemize_changes) {
-               if (refused_verbose) {
-                       create_refuse_error(refused_verbose);
-@@ -1374,6 +1386,11 @@ void server_options(char **args,int *arg
+       if (log_format) {
+               if (strstr(log_format, "%i") != NULL)
+                       itemize_changes = 1;
+@@ -1392,6 +1404,11 @@ void server_options(char **args,int *arg
                }
        }
  
@@ -286,7 +286,7 @@ command before "make":
        if (files_from && (!am_sender || remote_filesfrom_file)) {
                if (remote_filesfrom_file) {
                        args[ac++] = "--files-from";
---- orig/rsync.yo      2005-02-15 19:27:05
+--- orig/rsync.yo      2005-02-16 15:35:54
 +++ rsync.yo   2005-01-24 01:48:43
 @@ -322,6 +322,7 @@ to the detailed description below for a 
   -D, --devices               preserve devices (root only)
index 3da9d17..c507534 100644 (file)
@@ -4,7 +4,7 @@ command before "make":
     make proto
 
 
---- orig/generator.c   2005-02-15 20:40:53
+--- orig/generator.c   2005-02-16 15:35:52
 +++ generator.c        2005-02-15 21:33:51
 @@ -38,6 +38,7 @@ extern int preserve_gid;
  extern int preserve_times;
@@ -14,9 +14,9 @@ command before "make":
  extern int update_only;
  extern int opt_ignore_existing;
  extern int inplace;
-@@ -524,6 +525,11 @@ static void recv_generator(char *fname, 
-                                   itemize_changes ? "" : safe_fname(fname),
-                                   safe_fname(file->u.link));
+@@ -510,6 +511,11 @@ static void recv_generator(char *fname, 
+                               rprintf(FINFO, "%s -> %s\n", safe_fname(fname),
+                                       safe_fname(file->u.link));
                        }
 +                      if (remove_sent_files && !dry_run) {
 +                              char numbuf[4];
@@ -109,7 +109,7 @@ command before "make":
        if (argc == 0)
                list_only |= 1;
  
---- orig/options.c     2005-02-15 21:14:55
+--- orig/options.c     2005-02-16 15:35:53
 +++ options.c  2005-02-15 21:33:52
 @@ -59,6 +59,7 @@ int delete_during = 0;
  int delete_before = 0;
@@ -127,7 +127,7 @@ command before "make":
  int max_delete = 0;
  OFF_T max_size = 0;
  int ignore_errors = 0;
-@@ -285,6 +287,7 @@ void usage(enum logcode F)
+@@ -286,6 +288,7 @@ void usage(enum logcode F)
    rprintf(F,"     --rsync-path=PATH       specify path to rsync on the remote machine\n");
    rprintf(F,"     --existing              only update files that already exist on receiver\n");
    rprintf(F,"     --ignore-existing       ignore files that already exist on receiving side\n");
@@ -135,7 +135,7 @@ command before "make":
    rprintf(F,"     --del                   an alias for --delete-during\n");
    rprintf(F,"     --delete                delete files that don't exist on the sending side\n");
    rprintf(F,"     --delete-before         receiver deletes before transfer (default)\n");
-@@ -368,6 +371,7 @@ static struct poptOption long_options[] 
+@@ -369,6 +372,7 @@ static struct poptOption long_options[] 
    {"delete-during",    0,  POPT_ARG_NONE,   &delete_during, 0, 0, 0 },
    {"delete-after",     0,  POPT_ARG_NONE,   &delete_after, 0, 0, 0 },
    {"delete-excluded",  0,  POPT_ARG_NONE,   &delete_excluded, 0, 0, 0 },
@@ -143,11 +143,14 @@ command before "make":
    {"force",            0,  POPT_ARG_NONE,   &force_delete, 0, 0, 0 },
    {"numeric-ids",      0,  POPT_ARG_NONE,   &numeric_ids, 0, 0, 0 },
    {"filter",          'f', POPT_ARG_STRING, 0, OPT_FILTER, 0, 0 },
-@@ -968,6 +972,14 @@ int parse_arguments(int *argc, const cha
+@@ -969,6 +973,17 @@ int parse_arguments(int *argc, const cha
                return 0;
        }
  
 +      if (remove_sent_files) {
++              /* We only want to infer this refusal of --remove-sent-files
++               * via the refusal of "delete", not any of the "delete-FOO"
++               * options. */
 +              if (refused_delete && am_sender) {
 +                      create_refuse_error(refused_delete);
 +                      return 0;
@@ -158,7 +161,7 @@ command before "make":
        *argv = poptGetArgs(pc);
        *argc = count_args(*argv);
  
-@@ -1400,6 +1412,9 @@ void server_options(char **args,int *arg
+@@ -1411,6 +1426,9 @@ void server_options(char **args,int *arg
        if (fuzzy_basis && am_sender)
                args[ac++] = "--fuzzy";
  
@@ -168,9 +171,9 @@ command before "make":
        *argc = ac;
        return;
  
---- orig/receiver.c    2005-02-15 19:27:05
+--- orig/receiver.c    2005-02-16 15:35:53
 +++ receiver.c 2005-02-15 21:33:52
-@@ -42,6 +42,7 @@ extern int basis_dir_cnt;
+@@ -43,6 +43,7 @@ extern int basis_dir_cnt;
  extern int make_backups;
  extern int do_progress;
  extern int cleanup_got_literal;
@@ -178,7 +181,7 @@ command before "make":
  extern int module_id;
  extern int ignore_errors;
  extern int orig_umask;
-@@ -307,7 +308,7 @@ int recv_files(int f_in, struct file_lis
+@@ -310,7 +311,7 @@ int recv_files(int f_in, struct file_lis
        char *fname, fbuf[MAXPATHLEN];
        char template[MAXPATHLEN];
        char fnametmp[MAXPATHLEN];
@@ -187,7 +190,7 @@ command before "make":
        char fnamecmpbuf[MAXPATHLEN];
        uchar *delayed_bits = NULL;
        struct file_struct *file;
-@@ -569,7 +570,12 @@ int recv_files(int f_in, struct file_lis
+@@ -588,7 +589,12 @@ int recv_files(int f_in, struct file_lis
  
                cleanup_disable();
  
@@ -201,7 +204,7 @@ command before "make":
                        int msgtype = csum_length == SUM_LENGTH || read_batch ?
                                FERROR : FINFO;
                        if (msgtype == FERROR || verbose) {
-@@ -593,9 +599,8 @@ int recv_files(int f_in, struct file_lis
+@@ -612,9 +618,8 @@ int recv_files(int f_in, struct file_lis
                                        keptstr, redostr);
                        }
                        if (csum_length != SUM_LENGTH) {
@@ -213,25 +216,7 @@ command before "make":
                        }
                }
        }
---- orig/rsync.h       2005-02-15 19:27:05
-+++ rsync.h    2005-02-15 21:33:53
-@@ -62,6 +62,7 @@
- #define FLAG_MOUNT_POINT (1<<2)       /* sender only */
- #define FLAG_NO_FUZZY (1<<2)  /* generator only */
- #define FLAG_DEL_HERE (1<<3)  /* receiver/generator */
-+#define FLAG_SENT (1<<3)      /* sender only */
- /* update this if you make incompatible changes */
- #define PROTOCOL_VERSION 29
-@@ -144,6 +145,7 @@ enum logcode { FERROR=1, FINFO=2, FLOG=3
- /* Messages types that are sent over the message channel.  The logcode
-  * values must all be present here with identical numbers. */
- enum msgcode {
-+      MSG_SUCCESS=6,  /* successfully updated indicated flist index */
-       MSG_DONE=5,     /* current phase is done */
-       MSG_REDO=4,     /* reprocess indicated flist index */
-       MSG_ERROR=FERROR, MSG_INFO=FINFO, MSG_LOG=FLOG, /* remote logging */
---- orig/rsync.yo      2005-02-15 20:42:04
+--- orig/rsync.yo      2005-02-16 15:35:54
 +++ rsync.yo   2005-02-15 21:33:55
 @@ -332,6 +332,7 @@ to the detailed description below for a 
       --rsync-path=PATH       specify path to rsync on the remote machine
@@ -253,9 +238,9 @@ command before "make":
  dit(bf(--delete)) This tells rsync to delete extraneous files from the
  receiving side (ones that aren't on the sending side), but only for the
  directories that are being synchronized.  You must have asked rsync to
---- orig/rsyncd.conf.yo        2005-02-11 10:53:15
+--- orig/rsyncd.conf.yo        2005-02-16 15:35:54
 +++ rsyncd.conf.yo     2005-02-15 21:33:55
-@@ -411,6 +411,10 @@ quote(tt(    refuse options = c delete))
+@@ -443,6 +443,10 @@ quote(tt(    refuse options = c delete))
  
  The reason the above refuses all delete options is that the options imply
  bf(--delete), and implied options are refused just like explicit options.
@@ -266,9 +251,9 @@ command before "make":
  
  When an option is refused, the server prints an error message and exits.
  To prevent all compression, you can use "dont compress = *" (see below)
---- orig/sender.c      2005-02-15 19:27:05
+--- orig/sender.c      2005-02-16 15:35:54
 +++ sender.c   2005-02-15 21:33:55
-@@ -27,6 +27,7 @@ extern int io_error;
+@@ -28,6 +28,7 @@ extern int io_error;
  extern int dry_run;
  extern int am_server;
  extern int am_daemon;
@@ -276,7 +261,7 @@ command before "make":
  extern int protocol_version;
  extern int updating_basis_file;
  extern int make_backups;
-@@ -95,7 +96,32 @@ static struct sum_struct *receive_sums(i
+@@ -98,7 +99,32 @@ static struct sum_struct *receive_sums(i
        return s;
  }
  
@@ -292,9 +277,9 @@ command before "make":
 +              return;
 +
 +      file = the_flist->files[i];
-+      /* The generator can tell us about symlinks we didn't send. */
++      /* The generator might tell us about symlinks we didn't send. */
 +      if (!(file->flags & FLAG_SENT) && !S_ISLNK(file->mode))
-+              return; /* We didn't send it -- impossible! */
++              return;
 +      if (file->dir.root) {
 +              offset = stringjoin(fname, sizeof fname,
 +                                  file->dir.root, "/", NULL);
@@ -309,7 +294,7 @@ command before "make":
  
  void send_files(struct file_list *flist, int f_out, int f_in)
  {
-@@ -114,6 +140,8 @@ void send_files(struct file_list *flist,
+@@ -117,6 +143,8 @@ void send_files(struct file_list *flist,
        if (verbose > 2)
                rprintf(FINFO, "send_files starting\n");
  
@@ -318,7 +303,7 @@ command before "make":
        while (1) {
                unsigned int offset;
  
-@@ -256,6 +284,9 @@ void send_files(struct file_list *flist,
+@@ -281,6 +309,9 @@ void send_files(struct file_list *flist,
                        rprintf(FINFO, "sender finished %s\n",
                                safe_fname(fname));
                }