Explorar o código

Flush long replies over control port on QUIT

Marks the control port connection for flushing before closing when
the QUIT command is issued. This allows a QUIT to be issued during
a long reply over the control port, flushing the reply and then
closing the connection. Fixes bug 1015.
Marcus Griep %!s(int64=16) %!d(string=hai) anos
pai
achega
fa89c9f086
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      src/or/control.c

+ 1 - 0
src/or/control.c

@@ -2892,6 +2892,7 @@ connection_control_process_inbuf(control_connection_t *conn)
   if (!strcasecmp(conn->incoming_cmd, "QUIT")) {
     connection_write_str_to_buf("250 closing connection\r\n", conn);
     connection_mark_for_close(TO_CONN(conn));
+    conn->_base.hold_open_until_flushed = 1;
     return 0;
   }