[or-cvs] [tor/maint-0.2.1] Ignore control port commands after a QUIT

Nick Mathewson nickm at seul.org
Wed Jun 24 23:01:44 UTC 2009


Author: Marcus Griep <marcus at griep.us>
Date: Tue, 23 Jun 2009 23:14:44 -0400
Subject: Ignore control port commands after a QUIT
Commit: d3087389196b585ab4e0b5ee64fc36b16f071eef

When a QUIT has been issued on a control port connection, then
ignore further commands on that port. This fixes bug 1016.
---
 src/or/control.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/or/control.c b/src/or/control.c
index 98c6aa4..90c99fd 100644
--- a/src/or/control.c
+++ b/src/or/control.c
@@ -2888,7 +2888,12 @@ connection_control_process_inbuf(control_connection_t *conn)
     --data_len;
   }
 
-  /* Quit is always valid. */
+  /* If the connection is already closing, ignore further commands */
+  if (TO_CONN(conn)->marked_for_close) {
+    return 0;
+  }
+
+  /* Otherwise, Quit is always valid. */
   if (!strcasecmp(conn->incoming_cmd, "QUIT")) {
     connection_write_str_to_buf("250 closing connection\r\n", conn);
     connection_mark_for_close(TO_CONN(conn));
-- 
1.5.6.5




More information about the tor-commits mailing list