Hi,
We have detected that the node - 234B06E4DA915D527C897E21FD1E9F08012E2962 associated with your subscription has lost the Exit flag
for more than 1hr(s). This may impact the performance of your service.
Thank You!
Hi,
We have detected that the node - 234D670EAA794F092F7BD758D5D2AA7F4E3FFBE3 associated with your subscription has lost the Exit flag
for more than 1hr(s). This may impact the performance of your service.
Thank You!
Hi,
We have detected that the node - 235396838BB8FC7AFA529042B19615DF9E2AF218 associated with your subscription has lost the Exit flag
for more than 1hr(s). This may impact the performance of your service.
Thank You!
Pier Angelo Vendrame pushed to branch tor-browser-102.9.0esr-12.5-1 at The Tor Project / Applications / Tor Browser
Commits:
6dfea410 by Pier Angelo Vendrame at 2023-04-04T18:32:53+02:00
fixup! Bug 40933: Add tor-launcher functionality
Bug 41709: Reimplement the failure logic for
TorProtocolService.sendCommand
sendCommand tries to send a command forever every 250ms in case of
failure. That is bad because some async code branch might be stuck in it
forever.
We should have a number of maximum attempts and increase the delay after
which we try again.
- - - - -
2 changed files:
- toolkit/components/tor-launcher/TorMonitorService.jsm
- toolkit/components/tor-launcher/TorProtocolService.jsm
Changes:
=====================================
toolkit/components/tor-launcher/TorMonitorService.jsm
=====================================
@@ -233,8 +233,8 @@ const TorMonitorService = {
// FIXME: TorProcess is misleading here. We should use a topic related
// to having a control port connection, instead.
+ logger.info(`Notifying ${TorTopics.ProcessIsReady}`);
Services.obs.notifyObservers(null, TorTopics.ProcessIsReady);
- logger.info(`Notified ${TorTopics.ProcessIsReady}`);
// We reset this here hoping that _shutDownEventMonitor can interrupt
// the current monitor, either by calling clearTimeout and preventing it
=====================================
toolkit/components/tor-launcher/TorProtocolService.jsm
=====================================
@@ -220,49 +220,29 @@ const TorProtocolService = {
// Executes a command on the control port.
// Return a reply object or null if a fatal error occurs.
async sendCommand(cmd, args) {
- let conn, reply;
- const maxAttempts = 2;
- for (let attempt = 0; !reply && attempt < maxAttempts; attempt++) {
- try {
- conn = await this._getConnection();
- try {
- if (conn) {
- reply = await conn.sendCommand(cmd + (args ? " " + args : ""));
- if (reply) {
- // Return for reuse.
- this._returnConnection();
- } else {
- // Connection is bad.
- logger.warn(
- "sendCommand returned an empty response, taking the connection as broken and closing it."
- );
- this._closeConnection();
- }
- }
- } catch (e) {
- logger.error(`Cannot send the command ${cmd}`, e);
- this._closeConnection();
- }
- } catch (e) {
- logger.error("Cannot get a connection to the control port", e);
+ const maxTimeout = 1000;
+ let leftConnAttempts = 5;
+ let timeout = 250;
+ let reply;
+ while (leftConnAttempts-- > 0) {
+ const response = await this._trySend(cmd, args, leftConnAttempts == 0);
+ if (response.connected) {
+ reply = response.reply;
+ break;
}
- }
-
- // We failed to acquire the controller after multiple attempts.
- // Try again after some time.
- if (!conn) {
- logger.info(
- "sendCommand: Acquiring control connection failed",
+ // We failed to acquire the controller after multiple attempts.
+ // Try again after some time.
+ logger.warn(
+ "sendCommand: Acquiring control connection failed, trying again later.",
cmd,
args
);
- return new Promise(resolve =>
- setTimeout(() => {
- resolve(this.sendCommand(cmd, args));
- }, 250)
- );
+ await new Promise(resolve => setTimeout(() => resolve(), timeout));
+ timeout = Math.min(2 * timeout, maxTimeout);
}
+ // We sent the command, but we still got an empty response.
+ // Something must be busted elsewhere.
if (!reply) {
throw new Error(`${cmd} sent an empty response`);
}
@@ -590,6 +570,48 @@ const TorProtocolService = {
}
},
+ async _trySend(cmd, args, rethrow) {
+ let connected = false;
+ let reply;
+ let leftAttempts = 2;
+ while (leftAttempts-- > 0) {
+ let conn;
+ try {
+ conn = await this._getConnection();
+ } catch (e) {
+ logger.error("Cannot get a connection to the control port", e);
+ if (leftAttempts == 0 && rethrow) {
+ throw e;
+ }
+ }
+ if (!conn) {
+ continue;
+ }
+ // If we _ever_ got a connection, the caller should not try again
+ connected = true;
+ try {
+ reply = await conn.sendCommand(cmd + (args ? " " + args : ""));
+ if (reply) {
+ // Return for reuse.
+ this._returnConnection();
+ } else {
+ // Connection is bad.
+ logger.warn(
+ "sendCommand returned an empty response, taking the connection as broken and closing it."
+ );
+ this._closeConnection();
+ }
+ } catch (e) {
+ logger.error(`Cannot send the command ${cmd}`, e);
+ this._closeConnection();
+ if (leftAttempts == 0 && rethrow) {
+ throw e;
+ }
+ }
+ }
+ return { connected, reply };
+ },
+
// Opens an authenticated connection, sets it to this._controlConnection, and
// return it.
async _getConnection() {
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/6dfea41…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/6dfea41…
You're receiving this email because of your account on gitlab.torproject.org.
Pier Angelo Vendrame pushed to branch tor-browser-102.9.0esr-12.5-1 at The Tor Project / Applications / Tor Browser
Commits:
b786f2f7 by Henry Wilkes at 2023-04-04T14:21:36+01:00
fixup! Bug 10760: Integrate TorButton to TorBrowser core
Bug 41600 - Remove old circuit display.
- - - - -
fdaa4267 by Henry Wilkes at 2023-04-04T14:21:37+01:00
fixup! Bug 40562: Added Tor Browser preferences to 000-tor-browser.js
Bug 41600 - Remove extensions.torbutton.display_circuit since it will no
longer be used.
It also could not work as intended before because after disabling and
re-enabling, all the circuits and browser credentials that were
established whilst it was switched off would have been lost and were not
recovered.
- - - - -
5b4f215b by Henry Wilkes at 2023-04-04T14:21:37+01:00
fixup! Bring back old Firefox onboarding
Bug 41600 - We remove the additions for "controlCenter", i.e. the site
identity panel, since the tor circuit display no longer lies within it,
so our tour no longer uses it.
- - - - -
f4781831 by Henry Wilkes at 2023-04-04T14:21:38+01:00
fixup! Bug 26961: New user onboarding.
Bug 41600 - Change circuit display tour to use new button and panel.
This also fixes the "See My Path" button, which was broken before.
- - - - -
0b850ee8 by Henry Wilkes at 2023-04-04T14:21:38+01:00
fixup! Bug 10760: Integrate TorButton to TorBrowser core
Bug 41600 - Add API to domain-isolator to get the stored SOCKS username
and password for a given domain and user context ID.
Also get rid of unused newCircuitForUserContextId.
Also remove the return statement from tor-control-port's watchEvent
since addNotificationCallback does not return a value.
- - - - -
230f3584 by Henry Wilkes at 2023-04-04T14:21:39+01:00
fixup! Bug 40925: Implemented the Security Level component
Add cui-widget-panel class to the panel, which gives it the correct font.
- - - - -
03df4bba by Henry Wilkes at 2023-04-04T14:21:39+01:00
fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
Bug 41600 - Update the SVG fetch update script for fetching bridge
emojis and annotations, which we will also use for the flag emojis in
the tor circuit display.
We also:
+ Placed the bridgemoji files in a sub-directory.
+ Added a generation note to the generated files/directory.
+ Split the bridge emoji list into an external file, which we fetch in
connectionPane.js so that the generating file is less fragile to
a change in the javascript.
+ Store the locale emoji annotations using the string hex value as the
key, rather than the emoji string sequence. This keeps it in line with
the SVG file names, and removes ambiguity about whether the emoji
character sequence includes the emoji variant selector U+FE0F or not.
- - - - -
ba01849e by Henry Wilkes at 2023-04-04T14:22:11+01:00
fixup! Add TorStrings module for localization
Bug 41600 - Add new strings for the circuit display.
- - - - -
4998fba1 by Henry Wilkes at 2023-04-04T14:22:12+01:00
Bug 41600 - Add a tor circuit display panel.
- - - - -
30 changed files:
- browser/app/profile/000-tor-browser.js
- browser/base/content/browser.js
- browser/base/content/browser.xhtml
- browser/base/content/main-popupset.inc.xhtml
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/components/controlcenter/content/identityPanel.inc.xhtml
- browser/components/moz.build
- browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1eb.svg
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/d23d3f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/d23d3f…
You're receiving this email because of your account on gitlab.torproject.org.
Hi,
We have detected that the node - 0BF688666F34B897259180F1DFE541ACB6E7A7FA associated with your subscription has lost the Exit flag
for more than 1hr(s). This may impact the performance of your service.
Thank You!
Pier Angelo Vendrame pushed to branch base-browser-102.9.0esr-12.5-1 at The Tor Project / Applications / Tor Browser
Commits:
adbf9acf by Pier Angelo Vendrame at 2023-04-04T09:51:56+00:00
fixup! Bug 40926: Implemented the New Identity feature
Bug 41711: Wait for the new window when doing new identity
(cherry picked from commit d23d3f2cf3cc5cb1d9895108b67489314501dd20)
- - - - -
1 changed file:
- browser/components/newidentity/content/newidentity.js
Changes:
=====================================
browser/components/newidentity/content/newidentity.js
=====================================
@@ -57,6 +57,7 @@ XPCOMUtils.defineLazyGetter(this, "NewIdentityButton", () => {
);
const consoleOptions = {
maxLogLevel: "info",
+ maxLogLevelPref: "browser.new_identity.log_level",
prefix: "NewIdentity",
};
return new ConsoleAPI(consoleOptions);
@@ -68,12 +69,11 @@ XPCOMUtils.defineLazyGetter(this, "NewIdentityButton", () => {
class NewIdentityImpl {
async run() {
- logger.debug("Disabling JS");
this.disableAllJS();
await this.clearState();
- this.broadcast();
- this.openNewWindow();
+ await this.openNewWindow();
this.closeOldWindow();
+ this.broadcast();
}
// Disable JS (as a defense-in-depth measure)
@@ -389,7 +389,7 @@ XPCOMUtils.defineLazyGetter(this, "NewIdentityButton", () => {
logger.info("Calling the clearDataService");
const flags =
Services.clearData.CLEAR_ALL ^ Services.clearData.CLEAR_PASSWORDS;
- return new Promise((resolve, reject) => {
+ return new Promise(resolve => {
Services.clearData.deleteData(flags, {
onDataDeleted(code) {
if (code !== Cr.NS_OK) {
@@ -425,11 +425,16 @@ XPCOMUtils.defineLazyGetter(this, "NewIdentityButton", () => {
openNewWindow() {
logger.info("Opening a new window");
- // Open a new window with the default homepage
- // We could pass {private: true} but we do not because we enforce
- // browser.privatebrowsing.autostart = true.
- // What about users that change settings?
- OpenBrowserWindow();
+ return new Promise(resolve => {
+ // Open a new window with the default homepage
+ // We could pass {private: true} but we do not because we enforce
+ // browser.privatebrowsing.autostart = true.
+ // What about users that change settings?
+ const win = OpenBrowserWindow();
+ // This mechanism to know when the new window is ready is used by
+ // OpenBrowserWindow itself (see its definition in browser.js).
+ win.addEventListener("MozAfterPaint", () => resolve(), { once: true });
+ });
}
closeOldWindow() {
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/adbf9ac…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/adbf9ac…
You're receiving this email because of your account on gitlab.torproject.org.
Hi,
We have detected that the node - 1105462BBDF7821D15C050CB03EDE9F84A8622EB associated with your subscription has lost the Exit flag
for more than 1hr(s). This may impact the performance of your service.
Thank You!