to the node's reflexive UDP address discovered during key
exchange. */
- static int x = 0;
-
- if(++x >= 3) {
- x = 0;
+ if(++mesh->udp_choice >= 3) {
+ mesh->udp_choice = 0;
return;
}
static node_t *try_harder(meshlink_handle_t *mesh, const sockaddr_t *from, const vpn_packet_t *pkt) {
node_t *n = NULL;
bool hard = false;
- static time_t last_hard_try = 0;
for splay_each(edge_t, e, mesh->edges) {
if(!e->to->status.reachable || e->to == mesh->self) {
}
if(sockaddrcmp_noport(from, &e->address)) {
- if(last_hard_try == mesh->loop.now.tv_sec) {
+ if(mesh->last_hard_try == mesh->loop.now.tv_sec) {
continue;
}
}
if(hard) {
- last_hard_try = mesh->loop.now.tv_sec;
+ mesh->last_hard_try = mesh->loop.now.tv_sec;
}
- last_hard_try = mesh->loop.now.tv_sec;
return n;
}