summaryrefslogtreecommitdiffstats
path: root/network/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'network/main.c')
-rw-r--r--network/main.c75
1 files changed, 38 insertions, 37 deletions
diff --git a/network/main.c b/network/main.c
index 6260ac4e..3ede75fe 100644
--- a/network/main.c
+++ b/network/main.c
@@ -52,13 +52,12 @@ static struct network_conf conf = {
.connection_enabled = TRUE,
.server_enabled = TRUE,
.iface_prefix = NULL,
- .conn.panu_script = NULL,
- .conn.gn_script = NULL,
- .conn.nap_script = NULL,
- .server.panu_iface = NULL,
- .server.gn_iface = NULL,
- .server.nap_iface = NULL,
- .server.disable_security = FALSE
+ .panu_script = NULL,
+ .gn_script = NULL,
+ .nap_script = NULL,
+ .gn_iface = NULL,
+ .nap_iface = NULL,
+ .security = TRUE
};
static void sig_term(int sig)
@@ -70,6 +69,7 @@ static void read_config(const char *file)
{
GKeyFile *keyfile;
GError *err = NULL;
+ const char *disabled;
keyfile = g_key_file_new();
@@ -80,72 +80,75 @@ static void read_config(const char *file)
return;
}
- conf.iface_prefix = g_key_file_get_string(keyfile, "Connection",
- "InterfacePrefix", &err);
- if (!conf.iface_prefix)
- conf.iface_prefix = g_strdup(IFACE_PREFIX);
+ disabled = g_key_file_get_string(keyfile, "General",
+ "Disable", &err);
if (err) {
debug("%s: %s", file, err->message);
g_error_free(err);
err = NULL;
+ } else {
+ if (strstr(disabled, "Connection"))
+ conf.connection_enabled = FALSE;
+ if (strstr(disabled, "Server"))
+ conf.server_enabled = FALSE;
}
- conf.conn.panu_script = g_key_file_get_string(keyfile, "Connection",
- "PANUScript", &err);
+ conf.iface_prefix = g_key_file_get_string(keyfile, "General",
+ "InterfacePrefix", &err);
+ if (!conf.iface_prefix)
+ conf.iface_prefix = g_strdup(IFACE_PREFIX);
if (err) {
debug("%s: %s", file, err->message);
g_error_free(err);
err = NULL;
}
- conf.conn.gn_script = g_key_file_get_string(keyfile, "Connection",
- "GNScript", &err);
+ conf.security = g_key_file_get_boolean(keyfile, "General",
+ "DisableSecurity", &err);
if (err) {
debug("%s: %s", file, err->message);
g_error_free(err);
err = NULL;
}
- conf.conn.nap_script = g_key_file_get_string(keyfile, "Connection",
- "NAPScript", &err);
+ conf.panu_script = g_key_file_get_string(keyfile, "PANU Role",
+ "Script", &err);
if (err) {
debug("%s: %s", file, err->message);
g_error_free(err);
err = NULL;
}
- conf.server.panu_iface = g_key_file_get_string(keyfile, "Server",
- "PANUInterface", &err);
- if (!conf.server.panu_iface)
- conf.server.panu_iface = g_strdup(PANU_IFACE);
+ conf.gn_script = g_key_file_get_string(keyfile, "GN Role",
+ "Script", &err);
if (err) {
debug("%s: %s", file, err->message);
g_error_free(err);
err = NULL;
}
- conf.server.gn_iface = g_key_file_get_string(keyfile, "Server",
- "GNInterface", &err);
- if (!conf.server.gn_iface)
- conf.server.gn_iface = g_strdup(GN_IFACE);
+ conf.nap_script = g_key_file_get_string(keyfile, "NAP Role",
+ "Script", &err);
if (err) {
debug("%s: %s", file, err->message);
g_error_free(err);
err = NULL;
}
- conf.server.nap_iface = g_key_file_get_string(keyfile, "Server",
- "NAPInterface", &err);
- if (!conf.server.nap_iface)
- conf.server.nap_iface = g_strdup(NAP_IFACE);
+ conf.gn_iface = g_key_file_get_string(keyfile, "GN Role",
+ "Interface", &err);
+ if (!conf.gn_iface)
+ conf.gn_iface = g_strdup(GN_IFACE);
if (err) {
debug("%s: %s", file, err->message);
g_error_free(err);
err = NULL;
}
- conf.server.disable_security = g_key_file_get_boolean(keyfile, "Server",
- "DisableSecurity", &err);
+ conf.nap_iface = g_key_file_get_string(keyfile, "NAP Role",
+ "Interface", &err);
+ if (!conf.nap_iface)
+ conf.nap_iface = g_strdup(NAP_IFACE);
if (err) {
debug("%s: %s", file, err->message);
g_error_free(err);
@@ -153,12 +156,10 @@ static void read_config(const char *file)
}
debug("Config options: InterfacePrefix=%s, PANUScript=%s, GNScript=%s, "
- "NAPScript=%s, PANUInterface=%s, GNInterface=%s, "
- "NAPInterface=%s, DisableSecurity=%s", conf.iface_prefix,
- conf.conn.panu_script, conf.conn.gn_script, conf.conn.nap_script,
- conf.server.panu_iface, conf.server.gn_iface,
- conf.server.nap_iface,
- conf.server.disable_security ? "true" : "false");
+ "NAPScript=%s, GNInterface=%s, NAPInterface=%s, Security=%s",
+ conf.iface_prefix, conf.panu_script, conf.gn_script,
+ conf.nap_script, conf.gn_iface, conf.nap_iface,
+ conf.security ? "true" : "false");
g_key_file_free(keyfile);
}