From: Guus Sliepen Date: Sat, 27 Mar 2004 13:50:04 +0000 (+0000) Subject: Now it even runs (it still doesn't do anything useful yet). X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=commitdiff_plain;h=277000efc8395c2fa4a6e8a88d867d53eec03f57 Now it even runs (it still doesn't do anything useful yet). --- diff --git a/rt/node.c b/rt/node.c index 4178b15f..4eee5290 100644 --- a/rt/node.c +++ b/rt/node.c @@ -47,6 +47,8 @@ bool node_validname(const char *name) { } bool node_init(void) { + char *cfgfilename; + nodes = avl_tree_new((avl_compare_t)node_compare, (avl_action_t)node_free); myself = node_new(); @@ -61,6 +63,18 @@ bool node_init(void) { node_exit(); return false; } + + myself->cfg = cfg_tree_new(); + + asprintf(&cfgfilename, "%s/hosts/%s", tinc_confbase, myself->name); + + if(!cfg_read_file(myself->cfg, cfgfilename)) { + free(cfgfilename); + node_exit(); + return false; + } + + free(cfgfilename); return true; } diff --git a/rt/rt.c b/rt/rt.c index 25f22cf7..43e33c65 100644 --- a/rt/rt.c +++ b/rt/rt.c @@ -129,13 +129,11 @@ bool rt_init(void) { } /* Open the virtual network device */ + + clear(new(rt_vnd)); - if(!cfg_get_string(tinc_cfg, "Device", "/dev/net/tun", &rt_vnd->device) - || !cfg_get_string(tinc_cfg, "Interface", tinc_netname, &rt_vnd->interface) - || !cfg_get_choice(tinc_cfg, "Mode", mode_choice, RT_MODE_ROUTER, rt_mode)) { - vnd_free(rt_vnd); - return false; - } + replace(rt_vnd->device, device); + replace(rt_vnd->interface, iface); rt_vnd->mode = (rt_mode == RT_MODE_ROUTER) ? VND_MODE_TUN : VND_MODE_TAP; rt_vnd->recv = rt_vnd_recv; @@ -167,6 +165,8 @@ bool rt_init(void) { clear(new(listener)); listener->local.address = *(struct sockaddr_storage *)aip->ai_addr; listener->local.id = myself->name; + listener->type = SOCK_STREAM; + listener->protocol = IPPROTO_TCP; // listener->local.cred = ...; listener->accept = rt_tnl_accept;