|  | @@ -110,6 +110,8 @@ directory_post_to_dirservers(uint8_t purpose, const char *payload,
 | 
	
		
			
				|  |  |        routerstatus_t *rs = &(ds->fake_status.status);
 | 
	
		
			
				|  |  |        local_routerstatus_t *lrs = router_get_combined_status_by_digest(
 | 
	
		
			
				|  |  |                                                  ds->digest);
 | 
	
		
			
				|  |  | +      int new_enough;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        size_t upload_len = payload_len;
 | 
	
		
			
				|  |  |        if (post_to_hidserv_only && !ds->is_hidserv_authority)
 | 
	
		
			
				|  |  |          continue;
 | 
	
	
		
			
				|  | @@ -118,8 +120,11 @@ directory_post_to_dirservers(uint8_t purpose, const char *payload,
 | 
	
		
			
				|  |  |          continue;
 | 
	
		
			
				|  |  |        if (purpose == DIR_PURPOSE_UPLOAD_DIR)
 | 
	
		
			
				|  |  |          ds->has_accepted_serverdesc = 0;
 | 
	
		
			
				|  |  | -      if (extrainfo_len && lrs &&
 | 
	
		
			
				|  |  | -          lrs->status.version_supports_extrainfo_upload) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      new_enough = (lrs && lrs->status.version_supports_extrainfo_upload) ||
 | 
	
		
			
				|  |  | +        (router_digest_version_as_new_as(ds->digest,
 | 
	
		
			
				|  |  | +                                         "Tor 0.2.0.0-alpha-dev (r10070)"));
 | 
	
		
			
				|  |  | +      if (extrainfo_len && new_enough) {
 | 
	
		
			
				|  |  |          upload_len += extrainfo_len;
 | 
	
		
			
				|  |  |          /* XXXX020 Disable this once it's tested. */
 | 
	
		
			
				|  |  |          log_notice(LD_DIR, "I am going to try to upload an extrainfo. How "
 |