Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d4ccb53c7 |
8 changed files with 210 additions and 165 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -12,4 +12,5 @@
|
|||
/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-3.6.4.tar.gz
|
||||
/cyrus-imapd-3.6.4.tar.gz.sig
|
||||
|
|
|
|||
247
cyrus-imapd.spec
247
cyrus-imapd.spec
|
|
@ -1,14 +1,13 @@
|
|||
%global testdata_commit ca669d4b76c71cbeb4fa840e263e2c031e19ea88
|
||||
%global testdata_short %(echo %{testdata_commit} | cut -c -8)
|
||||
|
||||
# Cassandane was split into separate CI test, run '--with cassandane' to enable it.
|
||||
%bcond_with cassandane
|
||||
|
||||
Name: cyrus-imapd
|
||||
Version: 3.6.0
|
||||
Release: 3%{?dist}
|
||||
Version: 3.6.4
|
||||
Release: 1%{?dist}
|
||||
Summary: A high-performance email, contacts and calendar server
|
||||
License: BSD-Attribution-HPND-disclaimer
|
||||
URL: http://www.cyrusimap.org/
|
||||
|
||||
%define ssl_pem_file_prefix /etc/pki/%name/%name
|
||||
# cyrus-imapd does not to support LTO
|
||||
# https://github.com/cyrusimap/cyrus-imapd/pull/4679
|
||||
%define _lto_cflags %{nil}
|
||||
|
||||
# UID/GID 76 have long been reserved for Cyrus
|
||||
%define uid 76
|
||||
|
|
@ -18,15 +17,34 @@ Release: 3%{?dist}
|
|||
%define cyrusgroup mail
|
||||
%define cyrexecdir %_libexecdir/%name
|
||||
|
||||
%define ssl_pem_file_prefix /etc/pki/%name/%name
|
||||
|
||||
%global __provides_exclude ^perl\\(AnnotateInlinedCIDs\\)$
|
||||
|
||||
Summary: A high-performance email, contacts and calendar server
|
||||
License: BSD
|
||||
URL: http://www.cyrusimap.org/
|
||||
# Cassandane testsuite now called from separate CI test and no longer executed during build time:
|
||||
# https://src.fedoraproject.org/tests/cyrus-imapd/blob/main/f/Sanity/cassandane
|
||||
# CASSANDANE* and CASSANDANE*_END used for extracting commands needed for running the testsuite.
|
||||
# Run: `rpmbuild '--with cassandane'` to enable it.
|
||||
# Run: `echo '%%_with_cassandane 1' >> ~/.rpmmacros && dnf builddep rpmbuild/SPECS/cyrus-imapd.spec`
|
||||
# to install cassandane dependencies.
|
||||
%bcond_with cassandane
|
||||
|
||||
Source0: https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-imapd-%version/cyrus-imapd-%version.tar.gz
|
||||
Source1: https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-imapd-%version/cyrus-imapd-%version.tar.gz.sig
|
||||
Source2: ellie-pub.key
|
||||
Source10: cyrus-imapd.logrotate
|
||||
Source11: cyrus-imapd.pam-config
|
||||
Source12: cyrus-imapd.sysconfig
|
||||
Source13: cyrus-imapd.magic
|
||||
# XXX A systemd timer would probably be better
|
||||
Source14: cyrus-imapd.cron-daily
|
||||
Source15: README.rpm
|
||||
Source16: cyrus-imapd.service
|
||||
Source17: cyrus-imapd-init.service
|
||||
Source18: cyrus-imapd.tmpfiles.conf
|
||||
|
||||
# A template config file for cassandane; we will substitute in varions values.
|
||||
Source81: cassandane.ini
|
||||
|
||||
|
||||
# Adapt a timeout to handle our slower builders
|
||||
|
|
@ -45,42 +63,17 @@ Patch2: patch-cyrus-rename-quota
|
|||
# https://github.com/cyrusimap/cyrus-imapd/issues/2629#issuecomment-456925909
|
||||
Patch3: patch-cyrus-perl-linking
|
||||
|
||||
# https://github.com/cyrusimap/cyrus-imapd/pull/3892
|
||||
Patch4: patch-cyrus-squatter-assert-crash
|
||||
|
||||
|
||||
Source10: cyrus-imapd.logrotate
|
||||
Source11: cyrus-imapd.pam-config
|
||||
Source12: cyrus-imapd.sysconfig
|
||||
Source13: cyrus-imapd.magic
|
||||
# XXX A systemd timer would probably be better
|
||||
Source14: cyrus-imapd.cron-daily
|
||||
Source15: README.rpm
|
||||
Source16: cyrus-imapd.service
|
||||
Source17: cyrus-imapd-init.service
|
||||
Source18: cyrus-imapd.tmpfiles.conf
|
||||
|
||||
# Source files for running the Cassandane test suite at build time.
|
||||
Source80: https://github.com/brong/Net-CalDAVTalk/archive/%{testdata_commit}/cassandane-testdata-%{testdata_short}.tar.gz
|
||||
|
||||
# A template config file for cassandane; we will substitute in varions values.
|
||||
Source81: cassandane.ini
|
||||
|
||||
# These are source files and not patches because you can't use autosetup to
|
||||
# apply patches to secondary unpacked source files.
|
||||
|
||||
# Cassandane patches:
|
||||
# Prevent cassandane from trying to syslog things
|
||||
Source91: patch-cassandane-no-syslog
|
||||
|
||||
Patch91: patch-cassandane-no-syslog
|
||||
# Tell the annotator script to run as the current user/group
|
||||
# Upstream ticket https://github.com/cyrusimap/cyrus-imapd/issues/1995
|
||||
Source92: patch-cassandane-fix-annotator
|
||||
|
||||
Patch92: patch-cassandane-fix-annotator
|
||||
# TODO libexec/cyrus-imapd path element got into upstream:
|
||||
# https://github.com/cyrusimap/cyrus-imapd/commit/9233f70bf7a2872ab0b456ea294ce36e0e01e182
|
||||
# try to get fixed the below upstream to work on Fedora:
|
||||
# https://github.com/cyrusimap/cyrus-imapd/commit/f10eee167313418d84e63d215310477d4fe68e94
|
||||
Source93: patch-cassandane-xapian-delve-path
|
||||
Patch93: patch-cassandane-xapian-delve-path
|
||||
|
||||
|
||||
BuildRequires: autoconf automake bison flex gcc gcc-c++ git glibc-langpack-en
|
||||
|
|
@ -88,7 +81,9 @@ BuildRequires: groff libtool make pkgconfig rsync systemd transfig
|
|||
|
||||
BuildRequires: perl-devel perl-generators perl(ExtUtils::MakeMaker)
|
||||
BuildRequires: perl(Pod::Html)
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} > 8
|
||||
BuildRequires: gnupg2
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} && 0%{?fedora} >= 0
|
||||
BuildRequires: clamav-devel shapelib-devel
|
||||
|
|
@ -137,15 +132,16 @@ BuildRequires: clamav-data perl(Unix::Syslog)
|
|||
BuildRequires: perl(HTTP::Daemon) perl(DBI) perl(Net::LDAP::Constant)
|
||||
BuildRequires: perl(Net::LDAP::Server)
|
||||
BuildRequires: perl(Module::Load::Conditional)
|
||||
|
||||
# These were only for JMAP-Tester
|
||||
# perl(Moo), perl(Moose), perl(MooseX::Role::Parameterized) perl(Throwable), perl(Safe::Isa)
|
||||
BuildRequires: cpan cld2-devel
|
||||
BuildRequires: perl(Plack::Loader) perl(Test::TCP) perl(Data::GUID) perl(Digest::CRC) perl(Moo) perl(Types::Standard)
|
||||
BuildRequires: perl(DBD::SQLite)
|
||||
%endif
|
||||
|
||||
Requires(pre): shadow-utils
|
||||
%{?systemd_requires}
|
||||
|
||||
Requires: %name-utils = %version-%release
|
||||
Requires: cyrus-imapd-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: cyrus-imapd-utils = %{version}-%{release}
|
||||
Requires: file sscg
|
||||
|
||||
%{?perl_default_filter}
|
||||
|
|
@ -175,7 +171,7 @@ hierarchies.
|
|||
|
||||
%package devel
|
||||
Summary: Cyrus IMAP server development files
|
||||
Requires: %name%{?_isa} = %version-%release
|
||||
Requires: cyrus-imapd-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
|
||||
%description devel
|
||||
|
|
@ -203,7 +199,8 @@ and the its utilities.
|
|||
|
||||
%package utils
|
||||
Summary: Cyrus IMAP server administration utilities
|
||||
Requires: cyrus-imapd = %{version}-%{release}
|
||||
Requires: cyrus-imapd-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: perl-Cyrus = %{version}-%{release}
|
||||
|
||||
%description utils
|
||||
The cyrus-imapd-utils package contains administrative tools for the
|
||||
|
|
@ -213,6 +210,7 @@ one running the server.
|
|||
|
||||
%package virusscan
|
||||
Summary: Cyrus virus scanning utility
|
||||
Requires: cyrus-imapd-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description virusscan
|
||||
The cyrus-imapd-virusscan package contains the cyr_virusscan utility. It
|
||||
|
|
@ -231,34 +229,18 @@ This package contains Perl libraries used to interface with Cyrus IMAPd.
|
|||
|
||||
|
||||
%prep
|
||||
%if 0%{?fedora}
|
||||
%if 0%{?fedora} || 0%{?rhel} > 8
|
||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%endif
|
||||
|
||||
%autosetup -p1
|
||||
|
||||
# https://github.com/cyrusimap/cyrus-imapd/commit/216934c3f4884999206715db3499fc0162e1d65c
|
||||
echo %version > VERSION
|
||||
|
||||
# Install the Fedora-specific documentation file
|
||||
install -m 644 %SOURCE15 doc/
|
||||
|
||||
%if %{with cassandane}
|
||||
pushd cassandane
|
||||
mkdir work
|
||||
tar xf %SOURCE80
|
||||
|
||||
patch -p1 < %SOURCE91
|
||||
patch -p1 < %SOURCE92
|
||||
patch -p1 < %SOURCE93
|
||||
|
||||
cp %SOURCE81 cassandane.ini
|
||||
# RF rpm-buildroot-usage
|
||||
sed -i \
|
||||
-e "s!CASSDIR!$(pwd)!" \
|
||||
-e "s!BUILDROOT!%buildroot!" \
|
||||
cassandane.ini
|
||||
|
||||
popd
|
||||
%endif
|
||||
|
||||
# The pm files have shebang lines for some reason
|
||||
sed -i -e '1{/usr.bin.perl/d}' perl/annotator/{Message,Daemon}.pm
|
||||
|
||||
|
|
@ -295,33 +277,37 @@ sed -i \
|
|||
# cyrus-imapd-*/tools/mkimap - fixed
|
||||
# cyrus-imapd-*/tools/translatesieve - still contains shabang
|
||||
|
||||
|
||||
%build
|
||||
# This is the test suite, which doesn't build much but does verify its dependencies.
|
||||
# If this is done after the configure call, the one thing it does build fails
|
||||
# because the configure macro puts some hardening flags into the environment.
|
||||
%if %{with cassandane}
|
||||
pushd cassandane
|
||||
export NOCYRUS=1
|
||||
make
|
||||
mkdir work
|
||||
cp %SOURCE81 cassandane.ini
|
||||
# RF rpm-buildroot-usage
|
||||
sed -i \
|
||||
-e "s!CASSDIR!$(pwd)!" \
|
||||
-e "s!BUILDROOT!%buildroot!" \
|
||||
cassandane.ini
|
||||
popd
|
||||
%endif
|
||||
|
||||
# Notes about configure options:
|
||||
# --enable-objectstore
|
||||
# It's experimental, and it doesn't appear that either openio or caringo are
|
||||
# in Fedora.
|
||||
# --with-cyrus-prefix and --with-service-path went away; use --with-libexecdir=
|
||||
# instead.
|
||||
|
||||
# Needed because of Patch4.
|
||||
autoreconf -vi
|
||||
%build
|
||||
#autoreconf -vi
|
||||
|
||||
%if %{with cassandane}
|
||||
# Needed for Cyrus::FastMail tests to pass
|
||||
export CLD2_CFLAGS="-I/usr/include/cld2"
|
||||
export CLD2_LIBS="-lcld2"
|
||||
%endif
|
||||
|
||||
%configure \
|
||||
--disable-silent-rules \
|
||||
\
|
||||
--libexecdir=%cyrexecdir \
|
||||
--with-clamav \
|
||||
%if %{with cassandane}
|
||||
`# Needed for Cyrus::FastMail tests to pass` \
|
||||
--with-cld2 \
|
||||
%endif
|
||||
--with-extraident="%release Fedora" \
|
||||
--with-krbimpl=mit \
|
||||
--with-ldap=/usr \
|
||||
|
|
@ -341,8 +327,7 @@ autoreconf -vi
|
|||
--enable-nntp \
|
||||
--enable-replication \
|
||||
--enable-unit-tests \
|
||||
--enable-xapian \
|
||||
#
|
||||
--enable-xapian
|
||||
|
||||
# Try to get rid of RPATH....
|
||||
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
|
||||
|
|
@ -362,6 +347,19 @@ done
|
|||
# This isn't built by default, but this package has always installed it.
|
||||
make notifyd/notifytest
|
||||
|
||||
# CASSANDANE_BUILD
|
||||
%if %{with cassandane}
|
||||
# This module is not available in Fedora:
|
||||
yes | cpan IO::File::fcntl
|
||||
|
||||
# This is the test suite, which doesn't build much but does verify its dependencies.
|
||||
pushd cassandane
|
||||
export NOCYRUS=1
|
||||
make
|
||||
popd
|
||||
%endif
|
||||
# CASSANDANE_BUILD_END
|
||||
|
||||
|
||||
%install
|
||||
make install DESTDIR=%buildroot
|
||||
|
|
@ -490,22 +488,38 @@ chmod -x %buildroot/%perl_vendorlib/Cyrus/Annotator/Daemon.pm
|
|||
|
||||
|
||||
%check
|
||||
export LD_LIBRARY_PATH=%buildroot/%_libdir
|
||||
export CYRUS_USER=$USER
|
||||
|
||||
# TODO: The mime_boundary_extended cunit test fails due to LTO on ppc64le, skip it for now:
|
||||
%ifnarch ppc64le
|
||||
make %{?_smp_mflags} check || exit 1
|
||||
%if %{without cassandane}
|
||||
exit 0
|
||||
%endif
|
||||
|
||||
%ifarch %{ix86} armv7hl
|
||||
exit 0
|
||||
%endif
|
||||
|
||||
%if %{without cassandane}
|
||||
exit 0
|
||||
# TODO: The mime_boundary_extended cunit test fails due to LTO on ppc64le, skip it for now:
|
||||
%ifnarch ppc64le
|
||||
make -j%{?_smp_build_ncpus} check || exit 1
|
||||
%endif
|
||||
|
||||
# Cassandane cannot run solely as root because imap services would otherwise quit:
|
||||
#$ grep -R "must run as the Cyrus user" | egrep "imapd|httpd|pop3d"
|
||||
#imap/imapd.c: if (geteuid() == 0) fatal("must run as the Cyrus user", EX_USAGE);
|
||||
#imap/httpd.c: if (geteuid() == 0) fatal("must run as the Cyrus user", EX_USAGE);
|
||||
#imap/pop3d.c: if (geteuid() == 0) fatal("must run as the Cyrus user", EX_USAGE);
|
||||
getent group saslauth >/dev/null || /usr/sbin/groupadd -g %gid -r saslauth
|
||||
# Set up shell and home directory for cyrus so that debugging of failing tests is easier.
|
||||
getent passwd cyrus >/dev/null && /usr/sbin/usermod -s /bin/bash cyrus
|
||||
getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /var/lib/imap -g %cyrusgroup \
|
||||
-G saslauth -s /bin/bash -u %uid -r %cyrususer -m
|
||||
|
||||
# Set LD_LIBRARY_PATH for cyrus so that it points to cyrus-imapd libraries we just built.
|
||||
[ -z "`grep LD_LIBRARY_PATH /var/lib/imap/.bashrc`" ] && echo "export LD_LIBRARY_PATH=%buildroot/%_libdir" >> /var/lib/imap/.bashrc
|
||||
|
||||
# CASSANDANE
|
||||
# TODO: Temporary workaround for missing mail::IMAPTalk methods.
|
||||
# https://github.com/robmueller/mail-imaptalk/commit/0cf2624edca6fc0dd1cdc851a8710af928ba1f1e
|
||||
dnf downgrade -y https://kojipkgs.fedoraproject.org//packages/perl-Mail-IMAPTalk/4.04/22.fc39/noarch/perl-Mail-IMAPTalk-4.04-22.fc39.noarch.rpm
|
||||
|
||||
# Run the Cassandane test suite. This will exhaustively test the various
|
||||
# server components, but running it in a mock chroot is rather an exercise.
|
||||
pushd cassandane
|
||||
|
|
@ -514,11 +528,13 @@ mkdir -p imaptest/src
|
|||
ln -s /usr/bin/imaptest imaptest/src
|
||||
ln -s /usr/share/imaptest/tests imaptest/src
|
||||
|
||||
chown -R cyrus:mail .
|
||||
|
||||
# Construct the set of excluded tests to pass to Cassandane
|
||||
# ---------------------------------------------------------
|
||||
exclude=()
|
||||
tests=(
|
||||
# This exclusion list was verified on 2021-08-11.
|
||||
# This exclusion list was verified on 2024-03-27.
|
||||
|
||||
# This tests coredumping and won't work on a machine where systemd
|
||||
# intercepts coredumps, which includes our builders.
|
||||
|
|
@ -528,21 +544,29 @@ tests=(
|
|||
# https://github.com/cyrusimap/cyrus-imapd/issues/2386
|
||||
Admin.imap_admins
|
||||
|
||||
Rename.intermediate_cleanup
|
||||
|
||||
# TODO check this one
|
||||
Cyrus::List.no_tombstones
|
||||
# TODO run tests outside the build process:
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1887674
|
||||
# The below tests try to search in syslog file which we don't allow due to mock,
|
||||
# happenes for:
|
||||
# $ grep -R "assert.*@lines" cyrus-imapd-*/cassandane/
|
||||
Reconstruct.reconstruct_snoozed
|
||||
SearchSquat.simple
|
||||
SearchSquat.skip_unmodified
|
||||
# TODO currently failing
|
||||
Cyrus::Flags.userflags_crash
|
||||
Cyrus::JMAPCalendars.calendarevent_query_no_sched_inbox
|
||||
Cyrus::SearchSquat.nonincremental
|
||||
Cyrus::SearchSquat.incremental
|
||||
Cyrus::SearchSquat.one_doc_per_message
|
||||
)
|
||||
for i in ${tests[@]}; do exclude+=("!$i"); done
|
||||
|
||||
# If cyrus-imapd is built without cld2 support, the below tests are expected to fail:
|
||||
if [ -z "$CLD2_CFLAGS" ]; then
|
||||
exclude+=(
|
||||
"!Cyrus::FastMail.cyr_expire_delete_findpaths_legacy"
|
||||
"!Cyrus::FastMail.cyr_expire_delete_findpaths_nolegacy"
|
||||
"!Cyrus::FastMail.relocate_legacy_domain"
|
||||
"!Cyrus::FastMail.relocate_legacy_nodomain"
|
||||
"!Cyrus::FastMail.relocate_legacy_nosearchdb"
|
||||
"!Cyrus::FastMail.relocate_messages_still_exist"
|
||||
"!Cyrus::FastMail.search_deleted_folder"
|
||||
"!Cyrus::FastMail.sync_reset_legacy"
|
||||
"!Cyrus::FastMail.sync_reset_nolegacy"
|
||||
)
|
||||
fi
|
||||
|
||||
%ifarch s390x
|
||||
# This one test fails occasionally on s390x because the hosts are just too slow
|
||||
|
|
@ -553,7 +577,13 @@ exclude+=("!Master.maxforkrate")
|
|||
%endif
|
||||
|
||||
# Add -vvv for too much output
|
||||
./testrunner.pl %{?_smp_mflags} -v -f pretty ${exclude[@]} 2>&1
|
||||
sudo -u cyrus -g mail LD_LIBRARY_PATH=%buildroot/%_libdir ./testrunner.pl -j%{?_smp_build_ncpus} -v -f pretty ${exclude[@]} 2>&1 || :
|
||||
# CASSANDANE_END
|
||||
|
||||
if [ -s "work/failed" ]; then
|
||||
cat work/failed
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
%pre
|
||||
|
|
@ -673,6 +703,9 @@ getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /v
|
|||
|
||||
|
||||
%changelog
|
||||
* Thu Apr 04 2024 Martin Osvald <mosvald@redhat.com> - 3.6.4-1
|
||||
- New version 3.6.4
|
||||
|
||||
* Sun Jan 22 2023 Orion Poplawski <orion@nwra.com> - 3.6.0-3
|
||||
- Rebuild for clamav 1.0.0
|
||||
|
||||
|
|
|
|||
17
ellie-pub.key
Normal file
17
ellie-pub.key
Normal 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-----
|
||||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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,46 @@ 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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
diff --git a/Cassandane/Instance.pm b/Cassandane/Instance.pm
|
||||
diff --git a/cassandane/Cassandane/Instance.pm b/cassandane/Cassandane/Instance.pm
|
||||
index 78e7100..edf6f5d 100644
|
||||
--- a/Cassandane/Instance.pm
|
||||
+++ b/Cassandane/Instance.pm
|
||||
--- a/cassandane/Cassandane/Instance.pm
|
||||
+++ b/cassandane/Cassandane/Instance.pm
|
||||
@@ -492,9 +492,7 @@ sub _find_binary
|
||||
my $base = $self->{cyrus_destdir} . $self->{cyrus_prefix};
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
6
sources
6
sources
|
|
@ -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.6.4.tar.gz) = 4bad368b894c7bc376e18734249c43d3ad8f50d691435cbd4f80411e86007abf343f40a41fc336e4f432cd8e073fddb07bc738a6ce231bd8282681f59bb8f25b
|
||||
SHA512 (cyrus-imapd-3.6.4.tar.gz.sig) = f906569e2fe86677c3f3aebfdf8dea788dc48f437324033c426849e51ad041da9373075770733b0fde5a73e2d7cbb8ecbcb8d3f3be59616936f8b17d41f601a0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue