ma1 pushed to branch tor-browser-115.22.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
8e51811f by Ray Kraesig at 2025-03-31T22:42:56+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
- - - - -
b26d6ce0 by Dana Keeler at 2025-03-31T22:43:05+02:00
Bug 1951494 - ensure socket control is released on the socket thread a=pascalc
Original Revision: https://phabricator.services.mozilla.com/D240234
Differential Revision: https://phabricator.services.mozilla.com/D241059
- - - - -
3 changed files:
- modules/libpref/init/StaticPrefList.yaml
- security/manager/ssl/SSLServerCertVerification.cpp
- widget/windows/nsFilePicker.cpp
Changes:
=====================================
modules/libpref/init/StaticPrefList.yaml
=====================================
@@ -15792,6 +15792,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
=====================================
security/manager/ssl/SSLServerCertVerification.cpp
=====================================
@@ -1211,6 +1211,9 @@ SSLServerCertVerificationResult::Run() {
}
mSocketControl->SetCertVerificationResult(mFinalError);
+ // Release this reference to the socket control so that it will be freed on
+ // the socket thread.
+ mSocketControl = nullptr;
return NS_OK;
}
=====================================
widget/windows/nsFilePicker.cpp
=====================================
@@ -181,19 +181,29 @@ bool 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/-/compare/cec982…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/cec982…
You're receiving this email because of your account on gitlab.torproject.org.
ma1 pushed to branch tor-browser-128.9.0esr-14.0-2 at The Tor Project / Applications / Tor Browser
Commits:
1faf2996 by Ray Kraesig at 2025-03-31T22:34:04+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/1faf299…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1faf299…
You're receiving this email because of your account on gitlab.torproject.org.
Pier Angelo Vendrame pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
1e1e4147 by clairehurst at 2025-03-31T10:55:30-06:00
fixup! [android] Implement Android-native Connection Assist UI
Bug 43576: Connection Assist on Android Fast Follows (Bug 41188)
Fix domain Fronting issues: !1426 (comment 3175104)
- - - - -
1 changed file:
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt
Changes:
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt
=====================================
@@ -10,6 +10,7 @@ import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MutableLiveData
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
+import mozilla.components.browser.state.ext.getUrl
import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.R
import org.mozilla.fenix.ext.components
@@ -23,11 +24,27 @@ class TorConnectionAssistViewModel(
) : AndroidViewModel(application), BootstrapStateChangeListener {
private val TAG = "torConnectionAssistVM"
+ private val components = application.components
private val torAndroidIntegration =
- application.components.core.geckoRuntime.torIntegrationController
+ components.core.geckoRuntime.torIntegrationController
init {
torAndroidIntegration.registerBootstrapStateChangeListener(this)
+ loadDummyPage()
+ }
+
+ private fun loadDummyPage() {
+ // Load local url (it just needs to begin with "about:" to get past filter) to initialize the browser,
+ // Domain fronting needs Services.io.getProtocolHandler("http")... to actually work, and it
+ // does not till the browser/engine is initialized, and this is so far the easiest way to do that.
+ // Load early here so that it is ready when needed if we get to the step where DF is invoked
+ // Then later remove it in onCleared so it doesn't show for the user
+ components.useCases.tabsUseCases.addTab.invoke("about:")
+ }
+
+ private fun clearDummyPage() {
+ // Remove loaded URL so it doesn't show up
+ components.useCases.tabsUseCases.removeTab.invoke(components.core.store.state.tabs.find {it.getUrl() == "about:"}?.id ?: "")
}
fun fetchCountryNamesGet() {
@@ -45,6 +62,7 @@ class TorConnectionAssistViewModel(
override fun onCleared() {
torAndroidIntegration.unregisterBootstrapStateChangeListener(this)
+ clearDummyPage()
super.onCleared()
}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1e1e414…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1e1e414…
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:
1a3e3774 by Pier Angelo Vendrame at 2025-03-31T21:19:19+02:00
Bug 41420: Update the changelog script for label updates.
- - - - -
1 changed file:
- tools/fetch_changelogs.py
Changes:
=====================================
tools/fetch_changelogs.py
=====================================
@@ -13,6 +13,7 @@ GITLAB = "https://gitlab.torproject.org"
API_URL = f"{GITLAB}/api/v4"
PROJECT_ID = 473
AUTH_HEADER = "PRIVATE-TOKEN"
+MB_LABEL = "Project 131"
class EntryType(enum.IntFlag):
@@ -153,9 +154,9 @@ class ChangelogBuilder:
return
labels = "Apps::Type::ReleasePreparation"
if is_mullvad:
- labels += ",Sponsor 131"
+ labels += f",{MB_LABEL}"
elif not is_mullvad and is_mullvad is not None:
- labels += "¬[labels]=Sponsor 131"
+ labels += f"¬[labels]={MB_LABEL}"
r = requests.get(
f"{API_URL}/projects/{PROJECT_ID}/issues?labels={labels}&search={issue_or_version}&in=title&state=opened",
headers=self.headers,
@@ -192,13 +193,13 @@ class ChangelogBuilder:
self._set_issue(issues[0], is_mullvad)
def _set_issue(self, issue, is_mullvad):
- has_s131 = "Sponsor 131" in issue["labels"]
- if is_mullvad is not None and is_mullvad != has_s131:
+ has_mb = MB_LABEL in issue["labels"]
+ if is_mullvad is not None and is_mullvad != has_mb:
raise ValueError(
"Inconsistency detected: a browser was explicitly specified, but the issue does not have the correct labels."
)
self.relprep_issue = issue["iid"]
- self.is_mullvad = has_s131
+ self.is_mullvad = has_mb
if self.version is None:
version_match = re.search(r"\b[0-9]+\.[.0-9a]+\b", issue["title"])
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/1…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/1…
You're receiving this email because of your account on gitlab.torproject.org.