3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/applications/networking
aszlig 8fb49973ce
firefox: Add patch to fix AES GCM IV bit size
Regression introduced by bce5268a21.

The bit size of the initialisation vector for AES GCM has been
introduced in NSS version 3.52 in the CK_GCM_PARMS struct via the
ulIvBits field.

Unfortunately, Firefox 68.8.0 and 76.0 do not set this field and thus it
gets initialised to zero, which in turn causes IV generation to fail.

I found out about this because WebRTC stopped working after updating to
NSS 3.52 and so I started bisecting.

Since there wasn't an obvious error in Firefox hinting towards NSS but
instead just the video stream ended up as a "null" stream, I didn't
suspect the NSS update to be the culprit at first. So I verified a few
times and then also started bisecting the actual commit in NSS that
caused the issue.

This turned out to be the problematic change:

https://phabricator.services.mozilla.com/D63241

> One notable change was caused by an inconsistancy between the spec and
> the released headers in PKCS#11 v2.40. CK_GCM_PARAMS had an extra
> field in the header that was not in the spec. OASIS considers the
> header file to be normative, so PKCS#11 v3.0 resolved the issue in
> favor of the header file definition.

Since the test I've used[1] was a bit flaky, I still didn't believe the
result of the bisect to be accurate, but after running the test several
times leading same results I dug through the above change line by line
to get more clues.

It fortunately didn't take that long to stumble upon the ulIvBits change
(which is actually documented in the NSS 3.52 release notes[4], but I
managed to blatantly ignore it for some reason) and started checking the
Firefox source tree for changes regarding that field.

Initialisation of that new field has been introduced[2] in preparation
for the 76 release, but subsequently got reverted[3] prior to the
release, because Firefox 76 is expected to be shipped with NSS 3.51,
which didn't have the ulIvBits field.

The patch I'm adding here is just a reintroduction of that change,
because we're using NSS 3.52. Not initialising that field will break
WebRTC and WebCrypto, which I think the former seems to gain in
popularity these days ;-)

Tested the change against the mentioned VM test[1] and also by testing
manually using Jitsi Meet and Nextcloud Talk.

[1]: https://github.com/aszlig/avonc/tree/884315838b6f0ebb32b/tests/talk
[2]: https://hg.mozilla.org/mozilla-central/rev/3ed30e6b6de1
[3]: https://hg.mozilla.org/mozilla-central/rev/665137da70ee
[4]: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.52_release_notes

Signed-off-by: aszlig <aszlig@nix.build>
2020-05-13 02:23:12 +02:00
..
3proxy
apache-directory-studio
brig treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
browsers firefox: Add patch to fix AES GCM IV bit size 2020-05-13 02:23:12 +02:00
c14 treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
calls calls: 0.1.2 -> 0.1.4 2020-04-09 12:38:29 +00:00
cawbird cawbird: 1.0.4 -> 1.0.5 2020-04-08 21:20:33 +02:00
charles treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
cloudflared cloudflared: 2020.2.1 -> 2020.3.2 2020-05-09 08:58:22 +02:00
cluster minikube: 1.9.2 -> 1.10.0 2020-05-12 19:47:31 +10:00
compactor
datovka datovka: 4.14.1 -> 4.15.0 (#81874) 2020-03-09 19:56:30 +01:00
davmail treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
dnscontrol dnscontrol: use subPackages, upstream vendor 2020-04-24 13:03:04 +10:00
drive treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
droopy treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
dropbox treewide: remove the-kenny from maintainers 2020-05-09 10:28:57 +01:00
dsvpn
dyndns/cfdyndns cfdyndns: improve robustness of installPhase 2020-04-12 14:06:08 -07:00
enhanced-ctorrent treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
errbot treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
esniper treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
feedreaders rssguard: 3.5.9 -> 3.6.0 2020-05-04 06:17:13 +00:00
firehol treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
flent treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
flexget flexget: readd transmissionrpc 2020-03-11 16:30:32 +01:00
ftp filezilla: 3.46.3 -> 3.48.0 2020-05-01 16:38:21 +08:00
gdrive treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
gmailctl gmailctl: 0.6.0 -> 0.7.0 2020-05-02 10:44:59 +00:00
gns3 gns3-{gui,server}: 2.2.7 -> 2.2.8 2020-05-10 14:58:38 +02:00
google-drive-ocamlfuse google-drive-ocamlfuse: 0.7.2 -> 0.7.21 (#86469) 2020-05-10 21:24:18 +02:00
gopher/gopher gopherclient: remove 2020-04-28 10:34:56 +01:00
hpmyroom
hydroxide hydroxide: 0.2.11 -> 0.2.14 2020-04-29 13:36:27 +03:00
ids suricata: 5.0.2 -> 5.0.3 2020-05-10 09:35:02 -07:00
ike treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
instant-messengers Merge pull request #87283 from Luflosi/patch-dino 2020-05-10 14:09:39 +01:00
insync treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
ipfs ipfs: 0.5.0 -> 0.5.1 2020-05-09 17:33:34 +02:00
ipfs-cluster treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
ipfs-migrator ipfs-migrator: 7 -> 1.5.1 2020-05-08 13:58:22 +02:00
ipget treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
iptraf treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
iptraf-ng treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
irc treewide: remove the-kenny from maintainers 2020-05-09 10:28:57 +01:00
jmeter
jnetmap
libcoap
lieer gmailieer: 1.0 -> 1.1, rename to lieer 2020-04-19 21:59:13 +03:00
linssid treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
maestral maestral: 0.6.3 -> 0.6.4 2020-05-09 08:56:34 +02:00
mailreaders treewide: remove the-kenny from maintainers 2020-05-09 10:28:57 +01:00
modem-manager-gui treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
mpop mpop: 1.4.7 -> 1.4.9 2020-05-06 10:32:30 -07:00
msmtp msmtp: 1.8.8 -> 1.8.10 (#86027) 2020-04-26 01:08:31 +02:00
mullvad-vpn Merge pull request #83621 from cgevans/fix-mullvad-appindicator2 2020-04-01 08:16:51 -05:00
mumble mumble: declare tests from nixosTests 2020-04-22 11:45:04 +05:30
ndppd treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
netperf treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
newsreaders quiterss: 0.19.3 -> 0.19.4 2020-04-21 21:31:45 +02:00
nextcloud-client treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
nload treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
nntp-proxy treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
nym nym: init at 0.6.0 2020-04-29 23:42:38 +05:30
offrss treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
omping
onionshare maintainers: add lourkeur 2020-05-04 17:35:26 +05:30
ostinato treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
owamp treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
owncloud-client treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
p2p Merge pull request #87523 from r-ryantm/auto-update/tixati 2020-05-10 12:42:46 -07:00
ping github username: kjuvi -> xiorcale 2020-05-09 09:08:18 +02:00
pjsip pjsip: enable and fix darwin build 2020-04-30 18:06:53 +02:00
protocol treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
protonmail-bridge
protonvpn-cli treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
protonvpn-cli-ng protonvpn-cli-ng: 2.2.0 -> 2.2.2 2020-03-24 20:43:55 -04:00
ps2client treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
pyload treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
remote remmina: 1.4.1 -> 1.4.3 2020-05-10 09:35:19 -07:00
resilio-sync resilio-sync: 2.6.4 -> 2.7.0 2020-05-10 16:01:14 +02:00
seafile-client seafile-client: 7.0.5 -> 7.0.7 2020-04-12 17:36:52 -07:00
sieve-connect treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
siproxd treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
sniffers whsniff: init at 1.3 2020-05-03 13:22:22 -07:00
sniproxy
soapui treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
soulseek/nicotine-plus treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
spideroak treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
ssb Patchwork: 3.17.6 -> 3.17.7 2020-05-01 15:24:50 -05:00
station
super-productivity treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Sylk Sylk: 2.6.1 -> 2.7.0 (#86796) 2020-05-05 10:33:39 +00:00
sync treewide: use $out instead of $bin with buildGoPackage 2020-04-28 20:30:29 +10:00
syncplay treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
syncthing syncthing: 1.4.2 -> 1.5.0 2020-05-05 04:20:00 -05:00
syncthing-gtk treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
tcpkali
testssl testssl: 3.0 -> 3.0.1 2020-05-10 21:49:32 +00:00
trebleshot treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
tsung
umurmur treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
vnstat treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
wayback_machine_downloader update versions in Gemfile.lock 2020-04-06 15:02:13 +02:00
weather/meteo treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
websocketd Revert "Merge pull request #83099 from marsam/fix-buildGoModule-packages-darwin" 2020-03-27 07:33:21 +00:00
znc treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00