This change allows us to simplify path selection for clients, and it should have minimal effect in practice since >99% of Guards already have the Stable flag. Implements ticket 18624.
@@ -0,0 +1,7 @@
+ o Minor features:
+ - Directory authorities now only give the Guard flag to a relay if
+ they are also giving it the Stable flag. This change allows us to
+ simplify path selection for clients, and it should have minimal
+ effect in practice since >99% of Guards already have the Stable
+ flag. Implements ticket 18624.
+
@@ -2200,7 +2200,7 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs,
rs->is_valid = node->is_valid;
- if (node->is_fast &&
+ if (node->is_fast && node->is_stable &&
((options->AuthDirGuardBWGuarantee &&
routerbw_kb >= options->AuthDirGuardBWGuarantee/1000) ||
routerbw_kb >= MIN(guard_bandwidth_including_exits_kb,