Add initial support code for new IPC security

This commit is contained in:
Drew DeVault 2017-02-20 06:11:43 -05:00
parent 7dbecdde95
commit b10721b89e
7 changed files with 70 additions and 58 deletions

View file

@ -203,7 +203,6 @@ enum secure_feature {
FEATURE_FULLSCREEN = 16,
FEATURE_KEYBOARD = 32,
FEATURE_MOUSE = 64,
FEATURE_IPC = 128,
};
struct feature_policy {
@ -228,6 +227,11 @@ enum ipc_feature {
IPC_FEATURE_EVENT_INPUT = 8192
};
struct ipc_policy {
char *program;
uint32_t features;
};
/**
* The configuration struct. The result of loading a config file.
*/
@ -300,7 +304,7 @@ struct sway_config {
// Security
list_t *command_policies;
list_t *feature_policies;
uint32_t ipc_policy;
list_t *ipc_policies;
};
void pid_workspace_add(struct pid_workspace *pw);

View file

@ -3,12 +3,14 @@
#include <unistd.h>
#include "sway/config.h"
enum secure_feature get_feature_policy(pid_t pid);
enum command_context get_command_policy(const char *cmd);
uint32_t get_feature_policy(pid_t pid);
uint32_t get_ipc_policy(pid_t pid);
uint32_t get_command_policy(const char *cmd);
const char *command_policy_str(enum command_context context);
struct feature_policy *alloc_feature_policy(const char *program);
struct ipc_policy *alloc_ipc_policy(const char *program);
struct command_policy *alloc_command_policy(const char *command);
#endif