summaryrefslogtreecommitdiffstats
path: root/toolbox
diff options
context:
space:
mode:
authorBenoit Goby <benoit@android.com>2013-03-22 16:23:48 -0700
committerBenoit Goby <benoit@android.com>2013-03-26 12:24:10 -0700
commitc6d7e200eddd620d8ac55259ab3aa5f8bfa2aadb (patch)
tree3e2e332d9ed70377e13c91e2990c4a914d4f5f8b /toolbox
parent82075a4044efe57ad9bad3d18982e311b4ef53ae (diff)
downloadsystem_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.mk1
-rw-r--r--toolbox/reboot.c58
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;
-}