[Bug 261410] www/firefox: Update to 96.0.2 (unfixed security vulnerabilities)

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 26 Jan 2022 22:37:09 UTC

--- Comment #8 from Evgeniy Khramtsov <evgeniy@khramtsov.org> ---
Created attachment 231369
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=231369&action=edit
v0.8 (zstd, git)

Upstream bug 1654448 [1] was filed for BSD build issues after libwebrtc
2H2020 import. OpenBSD has patches in 97, but 96 is marked as "wontfix".

I backported the patches for 96 and added WEBRTC_BSD (BUILD.gn is_bsd)
back with s/OpenBSD/FreeBSD gn and manifest regen.

Reproducing build environment and providing Ala-OpenBSD how-to is hard
at the moment due to numerous hacks locally. 97+ should be easier due
to landed upstream changes and simplified manifest regen [2].

There are __STDC_CONSTANT_MACROS redefinition warnings for libwebrtc
likely due to mozilla-config.h.in defining it [3] while
__STDC_CONSTANT_MACROS is also defined for Linux targets and OpenBSD
in 97+. I chose to do the same as Linux and OpenBSD to avoid regression.

Manifest for FreeBSD/i386 was generated via generate-gn-build-files.sh
and seems to be the way it is generated for 32-bit PCs running Linux [4].

Notice that host_cpu and HOST_CPU_ARCH are for 64-bit PC, but the manifest
is still for 32-bit Linux. The same also applies for ARM64 macOS [5].

FreeBSD/aarch64 wasn't generated via script as rustup doesn't provide aarch64
target for FreeBSD, and lang/rust in ports symlinked to rustup bin directory
doesn't provide rust-std for aarch64. generate-gn-build-files.sh hard fails
without Rust target. One could try via Rust via qemu (IIRC it doesn't work),
but I tried semi-automatic manifest generation by git diff'ing x64 and arm64
Linux manifests and porting the diff to x64 FreeBSD manifest copy for arm64.
If aarch64 build passes, then good. If no, I suggest --disable-webrtc for ARM
until a solution is found.

WebRTC microphone on FreeBSD/13.0 seems to be "okayish" as the first five
seconds of a talk seem to be cut off, then enough data is buffered and
recording is fine.
There is also an OSS related patch in files/, so IDK, maybe git bisect later.
Also see bug 257639 which might be related.

Speed is limited due to QA of 12.2{amd64,i386}, 13.0{i386}, PipeWire Wayland
screencapture, inverted OPTIONS tests, completely new workflow. I need to build
several large repos and do some testing I never did before. Setting up PipeWire
may take long as I did it a year ago and things could change. I also don't have
a webcam and can't test one, it is unobtainable where I'm located.

Also, no idea at the moment where to look for the minimum required library
versions to update Makefile. I'll try to update lib versions in Makefile after
testing. Patches deleted seem to be upstream or no longer needed.

[1]: https://bugzilla.mozilla.org/show_bug.cgi?id=1654448
[2]: https://github.com/mozilla/gecko-dev/commit/e6f459cd77e3
[3]: https://searchfox.org/mozilla-central/source/mozilla-config.h.in#31

You are receiving this mail because:
You are the assignee for the bug.