diff options
author | Roger Dingledine <arma@torproject.org> | 2004-04-16 08:21:35 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2004-04-16 08:21:35 +0000 |
commit | 9c1470840f989d09c253c33275e814cc9fc4154b (patch) | |
tree | f6a1ab4b3abe5d54c248a60ea60d4bfd792dfe4b /src | |
parent | 598d8b8f793831c1a747f9b84c093f606b67e059 (diff) | |
download | tor-9c1470840f989d09c253c33275e814cc9fc4154b.tar tor-9c1470840f989d09c253c33275e814cc9fc4154b.tar.gz |
i was wrong about one of my invariants
now it's commented
this should fix asserts when you try an intro point, get a nack,
and try a second one and it works.
svn:r1637
Diffstat (limited to 'src')
-rw-r--r-- | src/or/circuit.c | 4 | ||||
-rw-r--r-- | src/or/connection_edge.c | 2 | ||||
-rw-r--r-- | src/or/rendclient.c | 1 |
3 files changed, 5 insertions, 2 deletions
diff --git a/src/or/circuit.c b/src/or/circuit.c index 44e5d438a..27a754591 100644 --- a/src/or/circuit.c +++ b/src/or/circuit.c @@ -480,6 +480,10 @@ void circuit_expire_building(time_t now) { /* c_rend_ready circs measure age since timestamp_dirty, * because that's set when they switch purposes */ + /* rend and intro circs become dirty each time they + * make an introduction attempt. so timestamp_dirty + * will reflect the time since the last attempt. + */ ((victim->purpose == CIRCUIT_PURPOSE_C_REND_READY || victim->purpose == CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED || victim->purpose == CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT) && diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 975b7158a..82ab4c0f3 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -948,9 +948,7 @@ int connection_ap_handshake_attach_circuit(connection_t *conn) { if(rend_client_send_introduction(introcirc, rendcirc) < 0) { return -1; } - assert(!rendcirc->timestamp_dirty); rendcirc->timestamp_dirty = time(NULL); - assert(!introcirc->timestamp_dirty); introcirc->timestamp_dirty = time(NULL); return 0; } diff --git a/src/or/rendclient.c b/src/or/rendclient.c index 46fd04c04..1a1a33b00 100644 --- a/src/or/rendclient.c +++ b/src/or/rendclient.c @@ -166,6 +166,7 @@ rend_client_introduction_acked(circuit_t *circ, /* Locate the rend circ which is waiting to hear about this ack, * and tell it. */ + log_fn(LOG_INFO,"Received ack. Telling rend circ."); rendcirc = circuit_get_by_rend_query_and_purpose( circ->rend_query, CIRCUIT_PURPOSE_C_REND_READY); if(rendcirc) { /* remember the ack */ |