raven/extras/dovecot/dovecot-2.3.21-noengine.patch

932 lines
36 KiB
Diff
Raw Normal View History

2025-02-27 10:14:28 +06:00
<!DOCTYPE html>
<html lang='en'>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Tree - rpms/dovecot - src.fedoraproject.org</title>
<link rel="shortcut icon" type="image/vnd.microsoft.icon"
href="/theme/static/favicon.ico?version=5.14.1"/>
<link href="/theme/static/fedora-bootstrap-1.3.0/fedora-bootstrap.min.css?version=5.14.1"
type="text/css" rel="stylesheet" />
<link href="/theme/static/fonts/fonts.css?version=5.14.1"
rel="stylesheet" type="text/css" />
<link href="/theme/static/fonts/hack_fonts/css/hack-extended.min.css?version=5.14.1"
type="text/css" rel="stylesheet" />
<link href="/theme/static/theme.css?version=5.14.1"
type="text/css" rel="stylesheet" />
<link type="text/css" rel="stylesheet" nonce="tVkon2YYVluhJr8zARspqeYHx" href="/static/vendor/font-awesome/font-awesome.css?version=5.14.1"/>
<link type="text/css" rel="stylesheet" nonce="tVkon2YYVluhJr8zARspqeYHx" href="/static/pagure.css?version=5.14.1"/>
<link nonce="tVkon2YYVluhJr8zARspqeYHx" rel="stylesheet" href="/static/vendor/highlight.js/styles/github.css?version=5.14.1"/>
<link nonce="tVkon2YYVluhJr8zARspqeYHx" rel="stylesheet" href="/static/vendor/highlightjs-line-numbers/highlightjs-line-numbers.min.css?version=5.14.1"/>
<style nonce="tVkon2YYVluhJr8zARspqeYHx">
.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="40" src="/theme/static/pagure-logo.png?version=5.14.1"
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/dovecot/blob/rawhide/f/dovecot-2.3.21-noengine.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>&nbsp;/&nbsp;<a href="/rpms/dovecot"><strong>dovecot</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">
<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/dovecot.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/dovecot">
<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=dovecot">
<i class="fa fa-fw text-muted fa-exclamation-circle"></i>
<span class="d-none d-md-inline">Issues&nbsp;</span>
<span class="fa fa-external-link"></span>
</a>
</li>
<li class="nav-item mr-2 text-dark">
<a class="nav-link" href="/rpms/dovecot/pull-requests">
<i class="fa fa-fw text-muted fa-arrow-circle-down"></i>
<span class="d-none d-md-inline">Pull Requests&nbsp;</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/dovecot/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">
<!-- template: file.html -->
<div class="row">
<div class="col-2">
<nav class="nav nav-tabs nav-sidetabs flex-column flex-nowrap">
<a class=
"nav-link nowrap
"
href="/rpms/dovecot">
<i class="fa fa-home text-muted fa-fw"></i>&nbsp;<span class="d-none d-md-inline">Overview</span>
</a>
<a class=
"nav-link nowrap
active"
href="/rpms/dovecot/tree/rawhide">
<i class="fa fa-file-code-o text-muted fa-fw"></i>&nbsp;Files
</a>
<a class=
"nav-link nowrap
"
href="/rpms/dovecot/commits/rawhide">
<i class="fa fa-list-alt text-muted fa-fw" data-glyph="spreadsheet"></i>&nbsp;Commits
</a>
<a class=
"nav-link nowrap
"
href="/rpms/dovecot/branches?branchname=rawhide">
<i class="fa fa-random text-muted fa-fw"></i>&nbsp;Branches
</a>
<a class=
"nav-link nowrap
"
href="/rpms/dovecot/forks">
<i class="fa fa-code-fork text-muted fa-fw"></i>&nbsp;Forks
</a>
<a class=
"nav-link nowrap
"
href="/rpms/dovecot/releases">
<i class="fa fa-tags text-muted fa-fw"></i>&nbsp;Releases
</a>
<div class="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="line-height-1"></div>
<div id="orphan-section" class="pt-3 enforce-text-break">
<div class="line-height-1"></div>
</div>
<div class="pt-3">
<div class="line-height-1">
<h6>Bugzilla Assignee:</h6>
<dl>
<dt>Fedora: </dt>
<dd id="fedora_assignee_txt">
mhlavink
</dd>
<dt>EPEL: </dt>
<dd id="epel_assignee_txt">
mhlavink
</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">&times;</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="mhlavink"/>
<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="mhlavink" />
<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">&times;</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="tVkon2YYVluhJr8zARspqeYHx">
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 if (status === "monitoring-all") {
_label = "Monitoring all"
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
} else if (status === "monitoring-all-scratch") {
_label = "All - Scratch builds"
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
} else if (status === "monitoring-stable") {
_label = "Monitoring stable"
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
} else if (status === "monitoring-stable-scratch") {
_label = "Stable - 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/dovecot",
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/dovecot",
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/dovecot",
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/dovecot"
+ "&amp;template=package_unretirement");
});
_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/dovecot",
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 text-right">
<div class="btn-group">
<a href="#" class="btn btn-outline-light border-secondary text-dark btn-sm dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="fa fa-random fa-fw"></span> Branch: <span class="font-weight-bold">rawhide</span>
</a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f10">
<span class="fa fa-random fa-fw"></span> <span class="">f10</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f11">
<span class="fa fa-random fa-fw"></span> <span class="">f11</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f12">
<span class="fa fa-random fa-fw"></span> <span class="">f12</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f13">
<span class="fa fa-random fa-fw"></span> <span class="">f13</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f14">
<span class="fa fa-random fa-fw"></span> <span class="">f14</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f15">
<span class="fa fa-random fa-fw"></span> <span class="">f15</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f16">
<span class="fa fa-random fa-fw"></span> <span class="">f16</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f17">
<span class="fa fa-random fa-fw"></span> <span class="">f17</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f18">
<span class="fa fa-random fa-fw"></span> <span class="">f18</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f19">
<span class="fa fa-random fa-fw"></span> <span class="">f19</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f20">
<span class="fa fa-random fa-fw"></span> <span class="">f20</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f21">
<span class="fa fa-random fa-fw"></span> <span class="">f21</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f22">
<span class="fa fa-random fa-fw"></span> <span class="">f22</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f23">
<span class="fa fa-random fa-fw"></span> <span class="">f23</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f24">
<span class="fa fa-random fa-fw"></span> <span class="">f24</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f25">
<span class="fa fa-random fa-fw"></span> <span class="">f25</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f26">
<span class="fa fa-random fa-fw"></span> <span class="">f26</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f27">
<span class="fa fa-random fa-fw"></span> <span class="">f27</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f28">
<span class="fa fa-random fa-fw"></span> <span class="">f28</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f29">
<span class="fa fa-random fa-fw"></span> <span class="">f29</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f30">
<span class="fa fa-random fa-fw"></span> <span class="">f30</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f31">
<span class="fa fa-random fa-fw"></span> <span class="">f31</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f32">
<span class="fa fa-random fa-fw"></span> <span class="">f32</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f33">
<span class="fa fa-random fa-fw"></span> <span class="">f33</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f34">
<span class="fa fa-random fa-fw"></span> <span class="">f34</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f35">
<span class="fa fa-random fa-fw"></span> <span class="">f35</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f36">
<span class="fa fa-random fa-fw"></span> <span class="">f36</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f37">
<span class="fa fa-random fa-fw"></span> <span class="">f37</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f38">
<span class="fa fa-random fa-fw"></span> <span class="">f38</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f39">
<span class="fa fa-random fa-fw"></span> <span class="">f39</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f40">
<span class="fa fa-random fa-fw"></span> <span class="">f40</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f41">
<span class="fa fa-random fa-fw"></span> <span class="">f41</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f7">
<span class="fa fa-random fa-fw"></span> <span class="">f7</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f8">
<span class="fa fa-random fa-fw"></span> <span class="">f8</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/f9">
<span class="fa fa-random fa-fw"></span> <span class="">f9</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/main">
<span class="fa fa-random fa-fw"></span> <span class="">main</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/private-145241-branch">
<span class="fa fa-random fa-fw"></span> <span class="">private-145241-branch</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/dovecot/tree/private-1_1-branch">
<span class="fa fa-random fa-fw"></span> <span class="">private-1_1-branch</span>
</a>
<a class="dropdown-item pl-1 active" href="/rpms/dovecot/tree/rawhide">
<span class="fa fa-random fa-fw"></span> <span class="font-weight-bold">rawhide</span>
</a>
</div>
</div>
</div>
</div>
<!-- .card -->
<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/dovecot/tree/rawhide">
<span class="fa fa-random">
</span>&nbsp; rawhide
</a>
</li>
<li class="active breadcrumb-item">
<span class="fa fa-file" data-glyph="">
</span>&nbsp; dovecot-2.3.21-noengine.patch
</li>
</ol>
</div>
<div class="card-body p-0">
<div class="bg-light border text-right pr-2 py-1">
<form class="d-inline mx-2" method="POST" name="fork_project"
action="/fork_edit/rpms/dovecot/edit/rawhide/f/dovecot-2.3.21-noengine.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/dovecot/blob/rawhide/f/dovecot-2.3.21-noengine.patch" title="View as blob">Blob</a>
<a class="btn btn-secondary btn-sm" href="/rpms/dovecot/blame/dovecot-2.3.21-noengine.patch?identifier=rawhide" title="View git blame">Blame</a>
<a class="btn btn-secondary btn-sm" href="/rpms/dovecot/history/dovecot-2.3.21-noengine.patch?identifier=rawhide" title="View git log for this file">History</a>
<a class="btn btn-secondary btn-sm" href="/rpms/dovecot/raw/rawhide/f/dovecot-2.3.21-noengine.patch" title="View as raw">Raw</a>
</div>
<pre class="syntaxhighlightblock"><code class="lang-diff">diff -up dovecot-2.3.21/m4/ssl.m4.noengine dovecot-2.3.21/m4/ssl.m4
--- dovecot-2.3.21/m4/ssl.m4.noengine 2024-05-06 17:39:59.362886891 +0200
+++ dovecot-2.3.21/m4/ssl.m4 2024-05-06 17:42:17.945312656 +0200
@@ -233,6 +233,27 @@ AC_DEFUN([DOVECOT_SSL], [
AC_CHECK_LIB(ssl, ECDSA_SIG_set0, [
AC_DEFINE(HAVE_ECDSA_SIG_SET0,, [Build with ECDSA_SIG_set0 support])
],, $SSL_LIBS)
+ AC_CHECK_LIB(ssl, OSSL_PROVIDER_try_load, [
+ AC_DEFINE(HAVE_OSSL_PROVIDER_try_load,, [Build with OSSL_PROVIDER_try_load support])
+ ],, $SSL_LIBS)
+ AC_CHECK_LIB(ssl, OPENSSL_init_ssl, [
+ AC_DEFINE(HAVE_OPENSSL_init_ssl,, [Build with OPENSSL_init_ssl support])
+ ],, $SSL_LIBS)
+ AC_CHECK_LIB(ssl, OPENSSL_cleanup, [
+ AC_DEFINE(HAVE_OPENSSL_cleanup,, [OpenSSL supports OPENSSL_cleanup()])
+ ],, $SSL_LIBS)
+ AC_CHECK_LIB(ssl, OPENSSL_thread_stop, [
+ AC_DEFINE(HAVE_OPENSSL_thread_stop,, [OpenSSL supports OPENSSL_thread_stop()])
+ ],, $SSL_LIBS)
+ AC_CHECK_LIB(ssl, ERR_remove_thread_state, [
+ AC_DEFINE(HAVE_ERR_remove_thread_state,, [OpenSSL supports ERR_remove_thread_state()])
+ ],, $SSL_LIBS)
+ AC_CHECK_LIB(ssl, ERR_remove_state, [
+ AC_DEFINE(HAVE_ERR_remove_state,, [OpenSSL supports ERR_remove_state()])
+ ],, $SSL_LIBS)
+ AC_CHECK_LIB(ssl, ENGINE_by_id_DISABLED, [
+ AC_DEFINE(HAVE_ENGINE_by_id,, [OpenSSL supports ENGINE_by_id() - !!!EXPLICITELY DISABLED!!! ])
+ ],, $SSL_LIBS)
AC_CHECK_LIB(ssl, EC_GROUP_order_bits, [
AC_DEFINE(HAVE_EC_GROUP_order_bits,, [Build with EC_GROUP_order_bits support])
],, $SSL_LIBS)
diff --git dovecot-2.3.21/src/lib-dcrypt/dcrypt-openssl.c.noengine dovecot-2.3.21/src/lib-dcrypt/dcrypt-openssl.c
index 1cbe352541..239a981251 100644
--- dovecot-2.3.21/src/lib-dcrypt/dcrypt-openssl.c.noengine
+++ dovecot-2.3.21/src/lib-dcrypt/dcrypt-openssl.c
@@ -20,7 +20,6 @@
#include &lt;openssl/bio.h&gt;
#include &lt;openssl/pem.h&gt;
#include &lt;openssl/x509.h&gt;
-#include &lt;openssl/engine.h&gt;
#include &lt;openssl/hmac.h&gt;
#include &lt;openssl/objects.h&gt;
#include &lt;openssl/bn.h&gt;
diff -up dovecot-2.3.21/src/lib-ssl-iostream/dovecot-openssl-common.c.noengine dovecot-2.3.21/src/lib-ssl-iostream/dovecot-openssl-common.c
--- dovecot-2.3.21/src/lib-ssl-iostream/dovecot-openssl-common.c.noengine 2023-09-14 15:17:46.000000000 +0200
+++ dovecot-2.3.21/src/lib-ssl-iostream/dovecot-openssl-common.c 2024-05-06 17:39:59.363886901 +0200
@@ -3,13 +3,23 @@
#include &#34;lib.h&#34;
#include &#34;randgen.h&#34;
#include &#34;dovecot-openssl-common.h&#34;
+#include &#34;iostream-openssl.h&#34;
#include &lt;openssl/ssl.h&gt;
-#include &lt;openssl/engine.h&gt;
+#include &lt;openssl/err.h&gt;
+#ifdef HAVE_OSSL_PROVIDER_try_load
+# include &lt;openssl/provider.h&gt;
+#else
+# include &lt;openssl/engine.h&gt;
+#endif
#include &lt;openssl/rand.h&gt;
static int openssl_init_refcount = 0;
-static ENGINE *dovecot_openssl_engine;
+#ifdef HAVE_OSSL_PROVIDER_try_load
+static OSSL_PROVIDER *dovecot_openssl_engine = NULL;
+#else
+static ENGINE *dovecot_openssl_engine = NULL;
+#endif
#ifdef HAVE_SSL_NEW_MEM_FUNCS
static void *dovecot_openssl_malloc(size_t size, const char *u0 ATTR_UNUSED, int u1 ATTR_UNUSED)
@@ -17,12 +27,14 @@ static void *dovecot_openssl_malloc(size
static void *dovecot_openssl_malloc(size_t size)
#endif
{
+ if (size == 0)
+ return NULL;
/* this may be performance critical, so don&#39;t use
i_malloc() or calloc() */
void *mem = malloc(size);
- if (mem == NULL) {
+ if (unlikely(mem == NULL)) {
i_fatal_status(FATAL_OUTOFMEM,
- &#34;OpenSSL: malloc(%zu): Out of memory&#34;, size);
+ &#34;OpenSSL: malloc(%zu): Out of memory&#34;, size);
}
return mem;
}
@@ -33,10 +45,14 @@ static void *dovecot_openssl_realloc(voi
static void *dovecot_openssl_realloc(void *ptr, size_t size)
#endif
{
+ if (size == 0) {
+ free(ptr);
+ return NULL;
+ }
void *mem = realloc(ptr, size);
- if (mem == NULL) {
+ if (unlikely(mem == NULL)) {
i_fatal_status(FATAL_OUTOFMEM,
- &#34;OpenSSL: realloc(%zu): Out of memory&#34;, size);
+ &#34;OpenSSL: realloc(%zu): Out of memory&#34;, size);
}
return mem;
}
@@ -63,9 +79,13 @@ void dovecot_openssl_common_global_ref(v
/*i_warning(&#34;CRYPTO_set_mem_functions() was called too late&#34;);*/
}
+#ifdef HAVE_OPENSSL_init_ssl
+ OPENSSL_init_ssl(0, NULL);
+#else
SSL_library_init();
SSL_load_error_strings();
OpenSSL_add_all_algorithms();
+#endif
}
bool dovecot_openssl_common_global_unref(void)
@@ -76,30 +96,35 @@ bool dovecot_openssl_common_global_unref
return TRUE;
if (dovecot_openssl_engine != NULL) {
+#ifdef HAVE_OSSL_PROVIDER_try_load
+ OSSL_PROVIDER_unload(dovecot_openssl_engine);
+#else
ENGINE_finish(dovecot_openssl_engine);
+#endif
dovecot_openssl_engine = NULL;
}
+#ifdef HAVE_OPENSSL_cleanup
+ OPENSSL_cleanup();
+#else
/* OBJ_cleanup() is called automatically by EVP_cleanup() in
newer versions. Doesn&#39;t hurt to call it anyway. */
OBJ_cleanup();
-#ifdef HAVE_SSL_COMP_FREE_COMPRESSION_METHODS
+# if !defined(OPENSSL_NO_COMP)
SSL_COMP_free_compression_methods();
-#endif
+# endif
ENGINE_cleanup();
EVP_cleanup();
CRYPTO_cleanup_all_ex_data();
-#ifdef HAVE_OPENSSL_AUTO_THREAD_DEINIT
+# ifdef HAVE_OPENSSL_thread_stop
/* no cleanup needed */
-#elif defined(HAVE_OPENSSL_ERR_REMOVE_THREAD_STATE)
+# elif defined(HAVE_ERR_remove_thread_state)
/* This was marked as deprecated in v1.1. */
ERR_remove_thread_state(NULL);
-#else
+# elif defined(HAVE_ERR_remove_state)
/* This was deprecated by ERR_remove_thread_state(NULL) in v1.0.0. */
ERR_remove_state(0);
-#endif
+# endif
ERR_free_strings();
-#ifdef HAVE_OPENSSL_CLEANUP
- OPENSSL_cleanup();
#endif
return FALSE;
}
@@ -110,6 +135,7 @@ int dovecot_openssl_common_global_set_en
if (dovecot_openssl_engine != NULL)
return 1;
+#ifdef HAVE_ENGINE_by_id
ENGINE_load_builtin_engines();
dovecot_openssl_engine = ENGINE_by_id(engine);
if (dovecot_openssl_engine == NULL) {
@@ -128,5 +154,15 @@ int dovecot_openssl_common_global_set_en
dovecot_openssl_engine = NULL;
return -1;
}
+#elif defined(HAVE_OSSL_PROVIDER_try_load)
+ if ((dovecot_openssl_engine = OSSL_PROVIDER_try_load(NULL, engine, 1)) == NULL) {
+ *error_r = t_strdup_printf(&#34;Cannot load &#39;%s&#39;: %s&#34;, engine,
+ openssl_iostream_error());
+ return 0;
+ }
+ return 1;
+#else
+ *error_r = t_strdup_printf(&#34;Cannot load &#39;%s&#39;: No engine/provider support available&#34;, engine);
+#endif
return 1;
}
diff -up dovecot-2.3.21/src/lib-ssl-iostream/Makefile.am.noengine dovecot-2.3.21/src/lib-ssl-iostream/Makefile.am
--- dovecot-2.3.21/src/lib-ssl-iostream/Makefile.am.noengine 2023-09-14 15:17:46.000000000 +0200
+++ dovecot-2.3.21/src/lib-ssl-iostream/Makefile.am 2024-05-06 17:39:59.363886901 +0200
@@ -5,7 +5,8 @@ NOPLUGIN_LDFLAGS =
AM_CPPFLAGS = \
-I$(top_srcdir)/src/lib \
-I$(top_srcdir)/src/lib-test \
- -DMODULE_DIR=\&#34;&#34;$(moduledir)&#34;\&#34;
+ -DMODULE_DIR=\&#34;&#34;$(moduledir)&#34;\&#34; \
+ $(SSL_CFLAGS)
if BUILD_OPENSSL
module_LTLIBRARIES = libssl_iostream_openssl.la
</code></pre>
</div>
</div> <!-- end .card-->
</div>
</div>
<!-- /template: file.html -->
</div>
</div>
<div class="footer pt-4 text-white">
<div class="container">
<div class="d-flex align-items-center">
<div>
<div>Powered by <a href="https://pagure.io/pagure" class="notblue">Pagure</a> 5.14.1</div>
<div>
<a href="https://docs.pagure.org/pagure/usage/index.html" class="notblue">Documentation</a> &bull;
<a href="https://pagure.io/pagure/new_issue" class="notblue">File an Issue</a> &bull;
<a href="/about">About this Instance</a> &bull;
<a href="/ssh_info" class="notblue">SSH Hostkey/Fingerprint</a>
</div>
</div>
<div class="ml-auto text-right">
<div>&copy; Red Hat, Inc. and others.</div>
</div>
</div>
</div>
</div>
<script type="text/javascript" nonce="tVkon2YYVluhJr8zARspqeYHx" src="/static/vendor/jquery/jquery.min.js?version=5.14.1"></script>
<script src="/static/vendor/bootstrap/bootstrap.bundle.min.js?version=5.14.1"></script>
<script type="text/javascript" nonce="tVkon2YYVluhJr8zARspqeYHx">
$('[data-toggle="tooltip"]').tooltip({placement : 'bottom'});
$(".cancel_btn").click(function() {
history.back();
});
</script>
<script type="text/javascript" nonce="tVkon2YYVluhJr8zARspqeYHx" src="/static/vendor/lazyload/lazyload.min.js?version=5.14.1"></script>
<script type="text/javascript" nonce="tVkon2YYVluhJr8zARspqeYHx">
window.addEventListener("load", function(event) {
lazyload();
});
</script>
<script type="text/javascript" nonce="tVkon2YYVluhJr8zARspqeYHx">
$("#giturl-toggle").on('click', function(event){
event.stopPropagation();
$("#giturl-more").toggle();
$("#giturl-toggle").hide();
})
$(".fork_project_btn").click(function() {
$('#fork_project').submit();
});
$(".select-on-focus").on("focus", function() {
$(this).select();
});
</script>
<script type="text/javascript" nonce="tVkon2YYVluhJr8zARspqeYHx" src="/static/vendor/highlight.js/highlight.pack.js?version=5.14.1"></script>
<script type="text/javascript" nonce="tVkon2YYVluhJr8zARspqeYHx" src="/static/vendor/highlightjs-line-numbers/highlightjs-line-numbers.min.js?version=5.14.1"></script>
<script type="text/javascript" nonce="tVkon2YYVluhJr8zARspqeYHx" src="/static/vendor/highlight.js/spec.js?version=5.14.1"></script>
<script type="text/javascript" nonce="tVkon2YYVluhJr8zARspqeYHx">
$(document).ready(function() {
$('.fork_project_btn').click($("[name=fork_project]").submit);
$('pre.syntaxhighlightblock code').each(function(i, block) {
hljs.highlightBlock(block);
hljs.lineNumbersBlock(block);
});
var cls = "highlighted-line";
var lines = location.hash.substr(2).split('-').map(function (x) { return parseInt(x, 10) });
if (! isNaN(lines[0]))
{
for (var i = lines[lines.length - 1]; i >= lines[0]; i--) {
$('#_' + i).parent().parent().addClass(cls);
}
setTimeout(function(){
$("#_" + lines[0]).get(0).scrollIntoView({behavior: "instant", block: "start", inline: "nearest"});
}, 50);
}
});
</script>
<script type="text/javascript" nonce="tVkon2YYVluhJr8zARspqeYHx">
function updateHighlight() {
var cls = "highlighted-line";
$('.' + cls).removeClass(cls)
if (location.hash !== '') {
var lines = location.hash.substr(2).split('-').map(function (x) { return parseInt(x, 10) });
for (var i = lines[lines.length - 1]; i >= lines[0]; i--) {
$('[data-line-number=' + i + ']').closest('tr').addClass(cls);
}
return lines;
}
return [];
}
$(window).on('hashchange', updateHighlight);
var selected = [];
$("[data-line-number]").click(function (ev) {
var line = $(this).attr('data-line-number');
if (ev.shiftKey) {
selected = selected.slice(-1).concat(line);
} else {
selected = [line];
}
var hash = '_' + selected[0];
if (selected.length === 2) {
hash = '_' + Math.min(selected[0], selected[1]) + '-' + Math.max(selected[0], selected[1]);
}
window.location.hash = hash;
return false;
});
</script>
</body>
</html>