summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2017-02-20 06:11:43 -0500
committerLibravatar Drew DeVault <sir@cmpwn.com>2017-02-20 06:11:56 -0500
commitb10721b89e3f3992b2476c55237a25dbeb0bce46 (patch)
tree8898271a6b93b848bd5e75c6f037a6140d119d1b /include
parentRevise IPC security configuration (diff)
downloadsway-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.h8
-rw-r--r--include/sway/security.h6
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
209struct feature_policy { 208struct 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
230struct 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
306void pid_workspace_add(struct pid_workspace *pw); 310void 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
6enum secure_feature get_feature_policy(pid_t pid); 6uint32_t get_feature_policy(pid_t pid);
7enum command_context get_command_policy(const char *cmd); 7uint32_t get_ipc_policy(pid_t pid);
8uint32_t get_command_policy(const char *cmd);
8 9
9const char *command_policy_str(enum command_context context); 10const char *command_policy_str(enum command_context context);
10 11
11struct feature_policy *alloc_feature_policy(const char *program); 12struct feature_policy *alloc_feature_policy(const char *program);
13struct ipc_policy *alloc_ipc_policy(const char *program);
12struct command_policy *alloc_command_policy(const char *command); 14struct command_policy *alloc_command_policy(const char *command);
13 15
14#endif 16#endif