fix some bugs in assert_connection_ok

svn:r1118
This commit is contained in:
Roger Dingledine 2004-02-24 22:33:30 +00:00
parent 01cdffc0c2
commit 7985f525ec
2 changed files with 4 additions and 8 deletions

View File

@ -778,7 +778,7 @@ void assert_connection_ok(connection_t *conn, time_t now)
if(conn->state == OR_CONN_STATE_OPEN) { if(conn->state == OR_CONN_STATE_OPEN) {
assert(conn->bandwidth > 0); assert(conn->bandwidth > 0);
assert(conn->receiver_bucket >= 0); assert(conn->receiver_bucket >= 0);
assert(conn->receiver_bucket <= 10*conn->bandwidth); // assert(conn->receiver_bucket <= 10*conn->bandwidth);
} }
assert(conn->addr && conn->port); assert(conn->addr && conn->port);
assert(conn->address); assert(conn->address);
@ -795,14 +795,11 @@ void assert_connection_ok(connection_t *conn, time_t now)
assert(!conn->done_sending); assert(!conn->done_sending);
assert(!conn->done_receiving); assert(!conn->done_receiving);
} else { } else {
assert(!conn->next_stream ||
conn->next_stream->type == CONN_TYPE_EXIT ||
conn->next_stream->type == CONN_TYPE_AP);
if(conn->type == CONN_TYPE_AP && conn->state == AP_CONN_STATE_OPEN) if(conn->type == CONN_TYPE_AP && conn->state == AP_CONN_STATE_OPEN)
assert(conn->cpath_layer); assert(conn->cpath_layer);
if(conn->cpath_layer) if(conn->cpath_layer)
assert_cpath_layer_ok(conn->cpath_layer); assert_cpath_layer_ok(conn->cpath_layer);
/* XXX unchecked, package window, deliver window. */ /* XXX unchecked: package window, deliver window. */
} }
if (conn->type != CONN_TYPE_AP) { if (conn->type != CONN_TYPE_AP) {
assert(!conn->socks_request); assert(!conn->socks_request);
@ -835,6 +832,7 @@ void assert_connection_ok(connection_t *conn, time_t now)
case CONN_TYPE_DNSWORKER: case CONN_TYPE_DNSWORKER:
assert(conn->state == DNSWORKER_STATE_IDLE || assert(conn->state == DNSWORKER_STATE_IDLE ||
conn->state == DNSWORKER_STATE_BUSY); conn->state == DNSWORKER_STATE_BUSY);
break;
case CONN_TYPE_CPUWORKER: case CONN_TYPE_CPUWORKER:
assert(conn->state >= _CPUWORKER_STATE_MIN && assert(conn->state >= _CPUWORKER_STATE_MIN &&
conn->state <= _CPUWORKER_STATE_MAX); conn->state <= _CPUWORKER_STATE_MAX);

View File

@ -337,9 +337,7 @@ static void dns_found_answer(char *address, uint32_t addr) {
if(connection_edge_end(pend->conn, END_STREAM_REASON_RESOLVEFAILED, NULL) < 0) if(connection_edge_end(pend->conn, END_STREAM_REASON_RESOLVEFAILED, NULL) < 0)
log_fn(LOG_WARN,"1: I called connection_edge_end redundantly."); log_fn(LOG_WARN,"1: I called connection_edge_end redundantly.");
} else { } else {
/* XXX should call assert_connection_ok here */ assert_connection_ok(pend->conn, time(NULL));
assert(pend->conn->type >= _CONN_TYPE_MIN);
assert(pend->conn->type <= _CONN_TYPE_MAX);
connection_exit_connect(pend->conn); connection_exit_connect(pend->conn);
} }
resolve->pending_connections = pend->next; resolve->pending_connections = pend->next;