X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet_setup.c;h=d83c57235d1d9b54ea2291780ff3040c36fa7962;hb=19e42b76f546dc3baee4a5d6a4f161155d279c74;hp=0f8d31a6d68bebb3b844cc04f91841dc092793f9;hpb=46a5aa0d674914f4220d8583b1b2f87c7f05a804;p=tinc diff --git a/src/net_setup.c b/src/net_setup.c index 0f8d31a6..d83c5723 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -445,7 +445,6 @@ bool setup_myself_reloadable(void) { char *fmode = NULL; char *bmode = NULL; char *afname = NULL; - char *address = NULL; char *space; bool choice; @@ -586,7 +585,7 @@ bool setup_myself_reloadable(void) { free(bmode); } - const char* const DEFAULT_BROADCAST_SUBNETS[] = { "ff:ff:ff:ff:ff:ff", "255.255.255.255", "ff00::/8" }; + const char* const DEFAULT_BROADCAST_SUBNETS[] = { "ff:ff:ff:ff:ff:ff", "255.255.255.255", "224.0.0.0/4", "ff00::/8" }; for (size_t i = 0; i < sizeof(DEFAULT_BROADCAST_SUBNETS) / sizeof(*DEFAULT_BROADCAST_SUBNETS); i++) { subnet_t *s = new_subnet(); if (!str2net(s, DEFAULT_BROADCAST_SUBNETS[i])) @@ -1037,7 +1036,7 @@ static bool setup_myself(void) { /* If no Port option was specified, set myport to the port used by the first listening socket. */ - if(!port_specified) { + if(!port_specified || atoi(myport) == 0) { sockaddr_t sa; socklen_t salen = sizeof sa; if(!getsockname(listen_socket[0].udp.fd, &sa.sa, &salen)) { @@ -1142,7 +1141,8 @@ void close_network_connections(void) { if (device_fd >= 0) io_del(&device_io); - devops.close(); + if (devops.close) + devops.close(); exit_control();