Merge remote-tracking branch 'public/bug5374'

This commit is contained in:
Nick Mathewson 2012-05-31 15:07:19 -04:00
commit fc0842275d
2 changed files with 15 additions and 3 deletions

7
changes/bug5374 Normal file
View File

@ -0,0 +1,7 @@
o Minor bugfixes:
- Don't check for whether the address we're using for outbound
connections has changed until after the outbound connection has
completed. On Windows, getsockname() doesn't succeed until the
connection is finished. Fix for bug 5374; bugfix on
0.1.1.14-alpha.

View File

@ -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: