Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[config] Add configuration option for allowing modes to groups. JB#49458
This adds configuration group mode_group that can be used to specify
which groups may use a dynamic mode. Defaults to "sailfish-system"
meaning only device owner and value "users" means everyone.

Signed-off-by: Tomi Leppänen <tomi.leppanen@jolla.com>
  • Loading branch information
Tomin1 committed May 29, 2020
1 parent b6c50d4 commit 422b845
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/usb_moded-config-private.h
Expand Up @@ -78,6 +78,9 @@ set_config_result_t config_set_hide_mode_setting (const char *mode);
set_config_result_t config_set_unhide_mode_setting (const char *mode);
set_config_result_t config_set_mode_whitelist (const char *whitelist);
set_config_result_t config_set_mode_in_whitelist (const char *mode, int allowed);
#ifdef SAILFISH_ACCESS_CONTROL
char *config_get_group_for_mode (const char *mode);
#endif
set_config_result_t config_set_network_setting (const char *config, const char *setting);
char *config_get_network_setting (const char *config);
bool config_init (void);
Expand Down
17 changes: 17 additions & 0 deletions src/usb_moded-config.c
Expand Up @@ -89,6 +89,9 @@ set_config_result_t config_set_hide_mode_setting (const char *mode);
set_config_result_t config_set_unhide_mode_setting (const char *mode);
set_config_result_t config_set_mode_whitelist (const char *whitelist);
set_config_result_t config_set_mode_in_whitelist (const char *mode, int allowed);
#ifdef SAILFISH_ACCESS_CONTROL
char *config_get_group_for_mode (const char *mode);
#endif
set_config_result_t config_set_network_setting (const char *config, const char *setting);
char *config_get_network_setting (const char *config);
static void config_merge_key (GKeyFile *dest, GKeyFile *srce, const char *grp, const char *key);
Expand Down Expand Up @@ -592,6 +595,20 @@ set_config_result_t config_set_mode_in_whitelist(const char *mode, int allowed)
return ret;
}

#ifdef SAILFISH_ACCESS_CONTROL
char *config_get_group_for_mode(const char *mode)
{
LOG_REGISTER_CONTEXT;

char *group = config_get_conf_string(MODE_GROUP_ENTRY, mode);

if (group == NULL)
group = g_strdup("sailfish-system");

return group;
}
#endif

/*
* @param config : the key to be set
* @param setting : The value to be set
Expand Down
1 change: 1 addition & 0 deletions src/usb_moded-config.h
Expand Up @@ -72,6 +72,7 @@
# define ANDROID_PRODUCT_ID_KEY "idProduct"
# define MODE_HIDE_KEY "hide"
# define MODE_WHITELIST_KEY "whitelist"
# define MODE_GROUP_ENTRY "mode_group"

/* ========================================================================= *
* Types
Expand Down

0 comments on commit 422b845

Please sign in to comment.