Hi Dave, I think this one got missed. Can you pick it up for next time? Thanks, -Eric On 12/2/15 10:05 PM, Eric Sandeen wrote: > I had to re-read the strtoul manpage (3 times) but yes, this looks right to > me. > > (technically it should probably check for overflow etc but I suppose that is > outside the scope of this fix) > > An xfstest would be good for this, although (as we discussed on IRC) I'm not > sure if it is OK for xfstests to add users & groups - no other test does > that today... > > Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> > > On 12/2/15 3:02 AM, Zorro Lang wrote: >> A normal user or group name allow beginning with digits, but xfs_quota can't >> create a limit for that user or group. The reason is 'strtoul' function only >> translate digits at the beginning. >> >> There's a commit fd537fc50eeade63bbd2a66105f39d04a011a7f5, it try to fix >> "xfsprogs: xfs_quota allow user or group names beginning with digits". But >> it doesn't effect 'limit .... 12345678-user' command. >> >> Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx> >> --- >> >> Hi Eric, >> >> This problem from a bug of ours, I have left message to you, please >> help to check my simple patch. Thanks very much. >> >> Hi Rich, >> >> I don't understand why you fix commit fd537fc50eeade63bbd2a66105f39d04a011a7f5, >> but didn't fix this. Or is this a feature, not a bug? >> >> I'm not so familiar with xfsprogs code, so if I'm wrong, please tell me;) >> >> Thanks, >> Zorro >> >> libxcmd/input.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/libxcmd/input.c b/libxcmd/input.c >> index c505ab3..5a7dce3 100644 >> --- a/libxcmd/input.c >> +++ b/libxcmd/input.c >> @@ -366,7 +366,7 @@ uid_from_string( >> char *sp; >> >> uid_long = strtoul(user, &sp, 10); >> - if (sp != user) { >> + if (sp != user && *sp == '\0') { >> if ((uid_long == ULONG_MAX && errno == ERANGE) >> || (uid_long > (uid_t)-1)) >> return -1; >> @@ -387,7 +387,7 @@ gid_from_string( >> char *sp; >> >> gid_long = strtoul(group, &sp, 10); >> - if (sp != group) { >> + if (sp != group && *sp == '\0') { >> if ((gid_long == ULONG_MAX && errno == ERANGE) >> || (gid_long > (gid_t)-1)) >> return -1; >> > > _______________________________________________ > xfs mailing list > xfs@xxxxxxxxxxx > http://oss.sgi.com/mailman/listinfo/xfs > _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs