|  | @@ -400,7 +400,6 @@ directory_get_from_all_authorities(uint8_t dir_purpose,
 | 
	
		
			
				|  |  |        if (!(ds->type & V3_AUTHORITY))
 | 
	
		
			
				|  |  |          continue;
 | 
	
		
			
				|  |  |        rs = &ds->fake_status;
 | 
	
		
			
				|  |  | -      /* XXXX020 should this ever tunnel via tor? */
 | 
	
		
			
				|  |  |        directory_initiate_command_routerstatus(rs, dir_purpose, router_purpose,
 | 
	
		
			
				|  |  |                                                0, resource, NULL, 0);
 | 
	
		
			
				|  |  |      });
 | 
	
	
		
			
				|  | @@ -1343,8 +1342,8 @@ connection_dir_client_reached_eof(dir_connection_t *conn)
 | 
	
		
			
				|  |  |      log_info(LD_DIR,"Received networkstatus objects (size %d) from server "
 | 
	
		
			
				|  |  |               "'%s:%d'",(int) body_len, conn->_base.address, conn->_base.port);
 | 
	
		
			
				|  |  |      if (status_code != 200) {
 | 
	
		
			
				|  |  | -      /* XXXX020 This warning tends to freak out clients who get a 403. */
 | 
	
		
			
				|  |  | -      log_warn(LD_DIR,
 | 
	
		
			
				|  |  | +      int dir_okay = status_code == 403;
 | 
	
		
			
				|  |  | +      log_fn(dir_okay ? LOG_INFO : LOG_WARN, LD_DIR,
 | 
	
		
			
				|  |  |             "Received http status code %d (%s) from server "
 | 
	
		
			
				|  |  |             "'%s:%d' while fetching \"/tor/status/%s\". I'll try again soon.",
 | 
	
		
			
				|  |  |             status_code, escaped(reason), conn->_base.address,
 | 
	
	
		
			
				|  | @@ -1372,7 +1371,7 @@ connection_dir_client_reached_eof(dir_connection_t *conn)
 | 
	
		
			
				|  |  |            smartlist_add(which, hex);
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |      } else {
 | 
	
		
			
				|  |  | -      /* Can we even end up here? -- weasel*/
 | 
	
		
			
				|  |  | +      /* XXXX Can we even end up here? -- weasel*/
 | 
	
		
			
				|  |  |        source = NS_FROM_DIR_BY_FP;
 | 
	
		
			
				|  |  |        log_warn(LD_BUG, "We received a networkstatus but we didn't ask "
 | 
	
		
			
				|  |  |                         "for it by fp, nor did we ask for all.");
 | 
	
	
		
			
				|  | @@ -1506,11 +1505,10 @@ connection_dir_client_reached_eof(dir_connection_t *conn)
 | 
	
		
			
				|  |  |        n_asked_for = smartlist_len(which);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      if (status_code != 200) {
 | 
	
		
			
				|  |  | -      int dir_okay = status_code == 404 ||
 | 
	
		
			
				|  |  | +      int dir_okay = status_code == 404 || status_code == 403 ||
 | 
	
		
			
				|  |  |          (status_code == 400 && !strcmp(reason, "Servers unavailable."));
 | 
	
		
			
				|  |  |        /* 404 means that it didn't have them; no big deal.
 | 
	
		
			
				|  |  |         * Older (pre-0.1.1.8) servers said 400 Servers unavailable instead. */
 | 
	
		
			
				|  |  | -      /* XXXX020 This warning tends to freak out clients who get a 403. */
 | 
	
		
			
				|  |  |        log_fn(dir_okay ? LOG_INFO : LOG_WARN, LD_DIR,
 | 
	
		
			
				|  |  |               "Received http status code %d (%s) from server '%s:%d' "
 | 
	
		
			
				|  |  |               "while fetching \"/tor/server/%s\". I'll try again soon.",
 |