And here is the diff for 7.2-stable. It's a big diff but it's more or less the same as -current.
Caspar Index: meta/tor-browser/Makefile =================================================================== RCS file: /cvs/ports/meta/tor-browser/Makefile,v retrieving revision 1.59.2.3 diff -u -p -r1.59.2.3 Makefile --- meta/tor-browser/Makefile 24 Nov 2022 16:38:44 -0000 1.59.2.3 +++ meta/tor-browser/Makefile 8 Dec 2022 17:29:57 -0000 @@ -2,11 +2,11 @@ COMMENT= Tor Browser meta package MAINTAINER= Caspar Schutijser <cas...@schutijser.com> -PKGNAME= tor-browser-11.5.8 +PKGNAME= tor-browser-12.0 ONLY_FOR_ARCHS = amd64 -RUN_DEPENDS= www/tor-browser/browser>=11.5.8 \ - www/tor-browser/noscript>=11.4.12 \ +RUN_DEPENDS= www/tor-browser/browser>=12.0 \ + www/tor-browser/noscript>=11.4.13 \ net/tor>=0.4.7.11 .include <bsd.port.mk> Index: www/tor-browser/Makefile.inc =================================================================== RCS file: /cvs/ports/www/tor-browser/Makefile.inc,v retrieving revision 1.57.2.3 diff -u -p -r1.57.2.3 Makefile.inc --- www/tor-browser/Makefile.inc 24 Nov 2022 16:38:44 -0000 1.57.2.3 +++ www/tor-browser/Makefile.inc 8 Dec 2022 17:29:57 -0000 @@ -3,8 +3,11 @@ HOMEPAGE ?= https://www.torproject.org PERMIT_PACKAGE ?= Yes CATEGORIES = www BROWSER_NAME = tor-browser -TB_VERSION = 11.5.8 +TB_VERSION = 12.0 TB_PREFIX = tb + +# keep meta/tor-browser in sync +ONLY_FOR_ARCHS ?= amd64 SUBST_VARS += BROWSER_NAME TB_VERSION Index: www/tor-browser/browser/Makefile =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/Makefile,v retrieving revision 1.88.2.4 diff -u -p -r1.88.2.4 Makefile --- www/tor-browser/browser/Makefile 24 Nov 2022 16:38:44 -0000 1.88.2.4 +++ www/tor-browser/browser/Makefile 8 Dec 2022 17:29:57 -0000 @@ -3,29 +3,26 @@ # Makefile when editing this one (ESR versions not always the same). COMMENT = modified version of Firefox ESR for browsing over Tor -ONLY_FOR_ARCHS = amd64 MOZILLA_VERSION = ${TB_VERSION} MOZILLA_PROJECT = ${BROWSER_NAME} MOZILLA_CODENAME = browser -TL_VERSION = 0.2.37 EXTRACT_SUFX = .tar.xz PATCHORIG = .pat.orig -PKGNAME = ${TB_PREFIX}-browser-${TB_VERSION} -DISTNAME = src-firefox-tor-browser-91.13.0esr-11.5-1-build8 +PKGNAME = ${TB_PREFIX}-browser-${TB_VERSION:S/a/alpha/} +DISTNAME = src-firefox-tor-browser-102.5.0esr-12.0-2-build1 FIX_EXTRACT_PERMISSIONS = Yes DISTFILES += ${DISTNAME}.tar.xz \ - src-tor-launcher-${TL_VERSION}.tar.xz \ - tor-browser-linux64-${TB_VERSION}_en-US.tar.xz + tor-browser-linux64-${TB_VERSION}_ALL.tar.xz -SO_VERSION = 7.0 +SO_VERSION = 8.0 MOZILLA_LIBS = xul clearkey lgpllibs mozavcodec mozavutil mozgtk MOZILLA_LIBS += freebl3 nss3 nssckbi MOZILLA_LIBS += nssutil3 smime3 softokn3 ssl3 -MOZILLA_LIBS += nspr4 mozsqlite3 plc4 plds4 +MOZILLA_LIBS += nspr4 mozsqlite3 plc4 plds4 ipcclientcerts # mozilla public license for the browser PERMIT_PACKAGE= Yes @@ -38,7 +35,6 @@ MODULES = www/mozilla lang/python MODPY_RUNDEP = No COMPILER = ports-clang -MODCLANG_ARCHS = amd64 i386 # tor-browser needs built-in nss, sqlite MOZILLA_USE_BUNDLED_NSPR = Yes @@ -46,14 +42,16 @@ MOZILLA_USE_BUNDLED_NSS = Yes # 63 requires node because why not #1483595 BUILD_DEPENDS += lang/node # 63 requires cbindgen #1478813 -BUILD_DEPENDS += devel/cbindgen>=0.19.0 -#1670807 -BUILD_DEPENDS += devel/m4 +BUILD_DEPENDS += devel/cbindgen>=0.23.0 +# wasi +BUILD_DEPENDS += lang/wasi-sdk/compiler-rt \ + lang/wasi-sdk/libcxxabi \ + lang/wasi-sdk/libcxx \ + lang/wasi-libc # uses pledge() -# Extra: Xcomposite.4 Xdamage.4 Xfixes.6 gdk-x11-2.0.2400 gtk-x11-2.0.2400 -WANTLIB += X11-xcb Xt gthread-2.0 harfbuzz intl pangoft2-1.0 -WANTLIB += xcb xcb-shm ${COMPILER_LIBCXX} +# Extra: Xcomposite.4 Xcursor.5 Xdamage.4 Xfixes.6 Xi.12 Xrender.6 +WANTLIB += Xrandr # Regression tests are too hard to adapt to run here NO_TEST = Yes @@ -64,7 +62,6 @@ CONFIGURE_STYLE = simple CONFIGURE_SCRIPT = ${MODPY_BIN} ${WRKSRC}/configure.py CONFIGURE_ARGS += --prefix=${PREFIX} MAKE_ENV += BUILD_VERBOSE_LOG="1" CARGOFLAGS="-j${MAKE_JOBS}" -CONFIGURE_ENV += M4=/usr/local/bin/gm4 # app-name etc. for tor-browser CONFIGURE_ARGS += --with-app-name=${BROWSER_NAME} \ @@ -77,26 +74,23 @@ MAKE_ENV += BUILD_OPT=1 \ NSS_ENABLE_ECC=1 \ XCFLAGS="-I${LOCALBASE}/include ${CFLAGS}" -RUN_DEPENDS += net/tor>=0.4.7.10 +RUN_DEPENDS += net/tor>=0.4.7.11 CONFIGURE_ARGS += --enable-release #1386371 CONFIGURE_ARGS += --enable-sandbox CONFIGURE_ARGS += --enable-forkserver +CONFIGURE_ARGS += --with-wasi-sysroot=${LOCALBASE}/share/wasi-sysroot CONFIGURE_ARGS += --enable-lto=thin CONFIGURE_ARGS += --with-libclang-path=${LOCALBASE}/lib -# remove post 96 -CONFIGURE_ARGS += --disable-necko-wifi -# XXX badly formed debug in libxul ? +# XXX badly formed debug DWZ = : #DEBUG_PACKAGES = ${BUILD_PACKAGES} DEBUG_CONFIGURE_ARGS += --enable-debug-symbols \ --disable-install-strip post-extract: - mv ${WRKDIR}/tor-browser_en-US ${WRKSRC} - mv ${WRKDIR}/tor-launcher-${TL_VERSION}/ \ - ${WRKSRC}/browser/extensions/tor-launcher + mv ${WRKDIR}/tor-browser ${WRKSRC}/tor-browser-linux64/ post-patch: # hack config/baseconfig.mk to not use MOZ_APP_VERSION in a few places @@ -105,12 +99,14 @@ post-patch: # drop in sh front end to configure.py so CONFIGURE_STYLE=simple works ${SUBST_PROGRAM} ${FILESDIR}/configure ${WRKSRC}/configure ${SUBST_PROGRAM} ${FILESDIR}/configure ${WRKSRC}/js/src/configure - ${SUBST_CMD} ${WRKSRC}/browser/extensions/tor-launcher/src/defaults/preferences/torlauncher-prefs.js + ${SUBST_CMD} ${WRKSRC}/browser/app/profile/000-tor-browser.js # Not using a patch for this; patch context would contain UTF-8 sed -i 's/#ifdef XP_LINUX/#if defined(XP_LINUX) || defined(XP_OPENBSD)/' \ ${WRKSRC}/browser/app/profile/000-tor-browser.js ln -s ${WRKSRC}/mozconfig-linux-x86_64 ${WRKSRC}/.mozconfig + ${SUBST_CMD} ${WRKSRC}/xpcom/build/BinaryPath.h + BROWSER_DIR = ${PREFIX}/lib/${BROWSER_NAME} TRUEBROWSER_DIR = ${TRUEPREFIX}/lib/${BROWSER_NAME} BROWSER_CFG = ${BROWSER_DIR}/${BROWSER_NAME}.cfg @@ -154,10 +150,10 @@ post-install: # install fonts.conf and fonts ${INSTALL_DATA_DIR} ${BROWSER_DIR}/browser/fontconfig ${SUBST_DATA} \ - ${WRKSRC}/tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf \ + ${WRKSRC}/tor-browser-linux64/Browser/TorBrowser/Data/fontconfig/fonts.conf \ ${BROWSER_DIR}/browser/fontconfig/fonts.conf ${INSTALL_DATA_DIR} ${BROWSER_DIR}/browser/fonts - cp ${WRKSRC}/tor-browser_en-US/Browser/fonts/* \ + cp ${WRKSRC}/tor-browser-linux64/Browser/fonts/* \ ${BROWSER_DIR}/browser/fonts # install wrapper script (remove symlink first) @@ -165,8 +161,10 @@ post-install: ${SUBST_PROGRAM} ${FILESDIR}/${BROWSER_NAME} \ ${PREFIX}/bin/${BROWSER_NAME} -.for f in unveil.content unveil.gpu unveil.main unveil.rdd unveil.socket pledge.content pledge.gpu pledge.main pledge.rdd pledge.socket - ${INSTALL_DATA} ${FILESDIR}/${f} ${BROWSER_DIR}/browser/defaults/preferences/ +.for f in unveil pledge +.for t in content gpu main rdd socket utility utility-audioDecoder + ${INSTALL_DATA} ${FILESDIR}/${f}.${t} ${BROWSER_DIR}/browser/defaults/preferences/ +.endfor .endfor .include <bsd.port.mk> Index: www/tor-browser/browser/distinfo =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/distinfo,v retrieving revision 1.55.2.3 diff -u -p -r1.55.2.3 distinfo --- www/tor-browser/browser/distinfo 24 Nov 2022 16:38:44 -0000 1.55.2.3 +++ www/tor-browser/browser/distinfo 8 Dec 2022 17:29:57 -0000 @@ -1,6 +1,4 @@ -SHA256 (mozilla/src-firefox-tor-browser-91.13.0esr-11.5-1-build8.tar.xz) = rR2Krm6C2/BsfPCv0oBd828wvh1o9E8LiFkFBrfflj8= -SHA256 (mozilla/src-tor-launcher-0.2.37.tar.xz) = 91AWkxTFbRS5HFXz2pon3l0hHAYusYX559AIr1i2MTw= -SHA256 (mozilla/tor-browser-linux64-11.5.8_en-US.tar.xz) = /KK9oTijk5dEziAwp5966NaM2V4k1mtBjTJq88Ct7N0= -SIZE (mozilla/src-firefox-tor-browser-91.13.0esr-11.5-1-build8.tar.xz) = 414011200 -SIZE (mozilla/src-tor-launcher-0.2.37.tar.xz) = 261128 -SIZE (mozilla/tor-browser-linux64-11.5.8_en-US.tar.xz) = 113877448 +SHA256 (mozilla/src-firefox-tor-browser-102.5.0esr-12.0-2-build1.tar.xz) = 1lAT1yT2ACsBRz5800oRco3PXjOQu3FlAYwfQuQugtQ= +SHA256 (mozilla/tor-browser-linux64-12.0_ALL.tar.xz) = hQzmAdgVusY+T1k3ZG0rSXFzviiyezCnUm67lGpFmHQ= +SIZE (mozilla/src-firefox-tor-browser-102.5.0esr-12.0-2-build1.tar.xz) = 512766100 +SIZE (mozilla/tor-browser-linux64-12.0_ALL.tar.xz) = 105202872 Index: www/tor-browser/browser/files/pledge.content =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/files/pledge.content,v retrieving revision 1.2 diff -u -p -r1.2 pledge.content --- www/tor-browser/browser/files/pledge.content 9 Mar 2022 20:48:32 -0000 1.2 +++ www/tor-browser/browser/files/pledge.content 8 Dec 2022 17:29:57 -0000 @@ -9,5 +9,6 @@ unix drm ps inet #dns.google does socket() +dns #allows sndio forwarding on a fqdn # only needed if using NIS of the profile is located on a NFS share getpw Index: www/tor-browser/browser/files/pledge.utility =================================================================== RCS file: www/tor-browser/browser/files/pledge.utility diff -N www/tor-browser/browser/files/pledge.utility --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/files/pledge.utility 8 Dec 2022 17:29:57 -0000 @@ -0,0 +1,4 @@ +stdio +recvfd +sendfd +unix Index: www/tor-browser/browser/files/pledge.utility-audioDecoder =================================================================== RCS file: www/tor-browser/browser/files/pledge.utility-audioDecoder diff -N www/tor-browser/browser/files/pledge.utility-audioDecoder --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/files/pledge.utility-audioDecoder 8 Dec 2022 17:29:57 -0000 @@ -0,0 +1,7 @@ +stdio +tmppath +rpath # gtk tries to access /usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache +recvfd +sendfd +prot_exec +unix # getsockopt Index: www/tor-browser/browser/files/unveil.content =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/files/unveil.content,v retrieving revision 1.6 diff -u -p -r1.6 unveil.content --- www/tor-browser/browser/files/unveil.content 9 Jun 2022 04:23:28 -0000 1.6 +++ www/tor-browser/browser/files/unveil.content 8 Dec 2022 17:29:57 -0000 @@ -1,4 +1,4 @@ -/dev/dri rw +/dev/dri/card0 rw /etc/fonts r /etc/machine-id r Index: www/tor-browser/browser/files/unveil.main =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/files/unveil.main,v retrieving revision 1.5 diff -u -p -r1.5 unveil.main --- www/tor-browser/browser/files/unveil.main 9 Mar 2022 20:48:32 -0000 1.5 +++ www/tor-browser/browser/files/unveil.main 8 Dec 2022 17:29:57 -0000 @@ -13,6 +13,7 @@ # normally "pledge dns" exempts this from unveil, but pledge might be disabled /etc/resolv.conf r +/usr/local/bin/tor rx /usr/local/lib r /usr/local/lib/tor-browser rx /usr/local/share r @@ -25,6 +26,7 @@ # printing /usr/bin/lpr rx +/var/run/cups/cups.sock rw /etc/mailcap r ~/.mailcap r @@ -54,6 +56,7 @@ $XDG_RUNTIME_DIR/dconf rwc $XDG_CACHE_HOME/thumbnails rwc $XDG_CONFIG_HOME/dconf rw +$XDG_CONFIG_HOME/fcitx r $XDG_CONFIG_HOME/fontconfig r $XDG_CONFIG_HOME/gtk-3.0 r $XDG_CONFIG_HOME/mimeapps.list r Index: www/tor-browser/browser/files/unveil.utility =================================================================== RCS file: www/tor-browser/browser/files/unveil.utility diff -N www/tor-browser/browser/files/unveil.utility --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/files/unveil.utility 8 Dec 2022 17:29:57 -0000 @@ -0,0 +1 @@ +# nothing Index: www/tor-browser/browser/files/unveil.utility-audioDecoder =================================================================== RCS file: www/tor-browser/browser/files/unveil.utility-audioDecoder diff -N www/tor-browser/browser/files/unveil.utility-audioDecoder --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/files/unveil.utility-audioDecoder 8 Dec 2022 17:29:57 -0000 @@ -0,0 +1,3 @@ +/usr/lib r +/usr/local/lib r +/tmp rwc Index: www/tor-browser/browser/patches/patch-browser_app_profile_000-tor-browser_js =================================================================== RCS file: www/tor-browser/browser/patches/patch-browser_app_profile_000-tor-browser_js diff -N www/tor-browser/browser/patches/patch-browser_app_profile_000-tor-browser_js --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/patches/patch-browser_app_profile_000-tor-browser_js 8 Dec 2022 17:29:57 -0000 @@ -0,0 +1,26 @@ +Set all path-related prefs to minimize patching of tl-util.jsm/tl-process.js + +Index: browser/app/profile/000-tor-browser.js +--- browser/app/profile/000-tor-browser.js.orig ++++ browser/app/profile/000-tor-browser.js +@@ -123,14 +123,17 @@ pref("extensions.torlauncher.socks_port_flags", "Exten + // The tor_path is relative to the application directory. On Linux and + // Windows this is the Browser/ directory that contains the firefox + // executables, and on Mac OS it is the TorBrowser.app directory. +-pref("extensions.torlauncher.tor_path", ""); ++pref("extensions.torlauncher.tor_path", "${LOCALBASE}/bin/tor"); ++pref("extensions.torlauncher.torrc-defaults_path", "${LOCALBASE}/share/tor-browser/torrc-defaults"); ++pref("extensions.torlauncher.geoip_path", "${LOCALBASE}/share/tor/geoip"); ++pref("extensions.torlauncher.geoip6_path", "${LOCALBASE}/share/tor/geoip6"); + + // The torrc_path and tordatadir_path are relative to the data directory, + // which is TorBrowser-Data/ if it exists as a sibling of the application + // directory. If TorBrowser-Data/ does not exist, these paths are relative + // to the TorBrowser/ directory within the application directory. +-pref("extensions.torlauncher.torrc_path", ""); +-pref("extensions.torlauncher.tordatadir_path", ""); ++pref("extensions.torlauncher.torrc_path", "torrc"); ++pref("extensions.torlauncher.tordatadir_path", "tor_data"); + + // BridgeDB-related preferences (used for Moat). + pref("extensions.torlauncher.bridgedb_front", "cdn.sstatic.net"); Index: www/tor-browser/browser/patches/patch-browser_config_mozconfigs_base-browser =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/patches/patch-browser_config_mozconfigs_base-browser,v retrieving revision 1.1 diff -u -p -r1.1 patch-browser_config_mozconfigs_base-browser --- www/tor-browser/browser/patches/patch-browser_config_mozconfigs_base-browser 29 Jul 2022 20:20:10 -0000 1.1 +++ www/tor-browser/browser/patches/patch-browser_config_mozconfigs_base-browser 8 Dec 2022 17:29:57 -0000 @@ -3,6 +3,10 @@ means we can not pass --disable-eme to c Don't use --enable-rust-simd, fails to build. +Remove $WASI_SYSROOT test, it breaks the build for us. Not sure if the test +is relevant for us. Was added upstream in +https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41406 + Index: browser/config/mozconfigs/base-browser --- browser/config/mozconfigs/base-browser.orig +++ browser/config/mozconfigs/base-browser @@ -28,3 +32,11 @@ Index: browser/config/mozconfigs/base-br ac_add_options --enable-proxy-bypass-protection # See bugs #30575 and #32418: system policies are harmful either because they # could allow proxy bypass, and override a number of other preferences we set +@@ -37,7 +37,3 @@ ac_add_options --enable-base-browser + + # Disable telemetry + ac_add_options MOZ_TELEMETRY_REPORTING= +- +-if test -z "$WASI_SYSROOT"; then +- ac_add_options --without-wasm-sandboxed-libraries +-fi Index: www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_components_tl-process_js =================================================================== RCS file: www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_components_tl-process_js diff -N www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_components_tl-process_js --- www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_components_tl-process_js 29 Jul 2022 20:20:10 -0000 1.8 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,36 +0,0 @@ -Let geoip/geoip6 file paths be set by prefs like everything else and let -the new getTorFile() deal with it. - -Index: browser/extensions/tor-launcher/src/components/tl-process.js ---- browser/extensions/tor-launcher/src/components/tl-process.js.orig -+++ browser/extensions/tor-launcher/src/components/tl-process.js -@@ -386,6 +386,8 @@ TorProcessService.prototype = - var torrcFile = TorLauncherUtil.getTorFile("torrc", true); - var torrcDefaultsFile = - TorLauncherUtil.getTorFile("torrc-defaults", false); -+ var geoipFile = TorLauncherUtil.getTorFile("geoip", false); -+ var geoip6File = TorLauncherUtil.getTorFile("geoip6", false); - var hashedPassword = this.mProtocolSvc.TorGetPassword(true); - var controlIPCFile = this.mProtocolSvc.TorGetControlIPCFile(); - var controlPort = this.mProtocolSvc.TorGetControlPort(); -@@ -413,19 +415,14 @@ TorProcessService.prototype = - return; - } - -- // The geoip and geoip6 files are in the same directory as torrc-defaults. -- var geoipFile = torrcDefaultsFile.clone(); -- geoipFile.leafName = "geoip"; - -- var geoip6File = torrcDefaultsFile.clone(); -- geoip6File.leafName = "geoip6"; -- - var args = []; - if (torrcDefaultsFile) - { - args.push("--defaults-torrc"); - args.push(torrcDefaultsFile.path); - } -+ args.push("--ignore-missing-torrc"); - args.push("-f"); - args.push(torrcFile.path); - args.push("DataDirectory"); Index: www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_defaults_preferences_torlauncher-prefs_js =================================================================== RCS file: www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_defaults_preferences_torlauncher-prefs_js diff -N www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_defaults_preferences_torlauncher-prefs_js --- www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_defaults_preferences_torlauncher-prefs_js 9 Mar 2022 20:48:33 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,26 +0,0 @@ -Set all path-related prefs to minimize patching of tl-util.jsm/tl-process.js - -Index: browser/extensions/tor-launcher/src/defaults/preferences/torlauncher-prefs.js ---- browser/extensions/tor-launcher/src/defaults/preferences/torlauncher-prefs.js.orig -+++ browser/extensions/tor-launcher/src/defaults/preferences/torlauncher-prefs.js -@@ -44,14 +44,17 @@ pref("extensions.torlauncher.socks_port_flags", "Exten - // The tor_path is relative to the application directory. On Linux and - // Windows this is the Browser/ directory that contains the firefox - // executables, and on Mac OS it is the TorBrowser.app directory. --pref("extensions.torlauncher.tor_path", ""); -+pref("extensions.torlauncher.tor_path", "${LOCALBASE}/bin/tor"); -+pref("extensions.torlauncher.torrc-defaults_path", "${LOCALBASE}/share/tor-browser/torrc-defaults"); -+pref("extensions.torlauncher.geoip_path", "${LOCALBASE}/share/tor/geoip"); -+pref("extensions.torlauncher.geoip6_path", "${LOCALBASE}/share/tor/geoip6"); - - // The torrc_path and tordatadir_path are relative to the data directory, - // which is TorBrowser-Data/ if it exists as a sibling of the application - // directory. If TorBrowser-Data/ does not exist, these paths are relative - // to the TorBrowser/ directory within the application directory. --pref("extensions.torlauncher.torrc_path", ""); --pref("extensions.torlauncher.tordatadir_path", ""); -+pref("extensions.torlauncher.torrc_path", "torrc"); -+pref("extensions.torlauncher.tordatadir_path", "tor_data"); - - // BridgeDB-related preferences (used for Moat). - pref("extensions.torlauncher.bridgedb_front", "cdn.sstatic.net"); Index: www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_modules_tl-util_jsm =================================================================== RCS file: www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_modules_tl-util_jsm diff -N www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_modules_tl-util_jsm --- www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_modules_tl-util_jsm 9 Mar 2022 20:48:33 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -Force DataOutsideOfAppDir on OpenBSD since it will always be true -(turned on in ../browser/patches/patch-patch-xpcom_io_TorFileUtils_cpp) - -Index: browser/extensions/tor-launcher/src/modules/tl-util.jsm ---- browser/extensions/tor-launcher/src/modules/tl-util.jsm.orig -+++ browser/extensions/tor-launcher/src/modules/tl-util.jsm -@@ -836,7 +836,7 @@ let TLUtilInternal = // Private - mStringBundle : null, - mOS : "", - // mIsUserDataOutsideOfAppDir is true when TorBrowser-Data is used. -- mIsUserDataOutsideOfAppDir: undefined, // Boolean (cached; access via -+ mIsUserDataOutsideOfAppDir: true, // Boolean (cached; access via - // this._isUserDataOutsideOfAppDir) - mAppDir: null, // nsIFile (cached; access via this._appDir) - mDataDir: null, // nsIFile (cached; access via this._dataDir) Index: www/tor-browser/browser/patches/patch-config_makefiles_rust_mk =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/patches/patch-config_makefiles_rust_mk,v retrieving revision 1.6 diff -u -p -r1.6 patch-config_makefiles_rust_mk --- www/tor-browser/browser/patches/patch-config_makefiles_rust_mk 9 Mar 2022 20:48:33 -0000 1.6 +++ www/tor-browser/browser/patches/patch-config_makefiles_rust_mk 8 Dec 2022 17:29:57 -0000 @@ -1,15 +1,17 @@ use lto=thin to reduce memory pressure when building gkrust https://bugzilla.mozilla.org/show_bug.cgi?id=1644409 +https://bugzilla.mozilla.org/show_bug.cgi?id=1640982 Index: config/makefiles/rust.mk --- config/makefiles/rust.mk.orig +++ config/makefiles/rust.mk -@@ -70,7 +70,7 @@ ifndef MOZ_DEBUG_RUST - # gkrust_gtest. And not when doing cross-language LTO. - ifndef MOZ_LTO_RUST_CROSS +@@ -90,7 +90,8 @@ ifndef rustflags_sancov + # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045. + ifndef MOZ_CODE_COVERAGE ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE))) -cargo_rustc_flags += -Clto +cargo_rustc_flags += -Clto=thin ++export CARGO_PROFILE_RELEASE_LTO=thin endif # We need -Cembed-bitcode=yes for all crates when using -Clto. RUSTFLAGS += -Cembed-bitcode=yes Index: www/tor-browser/browser/patches/patch-gfx_webrender_bindings_webrender_ffi_h =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/patches/patch-gfx_webrender_bindings_webrender_ffi_h,v retrieving revision 1.1 diff -u -p -r1.1 patch-gfx_webrender_bindings_webrender_ffi_h --- www/tor-browser/browser/patches/patch-gfx_webrender_bindings_webrender_ffi_h 12 Jun 2022 20:21:41 -0000 1.1 +++ www/tor-browser/browser/patches/patch-gfx_webrender_bindings_webrender_ffi_h 8 Dec 2022 17:29:57 -0000 @@ -7,7 +7,7 @@ https://github.com/eqrion/cbindgen/issue Index: gfx/webrender_bindings/webrender_ffi.h --- gfx/webrender_bindings/webrender_ffi.h.orig +++ gfx/webrender_bindings/webrender_ffi.h -@@ -77,8 +77,6 @@ struct WrPipelineInfo; +@@ -73,8 +73,6 @@ struct WrPipelineInfo; struct WrPipelineIdAndEpoch; using WrPipelineIdEpochs = nsTArray<WrPipelineIdAndEpoch>; Index: www/tor-browser/browser/patches/patch-js_src_jit_ProcessExecutableMemory_h =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/patches/patch-js_src_jit_ProcessExecutableMemory_h,v retrieving revision 1.5 diff -u -p -r1.5 patch-js_src_jit_ProcessExecutableMemory_h --- www/tor-browser/browser/patches/patch-js_src_jit_ProcessExecutableMemory_h 9 Mar 2022 20:48:33 -0000 1.5 +++ www/tor-browser/browser/patches/patch-js_src_jit_ProcessExecutableMemory_h 8 Dec 2022 17:29:57 -0000 @@ -1,11 +1,16 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=1347139 + Index: js/src/jit/ProcessExecutableMemory.h --- js/src/jit/ProcessExecutableMemory.h.orig +++ js/src/jit/ProcessExecutableMemory.h -@@ -14,7 +14,7 @@ namespace jit { +@@ -13,8 +13,9 @@ namespace js { + namespace jit { // Limit on the number of bytes of executable memory to prevent JIT spraying - // attacks. +-// attacks. -#if JS_BITS_PER_WORD == 32 ++// attacks. Default datasize is 768Mb on OpenBSD, keep MaxCodeBytesPerProcess ++// low there otherwise the js engine hits ulimit quickly. +#if JS_BITS_PER_WORD == 32 || defined(__OpenBSD__) static const size_t MaxCodeBytesPerProcess = 140 * 1024 * 1024; #else Index: www/tor-browser/browser/patches/patch-toolkit_components_downloads_DownloadIntegration_jsm =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/patches/patch-toolkit_components_downloads_DownloadIntegration_jsm,v retrieving revision 1.2 diff -u -p -r1.2 patch-toolkit_components_downloads_DownloadIntegration_jsm --- www/tor-browser/browser/patches/patch-toolkit_components_downloads_DownloadIntegration_jsm 9 Mar 2022 20:48:33 -0000 1.2 +++ www/tor-browser/browser/patches/patch-toolkit_components_downloads_DownloadIntegration_jsm 8 Dec 2022 17:29:57 -0000 @@ -4,15 +4,15 @@ revert parts of https://hg.mozilla.org/m Index: toolkit/components/downloads/DownloadIntegration.jsm --- toolkit/components/downloads/DownloadIntegration.jsm.orig +++ toolkit/components/downloads/DownloadIntegration.jsm -@@ -68,6 +68,7 @@ ChromeUtils.defineModuleGetter( +@@ -58,6 +58,7 @@ ChromeUtils.defineModuleGetter( "NetUtil", "resource://gre/modules/NetUtil.jsm" ); +ChromeUtils.defineModuleGetter(this, "OS", "resource://gre/modules/osfile.jsm"); ChromeUtils.defineModuleGetter( this, - "CloudStorage", -@@ -365,9 +366,7 @@ var DownloadIntegration = { + "Services", +@@ -367,9 +368,7 @@ var DownloadIntegration = { Ci.nsIFile ); directoryPath = directory.path; @@ -21,9 +21,9 @@ Index: toolkit/components/downloads/Down - }); + await OS.File.makeDir(directoryPath, { ignoreExisting: true }); } catch (ex) { + Cu.reportError(ex); // Either the preference isn't set or the directory cannot be created. - directoryPath = await this.getSystemDownloadsDirectory(); -@@ -943,8 +942,8 @@ var DownloadIntegration = { +@@ -958,8 +957,8 @@ var DownloadIntegration = { ); // Create the Downloads folder and ignore if it already exists. Index: www/tor-browser/browser/patches/patch-toolkit_components_processtools_ProcInfo_linux_cpp =================================================================== RCS file: www/tor-browser/browser/patches/patch-toolkit_components_processtools_ProcInfo_linux_cpp diff -N www/tor-browser/browser/patches/patch-toolkit_components_processtools_ProcInfo_linux_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/patches/patch-toolkit_components_processtools_ProcInfo_linux_cpp 8 Dec 2022 17:29:57 -0000 @@ -0,0 +1,122 @@ +about:processes for OpenBSD + +https://bugzilla.mozilla.org/show_bug.cgi?id=1772090 + +Index: toolkit/components/processtools/ProcInfo_linux.cpp +--- toolkit/components/processtools/ProcInfo_linux.cpp.orig ++++ toolkit/components/processtools/ProcInfo_linux.cpp +@@ -13,6 +13,11 @@ + #include "nsMemoryReporterManager.h" + #include "nsWhitespaceTokenizer.h" + ++#ifdef __OpenBSD__ ++#include <sys/types.h> ++#include <sys/sysctl.h> ++#include <cerrno> ++#endif + #include <cstdio> + #include <cstring> + #include <unistd.h> +@@ -24,6 +29,95 @@ namespace mozilla { + + int GetCycleTimeFrequencyMHz() { return 0; } + ++#ifdef __OpenBSD__ ++nsresult GetCpuTimeSinceProcessStartInMs(uint64_t* aResult) { ++ timespec t; ++ if (clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &t) == 0) { ++ uint64_t cpuTime = ++ uint64_t(t.tv_sec) * 1'000'000'000u + uint64_t(t.tv_nsec); ++ *aResult = cpuTime / PR_NSEC_PER_MSEC; ++ return NS_OK; ++ } ++ ++ return NS_ERROR_FAILURE; ++} ++ ++nsresult GetGpuTimeSinceProcessStartInMs(uint64_t* aResult) { ++ return NS_ERROR_NOT_IMPLEMENTED; ++} ++ ++ProcInfoPromise::ResolveOrRejectValue GetProcInfoSync( ++ nsTArray<ProcInfoRequest>&& aRequests) { ++ ProcInfoPromise::ResolveOrRejectValue result; ++ ++ HashMap<base::ProcessId, ProcInfo> gathered; ++ if (!gathered.reserve(aRequests.Length())) { ++ result.SetReject(NS_ERROR_OUT_OF_MEMORY); ++ return result; ++ } ++ for (const auto& request : aRequests) { ++ size_t size; ++ int mib[6]; ++ mib[0] = CTL_KERN; ++ mib[1] = KERN_PROC; ++ mib[2] = KERN_PROC_PID | KERN_PROC_SHOW_THREADS; ++ mib[3] = request.pid; ++ mib[4] = sizeof(kinfo_proc); ++ mib[5] = 0; ++ if (sysctl(mib, 6, nullptr, &size, nullptr, 0) == -1) { ++ // Can't get info for this process. Skip it. ++ continue; ++ } ++ ++ mib[5] = size / sizeof(kinfo_proc); ++ auto procs = MakeUniqueFallible<kinfo_proc[]>(mib[5]); ++ if (!procs) { ++ result.SetReject(NS_ERROR_OUT_OF_MEMORY); ++ return result; ++ } ++ if (sysctl(mib, 6, procs.get(), &size, nullptr, 0) == -1 && ++ errno != ENOMEM) { ++ continue; ++ } ++ ++ ProcInfo info; ++ info.pid = request.pid; ++ info.childId = request.childId; ++ info.type = request.processType; ++ info.origin = request.origin; ++ info.windows = std::move(request.windowInfo); ++ ++ bool found = false; ++ for (size_t i = 0; i < size / sizeof(kinfo_proc); i++) { ++ const auto& p = procs[i]; ++ if (p.p_tid == -1) { ++ // This is the process. ++ found = true; ++ info.cpuTime = p.p_rtime_sec * 1'000'000'000u + ++ p.p_uutime_usec * 1'000u; ++ info.memory = (p.p_vm_tsize + p.p_vm_dsize + p.p_vm_ssize) * ++ getpagesize(); ++ } else { ++ // This is one of its threads. ++ ThreadInfo threadInfo; ++ threadInfo.tid = p.p_tid; ++ threadInfo.cpuTime = p.p_rtime_sec * 1'000'000'000u + ++ p.p_uutime_usec * 1'000u; ++ info.threads.AppendElement(threadInfo); ++ } ++ } ++ ++ if (found && !gathered.put(request.pid, std::move(info))) { ++ result.SetReject(NS_ERROR_OUT_OF_MEMORY); ++ return result; ++ } ++ } ++ ++ // ... and we're done! ++ result.SetResolve(std::move(gathered)); ++ return result; ++} ++#else + // StatReader can parse and tokenize a POSIX stat file. + // see http://man7.org/linux/man-pages/man5/proc.5.html + // +@@ -340,5 +434,6 @@ ProcInfoPromise::ResolveOrRejectValue GetProcInfoSync( + result.SetResolve(std::move(gathered)); + return result; + } ++#endif + + } // namespace mozilla Index: www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorLauncherUtil_jsm =================================================================== RCS file: www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorLauncherUtil_jsm diff -N www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorLauncherUtil_jsm --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorLauncherUtil_jsm 8 Dec 2022 17:29:57 -0000 @@ -0,0 +1,15 @@ +Force DataOutsideOfAppDir on OpenBSD since it will always be true +(turned on in patch-xpcom_io_TorFileUtils_cpp). + +Index: toolkit/components/tor-launcher/TorLauncherUtil.jsm +--- toolkit/components/tor-launcher/TorLauncherUtil.jsm.orig ++++ toolkit/components/tor-launcher/TorLauncherUtil.jsm +@@ -31,7 +31,7 @@ class TorFile { + checkIPCPathLen = true; + + static _isFirstIPCPathRequest = true; +- static _isUserDataOutsideOfAppDir = undefined; ++ static _isUserDataOutsideOfAppDir = true; + static _dataDir = null; + static _appDir = null; + Index: www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorProcess_jsm =================================================================== RCS file: www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorProcess_jsm diff -N www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorProcess_jsm --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorProcess_jsm 8 Dec 2022 17:29:57 -0000 @@ -0,0 +1,34 @@ +Let geoip/geoip6 file paths be set by prefs like everything else and let +the new getTorFile() deal with it. + +Index: toolkit/components/tor-launcher/TorProcess.jsm +--- toolkit/components/tor-launcher/TorProcess.jsm.orig ++++ toolkit/components/tor-launcher/TorProcess.jsm +@@ -253,6 +253,8 @@ class TorProcess { + const torrcFile = TorLauncherUtil.getTorFile("torrc", true); + this._dataDir = TorLauncherUtil.getTorFile("tordatadir", true); + const onionAuthDir = TorLauncherUtil.getTorFile("toronionauthdir", true); ++ const geoipFile = TorLauncherUtil.getTorFile("geoip", false); ++ const geoip6File = TorLauncherUtil.getTorFile("geoip6", false); + const hashedPassword = TorProtocolService.torGetPassword(true); + let detailsKey; + if (!this._exeFile) { +@@ -281,17 +283,13 @@ class TorProcess { + "torrc-defaults", + false + ); +- // The geoip and geoip6 files are in the same directory as torrc-defaults. +- const geoipFile = torrcDefaultsFile.clone(); +- geoipFile.leafName = "geoip"; +- const geoip6File = torrcDefaultsFile.clone(); +- geoip6File.leafName = "geoip6"; + + this._args = []; + if (torrcDefaultsFile) { + this._args.push("--defaults-torrc"); + this._args.push(torrcDefaultsFile.path); + } ++ this._args.push("--ignore-missing-torrc"); + this._args.push("-f"); + this._args.push(torrcFile.path); + this._args.push("DataDirectory"); Index: www/tor-browser/browser/patches/patch-toolkit_moz_configure =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/patches/patch-toolkit_moz_configure,v retrieving revision 1.5 diff -u -p -r1.5 patch-toolkit_moz_configure --- www/tor-browser/browser/patches/patch-toolkit_moz_configure 9 Mar 2022 20:48:33 -0000 1.5 +++ www/tor-browser/browser/patches/patch-toolkit_moz_configure 8 Dec 2022 17:29:57 -0000 @@ -3,7 +3,7 @@ Required to make font fingerprinting def Index: toolkit/moz.configure --- toolkit/moz.configure.orig +++ toolkit/moz.configure -@@ -1581,7 +1581,7 @@ set_config( +@@ -1770,7 +1770,7 @@ set_config( @depends(target) def bundled_fonts_default(target): Index: www/tor-browser/browser/patches/patch-toolkit_system_gnome_nsGIOService_cpp =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/patches/patch-toolkit_system_gnome_nsGIOService_cpp,v retrieving revision 1.4 diff -u -p -r1.4 patch-toolkit_system_gnome_nsGIOService_cpp --- www/tor-browser/browser/patches/patch-toolkit_system_gnome_nsGIOService_cpp 9 Mar 2022 20:48:33 -0000 1.4 +++ www/tor-browser/browser/patches/patch-toolkit_system_gnome_nsGIOService_cpp 8 Dec 2022 17:29:57 -0000 @@ -1,3 +1,5 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=1714919 + Try to fix opening downloaded files with registered external mimetype handlers after gio-launch-desktop removal in glib 2.64. @@ -8,31 +10,36 @@ unveiled. Index: toolkit/system/gnome/nsGIOService.cpp --- toolkit/system/gnome/nsGIOService.cpp.orig +++ toolkit/system/gnome/nsGIOService.cpp -@@ -240,10 +240,21 @@ nsGIOMimeApp::LaunchWithURI(nsIURI* aUri, +@@ -234,13 +234,24 @@ nsGIOMimeApp::LaunchWithURI(nsIURI* aUri, uris.data = const_cast<char*>(spec.get()); - GError* error = nullptr; -- gboolean result = g_app_info_launch_uris(mApp, &uris, nullptr, &error); + GUniquePtr<GError> error; +- gboolean result = g_app_info_launch_uris( +- mApp, &uris, GetLaunchContext().get(), getter_Transfers(error)); +- if (!result) { +- g_warning("Cannot launch application: %s", error->message); + gchar *path = g_filename_from_uri(spec.get(), NULL, NULL); + const gchar *bin = g_app_info_get_executable(mApp); + if (!bin) { + g_warning("no executable found for %s, maybe not unveiled ?", g_app_info_get_name(mApp)); -+ return NS_ERROR_FAILURE; -+ } + return NS_ERROR_FAILURE; + } + g_message("LaunchWithURI: spawning %s %s for %s", bin, path, spec.get()); + const gchar * const argv[] = { bin, path, NULL }; + GSpawnFlags flags = static_cast<GSpawnFlags>(G_SPAWN_SEARCH_PATH | + G_SPAWN_DO_NOT_REAP_CHILD); -+ gboolean result = g_spawn_async( NULL, (char**) argv, NULL, flags, NULL, NULL, NULL, &error); ++ gboolean result = g_spawn_async( NULL, (char**) argv, NULL, flags, NULL, NULL, NULL, getter_Transfers(error)); + - if (!result) { -- g_warning("Cannot launch application: %s", error->message); ++ if (!result) { + g_warning("Cannot launch application %s with arg %s: %s", bin, path, error->message); - g_error_free(error); - return NS_ERROR_FAILURE; - } -@@ -497,20 +508,15 @@ nsGIOService::GetAppForMimeType(const nsACString& aMim ++ return NS_ERROR_FAILURE; ++ } ++ + return NS_OK; + } + +@@ -491,23 +502,18 @@ nsGIOService::GetAppForMimeType(const nsACString& aMim return NS_ERROR_NOT_AVAILABLE; } @@ -42,29 +49,33 @@ Index: toolkit/system/gnome/nsGIOService - // registered as defaults for this type. Fake it up by just executing - // xdg-open via gio-launch-desktop (which we do have access to) and letting - // it figure out which program to execute for this MIME type -- GAppInfo* app_info = g_app_info_create_from_commandline( +- RefPtr<GAppInfo> app_info = dont_AddRef(g_app_info_create_from_commandline( - "/usr/local/bin/xdg-open", -- nsPrintfCString("System default for %s", content_type).get(), -- G_APP_INFO_CREATE_NONE, NULL); +- nsPrintfCString("System default for %s", content_type.get()).get(), +- G_APP_INFO_CREATE_NONE, NULL)); -#else - GAppInfo* app_info = g_app_info_get_default_for_type(content_type, false); + RefPtr<GAppInfo> app_info = + dont_AddRef(g_app_info_get_default_for_type(content_type.get(), false)); -#endif - if (app_info) { -+ char *t; -+ t = g_find_program_in_path(g_app_info_get_executable(app_info)); -+ if (t != NULL) { -+ g_debug("%s is registered as handler for %s, binary available as %s", g_app_info_get_executable(app_info), content_type, t); -+ } else { -+ g_warning("%s is registered as handler for %s but not available in PATH (missing unveil ?)", g_app_info_get_executable(app_info), content_type); -+ } - nsGIOMimeApp* mozApp = new nsGIOMimeApp(app_info); - NS_ADDREF(*aApp = mozApp); - } else { -@@ -546,7 +552,24 @@ nsGIOService::ShowURI(nsIURI* aURI) { - nsresult rv = aURI->GetSpec(spec); - NS_ENSURE_SUCCESS(rv, rv); - GError* error = nullptr; -- if (!g_app_info_launch_default_for_uri(spec.get(), nullptr, &error)) { + if (!app_info) { + return NS_ERROR_FAILURE; + } ++ char *t; ++ t = g_find_program_in_path(g_app_info_get_executable(app_info)); ++ if (t != NULL) { ++ g_debug("%s is registered as handler for %s, binary available as %s", g_app_info_get_executable(app_info), content_type.get(), t); ++ } else { ++ g_warning("%s is registered as handler for %s but not available in PATH (missing unveil ?)", g_app_info_get_executable(app_info), content_type.get()); ++ } + RefPtr<nsGIOMimeApp> mozApp = new nsGIOMimeApp(app_info.forget()); + mozApp.forget(aApp); + return NS_OK; +@@ -535,8 +541,24 @@ nsresult nsGIOService::ShowURI(nsIURI* aURI) { + nsAutoCString spec; + MOZ_TRY(aURI->GetSpec(spec)); + GUniquePtr<GError> error; +- if (!g_app_info_launch_default_for_uri(spec.get(), GetLaunchContext().get(), +- getter_Transfers(error))) { + gboolean result_uncertain; + gchar *path = g_filename_from_uri(spec.get(), NULL, NULL); + gchar *content_type = g_content_type_guess(path, NULL, 0, &result_uncertain); @@ -79,20 +90,21 @@ Index: toolkit/system/gnome/nsGIOService + const gchar * const argv[] = { bin, path, NULL }; + GSpawnFlags flags = static_cast<GSpawnFlags>(G_SPAWN_SEARCH_PATH | + G_SPAWN_DO_NOT_REAP_CHILD); -+ g_spawn_async( NULL, (char**) argv, NULL, flags, NULL, NULL, NULL, &error); ++ g_spawn_async( NULL, (char**) argv, NULL, flags, NULL, NULL, NULL, getter_Transfers(error)); + } + g_free(content_type); + if (error) { g_warning("Could not launch default application for URI: %s", error->message); - g_error_free(error); -@@ -562,7 +585,22 @@ nsGIOService::ShowURIForInput(const nsACString& aUri) - nsresult rv = NS_ERROR_FAILURE; - GError* error = nullptr; - -- g_app_info_launch_default_for_uri(spec, nullptr, &error); + return NS_ERROR_FAILURE; +@@ -549,8 +571,23 @@ static nsresult LaunchPath(const nsACString& aPath) { + g_file_new_for_commandline_arg(PromiseFlatCString(aPath).get())); + GUniquePtr<char> spec(g_file_get_uri(file)); + GUniquePtr<GError> error; +- g_app_info_launch_default_for_uri(spec.get(), GetLaunchContext().get(), +- getter_Transfers(error)); + gboolean result_uncertain; -+ gchar *path = g_filename_from_uri(spec, NULL, NULL); ++ gchar *path = g_filename_from_uri(spec.get(), NULL, NULL); + gchar *content_type = g_content_type_guess(path, NULL, 0, &result_uncertain); + if (content_type != NULL && !result_uncertain) { + GAppInfo* app_info = g_app_info_get_default_for_type(content_type, false); @@ -101,20 +113,13 @@ Index: toolkit/system/gnome/nsGIOService + g_warning("no executable found for %s, maybe not unveiled ?", g_app_info_get_name(app_info)); + return NS_ERROR_FAILURE; + } -+ g_message("ShowURIForInput: spawning %s %s for %s (content type %s)", bin, path, spec, content_type); ++ g_message("ShowURIForInput: spawning %s %s for %s (content type %s)", bin, path, spec.get(), content_type); + const gchar * const argv[] = { bin, path, NULL }; + GSpawnFlags flags = static_cast<GSpawnFlags>(G_SPAWN_SEARCH_PATH | + G_SPAWN_DO_NOT_REAP_CHILD); -+ g_spawn_async( NULL, (char**) argv, NULL, flags, NULL, NULL, NULL, &error); ++ g_spawn_async( NULL, (char**) argv, NULL, flags, NULL, NULL, NULL, getter_Transfers(error)); + } ++ g_free(content_type); if (error) { g_warning("Cannot launch default application: %s", error->message); - g_error_free(error); -@@ -571,6 +609,7 @@ nsGIOService::ShowURIForInput(const nsACString& aUri) - } - g_object_unref(file); - g_free(spec); -+ g_free(content_type); - - return rv; - } + return NS_ERROR_FAILURE; Index: www/tor-browser/browser/patches/patch-toolkit_xre_glxtest_cpp =================================================================== RCS file: www/tor-browser/browser/patches/patch-toolkit_xre_glxtest_cpp diff -N www/tor-browser/browser/patches/patch-toolkit_xre_glxtest_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/patches/patch-toolkit_xre_glxtest_cpp 8 Dec 2022 17:29:57 -0000 @@ -0,0 +1,15 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=1776713 + +Index: toolkit/xre/glxtest.cpp +--- toolkit/xre/glxtest.cpp.orig ++++ toolkit/xre/glxtest.cpp +@@ -258,6 +258,9 @@ static void close_logging() { + #define PCI_BASE_CLASS_DISPLAY 0x03 + + static int get_pci_status() { ++#ifdef __OpenBSD__ ++ return 1; ++#endif + void* libpci = dlopen("libpci.so.3", RTLD_LAZY); + if (!libpci) { + libpci = dlopen("libpci.so", RTLD_LAZY); Index: www/tor-browser/browser/patches/patch-tor-browser-linux64_Browser_TorBrowser_Data_fontconfig_fonts_conf =================================================================== RCS file: www/tor-browser/browser/patches/patch-tor-browser-linux64_Browser_TorBrowser_Data_fontconfig_fonts_conf diff -N www/tor-browser/browser/patches/patch-tor-browser-linux64_Browser_TorBrowser_Data_fontconfig_fonts_conf --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/patches/patch-tor-browser-linux64_Browser_TorBrowser_Data_fontconfig_fonts_conf 8 Dec 2022 17:29:57 -0000 @@ -0,0 +1,14 @@ +Set path to bundled fonts. + +Index: tor-browser-linux64/Browser/TorBrowser/Data/fontconfig/fonts.conf +--- tor-browser-linux64/Browser/TorBrowser/Data/fontconfig/fonts.conf.orig ++++ tor-browser-linux64/Browser/TorBrowser/Data/fontconfig/fonts.conf +@@ -39,7 +39,7 @@ PERFORMANCE OF THIS SOFTWARE. + + <!-- Font directory list --> + +- <dir>fonts</dir> ++ <dir>${TRUEBROWSER_DIR}/browser/fonts</dir> + + <!-- + Accept deprecated 'mono' alias, replacing it with 'monospace' Index: www/tor-browser/browser/patches/patch-tor-browser_en-US_Browser_TorBrowser_Data_fontconfig_fonts_conf =================================================================== RCS file: www/tor-browser/browser/patches/patch-tor-browser_en-US_Browser_TorBrowser_Data_fontconfig_fonts_conf diff -N www/tor-browser/browser/patches/patch-tor-browser_en-US_Browser_TorBrowser_Data_fontconfig_fonts_conf --- www/tor-browser/browser/patches/patch-tor-browser_en-US_Browser_TorBrowser_Data_fontconfig_fonts_conf 9 Mar 2022 20:48:33 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -Set path to bundled fonts. - -Index: tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf ---- tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf.orig -+++ tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf -@@ -34,7 +34,7 @@ PERFORMANCE OF THIS SOFTWARE. - - <!-- Font directory list --> - -- <dir>fonts</dir> -+ <dir>${TRUEBROWSER_DIR}/browser/fonts</dir> - - <!-- - Accept deprecated 'mono' alias, replacing it with 'monospace' Index: www/tor-browser/browser/patches/patch-xpcom_build_BinaryPath_h =================================================================== RCS file: www/tor-browser/browser/patches/patch-xpcom_build_BinaryPath_h diff -N www/tor-browser/browser/patches/patch-xpcom_build_BinaryPath_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/patches/patch-xpcom_build_BinaryPath_h 8 Dec 2022 17:29:57 -0000 @@ -0,0 +1,13 @@ +avoid pledge sysctl 4: 1 55 29028 1 ? + +Index: xpcom/build/BinaryPath.h +--- xpcom/build/BinaryPath.h.orig ++++ xpcom/build/BinaryPath.h +@@ -204,6 +204,7 @@ class BinaryPath { + mib[1] = KERN_PROC_ARGS; + mib[2] = getpid(); + mib[3] = KERN_PROC_ARGV; ++ return GetFromArgv0("${TRUEPREFIX}/lib/${MOZILLA_PROJECT}/${MOZILLA_PROJECT}", aResult); + + size_t len = 0; + if (sysctl(mib, 4, nullptr, &len, nullptr, 0) < 0) { Index: www/tor-browser/browser/pkg/PLIST =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/pkg/PLIST,v retrieving revision 1.16 diff -u -p -r1.16 PLIST --- www/tor-browser/browser/pkg/PLIST 29 Jul 2022 20:20:10 -0000 1.16 +++ www/tor-browser/browser/pkg/PLIST 8 Dec 2022 17:29:57 -0000 @@ -28,6 +28,8 @@ lib/${BROWSER_NAME}/browser/defaults/pre @sample ${SYSCONFDIR}/${MOZILLA_PROJECT}/pledge.main lib/${BROWSER_NAME}/browser/defaults/preferences/pledge.rdd lib/${BROWSER_NAME}/browser/defaults/preferences/pledge.socket +lib/${BROWSER_NAME}/browser/defaults/preferences/pledge.utility +lib/${BROWSER_NAME}/browser/defaults/preferences/pledge.utility-audioDecoder lib/${BROWSER_NAME}/browser/defaults/preferences/unveil.content @sample ${SYSCONFDIR}/${MOZILLA_PROJECT}/unveil.content lib/${BROWSER_NAME}/browser/defaults/preferences/unveil.gpu @@ -36,6 +38,8 @@ lib/${BROWSER_NAME}/browser/defaults/pre @sample ${SYSCONFDIR}/${MOZILLA_PROJECT}/unveil.main lib/${BROWSER_NAME}/browser/defaults/preferences/unveil.rdd lib/${BROWSER_NAME}/browser/defaults/preferences/unveil.socket +lib/${BROWSER_NAME}/browser/defaults/preferences/unveil.utility +lib/${BROWSER_NAME}/browser/defaults/preferences/unveil.utility-audioDecoder lib/${BROWSER_NAME}/browser/defaults/profile/ lib/${BROWSER_NAME}/browser/defaults/profile/bookmarks.html lib/${BROWSER_NAME}/browser/features/ @@ -193,6 +197,7 @@ lib/${BROWSER_NAME}/distribution/distrib lib/${BROWSER_NAME}/fonts/ lib/${BROWSER_NAME}/fonts/TwemojiMozilla.ttf @lib lib/${BROWSER_NAME}/libfreebl3.so.${LIBfreebl3_VERSION} +@lib lib/${BROWSER_NAME}/libipcclientcerts.so.${LIBipcclientcerts_VERSION} @lib lib/${BROWSER_NAME}/liblgpllibs.so.${LIBlgpllibs_VERSION} @lib lib/${BROWSER_NAME}/libmozavcodec.so.${LIBmozavcodec_VERSION} @lib lib/${BROWSER_NAME}/libmozavutil.so.${LIBmozavutil_VERSION} Index: www/tor-browser/noscript/Makefile =================================================================== RCS file: /cvs/ports/www/tor-browser/noscript/Makefile,v retrieving revision 1.45.2.1 diff -u -p -r1.45.2.1 Makefile --- www/tor-browser/noscript/Makefile 24 Nov 2022 16:38:44 -0000 1.45.2.1 +++ www/tor-browser/noscript/Makefile 8 Dec 2022 17:29:57 -0000 @@ -1,5 +1,5 @@ ADDON_NAME = noscript -V = 11.4.12 +V = 11.4.13 COMMENT = Tor Browser add-on: flexible JS blocker HOMEPAGE = https://noscript.net MASTER_SITES = https://secure.informaction.com/download/releases/ Index: www/tor-browser/noscript/distinfo =================================================================== RCS file: /cvs/ports/www/tor-browser/noscript/distinfo,v retrieving revision 1.40.2.1 diff -u -p -r1.40.2.1 distinfo --- www/tor-browser/noscript/distinfo 24 Nov 2022 16:38:44 -0000 1.40.2.1 +++ www/tor-browser/noscript/distinfo 8 Dec 2022 17:29:57 -0000 @@ -1,2 +1,2 @@ -SHA256 (noscript-11.4.12.xpi) = kPEWSofl/zA7XWCILulFjpwfd1xnCYuQJmL49KHCffY= -SIZE (noscript-11.4.12.xpi) = 942951 +SHA256 (noscript-11.4.13.xpi) = B4AmrolP5RbOnmGhCE0bbciDzXLFECfeNCEyFByn8A0= +SIZE (noscript-11.4.13.xpi) = 948790