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