X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=rt%2Frt.c;h=43e33c650fc545f1c33674fd09b482c64159a10f;hb=277000efc8395c2fa4a6e8a88d867d53eec03f57;hp=25f22cf7da72ddc2fc4ec7decb7724c48520a97d;hpb=942ee816b88f9c35b456abab1864e5e2b811e5c8;p=tinc 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;