sss_selinux.h revision b42bb7d9dbf9a4c44a03e7bf1bab471a8a85e858
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina/*
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina SSSD
d98fdd80331e93cd698281341360a3ce3e30afbePavel Březina
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina SELinux-related utility functions
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina Authors:
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina Jan Zeleny <jzeleny@redhat.com>
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina Copyright (C) 2012 Red Hat
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina This program is free software; you can redistribute it and/or modify
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina it under the terms of the GNU General Public License as published by
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina the Free Software Foundation; either version 3 of the License, or
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina (at your option) any later version.
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina This program is distributed in the hope that it will be useful,
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina but WITHOUT ANY WARRANTY; without even the implied warranty of
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina GNU General Public License for more details.
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina You should have received a copy of the GNU General Public License
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina along with this program. If not, see <http://www.gnu.org/licenses/>.
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina*/
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina#ifndef SSS_SELINUX_H_
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina#define SSS_SELINUX_H_
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina#include <talloc.h>
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina#include <errno.h>
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina#include <db/sysdb.h>
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina#define SELINUX_PRIORITY_USER_CAT 1
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina#define SELINUX_PRIORITY_USER_GROUP 2
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina#define SELINUX_PRIORITY_USER_NAME 4
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina/* According to specification, host has higher priority */
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina#define SELINUX_PRIORITY_HOST_CAT 8
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina#define SELINUX_PRIORITY_HOST_GROUP 16
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina#define SELINUX_PRIORITY_HOST_NAME 32
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březinaerrno_t
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březinasss_selinux_extract_user(TALLOC_CTX *mem_ctx,
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina struct sysdb_ctx *sysdb,
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina struct sss_domain_info *domain,
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina const char *username,
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina struct sysdb_attrs **_user_attrs);
bf6f1b3d49e17b1adf0448c0b06e94b1e52ddffdLukas Slebodnik
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březinabool sss_selinux_match(struct sysdb_attrs *usermap,
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina struct sysdb_attrs *user,
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina struct sysdb_attrs *host,
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina uint32_t *_priority);
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashovconst char *sss_selinux_map_get_seuser(struct sysdb_attrs *usermap);
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina#endif /* SSS_SELINUX_H_ */
ca261795ce61c41d7e62217ccb2ee913923040ffPavel Březina