Compare commits

...
Sign in to create a new pull request.

50 commits

Author SHA1 Message Date
Martin Osvald
27c9e2b243 Fix FTBFS due to gcc 16 on rawhide 2026-01-07 14:50:23 +01:00
Martin Osvald
45c38600d4 New version 3.12.1 (rhbz#2290535)
Fix cassandane test failures
2026-01-07 11:39:49 +01:00
Martin Osvald
65b8e0d76b Create directory structure under /var using tmpfiles.d 2025-12-12 15:12:10 +01:00
Martin Osvald
cac73e1fb8 Remove sscg option --package from cyrus-imapd-init.service (rhbz#2416688)
Ref: https://sgallagh.wordpress.com/2025/10/23/sscg-4-0-0-release-announcement/
2025-11-24 07:58:01 +01:00
František Hrdina
adaa751944 Update of fmf plans 2025-08-12 09:50:44 +02:00
František Zatloukal
ec9a720aee Rebuilt for icu 77.1 2025-08-06 09:52:54 +02:00
Fedora Release Engineering
0a4d6d316a Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 18:58:33 +00:00
Jitka Plesnikova
0d1778b5d4 Perl 5.42 rebuild 2025-07-08 14:25:18 +02:00
Zbigniew Jędrzejewski-Szmek
c33ad39dd5 Drop call to %sysusers_create_compat
After https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers,
rpm will handle account creation automatically.
2025-02-11 14:36:23 +01:00
Joe Orton
234d299804 - enable the idled daemon in the default cyrus.conf 2025-01-28 06:41:21 +00:00
Nikita Sanjay Patwa
e188d2585e Corrected the declaration and defination of patch_doc_t and find_cb 2025-01-27 14:54:50 +05:30
Fedora Release Engineering
32d115906f Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 15:09:06 +00:00
Pete Walter
c8494b5a17 Rebuild for ICU 76 2024-12-08 22:08:58 +00:00
Orion Poplawski
9085a5dda2 Rebuild for clamav 1.4.1 2024-10-24 21:23:58 -06:00
Richard W.M. Jones
978b5ce25f Rebuild for Jansson 2.14 (https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/3PYINSQGKQ4BB25NQUI2A2UCGGLAG5ND/) 2024-10-22 16:53:21 +01:00
Fedora Release Engineering
ed0770d28f Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 20:26:49 +00:00
Jitka Plesnikova
c609550ba8 Perl 5.40 rebuild 2024-06-11 06:21:50 +02:00
Martin Osvald
7124191fa5 Cassandane: do not depend on imaptest, clean up BuildRequires
- Re-enable LTO
2024-06-10 17:39:39 +02:00
Martin Osvald
2ba4b274b8 Fix CVE-2024-34055 (rhbz#2290512)
- Convert to %autorelease and %autochangelog
2024-06-05 15:07:43 +02:00
Martin Osvald
4fc0a4e86e Convert to %autorelease and %autochangelog
[skip changelog]
2024-06-05 09:14:32 +02:00
Martin Osvald
29e8a4b74d Fix broken imtest links (rhbz#2283375) 2024-05-27 13:37:09 +02:00
Martin Osvald
17f4394a60 Remove dependency on transfig package (rhbz#2274689) 2024-04-17 10:52:13 +02:00
Martin Osvald
8ac0598a00 New version 3.8.2
spec file clean up
2024-04-03 12:36:37 +02:00
Martin Osvald
817bcc5066 Fixed crashes in imapd/pop3d & cyr_info
imapd/pop3d crashing on TLS shutdown (rhbz#2256083)
cyr_info crashes while printing conf-all/default confugiration (rhbz#2267210)
2024-03-02 07:15:35 +01:00
Martin Osvald
f7ad189e5e Do not create mail group to prevent dependency loop (rhbz#2266335) 2024-02-27 17:26:52 +01:00
Pete Walter
b7ef6cbe6c Rebuild for ICU 74 2024-01-31 22:56:06 +00:00
Pete Walter
1f11bd7b84 Rebuild for ICU 74 2024-01-31 19:19:05 +00:00
Fedora Release Engineering
c5f36b05bb Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-24 08:49:02 +00:00
Fedora Release Engineering
93db7ba835 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 16:35:40 +00:00
Sandro Mani
9b1a600f39 Rebuild (shapelib) 2023-12-24 10:57:25 +01:00
Martin Osvald
9c6f263a28 Enable jmap support again (rhbz#1940012) 2023-12-10 18:41:21 +01:00
Yaakov Selkowitz
f318097aba Fix build with libxml2 2.12.0
Resolves: rhbz#2251888
2023-12-07 11:26:21 -05:00
Yaakov Selkowitz
379b3a422b Use pcre2posix instead of the deprecated pcreposix (rhbz#2128286)
Patch is based on https://github.com/cyrusimap/cyrus-imapd/pull/4736
and https://github.com/cyrusimap/cyrus-imapd/pull/4741
2023-12-07 11:26:21 -05:00
Martin Osvald
4176c0e598 SPDX migration
ref:

https://gitlab.com/fedora/legal/fedora-license-data/-/issues/249
https://github.com/spdx/license-list-XML/issues/2044
2023-10-02 16:36:50 +02:00
Martin Osvald
d6312b4c47 New version 3.8.1 (rhbz#2238280)
Small fix for libs sub-package to better conform with packaging guidelines
Include cassandane sources in srpm
Rename imtest to cyr_imtest to solve conflict with python-fslpy (rhbz#2227990)
2023-09-13 16:13:28 +02:00
Martin Osvald
f485ab9701 Improve spec file to conform with packaging guidelines (rhbz#2228751) 2023-08-03 12:37:14 +02:00
Martin Osvald
7f480dddc1 Merge #8 Add rpminspect waivers 2023-07-31 12:37:39 +00:00
Martin Osvald
85a66bf880 Add rpminspect waivers 2023-07-31 14:34:04 +02:00
Martin Osvald
605db0c509 cyrus-imapd.spec - Refine Requires: to avoid the need to test interoperability between various combinations of old and new subpackages 2023-07-31 12:17:41 +02:00
Martin Osvald
90ceccd9f6 Remove utils dependency on main package (rhbz#2224702) 2023-07-22 11:45:46 +02:00
Martin Osvald
6b9850d1a9 New version 3.8.0 (rhbz#2169331)
Remove attribute always_inline for buf_len to fix compilation error
Use systemd-sysusers for cyrus user and group (rhbz#2139054)
2023-07-21 14:25:48 +02:00
Fedora Release Engineering
e38d276f83 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 16:53:13 +00:00
František Zatloukal
881fe11b48 Rebuilt for ICU 73.2 2023-07-13 22:20:48 +02:00
Jitka Plesnikova
c4bb0886ac Perl 5.38 re-rebuild updated packages 2023-07-13 10:13:20 +02:00
František Zatloukal
b587f7fb49 Rebuilt for ICU 73.2 2023-07-11 22:13:43 +02:00
Jitka Plesnikova
bbb98a98a3 Perl 5.38 rebuild 2023-07-11 15:18:14 +02:00
Martin Osvald
f8deeb399d Cassandane related improvements
Cassandane: Sync split CI test and spec file
Cassandane: Fully turn off sending messages through syslog()
  and allow syslog dependent tests to pass
Cassandane: Enable building with cld2 support to fix failing tests
2023-06-30 12:19:23 +02:00
Orion Poplawski
473e4cdd2a Rebuild for clamav 1.0.0 2023-01-22 13:44:18 -07:00
Fedora Release Engineering
37133f0fe1 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 00:54:11 +00:00
Jitka Plesnikova
e1a37f0ef8 Remove perl(MODULE_COMPAT), it will be replaced by generators 2023-01-13 09:29:41 +01:00
24 changed files with 2392 additions and 1900 deletions

12
.gitignore vendored
View file

@ -3,13 +3,5 @@
/.*.swp
/results_cyrus-imapd/
/cyrus-imapd-*/
/cassandane-testdata-ca669d4b.tar.gz
/cassandane-17d372f.tar.gz
/cyrus-imapd-3.2.4.tar.gz
/cassandane-8d3fced.tar.gz
/cyrus-imapd-3.2.6.tar.gz
/cyrus-imapd-3.4.3.tar.gz
/cyrus-imapd-3.4.4.tar.gz
/cyrus-imapd-3.6.0.tar.gz
/cyrus-imapd-3.6.0.tar.gz.sig
/ellie-pub.key
/cyrus-imapd-*.tar.gz
/cyrus-imapd-*.gz.sig

View file

@ -4,6 +4,8 @@
# The idea here is to run tests on the just-compiled version of cyrus-imapd.
# However, many of the build locations are just random temporary directories, and
# so this requires some finesse.
#
# Example config: https://github.com/cyrusimap/cyrus-imapd/blob/master/cassandane/cassandane.ini.example
[cassandane]
rootdir = CASSDIR/work
@ -35,9 +37,10 @@ quota = cyr_quota
# backupd = yes
[config]
altnamespace = no
unixhierarchysep = no
client_timeout = 60
# Keep altnamespace on by default, many tests fail when set to no
#altnamespace = no
#unixhierarchysep = no
#client_timeout = 60
#[caldavtalk]
#basedir = CASSDIR/cassandane/testdata

1613
changelog Normal file

File diff suppressed because it is too large Load diff

1
ci.fmf Normal file
View file

@ -0,0 +1 @@
resultsdb-testcase: separate

View file

@ -9,4 +9,4 @@ ConditionPathExists=!/etc/pki/cyrus-imapd/cyrus-imapd-ca.pem
Type=oneshot
Group=mail
RemainAfterExit=no
ExecStart=/usr/bin/sscg --package cyrus-imapd --cert-file /etc/pki/cyrus-imapd/cyrus-imapd.pem --cert-key-file /etc/pki/cyrus-imapd/cyrus-imapd-key.pem --ca-file /etc/pki/cyrus-imapd/cyrus-imapd-ca.pem --cert-key-mode=0640
ExecStart=/usr/bin/sscg --cert-file /etc/pki/cyrus-imapd/cyrus-imapd.pem --cert-key-file /etc/pki/cyrus-imapd/cyrus-imapd-key.pem --ca-file /etc/pki/cyrus-imapd/cyrus-imapd-ca.pem --cert-key-mode=0640

File diff suppressed because it is too large Load diff

View file

@ -1,5 +0,0 @@
d /run/cyrus 0750 cyrus mail -
d /run/cyrus/db 0700 cyrus mail -
d /run/cyrus/lock 0700 cyrus mail -
d /run/cyrus/proc 0700 cyrus mail -
d /run/cyrus/socket 0750 cyrus mail -

17
ellie-pub.key Normal file
View file

@ -0,0 +1,17 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFU5pZUBCAC+m05W9nJnBkrfFO9I+iimF1WCsSZNFoASJ3WEeZxIkOQO9BZj
aKf8EP/nK7nEfNGZ2m+OrAtQU/+I8Sk1ppHuwZgENLvRzLsBGbv80kDKBw31Nd1f
sCpVQs4b8zlohXjq0UN8tT5NcGJnGE7ahoOHzJk/0Ll76oVmOZvSw+WHBp1945m2
Q8CbIbfmyuv7NF6GtGDVilPeIPsDnh5w5usjpKsxjYHKpy6Rtf4MbcCLtkRbHFra
KJD+xum0PgPdCAEEbQsSXQgwOd0TZ59avRVVef674PjWqIuudUGUhJ/f9OWOj7LG
6QgJR6yvCy7Bc2eAN4RnIIzaUZGaJDKDCNozABEBAAG0ImVsbGllIHRpbW9uZXkg
PGVsbGllQGZhc3RtYWlsLmNvbT6JATgEEwECACIFAlU5pZUCGwMGCwkIBwMCBhUI
AgkKCwQWAgMBAh4BAheAAAoJEFVPBP6zY3jgb9gH/3GPDLGybo7SYZMtBmfe+Udf
tcRkTtH+o2pf2rh6KwPhhEDuOXWVCIUPWXsWIVU2K5Y8AdBIHOEoSUp3n8juV57I
u9CfDI718/WaHgEpYrq5DqyROAFr+sGahcb6C40+V/CeUSAmKVhFGniuALUSAQ+B
XVj/i2EAFNg/5ALkPYDnDYDqm7Ak6odDbktYQz987y38sg3EMC/2wi2EoOG1VWeG
twFD8HKmXZw+u6cYtFh9K1hOBZm+PhLHr3h1MHTuWYeBKkT3YqaGtXMwi704LlNr
HU8beOHSNBSsVYJ61B4kgBA7p+qnx6xIpU2KfAJl8cgjCYwrq8yo+Lm9TazagfM=
=dIwC
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,16 +1,25 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts: [bodhi_update_push_testing]
decision_context: bodhi_update_push_testing
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
#gating rawhide
#Rawhide
--- !Policy
product_versions:
- fedora-*
decision_contexts: [bodhi_update_push_stable]
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
#gating rhel
--- !Policy
product_versions:
- rhel-*
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-public.functional}
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional}

View file

@ -0,0 +1,13 @@
diff --git a/cassandane/Cassandane/BuildInfo.pm b/cassandane/Cassandane/BuildInfo.pm
index f98bf2d..19720ec 100644
--- a/cassandane/Cassandane/BuildInfo.pm
+++ b/cassandane/Cassandane/BuildInfo.pm
@@ -71,7 +71,7 @@ sub _read_buildinfo
my ($destdir, $prefix) = @_;
my $cyr_buildinfo;
- foreach my $bindir (qw(sbin cyrus/bin)) {
+ foreach my $bindir (qw(bin sbin cyrus/bin)) {
my $p = "$destdir$prefix/$bindir/cyr_buildinfo";
if (-x $p) {
$cyr_buildinfo = $p;

View file

@ -1,7 +1,7 @@
diff --git a/utils/annotator.pl b/utils/annotator.pl
diff --git a/cassandane/utils/annotator.pl b/cassandane/utils/annotator.pl
index 265c73f..8af3d58 100755
--- a/utils/annotator.pl
+++ b/utils/annotator.pl
--- a/cassandane/utils/annotator.pl
+++ b/cassandane/utils/annotator.pl
@@ -140,6 +140,8 @@ GetOptions(
xlog "annotator $$ starting";
Cassandane::AnnotatorDaemon->run(

View file

@ -1,26 +1,7 @@
diff --git a/Cassandane/Instance.pm b/Cassandane/Instance.pm
index fb36b8f..78e7100 100644
--- a/Cassandane/Instance.pm
+++ b/Cassandane/Instance.pm
@@ -2146,12 +2146,8 @@ sub setup_syslog_replacement
{
my ($self) = @_;
- if (not(-e 'utils/syslog.so') || not(-e 'utils/syslog_probe')) {
- xlog "utils/syslog.so not found (do you need to run 'make'?)";
- xlog "tests will not examine syslog output";
- $self->{have_syslog_replacement} = 0;
- return;
- }
+ $self->{have_syslog_replacement} = 0;
+ return;
$self->{syslog_fname} = "$self->{basedir}/conf/log/syslog";
$self->{have_syslog_replacement} = 1;
diff --git a/Cassandane/Util/Log.pm b/Cassandane/Util/Log.pm
index 7c17f0c..9eb07ad 100644
--- a/Cassandane/Util/Log.pm
+++ b/Cassandane/Util/Log.pm
diff --git a/cassandane/Cassandane/Util/Log.pm b/cassandane/Cassandane/Util/Log.pm
index a44005c..5bb5710 100644
--- a/cassandane/Cassandane/Util/Log.pm
+++ b/cassandane/Cassandane/Util/Log.pm
@@ -51,9 +51,6 @@ our @EXPORT = qw(
my $verbose = 0;
@ -31,11 +12,68 @@ index 7c17f0c..9eb07ad 100644
sub xlog
{
my $id;
@@ -74,7 +71,6 @@ sub xlog
$msg .= "($id) " if $id;
$msg .= join(' ', @_);
print STDERR "$msg\n";
@@ -87,7 +84,6 @@ sub xlog
else {
print STDERR "$msg\n";
}
- syslog(LOG_ERR, "$msg");
}
sub set_verbose
diff --git a/cassandane/utils/syslog.c b/cassandane/utils/syslog.c
index 20d3763..0238d82 100644
--- a/cassandane/utils/syslog.c
+++ b/cassandane/utils/syslog.c
@@ -116,14 +116,28 @@ EXPORTED void syslog(int priority, const char *format, ...)
va_start(ap, format);
fake_vsyslog(priority, format, ap);
va_end(ap);
+}
+
+EXPORTED void
+__attribute__((format(printf, 3, 4)))
+__syslog_chk(int priority, int whatever __attribute__((unused)),
+ const char *format, ...)
+{
+ va_list ap;
va_start(ap, format);
- real_vsyslog(priority, format, ap);
+ fake_vsyslog(priority, format, ap);
va_end(ap);
}
EXPORTED void vsyslog(int priority, const char *format, va_list ap)
{
fake_vsyslog(priority, format, ap);
- real_vsyslog(priority, format, ap);
+}
+
+EXPORTED void
+__attribute__((format(printf, 3, 0)))
+__vsyslog_chk(int priority, int whatever __attribute__((unused)), const char *format, va_list ap)
+{
+ fake_vsyslog(priority, format, ap);
}
diff --git a/cassandane/Cassandane/Instance.pm b/cassandane/Cassandane/Instance.pm
index 77ddd54..3162fc6 100644
--- a/cassandane/Cassandane/Instance.pm
+++ b/cassandane/Cassandane/Instance.pm
@@ -2347,17 +2347,6 @@ sub setup_syslog_replacement
return;
}
- # Can't reliably replace syslog when source fortification is in play,
- # and syslog_probe can't reliably detect whether the replacement has
- # worked or not in this case, so just turn syslog replacement off if
- # we detect source fortification
- if ($self->{buildinfo}->get('version', 'FORTIFY_LEVEL')) {
- xlog "Cyrus was built with -D_FORTIFY_SOURCE";
- xlog "tests will not examine syslog output";
- $self->{have_syslog_replacement} = 0;
- return;
- }
-
$self->{syslog_fname} = "$self->{basedir}/conf/log/syslog";
$self->{have_syslog_replacement} = 1;

View file

@ -1,15 +0,0 @@
diff --git a/Cassandane/Instance.pm b/Cassandane/Instance.pm
index 78e7100..edf6f5d 100644
--- a/Cassandane/Instance.pm
+++ b/Cassandane/Instance.pm
@@ -492,9 +492,7 @@ sub _find_binary
my $base = $self->{cyrus_destdir} . $self->{cyrus_prefix};
if ($name eq 'delve') {
- my $lib = `ldd $base/libexec/imapd` || die "can't ldd imapd";
- $lib =~ m{(/\S+)/lib/libxapian-([0-9.]+)\.so};
- return "$1/bin/xapian-delve-$2";
+ return "/bin/xapian-delve";
}
foreach (qw( bin sbin libexec libexec/cyrus-imapd lib cyrus/bin ))

View file

@ -1,7 +1,27 @@
diff --git a/doc/examples/imapd_conf/normal.conf b/doc/examples/imapd_conf/normal.conf
index 95b54e9..3935b77 100644
--- a/doc/examples/imapd_conf/normal.conf
+++ b/doc/examples/imapd_conf/normal.conf
diff -uap cyrus-imapd-3.8.3/doc/examples/cyrus_conf/prefork.conf.2 cyrus-imapd-3.8.3/doc/examples/cyrus_conf/prefork.conf
--- cyrus-imapd-3.8.3/doc/examples/cyrus_conf/prefork.conf.2 2024-04-26 01:59:22.000000000 +0100
+++ cyrus-imapd-3.8.3/doc/examples/cyrus_conf/prefork.conf 2025-01-15 15:56:40.112544167 +0000
@@ -19,8 +19,8 @@ SERVICES {
# nntps cmd="nntpd -s" listen="nntps" prefork=1
# these are only necessary if using HTTP for CalDAV, CardDAV, or RSS
-# http cmd="httpd" listen="http" prefork=3
-# https cmd="httpd -s" listen="https" prefork=1
+ http cmd="httpd" listen="http" prefork=3
+ https cmd="httpd -s" listen="https" prefork=1
# at least one LMTP is required for delivery
# lmtp cmd="lmtpd" listen="lmtp" prefork=0
@@ -51,5 +51,5 @@ EVENTS {
DAEMON {
# this is only necessary if using idled for IMAP IDLE
-# idled cmd="idled"
+ idled cmd="idled"
}
diff -uap cyrus-imapd-3.8.3/doc/examples/imapd_conf/normal.conf.2 cyrus-imapd-3.8.3/doc/examples/imapd_conf/normal.conf
--- cyrus-imapd-3.8.3/doc/examples/imapd_conf/normal.conf.2 2024-04-08 04:46:02.000000000 +0100
+++ cyrus-imapd-3.8.3/doc/examples/imapd_conf/normal.conf 2025-01-15 15:55:44.361093153 +0000
@@ -10,7 +10,7 @@ admins: cyrus
###################################################################
@ -44,7 +64,7 @@ index 95b54e9..3935b77 100644
-# Allowed values: caldav, carddav, domainkey, ischedule, rss
-httpmodules: caldav carddav
+# Fedora default: enable all modules besides admin and tzdist
+httpmodules: caldav carddav domainkey freebusy ischedule rss webdav
+httpmodules: caldav carddav domainkey freebusy ischedule jmap rss webdav
# If enabled, the partitions will also be hashed, in addition to the
# hashing done on configuration directories. This is recommended if one
@ -88,18 +108,3 @@ index 95b54e9..3935b77 100644
# File containing the global certificate used for ALL services (imap,
# pop3, lmtp, sieve)
#tls_server_cert: /etc/ssl/certs/ssl-cert-snakeoil.pem
diff --git a/doc/examples/cyrus_conf/prefork.conf b/doc/examples/cyrus_conf/prefork.conf
index 186fe66..ab97848 100644
--- a/doc/examples/cyrus_conf/prefork.conf
+++ b/doc/examples/cyrus_conf/prefork.conf
@@ -19,8 +19,8 @@ SERVICES {
# nntps cmd="nntpd -s" listen="nntps" prefork=1
# these are only necessary if using HTTP for CalDAV, CardDAV, or RSS
-# http cmd="httpd" listen="http" prefork=3
-# https cmd="httpd -s" listen="https" prefork=1
+ http cmd="httpd" listen="http" prefork=3
+ https cmd="httpd -s" listen="https" prefork=1
# at least one LMTP is required for delivery
# lmtp cmd="lmtpd" listen="lmtp" prefork=0

View file

@ -1,26 +0,0 @@
diff --git a/perl/sieve/managesieve/Makefile.PL.in b/perl/sieve/managesieve/Makefile.PL.in
index 7180b98..d589ebe 100644
--- a/perl/sieve/managesieve/Makefile.PL.in
+++ b/perl/sieve/managesieve/Makefile.PL.in
@@ -69,7 +69,7 @@ WriteMakefile(
'ABSTRACT' => 'Cyrus Sieve management interface',
'VERSION_FROM' => "@top_srcdir@/perl/sieve/managesieve/managesieve.pm", # finds $VERSION
'MYEXTLIB' => '../lib/.libs/libisieve.a @top_builddir@/perl/.libs/libcyrus.a @top_builddir@/perl/.libs/libcyrus_min.a',
- 'LIBS' => ["$LIB_SASL @SSL_LIBS@ @LIB_UUID@ @LIB_REGEX@ @ZLIB@ @SQLITE_LIBADD@ @MYSQL_LIBADD@ @PGSQL_LIBADD@"],
+ 'LIBS' => ["$LIB_SASL @SSL_LIBS@ @LIB_UUID@ @LIB_REGEX@ @ZLIB@ @SQLITE_LIBADD@ @MYSQL_LIBADD@ @PGSQL_LIBADD@ -lpcreposix"],
'CCFLAGS' => '@GCOV_CFLAGS@',
'DEFINE' => '-DPERL_POLLUTE', # e.g., '-DHAVE_SOMETHING'
'INC' => "-I@top_srcdir@/lib -I@top_srcdir@/perl/sieve -I@top_srcdir@/perl/sieve/lib @SASLFLAGS@ @SSL_CPPFLAGS@",
diff --git a/perl/imap/Makefile.PL.in b/perl/imap/Makefile.PL.in
index 71416cc..f76cda6 100644
--- a/perl/imap/Makefile.PL.in
+++ b/perl/imap/Makefile.PL.in
@@ -91,7 +91,7 @@ WriteMakefile(
'LD' => $Config{ld} . ' @GCOV_LDFLAGS@',
'OBJECT' => 'IMAP.o',
'MYEXTLIB' => '@top_builddir@/perl/.libs/libcyrus.a @top_builddir@/perl/.libs/libcyrus_min.a',
- 'LIBS' => [ "$LIB_SASL @SSL_LIBS@ @LIB_UUID@ @ZLIB@ @GCOV_LIBS@ @LIBCAP_LIBS@"],
+ 'LIBS' => [ "$LIB_SASL @SSL_LIBS@ @LIB_UUID@ @ZLIB@ @GCOV_LIBS@ @LIBCAP_LIBS@ -lpcreposix"],
'DEFINE' => '-DPERL_POLLUTE', # e.g., '-DHAVE_SOMETHING'
'INC' => "-I@top_srcdir@ -I@top_srcdir@/com_err/et @SASLFLAGS@ @SSL_CPPFLAGS@ @GCOV_CFLAGS@ -I@top_srcdir@/perl/imap",
'EXE_FILES' => [cyradm],

View file

@ -0,0 +1,13 @@
diff --git a/lib/util.c b/lib/util.c
index a2eae15..ef8c25b 100644
--- a/lib/util.c
+++ b/lib/util.c
@@ -1188,7 +1188,7 @@ EXPORTED int buf_getline(struct buf *buf, FILE *fp)
#ifdef HAVE_DECLARE_OPTIMIZE
EXPORTED inline size_t buf_len(const struct buf *buf)
- __attribute__((always_inline, optimize("-O3")));
+ __attribute__((optimize("-O3")));
#endif
EXPORTED inline size_t buf_len(const struct buf *buf)
{

40
patch-cyrus-rename-imtest Normal file
View file

@ -0,0 +1,40 @@
diff --git a/Makefile.am b/Makefile.am
index 71333b0..52317da 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2092,14 +2092,14 @@ endif
## The @$(MKDIR_P) line is added due to a bug in Automake 1.10 and can be removed if using Automake 1.12.
@$(MKDIR_P) $(DESTDIR)$(bindir)
cd $(DESTDIR)$(bindir) && \
- $(LN_S) -f imtest httptest && \
- $(LN_S) -f imtest lmtptest && \
- $(LN_S) -f imtest mupdatetest && \
- $(LN_S) -f imtest nntptest && \
- $(LN_S) -f imtest pop3test && \
- $(LN_S) -f imtest sivtest && \
- $(LN_S) -f imtest smtptest && \
- $(LN_S) -f imtest synctest
+ $(LN_S) -f cyr_imtest httptest && \
+ $(LN_S) -f cyr_imtest lmtptest && \
+ $(LN_S) -f cyr_imtest mupdatetest && \
+ $(LN_S) -f cyr_imtest nntptest && \
+ $(LN_S) -f cyr_imtest pop3test && \
+ $(LN_S) -f cyr_imtest sivtest && \
+ $(LN_S) -f cyr_imtest smtptest && \
+ $(LN_S) -f cyr_imtest synctest
uninstall-hook: cyrus-makemaker-uninstall-workaround
if PERL
diff --git a/imtest/imtest.c b/imtest/imtest.c
index 725ff62..d9406e1 100644
--- a/imtest/imtest.c
+++ b/imtest/imtest.c
@@ -3040,7 +3040,7 @@ int main(int argc, char **argv)
}
if (!*prot) {
- if (!strcasecmp(prog, "imtest"))
+ if (!strcasecmp(prog, "cyr_imtest"))
prot = "imap";
else if (!strcasecmp(prog, "pop3test"))
prot = "pop3";

View file

@ -1,20 +0,0 @@
diff --git a/imap/squatter.c b/imap/squatter.c
index 6a7accf1b..0c2de4d7a 100644
--- a/imap/squatter.c
+++ b/imap/squatter.c
@@ -427,8 +427,13 @@ static void expand_mboxnames(strarray_t *sa, int nmboxnames,
else {
/* Translate any separators in mailboxname */
char *intname = mboxname_from_external(mboxnames[i], &squat_namespace, NULL);
- int flags = recursive_flag ? 0 : MBOXTREE_SKIP_CHILDREN;
- mboxlist_mboxtree(intname, addmbox, sa, flags);
+ if (!intname || *intname == '\0') {
+ fprintf(stderr, "Mailbox %s: %s\n",
+ mboxnames[i], error_message(IMAP_MAILBOX_BADNAME));
+ } else {
+ int flags = recursive_flag ? 0 : MBOXTREE_SKIP_CHILDREN;
+ mboxlist_mboxtree(intname, addmbox, sa, flags);
+ }
free(intname);
}

35
plans.fmf Normal file
View file

@ -0,0 +1,35 @@
/tier1-internal:
plan:
import:
url: https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd.git
name: /plans/tier1/internal
/tier1-public:
plan:
import:
url: https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd.git
name: /plans/tier1/public
/tier2-tier3-internal:
plan:
import:
url: https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd.git
name: /plans/tier2-tier3/internal
/tier2-tier3-public:
plan:
import:
url: https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd.git
name: /plans/tier2-tier3/public
/others-internal:
plan:
import:
url: https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd.git
name: /plans/others/internal
/others-public:
plan:
import:
url: https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd.git
name: /plans/others/public

View file

@ -1,6 +0,0 @@
summary: Test plan with all Fedora tests
discover:
how: fmf
url: https://src.fedoraproject.org/tests/cyrus-imapd.git
execute:
how: tmt

10
rpminspect.yaml Normal file
View file

@ -0,0 +1,10 @@
---
badfuncs:
allowed:
# mupdate uses gethostbyname (safely) to check if the IP address
# of the given hostname is local.
/usr/libexec/cyrus-imapd/mupdate:
- gethostbyname
# smmapd uses gethostbyname (safely) to verify user's host.
/usr/libexec/cyrus-imapd/smmapd:
- gethostbyname

View file

@ -1,4 +1,2 @@
SHA512 (cyrus-imapd-3.6.0.tar.gz) = d2b21117e7d0dd93212a43ca42098dc8b59613cb45ed2287d381c8c363026ac29386dfd90f07fa2ce8a77f56dddd19f2cc5b80d9c60c400d65cbb1d52a8db93c
SHA512 (cyrus-imapd-3.6.0.tar.gz.sig) = 190cc2f1ec43ccd18500855346249dbb1aca834ced862dc601c7c5fd91e3f161a633166969da48b1c185e690b02c6e8c55e2cca06bf4e9bc0c110f2e086bdf5d
SHA512 (cassandane-testdata-ca669d4b.tar.gz) = c153ab0a57d04d9deeabc5ef724eaecc05030c23b170abaa44eaea2e7df409efcdeb24871f7896759e85d64193fb9f289a470b0af9a593a740ffcc45c80033ff
SHA512 (ellie-pub.key) = af6e01f004d57c3f68106a572a62ba8b340d5158e2877c27343bbbab32c23b6df5c4e88ac883dc64388aff276d4c317821ddf90c213a88a295a8e69be781c01c
SHA512 (cyrus-imapd-3.12.1.tar.gz) = ec2727eb0567ebf978ff4db9e9086bc01fdc2739b6e06cad73cf74f9af990c30a70130aa2474d822d8ca078e1012a60179101de90845bf40f7a9b47a8b5e4d92
SHA512 (cyrus-imapd-3.12.1.tar.gz.sig) = a548769b7443a179cbfeabd20fce113d94b9ccbf134aab3c6aa5197edcad41f1a73f1d28ba8e2b80046457053949344385ca68b22489d47721d4760e42cd4dd4

4
systemd-sysusers.conf Normal file
View file

@ -0,0 +1,4 @@
#Type Name ID GECOS Home directory Shell
g saslauth 76
u cyrus 76:mail "Cyrus IMAP Server" /var/lib/imap /sbin/nologin
m cyrus saslauth

21
systemd-tmpfiles.conf Normal file
View file

@ -0,0 +1,21 @@
d /run/cyrus 0750 cyrus mail -
d /run/cyrus/db 0700 cyrus mail -
d /run/cyrus/lock 0700 cyrus mail -
d /run/cyrus/proc 0700 cyrus mail -
d /run/cyrus/socket 0750 cyrus mail -
d /var/lib/imap 0750 cyrus mail -
d /var/lib/imap/backup 0700 cyrus mail -
d /var/lib/imap/db 0700 cyrus mail -
d /var/lib/imap/log 0700 cyrus mail -
d /var/lib/imap/meta 0700 cyrus mail -
d /var/lib/imap/md5 0700 cyrus mail -
d /var/lib/imap/msg 0700 cyrus mail -
d /var/lib/imap/proc 0700 cyrus mail -
d /var/lib/imap/ptclient 0700 cyrus mail -
d /var/lib/imap/quota 0700 cyrus mail -
d /var/lib/imap/rpm 0700 cyrus mail -
d /var/lib/imap/sieve 0700 cyrus mail -
d /var/lib/imap/socket 0750 cyrus mail -
d /var/lib/imap/sync 0700 cyrus mail -
d /var/lib/imap/user 0700 cyrus mail -
d /var/spool/imap 0700 cyrus mail -