#include "avl_tree.h"
#include "conf.h"
-#include "list.h"
#include "logger.h"
-#include "net.h" /* Don't ask. */
-#include "netutl.h"
#include "subnet.h"
#include "utils.h"
#include "xalloc.h"
avl_tree_t *connection_tree; /* Meta connections */
-connection_t *broadcast;
+connection_t *everyone;
static int connection_compare(const connection_t *a, const connection_t *b) {
return a < b ? -1 : a == b ? 0 : 1;
void init_connections(void) {
connection_tree = avl_alloc_tree((avl_compare_t) connection_compare, (avl_action_t) free_connection);
- broadcast = new_connection();
- broadcast->name = xstrdup("everyone");
- broadcast->hostname = xstrdup("BROADCAST");
+ everyone = new_connection();
+ everyone->name = xstrdup("everyone");
+ everyone->hostname = xstrdup("BROADCAST");
}
void exit_connections(void) {
avl_delete_tree(connection_tree);
- free_connection(broadcast);
+ free_connection(everyone);
}
connection_t *new_connection(void) {
logger(LOG_DEBUG, "End of connections.");
}
-
-bool read_connection_config(connection_t *c) {
- list_node_t *node, *next;
- size_t name_len = strlen(c->name);
- char *fname;
- bool x;
-
- for(node = cmdline_conf->tail; node; node = next) {
- config_t *cfg = (config_t *)node->data;
- next = node->prev;
- if (!strncmp(c->name, cfg->variable, name_len) && cfg->variable[name_len] == '.') {
- config_t *new_cfg = new_config();
- new_cfg->variable = xstrdup(cfg->variable + name_len + 1);
- new_cfg->value = xstrdup(cfg->value);
- new_cfg->file = NULL;
- new_cfg->line = cfg->line;
- config_add(c->config_tree, new_cfg);
- }
- }
-
- xasprintf(&fname, "%s/hosts/%s", confbase, c->name);
- x = read_config_file(c->config_tree, fname);
- free(fname);
-
- return x;
-}