acl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Acl-devel] Re: getfacl gives octal output for Hebrew user/group names


From: Anoop Vijayan
Subject: [Acl-devel] Re: getfacl gives octal output for Hebrew user/group names
Date: Mon, 22 Jun 2009 13:00:12 +0530
User-agent: Thunderbird 2.0.0.21 (X11/20090320)

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

Attachment: getfacl-2.2.47.patch.2
Description: Unix manual page


reply via email to

[Prev in Thread] Current Thread [Next in Thread]