diff options
author | Nick Mathewson <nickm@torproject.org> | 2016-11-30 10:16:24 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2016-12-16 11:06:20 -0500 |
commit | 217590ad05943968683f02c3f556b987e99158b1 (patch) | |
tree | 8f62a41c527961b567d3ba6f2d19a151e29a48a7 | |
parent | 13315812e857f37828475101cc8d5acb63403c0e (diff) | |
download | tor-217590ad05943968683f02c3f556b987e99158b1.tar.gz tor-217590ad05943968683f02c3f556b987e99158b1.zip |
Extract guard_selection_infer_type into its own function.
-rw-r--r-- | src/or/entrynodes.c | 24 | ||||
-rw-r--r-- | src/or/entrynodes.h | 3 |
2 files changed, 21 insertions, 6 deletions
diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c index 02ed9247c9..9441be4c78 100644 --- a/src/or/entrynodes.c +++ b/src/or/entrynodes.c @@ -194,14 +194,13 @@ should_apply_guardfraction(const networkstatus_t *ns) } /** - * Allocate and return a new guard_selection_t, with the name <b>name</b>. + * Try to determine the correct type for a selection named "name", + * if <b>type</b> is GS_TYPE_INFER. */ -STATIC guard_selection_t * -guard_selection_new(const char *name, - guard_selection_type_t type) +STATIC guard_selection_type_t +guard_selection_infer_type(guard_selection_type_t type, + const char *name) { - guard_selection_t *gs; - if (type == GS_TYPE_INFER) { if (!strcmp(name, "legacy")) type = GS_TYPE_LEGACY; @@ -212,6 +211,19 @@ guard_selection_new(const char *name, else type = GS_TYPE_NORMAL; } + return type; +} + +/** + * Allocate and return a new guard_selection_t, with the name <b>name</b>. + */ +STATIC guard_selection_t * +guard_selection_new(const char *name, + guard_selection_type_t type) +{ + guard_selection_t *gs; + + type = guard_selection_infer_type(type, name); gs = tor_malloc_zero(sizeof(*gs)); gs->name = tor_strdup(name); diff --git a/src/or/entrynodes.h b/src/or/entrynodes.h index 753d6f7f8a..b676172567 100644 --- a/src/or/entrynodes.h +++ b/src/or/entrynodes.h @@ -490,6 +490,9 @@ STATIC double get_extreme_restriction_threshold(void); // ---------- XXXX these functions and definitions are post-prop271. HANDLE_DECL(entry_guard, entry_guard_t, STATIC) +STATIC guard_selection_type_t guard_selection_infer_type( + guard_selection_type_t type_in, + const char *name); STATIC guard_selection_t *guard_selection_new(const char *name, guard_selection_type_t type); STATIC guard_selection_t *get_guard_selection_by_name( |