ma1 pushed to branch base-browser-128.9.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
0d535706 by Ray Kraesig at 2025-04-07T23:54:35+02:00
Bug 1950056 - extend use of FOS_NODEREFERENCELINKS r=Gijs,win-reviewers,gstoll
In the modern era of user-customizable Quick Access sidebars on every
file dialog, navigating via `.lnk` files is rather less useful than it
was twenty years ago.
Disable link-following in file-open dialogs by default, to prevent any
of the usual security issues involving symlink smuggling. Allow
overriding this behavior via a pref, for users who don't care.
(File-save dialogs have a more nuanced guard against that sort of thing;
this patch doesn't affect that.)
Differential Revision: https://phabricator.services.mozilla.com/D239833
- - - - -
2 changed files:
- modules/libpref/init/StaticPrefList.yaml
- widget/windows/nsFilePicker.cpp
Changes:
=====================================
modules/libpref/init/StaticPrefList.yaml
=====================================
@@ -16899,6 +16899,17 @@
value: 0
mirror: always
+# Whether to follow `.lnk` (etc.) shortcuts in the Windows file-open dialog.
+#
+# Valid values:
+# * 0: never
+# * 1: always
+# * 2: auto
+- name: widget.windows.follow_shortcuts_on_file_open
+ type: RelaxedAtomicInt32
+ value: 2
+ mirror: always
+
# The number of messages of each type to keep for display in
# about:windows-messages
- name: widget.windows.messages_to_log
=====================================
widget/windows/nsFilePicker.cpp
=====================================
@@ -614,19 +614,29 @@ nsFilePicker::ShowFilePicker(const nsString& aInitialDir) {
// mode specific
switch (mMode) {
+ case modeOpenMultiple:
+ fos |= FOS_ALLOWMULTISELECT;
+ [[fallthrough]];
+
case modeOpen:
fos |= FOS_FILEMUSTEXIST;
- break;
-
- case modeOpenMultiple:
- fos |= FOS_FILEMUSTEXIST | FOS_ALLOWMULTISELECT;
+ switch (mozilla::StaticPrefs::
+ widget_windows_follow_shortcuts_on_file_open()) {
+ case 1:
+ break;
+ default:
+ fos |= FOS_NODEREFERENCELINKS;
+ }
break;
case modeSave:
fos |= FOS_NOREADONLYRETURN;
- // Don't follow shortcuts when saving a shortcut, this can be used
- // to trick users (bug 271732)
- if (IsDefaultPathLink()) fos |= FOS_NODEREFERENCELINKS;
+ // Don't follow shortcuts when saving a shortcut; this can be used to
+ // trick users (bug 271732). _Do_ follow shortcuts when not saving a
+ // shortcut (bug 283730).
+ if (IsDefaultPathLink()) {
+ fos |= FOS_NODEREFERENCELINKS;
+ }
break;
case modeGetFolder:
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/0d53570…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/0d53570…
You're receiving this email because of your account on gitlab.torproject.org.
ma1 pushed to branch tor-browser-128.9.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
3ab7b290 by Ray Kraesig at 2025-04-07T23:53:51+02:00
Bug 1950056 - extend use of FOS_NODEREFERENCELINKS r=Gijs,win-reviewers,gstoll
In the modern era of user-customizable Quick Access sidebars on every
file dialog, navigating via `.lnk` files is rather less useful than it
was twenty years ago.
Disable link-following in file-open dialogs by default, to prevent any
of the usual security issues involving symlink smuggling. Allow
overriding this behavior via a pref, for users who don't care.
(File-save dialogs have a more nuanced guard against that sort of thing;
this patch doesn't affect that.)
Differential Revision: https://phabricator.services.mozilla.com/D239833
- - - - -
2 changed files:
- modules/libpref/init/StaticPrefList.yaml
- widget/windows/nsFilePicker.cpp
Changes:
=====================================
modules/libpref/init/StaticPrefList.yaml
=====================================
@@ -16907,6 +16907,17 @@
value: 0
mirror: always
+# Whether to follow `.lnk` (etc.) shortcuts in the Windows file-open dialog.
+#
+# Valid values:
+# * 0: never
+# * 1: always
+# * 2: auto
+- name: widget.windows.follow_shortcuts_on_file_open
+ type: RelaxedAtomicInt32
+ value: 2
+ mirror: always
+
# The number of messages of each type to keep for display in
# about:windows-messages
- name: widget.windows.messages_to_log
=====================================
widget/windows/nsFilePicker.cpp
=====================================
@@ -614,19 +614,29 @@ nsFilePicker::ShowFilePicker(const nsString& aInitialDir) {
// mode specific
switch (mMode) {
+ case modeOpenMultiple:
+ fos |= FOS_ALLOWMULTISELECT;
+ [[fallthrough]];
+
case modeOpen:
fos |= FOS_FILEMUSTEXIST;
- break;
-
- case modeOpenMultiple:
- fos |= FOS_FILEMUSTEXIST | FOS_ALLOWMULTISELECT;
+ switch (mozilla::StaticPrefs::
+ widget_windows_follow_shortcuts_on_file_open()) {
+ case 1:
+ break;
+ default:
+ fos |= FOS_NODEREFERENCELINKS;
+ }
break;
case modeSave:
fos |= FOS_NOREADONLYRETURN;
- // Don't follow shortcuts when saving a shortcut, this can be used
- // to trick users (bug 271732)
- if (IsDefaultPathLink()) fos |= FOS_NODEREFERENCELINKS;
+ // Don't follow shortcuts when saving a shortcut; this can be used to
+ // trick users (bug 271732). _Do_ follow shortcuts when not saving a
+ // shortcut (bug 283730).
+ if (IsDefaultPathLink()) {
+ fos |= FOS_NODEREFERENCELINKS;
+ }
break;
case modeGetFolder:
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/3ab7b29…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/3ab7b29…
You're receiving this email because of your account on gitlab.torproject.org.
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
73f4d593 by Pier Angelo Vendrame at 2025-04-07T16:00:21+02:00
Bug 41426: Set the Lyrebird version.
- - - - -
1 changed file:
- projects/lyrebird/build
Changes:
=====================================
projects/lyrebird/build
=====================================
@@ -20,7 +20,7 @@ cd /var/tmp/build/[% project %]-[% c('version') %]
tar -xf $rootdir/[% c('input_files_by_name/go_vendor') %]
-go build -mod=vendor -ldflags '-s[% IF c("var/android") %] -checklinkname=0[% END %]' ./cmd/lyrebird
+go build -mod=vendor -ldflags '-X main.lyrebirdVersion=[% c("version") %] -s[% IF c("var/android") %] -checklinkname=0[% END %]' ./cmd/lyrebird
cp -a lyrebird[% IF c("var/windows") %].exe[% END %] $distdir
go-licenses save ./cmd/lyrebird --save_path=$distdir/licenses
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7…
You're receiving this email because of your account on gitlab.torproject.org.
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
284a7380 by Pier Angelo Vendrame at 2025-04-07T14:57:55+02:00
Bug 41425: Move Snowflake to a ClientTransportPlugin on its own.
It seems tor passes all the transport it expects a certain PT to
provide.
For this reason, Lyrebird disabled proxy support also when running in
obfs4 or meek mode.
Moving Snowflake to another ClientTransportPlugin solves the issue.
- - - - -
1 changed file:
- projects/tor-expert-bundle/pt_config.json
Changes:
=====================================
projects/tor-expert-bundle/pt_config.json
=====================================
@@ -1,7 +1,8 @@
{
"recommendedDefault" : "obfs4",
"pluggableTransports" : {
- "lyrebird" : "ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit,snowflake,webtunnel exec ${pt_path}lyrebird${pt_extension}",
+ "lyrebird" : "ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit,webtunnel exec ${pt_path}lyrebird${pt_extension}",
+ "snowflake": "ClientTransportPlugin snowflake exec ${pt_path}lyrebird${pt_extension}",
"conjure" : "ClientTransportPlugin conjure exec ${pt_path}conjure-client${pt_extension} -registerURL https://registration.refraction.network/api"
},
"bridges" : {
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
You're receiving this email because of your account on gitlab.torproject.org.
ma1 pushed to branch base-browser-128.9.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
770f769b by Dan Ballard at 2025-04-03T10:48:25-07:00
BB 43544: DoH pane undefined error in Privacy and Security
From: Sarah Jamie Lewis <sarah(a)openprivacy.ca>
Date: Fri, 28 Feb 2025 09:30:45 -0800
Subject: [PATCH 1/1] DoH Settings: Check for nulll gParentalControlsService
When the parental controls service is disabled in a build, the DoH
settings now display the correct stauts when Increased or Max Protection
is enabled.
Previously, selecting either of these options would cause DoH to be
enabled, but the "Status" and "Provider" fields would not be properly
populated, due to a check on the gParentalControlsService causing an
error.
This check is now identical to the same check in DownloadIntegration.sys.mjs
Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: ma1 <giorgio(a)maone.net>
- - - - -
1 changed file:
- browser/components/preferences/privacy.js
Changes:
=====================================
browser/components/preferences/privacy.js
=====================================
@@ -54,11 +54,12 @@ ChromeUtils.defineLazyGetter(lazy, "AboutLoginsL10n", () => {
return new Localization(["branding/brand.ftl", "browser/aboutLogins.ftl"]);
});
-XPCOMUtils.defineLazyServiceGetter(
- lazy,
- "gParentalControlsService",
- "@mozilla.org/parental-controls-service;1",
- "nsIParentalControlsService"
+ChromeUtils.defineLazyGetter(lazy, "gParentalControlsService", () =>
+ "@mozilla.org/parental-controls-service;1" in Cc
+ ? Cc["@mozilla.org/parental-controls-service;1"].createInstance(
+ Ci.nsIParentalControlsService
+ )
+ : null
);
// TODO: module import via ChromeUtils.defineModuleGetter
@@ -735,7 +736,7 @@ var gPrivacyPane = {
mode == Ci.nsIDNSService.MODE_TRRFIRST ||
mode == Ci.nsIDNSService.MODE_TRRONLY
) {
- if (lazy.gParentalControlsService.parentalControlsEnabled) {
+ if (lazy.gParentalControlsService?.parentalControlsEnabled) {
return "preferences-doh-status-not-active";
}
let confirmationState = Services.dns.currentTrrConfirmationState;
@@ -758,7 +759,7 @@ var gPrivacyPane = {
if (
(mode == Ci.nsIDNSService.MODE_TRRFIRST ||
mode == Ci.nsIDNSService.MODE_TRRONLY) &&
- lazy.gParentalControlsService.parentalControlsEnabled
+ lazy.gParentalControlsService?.parentalControlsEnabled
) {
errReason = Services.dns.getTRRSkipReasonName(
Ci.nsITRRSkipReason.TRR_PARENTAL_CONTROL
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/770f769…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/770f769…
You're receiving this email because of your account on gitlab.torproject.org.
Dan Ballard pushed to branch tor-browser-128.9.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
1c2cd6e8 by Dan Ballard at 2025-04-03T18:17:41+00:00
fixup! [android] Modify build system
Always set gradle pref for nimbusFml as tbb's env var NIMBUS_FML supercedes it
- - - - -
1 changed file:
- mobile/android/fenix/app/build.gradle
Changes:
=====================================
mobile/android/fenix/app/build.gradle
=====================================
@@ -311,12 +311,14 @@ android.applicationVariants.configureEach { variant ->
def isDebugOrDCD = isDebug || isDataCollectionDisabled
def useReleaseVersioning = variant.buildType.buildConfigFields['USE_RELEASE_VERSIONING']?.value ?: false
- // only set this property to pass to our patched application-service if it's defined in
- // local.poperties, indicating this is a local dev build,
- // otherwise we are in a TBB build env and the env var should be set and will be picked up
- if (gradle.hasProperty('localProperties.dependencySubstitutions.geckoviewTopsrcdir')) {
- System.setProperty("nimbusFml", "${topsrcdir}/mobile/android/fenix/tools/nimbus-fml")
- }
+ // env var NIMBUS_FML always overrides this in the tbb built patched application services
+ // https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/blob/mai…
+ // so safe to have always set so local builds and supply their expected location as fetched by
+ // fenix/tools/tba-fetch-deps.sh
+ // We normalize the path because it is valid to open/build from both tb and fenix roots
+ def normalizedTBPath = rootProject.projectDir.absolutePath.minus("mobile/android/fenix")
+ System.setProperty("nimbusFml", normalizedTBPath + "/mobile/android/fenix/tools/nimbus-fml")
+
def disableTor = false
if (project.hasProperty("disableTor")) {
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1c2cd6e…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1c2cd6e…
You're receiving this email because of your account on gitlab.torproject.org.