aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug539_removal6
-rw-r--r--src/or/directory.c31
2 files changed, 18 insertions, 19 deletions
diff --git a/changes/bug539_removal b/changes/bug539_removal
new file mode 100644
index 0000000000..dbff43de18
--- /dev/null
+++ b/changes/bug539_removal
@@ -0,0 +1,6 @@
+ o Removed code
+ - Removed workaround code to handle directory responses from
+ servers that had bug 539 (they would send HTTP status 503
+ responses _and_ send a body too). Since only server versions
+ before 0.2.0.16-alpha/0.1.2.19 were affected, there is no longer
+ reason to keep the workaround in place.
diff --git a/src/or/directory.c b/src/or/directory.c
index 1347c8b4e9..8f33a608d4 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -1539,26 +1539,19 @@ connection_dir_client_reached_eof(dir_connection_t *conn)
(void) skewed; /* skewed isn't used yet. */
if (status_code == 503) {
- if (body_len < 16) {
- routerstatus_t *rs;
- trusted_dir_server_t *ds;
- log_info(LD_DIR,"Received http status code %d (%s) from server "
- "'%s:%d'. I'll try again soon.",
- status_code, escaped(reason), conn->_base.address,
- conn->_base.port);
- if ((rs = router_get_consensus_status_by_id(conn->identity_digest)))
- rs->last_dir_503_at = now;
- if ((ds = router_get_trusteddirserver_by_digest(conn->identity_digest)))
- ds->fake_status.last_dir_503_at = now;
+ routerstatus_t *rs;
+ trusted_dir_server_t *ds;
+ log_info(LD_DIR,"Received http status code %d (%s) from server "
+ "'%s:%d'. I'll try again soon.",
+ status_code, escaped(reason), conn->_base.address,
+ conn->_base.port);
+ if ((rs = router_get_consensus_status_by_id(conn->identity_digest)))
+ rs->last_dir_503_at = now;
+ if ((ds = router_get_trusteddirserver_by_digest(conn->identity_digest)))
+ ds->fake_status.last_dir_503_at = now;
- tor_free(body); tor_free(headers); tor_free(reason);
- return -1;
- }
- /* XXXX022 Remove this once every server with bug 539 is obsolete. */
- log_info(LD_DIR, "Server at '%s:%d' sent us a 503 response, but included "
- "a body anyway. We'll pretend it gave us a 200.",
- conn->_base.address, conn->_base.port);
- status_code = 200;
+ tor_free(body); tor_free(headers); tor_free(reason);
+ return -1;
}
plausible = body_is_plausible(body, body_len, conn->_base.purpose);