diff options
author | Stephen Smalley <sds@tycho.nsa.gov> | 2012-02-09 20:13:23 +0100 |
---|---|---|
committer | Stephen Smalley <sds@tycho.nsa.gov> | 2012-03-30 15:32:46 +0200 |
commit | 779701db515d1a0d363d5a8896252f331bc4e22a (patch) | |
tree | 46aacb687e7126a5a64949dd7ade2f284ee57c15 /recovery.c | |
parent | Add libselinux to LOCAL_STATIC_LIBRARIES wherever libext4_utils is used. (diff) | |
download | android_bootable_recovery-779701db515d1a0d363d5a8896252f331bc4e22a.tar android_bootable_recovery-779701db515d1a0d363d5a8896252f331bc4e22a.tar.gz android_bootable_recovery-779701db515d1a0d363d5a8896252f331bc4e22a.tar.bz2 android_bootable_recovery-779701db515d1a0d363d5a8896252f331bc4e22a.tar.lz android_bootable_recovery-779701db515d1a0d363d5a8896252f331bc4e22a.tar.xz android_bootable_recovery-779701db515d1a0d363d5a8896252f331bc4e22a.tar.zst android_bootable_recovery-779701db515d1a0d363d5a8896252f331bc4e22a.zip |
Diffstat (limited to '')
-rw-r--r-- | recovery.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/recovery.c b/recovery.c index 06d649809..2cb482d02 100644 --- a/recovery.c +++ b/recovery.c @@ -39,6 +39,8 @@ #include "roots.h" #include "recovery_ui.h" +struct selabel_handle *sehandle; + static const struct option OPTIONS[] = { { "send_intent", required_argument, NULL, 's' }, { "update_package", required_argument, NULL, 'u' }, @@ -132,7 +134,7 @@ fopen_path(const char *path, const char *mode) { // When writing, try to create the containing directory, if necessary. // Use generous permissions, the system (init.rc) will reset them. - if (strchr("wa", mode[0])) dirCreateHierarchy(path, 0777, NULL, 1); + if (strchr("wa", mode[0])) dirCreateHierarchy(path, 0777, NULL, 1, sehandle); FILE *fp = fopen(path, mode); return fp; @@ -763,6 +765,19 @@ main(int argc, char **argv) { } } +#ifdef HAVE_SELINUX + struct selinux_opt seopts[] = { + { SELABEL_OPT_PATH, "/file_contexts" } + }; + + sehandle = selabel_open(SELABEL_CTX_FILE, seopts, 1); + + if (!sehandle) { + fprintf(stderr, "Warning: No file_contexts\n"); + ui_print("Warning: No file_contexts\n"); + } +#endif + device_recovery_start(); printf("Command:"); |