mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 14:23:30 +01:00
Fix a rather serious use-count state bug.
We need to use the success count or the use count depending on the consensus parameter.
This commit is contained in:
parent
2dbb62f1b5
commit
b75880d7b3
@ -1642,7 +1642,7 @@ pathbias_get_closed_count(entry_guard_t *guard)
|
|||||||
* if it should return guard->circ_successes or
|
* if it should return guard->circ_successes or
|
||||||
* guard->successful_circuits_closed.
|
* guard->successful_circuits_closed.
|
||||||
*/
|
*/
|
||||||
static double
|
double
|
||||||
pathbias_get_success_count(entry_guard_t *guard)
|
pathbias_get_success_count(entry_guard_t *guard)
|
||||||
{
|
{
|
||||||
if (pathbias_use_close_counts(get_options())) {
|
if (pathbias_use_close_counts(get_options())) {
|
||||||
|
@ -1065,8 +1065,8 @@ entry_guards_parse_state(or_state_t *state, int set, char **msg)
|
|||||||
/* Note: We rely on the < comparison here to allow us to set a 0
|
/* Note: We rely on the < comparison here to allow us to set a 0
|
||||||
* rate and disable the feature entirely. If refactoring, don't
|
* rate and disable the feature entirely. If refactoring, don't
|
||||||
* change to <= */
|
* change to <= */
|
||||||
if ((node->circ_successes/((double)node->circ_attempts)
|
if (pathbias_get_success_count(node)/node->circ_attempts
|
||||||
< pathbias_get_extreme_rate(options)) &&
|
< pathbias_get_extreme_rate(options) &&
|
||||||
pathbias_get_dropguards(options)) {
|
pathbias_get_dropguards(options)) {
|
||||||
node->path_bias_disabled = 1;
|
node->path_bias_disabled = 1;
|
||||||
log_info(LD_GENERAL,
|
log_info(LD_GENERAL,
|
||||||
|
@ -112,6 +112,7 @@ int find_transport_by_bridge_addrport(const tor_addr_t *addr, uint16_t port,
|
|||||||
int validate_pluggable_transports_config(void);
|
int validate_pluggable_transports_config(void);
|
||||||
|
|
||||||
double pathbias_get_closed_count(entry_guard_t *gaurd);
|
double pathbias_get_closed_count(entry_guard_t *gaurd);
|
||||||
|
double pathbias_get_success_count(entry_guard_t *guard);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user