mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
start to track the 'unexpected relay cell' warning
svn:r928
This commit is contained in:
parent
1a2813ba7b
commit
8f573c06c3
@ -6,6 +6,7 @@
|
||||
#include "tree.h"
|
||||
|
||||
extern or_options_t options; /* command-line and config-file options */
|
||||
extern char *conn_state_to_string[][_CONN_TYPE_MAX+1];
|
||||
|
||||
static int connection_ap_handshake_process_socks(connection_t *conn);
|
||||
static int connection_ap_handshake_attach_circuit(connection_t *conn);
|
||||
@ -194,7 +195,8 @@ int connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ, connection
|
||||
conn->has_sent_end = 1;
|
||||
return 0;
|
||||
} else {
|
||||
log_fn(LOG_WARN,"Got an unexpected relay cell, not in 'open' state. Closing.");
|
||||
log_fn(LOG_WARN,"Got an unexpected relay command %d, in state %d (%s). Closing.",
|
||||
relay_command, conn->state, conn_state_to_string[conn->type][conn->state]);
|
||||
connection_edge_end(conn, END_STREAM_REASON_MISC, conn->cpath_layer);
|
||||
return -1;
|
||||
}
|
||||
@ -304,7 +306,7 @@ int connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ, connection
|
||||
return -1;
|
||||
}
|
||||
if (circuit_send_next_onion_skin(circ)<0) {
|
||||
log_fn(LOG_WARN,"circuit_send_next_onion_skin() failed.");
|
||||
log_fn(LOG_INFO,"circuit_send_next_onion_skin() failed.");
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
@ -842,7 +844,7 @@ struct client_dns_entry {
|
||||
char *address;
|
||||
uint32_t addr;
|
||||
time_t expires;
|
||||
};
|
||||
};
|
||||
static int client_dns_size = 0;
|
||||
static SPLAY_HEAD(client_dns_tree, client_dns_entry) client_dns_root;
|
||||
|
||||
|
@ -477,6 +477,7 @@ int onion_extend_cpath(crypt_path_t **head_ptr, cpath_build_state_t *state, rout
|
||||
/* try the nodes in EntryNodes first */
|
||||
sl = smartlist_create(MAX_ROUTERS_IN_DIR);
|
||||
add_nickname_list_to_smartlist(sl,options.EntryNodes);
|
||||
/* XXX one day, consider picking chosen_exit knowing what's in EntryNodes */
|
||||
remove_twins_from_smartlist(sl,router_get_by_nickname(state->chosen_exit));
|
||||
smartlist_subtract(sl,excludednodes);
|
||||
choice = smartlist_choose(sl);
|
||||
|
Loading…
Reference in New Issue
Block a user