Use the onlink flag when adding routes on Linux.
[tinc] / src / address_cache.c
index 2fa9baf..445cd1c 100644 (file)
@@ -108,7 +108,6 @@ void add_recent_address(address_cache_t *cache, const sockaddr_t *sa) {
        FILE *fp = fopen(fname, "wb");
 
        if(fp) {
-               fprintf(stderr, "Writing cache to %s\n", fname);
                fwrite(&cache->data, sizeof(cache->data), 1, fp);
                fclose(fp);
        }
@@ -129,12 +128,12 @@ const sockaddr_t *get_recent_address(address_cache_t *cache) {
                if(cache->ai) {
                        if(cache->aip) {
                                sockaddr_t *sa = (sockaddr_t *)cache->aip->ai_addr;
+                               cache->aip = cache->aip->ai_next;
 
                                if(find_cached(cache, sa) != NOT_CACHED) {
                                        continue;
                                }
 
-                               cache->aip = cache->aip->ai_next;
                                return sa;
                        } else {
                                free_known_addresses(cache->ai);