|  | @@ -1418,6 +1418,12 @@ dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out)
 | 
	
		
			
				|  |  |            v->vote_body = new_cached_dir(tor_strdup(vote_body),
 | 
	
		
			
				|  |  |                                          vote->published);
 | 
	
		
			
				|  |  |            v->vote = vote;
 | 
	
		
			
				|  |  | +          if (end_of_vote &&
 | 
	
		
			
				|  |  | +              !strcmpstart(end_of_vote, "network-status-version"))
 | 
	
		
			
				|  |  | +            goto again;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          if (!*status_out)
 | 
	
		
			
				|  |  | +            *status_out = 200;
 | 
	
		
			
				|  |  |            *msg_out = "ok";
 | 
	
		
			
				|  |  |            return v;
 | 
	
		
			
				|  |  |          } else {
 | 
	
	
		
			
				|  | @@ -1450,7 +1456,7 @@ dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out)
 | 
	
		
			
				|  |  |      networkstatus_vote_free(vote);
 | 
	
		
			
				|  |  |    if (!*msg_out)
 | 
	
		
			
				|  |  |      *msg_out = "Error adding vote";
 | 
	
		
			
				|  |  | -  if (!*status_out)
 | 
	
		
			
				|  |  | +  if (!*status_out || *status_out == 200)
 | 
	
		
			
				|  |  |      *status_out = 400;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    if (end_of_vote && !strcmpstart(end_of_vote, "network-status-version "))
 |