mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-14 07:03:44 +01:00
Remove force flag from retry_all_listeners() and retry_listeners(). It always was 0.
svn:r10486
This commit is contained in:
parent
6faa9e2641
commit
502879e0b4
@ -830,7 +830,7 @@ options_act_reversible(or_options_t *old_options, char **msg)
|
|||||||
|
|
||||||
/* Launch the listeners. (We do this before we setuid, so we can bind to
|
/* Launch the listeners. (We do this before we setuid, so we can bind to
|
||||||
* ports under 1024.) */
|
* ports under 1024.) */
|
||||||
if (retry_all_listeners(0, replaced_listeners, new_listeners) < 0) {
|
if (retry_all_listeners(replaced_listeners, new_listeners) < 0) {
|
||||||
*msg = tor_strdup("Failed to bind one of the listener ports.");
|
*msg = tor_strdup("Failed to bind one of the listener ports.");
|
||||||
goto rollback;
|
goto rollback;
|
||||||
}
|
}
|
||||||
|
@ -995,17 +995,16 @@ connection_connect(connection_t *conn, const char *address,
|
|||||||
* connection binding to each one. Otherwise, create a single
|
* connection binding to each one. Otherwise, create a single
|
||||||
* connection binding to the address <b>default_addr</b>.)
|
* connection binding to the address <b>default_addr</b>.)
|
||||||
*
|
*
|
||||||
* If <b>force</b> is true, close and re-open all listener connections.
|
* Only relaunch the listeners of this type if the number of existing
|
||||||
* Otherwise, only relaunch the listeners of this type if the number of
|
* connections is not as configured (e.g., because one died), or if the
|
||||||
* existing connections is not as configured (e.g., because one died),
|
* existing connections do not match those configured.
|
||||||
* or if the existing connections do not match those configured.
|
|
||||||
*
|
*
|
||||||
* Add all old conns that should be closed to <b>replaced_conns</b>.
|
* Add all old conns that should be closed to <b>replaced_conns</b>.
|
||||||
* Add all new connections to <b>new_conns</b>.
|
* Add all new connections to <b>new_conns</b>.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
retry_listeners(int type, config_line_t *cfg,
|
retry_listeners(int type, config_line_t *cfg,
|
||||||
int port_option, const char *default_addr, int force,
|
int port_option, const char *default_addr,
|
||||||
smartlist_t *replaced_conns,
|
smartlist_t *replaced_conns,
|
||||||
smartlist_t *new_conns,
|
smartlist_t *new_conns,
|
||||||
int never_open_conns)
|
int never_open_conns)
|
||||||
@ -1039,15 +1038,6 @@ retry_listeners(int type, config_line_t *cfg,
|
|||||||
{
|
{
|
||||||
if (conn->type != type || conn->marked_for_close)
|
if (conn->type != type || conn->marked_for_close)
|
||||||
continue;
|
continue;
|
||||||
if (force) {
|
|
||||||
/* It's a listener, and we're relaunching all listeners of this
|
|
||||||
* type. Close this one. */
|
|
||||||
log_notice(LD_NET, "Force-closing listener %s on %s:%d",
|
|
||||||
conn_type_to_string(type), conn->address, conn->port);
|
|
||||||
connection_close_immediate(conn);
|
|
||||||
connection_mark_for_close(conn);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
/* Okay, so this is a listener. Is it configured? */
|
/* Okay, so this is a listener. Is it configured? */
|
||||||
line = NULL;
|
line = NULL;
|
||||||
SMARTLIST_FOREACH(launch, config_line_t *, wanted,
|
SMARTLIST_FOREACH(launch, config_line_t *, wanted,
|
||||||
@ -1110,47 +1100,45 @@ retry_listeners(int type, config_line_t *cfg,
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** (Re)launch listeners for each port you should have open. If
|
/** (Re)launch listeners for each port you should have open. Only relaunch
|
||||||
* <b>force</b> is true, close and relaunch all listeners. If <b>force</b>
|
* listeners when we have the wrong number of connections for a given type.
|
||||||
* is false, then only relaunch listeners when we have the wrong number of
|
|
||||||
* connections for a given type.
|
|
||||||
*
|
*
|
||||||
* Add all old conns that should be closed to <b>replaced_conns</b>.
|
* Add all old conns that should be closed to <b>replaced_conns</b>.
|
||||||
* Add all new connections to <b>new_conns</b>.
|
* Add all new connections to <b>new_conns</b>.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
retry_all_listeners(int force, smartlist_t *replaced_conns,
|
retry_all_listeners(smartlist_t *replaced_conns,
|
||||||
smartlist_t *new_conns)
|
smartlist_t *new_conns)
|
||||||
{
|
{
|
||||||
or_options_t *options = get_options();
|
or_options_t *options = get_options();
|
||||||
|
|
||||||
if (retry_listeners(CONN_TYPE_OR_LISTENER, options->ORListenAddress,
|
if (retry_listeners(CONN_TYPE_OR_LISTENER, options->ORListenAddress,
|
||||||
options->ORPort, "0.0.0.0", force,
|
options->ORPort, "0.0.0.0",
|
||||||
replaced_conns, new_conns, options->ClientOnly)<0)
|
replaced_conns, new_conns, options->ClientOnly)<0)
|
||||||
return -1;
|
return -1;
|
||||||
if (retry_listeners(CONN_TYPE_DIR_LISTENER, options->DirListenAddress,
|
if (retry_listeners(CONN_TYPE_DIR_LISTENER, options->DirListenAddress,
|
||||||
options->DirPort, "0.0.0.0", force,
|
options->DirPort, "0.0.0.0",
|
||||||
replaced_conns, new_conns, 0)<0)
|
replaced_conns, new_conns, 0)<0)
|
||||||
return -1;
|
return -1;
|
||||||
if (retry_listeners(CONN_TYPE_AP_LISTENER, options->SocksListenAddress,
|
if (retry_listeners(CONN_TYPE_AP_LISTENER, options->SocksListenAddress,
|
||||||
options->SocksPort, "127.0.0.1", force,
|
options->SocksPort, "127.0.0.1",
|
||||||
replaced_conns, new_conns, 0)<0)
|
replaced_conns, new_conns, 0)<0)
|
||||||
return -1;
|
return -1;
|
||||||
if (retry_listeners(CONN_TYPE_AP_TRANS_LISTENER, options->TransListenAddress,
|
if (retry_listeners(CONN_TYPE_AP_TRANS_LISTENER, options->TransListenAddress,
|
||||||
options->TransPort, "127.0.0.1", force,
|
options->TransPort, "127.0.0.1",
|
||||||
replaced_conns, new_conns, 0)<0)
|
replaced_conns, new_conns, 0)<0)
|
||||||
return -1;
|
return -1;
|
||||||
if (retry_listeners(CONN_TYPE_AP_NATD_LISTENER, options->NatdListenAddress,
|
if (retry_listeners(CONN_TYPE_AP_NATD_LISTENER, options->NatdListenAddress,
|
||||||
options->NatdPort, "127.0.0.1", force,
|
options->NatdPort, "127.0.0.1",
|
||||||
replaced_conns, new_conns, 0)<0)
|
replaced_conns, new_conns, 0)<0)
|
||||||
return -1;
|
return -1;
|
||||||
if (retry_listeners(CONN_TYPE_AP_DNS_LISTENER, options->DNSListenAddress,
|
if (retry_listeners(CONN_TYPE_AP_DNS_LISTENER, options->DNSListenAddress,
|
||||||
options->DNSPort, "127.0.0.1", force,
|
options->DNSPort, "127.0.0.1",
|
||||||
replaced_conns, new_conns, 0)<0)
|
replaced_conns, new_conns, 0)<0)
|
||||||
return -1;
|
return -1;
|
||||||
if (retry_listeners(CONN_TYPE_CONTROL_LISTENER,
|
if (retry_listeners(CONN_TYPE_CONTROL_LISTENER,
|
||||||
options->ControlListenAddress,
|
options->ControlListenAddress,
|
||||||
options->ControlPort, "127.0.0.1", force,
|
options->ControlPort, "127.0.0.1",
|
||||||
replaced_conns, new_conns, 0)<0)
|
replaced_conns, new_conns, 0)<0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
@ -1012,7 +1012,7 @@ run_scheduled_events(time_t now)
|
|||||||
/** 3d. And every 60 seconds, we relaunch listeners if any died. */
|
/** 3d. And every 60 seconds, we relaunch listeners if any died. */
|
||||||
if (!we_are_hibernating() && time_to_check_listeners < now) {
|
if (!we_are_hibernating() && time_to_check_listeners < now) {
|
||||||
/* 0 means "only launch the ones that died." */
|
/* 0 means "only launch the ones that died." */
|
||||||
retry_all_listeners(0, NULL, NULL);
|
retry_all_listeners(NULL, NULL);
|
||||||
time_to_check_listeners = now+60;
|
time_to_check_listeners = now+60;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2341,7 +2341,7 @@ void connection_expire_held_open(void);
|
|||||||
|
|
||||||
int connection_connect(connection_t *conn, const char *address, uint32_t addr,
|
int connection_connect(connection_t *conn, const char *address, uint32_t addr,
|
||||||
uint16_t port);
|
uint16_t port);
|
||||||
int retry_all_listeners(int force, smartlist_t *replaced_conns,
|
int retry_all_listeners(smartlist_t *replaced_conns,
|
||||||
smartlist_t *new_conns);
|
smartlist_t *new_conns);
|
||||||
|
|
||||||
int connection_bucket_write_limit(connection_t *conn);
|
int connection_bucket_write_limit(connection_t *conn);
|
||||||
|
Loading…
Reference in New Issue
Block a user