mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +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"
|
#include "tree.h"
|
||||||
|
|
||||||
extern or_options_t options; /* command-line and config-file options */
|
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_process_socks(connection_t *conn);
|
||||||
static int connection_ap_handshake_attach_circuit(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;
|
conn->has_sent_end = 1;
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} 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);
|
connection_edge_end(conn, END_STREAM_REASON_MISC, conn->cpath_layer);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -304,7 +306,7 @@ int connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ, connection
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (circuit_send_next_onion_skin(circ)<0) {
|
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 -1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -842,7 +844,7 @@ struct client_dns_entry {
|
|||||||
char *address;
|
char *address;
|
||||||
uint32_t addr;
|
uint32_t addr;
|
||||||
time_t expires;
|
time_t expires;
|
||||||
};
|
};
|
||||||
static int client_dns_size = 0;
|
static int client_dns_size = 0;
|
||||||
static SPLAY_HEAD(client_dns_tree, client_dns_entry) client_dns_root;
|
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 */
|
/* try the nodes in EntryNodes first */
|
||||||
sl = smartlist_create(MAX_ROUTERS_IN_DIR);
|
sl = smartlist_create(MAX_ROUTERS_IN_DIR);
|
||||||
add_nickname_list_to_smartlist(sl,options.EntryNodes);
|
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));
|
remove_twins_from_smartlist(sl,router_get_by_nickname(state->chosen_exit));
|
||||||
smartlist_subtract(sl,excludednodes);
|
smartlist_subtract(sl,excludednodes);
|
||||||
choice = smartlist_choose(sl);
|
choice = smartlist_choose(sl);
|
||||||
|
Loading…
Reference in New Issue
Block a user