load_policy: update (Yuichi Nakamura <ynakam@hitachisoft.jp>)

This commit is contained in:
Denis Vlasenko 2007-09-26 18:01:32 +00:00
parent dd5e11bb05
commit b042bd9514
2 changed files with 7 additions and 16 deletions

View File

@ -1813,8 +1813,8 @@
"$ ls -l /tmp/ls\n" \ "$ ls -l /tmp/ls\n" \
"lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*\n" "lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*\n"
#define load_policy_trivial_usage \ #define load_policy_trivial_usage
"[FILE]"
#define load_policy_full_usage #define load_policy_full_usage
#define loadfont_trivial_usage \ #define loadfont_trivial_usage \

View File

@ -1,6 +1,5 @@
/* /*
* load_policy * load_policy
* This implementation is based on old load_policy to be small.
* Author: Yuichi Nakamura <ynakam@hitachisoft.jp> * Author: Yuichi Nakamura <ynakam@hitachisoft.jp>
*/ */
#include "libbb.h" #include "libbb.h"
@ -8,22 +7,14 @@
int load_policy_main(int argc, char **argv); int load_policy_main(int argc, char **argv);
int load_policy_main(int argc, char **argv) int load_policy_main(int argc, char **argv)
{ {
int fd; int rc;
struct stat st;
void *data; if (argc != 1) {
if (argc != 2) {
bb_show_usage(); bb_show_usage();
} }
fd = xopen(argv[1], O_RDONLY); rc = selinux_mkload_policy(1);
if (fstat(fd, &st) < 0) { if (rc < 0) {
bb_perror_msg_and_die("can't fstat");
}
data = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
if (data == MAP_FAILED) {
bb_perror_msg_and_die("can't mmap");
}
if (security_load_policy(data, st.st_size) < 0) {
bb_perror_msg_and_die("can't load policy"); bb_perror_msg_and_die("can't load policy");
} }