Loading changes/ticket28843 0 → 100644 +3 −0 Original line number Diff line number Diff line o Minor features (controller): - Add a DROPOWNERSHIP command to undo the effects of TAKEOWNERSHIP. Implements ticket 28843. src/feature/control/control.c +23 −0 Original line number Diff line number Diff line Loading @@ -1743,6 +1743,26 @@ handle_control_takeownership(control_connection_t *conn, uint32_t len, return 0; } /** Called when we get a DROPOWNERSHIP command. Mark this connection * as a non-owning connection, so that we will not exit if the connection * closes. */ static int handle_control_dropownership(control_connection_t *conn, uint32_t len, const char *body) { (void)len; (void)body; conn->is_owning_control_connection = 0; log_info(LD_CONTROL, "Control connection %d has dropped ownership of this " "Tor instance.", (int)(conn->base_.s)); send_control_done(conn); return 0; } /** Return true iff <b>addr</b> is unusable as a mapaddress target because of * containing funny characters. */ static int Loading Loading @@ -5550,6 +5570,9 @@ connection_control_process_inbuf(control_connection_t *conn) } else if (!strcasecmp(conn->incoming_cmd, "TAKEOWNERSHIP")) { if (handle_control_takeownership(conn, cmd_data_len, args)) return -1; } else if (!strcasecmp(conn->incoming_cmd, "DROPOWNERSHIP")) { if (handle_control_dropownership(conn, cmd_data_len, args)) return -1; } else if (!strcasecmp(conn->incoming_cmd, "MAPADDRESS")) { if (handle_control_mapaddress(conn, cmd_data_len, args)) return -1; Loading Loading
changes/ticket28843 0 → 100644 +3 −0 Original line number Diff line number Diff line o Minor features (controller): - Add a DROPOWNERSHIP command to undo the effects of TAKEOWNERSHIP. Implements ticket 28843.
src/feature/control/control.c +23 −0 Original line number Diff line number Diff line Loading @@ -1743,6 +1743,26 @@ handle_control_takeownership(control_connection_t *conn, uint32_t len, return 0; } /** Called when we get a DROPOWNERSHIP command. Mark this connection * as a non-owning connection, so that we will not exit if the connection * closes. */ static int handle_control_dropownership(control_connection_t *conn, uint32_t len, const char *body) { (void)len; (void)body; conn->is_owning_control_connection = 0; log_info(LD_CONTROL, "Control connection %d has dropped ownership of this " "Tor instance.", (int)(conn->base_.s)); send_control_done(conn); return 0; } /** Return true iff <b>addr</b> is unusable as a mapaddress target because of * containing funny characters. */ static int Loading Loading @@ -5550,6 +5570,9 @@ connection_control_process_inbuf(control_connection_t *conn) } else if (!strcasecmp(conn->incoming_cmd, "TAKEOWNERSHIP")) { if (handle_control_takeownership(conn, cmd_data_len, args)) return -1; } else if (!strcasecmp(conn->incoming_cmd, "DROPOWNERSHIP")) { if (handle_control_dropownership(conn, cmd_data_len, args)) return -1; } else if (!strcasecmp(conn->incoming_cmd, "MAPADDRESS")) { if (handle_control_mapaddress(conn, cmd_data_len, args)) return -1; Loading