aboutsummaryrefslogtreecommitdiff
path: root/sway/security.c
diff options
context:
space:
mode:
authorJerzi Kaminsky <JerziKaminsky@users.noreply.github.com>2017-04-15 17:16:32 +0300
committerJerzi Kaminsky <JerziKaminsky@users.noreply.github.com>2017-04-16 17:09:53 +0300
commitbfb99235e323e31689e280867103d3bc2e39ac22 (patch)
tree8332d7d88a2bcca48bf62a212ad55ee01ff87f6b /sway/security.c
parentb4357a8eb6b9a5c0452fc0d127e37e54dc09e1a0 (diff)
downloadsway-bfb99235e323e31689e280867103d3bc2e39ac22.zip
sway-bfb99235e323e31689e280867103d3bc2e39ac22.tar.gz
sway-bfb99235e323e31689e280867103d3bc2e39ac22.tar.bz2
Move get_feature_policy to sway/security.c
Diffstat (limited to 'sway/security.c')
-rw-r--r--sway/security.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/sway/security.c b/sway/security.c
index 5b762b0..96af2b8 100644
--- a/sway/security.c
+++ b/sway/security.c
@@ -94,6 +94,26 @@ static const char *get_pid_exe(pid_t pid) {
return link;
}
+struct feature_policy *get_feature_policy(const char *name) {
+ struct feature_policy *policy = NULL;
+
+ for (int i = 0; i < config->feature_policies->length; ++i) {
+ struct feature_policy *p = config->feature_policies->items[i];
+ if (strcmp(p->program, name) == 0) {
+ policy = p;
+ break;
+ }
+ }
+ if (!policy) {
+ policy = alloc_feature_policy(name);
+ if (!policy) {
+ sway_abort("Unable to allocate security policy");
+ }
+ list_add(config->feature_policies, policy);
+ }
+ return policy;
+}
+
uint32_t get_feature_policy_mask(pid_t pid) {
uint32_t default_policy = 0;
const char *link = get_pid_exe(pid);