summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-12-26 21:26:03 +0000
committerNick Mathewson <nickm@torproject.org>2008-12-26 21:26:03 +0000
commit616f6643ef9c6222418a4e75e84691c8ed9507f9 (patch)
tree15c6313bee44be600969763f6d6e8bc86cc3b018
parent61722638ea75ebced8ae4529c137074e538551bf (diff)
downloadtor-616f6643ef9c6222418a4e75e84691c8ed9507f9.tar.gz
tor-616f6643ef9c6222418a4e75e84691c8ed9507f9.zip
get_interface_addr6(), and by extension get_interface_addr(), were pretty borked. Copying a tor_addr_t from a sockaddr_storage using memcpy is a poor notion.
svn:r17789
-rw-r--r--ChangeLog6
-rw-r--r--src/common/address.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c8adac3a30..36fd707311 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Changes in version 0.2.1.10-alpha - 2009-??-??
+ o Minor bugfixes
+ - Make get_interface_address() function work properly again; stop
+ guessing the wrong parts of our address as our address.
+
+
Changes in version 0.2.1.9-alpha - 2008-12-25
o New directory authorities:
- gabelmoo (the authority run by Karsten Loesing) now has a new
diff --git a/src/common/address.c b/src/common/address.c
index 2156ed227b..7ae36d4e8b 100644
--- a/src/common/address.c
+++ b/src/common/address.c
@@ -1088,7 +1088,7 @@ get_interface_address6(int severity, sa_family_t family, tor_addr_t *addr)
goto err;
}
- memcpy(addr, &my_addr, sizeof(tor_addr_t));
+ tor_addr_from_sockaddr(addr, (struct sockaddr*)&my_addr, NULL);
r=0;
err:
if (sock >= 0)