Browse Source

bugfix: actually remember the answer in the cache :)

svn:r159
Roger Dingledine 23 years ago
parent
commit
8c136b3a06
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/or/dns.c

+ 2 - 1
src/or/dns.c

@@ -543,6 +543,7 @@ static int dns_found_answer(char *question, uint32_t answer, uint32_t valid) {
 
   assert(resolve->state == CACHE_STATE_PENDING);
 
+  resolve->answer = ntohl(answer);
   if(valid)
     resolve->state = CACHE_STATE_VALID;
   else
@@ -550,7 +551,7 @@ static int dns_found_answer(char *question, uint32_t answer, uint32_t valid) {
 
   while(resolve->pending_connections) {
     pend = resolve->pending_connections;
-    pend->conn->addr = ntohl(answer);
+    pend->conn->addr = resolve->answer;
     if(resolve->state == CACHE_STATE_FAILED || connection_exit_connect(pend->conn) < 0) {
       pend->conn->marked_for_close = 1;
     }