diff --git a/changes/bug1899_test_changed_addr b/changes/bug1899_test_changed_addr new file mode 100644 index 0000000000..2823d3c6e0 --- /dev/null +++ b/changes/bug1899_test_changed_addr @@ -0,0 +1,4 @@ + o Minor features + - When a router changes IP or port, authorities now launch a new + reachability test for it. (Implements ticket 1899) + diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 523a92178e..b5c33739b3 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -3136,6 +3136,10 @@ dirserv_should_launch_reachability_test(routerinfo_t *ri, routerinfo_t *ri_old) /* It just came out of hibernation; launch a reachability test */ return 1; } + if (ri_old->addr != ri->addr || ri_old->or_port != ri->or_port) { + /* Address or port changed; launch a reachability test */ + return 1; + } return 0; }