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
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -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;
    }
+2 −3
Original line number Diff line number Diff line
@@ -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