Prechádzať zdrojové kódy

r17270@catbus: nickm | 2007-12-20 00:04:21 -0500
When we decide to send a 503 in response to a request for server descriptors, disable spooling so that we do not then send the descriptors anyway. Fixes bug 539.


svn:r12882

Nick Mathewson 16 rokov pred
rodič
commit
6de2b484cf
2 zmenil súbory, kde vykonal 6 pridanie a 1 odobranie
  1. 5 1
      ChangeLog
  2. 1 0
      src/or/directory.c

+ 5 - 1
ChangeLog

@@ -85,7 +85,11 @@ Changes in version 0.2.0.13-alpha - 2007-12-??
     - Fix compilation with --disable-threads set.
     - Authorities decide whether they're authoritative for a given router
       based on the router's purpose.
-    - Don't crash on name lookup when we have no current consensus.
+    - Don't crash on name lookup when we have no current consensus.  Fixes
+      bug 538; bugfix on 0.2.0.x.
+    - When we decide to send a 503 response to a request for servers, do
+      not then also send the server descriptors: this defeats the whole
+      purpose.  Fixes bug 539; bugfix on 0.1.2.x.
 
   o Minor features:
     - On USR1, when dmalloc is in use, log the top 10 memory

+ 1 - 0
src/or/directory.c

@@ -2440,6 +2440,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers,
                  "Client asked for server descriptors, but we've been "
                  "writing too many bytes lately. Sending 503 Dir busy.");
         write_http_status_line(conn, 503, "Directory busy, try again later");
+        conn->dir_spool_src = DIR_SPOOL_NONE;
         goto done;
       }
       write_http_response_header(conn, -1, deflated, cache_lifetime);