X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/abd3adb8322a8ec12880059cef05a18e5ce8a0aa..0ef5abcbbb95298fa9faf1d3eb275a9e76e1d951:/usermap.diff diff --git a/usermap.diff b/usermap.diff index b40650f..a17bac8 100644 --- a/usermap.diff +++ b/usermap.diff @@ -36,9 +36,9 @@ diff --git a/flist.c b/flist.c gid = match_gid(gid, &gid_flags); } } -@@ -2245,8 +2246,13 @@ struct file_list *recv_file_list(int f) - int dstart, flags; +@@ -2248,8 +2249,13 @@ struct file_list *recv_file_list(int f) int64 start_read; + int save_verbose = verbose; - if (!first_flist) + if (!first_flist) { @@ -351,7 +351,7 @@ diff --git a/uidlist.c b/uidlist.c + if (node) + id2 = node->id2; + else if (*name && id) { -+ if (idmap == uidmap) { ++ if (idlist_ptr == &uidlist) { + uid_t uid; + id2 = name_to_uid(name, &uid) ? uid : id; + } else { @@ -372,14 +372,14 @@ diff --git a/uidlist.c b/uidlist.c - - node = add_to_list(&gidlist, id, name, id2, - !am_root && !is_in_group(id2) ? FLAG_SKIP_GROUP : 0); -+ flag = idmap == gidmap && !am_root && !is_in_group(id2) ? FLAG_SKIP_GROUP : 0; ++ flag = idlist_ptr == &gidlist && !am_root && !is_in_group(id2) ? FLAG_SKIP_GROUP : 0; + node = add_to_list(idlist_ptr, id, *name ? name : NULL, id2, flag); if (verbose > 3) { - rprintf(FINFO, "gid %u(%s) maps to %u\n", - (unsigned)id, name ? name : "", (unsigned)id2); + rprintf(FINFO, "%sid %u(%s) maps to %u\n", -+ idmap == uidmap ? "u" : "g", ++ idlist_ptr == &uidlist ? "u" : "g", + (unsigned)id, name, (unsigned)id2); }