| 
					
				 | 
			
			
				@@ -797,6 +797,22 @@ rend_service_launch_establish_intro(rend_service_t *service, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              escaped_safe_str(intro->extend_info->nickname)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (memcmp(intro->extend_info->identity_digest, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      launched->build_state->chosen_exit->identity_digest, DIGEST_LEN)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    char cann[HEX_DIGEST_LEN+1], orig[HEX_DIGEST_LEN+1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    base16_encode(cann, sizeof(cann), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  launched->build_state->chosen_exit->identity_digest, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  DIGEST_LEN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    base16_encode(orig, sizeof(orig), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  intro->extend_info->identity_digest, DIGEST_LEN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    log_info(LD_REND, "The intro circuit we just cannibalized ends at $%s, " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      "but we requested an intro circuit to $%s. Updating " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      "our service.", cann, orig); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tor_free(intro->extend_info); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    intro->extend_info = extend_info_dup(launched->build_state->chosen_exit); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strlcpy(launched->rend_query, service->service_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sizeof(launched->rend_query)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   memcpy(launched->rend_pk_digest, service->pk_digest, DIGEST_LEN); 
			 |