]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
fix subtle race condition
authorRoger Dingledine <arma@torproject.org>
Mon, 14 Oct 2002 06:44:48 +0000 (06:44 +0000)
committerRoger Dingledine <arma@torproject.org>
Mon, 14 Oct 2002 06:44:48 +0000 (06:44 +0000)
If you weren't connected to a given router, and you made a directory
request to it simultaneously with a new web query that caused you to
want to connect to that OR... it would think you're already connected.

svn:r135

src/or/directory.c

index fb87be00a4ec4e47fd67d31a6dc5e5edcaf2dbbe..11bd901814eb2f3509bb07b78404c122aec1870f 100644 (file)
@@ -37,7 +37,8 @@ void directory_initiate_fetch(routerinfo_t *router) {
     return;
 
   /* set up conn so it's got all the data we need to remember */
-  conn->addr = router->addr, conn->port = router->or_port; /* NOTE we store or_port here always */
+  conn->addr = router->addr;
+  conn->port = router->dir_port;
   conn->address = strdup(router->address);
   conn->receiver_bucket = -1; /* edge connections don't do receiver buckets */
   conn->bandwidth = -1;
@@ -279,7 +280,7 @@ int connection_dir_create_listener(struct sockaddr_in *bindaddr) {
 }
 
 int connection_dir_handle_listener_read(connection_t *conn) {
-  log(LOG_NOTICE,"Dir: Received a connection request. Waiting for command.");
+  log(LOG_INFO,"Dir: Received a connection request. Waiting for command.");
   return connection_handle_listener_read(conn, CONN_TYPE_DIR, DIR_CONN_STATE_COMMAND_WAIT);
 }