|  | @@ -3383,6 +3383,8 @@ entry_guard_set_status(entry_guard_t *e, routerinfo_t *ri,
 | 
	
		
			
				|  |  |      *reason = "down";
 | 
	
		
			
				|  |  |    else if (options->UseBridges && ri->purpose != ROUTER_PURPOSE_BRIDGE)
 | 
	
		
			
				|  |  |      *reason = "not a bridge";
 | 
	
		
			
				|  |  | +  else if (options->UseBridges && !routerinfo_is_a_configured_bridge(ri))
 | 
	
		
			
				|  |  | +    *reason = "not a configured bridge";
 | 
	
		
			
				|  |  |    else if (!options->UseBridges && !ri->is_possible_guard &&
 | 
	
		
			
				|  |  |             !routerset_contains_router(options->EntryNodes,ri))
 | 
	
		
			
				|  |  |      *reason = "not recommended as a guard";
 | 
	
	
		
			
				|  | @@ -3467,11 +3469,16 @@ entry_is_live(entry_guard_t *e, int need_uptime, int need_capacity,
 | 
	
		
			
				|  |  |      *msg = "no descriptor";
 | 
	
		
			
				|  |  |      return NULL;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -  if (get_options()->UseBridges && r->purpose != ROUTER_PURPOSE_BRIDGE) {
 | 
	
		
			
				|  |  | -    *msg = "not a bridge";
 | 
	
		
			
				|  |  | -    return NULL;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  if (!get_options()->UseBridges && r->purpose != ROUTER_PURPOSE_GENERAL) {
 | 
	
		
			
				|  |  | +  if (options->UseBridges) {
 | 
	
		
			
				|  |  | +    if (r->purpose != ROUTER_PURPOSE_BRIDGE) {
 | 
	
		
			
				|  |  | +      *msg = "not a bridge";
 | 
	
		
			
				|  |  | +      return NULL;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    if (!routerinfo_is_a_configured_bridge(r)) {
 | 
	
		
			
				|  |  | +      *msg = "not a configured bridge";
 | 
	
		
			
				|  |  | +      return NULL;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  } else if (r->purpose != ROUTER_PURPOSE_GENERAL) {
 | 
	
		
			
				|  |  |      *msg = "not general-purpose";
 | 
	
		
			
				|  |  |      return NULL;
 | 
	
		
			
				|  |  |    }
 |