The patches for 3.0.5pre2.
[rsync/rsync-patches.git] / munge-links.diff
index a914531..e163888 100644 (file)
@@ -35,7 +35,7 @@ diff --git a/clientserver.c b/clientserver.c
        pid_t pre_exec_pid = 0;
        char *request = NULL;
  
-@@ -687,9 +688,11 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
+@@ -688,9 +689,11 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
                munge_symlinks = !use_chroot || module_dirlen;
        if (munge_symlinks) {
                STRUCT_STAT st;
@@ -50,7 +50,7 @@ diff --git a/clientserver.c b/clientserver.c
                        io_printf(f_out, "@ERROR: daemon security issue -- contact admin\n", name);
                        exit_cleanup(RERR_UNSUPPORTED);
                }
-@@ -745,6 +748,8 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
+@@ -746,6 +749,8 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
        read_args(f_in, name, line, sizeof line, rl_nulls, &argv, &argc, &request);
        orig_argv = argv;
  
@@ -59,7 +59,7 @@ diff --git a/clientserver.c b/clientserver.c
        verbose = 0; /* future verbosity is controlled by client options */
        ret = parse_arguments(&argc, (const char ***) &argv);
        if (protect_args && ret) {
-@@ -756,6 +761,8 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
+@@ -757,6 +762,8 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
        } else
                orig_early_argv = NULL;
  
@@ -79,7 +79,7 @@ diff --git a/options.c b/options.c
  int size_only = 0;
  int daemon_bwlimit = 0;
  int bwlimit = 0;
-@@ -338,6 +339,7 @@ void usage(enum logcode F)
+@@ -339,6 +340,7 @@ void usage(enum logcode F)
    rprintf(F," -L, --copy-links            transform symlink into referent file/dir\n");
    rprintf(F,"     --copy-unsafe-links     only \"unsafe\" symlinks are transformed\n");
    rprintf(F,"     --safe-links            ignore symlinks that point outside the source tree\n");
@@ -87,7 +87,7 @@ diff --git a/options.c b/options.c
    rprintf(F," -k, --copy-dirlinks         transform symlink to a dir into referent dir\n");
    rprintf(F," -K, --keep-dirlinks         treat symlinked dir on receiver as dir\n");
    rprintf(F," -H, --hard-links            preserve hard links\n");
-@@ -520,6 +522,8 @@ static struct poptOption long_options[] = {
+@@ -521,6 +523,8 @@ static struct poptOption long_options[] = {
    {"copy-links",      'L', POPT_ARG_NONE,   &copy_links, 0, 0, 0 },
    {"copy-unsafe-links",0,  POPT_ARG_NONE,   &copy_unsafe_links, 0, 0, 0 },
    {"safe-links",       0,  POPT_ARG_NONE,   &safe_symlinks, 0, 0, 0 },
@@ -96,7 +96,7 @@ diff --git a/options.c b/options.c
    {"copy-dirlinks",   'k', POPT_ARG_NONE,   &copy_dirlinks, 0, 0, 0 },
    {"keep-dirlinks",   'K', POPT_ARG_NONE,   &keep_dirlinks, 0, 0, 0 },
    {"hard-links",      'H', POPT_ARG_NONE,   0, 'H', 0, 0 },
-@@ -1471,6 +1475,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1472,6 +1476,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                need_messages_from_generator = 1;
        }
  
@@ -148,7 +148,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -334,6 +334,7 @@ to the detailed description below for a complete description.  verb(
+@@ -338,6 +338,7 @@ to the detailed description below for a complete description.  verb(
   -L, --copy-links            transform symlink into referent file/dir
       --copy-unsafe-links     only "unsafe" symlinks are transformed
       --safe-links            ignore symlinks that point outside the tree
@@ -156,7 +156,7 @@ diff --git a/rsync.yo b/rsync.yo
   -k, --copy-dirlinks         transform symlink to dir into referent dir
   -K, --keep-dirlinks         treat symlinked dir on receiver as dir
   -H, --hard-links            preserve hard links
-@@ -791,6 +792,25 @@ which point outside the copied tree. All absolute symlinks are
+@@ -795,6 +796,25 @@ which point outside the copied tree. All absolute symlinks are
  also ignored. Using this option in conjunction with bf(--relative) may
  give unexpected results.