Subject: [bug#71782] [PATCH v4 4/4] gnu: mullvadbrowser: Update to 13.5.2 [security fixes].

From: André Batista <[email-masked]>
Date: Tue, 6 Aug 2024 21:16:17 -0300

Fixes CVEs 2024-6600, 2024-6601, 2024-6602, 2024-6603, 2024-6604,
2024-7519, 2024-7521, 2024-7522, 2024-7524, 2024-7525, 2024-7526,
2024-7527, 2024-7529 and 2024-7531.

See the Mozilla Foundation Security advisories
<https://www.mozilla.org/en-US/security/advisories/mfsa2024-30/> and
<https://www.mozilla.org/en-US/security/advisories/mfsa2024-34/>
for details.

* gnu/packages/mullvad-browsers.scm (mozilla-locale): Remove it.
(mozilla-locales): Likewise.
(firefox-locales): Move to the top.
(%mullvadbrowser-locales): Change it to be a plain list of supported
locales.
(%mullvadbrowser-build-date): Update to 20240805090000.
(%mullvadbrowser-version): Update to 13.5.2.
(%mullvadbrowser-firefox-version): Update to 115.14.0esr-13.5-1-build2.
(mullvadbrowser-translation-base): Update to
64b325861da514cd681533dcd368b351d2eb5f6c.
(mullvadbrowser) [arguments] <#:phases>: Adjust copy-torbrowser-locales
replacement accordingly.
---
 gnu/packages/tor-browsers.scm | 98 +++++++++++------------------------
 1 file changed, 30 insertions(+), 68 deletions(-)

diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm
index bde95a8428..1898f8b2c4 100644
--- a/gnu/packages/tor-browsers.scm
+++ b/gnu/packages/tor-browsers.scm
@@ -90,39 +90,6 @@ (define-module (gnu packages tor-browsers)
   #:use-module (ice-9 regex)
   #:use-module (guix utils))
 
-(define (mozilla-locale locale changeset hash-string)
-  (origin
-    (method hg-fetch)
-    (uri (hg-reference
-          (url (string-append "https://hg.mozilla.org/l10n-central/"
-                              locale))
-          (changeset changeset)))
-    (file-name (string-append "mozilla-locale-" locale))
-    (sha256 (base32 hash-string))))
-
-(define-syntax-rule (mozilla-locales (hash-string changeset locale) ...)
-  #~(list (cons #$locale #$(mozilla-locale locale changeset hash-string))
-          ...))
-
-;; We copy the official build id, which is defined at
-;; tor-browser-build/rbm.conf (browser_release_date).
-(define %torbrowser-build-date "20240805090000")
-
-;; To find the last version, look at https://www.torproject.org/download/.
-(define %torbrowser-version "13.5.2")
-
-;; To find the last Firefox version, browse
-;; https://archive.torproject.org/tor-package-archive/torbrowser/<%torbrowser-version>
-;; There should be only one archive that starts with
-;; "src-firefox-tor-browser-".
-(define %torbrowser-firefox-version "115.14.0esr-13.5-1-build2")
-
-;; See tor-browser-build/rbm.conf for the list.
-(define %torbrowser-locales (list "ar" "ca" "cs" "da" "de" "el" "es-ES" "fa" "fi" "fr"
-                                  "ga-IE" "he" "hu" "id" "is" "it" "ja" "ka" "ko" "lt"
-                                  "mk" "ms" "my" "nb-NO" "nl" "pl" "pt-BR" "ro" "ru"
-                                  "sq" "sv-SE" "th" "tr" "uk" "vi" "zh-CN" "zh-TW"))
-
 ;; See browser/locales/l10n-changesets.json for the commit.
 (define firefox-locales
   (let ((commit "d8d587117c7b9dcc6a4fbc38407ed2c831bb008f")
@@ -147,6 +114,25 @@ (define firefox-locales
 Firefox locales.")
       (license license:mpl2.0))))
 
+;; We copy the official build id, which is defined at
+;; tor-browser-build/rbm.conf (browser_release_date).
+(define %torbrowser-build-date "20240805090000")
+
+;; To find the last version, look at https://www.torproject.org/download/.
+(define %torbrowser-version "13.5.2")
+
+;; To find the last Firefox version, browse
+;; https://archive.torproject.org/tor-package-archive/torbrowser/<%torbrowser-version>
+;; There should be only one archive that starts with
+;; "src-firefox-tor-browser-".
+(define %torbrowser-firefox-version "115.14.0esr-13.5-1-build2")
+
+;; See tor-browser-build/rbm.conf for the list.
+(define %torbrowser-locales (list "ar" "ca" "cs" "da" "de" "el" "es-ES" "fa" "fi" "fr"
+                                  "ga-IE" "he" "hu" "id" "is" "it" "ja" "ka" "ko" "lt"
+                                  "mk" "ms" "my" "nb-NO" "nl" "pl" "pt-BR" "ro" "ru"
+                                  "sq" "sv-SE" "th" "tr" "uk" "vi" "zh-CN" "zh-TW"))
+
 ;; See tor-browser-build/projects/translation/config.
 (define torbrowser-translation-base
   (origin
@@ -832,47 +818,23 @@ (define-public torbrowser
 
 
 ;; See tor-browser-build/rbm.conf for the list.
-;; See browser/locales/l10n-changesets.json for the changeset.
-;; See update-mozilla-locales in gnuzilla.scm to automate updating changeset.
-(define %mullvadbrowser-locales
-  (mozilla-locales
-   ;;                      sha256                            changeset    locale
-   ;;---------------------------------------------------------------------------
-   ("1218mldjxybhgzdi0myzkwjr2fgnysl71pl847kr7wyn1j8wk3a5" "c25d00080479" "ar")
-   ("1kzx94n36c5vv954j7w65djvb37c178zazy25b35l71q2rvhmlhj" "2197a99c9a08" "da")
-   ("13h7hk11bbd0yq8gqdv7ndbizkgwlm3ybz225l3x2b5cnyjxyg14" "b7a533e5edc9" "de")
-   ("0mdr5b6pqxjmg9c8064x3hpf53h6w9j8ghl32655sx9jh4v3ykza" "beff1baac7c5" "es-ES")
-   ("1pnyg09j6r15w8m62lwj89x6rz4br877z60p8s1hlrb9hj2s3vdx" "ebe0b60b0b36" "fa")
-   ("067r505626cvlrsalnndf2ykz3nnkiy0b8yaxzf1rracpzmp0hni" "d5ae6a933d71" "fi")
-   ("0026zzjv2bqc8sg06yvyd0mhny6mwwvhpvzjrhv2fi5v4wkxapdj" "496c2eb73b82" "fr")
-   ("03fbp4vgkwyimfmbm4n8blx1m16yhms2wm8j4wlx2h3cpxp5r71k" "91951e37e2b8" "it")
-   ("0ncm531d7ih7phcn9d83zwq0dfphvmzg3gmhqmrrkkbydi1g3pbb" "895dcf8bb524" "ja")
-   ("14rc9mr4ngxdzwpjagzhz47jazgp1a6vwb0vbwj31yxv9iwkrgzi" "6ef881aff44b" "ko")
-   ("0h7dlnawm5mbcx4qdlz5c7n4axz2dpa677v13ljdgm2b5w76msmq" "5c1480ccc040" "my")
-   ("1b12azc1n8j1i2l20v66r74q79zqjvc5sf9pd8rmj3xd0fkxzdp2" "fc1896a0a24d" "nb-NO")
-   ("1fh4dhlb6hynlpb2997gssv9v8zk5b7qrw0sclggczb5pcpjk6wc" "7e6da4f01bdb" "nl")
-   ("1w8x3jjrd28f6g6ywwxldizpiipfkr63dzqd74kjpg24s2lqzp80" "e86a451a9cb5" "pl")
-   ("1v3v4n82sn7a4h2d9n653fmgc31mikacf59lvdj6gbwvzpjb5yfa" "94c3dbb67a5d" "pt-BR")
-   ("1fxgh7nfxpg2zknvfff8igq9q1vm5n4q033v7lm2c0xn3dbl8m28" "402b2ecbf04d" "ru")
-   ("1nllh3ax323sxwhj7xvwvbfnh4179332pcmpfyybw1vaid3nr39k" "bb2d5d96d69e" "sv-SE")
-   ("136m68fd0641k3qqmsw6zp016cvvd0sipsyv6rx2b9nli56agz57" "0e6c56bf2ac9" "th")
-   ("0q8p8bwq8an65yfdwzm4dhl6km68r83bv5i17kay2gak8msxxhsb" "91e611ae3f19" "tr")
-   ("02ifa94jfii5f166rwdvv8si3bazm4bcf4qhi59c8f1hxbavb52h" "081aeb1aa308" "zh-CN")
-   ("0qx9sh56pqc2x5qrh386cp1fi1gidhcmxxpvqkg9nh2jbizahznr" "9015a180602e" "zh-TW")))
+(define %mullvadbrowser-locales (list "ar" "da" "de" "es-ES" "fa" "fi" "fr" "it"
+                                      "ja" "ko" "my" "nb-NO" "nl" "pl" "pt-BR"
+                                      "ru" "sv-SE" "th" "tr" "zh-CN" "zh-TW"))
 
 ;; We copy the official build id, which can be found there:
 ;; https://cdn.mullvad.net/browser/update_responses/update_1/release.
-(define %mullvadbrowser-build-date "20240510190000")
+(define %mullvadbrowser-build-date "20240805090000")
 
 ;; To find the last version, look at
 ;; https://mullvad.net/en/download/browser/linux.
-(define %mullvadbrowser-version "13.0.16")
+(define %mullvadbrowser-version "13.5.2")
 
 ;; To find the last Firefox version, browse
 ;; https://archive.torproject.org/tor-package-archive/mullvadbrowser/<%mullvadbrowser-version>
 ;; There should be only one archive that starts with
 ;; "src-firefox-mullvad-browser-".
-(define %mullvadbrowser-firefox-version "115.12.0esr-13.0-1-build1")
+(define %mullvadbrowser-firefox-version "115.14.0esr-13.5-1-build2")
 
 ;; See tor-browser-build/projects/translation/config.
 (define mullvadbrowser-translation-base
@@ -880,11 +842,11 @@ (define mullvadbrowser-translation-base
     (method git-fetch)
     (uri (git-reference
           (url "https://gitlab.torproject.org/tpo/translation.git")
-          (commit "f28525699864f4e3d764c354130bd898ce5b20aa")))
+          (commit "64b325861da514cd681533dcd368b351d2eb5f6c")))
     (file-name "translation-base-browser")
     (sha256
      (base32
-      "1vf6nl7fdmlmg2gskf3w1xlsgcm0pxi54z2daz5nwr6q9gyi0lkf"))))
+      "0sz60q60839waq8af021635il0v0s4nah6c7krssx12720zxcl5f"))))
 
 ;; See tor-browser-build/projects/translation/config.
 (define mullvadbrowser-translation-specific
@@ -912,7 +874,7 @@ (define mullvadbrowser-assets
          version "/mullvad-browser-linux-x86_64-" version ".tar.xz"))
        (sha256
         (base32
-         "1bpchiz12zjyrzpgyk71naf1jdf3msjcjwggb1mziyawc6pyxj7v"))))
+         "1mvhasy70yhndibrb4m8cslkbz2gn08p6kirilnqzqq6p0j1lxq9"))))
     (arguments
      (list
       #:install-plan
@@ -955,7 +917,7 @@ (define-public mullvadbrowser
          %mullvadbrowser-firefox-version ".tar.xz"))
        (sha256
         (base32
-         "1xs4qwa3c6nfq6cj5q6asfrzki4brafg65g6hbn0fc9qqcmrhkv5"))))
+         "0w5xy4cxcnxn6vzp5jbzxcssy9r69pgby0gl04m33fh9fl26pkkq"))))
     (arguments
      (substitute-keyword-arguments (package-arguments mullvadbrowser-base)
        ((#:phases phases)
@@ -977,7 +939,7 @@ (define-public mullvadbrowser
                    (system
                     (format #f "cp -Lr ~a/~a .mozbuild/l10n-central/"
                             #$mullvadbrowser-translation-specific lang)))
-                 (map car #$%mullvadbrowser-locales))))
+                 (list #$@%mullvadbrowser-locales))))
             (add-before 'build 'fix-profiles
               ;; Otherwise the profile would change every time the install
               ;; location changes, that is: at every package update.  These
-- 
2.45.2