]> git.ipfire.org Git - thirdparty/util-linux.git/blame - login-utils/selinux_utils.c
su: fix --pty terminal initialization
[thirdparty/util-linux.git] / login-utils / selinux_utils.c
CommitLineData
d03dd608 1#include <selinux/context.h>
fd2940f5
SK
2#include <selinux/selinux.h>
3#include <stdio.h>
4#include <string.h>
5#include <sys/types.h>
6
d03dd608
KZ
7#include "selinux_utils.h"
8
dd5ef107 9access_vector_t get_access_vector(const char *tclass, const char *op)
fd2940f5 10{
dd5ef107
KZ
11 security_class_t tc = string_to_security_class(tclass);
12
13 return tc ? string_to_av_perm(tc, op) : 0;
d03dd608
KZ
14}
15
fd2940f5
SK
16int setupDefaultContext(char *orig_file)
17{
18 if (is_selinux_enabled() > 0) {
19 security_context_t scontext;
20 if (getfilecon(orig_file, &scontext) < 0)
21 return 1;
22 if (setfscreatecon(scontext) < 0) {
23 freecon(scontext);
24 return 1;
25 }
26 freecon(scontext);
27 }
28 return 0;
d03dd608 29}