diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-05-31 15:07:19 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-05-31 15:07:19 -0400 |
commit | fc0842275de8f8ab43374df922907d97b4e60b58 (patch) | |
tree | 27063cf95afbed2ca5c7ccde1f3504807de7d3a5 /src | |
parent | d1bbd84a6d1f5e721badb55755e278f2e4f0bf7b (diff) | |
parent | 9d41629aa072b389332273a21926260c302b49e1 (diff) | |
download | tor-fc0842275de8f8ab43374df922907d97b4e60b58.tar tor-fc0842275de8f8ab43374df922907d97b4e60b58.tar.gz |
Merge remote-tracking branch 'public/bug5374'
Diffstat (limited to 'src')
-rw-r--r-- | src/or/connection.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/or/connection.c b/src/or/connection.c index eb8b840eb..beeeb2aab 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -1416,9 +1416,6 @@ connection_connect(connection_t *conn, const char *address, } } - if (!server_mode(options)) - client_check_address_changed(s); - /* it succeeded. we're connected. */ log_fn(inprogress?LOG_DEBUG:LOG_INFO, LD_NET, "Connection to %s:%u %s (sock %d).", @@ -3898,6 +3895,14 @@ static int connection_finished_connecting(connection_t *conn) { tor_assert(conn); + + if (!server_mode(get_options())) { + /* See whether getsockname() says our address changed. We need to do this + * now that the connection has finished, because getsockname() on Windows + * won't work until then. */ + client_check_address_changed(conn->s); + } + switch (conn->type) { case CONN_TYPE_OR: |