routerstatus_t rs_out;
const char *current_rsa_id = NULL;
const char *chosen_version;
+ const char *chosen_protocol_list;
const char *chosen_name = NULL;
int exitsummary_disagreement = 0;
- int is_named = 0, is_unnamed = 0, is_running = 0;
+ int is_named = 0, is_unnamed = 0, is_running = 0, is_valid = 0;
int is_guard = 0, is_exit = 0, is_bad_exit = 0;
int naming_conflict = 0;
int n_listing = 0;
#define MIN_SUPPORTED_CONSENSUS_METHOD 13
/** The highest consensus method that we currently support. */
--#define MAX_SUPPORTED_CONSENSUS_METHOD 24
++#define MAX_SUPPORTED_CONSENSUS_METHOD 25
/** Lowest consensus method where microdesc consensuses omit any entry
* with no microdesc. */
* value(s). */
#define MIN_METHOD_FOR_SHARED_RANDOM 23
-#define MIN_METHOD_FOR_RECOMMENDED_PROTOCOLS 24
+/** Lowest consensus method where authorities drop all nodes that don't get
+ * the Valid flag. */
+#define MIN_METHOD_FOR_EXCLUDING_INVALID_NODES 24
+
+ /** Lowest consensus method where authorities vote on required/recommended
+ * protocols. */
-#define MIN_METHOD_FOR_RS_PROTOCOLS 24
++#define MIN_METHOD_FOR_RECOMMENDED_PROTOCOLS 25
+
+ /** Lowest consensus method where authorities add protocols to routerstatus
+ * entries. */
++#define MIN_METHOD_FOR_RS_PROTOCOLS 25
+
/** Default bandwidth to clip unmeasured bandwidths to using method >=
* MIN_METHOD_TO_CLIP_UNMEASURED_BW. (This is not a consensus method; do not
* get confused with the above macros.) */