return DOWNCAST(origin_circuit_t, x);
}
-#define ALLOW_INVALID_ENTRY 1
-#define ALLOW_INVALID_EXIT 2
-#define ALLOW_INVALID_MIDDLE 4
-#define ALLOW_INVALID_RENDEZVOUS 8
-#define ALLOW_INVALID_INTRODUCTION 16
+/** Bitfield type: things that we're willing to use invalid routers for. */
+typedef enum invalid_router_usage_t {
+ ALLOW_INVALID_ENTRY =1,
+ ALLOW_INVALID_EXIT =2,
+ ALLOW_INVALID_MIDDLE =4,
+ ALLOW_INVALID_RENDEZVOUS =8,
+ ALLOW_INVALID_INTRODUCTION=16,
+} invalid_router_usage_t;
/** An entry specifying a set of addresses and ports that should be remapped
* to another address and port before exiting this exit node. */
/** List of "entry", "middle", "exit", "introduction", "rendezvous". */
smartlist_t *AllowInvalidNodes;
- int _AllowInvalid; /**< Bitmask; derived from AllowInvalidNodes. */
+ /** Bitmask; derived from AllowInvalidNodes. */
+ invalid_router_usage_t _AllowInvalid;
config_line_t *ExitPolicy; /**< Lists of exit policy components. */
int ExitPolicyRejectPrivate; /**< Should we not exit to local addresses? */
config_line_t *SocksPolicy; /**< Lists of socks policy components */