Browse Source

fix an assert -- we're not allowed to write onto a conn after we've
connection_unregistered it. there's still more work to be done here,
since we need to make sure to send back the socks-reply as soon as we
know what it will be -- we can't just wait until connection-about-to-close
to deal with it.


svn:r3847

Roger Dingledine 20 years ago
parent
commit
0dc91fd9c0
1 changed files with 3 additions and 5 deletions
  1. 3 5
      src/or/connection.c

+ 3 - 5
src/or/connection.c

@@ -279,11 +279,9 @@ void connection_about_to_close_connection(connection_t *conn)
       break;
     case CONN_TYPE_AP:
       if (conn->socks_request->has_finished == 0) {
-        log_fn(LOG_INFO,"Cleaning up AP -- sending socks reject.");
-        conn->hold_open_until_flushed = 1;
-        /* XXX this socks_reply never gets sent, since conn
-         * gets removed right after this function finishes. */
-        connection_ap_handshake_socks_reply(conn, NULL, 0, SOCKS5_GENERAL_ERROR);
+        /* since conn gets removed right after this function finishes,
+         * there's no point trying to send back a reply at this point. */
+        log_fn(LOG_INFO,"Bug: Closing stream without sending back a socks reply.");
       } else {
         control_event_stream_status(conn, STREAM_EVENT_CLOSED);
       }