vpn: Make domain parameter optional
[platform/upstream/connman.git] / vpn / main.c
old mode 100644 (file)
new mode 100755 (executable)
index 133acd2..ae9c945
 
 #define CONFIGMAINFILE CONFIGDIR "/connman-vpn.conf"
 
+#define DEFAULT_INPUT_REQUEST_TIMEOUT 300 * 1000
+#define DEFAULT_BROWSER_LAUNCH_TIMEOUT 300 * 1000
+
 static GMainLoop *main_loop = NULL;
 
 static unsigned int __terminated = 0;
 
+static struct {
+       unsigned int timeout_inputreq;
+       unsigned int timeout_browserlaunch;
+} connman_vpn_settings  = {
+       .timeout_inputreq = DEFAULT_INPUT_REQUEST_TIMEOUT,
+       .timeout_browserlaunch = DEFAULT_BROWSER_LAUNCH_TIMEOUT,
+};
+
+static GKeyFile *load_config(const char *file)
+{
+       GError *err = NULL;
+       GKeyFile *keyfile;
+
+       keyfile = g_key_file_new();
+
+       g_key_file_set_list_separator(keyfile, ',');
+
+       if (!g_key_file_load_from_file(keyfile, file, 0, &err)) {
+               if (err->code != G_FILE_ERROR_NOENT) {
+                       connman_error("Parsing %s failed: %s", file,
+                                                               err->message);
+               }
+
+               g_error_free(err);
+               g_key_file_free(keyfile);
+               return NULL;
+       }
+
+       return keyfile;
+}
+
+static void parse_config(GKeyFile *config, const char *file)
+{
+       GError *error = NULL;
+       int timeout;
+
+       if (!config)
+               return;
+
+       DBG("parsing %s", file);
+
+       timeout = g_key_file_get_integer(config, "General",
+                       "InputRequestTimeout", &error);
+       if (!error && timeout >= 0)
+               connman_vpn_settings.timeout_inputreq = timeout * 1000;
+
+       g_clear_error(&error);
+}
+
+static int config_init(const char *file)
+{
+       GKeyFile *config;
+
+       config = load_config(file);
+       parse_config(config, file);
+       if (config)
+               g_key_file_free(config);
+
+       return 0;
+}
+
 static gboolean signal_handler(GIOChannel *channel, GIOCondition cond,
                                                        gpointer user_data)
 {
@@ -163,6 +227,33 @@ static GOptionEntry options[] = {
        { NULL },
 };
 
+bool connman_setting_get_bool(const char *key)
+{
+       return false;
+}
+
+#if defined TIZEN_EXT
+unsigned int connman_setting_get_uint(const char *key)
+{
+       return 0;
+}
+
+int connman_setting_get_int(const char *key)
+{
+       return 0;
+}
+#endif
+
+char **connman_setting_get_string_list(const char *key)
+{
+       return NULL;
+}
+
+unsigned int *connman_setting_get_uint_list(const char *key)
+{
+       return NULL;
+}
+
 /*
  * This function will be called from generic src/agent.c code so we have
  * to use connman_ prefix instead of vpn_ one.
@@ -172,6 +263,16 @@ unsigned int connman_timeout_input_request(void)
        return __vpn_settings_get_timeout_inputreq();
 }
 
+unsigned int connman_timeout_browser_launch(void)
+{
+       return connman_vpn_settings.timeout_browserlaunch;
+}
+
+const char *connman_option_get_string(const char *key)
+{
+       return NULL;
+}
+
 int main(int argc, char *argv[])
 {
        GOptionContext *context;