|
@@ -1967,6 +1967,21 @@ connection_dir_client_reached_eof(dir_connection_t *conn)
|
|
|
escaped(reason),
|
|
|
conn->base_.purpose);
|
|
|
|
|
|
+ if (conn->guard_state) {
|
|
|
+
|
|
|
+ * not, however, delay use of the circuit here, since it's just for a
|
|
|
+ * one-hop directory request. */
|
|
|
+
|
|
|
+ * waiting circuits that would be triggered by this circuit becoming
|
|
|
+ * complete/usable. But that's ok, I think.
|
|
|
+ */
|
|
|
+
|
|
|
+ */
|
|
|
+ entry_guard_succeeded(&conn->guard_state);
|
|
|
+ circuit_guard_state_free(conn->guard_state);
|
|
|
+ conn->guard_state = NULL;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
if (conn->dirconn_direct) {
|
|
|
char *guess = http_get_header(headers, X_ADDRESS_HEADER);
|
|
@@ -2578,21 +2593,6 @@ connection_dir_process_inbuf(dir_connection_t *conn)
|
|
|
tor_assert(conn);
|
|
|
tor_assert(conn->base_.type == CONN_TYPE_DIR);
|
|
|
|
|
|
- if (conn->guard_state) {
|
|
|
-
|
|
|
- * not, however, delay use of the circuit here, since it's just for a
|
|
|
- * one-hop directory request. */
|
|
|
-
|
|
|
- * waiting circuits that would be triggered by this circuit becoming
|
|
|
- * complete/usable. But that's ok, I think.
|
|
|
- */
|
|
|
-
|
|
|
- */
|
|
|
- entry_guard_succeeded(&conn->guard_state);
|
|
|
- circuit_guard_state_free(conn->guard_state);
|
|
|
- conn->guard_state = NULL;
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
* directory servers read data until they get an HTTP command, then
|
|
|
* write their response (when it's finished flushing, they mark for
|