mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-13 22:53:44 +01:00
fix some bugs in assert_connection_ok
svn:r1118
This commit is contained in:
parent
01cdffc0c2
commit
7985f525ec
@ -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);
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user