am 68802416: unconditionally apply SELinux labels to symlinks

* commit '688024169df70336cc128ea8cc929174c53a501e':
  unconditionally apply SELinux labels to symlinks
This commit is contained in:
Nick Kralevich
2014-10-24 17:43:15 +00:00
committed by Android Git Automerger
+9 -10
View File
@@ -770,9 +770,17 @@ static int ApplyParsedPerms(
{ {
int bad = 0; int bad = 0;
if (parsed.has_selabel) {
if (lsetfilecon(filename, parsed.selabel) != 0) {
uiPrintf(state, "ApplyParsedPerms: lsetfilecon of %s to %s failed: %s\n",
filename, parsed.selabel, strerror(errno));
bad++;
}
}
/* ignore symlinks */ /* ignore symlinks */
if (S_ISLNK(statptr->st_mode)) { if (S_ISLNK(statptr->st_mode)) {
return 0; return bad;
} }
if (parsed.has_uid) { if (parsed.has_uid) {
@@ -815,15 +823,6 @@ static int ApplyParsedPerms(
} }
} }
if (parsed.has_selabel) {
// TODO: Don't silently ignore ENOTSUP
if (lsetfilecon(filename, parsed.selabel) && (errno != ENOTSUP)) {
uiPrintf(state, "ApplyParsedPerms: lsetfilecon of %s to %s failed: %s\n",
filename, parsed.selabel, strerror(errno));
bad++;
}
}
if (parsed.has_capabilities && S_ISREG(statptr->st_mode)) { if (parsed.has_capabilities && S_ISREG(statptr->st_mode)) {
if (parsed.capabilities == 0) { if (parsed.capabilities == 0) {
if ((removexattr(filename, XATTR_NAME_CAPS) == -1) && (errno != ENODATA)) { if ((removexattr(filename, XATTR_NAME_CAPS) == -1) && (errno != ENODATA)) {