]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/core/selinux-access.h
bus-proxy: service_name_is_valid will never be < 0
[thirdparty/systemd.git] / src / core / selinux-access.h
CommitLineData
e2417e41
DW
1/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
2
cad45ba1 3#pragma once
e2417e41
DW
4
5/***
6 This file is part of systemd.
7
8 Copyright 2012 Dan Walsh
9
10 systemd is free software; you can redistribute it and/or modify it
03e22642
KS
11 under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
e2417e41
DW
13 (at your option) any later version.
14
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
03e22642 18 Lesser General Public License for more details.
e2417e41 19
03e22642 20 You should have received a copy of the GNU Lesser General Public License
e2417e41
DW
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22***/
23
718db961
LP
24#include "sd-bus.h"
25#include "bus-error.h"
26#include "bus-util.h"
ffc227c9
LP
27
28void selinux_access_free(void);
29
4f4f7036 30int selinux_generic_access_check(sd_bus_message *message, const char *path, const char *permission, sd_bus_error *error);
cad45ba1
LP
31
32#ifdef HAVE_SELINUX
33
4f4f7036
LP
34#define selinux_access_check(message, permission, error) \
35 selinux_generic_access_check((message), NULL, (permission), (error))
36
37#define selinux_unit_access_check(unit, message, permission, error) \
38 ({ \
39 Unit *_unit = (unit); \
40 selinux_generic_access_check((message), _unit->fragment_path ?: _unit->fragment_path, (permission), (error)); \
41 })
cad45ba1
LP
42
43#else
44
4f4f7036
LP
45#define selinux_access_check(message, permission, error) 0
46#define selinux_unit_access_check(unit, message, permission, error) 0
cad45ba1 47
e2417e41 48#endif