Skip to content

Commit

Permalink
www/tor-browser: Update to 13.5a7
Browse files Browse the repository at this point in the history
  • Loading branch information
Martinfx authored and fernape committed May 10, 2024
1 parent 6a107b3 commit dc752ff
Show file tree
Hide file tree
Showing 6 changed files with 144 additions and 32 deletions.
4 changes: 2 additions & 2 deletions www/tor-browser/Makefile
@@ -1,11 +1,11 @@
PORTNAME= tor-browser
DISTVERSION= 13.0.14
DISTVERSION= 13.5a7
CATEGORIES= www net security wayland
MASTER_SITES= TOR \
https://build-sources.tbb.torproject.org/:source1 \
LOCAL/jsm:source2
MASTER_SITE_SUBDIR= torbrowser/${DISTVERSION}
DISTNAME= src-firefox-tor-browser-115.10.0esr-13.0-1-build1
DISTNAME= src-firefox-tor-browser-115.10.0esr-13.5-1-build2
DISTFILES= ${DISTNAME}.tar.xz \
manual_112141.zip:source1 \
firefox-tor-browser-13.0.1-build2-firefox-1l0n-out.tar:source2
Expand Down
6 changes: 3 additions & 3 deletions www/tor-browser/distinfo
@@ -1,6 +1,6 @@
TIMESTAMP = 1713253525
SHA256 (src-firefox-tor-browser-115.10.0esr-13.0-1-build1.tar.xz) = 5ce221443bd9dfbec37e92c263f0098572fb7c44a0236fbba98b02370eda11bf
SIZE (src-firefox-tor-browser-115.10.0esr-13.0-1-build1.tar.xz) = 551419804
TIMESTAMP = 1715113596
SHA256 (src-firefox-tor-browser-115.10.0esr-13.5-1-build2.tar.xz) = 4d6359dfd62d834eccef626dab721092924903cc9418049b0f07de3306575384
SIZE (src-firefox-tor-browser-115.10.0esr-13.5-1-build2.tar.xz) = 552033160
SHA256 (manual_112141.zip) = f767bc5f655f1263623b7af588cfb045d3e41ee019dc7ecd713decc5c1a0ea9b
SIZE (manual_112141.zip) = 26293073
SHA256 (firefox-tor-browser-13.0.1-build2-firefox-1l0n-out.tar) = bbd290cd134e3a114241077ba82582617ab6c5117ff2226381943c504bd09775
Expand Down
2 changes: 1 addition & 1 deletion www/tor-browser/files/patch-dom_media_flac_FlacDecoder.cpp
Expand Up @@ -17,7 +17,7 @@ Enable FLAC on platforms without ffvpx like powerpc*
+#elif defined(MOZ_FFMPEG)
+ RefPtr<PDMFactory> platform = new PDMFactory();
+ return StaticPrefs::media_flac_enabled() &&
+ platform->SupportsMimeType("audio/flac"_ns);
+ !platform->SupportsMimeType("audio/flac"_ns).isEmpty();
#else
return false;
#endif
@@ -0,0 +1,104 @@
diff --git toolkit/components/processtools/ProcInfo_bsd.cpp toolkit/components/processtools/ProcInfo_bsd.cpp
index a6ff4881940c..f041ed5e50ce 100644
--- toolkit/components/processtools/ProcInfo_bsd.cpp
+++ toolkit/components/processtools/ProcInfo_bsd.cpp
@@ -18,6 +18,9 @@
#include <cstdio>
#include <cstring>
#include <unistd.h>
+#ifdef __FreeBSD__
+#include <sys/user.h>
+#endif

namespace mozilla {

@@ -50,25 +53,39 @@ ProcInfoPromise::ResolveOrRejectValue GetProcInfoSync(
}
for (const auto& request : aRequests) {
size_t size;
+#ifdef __FreeBSD__
+ int mib[4];
+ int mibsize = 4;
+ mib[0] = CTL_KERN;
+ mib[1] = KERN_PROC;
+ mib[2] = KERN_PROC_PID | KERN_PROC_INC_THREAD;
+ mib[3] = request.pid;
+#else
int mib[6];
+ int mibsize = 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) {
+#endif
+ if (sysctl(mib, mibsize, nullptr, &size, nullptr, 0) == -1) {
// Can't get info for this process. Skip it.
continue;
}

+#ifdef __FreeBSD__
+ auto procs = MakeUniqueFallible<kinfo_proc[]>(size / sizeof(kinfo_proc));
+#else
mib[5] = size / sizeof(kinfo_proc);
auto procs = MakeUniqueFallible<kinfo_proc[]>(mib[5]);
+#endif
if (!procs) {
result.SetReject(NS_ERROR_OUT_OF_MEMORY);
return result;
}
- if (sysctl(mib, 6, procs.get(), &size, nullptr, 0) == -1 &&
+ if (sysctl(mib, mibsize, procs.get(), &size, nullptr, 0) == -1 &&
errno != ENOMEM) {
continue;
}
@@ -84,19 +101,34 @@ ProcInfoPromise::ResolveOrRejectValue GetProcInfoSync(
bool found = false;
for (size_t i = 0; i < size / sizeof(kinfo_proc); i++) {
const auto& p = procs[i];
+#ifdef __FreeBSD__
+ if (i == 0) {
+#else
if (p.p_tid == -1) {
+#endif
// This is the process.
found = true;
+#ifdef __FreeBSD__
+ info.cpuTime = uint64_t(p.ki_runtime) * 1'000u;
+ info.memory = (p.ki_tsize + p.ki_dsize + p.ki_ssize) * getpagesize();
+#else
info.cpuTime = uint64_t(p.p_rtime_sec) * 1'000'000'000u +
uint64_t(p.p_rtime_usec) * 1'000u;
info.memory =
(p.p_vm_tsize + p.p_vm_dsize + p.p_vm_ssize) * getpagesize();
+#endif
+
} else {
// This is one of its threads.
ThreadInfo threadInfo;
+#ifdef __FreeBSD__
+ threadInfo.tid = p.ki_tid;
+ threadInfo.cpuTime = uint64_t(p.ki_runtime) * 1'000u;
+#else
threadInfo.tid = p.p_tid;
threadInfo.cpuTime = uint64_t(p.p_rtime_sec) * 1'000'000'000u +
uint64_t(p.p_rtime_usec) * 1'000u;
+#endif
info.threads.AppendElement(threadInfo);
}
}
diff --git toolkit/components/processtools/moz.build toolkit/components/processtools/moz.build
index b7c164c1b0ac..a41dad52c343 100644
--- toolkit/components/processtools/moz.build
+++ toolkit/components/processtools/moz.build
@@ -39,7 +39,7 @@ BROWSER_CHROME_MANIFESTS += ["tests/browser/browser.ini"]
# Platform-specific implementations of `ProcInfo`.
toolkit = CONFIG["MOZ_WIDGET_TOOLKIT"]
if toolkit == "gtk" or toolkit == "android":
- if CONFIG["OS_TARGET"] == "OpenBSD":
+ if CONFIG["OS_TARGET"] == "FreeBSD" or CONFIG["OS_TARGET"] == "OpenBSD":
UNIFIED_SOURCES += ["ProcInfo_bsd.cpp"]
else:
UNIFIED_SOURCES += ["ProcInfo_linux.cpp"]
@@ -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.sys.mjs
--- toolkit/components/tor-launcher/TorProcess.sys.mjs.orig 2024-04-22 21:47:56 UTC
+++ toolkit/components/tor-launcher/TorProcess.sys.mjs
@@ -216,6 +216,7 @@ export class TorProcess {
}

this.#args = [];
+ this.#args.push("--ignore-missing-torrc");
this.#args.push("-f", torrcFile.path);
this.#args.push("DataDirectory", this.#dataDir.path);
this.#args.push("ClientOnionAuthDir", onionAuthDir.path);
@@ -230,11 +231,15 @@ export class TorProcess {
// The geoip and geoip6 files are in the same directory as torrc-defaults.
// TODO: Change TorFile to return the generic path to these files to make
// them independent from the torrc-defaults.
- const geoipFile = torrcDefaultsFile.clone();
- geoipFile.leafName = "geoip";
+ // const geoipFile = torrcDefaultsFile.clone();
+ // geoipFile.leafName = "geoip";
+ // this.#args.push("GeoIPFile", geoipFile.path);
+ // const geoip6File = torrcDefaultsFile.clone();
+ // geoip6File.leafName = "geoip6";
+ // this.#args.push("GeoIPv6File", geoip6File.path);
+ const geoipFile = lazy.TorLauncherUtil.getTorFile("geoip", false);
+ const geoip6File = lazy.TorLauncherUtil.getTorFile("geoip6", false);
this.#args.push("GeoIPFile", geoipFile.path);
- const geoip6File = torrcDefaultsFile.clone();
- geoip6File.leafName = "geoip6";
this.#args.push("GeoIPv6File", geoip6File.path);
} else {
logger.warn(

This file was deleted.

0 comments on commit dc752ff

Please sign in to comment.