richard pushed to branch tor-browser-115.5.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
fac50006 by Pier Angelo Vendrame at 2023-11-30T14:13:06+00:00
fixup! Bug 41649: Create rebase and security backport gitlab issue templates
Add the step to update tor-browser-build's main after alpha rebases.
- - - - -
1 changed file:
- .gitlab/issue_templates/Rebase Browser - Alpha.md
Changes:
=====================================
.gitlab/issue_templates/Rebase Browser - Alpha.md
=====================================
@@ -138,3 +138,10 @@
- **Tag**: `base-browser-$(ESR_VERSION)esr-$(BROWSER_MAJOR).$(BROWSER_MINOR)-1-build1`
- **Message**: `Tagging build1 for $(ESR_VERSION)esr-based alpha`
- [ ] Push tag to `upstream`
+- [ ] Update tor-browser-build's main (no MR required, you can just push it if you have the permissions)
+ - [ ] Update `projects/firefox/config`
+ - [ ] Update `firefox_platform_version`
+ - [ ] Set `browser_build` to 1 (to prevent failures in alpha testbuilds)
+ - [ ] Update `projects/geckoview/config`
+ - [ ] Update `geckoview_version`
+ - [ ] Set `browser_build` to 1
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/fac5000…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/fac5000…
You're receiving this email because of your account on gitlab.torproject.org.
richard pushed to branch tor-browser-115.5.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
a084de1d by Pier Angelo Vendrame at 2023-11-30T14:03:08+00:00
fixup! Adding issue and merge request templates
Add the step to update tor-browser-build's main after alpha rebases.
- - - - -
1 changed file:
- .gitlab/issue_templates/Rebase Browser - Alpha.md
Changes:
=====================================
.gitlab/issue_templates/Rebase Browser - Alpha.md
=====================================
@@ -138,3 +138,10 @@
- **Tag**: `base-browser-$(ESR_VERSION)esr-$(BROWSER_MAJOR).$(BROWSER_MINOR)-1-build1`
- **Message**: `Tagging build1 for $(ESR_VERSION)esr-based alpha`
- [ ] Push tag to `upstream`
+- [ ] Update tor-browser-build's main (no MR required, you can just push it if you have the permissions)
+ - [ ] Update `projects/firefox/config`
+ - [ ] Update `firefox_platform_version`
+ - [ ] Set `browser_build` to 1 (to prevent failures in alpha testbuilds)
+ - [ ] Update `projects/geckoview/config`
+ - [ ] Update `geckoview_version`
+ - [ ] Set `browser_build` to 1
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a084de1…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a084de1…
You're receiving this email because of your account on gitlab.torproject.org.
richard pushed to branch mullvad-browser-115.5.0esr-13.5-1 at The Tor Project / Applications / Mullvad Browser
Commits:
a601e164 by Pier Angelo Vendrame at 2023-11-30T12:29:05+00:00
fixup! Bug 9173: Change the default Firefox profile directory to be relative.
Bug 42163: Make the DLL blocklist obey portable mode
- - - - -
1 changed file:
- toolkit/xre/LauncherRegistryInfo.cpp
Changes:
=====================================
toolkit/xre/LauncherRegistryInfo.cpp
=====================================
@@ -17,6 +17,9 @@
#include <string>
#include <type_traits>
+// tor-browser#42163
+#include <filesystem>
+
#define EXPAND_STRING_MACRO2(t) t
#define EXPAND_STRING_MACRO(t) EXPAND_STRING_MACRO2(t)
@@ -586,6 +589,45 @@ LauncherRegistryInfo::GetBrowserStartTimestamp() {
LauncherResult<std::wstring>
LauncherRegistryInfo::BuildDefaultBlocklistFilename() {
+ // tor-browser#42163: Make the DLL blocklist obey portable mode
+ {
+ std::filesystem::path appDir;
+ {
+ mozilla::UniquePtr<wchar_t[]> appDirStr = GetFullBinaryPath();
+ if (!appDirStr) {
+ return LAUNCHER_ERROR_FROM_WIN32(ERROR_NOT_ENOUGH_MEMORY);
+ }
+ appDir = std::filesystem::path(appDirStr.get()).parent_path();
+ }
+ std::error_code ec;
+ const bool isPortable =
+ !std::filesystem::exists(appDir / L"system-install", ec);
+ if (ec) {
+ // exists is supposed not to set an error when a file does not exist
+ // (whereas other functions such as is_regular_file sets it).
+ // The standard is quite opaque about the meaning of the numeric codes.
+ // Moreover, we use libcxx on Windows, and it seems they created a sort of
+ // POSIX compatibility layer (e.g., for stat), see
+ // libcxx/src/filesystem/posix_compat.h.
+ // std::error_code has a message function, but all the various macro are
+ // specific to handle Windows errors, so we have to use the generic error.
+ // At least, at the moment the error is dropped eventually.
+ return LAUNCHER_ERROR_GENERIC();
+ }
+ if (isPortable) {
+ // RELATIVE_DATA_DIR must have forward slashes, but weakly_canonical
+ // already changes them to backslashes.
+ const std::filesystem::path blocklistPath =
+ std::filesystem::weakly_canonical(
+ appDir / L"" RELATIVE_DATA_DIR / L"blocklist", ec);
+ if (ec) {
+ return LAUNCHER_ERROR_GENERIC();
+ }
+ return blocklistPath.wstring();
+ }
+ // Normal installation, continue on Mozilla's path
+ }
+
// These flags are chosen to avoid I/O, see bug 1363398.
const DWORD flags =
KF_FLAG_SIMPLE_IDLIST | KF_FLAG_DONT_VERIFY | KF_FLAG_NO_ALIAS;
@@ -618,6 +660,8 @@ LauncherRegistryInfo::BuildDefaultBlocklistFilename() {
}
LauncherResult<std::wstring> LauncherRegistryInfo::GetBlocklistFileName() {
+ // tor-browser#42163: Make the DLL blocklist obey portable mode
+#ifndef BASE_BROWSER_VERSION
LauncherResult<Disposition> disposition = Open();
if (disposition.isErr()) {
return disposition.propagateErr();
@@ -633,19 +677,19 @@ LauncherResult<std::wstring> LauncherRegistryInfo::GetBlocklistFileName() {
UniquePtr<wchar_t[]> buf = readResult.unwrap();
return std::wstring(buf.get());
}
-
+#endif
LauncherResult<std::wstring> defaultBlocklistPath =
BuildDefaultBlocklistFilename();
if (defaultBlocklistPath.isErr()) {
return defaultBlocklistPath.propagateErr();
}
-
+#ifndef BASE_BROWSER_VERSION
LauncherVoidResult writeResult = WriteRegistryValueString(
mRegKey, ResolveBlocklistValueName(), defaultBlocklistPath.inspect());
if (writeResult.isErr()) {
return writeResult.propagateErr();
}
-
+#endif
return defaultBlocklistPath;
}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/a60…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/a60…
You're receiving this email because of your account on gitlab.torproject.org.
richard pushed to branch base-browser-115.5.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
c8b7532b by Pier Angelo Vendrame at 2023-11-30T12:27:17+00:00
fixup! Bug 9173: Change the default Firefox profile directory to be relative.
Bug 42163: Make the DLL blocklist obey portable mode
- - - - -
1 changed file:
- toolkit/xre/LauncherRegistryInfo.cpp
Changes:
=====================================
toolkit/xre/LauncherRegistryInfo.cpp
=====================================
@@ -17,6 +17,9 @@
#include <string>
#include <type_traits>
+// tor-browser#42163
+#include <filesystem>
+
#define EXPAND_STRING_MACRO2(t) t
#define EXPAND_STRING_MACRO(t) EXPAND_STRING_MACRO2(t)
@@ -586,6 +589,45 @@ LauncherRegistryInfo::GetBrowserStartTimestamp() {
LauncherResult<std::wstring>
LauncherRegistryInfo::BuildDefaultBlocklistFilename() {
+ // tor-browser#42163: Make the DLL blocklist obey portable mode
+ {
+ std::filesystem::path appDir;
+ {
+ mozilla::UniquePtr<wchar_t[]> appDirStr = GetFullBinaryPath();
+ if (!appDirStr) {
+ return LAUNCHER_ERROR_FROM_WIN32(ERROR_NOT_ENOUGH_MEMORY);
+ }
+ appDir = std::filesystem::path(appDirStr.get()).parent_path();
+ }
+ std::error_code ec;
+ const bool isPortable =
+ !std::filesystem::exists(appDir / L"system-install", ec);
+ if (ec) {
+ // exists is supposed not to set an error when a file does not exist
+ // (whereas other functions such as is_regular_file sets it).
+ // The standard is quite opaque about the meaning of the numeric codes.
+ // Moreover, we use libcxx on Windows, and it seems they created a sort of
+ // POSIX compatibility layer (e.g., for stat), see
+ // libcxx/src/filesystem/posix_compat.h.
+ // std::error_code has a message function, but all the various macro are
+ // specific to handle Windows errors, so we have to use the generic error.
+ // At least, at the moment the error is dropped eventually.
+ return LAUNCHER_ERROR_GENERIC();
+ }
+ if (isPortable) {
+ // RELATIVE_DATA_DIR must have forward slashes, but weakly_canonical
+ // already changes them to backslashes.
+ const std::filesystem::path blocklistPath =
+ std::filesystem::weakly_canonical(
+ appDir / L"" RELATIVE_DATA_DIR / L"blocklist", ec);
+ if (ec) {
+ return LAUNCHER_ERROR_GENERIC();
+ }
+ return blocklistPath.wstring();
+ }
+ // Normal installation, continue on Mozilla's path
+ }
+
// These flags are chosen to avoid I/O, see bug 1363398.
const DWORD flags =
KF_FLAG_SIMPLE_IDLIST | KF_FLAG_DONT_VERIFY | KF_FLAG_NO_ALIAS;
@@ -618,6 +660,8 @@ LauncherRegistryInfo::BuildDefaultBlocklistFilename() {
}
LauncherResult<std::wstring> LauncherRegistryInfo::GetBlocklistFileName() {
+ // tor-browser#42163: Make the DLL blocklist obey portable mode
+#ifndef BASE_BROWSER_VERSION
LauncherResult<Disposition> disposition = Open();
if (disposition.isErr()) {
return disposition.propagateErr();
@@ -633,19 +677,19 @@ LauncherResult<std::wstring> LauncherRegistryInfo::GetBlocklistFileName() {
UniquePtr<wchar_t[]> buf = readResult.unwrap();
return std::wstring(buf.get());
}
-
+#endif
LauncherResult<std::wstring> defaultBlocklistPath =
BuildDefaultBlocklistFilename();
if (defaultBlocklistPath.isErr()) {
return defaultBlocklistPath.propagateErr();
}
-
+#ifndef BASE_BROWSER_VERSION
LauncherVoidResult writeResult = WriteRegistryValueString(
mRegKey, ResolveBlocklistValueName(), defaultBlocklistPath.inspect());
if (writeResult.isErr()) {
return writeResult.propagateErr();
}
-
+#endif
return defaultBlocklistPath;
}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c8b7532…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c8b7532…
You're receiving this email because of your account on gitlab.torproject.org.
richard pushed to branch tor-browser-115.5.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
9a352816 by Pier Angelo Vendrame at 2023-11-30T12:25:22+00:00
fixup! Bug 9173: Change the default Firefox profile directory to be relative.
Bug 42163: Make the DLL blocklist obey portable mode
- - - - -
1 changed file:
- toolkit/xre/LauncherRegistryInfo.cpp
Changes:
=====================================
toolkit/xre/LauncherRegistryInfo.cpp
=====================================
@@ -17,6 +17,9 @@
#include <string>
#include <type_traits>
+// tor-browser#42163
+#include <filesystem>
+
#define EXPAND_STRING_MACRO2(t) t
#define EXPAND_STRING_MACRO(t) EXPAND_STRING_MACRO2(t)
@@ -586,6 +589,45 @@ LauncherRegistryInfo::GetBrowserStartTimestamp() {
LauncherResult<std::wstring>
LauncherRegistryInfo::BuildDefaultBlocklistFilename() {
+ // tor-browser#42163: Make the DLL blocklist obey portable mode
+ {
+ std::filesystem::path appDir;
+ {
+ mozilla::UniquePtr<wchar_t[]> appDirStr = GetFullBinaryPath();
+ if (!appDirStr) {
+ return LAUNCHER_ERROR_FROM_WIN32(ERROR_NOT_ENOUGH_MEMORY);
+ }
+ appDir = std::filesystem::path(appDirStr.get()).parent_path();
+ }
+ std::error_code ec;
+ const bool isPortable =
+ !std::filesystem::exists(appDir / L"system-install", ec);
+ if (ec) {
+ // exists is supposed not to set an error when a file does not exist
+ // (whereas other functions such as is_regular_file sets it).
+ // The standard is quite opaque about the meaning of the numeric codes.
+ // Moreover, we use libcxx on Windows, and it seems they created a sort of
+ // POSIX compatibility layer (e.g., for stat), see
+ // libcxx/src/filesystem/posix_compat.h.
+ // std::error_code has a message function, but all the various macro are
+ // specific to handle Windows errors, so we have to use the generic error.
+ // At least, at the moment the error is dropped eventually.
+ return LAUNCHER_ERROR_GENERIC();
+ }
+ if (isPortable) {
+ // RELATIVE_DATA_DIR must have forward slashes, but weakly_canonical
+ // already changes them to backslashes.
+ const std::filesystem::path blocklistPath =
+ std::filesystem::weakly_canonical(
+ appDir / L"" RELATIVE_DATA_DIR / L"blocklist", ec);
+ if (ec) {
+ return LAUNCHER_ERROR_GENERIC();
+ }
+ return blocklistPath.wstring();
+ }
+ // Normal installation, continue on Mozilla's path
+ }
+
// These flags are chosen to avoid I/O, see bug 1363398.
const DWORD flags =
KF_FLAG_SIMPLE_IDLIST | KF_FLAG_DONT_VERIFY | KF_FLAG_NO_ALIAS;
@@ -618,6 +660,8 @@ LauncherRegistryInfo::BuildDefaultBlocklistFilename() {
}
LauncherResult<std::wstring> LauncherRegistryInfo::GetBlocklistFileName() {
+ // tor-browser#42163: Make the DLL blocklist obey portable mode
+#ifndef BASE_BROWSER_VERSION
LauncherResult<Disposition> disposition = Open();
if (disposition.isErr()) {
return disposition.propagateErr();
@@ -633,19 +677,19 @@ LauncherResult<std::wstring> LauncherRegistryInfo::GetBlocklistFileName() {
UniquePtr<wchar_t[]> buf = readResult.unwrap();
return std::wstring(buf.get());
}
-
+#endif
LauncherResult<std::wstring> defaultBlocklistPath =
BuildDefaultBlocklistFilename();
if (defaultBlocklistPath.isErr()) {
return defaultBlocklistPath.propagateErr();
}
-
+#ifndef BASE_BROWSER_VERSION
LauncherVoidResult writeResult = WriteRegistryValueString(
mRegKey, ResolveBlocklistValueName(), defaultBlocklistPath.inspect());
if (writeResult.isErr()) {
return writeResult.propagateErr();
}
-
+#endif
return defaultBlocklistPath;
}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9a35281…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9a35281…
You're receiving this email because of your account on gitlab.torproject.org.
richard pushed to branch tor-browser-115.5.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
3db7a880 by Henry Wilkes at 2023-11-30T12:15:07+00:00
fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
Bug 42303: Remove unused "help" button logic from bridge dialogs. Follows
bugzilla bug 1784882.
- - - - -
6 changed files:
- browser/components/torpreferences/content/builtinBridgeDialog.mjs
- browser/components/torpreferences/content/builtinBridgeDialog.xhtml
- browser/components/torpreferences/content/provideBridgeDialog.mjs
- browser/components/torpreferences/content/provideBridgeDialog.xhtml
- browser/components/torpreferences/content/requestBridgeDialog.mjs
- browser/components/torpreferences/content/requestBridgeDialog.xhtml
Changes:
=====================================
browser/components/torpreferences/content/builtinBridgeDialog.mjs
=====================================
@@ -86,12 +86,6 @@ export class BuiltinBridgeDialog {
dialog.addEventListener("dialogaccept", () => {
this.onSubmit(this._radioGroup.value, TorConnect.canBeginBootstrap);
});
- dialog.addEventListener("dialoghelp", e => {
- window.top.openTrustedLinkIn(
- TorStrings.settings.learnMoreCircumventionURL,
- "tab"
- );
- });
this._acceptButton = dialog.getButton("accept");
=====================================
browser/components/torpreferences/content/builtinBridgeDialog.xhtml
=====================================
@@ -8,7 +8,7 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
>
- <dialog id="torPreferences-builtinBridge-dialog" buttons="help,accept,cancel">
+ <dialog id="torPreferences-builtinBridge-dialog" buttons="accept,cancel">
<description id="torPreferences-builtinBridge-description"> </description>
<radiogroup id="torPreferences-builtinBridge-typeSelection">
<vbox class="builtin-bridges-option">
=====================================
browser/components/torpreferences/content/provideBridgeDialog.mjs
=====================================
@@ -61,7 +61,6 @@ export class ProvideBridgeDialog {
this._dialog.addEventListener("dialogaccept", e => {
this.onSubmit(this._textarea.value, TorConnect.canBeginBootstrap);
});
- this._dialog.addEventListener("dialoghelp", openHelp);
this._acceptButton = this._dialog.getButton("accept");
=====================================
browser/components/torpreferences/content/provideBridgeDialog.xhtml
=====================================
@@ -8,7 +8,7 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
>
- <dialog id="torPreferences-provideBridge-dialog" buttons="help,accept,cancel">
+ <dialog id="torPreferences-provideBridge-dialog" buttons="accept,cancel">
<description>
<html:div id="torPreferences-provideBridge-description"
>​<br />​</html:div
=====================================
browser/components/torpreferences/content/requestBridgeDialog.mjs
=====================================
@@ -62,12 +62,6 @@ export class RequestBridgeDialog {
e.preventDefault();
this.onSubmitCaptcha();
});
- this._dialog.addEventListener("dialoghelp", e => {
- window.top.openTrustedLinkIn(
- TorStrings.settings.learnMoreBridgesURL,
- "tab"
- );
- });
this._dialogHeader = this._dialog.querySelector(selectors.dialogHeader);
this._dialogHeader.textContent = TorStrings.settings.contactingBridgeDB;
=====================================
browser/components/torpreferences/content/requestBridgeDialog.xhtml
=====================================
@@ -8,7 +8,7 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
>
- <dialog id="torPreferences-requestBridge-dialog" buttons="help,accept,cancel">
+ <dialog id="torPreferences-requestBridge-dialog" buttons="accept,cancel">
<!-- ok, so ​ is a zero-width space. We need to have *something* in the innerText so that XUL knows how tall the
title node is so that it can determine how large to make the dialog element's inner draw area. If we have nothing
in the innerText, then it collapse to 0 height, and the contents of the dialog ends up partially hidden >:( -->
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/3db7a88…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/3db7a88…
You're receiving this email because of your account on gitlab.torproject.org.