|
@@ -1123,7 +1123,14 @@ rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
|
|
|
* part 1. */
|
|
|
access_time = digestmap_get(service->accepted_intros, diffie_hellman_hash);
|
|
|
if (access_time != NULL) {
|
|
|
- log_warn(LD_REND, "Possible replay detected! We received an "
|
|
|
+ /* A Tor client will send a new INTRODUCE1 cell with the same rend
|
|
|
+ * cookie and DH public key as its previous one if its intro circ
|
|
|
+ * times out while in state CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT .
|
|
|
+ * If we received the first INTRODUCE1 cell (the intro-point relay
|
|
|
+ * converts it into an INTRODUCE2 cell), we are already trying to
|
|
|
+ * connect to that rend point (and may have already succeeded);
|
|
|
+ * drop this cell. */
|
|
|
+ log_info(LD_REND, "We received an "
|
|
|
"INTRODUCE2 cell with same first part of "
|
|
|
"Diffie-Hellman handshake %d seconds ago. Dropping "
|
|
|
"cell.",
|