forked from pool/MozillaFirefox
317e7b9c84
* supports the new AVIF image format * PDF viewer now supports filling more forms (XFA-based forms) * now blocks downloads that rely on insecure connections, protecting against potentially malicious or unsafe downloads * Improved web compatibility for privacy protections with SmartBlock 3.0 * Introducing a new referrer tracking protection in Strict Tracking Protection and Private Browsing * TLS ciphersuites that use 3DES have been disabled. Such ciphersuites can only be enabled when deprecated versions of TLS are also enabled * The download panel now follows the Firefox visual styles MFSA 2021-43 (bsc#1191332) * CVE-2021-38496 (bmo#1725335) Use-after-free in MessageTask * CVE-2021-38497 (bmo#1726621) Validation message could have been overlaid on another origin * CVE-2021-38498 (bmo#1729642) Use-after-free of nsLanguageAtomService object * CVE-2021-32810 (bmo#1729813) https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-pqqp-xmhj-wgcw) Data race in crossbeam-deque * CVE-2021-38500 (bmo#1725854, bmo#1728321) Memory safety bugs fixed in Firefox 93, Firefox ESR 78.15, and Firefox ESR 91.2 * CVE-2021-38501 (bmo#1685354, bmo#1715755, bmo#1723176) Memory safety bugs fixed in Firefox 93 and Firefox ESR 91.2 * CVE-2021-38499 (bmo#1667102, bmo#1723170, bmo#1725356, bmo#1727364) Memory safety bugs fixed in Firefox 93 - removed obsolete mozilla-bmo1708709.patch OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=936
554 lines
20 KiB
Diff
554 lines
20 KiB
Diff
# HG changeset patch
|
|
# Parent fbca0d2a522cd1ab78001476293d3d79bfabb4cf
|
|
|
|
<!DOCTYPE html>
|
|
<html lang='en'>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
<title>Tree - rpms/firefox - src.fedoraproject.org</title>
|
|
<link rel="shortcut icon" type="image/vnd.microsoft.icon"
|
|
href="/theme/static/favicon.ico?version=5.13.2"/>
|
|
<link href="/theme/static/fedora-bootstrap-1.3.0/fedora-bootstrap.min.css?version=5.13.2"
|
|
type="text/css" rel="stylesheet" />
|
|
<link href="/theme/static/fonts/fonts.css?version=5.13.2"
|
|
rel="stylesheet" type="text/css" />
|
|
<link href="/theme/static/fonts/hack_fonts/css/hack-extended.min.css?version=5.13.2"
|
|
type="text/css" rel="stylesheet" />
|
|
<link href="/theme/static/theme.css?version=5.13.2"
|
|
type="text/css" rel="stylesheet" />
|
|
|
|
<link type="text/css" rel="stylesheet" nonce="5VHCMUQ81dmw6zbPtdKqrXAJZ" href="/static/vendor/font-awesome/font-awesome.css?version=5.13.2"/>
|
|
<link type="text/css" rel="stylesheet" nonce="5VHCMUQ81dmw6zbPtdKqrXAJZ" href="/static/pagure.css?version=5.13.2"/>
|
|
<link nonce="5VHCMUQ81dmw6zbPtdKqrXAJZ" rel="stylesheet" href="/static/vendor/highlight.js/styles/github.css?version=5.13.2"/>
|
|
<link nonce="5VHCMUQ81dmw6zbPtdKqrXAJZ" rel="stylesheet" href="/static/vendor/highlightjs-line-numbers/highlightjs-line-numbers.min.css?version=5.13.2"/>
|
|
<style nonce="5VHCMUQ81dmw6zbPtdKqrXAJZ">
|
|
.hljs {
|
|
background: #fff;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body id="home">
|
|
|
|
<!-- start masthead -->
|
|
<nav class="navbar navbar-light masthead p-0 navbar-expand">
|
|
<div class="container">
|
|
<a href="/" class="navbar-brand">
|
|
<img height=40px src="/theme/static/pagure-logo.png?version=5.13.2"
|
|
alt="pagure Logo" id="pagureLogo"/>
|
|
</a>
|
|
<ul class="navbar-nav ml-auto">
|
|
|
|
|
|
|
|
<li class="nav-item">
|
|
<a class="btn btn-primary" href="/login/?next=https://src.fedoraproject.org/rpms/firefox/blob/fc69159c16b8035abdc07e69134357970f6b516f/f/mozilla-1725828.patch">Log In</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
<!-- close masthead-->
|
|
|
|
<div class="bodycontent">
|
|
|
|
|
|
<div class="bg-light border border-bottom pt-3">
|
|
<div class="container">
|
|
<div class="row mb-3">
|
|
<div class="col-6">
|
|
<div class="row">
|
|
<div class="col-auto pr-0">
|
|
<h3>
|
|
<i class="fa fa-archive text-muted"></i></h3>
|
|
</div>
|
|
<div class="col-auto pl-2">
|
|
<h3 class="mb-0">
|
|
<a href="/projects/rpms/%2A">rpms</a> / <a href="/rpms/firefox"><strong>firefox</strong></a>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-6 text-right">
|
|
<div class="btn-group">
|
|
<div class="btn-group">
|
|
<a href="#"
|
|
class="btn btn-sm dropdown-toggle btn-outline-primary"
|
|
data-toggle="dropdown" id="watch-button">
|
|
<i class="fa fa-clone fa-fw"></i>
|
|
<span>Clone</span>
|
|
</a>
|
|
<div class="dropdown-menu dropdown-menu-right">
|
|
<div class="m-3" id="source-dropdown" class="pointer">
|
|
<div>
|
|
<h5><strong>Source Code</strong></h5>
|
|
|
|
<div class="form-group">
|
|
<div class="input-group input-group-sm">
|
|
<div class="input-group-prepend"><span class="input-group-text">GIT</span></div>
|
|
<input class="form-control bg-white select-on-focus" type="text" value="https://src.fedoraproject.org/rpms/firefox.git" readonly>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<ul class="nav nav-tabs nav-small border-bottom-0">
|
|
<li class="nav-item mr-2 text-dark">
|
|
<a class="nav-link active" href="/rpms/firefox">
|
|
<i class="fa fa-code fa-fw text-muted"></i>
|
|
<span class="d-none d-md-inline">Source</span>
|
|
</a>
|
|
</li>
|
|
|
|
<li class="nav-item mr-2 text-dark">
|
|
<a class="nav-link" href="https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&product=Fedora&product=Fedora EPEL&component=firefox">
|
|
<i class="fa fa-fw text-muted fa-exclamation-circle"></i>
|
|
<span class="d-none d-md-inline">Issues </span>
|
|
<span class="fa fa-external-link"></span>
|
|
</a>
|
|
</li>
|
|
|
|
<li class="nav-item mr-2 text-dark">
|
|
<a class="nav-link" href="/rpms/firefox/pull-requests">
|
|
<i class="fa fa-fw text-muted fa-arrow-circle-down"></i>
|
|
<span class="d-none d-md-inline">Pull Requests </span>
|
|
<span class="badge badge-secondary py-0 d-none d-md-inline">
|
|
0
|
|
</span>
|
|
</a>
|
|
</li>
|
|
|
|
|
|
<li class="nav-item mr-2 text-dark">
|
|
<a class="nav-link" href="/rpms/firefox/stats">
|
|
<i class="fa fa-line-chart fa-fw text-muted"></i>
|
|
<span class="d-none d-md-inline">Stats</span>
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="container pt-5 repo-body-container">
|
|
<div class="row">
|
|
<div class="col-2">
|
|
<nav class="nav nav-tabs nav-sidetabs flex-column">
|
|
<a class=
|
|
"nav-link nowrap
|
|
"
|
|
href="/rpms/firefox">
|
|
<i class="fa fa-home text-muted fa-fw"></i> <span class="d-none d-md-inline">Overview</span>
|
|
</a>
|
|
<a class=
|
|
"nav-link nowrap
|
|
active"
|
|
href="/rpms/firefox/tree/fc69159c16b8035abdc07e69134357970f6b516f">
|
|
<i class="fa fa-file-code-o text-muted fa-fw"></i> Files
|
|
</a>
|
|
<a class=
|
|
"nav-link nowrap
|
|
"
|
|
href="/rpms/firefox/commits/fc69159c16b8035abdc07e69134357970f6b516f">
|
|
<i class="fa fa-list-alt text-muted fa-fw" data-glyph="spreadsheet"></i> Commits
|
|
</a>
|
|
<a class=
|
|
"nav-link nowrap
|
|
"
|
|
href="/rpms/firefox/branches?branchname=fc69159c16b8035abdc07e69134357970f6b516f">
|
|
<i class="fa fa-random text-muted fa-fw"></i> Branches
|
|
</a>
|
|
<a class=
|
|
"nav-link nowrap
|
|
"
|
|
href="/rpms/firefox/forks">
|
|
<i class="fa fa-code-fork text-muted fa-fw"></i> Forks
|
|
</a>
|
|
<a class=
|
|
"nav-link nowrap
|
|
"
|
|
href="/rpms/firefox/releases">
|
|
<i class="fa fa-tags text-muted fa-fw"></i> Releases
|
|
</a>
|
|
|
|
<div class="col-xs-2 line-height-1"></div>
|
|
<h6>Monitoring status:</h6>
|
|
<div class="btn-group">
|
|
<button title="Monitoring status" class="btn btn-sm btn-outline-primary disabled"
|
|
id="monitoring-button">
|
|
<i id="monitoring-icon" class="fa fa-fw fa-eye"></i>
|
|
<span id="monitoring-label" class="fa fa-circle-o-notch fa-spin fa-1x fa-fw"></span>
|
|
</button>
|
|
</div>
|
|
|
|
<div class="col-xs-2 line-height-1"></div>
|
|
<div id="orphan-section" class="pt-3">
|
|
<div class="col-xs-2 line-height-1"></div>
|
|
|
|
</div>
|
|
|
|
<div class="pt-3">
|
|
<div class="col-xs-2 line-height-1">
|
|
<h6>Bugzilla Assignee:</h6>
|
|
<dl>
|
|
<dt>Fedora: </dt>
|
|
<dd id="fedora_assignee_txt">
|
|
gecko-maint
|
|
</dd>
|
|
<dt>EPEL: </dt>
|
|
<dd id="epel_assignee_txt">
|
|
gecko-maint
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="modal_assignee" tabindex="-1"
|
|
role="dialog" aria-labelledby="Bugzilla assignee" aria-hidden="true">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title">Bugzilla Assignee</h4>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
<span class="sr-only">Close</span>
|
|
</button>
|
|
</div>
|
|
<form id="change_assignees">
|
|
<div class="modal-body">
|
|
<label for="fedora_assignee">Fedora</label>
|
|
<input title="Default assignee for Fedora in bugzilla - Empty input resets to default"
|
|
class="form-control" name="fedora_assignee" id="fedora_assignee" value="gecko-maint"/>
|
|
<label for="epel_assignee">EPEL</label>
|
|
<input title="Default assignee for EPEL in bugzilla (if applicable) - Empty input resets to default"
|
|
class="form-control" name="epel_assignee" id="epel_assignee" value="gecko-maint" />
|
|
<p class="pt-2">
|
|
These two fields allow to specify a different default assignee for ticket opened against
|
|
this package in bugzilla. Note: The EPEL field is
|
|
always displayed for packages in the 'rpms' namespace regardless of whether it
|
|
is used in bugzilla or not. </p>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-secondary" type="button" title="Update bugzilla overrides" id="reset_assignees">
|
|
Reset to defaults
|
|
</button>
|
|
<button class="btn btn-primary" type="submit" title="Update bugzilla overrides" id="update_assignees">
|
|
Update
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="modal_orphan" tabindex="-1"
|
|
role="dialog" aria-labelledby="Orphan this package" aria-hidden="true">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title">Orphan package</h4>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
<span class="sr-only">Close</span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="form-group">
|
|
<label for="reason_menu">Reason</label>
|
|
<select id="reason_menu" class="form-control">
|
|
|
|
<option id="lack_of_time_option_button">Lack of time</option>
|
|
|
|
<option id="do_not_use_it_option_button">Do not use it anymore</option>
|
|
|
|
<option id="unmaintained_option_button">Unmaintained upstream</option>
|
|
|
|
<option id="fails_to_build_option_button">Fails to build from source</option>
|
|
|
|
<option id="not_fixed_option_button">Important bug not fixed</option>
|
|
|
|
<option id="other_option_button">Other</option>
|
|
</select>
|
|
</div>
|
|
<label for="orphan_reason_info">Additional info</label>
|
|
<input title="Additional info for orphaning reason"
|
|
class="form-control" name="orphan_reason_info" id="orphan_reason_info" value=""/>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-primary" type="submit" title="Orphan this package" id="orphan_button">
|
|
Update
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/javascript" nonce="5VHCMUQ81dmw6zbPtdKqrXAJZ">
|
|
window.addEventListener('load', function() {
|
|
set_up_monitoring = function(status){
|
|
var _label = "Disabled"
|
|
if (status === "monitoring") {
|
|
_label = "Monitoring";
|
|
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
|
|
} else if (status === "monitoring-with-scratch") {
|
|
_label = "Scratch builds"
|
|
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
|
|
} else {
|
|
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye-slash")
|
|
}
|
|
|
|
$("#monitoring-label").text(_label);
|
|
$("#monitoring-label").removeClass("fa fa-circle-o-notch fa-spin fa-1x fa-fw");
|
|
}
|
|
|
|
$.ajax({
|
|
url: "/_dg/anitya/rpms/firefox",
|
|
type: 'GET',
|
|
dataType: 'json',
|
|
success: function(res) {
|
|
console.log(res);
|
|
set_up_monitoring(res.monitoring)
|
|
}
|
|
});
|
|
|
|
|
|
$("#reset_assignees").on('click', function(){
|
|
$('#fedora_assignee').val('');
|
|
$('#epel_assignee').val('');
|
|
$("#change_assignees").submit();
|
|
return false;
|
|
});
|
|
|
|
$("#change_assignees").on('submit', function(){
|
|
$('html').css('cursor', 'progress');
|
|
$('#reset_assignees').attr('disabled', true);
|
|
$('#update_assignees').attr('disabled', true);
|
|
$('#update_assignees').text('Updating...');
|
|
$.ajax({
|
|
url: "/_dg/bzoverrides/rpms/firefox",
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
data: {
|
|
'epel_assignee': $('#epel_assignee').val(),
|
|
'fedora_assignee': $('#fedora_assignee').val()
|
|
},
|
|
success: function(res) {
|
|
$("#fedora_assignee_txt").text(res.fedora_assignee);
|
|
$("#epel_assignee_txt").text(res.epel_assignee);
|
|
$('#modal_assignee').modal('hide');
|
|
$('#reset_assignees').attr('disabled', false);
|
|
$('#update_assignees').attr('disabled', false);
|
|
$('#update_assignees').text('Update');
|
|
$('html').css('cursor', 'default');
|
|
console.log("Successfully changed the bugzilla assignees");
|
|
return false;
|
|
},
|
|
error: function(res) {
|
|
var msg = '';
|
|
if(res.responseJSON.errors){
|
|
msg = ': ' + res.responseJSON.errors.join(', ');
|
|
}
|
|
alert("Unable to update the bugzilla assignee(s)" + msg);
|
|
$('html').css('cursor', 'default');
|
|
$('#reset_assignees').attr('disabled', false);
|
|
$('#update_assignees').attr('disabled', false);
|
|
$('#update_assignees').text('Update');
|
|
return false;
|
|
}
|
|
})
|
|
return false;
|
|
});
|
|
|
|
|
|
$.ajax({
|
|
url: "/_dg/actived/rpms/firefox",
|
|
type: 'GET',
|
|
dataType: 'json',
|
|
success: function(res) {
|
|
var _btn = $("#take_orphan_button");
|
|
if (!res.active){
|
|
_btn.off("click");
|
|
_btn.click(function(){
|
|
window.open(
|
|
"https://pagure.io/releng/new_issue?title="
|
|
+ "Unretire rpms/firefox"
|
|
+ "&template=package_unretiremet");
|
|
});
|
|
_btn.prop( "title", "Package retired - Open a releng ticket to adopt it" );
|
|
_btn.html("Retired");
|
|
}
|
|
_btn.removeClass('disabled');
|
|
}
|
|
});
|
|
|
|
$("#orphan_button").click(function(){
|
|
$("#orphan_button").attr("disabled", true);
|
|
$.ajax({
|
|
url: "/_dg/orphan/rpms/firefox",
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
data: {
|
|
'orphan_reason': $('#reason_menu').val(),
|
|
'orphan_reason_info': $('#orphan_reason_info').val()
|
|
},
|
|
success: function(res) {
|
|
$("#point_of_contact_div").html("Package is currently unmaintained");
|
|
$("#orphan_button").attr("disabled", false);
|
|
$('#modal_orphan').modal('hide');
|
|
$('#orphan-section').html('');
|
|
},
|
|
error: function(res) {
|
|
if (res.responseJSON.errors) {
|
|
alert('Unable to orphan the package: ' + res.responseJSON.errors);
|
|
} else {
|
|
alert('Unable to orphan the package: ' + res.responseJSON.error);
|
|
}
|
|
$("#orphan_button").attr("disabled", false);
|
|
}
|
|
});
|
|
});
|
|
});
|
|
</script>
|
|
|
|
</nav> </div>
|
|
<div class="col-10">
|
|
<div class="row mb-1">
|
|
<div class="col-sm-6">
|
|
<h3>
|
|
Files
|
|
</h3>
|
|
</div>
|
|
|
|
<div class="col-sm-6">
|
|
<div class="float-right">
|
|
<a href="#" class="btn btn-outline-light border-secondary text-dark btn-sm"
|
|
aria-haspopup="true" aria-expanded="false">
|
|
Commit: <span class="font-weight-bold">fc69159c16b8035abdc07e69134357970f6b516f</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card mb-3">
|
|
<div class="card-header">
|
|
<ol class="breadcrumb p-0 bg-transparent mb-0">
|
|
<li class="breadcrumb-item">
|
|
<a href="/rpms/firefox/tree/fc69159c16b8035abdc07e69134357970f6b516f">
|
|
<span class="fa fa-random">
|
|
</span> fc69159c16b8035abdc07e69134357970f6b516f
|
|
</a>
|
|
</li>
|
|
<li class="active breadcrumb-item">
|
|
<span class="fa fa-file" data-glyph="">
|
|
</span> mozilla-1725828.patch
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
|
|
<div class="card-body p-0">
|
|
<div class="bg-light border text-right pr-2">
|
|
<form class="btn btn-sm" method="POST" name="fork_project"
|
|
action="/fork_edit/rpms/firefox/edit/fc69159c16b8035abdc07e69134357970f6b516f/f/mozilla-1725828.patch">
|
|
<button class="btn btn-sm btn-secondary fork_project_btn">
|
|
Fork and Edit
|
|
</button>
|
|
|
|
</form>
|
|
|
|
<a class="btn btn-secondary btn-sm" href="/rpms/firefox/blob/fc69159c16b8035abdc07e69134357970f6b516f/f/mozilla-1725828.patch" title="View as blob">Blob</a>
|
|
|
|
<a class="btn btn-secondary btn-sm" href="/rpms/firefox/blame/mozilla-1725828.patch?identifier=fc69159c16b8035abdc07e69134357970f6b516f" title="View git blame">Blame</a>
|
|
|
|
<a class="btn btn-secondary btn-sm" href="/rpms/firefox/history/mozilla-1725828.patch?identifier=fc69159c16b8035abdc07e69134357970f6b516f" title="View git log for this file">History</a>
|
|
|
|
<a class="btn btn-secondary btn-sm" href="/rpms/firefox/raw/fc69159c16b8035abdc07e69134357970f6b516f/f/mozilla-1725828.patch" title="View as raw">Raw</a>
|
|
</div>
|
|
|
|
<pre class="syntaxhighlightblock"><code class="lang-diff">diff -up firefox-92.0/dom/media/gmp/GMPChild.cpp.1725828 firefox-92.0/dom/media/gmp/GMPChild.cpp
|
|
|
|
diff --git a/dom/media/gmp/GMPChild.cpp b/dom/media/gmp/GMPChild.cpp
|
|
--- a/dom/media/gmp/GMPChild.cpp
|
|
+++ b/dom/media/gmp/GMPChild.cpp
|
|
@@ -227,18 +227,24 @@ mozilla::ipc::IPCResult GMPChild::RecvPr
|
|
.EqualsASCII(lib.Data(), lib.Length())) {
|
|
LoadLibraryW(char16ptr_t(whiteListedLib));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
#elif defined(XP_LINUX)
|
|
constexpr static const char* whitelist[] = {
|
|
+ // NSS libraries used by clearkey.
|
|
"libfreeblpriv3.so",
|
|
"libsoftokn3.so",
|
|
+ // glibc libraries merged into libc.so.6; see bug 1725828 and
|
|
+ // the corresponding code in GMPParent.cpp.
|
|
+ "libdl.so.2",
|
|
+ "libpthread.so.0",
|
|
+ "librt.so.1",
|
|
};
|
|
|
|
nsTArray<nsCString> libs;
|
|
SplitAt(", ", aLibs, libs);
|
|
for (const nsCString& lib : libs) {
|
|
for (const char* whiteListedLib : whitelist) {
|
|
if (lib.EqualsASCII(whiteListedLib)) {
|
|
auto libHandle = dlopen(whiteListedLib, RTLD_NOW | RTLD_GLOBAL);
|
|
@@ -251,17 +257,17 @@ mozilla::ipc::IPCResult GMPChild::RecvPr
|
|
if (error) {
|
|
// We should always have an error, but gracefully handle just in
|
|
// case.
|
|
nsAutoCString nsError{error};
|
|
CrashReporter::AppendAppNotesToCrashReport(nsError);
|
|
}
|
|
// End bug 1698718 logging.
|
|
|
|
- MOZ_CRASH("Couldn't load lib needed by NSS");
|
|
+ MOZ_CRASH("Couldn't load lib needed by media plugin");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endif
|
|
return IPC_OK();
|
|
}
|
|
|
|
diff --git a/dom/media/gmp/GMPParent.cpp b/dom/media/gmp/GMPParent.cpp
|
|
--- a/dom/media/gmp/GMPParent.cpp
|
|
+++ b/dom/media/gmp/GMPParent.cpp
|
|
@@ -871,16 +871,30 @@ RefPtr<GenericPromise> GMPParent::ParseC
|
|
mLibs = "dxva2.dll"_ns;
|
|
#endif
|
|
} else {
|
|
GMP_PARENT_LOG_DEBUG("%s: Unrecognized key system: %s, failing.",
|
|
__FUNCTION__, mDisplayName.get());
|
|
return GenericPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
|
|
}
|
|
|
|
+#ifdef XP_LINUX
|
|
+ // These glibc libraries were merged into libc.so.6 as of glibc
|
|
+ // 2.34; they now exist only as stub libraries for compatibility and
|
|
+ // newly linked code won't depend on them, so we need to ensure
|
|
+ // they're loaded for plugins that may have been linked against a
|
|
+ // different version of glibc. (See also bug 1725828.)
|
|
+ if (!mDisplayName.EqualsASCII("clearkey")) {
|
|
+ if (!mLibs.IsEmpty()) {
|
|
+ mLibs.AppendLiteral(", ");
|
|
+ }
|
|
+ mLibs.AppendLiteral("libdl.so.2, libpthread.so.0, librt.so.1");
|
|
+ }
|
|
+#endif
|
|
+
|
|
nsCString codecsString = NS_ConvertUTF16toUTF8(m.mX_cdm_codecs);
|
|
nsTArray<nsCString> codecs;
|
|
SplitAt(",", codecsString, codecs);
|
|
|
|
// Parse the codec strings in the manifest and map them to strings used
|
|
// internally by Gecko for capability recognition.
|
|
//
|
|
// Google's code to parse manifests can be used as a reference for strings
|