Skip to content
Snippets Groups Projects
Commit 543e4e8f authored by Roger Dingledine's avatar Roger Dingledine
Browse files

more details to track a warning in tls handshakes

plus make exit policy comparisons not always reject


svn:r559
parent aca4bc51
No related branches found
No related tags found
No related merge requests found
......@@ -188,12 +188,14 @@ static int connection_tls_finish_handshake(connection_t *conn) {
if(tor_tls_peer_has_cert(conn->tls)) { /* it's another OR */
pk = tor_tls_verify(conn->tls);
if(!pk) {
log_fn(LOG_WARNING,"Other side has a cert but it's invalid. Closing.");
log_fn(LOG_WARNING,"Other side (%s:%p) has a cert but it's invalid. Closing.",
conn->address, conn->port);
return -1;
}
router = router_get_by_link_pk(pk);
if (!router) {
log_fn(LOG_WARNING,"Unrecognized public key from peer. Closing.");
log_fn(LOG_WARNING,"Unrecognized public key from peer (%s:%d). Closing.",
conn->address, conn->port);
crypto_free_pk_env(pk);
return -1;
}
......@@ -223,12 +225,14 @@ static int connection_tls_finish_handshake(connection_t *conn) {
}
pk = tor_tls_verify(conn->tls);
if(!pk) {
log_fn(LOG_WARNING,"Other side has a cert but it's invalid. Closing.");
log_fn(LOG_WARNING,"Other side (%s:%d) has a cert but it's invalid. Closing.",
conn->address, conn->port);
return -1;
}
router = router_get_by_link_pk(pk);
if (!router) {
log_fn(LOG_WARNING,"Unrecognized public key from peer. Closing.");
log_fn(LOG_WARNING,"Unrecognized public key from peer (%s:%d). Closing.",
conn->address, conn->port);
crypto_free_pk_env(pk);
return -1;
}
......
......@@ -1083,7 +1083,8 @@ int router_compare_to_exit_policy(connection_t *conn) {
assert(tmpe->port);
log_fn(LOG_DEBUG,"Considering exit policy %s:%s",tmpe->address, tmpe->port);
if(inet_aton(tmpe->address,&in) == 0) { /* malformed IP. reject. */
if(strcmp(tmpe->address,"*") &&
inet_aton(tmpe->address,&in) == 0) { /* malformed IP. reject. */
log_fn(LOG_WARNING,"Malformed IP %s in exit policy. Rejecting.",tmpe->address);
return -1;
}
......@@ -1287,8 +1288,6 @@ int router_dump_router_to_string(char *s, int maxlen, routerinfo_t *router,
return written+1;
}
/*
Local Variables:
mode:c
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment