summaryrefslogtreecommitdiff
path: root/src/or/rendmid.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2004-04-03 04:55:22 +0000
committerNick Mathewson <nickm@torproject.org>2004-04-03 04:55:22 +0000
commita9813f0210bbf723e19b24c73fb93ecc436efcfb (patch)
tree9a8860ce762a8d66a12eaf0fc7bdb4a23ddb1033 /src/or/rendmid.c
parent3af1191023a0e81dd727afd48396cf9cf7dd5672 (diff)
downloadtor-a9813f0210bbf723e19b24c73fb93ecc436efcfb.tar.gz
tor-a9813f0210bbf723e19b24c73fb93ecc436efcfb.zip
Implement acks
svn:r1470
Diffstat (limited to 'src/or/rendmid.c')
-rw-r--r--src/or/rendmid.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/or/rendmid.c b/src/or/rendmid.c
index 691af35878..fa24aed7ea 100644
--- a/src/or/rendmid.c
+++ b/src/or/rendmid.c
@@ -75,6 +75,14 @@ rend_mid_establish_intro(circuit_t *circ, const char *request, int request_len)
circuit_mark_for_close(c);
}
+ /* Acknlowedge the request. */
+ if (connection_edge_send_command(NULL,circ,
+ RELAY_COMMAND_INTRO_ESTABLISHED,
+ "", 0, NULL)<0) {
+ log_fn(LOG_WARN, "Couldn't send INTRO_ESTABLISHED cell");
+ goto err;
+ }
+
/* Now, set up this circuit. */
circ->purpose = CIRCUIT_PURPOSE_INTRO_POINT;
memcpy(circ->rend_pk_digest, pk_digest, 20);
@@ -168,6 +176,14 @@ rend_mid_establish_rendezvous(circuit_t *circ, const char *request, int request_
goto err;
}
+ /* Acknlowedge the request. */
+ if (connection_edge_send_command(NULL,circ,
+ RELAY_COMMAND_RENDEZVOUS_ESTABLISHED,
+ "", 0, NULL)<0) {
+ log_fn(LOG_WARN, "Couldn't send RENDEZVOUS_ESTABLISHED cell");
+ goto err;
+ }
+
circ->purpose = CIRCUIT_PURPOSE_REND_POINT_WAITING;
memcpy(circ->rend_cookie, request, REND_COOKIE_LEN);