diff options
author | Wayne Davison <wayned@samba.org> | 2009-05-07 07:34:42 -0700 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2009-05-07 07:34:42 -0700 |
commit | 56017d3150671e08b309a1b6171591b39166c3fa (patch) | |
tree | 507d3f893ff648ccbdf75c0dbc9728ffc6905ff6 /clientserver.c | |
parent | d960af72b20341ef7bab576de9abb483b05377ef (diff) | |
download | android_external_rsync-56017d3150671e08b309a1b6171591b39166c3fa.tar.gz android_external_rsync-56017d3150671e08b309a1b6171591b39166c3fa.tar.bz2 android_external_rsync-56017d3150671e08b309a1b6171591b39166c3fa.zip |
Enhance name_to_{u,g}id() to optionally parse numbers and rename
to {user,group}_to_*(). Based on a patch by Matt McCutchen.
Diffstat (limited to 'clientserver.c')
-rw-r--r-- | clientserver.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/clientserver.c b/clientserver.c index b6afe005..a74cff29 100644 --- a/clientserver.c +++ b/clientserver.c @@ -416,13 +416,10 @@ static int path_failure(int f_out, const char *dir, BOOL was_chdir) static int add_a_group(int f_out, const char *gname) { gid_t gid; - if (!name_to_gid(gname, &gid)) { - if (!isDigit(gname)) { - rprintf(FLOG, "Invalid gid %s\n", gname); - io_printf(f_out, "@ERROR: invalid gid %s\n", gname); - return -1; - } - gid = atol(gname); + if (!group_to_gid(gname, &gid, True)) { + rprintf(FLOG, "Invalid gid %s\n", gname); + io_printf(f_out, "@ERROR: invalid gid %s\n", gname); + return -1; } if (gid_count == MAX_GID_LIST) { rprintf(FLOG, "Too many groups specified via gid parameter.\n"); @@ -558,13 +555,10 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char p = *lp_uid(i) ? lp_uid(i) : am_root ? NOBODY_USER : NULL; if (p) { - if (!name_to_uid(p, &uid)) { - if (!isDigit(p)) { - rprintf(FLOG, "Invalid uid %s\n", p); - io_printf(f_out, "@ERROR: invalid uid %s\n", p); - return -1; - } - uid = atol(p); + if (!user_to_uid(p, &uid, True)) { + rprintf(FLOG, "Invalid uid %s\n", p); + io_printf(f_out, "@ERROR: invalid uid %s\n", p); + return -1; } set_uid = 1; } else |