mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
add a ControlPort and control listener conn.
note that print_usage is obsolete. svn:r2671
This commit is contained in:
parent
b74b72a5ce
commit
59453ac6ef
@ -85,6 +85,7 @@ static config_var_t config_vars[] = {
|
||||
VAR("BandwidthBurstBytes", UINT, BandwidthBurstBytes, "50000000"),
|
||||
VAR("ClientOnly", BOOL, ClientOnly, "0"),
|
||||
VAR("ContactInfo", STRING, ContactInfo, NULL),
|
||||
VAR("ControlPort", UINT, ControlPort, "0"),
|
||||
VAR("DebugLogFile", STRING, DebugLogFile, NULL),
|
||||
VAR("DataDirectory", STRING, DataDirectory, NULL),
|
||||
VAR("DirPort", UINT, DirPort, "0"),
|
||||
@ -499,10 +500,10 @@ static void
|
||||
print_usage(void)
|
||||
{
|
||||
printf("tor -f <torrc> [args]\n"
|
||||
"See man page for more options. This -h is probably obsolete.\n\n"
|
||||
"See man page for more options. This -h is obsolete.\n");
|
||||
#if 0
|
||||
"-b <bandwidth>\t\tbytes/second rate limiting\n"
|
||||
"-d <file>\t\tDebug file\n"
|
||||
// "-m <max>\t\tMax number of connections\n"
|
||||
"-l <level>\t\tLog level\n"
|
||||
"-r <file>\t\tList of known routers\n");
|
||||
printf("\nClient options:\n"
|
||||
@ -512,6 +513,7 @@ print_usage(void)
|
||||
"-n <nick>\t\tNickname of router\n"
|
||||
"-o <port>\t\tOR port to bind to\n"
|
||||
"-p <file>\t\tPID file\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
@ -810,7 +812,7 @@ getconfig(int argc, char **argv, or_options_t *options)
|
||||
options->command = CMD_LIST_FINGERPRINT;
|
||||
} else if (!strcmp(argv[i],"--hash-password")) {
|
||||
options->command = CMD_HASH_PASSWORD;
|
||||
options->command_arg = tor_strdup(argv[i+1]);
|
||||
options->command_arg = tor_strdup( (i < argc-1) ? argv[i+1] : "");
|
||||
++i;
|
||||
}
|
||||
|
||||
@ -932,6 +934,11 @@ getconfig(int argc, char **argv, or_options_t *options)
|
||||
result = -1;
|
||||
}
|
||||
|
||||
if (options->ControlPort < 0 || options->ControlPort > 65535) {
|
||||
log(LOG_WARN, "ControlPort option out of bounds.");
|
||||
result = -1;
|
||||
}
|
||||
|
||||
if (options->DirPort < 0 || options->DirPort > 65535) {
|
||||
log(LOG_WARN, "DirPort option out of bounds.");
|
||||
result = -1;
|
||||
|
@ -471,7 +471,7 @@ static int connection_init_accepted_conn(connection_t *conn) {
|
||||
conn->state = DIR_CONN_STATE_SERVER_COMMAND_WAIT;
|
||||
break;
|
||||
case CONN_TYPE_CONTROL:
|
||||
/* XXXX009 NM control */
|
||||
conn->state = CONTROL_CONN_STATE_NEEDAUTH;
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
@ -651,7 +651,9 @@ int retry_all_listeners(int force) {
|
||||
if (retry_listeners(CONN_TYPE_AP_LISTENER, options.SocksBindAddress,
|
||||
options.SocksPort, "127.0.0.1", force)<0)
|
||||
return -1;
|
||||
/* XXXX009 control NM */
|
||||
if (retry_listeners(CONN_TYPE_CONTROL_LISTENER, NULL,
|
||||
options.ControlPort, "127.0.0.1", force)<0)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -903,6 +903,7 @@ typedef struct {
|
||||
* length (alpha in geometric distribution). */
|
||||
int ORPort; /**< Port to listen on for OR connections. */
|
||||
int SocksPort; /**< Port to listen on for SOCKS connections. */
|
||||
int ControlPort; /**< Port to listen on for control connections. */
|
||||
int DirPort; /**< Port to listen on for directory connections. */
|
||||
int AuthoritativeDir; /**< Boolean: is this an authoritative directory? */
|
||||
int ClientOnly; /**< Boolean: should we never evolve into a server role? */
|
||||
|
Loading…
Reference in New Issue
Block a user