ToolsInstaller: Use chcon over restorecon

restorecon probes file_contexts to get the context
to be applied to the file. /sbin/.magisk does not
exist in file_contexts for obvious reasons so restorecon
always fails. Use chcon directly with the system_file
context to allow contexts to be applied.

Suggested-by: Chris Renshaw <osm0sis@outlook.com>
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2018-12-29 15:31:26 +01:00 committed by Jason A. Donenfeld
parent c3e63df7b5
commit 69c6fa0a24

View File

@ -123,7 +123,7 @@ public final class ToolsInstaller {
script.append("touch /sbin/.core/img/wireguard/auto_mount; "); script.append("touch /sbin/.core/img/wireguard/auto_mount; ");
for (final String[] names : EXECUTABLES) { for (final String[] names : EXECUTABLES) {
final File destination = new File("/sbin/.core/img/wireguard" + INSTALL_DIR, names[1]); final File destination = new File("/sbin/.core/img/wireguard" + INSTALL_DIR, names[1]);
script.append(String.format("cp '%s' '%s'; chmod 755 '%s'; restorecon '%s' || true; ", script.append(String.format("cp '%s' '%s'; chmod 755 '%s'; chcon 'u:object_r:system_file:s0' '%s' || true; ",
new File(nativeLibraryDir, names[0]), destination, destination, destination)); new File(nativeLibraryDir, names[0]), destination, destination, destination));
} }
script.append("trap - INT TERM EXIT;"); script.append("trap - INT TERM EXIT;");