summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2019-11-16 16:53:52 -0500
committerMark H Weaver <mhw@netris.org>2019-12-04 06:36:45 -0500
commit34369f310319b040d18864ff7435b8ee5f9a26a6 (patch)
tree6d2f9f50c8bed1a5ba8a343563e5b4bdd1ef457f
parent269c827c691087dabdfcb5d1b32b7647ba3bc8b8 (diff)
downloadguix-34369f310319b040d18864ff7435b8ee5f9a26a6.tar.gz
gnu: icecat: Update to 68.3.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2019-11745, CVE-2019-17005, CVE-2019-17008,
CVE-2019-17009, CVE-2019-17010, CVE-2019-17011, and CVE-2019-17012.

* gnu/packages/patches/icecat-gnuzilla-fixes.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/gnuzilla.scm (%icecat-version, %icecat-build-id): Update.
(icecat-source): Update hash for the firefox source tarball.  Update to the
latest from gnuzilla.git.  Don't apply icecat-gnuzilla-fixes.patch.  Remove
determinism fix in makeicecat that is now upstream.  Tweak a status message.
(icecat)[arguments]: Add "--with-unsigned-addon-scopes=app" configure flag.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gnuzilla.scm24
-rw-r--r--gnu/packages/patches/icecat-gnuzilla-fixes.patch546
-rw-r--r--gnu/packages/patches/icecat-makeicecat.patch10
4 files changed, 16 insertions, 565 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index b5d302f7a3..126d41ff64 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -984,7 +984,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch        \
   %D%/packages/patches/hplip-remove-imageprocessor.patch	\
   %D%/packages/patches/hydra-disable-darcs-test.patch		\
-  %D%/packages/patches/icecat-gnuzilla-fixes.patch			\
   %D%/packages/patches/icecat-makeicecat.patch			\
   %D%/packages/patches/icecat-avoid-bundled-libraries.patch	\
   %D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch	\
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index fa8086671f..a4e9a0e592 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -550,8 +550,8 @@ from forcing GEXP-PROMISE."
                       #:system system
                       #:guile-for-build guile)))
 
-(define %icecat-version "68.2.0-guix0-preview3")
-(define %icecat-build-id "20191031000000") ;must be of the form YYYYMMDDhhmmss
+(define %icecat-version "68.3.0-guix0-preview1")
+(define %icecat-build-id "20191204000000") ;must be of the form YYYYMMDDhhmmss
 
 ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
 ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -573,11 +573,11 @@ from forcing GEXP-PROMISE."
                   "firefox-" upstream-firefox-version ".source.tar.xz"))
             (sha256
              (base32
-              "0f3gf5gwhxabm6xs29nlxmfqdw3fs7v458vq1fydrglfyvmc5wc5"))))
+              "0sfwp9vyjizj1lkvj6z51r85dl41q3l8380fkdyqdbp7f2d18cg1"))))
 
-         (upstream-icecat-base-version "68.2.0") ; maybe older than base-version
+         (upstream-icecat-base-version "68.3.0") ; maybe older than base-version
          ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
-         (gnuzilla-commit "930298e1efff3e40721659d8fd7118cdd2477bd4")
+         (gnuzilla-commit "85e99badac11983f6d50b0d9942f66a30f55b8e5")
          (gnuzilla-source
           (origin
             (method git-fetch)
@@ -589,10 +589,8 @@ from forcing GEXP-PROMISE."
                                       (string-take gnuzilla-commit 8)))
             (sha256
              (base32
-              "14g57b0262qq5s0w8b1lrk8wkvg7m068dfi0ilvhg2q5jrxk3cd0"))))
+              "00mb734yvm0r7i64mbg7hvrvhbwkcii9f9hjgwi37aizd9k0n78a"))))
 
-         (gnuzilla-fixes-patch
-          (local-file (search-patch "icecat-gnuzilla-fixes.patch")))
          (makeicecat-patch
           (local-file (search-patch "icecat-makeicecat.patch"))))
 
@@ -639,8 +637,6 @@ from forcing GEXP-PROMISE."
                 (with-directory-excursion "/tmp/gnuzilla"
                   (make-file-writable "makeicecat")
                   (invoke "patch" "--force" "--no-backup-if-mismatch"
-                          "-p1" "--input" #+gnuzilla-fixes-patch)
-                  (invoke "patch" "--force" "--no-backup-if-mismatch"
                           "-p1" "--input" #+makeicecat-patch)
                   (patch-shebang "makeicecat")
                   (substitute* "makeicecat"
@@ -658,8 +654,6 @@ from forcing GEXP-PROMISE."
                      (string-append "FFSUB=" #$sub-version "\n"))
                     (("^DATA=.*")
                      "DATA=/tmp/gnuzilla/data\n")
-                    (("^find extensions/gnu/ ")
-                     "find extensions/gnu/ | sort ")
                     (("/bin/sed")
                      #+(file-append (canonical-package sed) "/bin/sed"))))
 
@@ -703,7 +697,7 @@ from forcing GEXP-PROMISE."
                   (force-output)
                   (invoke "bash" "/tmp/gnuzilla/makeicecat"))
 
-                (format #t "Packing new IceCat tarball...~%")
+                (format #t "Packing IceCat source tarball...~%")
                 (force-output)
                 (invoke "tar" "cfa" #$output
                         ;; Avoid non-determinism in the archive.  We set the
@@ -811,6 +805,10 @@ from forcing GEXP-PROMISE."
 
                            "--with-distribution-id=org.gnu"
 
+                           ;; Do not require addons in the global app
+                           ;; directory to be signed by Mozilla.
+                           "--with-unsigned-addon-scopes=app"
+
                            "--enable-startup-notification"
                            "--enable-pulseaudio"
 
diff --git a/gnu/packages/patches/icecat-gnuzilla-fixes.patch b/gnu/packages/patches/icecat-gnuzilla-fixes.patch
deleted file mode 100644
index e8e0946f57..0000000000
--- a/gnu/packages/patches/icecat-gnuzilla-fixes.patch
+++ /dev/null
@@ -1,546 +0,0 @@
-From 2abca7767c461a022317bf18fbec51e8b3ce6a92 Mon Sep 17 00:00:00 2001
-From: Mark H Weaver <mhw@netris.org>
-Date: Thu, 31 Oct 2019 03:59:46 -0400
-Subject: [PATCH 1/2] Branding: fix patching of trademarkInfo within l10n
- directory.
-
-This is a followup to commit 930298e1efff3e40721659d8fd7118cdd2477bd4.
-
-* makeicecat: Patch in the IceCat logo copyright notice in all
-brand.dtd files within l10n directory.
----
- makeicecat | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/makeicecat b/makeicecat
-index 3ff2ead..4ff3e64 100755
---- a/makeicecat
-+++ b/makeicecat
-@@ -226,7 +226,7 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in
- 
- # Custom legal about pages
- 
--find l10n -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
-+find l10n -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version.">/' -i
- find l10n -wholename '*/brand.ftl' |xargs /bin/sed 's/^trademarkInfo = .*/trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version./' -i
- 
- for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
--- 
-2.23.0
-
-From 150af5dd8b502b66f325b9fe8bd0b2ae553326a4 Mon Sep 17 00:00:00 2001
-From: Mark H Weaver <mhw@netris.org>
-Date: Wed, 30 Oct 2019 18:34:44 -0400
-Subject: [PATCH 2/2] Add first batch of IceCat-specific preferences.
-
-* makeicecat: Add code to add IceCat-specific messages to l10n directory.
-* data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl,
-data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl,
-data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl,
-data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl,
-data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl,
-data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl,
-data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl,
-data/patches/icecat-preferences.patch: New files.
----
- .../en-US/browser/preferences/preferences.ftl |  36 ++++
- .../browser/preferences/preferences.ftl       |  36 ++++
- .../browser/preferences/preferences.ftl       |  36 ++++
- .../browser/preferences/preferences.ftl       |  36 ++++
- .../browser/preferences/preferences.ftl       |  36 ++++
- .../browser/preferences/preferences.ftl       |  36 ++++
- .../browser/preferences/preferences.ftl       |  36 ++++
- data/patches/icecat-preferences.patch         | 155 ++++++++++++++++++
- makeicecat                                    |  13 ++
- 9 files changed, 420 insertions(+)
- create mode 100644 data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl
- create mode 100644 data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl
- create mode 100644 data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl
- create mode 100644 data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl
- create mode 100644 data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl
- create mode 100644 data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl
- create mode 100644 data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl
- create mode 100644 data/patches/icecat-preferences.patch
-
-diff --git a/data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl b/data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..2f90bcd
---- /dev/null
-+++ b/data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = IceCat-specific privacy settings
-+
-+disable-javascript-option =
-+    .label = Disable JavaScript
-+disable-javascript-description = Disabling Javascript greatly improves privacy, security and <a href=\"https://www.gnu.org/philosophy/javascript-trap.html\">freedom</a>, but it will break many sites.
-+
-+disable-custom-fonts-option =
-+    .label = Do not load custom fonts
-+disable-custom-fonts-description = Custom fonts can be used for <a href=\"https://en.wikipedia.org/wiki/Device_fingerprint\">fingerprinting</a>. Disabling them improves privacy but may make some sites look wrong.
-+
-+isolate-request-first-party-option =
-+    .label = Isolate requests to First Party domains
-+isolate-request-first-party-description = This <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">improves privacy</a>, but it may interfere with login into some sites.
-+
-+auto-update-extensions-option =
-+    .label = Automatically update extensions
-+auto-update-extensions-description = Enabling automated updates is good for security, but would start Internet connections in the background.
-+
-+spoof-referers-option =
-+    .label = Spoof Referers
-+spoof-referers-description = <a href=\"https://en.wikipedia.org/wiki/HTTP_referer\">Referers</a> tell sites what link brought you there. This feature greatly improves your privacy, but it may break functionality on some sites.
-+
-+detect-captive-portal-option =
-+    .label = Detect captive portal
-+detect-captive-portal-description = <a href=\"https://en.wikipedia.org/wiki/Captive_portal\">Captive portals</a> are the sites that control access to public wireless networks in hotels, airports, cafes, etc. The detection service is useful if you connect to such netwoks, but it will start connections automatically.
-+
-+geolocation-option =
-+    .label = Enable Geolocation
-+geolocation-description = This is commonly used for maps, weather sites, and some stores. It is better to keep it off unless you really need it.
-+
-+webgl-option =
-+    .label = Enable WebGL
-+webgl-description = Needed to visualize 3D graphics, but it may expose you to security threats. Enable it only if you really use it.
-diff --git a/data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..ad052b3
---- /dev/null
-+++ b/data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = Ajustes de privacidad de IceCat
-+
-+disable-javascript-option =
-+    .label = Desactivar JavaScript
-+disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la <a href=\"https://www.gnu.org/philosophy/javascript-trap.es.html\">libertad</a> en su equipo, pero afectará a la funcionalidad de muchas páginas.
-+
-+disable-custom-fonts-option =
-+    .label = No cargar fuentes personalizadas
-+disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para <a href=\"https://en.wikipedia.org/wiki/Device_fingerprint\">rastrear</a> al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas.
-+
-+isolate-request-first-party-option =
-+    .label = Aislar las solicitudes a los Dominios Primarios
-+isolate-request-first-party-description = Este ajuste <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">mejora la privacidad</a>, pero puede interferir con el inicio de sesión en algunas webs.
-+
-+auto-update-extensions-option =
-+    .label = Actualizar las extensiones automáticamente
-+auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano.
-+
-+spoof-referers-option =
-+    .label = Modificar los referers HTTP
-+spoof-referers-description = Los <a href=\"https://es.wikipedia.org/wiki/Referer_(Cabecera_HTTP)\">referers</a> son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas.
-+
-+detect-captive-portal-option =
-+    .label = Detectar los portales cautivos
-+detect-captive-portal-description = Los <a href=\"https://es.wikipedia.org/wiki/Portal_cautivo\">portales cautivos</a> son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano.
-+
-+geolocation-option =
-+    .label = Activar Geolocalización
-+geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación.
-+
-+webgl-option =
-+    .label = Activar WebGL
-+webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla.
-diff --git a/data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..ad052b3
---- /dev/null
-+++ b/data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = Ajustes de privacidad de IceCat
-+
-+disable-javascript-option =
-+    .label = Desactivar JavaScript
-+disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la <a href=\"https://www.gnu.org/philosophy/javascript-trap.es.html\">libertad</a> en su equipo, pero afectará a la funcionalidad de muchas páginas.
-+
-+disable-custom-fonts-option =
-+    .label = No cargar fuentes personalizadas
-+disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para <a href=\"https://en.wikipedia.org/wiki/Device_fingerprint\">rastrear</a> al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas.
-+
-+isolate-request-first-party-option =
-+    .label = Aislar las solicitudes a los Dominios Primarios
-+isolate-request-first-party-description = Este ajuste <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">mejora la privacidad</a>, pero puede interferir con el inicio de sesión en algunas webs.
-+
-+auto-update-extensions-option =
-+    .label = Actualizar las extensiones automáticamente
-+auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano.
-+
-+spoof-referers-option =
-+    .label = Modificar los referers HTTP
-+spoof-referers-description = Los <a href=\"https://es.wikipedia.org/wiki/Referer_(Cabecera_HTTP)\">referers</a> son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas.
-+
-+detect-captive-portal-option =
-+    .label = Detectar los portales cautivos
-+detect-captive-portal-description = Los <a href=\"https://es.wikipedia.org/wiki/Portal_cautivo\">portales cautivos</a> son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano.
-+
-+geolocation-option =
-+    .label = Activar Geolocalización
-+geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación.
-+
-+webgl-option =
-+    .label = Activar WebGL
-+webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla.
-diff --git a/data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..ad052b3
---- /dev/null
-+++ b/data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = Ajustes de privacidad de IceCat
-+
-+disable-javascript-option =
-+    .label = Desactivar JavaScript
-+disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la <a href=\"https://www.gnu.org/philosophy/javascript-trap.es.html\">libertad</a> en su equipo, pero afectará a la funcionalidad de muchas páginas.
-+
-+disable-custom-fonts-option =
-+    .label = No cargar fuentes personalizadas
-+disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para <a href=\"https://en.wikipedia.org/wiki/Device_fingerprint\">rastrear</a> al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas.
-+
-+isolate-request-first-party-option =
-+    .label = Aislar las solicitudes a los Dominios Primarios
-+isolate-request-first-party-description = Este ajuste <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">mejora la privacidad</a>, pero puede interferir con el inicio de sesión en algunas webs.
-+
-+auto-update-extensions-option =
-+    .label = Actualizar las extensiones automáticamente
-+auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano.
-+
-+spoof-referers-option =
-+    .label = Modificar los referers HTTP
-+spoof-referers-description = Los <a href=\"https://es.wikipedia.org/wiki/Referer_(Cabecera_HTTP)\">referers</a> son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas.
-+
-+detect-captive-portal-option =
-+    .label = Detectar los portales cautivos
-+detect-captive-portal-description = Los <a href=\"https://es.wikipedia.org/wiki/Portal_cautivo\">portales cautivos</a> son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano.
-+
-+geolocation-option =
-+    .label = Activar Geolocalización
-+geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación.
-+
-+webgl-option =
-+    .label = Activar WebGL
-+webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla.
-diff --git a/data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..ad052b3
---- /dev/null
-+++ b/data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = Ajustes de privacidad de IceCat
-+
-+disable-javascript-option =
-+    .label = Desactivar JavaScript
-+disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la <a href=\"https://www.gnu.org/philosophy/javascript-trap.es.html\">libertad</a> en su equipo, pero afectará a la funcionalidad de muchas páginas.
-+
-+disable-custom-fonts-option =
-+    .label = No cargar fuentes personalizadas
-+disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para <a href=\"https://en.wikipedia.org/wiki/Device_fingerprint\">rastrear</a> al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas.
-+
-+isolate-request-first-party-option =
-+    .label = Aislar las solicitudes a los Dominios Primarios
-+isolate-request-first-party-description = Este ajuste <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">mejora la privacidad</a>, pero puede interferir con el inicio de sesión en algunas webs.
-+
-+auto-update-extensions-option =
-+    .label = Actualizar las extensiones automáticamente
-+auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano.
-+
-+spoof-referers-option =
-+    .label = Modificar los referers HTTP
-+spoof-referers-description = Los <a href=\"https://es.wikipedia.org/wiki/Referer_(Cabecera_HTTP)\">referers</a> son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas.
-+
-+detect-captive-portal-option =
-+    .label = Detectar los portales cautivos
-+detect-captive-portal-description = Los <a href=\"https://es.wikipedia.org/wiki/Portal_cautivo\">portales cautivos</a> son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano.
-+
-+geolocation-option =
-+    .label = Activar Geolocalización
-+geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación.
-+
-+webgl-option =
-+    .label = Activar WebGL
-+webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla.
-diff --git a/data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..4008883
---- /dev/null
-+++ b/data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = Vie privée de IceCat
-+
-+disable-javascript-option =
-+    .label = Disable JavaScript
-+disable-javascript-description = Désactiver JavaScript améliore grandement le respect de la vie privée, la sécurité et <a href=\"https://www.gnu.org/philosophy/javascript-trap.fr.html\">la liberté</a>, mais cela risque de rendre beaucoup de sites web inutilisables.
-+
-+disable-custom-fonts-option =
-+    .label = Ne pas charger de polices personnalisées
-+disable-custom-fonts-description = Les polices personnalisées peuvent être utilisées pour vous <a href=\"https://fr.wikipedia.org/wiki/Empreinte_digitale_d%27appareil\">identifier</a>. Les désactiver améliore le respect de la vie privée mais peut détérorier le rendu de certains sites.
-+
-+isolate-request-first-party-option =
-+    .label = Isoler les requêtes vers les domaines de premier niveau
-+isolate-request-first-party-description = Améliore <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">le respect de la vie privée</a>, mais peut interférer avec la page de login de certains sites web.
-+
-+auto-update-extensions-option =
-+    .label = Mettre à jour les extensions automatiquement
-+auto-update-extensions-description = Activer les mises à jour automatiques améliore votre sécurité, mais cela va ouvrir des connexions internet en arrière-plan.
-+
-+spoof-referers-option =
-+    .label = Usurper l'identité des Referers
-+spoof-referers-description = <a href=\"https://fr.wikipedia.org/wiki/R%C3%A9f%C3%A9rent_(informatique)\">Les Referers</a> indiquent aux sites web quel lien vous y a amené. Cette fonctionnalité améliore grandement le respect de la vie privée, mais peut entraîner la perte de fonctionnalités sur certains sites.
-+
-+detect-captive-portal-option =
-+    .label = Détecter les portails captifs
-+detect-captive-portal-description = <a href=\"https://fr.wikipedia.org/wiki/Portail_captif\">Les portails captifs</a> sont les sites qui contrôlent l'accès aux réseaux sans fils publics dans les hôtels, les aéroports, les bars, etc. Ce service de détection est utile si vous vous connectez à ce type de réseaux, mais cela entraîne l'ouverture automatique de connexions.
-+
-+geolocation-option =
-+    .label = Activer la géolocalisation
-+geolocation-description = Elle est utilisée couramment pour les cartes, les sites de prévisions météo, et certaines boutiques en ligne. Il vaut mieux la désactivez à moins d'en avoir réellement besoin.
-+
-+webgl-option =
-+    .label = Activer WebGL
-+webgl-description = Nécessaire afin de visualiser les graphisme en 3D, mais peut vous exposer à des menaces de sécurité. Activer WebGL seulement si vous l'utilisez réellement.
-diff --git a/data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..a1fe1b7
---- /dev/null
-+++ b/data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = Impostazioni sulla privacy di IceCat
-+
-+disable-javascript-option =
-+    .label = Disabilita JavaScript
-+disable-javascript-description = Disabilitare Javascript migliora notevolmente la privacy, la sicurezza e la <a href=\"https://www.gnu.org/philosophy/javascript-trap.it.html\">libertà</a>, ma compromette la funzionalità molti siti.
-+
-+disable-custom-fonts-option =
-+    .label = Non caricare caratteri personalizzati
-+disable-custom-fonts-description = I caratteri personalizzati possono essere utilizzati per il <a href=\"https://it.wikipedia.org/wiki/Device_fingerprint\">fingerprinting</a>. Disabilitarli migliora la privacy ma potrebbe far compromettere la visibilità di alcuni siti.
-+
-+isolate-request-first-party-option =
-+    .label = Isolare le richieste ai domini proprietari
-+isolate-request-first-party-description = Questo <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">migliora la privacy</a>, ma potrebbe interferire con il login in alcuni siti.
-+
-+auto-update-extensions-option =
-+    .label = Aggiorna automaticamente le estensioni
-+auto-update-extensions-description = Abilitare gli aggiornamenti automatici è positivo per la sicurezza, ma avvierebbe connessioni Internet in background.
-+
-+spoof-referers-option =
-+    .label = Spoof Referers
-+spoof-referers-description = <a href=\"https://it.wikipedia.org/wiki/Referer\">I referer</a> dicono ai siti quale link ti ha portato lì. Questa funzione migliora notevolmente la privacy, ma potrebbe compromettere la funzionalità  di alcuni siti.
-+
-+detect-captive-portal-option =
-+    .label = Rileva il captive portal
-+detect-captive-portal-description = <a href=\"https://it.wikipedia.org/wiki/Captive_portal\">I captive portal</a> sono i siti che controllano l'accesso alle reti wireless pubbliche negli hotel, negli aeroporti, nei bar, ecc. Il servizio di rilevamento è utile se ci si connette a tali reti, ma avvierà automaticamente le connessioni.
-+
-+geolocation-option =
-+    .label = Abilita geolocalizzazione
-+geolocation-description = Questo è comunemente usato per mappe, siti meteo e alcuni negozi online. È meglio tenerlo spento a meno che non se ne abbia veramente bisogno.
-+
-+webgl-option =
-+    .label = Abilita WebGL
-+webgl-description = Necessario per visualizzare la grafica 3D, ma potrebbe esporre a minacce alla sicurezza. Abilitare solo in caso di necessità.
-diff --git a/data/patches/icecat-preferences.patch b/data/patches/icecat-preferences.patch
-new file mode 100644
-index 0000000..86fdd06
---- /dev/null
-+++ b/data/patches/icecat-preferences.patch
-@@ -0,0 +1,155 @@
-+--- a/browser/components/preferences/in-content/privacy.xul.orig	2019-10-16 15:29:49.000000000 -0400
-++++ b/browser/components/preferences/in-content/privacy.xul	2019-10-30 23:54:53.591633131 -0400
-+@@ -594,6 +594,79 @@
-+          data-l10n-id="addressbar-suggestions-settings"/>
-+ </groupbox>
-+ 
-++<!-- IceCat-specific privacy group -->
-++<groupbox id="iceCatPrivacyGroup"
-++          data-category="panePrivacy"
-++          hidden="true">
-++  <label><html:h2 data-l10n-id="icecat-privacy-group-header"/></label>
-++  <vbox>
-++    <checkbox id="disableJavaScript" data-l10n-id="disable-javascript-option"
-++              preference="javascript.enabled"
-++              onsyncfrompreference="return gPrivacyPane.readDisableJavaScriptOption();"
-++              onsynctopreference="return gPrivacyPane.writeDisableJavaScriptOption();"/>
-++    <vbox class="indent">
-++      <label data-l10n-id="disable-javascript-description"/>
-++    </vbox>
-++  </vbox>
-++  <vbox>
-++    <checkbox id="disableCustomFonts" data-l10n-id="disable-custom-fonts-option"
-++              preference="browser.display.use_document_fonts"
-++              onsyncfrompreference="return gPrivacyPane.readDisableCustomFontsOption();"
-++              onsynctopreference="return gPrivacyPane.writeDisableCustomFontsOption();"/>
-++    <vbox class="indent">
-++      <label data-l10n-id="disable-custom-fonts-description"/>
-++    </vbox>
-++  </vbox>
-++  <vbox>
-++    <checkbox id="isolateRequestFirstParty" data-l10n-id="isolate-request-first-party-option"
-++              preference="privacy.firstparty.isolate"/>
-++    <vbox class="indent">
-++      <label data-l10n-id="isolate-request-first-party-description"/>
-++    </vbox>
-++  </vbox>
-++  <vbox>
-++    <checkbox id="autoUpdateExtensions" data-l10n-id="auto-update-extensions-option"
-++              preference="extensions.update.enabled"/>
-++    <vbox class="indent">
-++      <label data-l10n-id="auto-update-extensions-description"/>
-++    </vbox>
-++  </vbox>
-++  <vbox>
-++    <checkbox id="spoofReferrers" data-l10n-id="spoof-referers-option"
-++              preference="network.http.referer.spoofSource"/>
-++    <vbox class="indent">
-++      <label data-l10n-id="spoof-referers-description"/>
-++    </vbox>
-++  </vbox>
-++  <vbox>
-++    <checkbox id="detectCaptivePortal" data-l10n-id="detect-captive-portal-option"
-++              preference="captivedetect.canonicalURL"
-++              onsyncfrompreference="return gPrivacyPane.readDetectCaptiveOption();"
-++              onsynctopreference="return gPrivacyPane.writeDetectCaptiveOption();"/>
-++    <vbox class="indent">
-++      <label data-l10n-id="detect-captive-portal-description"/>
-++    </vbox>
-++  </vbox>
-++  <vbox>
-++    <checkbox id="geolocation" data-l10n-id="geolocation-option"
-++              preference="browser.search.geoip.url"
-++              onsyncfrompreference="return gPrivacyPane.readGeolocationOption();"
-++              onsynctopreference="return gPrivacyPane.writeGeolocationOption();"/>
-++    <vbox class="indent">
-++      <label data-l10n-id="geolocation-description"/>
-++    </vbox>
-++  </vbox>
-++  <vbox>
-++    <checkbox id="webgl" data-l10n-id="webgl-option"
-++              preference="webgl.disabled"
-++              onsyncfrompreference="return gPrivacyPane.readWebGLOption();"
-++              onsynctopreference="return gPrivacyPane.writeWebGLOption();"/>
-++    <vbox class="indent">
-++      <label data-l10n-id="webgl-description"/>
-++    </vbox>
-++  </vbox>
-++</groupbox>
-++
-+ <hbox id="permissionsCategory"
-+       class="subcategory"
-+       hidden="true"
-+--- a/browser/components/preferences/in-content/privacy.js.orig	2019-10-16 15:29:49.000000000 -0400
-++++ b/browser/components/preferences/in-content/privacy.js	2019-10-31 00:08:05.819561577 -0400
-+@@ -93,6 +93,16 @@
-+   { id: "browser.urlbar.suggest.history", type: "bool" },
-+   { id: "browser.urlbar.suggest.openpage", type: "bool" },
-+ 
-++  // IceCat-specific
-++  { id: "javascript.enabled", type: "bool" },
-++  { id: "browser.display.use_document_fonts", type: "int" },
-++  { id: "privacy.firstparty.isolate", type: "bool" },
-++  { id: "extensions.update.enabled", type: "bool" },
-++  { id: "network.http.referer.spoofSource", type: "bool" },
-++  { id: "webgl.disabled", type: "bool" },
-++  { id: "captivedetect.canonicalURL", type: "string" },
-++  { id: "browser.search.geoip.url", type: "string" },
-++
-+   // History
-+   { id: "places.history.enabled", type: "bool" },
-+   { id: "browser.formfill.enable", type: "bool" },
-+@@ -587,6 +597,53 @@
-+     SiteDataManager.updateSites();
-+   },
-+ 
-++  // ICECAT PREFERENCES
-++
-++  readDisableJavaScriptOption() {
-++    let pref = Preferences.get("javascript.enabled");
-++    return !pref.value;
-++  },
-++  writeDisableJavaScriptOption() {
-++    let checkbox = document.getElementById("disableJavaScript");
-++    return !checkbox.checked;
-++  },
-++
-++  readDisableCustomFontsOption() {
-++    let pref = Preferences.get("browser.display.use_document_fonts");
-++    return pref.value == 0;
-++  },
-++  writeDisableCustomFontsOption() {
-++    let checkbox = document.getElementById("disableCustomFonts");
-++    return checkbox.checked ? 0 : 1;
-++  },
-++
-++  readDetectCaptiveOption() {
-++    let pref = Preferences.get("captivedetect.canonicalURL");
-++    return pref.value !== "";
-++  },
-++  writeDetectCaptiveOption() {
-++    let checkbox = document.getElementById("detectCaptivePortal");
-++    return checkbox.checked ? "http://detectportal.firefox.com/success.txt" : "";
-++  },
-++
-++  readGeolocationOption() {
-++    let pref = Preferences.get("browser.search.geoip.url");
-++    return pref.value !== "";
-++  },
-++  writeGeolocationOption() {
-++    let checkbox = document.getElementById("geolocation");
-++    return checkbox.checked ? "https://location.services.mozilla.com/v1/country?key=%MOZILLA_API_KEY%" : "";
-++  },
-++
-++  readWebGLOption() {
-++    let pref = Preferences.get("webgl.disabled");
-++    return !pref.value;
-++  },
-++  writeWebGLOption() {
-++    let checkbox = document.getElementById("webgl");
-++    return !checkbox.checked;
-++  },
-++
-+   // CONTENT BLOCKING
-+ 
-+   /**
-diff --git a/makeicecat b/makeicecat
-index 4ff3e64..493d946 100755
---- a/makeicecat
-+++ b/makeicecat
-@@ -87,6 +87,19 @@ for patch in $DATA/patches/*.patch; do
- done
- shopt -u nullglob
- 
-+for file_to_append in $(cd $DATA/files-to-append; find . -type f -print); do
-+    echo Appending new data to the end of file: $file_to_append
-+    cat $DATA/files-to-append/$file_to_append >> $file_to_append
-+done
-+
-+for dir in l10n/*; do
-+    if [[ $dir != l10n/compare-locales ]]; then
-+        if [[ ! -e $DATA/files-to-append/$dir/browser/browser/preferences/preferences.ftl ]]; then
-+            cat $DATA/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl >> $dir/browser/browser/preferences/preferences.ftl
-+        fi
-+    fi
-+done
-+
- cp $DATA/Changelog.IceCat $DATA/README.IceCat .
- 
- ###############################################################################
--- 
-2.23.0
-
diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch
index 66816070aa..daa67f6a7a 100644
--- a/gnu/packages/patches/icecat-makeicecat.patch
+++ b/gnu/packages/patches/icecat-makeicecat.patch
@@ -3,10 +3,10 @@ in a snippet without network access.  After this patch is applied, some
 additional changes will be made using 'substitute*'.
 
 diff --git a/makeicecat b/makeicecat
-index b04c731..06d1f3f 100644
+index 8be2362..48716f2 100755
 --- a/makeicecat
 +++ b/makeicecat
-@@ -30,55 +30,55 @@ SOURCEDIR=icecat-$FFVERSION
+@@ -31,55 +31,55 @@ SOURCEDIR=icecat-$FFVERSION
  
  DATA="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/data
  
@@ -25,7 +25,7 @@ index b04c731..06d1f3f 100644
 -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
 -gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
 -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
--echo -n 85f1c2eaf68ebedcbc0b78a342f6d16ef0865dedd426a1bba94b75c85f716f38 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+-echo -n e131149a70e7ae867d9b0ea081e8c081d056500ee51bb9270df247e977badc69 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
 -
 -echo Extracting Firefox tarball
 -tar -xf firefox-${FFVERSION}esr.source.tar.xz
@@ -37,7 +37,7 @@ index b04c731..06d1f3f 100644
 +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
 +# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
 +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
-+# echo -n 85f1c2eaf68ebedcbc0b78a342f6d16ef0865dedd426a1bba94b75c85f716f38 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
++# echo -n e131149a70e7ae867d9b0ea081e8c081d056500ee51bb9270df247e977badc69 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
 +# 
 +# echo Extracting Firefox tarball
 +# tar -xf firefox-${FFVERSION}esr.source.tar.xz
@@ -98,7 +98,7 @@ index b04c731..06d1f3f 100644
  
  shopt -s nullglob
  for patch in $DATA/patches/*.patch; do
-@@ -611,6 +611,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
+@@ -603,6 +603,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
  # Fix CVE-2012-3386
  /bin/sed 's/chmod a+w/chmod u+w/' -i ./js/src/ctypes/libffi/Makefile.in ./toolkit/crashreporter/google-breakpad/Makefile.in ./toolkit/crashreporter/google-breakpad/src/third_party/glog/Makefile.in || true