Quellcode durchsuchen

Merge remote-tracking branch 'public/bug8427' into maint-0.2.4

Nick Mathewson vor 11 Jahren
Ursprung
Commit
2c155064aa
2 geänderte Dateien mit 9 neuen und 0 gelöschten Zeilen
  1. 5 0
      changes/bug8427
  2. 4 0
      src/or/connection.c

+ 5 - 0
changes/bug8427

@@ -0,0 +1,5 @@
+  o Minor bugfixes:
+    - If we encounter a write failure on a SOCKS connection before we
+      finish our SOCKS handshake, don't warn that we closed the
+      connection before we could send a SOCKS reply. Fixes bug 8427;
+      bugfix on 0.1.0.1-rc.

+ 4 - 0
src/or/connection.c

@@ -3439,6 +3439,10 @@ connection_handle_write_impl(connection_t *conn, int force)
     if (result < 0) {
       if (CONN_IS_EDGE(conn))
         connection_edge_end_errno(TO_EDGE_CONN(conn));
+      if (conn->type == CONN_TYPE_AP) {
+        /* writing failed; we couldn't send a SOCKS reply if we wanted to */
+        TO_ENTRY_CONN(conn)->socks_request->has_finished = 1;
+      }
 
       connection_close_immediate(conn); /* Don't flush; connection is dead. */
       connection_mark_for_close(conn);