diff options
| author | Benoit Goby <benoit@android.com> | 2013-03-22 16:23:48 -0700 |
|---|---|---|
| committer | Benoit Goby <benoit@android.com> | 2013-03-26 12:24:10 -0700 |
| commit | c6d7e200eddd620d8ac55259ab3aa5f8bfa2aadb (patch) | |
| tree | 3e2e332d9ed70377e13c91e2990c4a914d4f5f8b /toolbox | |
| parent | 82075a4044efe57ad9bad3d18982e311b4ef53ae (diff) | |
| download | system_core-c6d7e200eddd620d8ac55259ab3aa5f8bfa2aadb.zip system_core-c6d7e200eddd620d8ac55259ab3aa5f8bfa2aadb.tar.gz system_core-c6d7e200eddd620d8ac55259ab3aa5f8bfa2aadb.tar.bz2 | |
toolbox: Make reboot a separate command from toolbox
Set the CAP_SYS_BOOT filesystem capability on the new reboot
command and keep CAP_SYS_BOOT in adb bounding set so that the
shell user can run it.
Change-Id: I1dd6143445ee2a952254f0452ab6e544318431dd
Diffstat (limited to 'toolbox')
| -rw-r--r-- | toolbox/Android.mk | 1 | ||||
| -rw-r--r-- | toolbox/reboot.c | 58 |
2 files changed, 0 insertions, 59 deletions
diff --git a/toolbox/Android.mk b/toolbox/Android.mk index 2ecb626..677539f 100644 --- a/toolbox/Android.mk +++ b/toolbox/Android.mk @@ -16,7 +16,6 @@ TOOLS := \ rm \ mkdir \ rmdir \ - reboot \ getevent \ sendevent \ date \ diff --git a/toolbox/reboot.c b/toolbox/reboot.c deleted file mode 100644 index f8546de..0000000 --- a/toolbox/reboot.c +++ /dev/null @@ -1,58 +0,0 @@ -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> -#include <cutils/android_reboot.h> -#include <unistd.h> - -int reboot_main(int argc, char *argv[]) -{ - int ret; - int nosync = 0; - int poweroff = 0; - int flags = 0; - - opterr = 0; - do { - int c; - - c = getopt(argc, argv, "np"); - - if (c == EOF) { - break; - } - - switch (c) { - case 'n': - nosync = 1; - break; - case 'p': - poweroff = 1; - break; - case '?': - fprintf(stderr, "usage: %s [-n] [-p] [rebootcommand]\n", argv[0]); - exit(EXIT_FAILURE); - } - } while (1); - - if(argc > optind + 1) { - fprintf(stderr, "%s: too many arguments\n", argv[0]); - exit(EXIT_FAILURE); - } - - if(nosync) - /* also set NO_REMOUNT_RO as remount ro includes an implicit sync */ - flags = ANDROID_RB_FLAG_NO_SYNC | ANDROID_RB_FLAG_NO_REMOUNT_RO; - - if(poweroff) - ret = android_reboot(ANDROID_RB_POWEROFF, flags, 0); - else if(argc > optind) - ret = android_reboot(ANDROID_RB_RESTART2, flags, argv[optind]); - else - ret = android_reboot(ANDROID_RB_RESTART, flags, 0); - if(ret < 0) { - perror("reboot"); - exit(EXIT_FAILURE); - } - fprintf(stderr, "reboot returned\n"); - return 0; -} |
