diff options
author | Jerzi Kaminsky <JerziKaminsky@users.noreply.github.com> | 2017-04-15 17:16:32 +0300 |
---|---|---|
committer | Jerzi Kaminsky <JerziKaminsky@users.noreply.github.com> | 2017-04-16 17:09:53 +0300 |
commit | bfb99235e323e31689e280867103d3bc2e39ac22 (patch) | |
tree | 8332d7d88a2bcca48bf62a212ad55ee01ff87f6b /sway/security.c | |
parent | Rename get_policy to get_feature_policy (diff) | |
download | sway-bfb99235e323e31689e280867103d3bc2e39ac22.tar.gz sway-bfb99235e323e31689e280867103d3bc2e39ac22.tar.zst sway-bfb99235e323e31689e280867103d3bc2e39ac22.zip |
Move get_feature_policy to sway/security.c
Diffstat (limited to 'sway/security.c')
-rw-r--r-- | sway/security.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sway/security.c b/sway/security.c index 5b762b07..96af2b88 100644 --- a/sway/security.c +++ b/sway/security.c | |||
@@ -94,6 +94,26 @@ static const char *get_pid_exe(pid_t pid) { | |||
94 | return link; | 94 | return link; |
95 | } | 95 | } |
96 | 96 | ||
97 | struct feature_policy *get_feature_policy(const char *name) { | ||
98 | struct feature_policy *policy = NULL; | ||
99 | |||
100 | for (int i = 0; i < config->feature_policies->length; ++i) { | ||
101 | struct feature_policy *p = config->feature_policies->items[i]; | ||
102 | if (strcmp(p->program, name) == 0) { | ||
103 | policy = p; | ||
104 | break; | ||
105 | } | ||
106 | } | ||
107 | if (!policy) { | ||
108 | policy = alloc_feature_policy(name); | ||
109 | if (!policy) { | ||
110 | sway_abort("Unable to allocate security policy"); | ||
111 | } | ||
112 | list_add(config->feature_policies, policy); | ||
113 | } | ||
114 | return policy; | ||
115 | } | ||
116 | |||
97 | uint32_t get_feature_policy_mask(pid_t pid) { | 117 | uint32_t get_feature_policy_mask(pid_t pid) { |
98 | uint32_t default_policy = 0; | 118 | uint32_t default_policy = 0; |
99 | const char *link = get_pid_exe(pid); | 119 | const char *link = get_pid_exe(pid); |