Browse Source

note some features we intend to add.

svn:r4021
Roger Dingledine 20 years ago
parent
commit
94cecc712d
1 changed files with 7 additions and 0 deletions
  1. 7 0
      src/or/connection_or.c

+ 7 - 0
src/or/connection_or.c

@@ -507,6 +507,7 @@ connection_tls_finish_handshake(connection_t *conn) {
         log_fn(LOG_WARN, "Identity key not as expected for router at %s:%d: wanted %s but got %s",
                conn->address, conn->port, conn->nickname, d);
         control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED);
+        // XXX if we're an authdir_mode, forget about nickname's descriptor
         return -1;
       }
     } else if (strcasecmp(conn->nickname, nickname)) {
@@ -515,8 +516,14 @@ connection_tls_finish_handshake(connection_t *conn) {
              "Other side (%s:%d) is '%s', but we tried to connect to '%s'",
              conn->address, conn->port, nickname, conn->nickname);
       control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED);
+      // XXX if we're an authdir_mode, forget about nickname's descriptor
       return -1;
     }
+    if (authdir_mode(options)) {
+      /* I got exactly the guy I wanted. Now go through and blow away
+       * descriptors for exactly this Address:ORPort that aren't this guy. */
+      //XXX
+    }
   } else {
     if ((c=connection_get_by_identity_digest(digest_rcvd, CONN_TYPE_OR))) {
       log_fn(LOG_INFO,"Router '%s' is already connected on fd %d. Dropping fd %d.", nickname, c->s, conn->s);