ma1 pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser
Commits:
bbf13ec2 by hackademix at 2024-10-07T12:54:36+02:00
fixup! Firefox preference overrides.
MB361: Disable only cyphersuites using SH1 for signing (ECDSA).
- - - - -
1 changed file:
- browser/app/profile/001-base-profile.js
Changes:
=====================================
browser/app/profile/001-base-profile.js
=====================================
@@ -139,16 +139,13 @@ pref("network.http.referer.hideOnionSource", true);
// [4] https://www.ssllabs.com/ssl-pulse/
pref("security.ssl.require_safe_negotiation", true);
-// Bug 40183: Disable TLS ciphersuites using SHA-1
-// https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40183
+// mullvad-browser#361: Disable TLS cyphersuites using SHA1 for signing (ECDSA)
+// see https://bugzilla.mozilla.org/show_bug.cgi?id=1600437
+pref("security.ssl3.ecdhe_ecdsa_aes_256_sha", false);
+pref("security.ssl3.ecdhe_ecdsa_aes_128_sha", false);
+// lock those disabled by https://bugzilla.mozilla.org/show_bug.cgi?id=1036765
pref("security.ssl3.dhe_rsa_aes_128_sha", false, locked);
pref("security.ssl3.dhe_rsa_aes_256_sha", false, locked);
-pref("security.ssl3.ecdhe_ecdsa_aes_256_sha", false, locked);
-pref("security.ssl3.ecdhe_ecdsa_aes_128_sha", false, locked);
-pref("security.ssl3.ecdhe_rsa_aes_128_sha", false, locked);
-pref("security.ssl3.ecdhe_rsa_aes_256_sha", false, locked);
-pref("security.ssl3.rsa_aes_128_sha", false, locked);
-pref("security.ssl3.rsa_aes_256_sha", false, locked);
// Wrapping a static pref to lock it and prevent changing.
// See tor-browser#40565.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/bbf13ec…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/bbf13ec…
You're receiving this email because of your account on gitlab.torproject.org.
asciiwolf pushed to branch main at The Tor Project / Applications / torbrowser-launcher
Commits:
e049fdcc by Thomas Ward at 2024-10-05T10:14:32+00:00
Update/Add Additional Abstractions for AppArmor
- - - - -
851ff330 by asciiwolf at 2024-10-05T10:14:32+00:00
There are two abstraction sets added.
- The first is D-Bus session abstractions.
There are D-Bus denies for opening dialog boxes and file open boxes, which need D-Bus abstractions to access the user sessions. Fixed by including abstractions/dbus-session (which also implicitly imports abstractions/dbus-session-strict for systemd user sessions) in the AppArmor rules, if the abstractions exist.
The abstractions/dbus-session rule also requires adding an AppArmor owner rule for the ~/.cache/ibus/dbus-* socket. Otherwise, keyboard input will stop working.
- The second is X abstractions.
Observed initially in #588, systems that do NOT have GNOME installed on them, such as Lubuntu which uses LXQt and has ZERO GNOME components, will have issues accessing X11 sockets.
In such systems, the implied abstractions/gnome already part of the AppArmor profile do not exist. Therefore, AppArmor will not import abstractions/gnome which includes the X abstractions because the GNOME abstractions definition does not exist.
In such cases, components of the UI will not properly function with dialog boxes. This is why this is separately explicitly required, despite GNOME abstractions including X abstractions.
- - - - -
1 changed file:
- apparmor/torbrowser.Browser.firefox
Changes:
=====================================
apparmor/torbrowser.Browser.firefox
=====================================
@@ -11,6 +11,8 @@ profile torbrowser_firefox @{torbrowser_firefox_executable} {
#include <abstractions/mesa>
#include <abstractions/opencl>
#include if exists <abstractions/vulkan>
+ #include if exists <abstractions/dbus-session>
+ #include if exists <abstractions/X>
deny capability sys_ptrace,
@@ -26,6 +28,9 @@ profile torbrowser_firefox @{torbrowser_firefox_executable} {
network netlink raw,
network tcp,
+ # ibus socket
+ owner @{HOME}/.cache/ibus/dbus-* rw,
+
ptrace (trace) peer=@{profile_name},
signal (receive, send) set=("term") peer=@{profile_name},
View it on GitLab: https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/-/compar…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/-/compar…
You're receiving this email because of your account on gitlab.torproject.org.
Pier Angelo Vendrame pushed to branch maint-13.5 at The Tor Project / Applications / tor-browser-build
Commits:
cf68476c by Pier Angelo Vendrame at 2024-10-04T09:27:55+02:00
Bug 41254: Stop copying cryptoSafetyPrompt.properties.
That file is not used anymore, and it was supposed to not exist, but it
has been deleted only from the en-US directory in translation.git.
- - - - -
1 changed file:
- projects/firefox/build
Changes:
=====================================
projects/firefox/build
=====================================
@@ -140,7 +140,6 @@ mkdir "$HOME/.mozbuild"
fi
[% END -%]
mv "$transl_tor_browser/$source_lang/tor-browser.ftl" "$l10ncentral/$lang/toolkit/toolkit/global/"
- mv "$transl_tor_browser/$source_lang/cryptoSafetyPrompt.properties" "$l10ncentral/$lang/browser/chrome/browser/"
mv "$transl_tor_browser/$source_lang" "$torbutton_locales/$lang"
echo "% locale torbutton $lang %locale/$lang/" >> "$torbutton_jar"
echo " locale/$lang (chrome/locale/$lang/*)" >> "$torbutton_jar"
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c…
You're receiving this email because of your account on gitlab.torproject.org.
morgan pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser
Commits:
ba2f51a4 by Morgan at 2024-10-04T00:41:54+00:00
fixup! Bug 40562: Added Tor Browser preferences to 000-tor-browser.js
Bug 43170: Disable user-agent spoofing in HTTP header
- - - - -
1 changed file:
- browser/app/profile/000-tor-browser.js
Changes:
=====================================
browser/app/profile/000-tor-browser.js
=====================================
@@ -52,9 +52,8 @@ pref("network.http.connection-retry-timeout", 0);
// be reduced to the strictly required time).
pref("extensions.torbutton.use_nontor_proxy", false);
-// tor-browser#42647: Make OS HTTP User-Agent OS spoofing configurable by pref
-// TODO: flip to false when we're happy this is not a privacy issue
-pref("privacy.resistFingerprinting.spoofOsInUserAgentHeader", true);
+// tor-browser#43170: Disable user-agent spoofing in HTTP header
+pref("privacy.resistFingerprinting.spoofOsInUserAgentHeader", false);
// Browser home page:
pref("browser.startup.homepage", "about:tor");
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ba2f51a…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ba2f51a…
You're receiving this email because of your account on gitlab.torproject.org.
morgan pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser
Commits:
183d35fc by clairehurst at 2024-10-03T14:55:59-06:00
fixup! [android] Use NimbusDisabled
- - - - -
3 changed files:
- mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingController.kt
- mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingStorage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/NimbusComponents.kt
Changes:
=====================================
mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingController.kt
=====================================
@@ -101,36 +101,36 @@ open class NimbusMessagingController(
* creates a URI string for the message action.
*/
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
- fun processMessageActionToUri(message: Message): Uri {
+ open fun processMessageActionToUri(message: Message): Uri {
val (uuid, action) = messagingStorage.generateUuidAndFormatMessage(message)
sendClickedMessageTelemetry(message.id, uuid)
return convertActionIntoDeepLinkSchemeUri(action)
}
- private fun sendDismissedMessageTelemetry(messageId: String) {
+ open fun sendDismissedMessageTelemetry(messageId: String) {
GleanMessaging.messageDismissed.record(GleanMessaging.MessageDismissedExtra(messageId))
}
- private fun sendShownMessageTelemetry(messageId: String) {
+ open fun sendShownMessageTelemetry(messageId: String) {
GleanMessaging.messageShown.record(GleanMessaging.MessageShownExtra(messageId))
}
- private fun sendExpiredMessageTelemetry(messageId: String) {
+ open fun sendExpiredMessageTelemetry(messageId: String) {
GleanMessaging.messageExpired.record(GleanMessaging.MessageExpiredExtra(messageId))
}
- private fun sendClickedMessageTelemetry(messageId: String, uuid: String?) {
+ open fun sendClickedMessageTelemetry(messageId: String, uuid: String?) {
GleanMessaging.messageClicked.record(
GleanMessaging.MessageClickedExtra(messageKey = messageId, actionUuid = uuid),
)
}
- private fun sendMicrosurveyCompletedTelemetry(messageId: String, answer: String?) {
+ open fun sendMicrosurveyCompletedTelemetry(messageId: String, answer: String?) {
MicroSurvey.response.record(MicroSurvey.ResponseExtra(surveyId = messageId, userSelection = answer))
}
- private fun convertActionIntoDeepLinkSchemeUri(action: String): Uri =
+ open fun convertActionIntoDeepLinkSchemeUri(action: String): Uri =
if (action.startsWith("://")) {
"$deepLinkScheme$action".toUri()
} else {
=====================================
mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingStorage.kt
=====================================
@@ -33,7 +33,7 @@ const val MESSAGING_FEATURE_ID = "messaging"
/**
* Provides messages from [messagingFeature] and combine with the metadata store on [metadataStorage].
*/
-class NimbusMessagingStorage(
+open class NimbusMessagingStorage(
private val context: Context,
private val metadataStorage: MessageMetadataStorage,
private val onMalformedMessage: (String) -> Unit = {
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/NimbusComponents.kt
=====================================
@@ -5,15 +5,21 @@
package org.mozilla.fenix.components
import android.content.Context
+import android.content.Intent
+import android.net.Uri
import mozilla.components.service.nimbus.NimbusApi
import mozilla.components.service.nimbus.NimbusDisabled
import mozilla.components.service.nimbus.messaging.FxNimbusMessaging
import mozilla.components.service.nimbus.messaging.Message
+import mozilla.components.service.nimbus.messaging.Message.Metadata
+import mozilla.components.service.nimbus.messaging.MessageData
import mozilla.components.service.nimbus.messaging.MessageMetadataStorage
+import mozilla.components.service.nimbus.messaging.MessageSurfaceId
import mozilla.components.service.nimbus.messaging.NimbusMessagingController
import mozilla.components.service.nimbus.messaging.NimbusMessagingControllerInterface
import mozilla.components.service.nimbus.messaging.NimbusMessagingStorage
import mozilla.components.service.nimbus.messaging.OnDiskMessageMetadataStorage
+import mozilla.components.service.nimbus.messaging.StyleData
import org.mozilla.experiments.nimbus.NimbusEventStore
import org.mozilla.experiments.nimbus.NimbusMessagingHelperInterface
import org.mozilla.experiments.nimbus.NullNimbus
@@ -91,7 +97,7 @@ class NimbusComponents(private val context: Context) {
* from the Nimbus Messaging component.
*/
val messaging: NimbusMessagingControllerInterface by lazyMonitored {
- NimbusMessagingController(
+ NullNimbusMessagingController(
messagingStorage = messagingStorage,
deepLinkScheme = BuildConfig.DEEP_LINK_SCHEME,
)
@@ -127,3 +133,110 @@ class NullMessageMetadataStorage(): MessageMetadataStorage {
// noop
}
}
+
+class NullNimbusMessagingController(
+ messagingStorage: NimbusMessagingStorage,
+ deepLinkScheme: String,
+) : NimbusMessagingController(messagingStorage, deepLinkScheme) {
+
+ private val nullMessage: Message = Message(
+ id = "",
+ data = MessageData(),
+ action = "",
+ style = StyleData(),
+ triggerIfAll = listOf(),
+ excludeIfAny = listOf(),
+ metadata = Metadata(""),
+ )
+
+ override suspend fun onMessageDisplayed(displayedMessage: Message, bootIdentifier: String?): Message {
+ return nullMessage
+ }
+
+ /**
+ * Called when a message has been dismissed by the user.
+ *
+ * Records a messageDismissed event, and records that the message
+ * has been dismissed.
+ */
+ override suspend fun onMessageDismissed(message: Message) {
+ return
+ }
+
+ /**
+ * Called when a microsurvey attached to a message has been completed by the user.
+ *
+ * @param message The message containing the microsurvey that was completed.
+ * @param answer The user's response to the microsurvey question.
+ */
+ override suspend fun onMicrosurveyCompleted(message: Message, answer: String) {
+ return
+ }
+
+ /**
+ * Called once the user has clicked on a message.
+ *
+ * This records that the message has been clicked on, but does not record a
+ * glean event. That should be done via [processMessageActionToUri].
+ */
+ override suspend fun onMessageClicked(message: Message) {
+ return
+ }
+
+ /**
+ * Create and return the relevant [Intent] for the given [Message].
+ *
+ * @param message the [Message] to create the [Intent] for.
+ * @return an [Intent] using the processed [Message].
+ */
+ override fun getIntentForMessage(message: Message) = Intent()
+
+ /**
+ * Will attempt to get the [Message] for the given [id].
+ *
+ * @param id the [Message.id] of the [Message] to try to match.
+ * @return the [Message] with a matching [id], or null if no [Message] has a matching [id].
+ */
+ override suspend fun getMessage(id: String): Message? {
+ return nullMessage
+ }
+
+ /**
+ * The [message] action needs to be examined for string substitutions
+ * and any `uuid` needs to be recorded in the Glean event.
+ *
+ * We call this `process` as it has a side effect of logging a Glean event while it
+ * creates a URI string for the message action.
+ */
+ override fun processMessageActionToUri(message: Message): Uri {
+ return Uri.EMPTY
+ }
+
+ override fun sendDismissedMessageTelemetry(messageId: String) {
+ return
+ }
+
+ override fun sendShownMessageTelemetry(messageId: String) {
+ return
+ }
+
+ override fun sendExpiredMessageTelemetry(messageId: String) {
+ return
+ }
+
+ override fun sendClickedMessageTelemetry(messageId: String, uuid: String?) {
+ return
+ }
+
+ override fun sendMicrosurveyCompletedTelemetry(messageId: String, answer: String?) {
+ return
+ }
+
+ override fun convertActionIntoDeepLinkSchemeUri(action: String): Uri = Uri.EMPTY
+
+ override suspend fun getMessages(): List<Message> = listOf()
+
+ override suspend fun getNextMessage(surfaceId: MessageSurfaceId) = nullMessage
+
+ override fun getNextMessage(surfaceId: MessageSurfaceId, messages: List<Message>) = nullMessage
+}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/183d35f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/183d35f…
You're receiving this email because of your account on gitlab.torproject.org.