]> git.meshlink.io Git - meshlink/commitdiff
Fix logic error preventing fast update of reflexive address.
authorGuus Sliepen <guus@meshlink.io>
Thu, 14 Nov 2019 20:48:02 +0000 (21:48 +0100)
committerGuus Sliepen <guus@meshlink.io>
Thu, 14 Nov 2019 20:48:02 +0000 (21:48 +0100)
When we are trying to communicate with peers that don't know our
reflexive address, and we just learned our own one, we want to inform
those peers of it immediately, so they can send PMTU probes to the right
address. A logic error prevented this from happening in the common case.

src/protocol_key.c

index 8a1d6000947df5057953c5212c44529ebb2b5026..480019e7798c484c8a24288ca3e5ddd7e406050f 100644 (file)
@@ -354,7 +354,7 @@ bool ans_key_h(meshlink_handle_t *mesh, connection_t *c, const char *request) {
 
                        /* Inform all other nodes we want to communicate with and which are reachable via this connection */
                        for splay_each(node_t, n, mesh->nodes) {
-                               if(n->nexthop == c->node) {
+                               if(n->nexthop != c->node) {
                                        continue;
                                }