diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/or/directory.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/or/directory.c b/src/or/directory.c index 9be6351356..8210108a92 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -891,6 +891,14 @@ connection_dir_client_reached_eof(connection_t *conn) } } + if (status_code == 503) { + info(LD_DIR,"Received http status code %d (\"%s\") from server " + "'%s:%d'. I'll try again soon.", + status_code, reason, conn->address, conn->port); + tor_free(body); tor_free(headers); tor_free(reason); + return -1; + } + plausible = body_is_plausible(body, body_len, conn->purpose); if (compression || !plausible) { char *new_body = NULL; @@ -950,12 +958,6 @@ connection_dir_client_reached_eof(connection_t *conn) /* fetch/process the directory to cache it. */ info(LD_DIR,"Received directory (size %d) from server '%s:%d'", (int)body_len, conn->address, conn->port); - if (status_code == 503 || body_len == 0) { - info(LD_DIR,"Empty directory; status %d (\"%s\") Ignoring.", - status_code, reason); - tor_free(body); tor_free(headers); tor_free(reason); - return -1; - } if (status_code != 200) { warn(LD_DIR,"Received http status code %d (\"%s\") from server " "'%s:%d'. I'll try again soon.", |