diff options
author | Elliott Hughes <enh@google.com> | 2015-07-01 14:56:07 -0500 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2015-07-01 14:56:07 -0500 |
commit | 8c0d2d2bc557ced86650ab48ab92cf58840efce8 (patch) | |
tree | b5781eb790c0c54198b9bea417be2886c46091fa | |
parent | 56217bb175cdf9506b9b7970edd313c1fef8e122 (diff) | |
download | toybox-8c0d2d2bc557ced86650ab48ab92cf58840efce8.tar.gz toybox-8c0d2d2bc557ced86650ab48ab92cf58840efce8.tar.bz2 toybox-8c0d2d2bc557ced86650ab48ab92cf58840efce8.zip |
Improve -Z error reporting.
The most likely reason for setfscreatecon to fail is that you don't have permission, and that's reported by the write return EACCES. There isn't really a "bad" context; they're just strings.
Before:
$ adb shell mkdir -Z x y
mkdir: bad -Z 'x'
After:
$ adb shell mkdir -Z x y
mkdir: -Z 'x' failed: Permission denied
Other than this, the ToT mkdir works fine with SELinux.
-rw-r--r-- | toys/lsb/mknod.c | 2 | ||||
-rw-r--r-- | toys/posix/mkdir.c | 2 | ||||
-rw-r--r-- | toys/posix/mkfifo.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/toys/lsb/mknod.c b/toys/lsb/mknod.c index d6cd65c..39073fa 100644 --- a/toys/lsb/mknod.c +++ b/toys/lsb/mknod.c @@ -52,7 +52,7 @@ void mknod_main(void) if (toys.optflags & FLAG_Z) if (-1 == lsm_set_create(TT.arg_context)) - error_exit("bad -Z '%s'", TT.arg_context); + perror_exit("-Z '%s' failed", TT.arg_context); if (mknod(*toys.optargs, mode|modes[type], makedev(major, minor))) perror_exit("%s", *toys.optargs); } diff --git a/toys/posix/mkdir.c b/toys/posix/mkdir.c index 438e38e..95bdf33 100644 --- a/toys/posix/mkdir.c +++ b/toys/posix/mkdir.c @@ -43,7 +43,7 @@ void mkdir_main(void) if (CFG_MKDIR_Z && (toys.optflags&FLAG_Z)) if (0>lsm_set_create(TT.arg_context)) - error_exit("bad -Z '%s'", TT.arg_context); + perror_exit("-Z '%s' failed", TT.arg_context); if (TT.arg_mode) mode = string_to_mode(TT.arg_mode, 0777); diff --git a/toys/posix/mkfifo.c b/toys/posix/mkfifo.c index 7bc43cc..9aa3a3a 100644 --- a/toys/posix/mkfifo.c +++ b/toys/posix/mkfifo.c @@ -43,7 +43,7 @@ void mkfifo_main(void) if (CFG_MKFIFO_Z && (toys.optflags&FLAG_Z)) if (0>lsm_set_create(TT.Z)) - error_exit("bad -Z '%s'", TT.Z); + perror_exit("-Z '%s' failed", TT.Z); for (s = toys.optargs; *s; s++) if (mknod(*s, S_IFIFO | TT.mode, 0) < 0) perror_msg("%s", *s); |