session: Add session identification method to config
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Fri, 31 May 2013 07:13:35 +0000 (09:13 +0200)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Fri, 31 May 2013 11:43:19 +0000 (14:43 +0300)
The session core needs to the know which kind of session
identification method has been selected in the plugin in order
to use the right iptables rules etc.

include/session.h
src/session.c

index 5b7e07b..61cc264 100644 (file)
@@ -49,6 +49,13 @@ enum connman_session_type {
        CONNMAN_SESSION_TYPE_INTERNET = 3,
 };
 
+enum connman_session_id_type {
+       CONNMAN_SESSION_ID_TYPE_UNKNOWN = 0,
+       CONNMAN_SESSION_ID_TYPE_UID     = 1,
+       CONNMAN_SESSION_ID_TYPE_GID     = 2,
+       CONNMAN_SESSION_ID_TYPE_LSM     = 3,
+};
+
 struct cb_data {
        void *cb;
        void *user_data;
@@ -69,6 +76,8 @@ static inline struct cb_data *cb_data_new(void *cb, void *user_data)
 struct connman_session;
 
 struct connman_session_config {
+       enum connman_session_id_type id_type;
+       char *id;
        connman_bool_t priority;
        enum connman_session_roaming_policy roaming_policy;
        enum connman_session_type type;
index 236c599..bdb22d0 100644 (file)
@@ -414,6 +414,10 @@ void connman_session_policy_unregister(struct connman_session_policy *policy)
 
 void connman_session_set_default_config(struct connman_session_config *config)
 {
+       config->id_type = CONNMAN_SESSION_ID_TYPE_UNKNOWN;
+       g_free(config->id);
+       config->id = NULL;
+
        config->priority = FALSE;
        config->roaming_policy = CONNMAN_SESSION_ROAMING_POLICY_DEFAULT;
        config->type = CONNMAN_SESSION_TYPE_ANY;