The patches for 3.0.4pre2.
[rsync/rsync-patches.git] / usermap.diff
index 2608b15..0c30f4e 100644 (file)
@@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build:
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
-@@ -70,6 +70,7 @@ extern int need_unsorted_flist;
+@@ -71,6 +71,7 @@ extern int sender_symlink_iconv;
  extern int unsort_ndx;
  extern struct stats stats;
  extern char *filesfrom_host;
@@ -18,7 +18,7 @@ diff --git a/flist.c b/flist.c
  
  extern char curr_dir[MAXPATHLEN];
  
-@@ -764,7 +765,7 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
+@@ -767,7 +768,7 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
                        uid = (uid_t)read_varint(f);
                        if (xflags & XMIT_USER_NAME_FOLLOWS)
                                uid = recv_user_name(f, uid);
@@ -27,7 +27,7 @@ diff --git a/flist.c b/flist.c
                                uid = match_uid(uid);
                }
        }
-@@ -776,7 +777,7 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
+@@ -779,7 +780,7 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
                        gid_flags = 0;
                        if (xflags & XMIT_GROUP_NAME_FOLLOWS)
                                gid = recv_group_name(f, gid, &gid_flags);
@@ -36,7 +36,7 @@ diff --git a/flist.c b/flist.c
                                gid = match_gid(gid, &gid_flags);
                }
        }
-@@ -2188,8 +2189,13 @@ struct file_list *recv_file_list(int f)
+@@ -2264,8 +2265,13 @@ struct file_list *recv_file_list(int f)
        int dstart, flags;
        int64 start_read;
  
@@ -115,7 +115,7 @@ diff --git a/options.c b/options.c
                case OPT_HELP:
                        usage(FINFO);
                        exit_cleanup(0);
-@@ -1997,6 +2021,18 @@ void server_options(char **args, int *argc_p)
+@@ -2005,6 +2029,18 @@ void server_options(char **args, int *argc_p)
                args[ac++] = "--use-qsort";
  
        if (am_sender) {
@@ -146,7 +146,7 @@ diff --git a/rsync.yo b/rsync.yo
       --timeout=SECONDS       set I/O timeout in seconds
       --contimeout=SECONDS    set daemon connection timeout in seconds
   -I, --ignore-times          don't skip files that match size and time
-@@ -1608,6 +1610,47 @@ from the source system is used instead.  See also the comments on the
+@@ -1620,6 +1622,47 @@ from the source system is used instead.  See also the comments on the
  the chroot setting affects rsync's ability to look up the names of the
  users and groups and what you can do about it.
  
@@ -194,6 +194,26 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(--timeout=TIMEOUT)) This option allows you to set a maximum I/O
  timeout in seconds. If no data is transferred for the specified time
  then rsync will exit. The default is 0, which means no timeout.
+diff --git a/support/mapfrom b/support/mapfrom
+new file mode 100755
+--- /dev/null
++++ b/support/mapfrom
+@@ -0,0 +1,5 @@
++#!/usr/bin/perl
++while (<>) {
++    push @_, "$2:$1" if /^(\w+):[^:]+:(\d+)/;
++}
++print join(',', @_), "\n";
+diff --git a/support/mapto b/support/mapto
+new file mode 100755
+--- /dev/null
++++ b/support/mapto
+@@ -0,0 +1,5 @@
++#!/usr/bin/perl
++while (<>) {
++    push @_, "$1:$2" if /^(\w+):[^:]+:(\d+)/;
++}
++print join(',', @_), "\n";
 diff --git a/uidlist.c b/uidlist.c
 --- a/uidlist.c
 +++ b/uidlist.c