load_policy: update (Yuichi Nakamura <ynakam@hitachisoft.jp>)
This commit is contained in:
parent
dd5e11bb05
commit
b042bd9514
@ -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 \
|
||||||
|
@ -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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user