richard pushed to branch main at The Tor Project / Applications / RBM
Commits:
148d8541 by Nicolas Vigier at 2024-04-25T14:54:32+02:00
Bug 40076: Take refresh_input into account when computing input_files_id
The `refresh_input` option forces refreshing an input_file. The option
is correctly taken into account when starting a build, but was not when
computing `input_files_id`.
- - - - -
1 changed file:
- lib/RBM.pm
Changes:
=====================================
lib/RBM.pm
=====================================
@@ -796,7 +796,7 @@ sub input_file_need_dl {
return undef;
}
return undef if $input_file->{exec};
- return undef if $fname;
+ return undef if ($fname && !$t->('refresh_input'));
return 1 if $input_file->{URL};
return 1 if $input_file->{content};
return undef;
View it on GitLab: https://gitlab.torproject.org/tpo/applications/rbm/-/commit/148d8541f177f31…
--
This project does not include diff previews in email notifications.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/rbm/-/commit/148d8541f177f31…
You're receiving this email because of your account on gitlab.torproject.org.
richard pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
5059b98c by Nicolas Vigier at 2024-04-25T17:01:35+02:00
Bug 41114: Mullvad Browser 13.5a7-build2
Update pkg_revision to force rebuild of linux-packages. Having
var/browser_release_date being in the past should solve the
reproducibility problem of the deb file.
- - - - -
5 changed files:
- .gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md
- .gitlab/issue_templates/Release Prep - Mullvad Browser Stable.md
- .gitlab/issue_templates/Release Prep - Tor Browser Alpha.md
- .gitlab/issue_templates/Release Prep - Tor Browser Stable.md
- rbm.conf
Changes:
=====================================
.gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md
=====================================
@@ -39,7 +39,7 @@ Mullvad Browser Alpha (and Nightly) are on the `main` branch
- [ ] Update `rbm.conf`
- [ ] `var/torbrowser_version` : update to next version
- [ ] `var/torbrowser_build` : update to `$(MULLVAD_BROWSER_BUILD_N)`
- - [ ] `var/browser_release_date` : update to build date
+ - [ ] `var/browser_release_date` : update to build date. For the build to be reproducible, the date should be in the past when building.
- [ ] `var/torbrowser_incremental_from` : update to previous Desktop version
- **NOTE**: We try to build incrementals for the previous 3 desktop versions except in the case of a watershed update
- **IMPORTANT**: Really *actually* make sure this is the previous Desktop version or else the `make mullvadbrowser-incrementals-*` step will fail
=====================================
.gitlab/issue_templates/Release Prep - Mullvad Browser Stable.md
=====================================
@@ -39,7 +39,7 @@ Mullvad Browser Stable lives in the various `maint-$(MULLVAD_BROWSER_MAJOR).$(MU
- [ ] Update `rbm.conf`
- [ ] `var/torbrowser_version` : update to next version
- [ ] `var/torbrowser_build` : update to `$(MULLVAD_BROWSER_BUILD_N)`
- - [ ] `var/browser_release_date` : update to build date
+ - [ ] `var/browser_release_date` : update to build date. For the build to be reproducible, the date should be in the past when building.
- [ ] `var/torbrowser_incremental_from` : update to previous Desktop version
- **NOTE**: We try to build incrementals for the previous 3 desktop versions except in the case of a watershed update
- **IMPORTANT**: Really *actually* make sure this is the previous Desktop version or else the `make mullvadbrowser-incrementals-*` step will fail
=====================================
.gitlab/issue_templates/Release Prep - Tor Browser Alpha.md
=====================================
@@ -38,7 +38,7 @@ Tor Browser Alpha (and Nightly) are on the `main` branch
- [ ] Update `rbm.conf`
- [ ] `var/torbrowser_version` : update to next version
- [ ] `var/torbrowser_build` : update to `$(TOR_BROWSER_BUILD_N)`
- - [ ] `var/browser_release_date` : update to build date
+ - [ ] `var/browser_release_date` : update to build date. For the build to be reproducible, the date should be in the past when building.
- [ ] ***(Desktop Only)***`var/torbrowser_incremental_from` : update to previous Desktop version
- **NOTE**: We try to build incrementals for the previous 3 desktop versions except in the case of a watershed update
- **IMPORTANT**: Really *actually* make sure this is the previous Desktop version or else the `make torbrowser-incrementals-*` step will fail
=====================================
.gitlab/issue_templates/Release Prep - Tor Browser Stable.md
=====================================
@@ -38,7 +38,7 @@ Tor Browser Stable lives in the various `maint-$(TOR_BROWSER_MAJOR).$(TOR_BROWSE
- [ ] Update `rbm.conf`
- [ ] `var/torbrowser_version` : update to next version
- [ ] `var/torbrowser_build` : update to `$(TOR_BROWSER_BUILD_N)`
- - [ ] `var/browser_release_date` : update to build date
+ - [ ] `var/browser_release_date` : update to build date. For the build to be reproducible, the date should be in the past when building.
- [ ] ***(Desktop Only)***`var/torbrowser_incremental_from` : update to previous Desktop version
- **NOTE**: We try to build incrementals for the previous 3 desktop versions except in the case of a watershed update
- **IMPORTANT**: Really *actually* make sure this is the previous Desktop version or else the `make torbrowser-incrementals-*` step will fail
=====================================
rbm.conf
=====================================
@@ -74,11 +74,13 @@ buildconf:
var:
torbrowser_version: '13.5a7'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- '13.5a6'
- '13.5a5'
- '13.5a4'
+ # This should be the date of when the build is started. For the build
+ # to be reproducible, browser_release_date should always be in the past.
browser_release_date: '2024/04/25 12:00:00'
browser_release_date_timestamp: '[% USE date; date.format(c("var/browser_release_date"), "%s") %]'
updater_enabled: 1
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/5…
--
This project does not include diff previews in email notifications.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/5…
You're receiving this email because of your account on gitlab.torproject.org.
Pier Angelo Vendrame pushed to branch tor-browser-115.10.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
29ff3f1e by Henry Wilkes at 2024-04-24T16:53:07+01:00
fixup! Tor Browser strings
Bug 42545: Rename "onionsite" to "onion site" in Fluent.
- - - - -
1 changed file:
- toolkit/locales/en-US/toolkit/global/tor-browser.ftl
Changes:
=====================================
toolkit/locales/en-US/toolkit/global/tor-browser.ftl
=====================================
@@ -611,25 +611,25 @@ rulesets-details-scope-input =
# "Regular expression" refers to the computing term for a special pattern used for matching: https://en.wikipedia.org/wiki/Regular_expression.
rulesets-details-scope-input-invalid = The scope could not be parsed as a regular expression
-## Onionsite error page.
-## "Onionsite" is an abbreviation of "onion website": a website whose domain URL ends in ".onion", which is reachable through the Tor network.
+## Onion site error page.
+## "Onion site" is an abbreviation of "onion website": a website whose domain URL ends in ".onion", which is reachable through the Tor network.
-onion-neterror-page-title = Problem loading onionsite
+onion-neterror-page-title = Problem loading onion site
onion-neterror-authorization-title = Authentication required
-onion-neterror-not-found-header = Onionsite not found
-onion-neterror-not-found-description = The most likely cause is that the onionsite is offline. Contact the onionsite administrator.
-onion-neterror-unreachable-header = Onionsite cannot be reached
-onion-neterror-unreachable-description = The onionsite is unreachable due an internal error.
-onion-neterror-disconnected-header = Onionsite has disconnected
-onion-neterror-disconnected-description = The most likely cause is that the onionsite is offline. Contact the onionsite administrator.
-onion-neterror-connection-failed-header = Unable to connect to onionsite
-onion-neterror-connection-failed-description = The onionsite is busy or the Tor network is overloaded. Try again later.
-onion-neterror-missing-authentication-header = Onionsite requires authentication
-onion-neterror-missing-authentication-description = Access to the onionsite requires a key but none was provided.
-onion-neterror-incorrect-authentication-header = Onionsite authentication failed
-onion-neterror-incorrect-authetication-description = The provided key is incorrect or has been revoked. Contact the onionsite administrator.
-onion-neterror-invalid-address-header = Invalid onionsite address
-onion-neterror-invalid-address-description = The provided onionsite address is invalid. Please check that you entered it correctly.
+onion-neterror-not-found-header = Onion site not found
+onion-neterror-not-found-description = The most likely cause is that the onion site is offline. Contact the onion site administrator.
+onion-neterror-unreachable-header = Onion site cannot be reached
+onion-neterror-unreachable-description = The onion site is unreachable due an internal error.
+onion-neterror-disconnected-header = Onion site has disconnected
+onion-neterror-disconnected-description = The most likely cause is that the onion site is offline. Contact the onion site administrator.
+onion-neterror-connection-failed-header = Unable to connect to onion site
+onion-neterror-connection-failed-description = The onion site is busy or the Tor network is overloaded. Try again later.
+onion-neterror-missing-authentication-header = Onion site requires authentication
+onion-neterror-missing-authentication-description = Access to the onion site requires a key but none was provided.
+onion-neterror-incorrect-authentication-header = Onion site authentication failed
+onion-neterror-incorrect-authetication-description = The provided key is incorrect or has been revoked. Contact the onion site administrator.
+onion-neterror-invalid-address-header = Invalid onion site address
+onion-neterror-invalid-address-description = The provided onion site address is invalid. Please check that you entered it correctly.
# "Circuit" refers to a Tor network circuit.
-onion-neterror-timed-out-header = Onionsite circuit creation timed out
-onion-neterror-timed-out-description = Failed to connect to the onionsite, possibly due to a poor network connection.
+onion-neterror-timed-out-header = Onion site circuit creation timed out
+onion-neterror-timed-out-description = Failed to connect to the onion site, possibly due to a poor network connection.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/29ff3f1…
--
This project does not include diff previews in email notifications.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/29ff3f1…
You're receiving this email because of your account on gitlab.torproject.org.
Pier Angelo Vendrame pushed to branch tor-browser-115.10.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
300bf571 by Henry Wilkes at 2024-04-24T12:27:50+00:00
fixup! Lox integration
Bug 42543: Demote the validateInvitation console message to "info".
- - - - -
1 changed file:
- toolkit/components/lox/Lox.sys.mjs
Changes:
=====================================
toolkit/components/lox/Lox.sys.mjs
=====================================
@@ -612,7 +612,7 @@ class LoxImpl {
try {
lazy.invitation_is_trusted(invite);
} catch (err) {
- lazy.logger.error(err);
+ lazy.logger.info(`Does not parse as an invite: "${invite}".`, err);
return false;
}
return true;
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/300bf57…
--
This project does not include diff previews in email notifications.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/300bf57…
You're receiving this email because of your account on gitlab.torproject.org.
Pier Angelo Vendrame pushed to branch tor-browser-115.10.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
a5f43320 by Pier Angelo Vendrame at 2024-04-23T18:40:17+02:00
fixup! Bug 40933: Add tor-launcher functionality
Bug 42541: Bridges without fingerprint break the circuit display.
The circuit display backend relies on GETCONF bridges because we want
to know the pluggable transport for the circuit display and, as far as
I can tell, no GETINFO command includes this information.
However, when we get a circuit from tor, we get its fingerprint, which
is optional on the bridge lines.
Therefore, in some cases we did not have the data to display, and we
just hid the circuit display button.
With this commit, when we miss the fingerprint of a bridge, we try to
get it in another way. It might produce incorrect results (we rely on
the IP address the user passes on the bridge line), but at least it
will show the circuit display.
- - - - -
1 changed file:
- toolkit/components/tor-launcher/TorControlPort.sys.mjs
Changes:
=====================================
toolkit/components/tor-launcher/TorControlPort.sys.mjs
=====================================
@@ -795,7 +795,64 @@ export class TorController {
* @returns {Bridge[]} The configured bridges
*/
async getBridges() {
- return (await this.#getConf("BRIDGE")).map(TorParsers.parseBridgeLine);
+ let missingId = false;
+ const bridges = (await this.#getConf("BRIDGE")).map(line => {
+ const info = TorParsers.parseBridgeLine(line);
+ if (!info.id) {
+ missingId = true;
+ }
+ return info;
+ });
+
+ // tor-browser#42541: bridge lines are allowed not to have a fingerprint.
+ // If such a bridge is in use, we will fail to associate it to the circuits,
+ // and the circuit display will not be shown.
+ // Tor provides a couple of GETINFO commands we can try to use to get more
+ // data about bridges, in particular GETINFO ns/purpose/bridge.
+ // While it tells us the bridge's IP (as configured by the user, which might
+ // be different from the real one with some PTs such as Snowflake), it does
+ // not tell the pluggable transport.
+ // Therefore, we need to start from the configured bridge lines, and if we
+ // detect that a bridge does not have a fingerprint, we try to associate one
+ // through its IP address and port.
+ // However, users can set them directly, therefore we might end up setting
+ // a fingerprint to the wrong line (e.g., if the IP address is reused).
+ // Also, we are not sure about when the data of ns/purpose/bridge is
+ // populated.
+ // Usually, we are interested only in the data of currently active bridges
+ // for the circuit display. So, as a matter of fact, we expect to have
+ // entries and to expose only the correct and working data in the frontend.
+ if (missingId) {
+ // See https://spec.torproject.org/dir-spec/consensus-formats.html.
+ // r <name> <identity> <digest> <date> <time> <address> <orport> <dirport>
+ const info = (await this.#getInfo("ns/purpose/bridge")).matchAll(
+ /^r\s+\S+\s+(?<identity>\S+)\s+\S+\s+\S+\s+\S+\s+(?<address>\S+)\s+(?<orport>\d+)/gm
+ );
+ const b64ToHex = b64 => {
+ let hex = "";
+ const raw = atob(b64);
+ for (let i = 0; i < raw.length; i++) {
+ hex += raw.charCodeAt(i).toString(16).toUpperCase().padStart(2, "0");
+ }
+ return hex;
+ };
+ const knownBridges = new Map(
+ Array.from(info, m => [
+ `${m.groups.address}:${m.groups.orport}`,
+ b64ToHex(m.groups.identity),
+ ])
+ );
+ for (const b of bridges) {
+ if (!b.id) {
+ // We expect the addresses of these lines to be only IPv4, therefore
+ // we do not check for brackets, even though they might be matched by
+ // our regex.
+ b.id = knownBridges.get(b.addr) ?? "";
+ }
+ }
+ }
+
+ return bridges;
}
/**
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a5f4332…
--
This project does not include diff previews in email notifications.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a5f4332…
You're receiving this email because of your account on gitlab.torproject.org.