Pier Angelo Vendrame pushed to branch tor-browser-115.4.0esr-13.0-1 at The Tor Project / Applications / Tor Browser
Commits:
-
2f901371
by Pier Angelo Vendrame at 2023-11-13T17:55:50+01:00
-
934aa459
by Pier Angelo Vendrame at 2023-11-13T17:55:51+01:00
4 changed files:
- toolkit/components/tor-launcher/TorControlPort.sys.mjs
- toolkit/components/tor-launcher/TorDomainIsolator.sys.mjs
- toolkit/components/tor-launcher/TorProvider.sys.mjs
- toolkit/components/tor-launcher/TorProviderBuilder.sys.mjs
Changes:
... | ... | @@ -1043,15 +1043,15 @@ export class TorController { |
1043 | 1043 | }
|
1044 | 1044 | break;
|
1045 | 1045 | case "STREAM":
|
1046 | - const succeeedEvent =
|
|
1047 | - /^(?<StreamID>[a-zA-Z0-9]{1,16})\sSUCCEEDED\s(?<CircuitID>[a-zA-Z0-9]{1,16})/.exec(
|
|
1046 | + const sentConnectEvent =
|
|
1047 | + /^(?<StreamID>[a-zA-Z0-9]{1,16})\sSENTCONNECT\s(?<CircuitID>[a-zA-Z0-9]{1,16})/.exec(
|
|
1048 | 1048 | data.groups.data
|
1049 | 1049 | );
|
1050 | - if (succeeedEvent) {
|
|
1050 | + if (sentConnectEvent) {
|
|
1051 | 1051 | const credentials = this.#parseCredentials(data.groups.data);
|
1052 | - this.#eventHandler.onStreamSucceeded(
|
|
1053 | - succeeedEvent.groups.StreamID,
|
|
1054 | - succeeedEvent.groups.CircuitID,
|
|
1052 | + this.#eventHandler.onStreamSentConnect(
|
|
1053 | + sentConnectEvent.groups.StreamID,
|
|
1054 | + sentConnectEvent.groups.CircuitID,
|
|
1055 | 1055 | credentials?.username ?? null,
|
1056 | 1056 | credentials?.password ?? null
|
1057 | 1057 | );
|
... | ... | @@ -1190,8 +1190,9 @@ export class TorController { |
1190 | 1190 | * (i.e., a CIRC event with a BUILT status)
|
1191 | 1191 | * @property {OnCircuitClosed} onCircuitClosed Called when a circuit is closed
|
1192 | 1192 | * (i.e., a CIRC event with a CLOSED status)
|
1193 | - * @property {OnStreamSucceeded} onStreamSucceeded Called when a stream receives
|
|
1194 | - * a reply (i.e., a STREAM event with a SUCCEEDED status)
|
|
1193 | + * @property {OnStreamSentConnect} onStreamSentConnect Called when a stream sent
|
|
1194 | + * a connect cell along a circuit (i.e., a STREAM event with a SENTCONNECT
|
|
1195 | + * status)
|
|
1195 | 1196 | */
|
1196 | 1197 | /**
|
1197 | 1198 | * @callback OnBootstrapStatus
|
... | ... | @@ -1217,7 +1218,7 @@ export class TorController { |
1217 | 1218 | * @param {CircuitID} id The id of the circuit that has been closed
|
1218 | 1219 | */
|
1219 | 1220 | /**
|
1220 | - * @callback OnStreamSucceeded
|
|
1221 | + * @callback OnStreamSentConnect
|
|
1221 | 1222 | *
|
1222 | 1223 | * @param {StreamID} streamId The id of the stream that switched to the succeeded
|
1223 | 1224 | * state
|
... | ... | @@ -146,7 +146,10 @@ class TorDomainIsolatorImpl { |
146 | 146 | |
147 | 147 | Services.prefs.addObserver(NON_TOR_PROXY_PREF, this);
|
148 | 148 | Services.obs.addObserver(this, NEW_IDENTITY_TOPIC);
|
149 | - Services.obs.addObserver(this, lazy.TorProviderTopics.StreamSucceeded);
|
|
149 | + Services.obs.addObserver(
|
|
150 | + this,
|
|
151 | + lazy.TorProviderTopics.CircuitCredentialsMatched
|
|
152 | + );
|
|
150 | 153 | |
151 | 154 | this.#cleanupIntervalId = setInterval(
|
152 | 155 | this.#clearKnownCircuits.bind(this),
|
... | ... | @@ -161,7 +164,10 @@ class TorDomainIsolatorImpl { |
161 | 164 | uninit() {
|
162 | 165 | Services.prefs.removeObserver(NON_TOR_PROXY_PREF, this);
|
163 | 166 | Services.obs.removeObserver(this, NEW_IDENTITY_TOPIC);
|
164 | - Services.obs.removeObserver(this, lazy.TorProviderTopics.StreamSucceeded);
|
|
167 | + Services.obs.removeObserver(
|
|
168 | + this,
|
|
169 | + lazy.TorProviderTopics.CircuitCredentialsMatched
|
|
170 | + );
|
|
165 | 171 | clearInterval(this.#cleanupIntervalId);
|
166 | 172 | this.#cleanupIntervalId = null;
|
167 | 173 | this.clearIsolation();
|
... | ... | @@ -266,7 +272,7 @@ class TorDomainIsolatorImpl { |
266 | 272 | logger.error("Could not send the newnym command", e);
|
267 | 273 | // TODO: What UX to use here? See tor-browser#41708
|
268 | 274 | }
|
269 | - } else if (topic === lazy.TorProviderTopics.StreamSucceeded) {
|
|
275 | + } else if (topic === lazy.TorProviderTopics.CircuitCredentialsMatched) {
|
|
270 | 276 | const { username, password, circuit } = subject.wrappedJSObject;
|
271 | 277 | this.#updateCircuit(username, password, circuit);
|
272 | 278 | }
|
... | ... | @@ -991,19 +991,19 @@ export class TorProvider { |
991 | 991 | }
|
992 | 992 | |
993 | 993 | /**
|
994 | - * Handle a notification about a stream switching to the succeeded state.
|
|
994 | + * Handle a notification about a stream switching to the sentconnect status.
|
|
995 | 995 | *
|
996 | 996 | * @param {StreamID} streamId The ID of the stream that switched to the
|
997 | - * succeeded state.
|
|
997 | + * sentconnect status.
|
|
998 | 998 | * @param {CircuitID} circuitId The ID of the circuit used by the stream
|
999 | 999 | * @param {string} username The SOCKS username
|
1000 | 1000 | * @param {string} password The SOCKS password
|
1001 | 1001 | */
|
1002 | - async onStreamSucceeded(streamId, circuitId, username, password) {
|
|
1002 | + async onStreamSentConnect(streamId, circuitId, username, password) {
|
|
1003 | 1003 | if (!username || !password) {
|
1004 | 1004 | return;
|
1005 | 1005 | }
|
1006 | - logger.debug("Stream succeeded event", username, password, circuitId);
|
|
1006 | + logger.debug("Stream sentconnect event", username, password, circuitId);
|
|
1007 | 1007 | let circuit = this.#circuits.get(circuitId);
|
1008 | 1008 | if (!circuit) {
|
1009 | 1009 | circuit = new Promise((resolve, reject) => {
|
... | ... | @@ -1017,7 +1017,7 @@ export class TorProvider { |
1017 | 1017 | this.#circuits.set(id, nodes);
|
1018 | 1018 | }
|
1019 | 1019 | logger.error(
|
1020 | - `Seen a STREAM SUCCEEDED with circuit ${circuitId}, but Tor did not send information about it.`
|
|
1020 | + `Seen a STREAM SENTCONNECT with circuit ${circuitId}, but Tor did not send information about it.`
|
|
1021 | 1021 | );
|
1022 | 1022 | reject();
|
1023 | 1023 | });
|
... | ... | @@ -1037,7 +1037,7 @@ export class TorProvider { |
1037 | 1037 | circuit,
|
1038 | 1038 | },
|
1039 | 1039 | },
|
1040 | - TorProviderTopics.StreamSucceeded
|
|
1040 | + TorProviderTopics.CircuitCredentialsMatched
|
|
1041 | 1041 | );
|
1042 | 1042 | }
|
1043 | 1043 | } |
... | ... | @@ -15,7 +15,7 @@ export const TorProviderTopics = Object.freeze({ |
15 | 15 | BootstrapError: "TorBootstrapError",
|
16 | 16 | HasWarnOrErr: "TorLogHasWarnOrErr",
|
17 | 17 | BridgeChanged: "TorBridgeChanged",
|
18 | - StreamSucceeded: "TorStreamSucceeded",
|
|
18 | + CircuitCredentialsMatched: "TorCircuitCredentialsMatched",
|
|
19 | 19 | });
|
20 | 20 | |
21 | 21 | export const TorProviders = Object.freeze({
|