diff options
author | Andrea Shepard <andrea@torproject.org> | 2014-09-05 11:08:46 -0700 |
---|---|---|
committer | Andrea Shepard <andrea@torproject.org> | 2014-09-05 11:12:08 -0700 |
commit | 39a017809b6e7f8f779cfa0b4ebea3c0209bef0c (patch) | |
tree | f8c9334acf8e44c59204d871b353a32b0601a7be /src/or/connection_or.c | |
parent | dcb4ee5b83b69234ef8fd0fce8533ab1c4434bd9 (diff) | |
download | tor-39a017809b6e7f8f779cfa0b4ebea3c0209bef0c.tar.gz tor-39a017809b6e7f8f779cfa0b4ebea3c0209bef0c.zip |
Correctly update channel local mark when address of incoming connection changes after handshake; fixes bug #12160
Diffstat (limited to 'src/or/connection_or.c')
-rw-r--r-- | src/or/connection_or.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/or/connection_or.c b/src/or/connection_or.c index 16f87349fc..c372270b4c 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -923,6 +923,15 @@ connection_or_init_conn_from_address(or_connection_t *conn, tor_free(conn->base_.address); conn->base_.address = tor_dup_addr(addr); } + + /* + * We have to tell channeltls.c to update the channel marks (local, in + * particular), since we may have changed the address. + */ + + if (conn->chan) { + channel_tls_update_marks(conn); + } } /** These just pass all the is_bad_for_new_circs manipulation on to |