mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
Fix bug9309, and n_noncanonical count/continue code
When we moved channel_matches_target_addr_for_extend() into a separate function, its sense was inverted from what one might expect, and we didn't have a ! in one place where we should have. Found by skruffy.
This commit is contained in:
parent
0eca8737a1
commit
1d2e8020b7
6
changes/bug9309
Normal file
6
changes/bug9309
Normal file
@ -0,0 +1,6 @@
|
||||
o Minor bugfixes:
|
||||
- When evaluating whether to use a connection that we haven't
|
||||
decided is canonical using a recent link protocol version,
|
||||
decide that it's canonical only if it used address _does_
|
||||
match the desired address. Fixes bug 9309; bugfix on
|
||||
0.2.4.4-alpha. Reported by skruffy.
|
@ -3037,7 +3037,7 @@ channel_get_for_extend(const char *digest,
|
||||
if (chan->state != CHANNEL_STATE_OPEN) {
|
||||
/* If the address matches, don't launch a new connection for this
|
||||
* circuit. */
|
||||
if (!channel_matches_target_addr_for_extend(chan, target_addr))
|
||||
if (channel_matches_target_addr_for_extend(chan, target_addr))
|
||||
++n_inprogress_goodaddr;
|
||||
continue;
|
||||
}
|
||||
@ -4053,7 +4053,7 @@ channel_matches_extend_info(channel_t *chan, extend_info_t *extend_info)
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a channel matches a given target address
|
||||
* Check if a channel matches a given target address; return true iff we do.
|
||||
*
|
||||
* This function calls into the lower layer and asks if this channel thinks
|
||||
* it matches a given target address for circuit extension purposes.
|
||||
|
@ -546,7 +546,7 @@ channel_tls_matches_extend_info_method(channel_t *chan,
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if we match a target address
|
||||
* Check if we match a target address; return true iff we do.
|
||||
*
|
||||
* This implements the matches_target method for channel_tls t_; the upper
|
||||
* layer wants to know if this channel matches a target address when extending
|
||||
@ -563,8 +563,7 @@ channel_tls_matches_target_method(channel_t *chan,
|
||||
tor_assert(target);
|
||||
tor_assert(tlschan->conn);
|
||||
|
||||
return tor_addr_compare(&(tlschan->conn->real_addr),
|
||||
target, CMP_EXACT);
|
||||
return tor_addr_eq(&(tlschan->conn->real_addr), target);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user