Make context option NOP

This commit is contained in:
topjohnwu 2017-03-15 17:31:21 +08:00
parent ef6b25b3bb
commit d50c1f39ab
2 changed files with 3 additions and 10 deletions

12
su.c
View File

@ -442,7 +442,6 @@ static void usage(int status) {
"Options:\n"
" --daemon start the su daemon agent\n"
" -c, --command COMMAND pass COMMAND to the invoked shell\n"
" --context context Change SELinux context\n"
" -h, --help display this help message and exit\n"
" -, -l, --login pretend the shell to be a login shell\n"
" -m, -p,\n"
@ -540,12 +539,8 @@ static __attribute__ ((noreturn)) void allow(struct su_context *ctx) {
arg0, PARG(0), PARG(1), PARG(2), PARG(3), PARG(4), PARG(5),
(ctx->to.optind + 6 < ctx->to.argc) ? " ..." : "");
if(ctx->to.context) {
setexeccon(ctx->to.context);
} else {
setexeccon("u:r:su:s0");
}
setexeccon("u:r:su:s0");
ctx->to.argv[--argc] = arg0;
execvp(binary, ctx->to.argv + argc);
err = errno;
@ -691,7 +686,6 @@ int su_main_nodaemon(int argc, char **argv) {
.keepenv = 0,
.shell = NULL,
.command = NULL,
.context = NULL,
.argv = argv,
.argc = argc,
.optind = 0,
@ -761,7 +755,7 @@ int su_main_nodaemon(int argc, char **argv) {
}
exit(EXIT_SUCCESS);
case 'z':
ctx.to.context = optarg;
// Do nothing, placed here for legacy support :)
break;
default:
/* Bionic getopt_long doesn't terminate its error output by newline */

1
su.h
View File

@ -95,7 +95,6 @@ struct su_request {
int login;
int keepenv;
char *shell;
char *context;
char *command;
char **argv;
int argc;