diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-02-20 06:11:43 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2017-02-20 06:11:56 -0500 |
commit | b10721b89e3f3992b2476c55237a25dbeb0bce46 (patch) | |
tree | 8898271a6b93b848bd5e75c6f037a6140d119d1b /include | |
parent | Revise IPC security configuration (diff) | |
download | sway-b10721b89e3f3992b2476c55237a25dbeb0bce46.tar.gz sway-b10721b89e3f3992b2476c55237a25dbeb0bce46.tar.zst sway-b10721b89e3f3992b2476c55237a25dbeb0bce46.zip |
Add initial support code for new IPC security
Diffstat (limited to 'include')
-rw-r--r-- | include/sway/config.h | 8 | ||||
-rw-r--r-- | include/sway/security.h | 6 |
2 files changed, 10 insertions, 4 deletions
diff --git a/include/sway/config.h b/include/sway/config.h index febde63d..c3a916b1 100644 --- a/include/sway/config.h +++ b/include/sway/config.h | |||
@@ -203,7 +203,6 @@ enum secure_feature { | |||
203 | FEATURE_FULLSCREEN = 16, | 203 | FEATURE_FULLSCREEN = 16, |
204 | FEATURE_KEYBOARD = 32, | 204 | FEATURE_KEYBOARD = 32, |
205 | FEATURE_MOUSE = 64, | 205 | FEATURE_MOUSE = 64, |
206 | FEATURE_IPC = 128, | ||
207 | }; | 206 | }; |
208 | 207 | ||
209 | struct feature_policy { | 208 | struct feature_policy { |
@@ -228,6 +227,11 @@ enum ipc_feature { | |||
228 | IPC_FEATURE_EVENT_INPUT = 8192 | 227 | IPC_FEATURE_EVENT_INPUT = 8192 |
229 | }; | 228 | }; |
230 | 229 | ||
230 | struct ipc_policy { | ||
231 | char *program; | ||
232 | uint32_t features; | ||
233 | }; | ||
234 | |||
231 | /** | 235 | /** |
232 | * The configuration struct. The result of loading a config file. | 236 | * The configuration struct. The result of loading a config file. |
233 | */ | 237 | */ |
@@ -300,7 +304,7 @@ struct sway_config { | |||
300 | // Security | 304 | // Security |
301 | list_t *command_policies; | 305 | list_t *command_policies; |
302 | list_t *feature_policies; | 306 | list_t *feature_policies; |
303 | uint32_t ipc_policy; | 307 | list_t *ipc_policies; |
304 | }; | 308 | }; |
305 | 309 | ||
306 | void pid_workspace_add(struct pid_workspace *pw); | 310 | void pid_workspace_add(struct pid_workspace *pw); |
diff --git a/include/sway/security.h b/include/sway/security.h index 1cc85bee..c3a5cfd4 100644 --- a/include/sway/security.h +++ b/include/sway/security.h | |||
@@ -3,12 +3,14 @@ | |||
3 | #include <unistd.h> | 3 | #include <unistd.h> |
4 | #include "sway/config.h" | 4 | #include "sway/config.h" |
5 | 5 | ||
6 | enum secure_feature get_feature_policy(pid_t pid); | 6 | uint32_t get_feature_policy(pid_t pid); |
7 | enum command_context get_command_policy(const char *cmd); | 7 | uint32_t get_ipc_policy(pid_t pid); |
8 | uint32_t get_command_policy(const char *cmd); | ||
8 | 9 | ||
9 | const char *command_policy_str(enum command_context context); | 10 | const char *command_policy_str(enum command_context context); |
10 | 11 | ||
11 | struct feature_policy *alloc_feature_policy(const char *program); | 12 | struct feature_policy *alloc_feature_policy(const char *program); |
13 | struct ipc_policy *alloc_ipc_policy(const char *program); | ||
12 | struct command_policy *alloc_command_policy(const char *command); | 14 | struct command_policy *alloc_command_policy(const char *command); |
13 | 15 | ||
14 | #endif | 16 | #endif |