summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/201636
-rw-r--r--src/common/address.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/changes/20163 b/changes/20163
new file mode 100644
index 0000000000..04074ded37
--- /dev/null
+++ b/changes/20163
@@ -0,0 +1,6 @@
+ o Minor bugfixes (address discovery):
+ - Stop reordering IP addresses returned by the OS.
+This makes is more likely that Tor will guess the same relay IP address every time.
+Fixes issue 20163; bugfix on 0.2.7.1-alpha, ticket 17027.
+Reported by René Mayrhofer, patch by "cypherpunks".
+
diff --git a/src/common/address.c b/src/common/address.c
index 6799dd6c56..15ee3dbd17 100644
--- a/src/common/address.c
+++ b/src/common/address.c
@@ -1770,13 +1770,13 @@ MOCK_IMPL(smartlist_t *,get_interface_address6_list,(int severity,
{
if (tor_addr_is_loopback(a) ||
tor_addr_is_multicast(a)) {
- SMARTLIST_DEL_CURRENT(addrs, a);
+ SMARTLIST_DEL_CURRENT_KEEPORDER(addrs, a);
tor_free(a);
continue;
}
if (!include_internal && tor_addr_is_internal(a, 0)) {
- SMARTLIST_DEL_CURRENT(addrs, a);
+ SMARTLIST_DEL_CURRENT_KEEPORDER(addrs, a);
tor_free(a);
continue;
}