start to track the 'unexpected relay cell' warning

svn:r928
This commit is contained in:
Roger Dingledine 2003-12-14 06:50:44 +00:00
parent 1a2813ba7b
commit 8f573c06c3
2 changed files with 6 additions and 3 deletions

View File

@ -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;

View File

@ -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);