getfacl gives octal output for Hebrew user/group names

Anoop Vijayan acv at linux.vnet.ibm.com
Mon Jun 22 02:30:12 CDT 2009


Andreas,
>> Removing the checks isprint(*s) and *s == '\\' resolves the issue.
>> AD shares are associated with a doamin name and AD users/groups will be in
>> the format Dom\user. Can someone explain why these checks are required?
> 
> The '\\' check is required so that backslashes will go through 
> unquote(quote(string)) will come out correctly.
> 
> The isprint() check is a misguided attempt to do something reasonable with 
> unprintable characters, but it leads to lots of problems with different 
> encodings, so it should probably be removed. I'll fix that.
> 
> There also is a check for '=' in quote(). This is from the attr package which 
> separates names and values with '=', but unnecessary in acl. quote() should 
> probably be passed in a string of additional characters that need to be quoted 
> so that it does the right thing in both packages.

The do_print() in getfacl/getfacl.c calls

printf("# owner: %s\n", xquote(user_name(st->st_uid, opt_numeric)));
printf("# group: %s\n", xquote(group_name(st->st_gid, opt_numeric)));

and xquote simply calls quote().

Also, acl_entry_to_any_str() in libacl/__acl_to_any_text.c calls quote.
I could not find the corresponding unquote calls for these.

If I wrap the above quote() calls with unquote(), the problem seems to be resolved.
Attaching a patch for the same.

Cheers!
Anoop
-------------- next part --------------
A non-text attachment was scrubbed...
Name: getfacl-2.2.47.patch.2
Type: application/x-troff-man
Size: 1142 bytes
Desc: not available
URL: <http://oss.sgi.com/pipermail/xfs/attachments/20090622/8645a01c/attachment.man>


More information about the xfs mailing list