mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Check ENABLE_TOR2WEB_MODE before any tor2webmode code
This commit is contained in:
parent
0e22da1b8d
commit
86105a4009
4
changes/bug12844_macros
Normal file
4
changes/bug12844_macros
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
o Minor features (compilation):
|
||||||
|
- Do not compile any code related to Tor2Web mode when Tor2Web mode
|
||||||
|
is not enabled at compile time. Previously, this code was included
|
||||||
|
in a disabled state. See discussion on ticket #12844.
|
@ -2036,11 +2036,13 @@ circuit_get_open_circ_or_launch(entry_connection_t *conn,
|
|||||||
else
|
else
|
||||||
new_circ_purpose = desired_circuit_purpose;
|
new_circ_purpose = desired_circuit_purpose;
|
||||||
|
|
||||||
|
#ifdef ENABLE_TOR2WEB_MODE
|
||||||
if (options->Tor2webMode &&
|
if (options->Tor2webMode &&
|
||||||
(new_circ_purpose == CIRCUIT_PURPOSE_C_ESTABLISH_REND ||
|
(new_circ_purpose == CIRCUIT_PURPOSE_C_ESTABLISH_REND ||
|
||||||
new_circ_purpose == CIRCUIT_PURPOSE_C_INTRODUCING)) {
|
new_circ_purpose == CIRCUIT_PURPOSE_C_INTRODUCING)) {
|
||||||
want_onehop = 1;
|
want_onehop = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
{
|
{
|
||||||
int flags = CIRCLAUNCH_NEED_CAPACITY;
|
int flags = CIRCLAUNCH_NEED_CAPACITY;
|
||||||
|
@ -3037,6 +3037,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
|
|||||||
options->PredictedPortsRelevanceTime = MAX_PREDICTED_CIRCS_RELEVANCE;
|
options->PredictedPortsRelevanceTime = MAX_PREDICTED_CIRCS_RELEVANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef ENABLE_TOR2WEB_MODE
|
||||||
if (options->Tor2webMode && options->LearnCircuitBuildTimeout) {
|
if (options->Tor2webMode && options->LearnCircuitBuildTimeout) {
|
||||||
/* LearnCircuitBuildTimeout and Tor2webMode are incompatible in
|
/* LearnCircuitBuildTimeout and Tor2webMode are incompatible in
|
||||||
* two ways:
|
* two ways:
|
||||||
@ -3068,6 +3069,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
|
|||||||
"Tor2WebMode is enabled; disabling UseEntryGuards.");
|
"Tor2WebMode is enabled; disabling UseEntryGuards.");
|
||||||
options->UseEntryGuards = 0;
|
options->UseEntryGuards = 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (options->Tor2webRendezvousPoints && !options->Tor2webMode) {
|
if (options->Tor2webRendezvousPoints && !options->Tor2webMode) {
|
||||||
REJECT("Tor2webRendezvousPoints cannot be set without Tor2webMode.");
|
REJECT("Tor2webRendezvousPoints cannot be set without Tor2webMode.");
|
||||||
|
@ -1278,6 +1278,7 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef ENABLE_TOR2WEB_MODE
|
||||||
/* If we're running in Tor2webMode, we don't allow anything BUT .onion
|
/* If we're running in Tor2webMode, we don't allow anything BUT .onion
|
||||||
* addresses. */
|
* addresses. */
|
||||||
if (options->Tor2webMode) {
|
if (options->Tor2webMode) {
|
||||||
@ -1287,6 +1288,7 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn,
|
|||||||
connection_mark_unattached_ap(conn, END_STREAM_REASON_ENTRYPOLICY);
|
connection_mark_unattached_ap(conn, END_STREAM_REASON_ENTRYPOLICY);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* See if this is a hostname lookup that we can answer immediately.
|
/* See if this is a hostname lookup that we can answer immediately.
|
||||||
* (For example, an attempt to look up the IP address for an IP address.)
|
* (For example, an attempt to look up the IP address for an IP address.)
|
||||||
|
@ -620,7 +620,12 @@ directory_get_from_hs_dir(const char *desc_id, const rend_data_t *rend_query)
|
|||||||
char desc_id_base32[REND_DESC_ID_V2_LEN_BASE32 + 1];
|
char desc_id_base32[REND_DESC_ID_V2_LEN_BASE32 + 1];
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
char descriptor_cookie_base64[3*REND_DESC_COOKIE_LEN_BASE64];
|
char descriptor_cookie_base64[3*REND_DESC_COOKIE_LEN_BASE64];
|
||||||
|
#ifdef ENABLE_TOR2WEB_MODE
|
||||||
const int tor2web_mode = options->Tor2webMode;
|
const int tor2web_mode = options->Tor2webMode;
|
||||||
|
const int how_to_fetch = tor2web_mode ? DIRIND_ONEHOP : DIRIND_ANONYMOUS;
|
||||||
|
#else
|
||||||
|
const int how_to_fetch = DIRIND_ANONYMOUS;
|
||||||
|
#endif
|
||||||
int excluded_some;
|
int excluded_some;
|
||||||
tor_assert(desc_id);
|
tor_assert(desc_id);
|
||||||
tor_assert(rend_query);
|
tor_assert(rend_query);
|
||||||
@ -697,7 +702,7 @@ directory_get_from_hs_dir(const char *desc_id, const rend_data_t *rend_query)
|
|||||||
directory_initiate_command_routerstatus_rend(hs_dir,
|
directory_initiate_command_routerstatus_rend(hs_dir,
|
||||||
DIR_PURPOSE_FETCH_RENDDESC_V2,
|
DIR_PURPOSE_FETCH_RENDDESC_V2,
|
||||||
ROUTER_PURPOSE_GENERAL,
|
ROUTER_PURPOSE_GENERAL,
|
||||||
tor2web_mode?DIRIND_ONEHOP:DIRIND_ANONYMOUS,
|
how_to_fetch,
|
||||||
desc_id_base32,
|
desc_id_base32,
|
||||||
NULL, 0, 0,
|
NULL, 0, 0,
|
||||||
rend_query);
|
rend_query);
|
||||||
|
Loading…
Reference in New Issue
Block a user