Browse Source

more details to track a warning in tls handshakes
plus make exit policy comparisons not always reject


svn:r559

Roger Dingledine 20 years ago
parent
commit
543e4e8fd5
2 changed files with 10 additions and 7 deletions
  1. 8 4
      src/or/connection_or.c
  2. 2 3
      src/or/routers.c

+ 8 - 4
src/or/connection_or.c

@@ -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
src/or/routers.c

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