]> git.meshlink.io Git - meshlink/commitdiff
Ignore address hints for our local node.
authorGuus Sliepen <guus@meshlink.io>
Wed, 21 Jun 2017 20:57:34 +0000 (22:57 +0200)
committerGuus Sliepen <guus@meshlink.io>
Wed, 21 Jun 2017 20:57:34 +0000 (22:57 +0200)
Catta also sees itself, which causes MeshLink to add address hints for
its own node. That causes link-local addresses to be added. When calling
meshlink_invite(), the first link-local address would then be used for
the invitation URL, which is not desirable.

src/meshlink.c

index 994d8957ae696fe487035345a95f9e8e83cb18d1..addb490092a655d0eead3d7604c932298cc2e299 100644 (file)
@@ -1,6 +1,6 @@
 /*
     meshlink.c -- Implementation of the MeshLink API.
-    Copyright (C) 2014 Guus Sliepen <guus@meshlink.io>
+    Copyright (C) 2014, 2017 Guus Sliepen <guus@meshlink.io>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -1834,6 +1834,10 @@ void meshlink_set_default_blacklist(meshlink_handle_t *mesh, bool blacklist) {
 void meshlink_hint_address(meshlink_handle_t *mesh, meshlink_node_t *node, const struct sockaddr *addr) {
        if(!mesh || !node || !addr)
                return;
+
+       // Ignore hints about ourself.
+       if((node_t *)node == mesh->self)
+               return;
        
        pthread_mutex_lock(&(mesh->mesh_mutex));