commit
c539d1a098
@ -0,0 +1,2 @@
|
|||||||
|
710d7c1c942240018d0f3693dbfec0a8299a0a5b SOURCES/cyrus-imapd-3.8.3.tar.gz
|
||||||
|
2cb01af57f5e1e2df8fd91aab28e94e7b566194b SOURCES/cyrus-imapd-3.8.3.tar.gz.sig
|
@ -0,0 +1,2 @@
|
|||||||
|
SOURCES/cyrus-imapd-3.8.3.tar.gz
|
||||||
|
SOURCES/cyrus-imapd-3.8.3.tar.gz.sig
|
@ -0,0 +1,34 @@
|
|||||||
|
---------------
|
||||||
|
Cyrus IMAPd RPM
|
||||||
|
---------------
|
||||||
|
|
||||||
|
This is a _very_ 'quick and dirty' install howto.
|
||||||
|
|
||||||
|
The following steps should lead you to a running Cyrus IMAP server:
|
||||||
|
|
||||||
|
1) Install on a distribution which is supported by this RPM. Don't install
|
||||||
|
on a dirty system, where you have previously installed from source.
|
||||||
|
2) Don't install if you have a previous Cyrus IMAPd installation <=2.1.x on
|
||||||
|
your box. Upgrading any Invoca rpm based installation should be fine.
|
||||||
|
3) Make sure you understand that this RPM installs in FHS compliant
|
||||||
|
directories, like /var/lib/imap and /var/spool/imap
|
||||||
|
4) Make sure cyrus-sasl is installed.
|
||||||
|
5) Make sure saslauthd is running. If not, edit /etc/sysconfig/saslauthd as
|
||||||
|
needed and do 'chkconfig saslauthd on ; service saslauthd start'
|
||||||
|
6) Install the cyrus-imapd RPMs.
|
||||||
|
7) If it's your first install of Cyrus IMAPd, then set a password for the
|
||||||
|
cyrus user in whatever database you are using to authenticate. When
|
||||||
|
using a local account, this should be 'passwd cyrus'.
|
||||||
|
8) Make sure your MTA delivers to Cyrus IMAPd, I recommend LMTP for this.
|
||||||
|
9) Start Cyrus IMAPd with 'service cyrus-imapd start'
|
||||||
|
10) Run cyradm and create a user. Usually it's something like this:
|
||||||
|
'cyradm --user=cyrus --auth=login localhost'
|
||||||
|
11) If you're using sendmail, be aware that cyrusv2.m4 included in standard
|
||||||
|
sendmail distribution uses socket /var/imap/socket/lmtp while this rpm
|
||||||
|
uses /var/lib/imap/socket/lmtp.
|
||||||
|
12) Check your syslog configuration. This RPM uses the mail facility to log
|
||||||
|
messages. On busy sites you may want to limit the mail facility to the
|
||||||
|
info priority with something like 'mail.info /var/log/maillog' in
|
||||||
|
/etc/syslog.conf.
|
||||||
|
|
||||||
|
Enjoy!
|
@ -0,0 +1,56 @@
|
|||||||
|
# A basic cassandane.ini file for running cassandane as part of the Fedora
|
||||||
|
# package build process.
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
[cassandane]
|
||||||
|
rootdir = CASSDIR/work
|
||||||
|
pwcheck = alwaystrue # This is enabled in Fedora builds
|
||||||
|
cleanup = no
|
||||||
|
maxworkers = 1
|
||||||
|
base_port = 19100
|
||||||
|
|
||||||
|
#[valgrind]
|
||||||
|
#enabled = no
|
||||||
|
|
||||||
|
# The installed copy
|
||||||
|
[cyrus default]
|
||||||
|
prefix = /usr
|
||||||
|
destdir = BUILDROOT
|
||||||
|
quota = cyr_quota
|
||||||
|
|
||||||
|
# Replication testing disabled
|
||||||
|
# [cyrus replica]
|
||||||
|
# [cyrus murder]
|
||||||
|
|
||||||
|
# Don't enable any of the gdb options but leave them here in case someone ever
|
||||||
|
# needs to do so
|
||||||
|
#[gdb]
|
||||||
|
# imapd = yes
|
||||||
|
# sync_server = yes
|
||||||
|
# lntpd = yes
|
||||||
|
# timsieved = yes
|
||||||
|
# backupd = yes
|
||||||
|
|
||||||
|
[config]
|
||||||
|
altnamespace = no
|
||||||
|
unixhierarchysep = no
|
||||||
|
client_timeout = 60
|
||||||
|
|
||||||
|
#[caldavtalk]
|
||||||
|
#basedir = CASSDIR/cassandane/testdata
|
||||||
|
|
||||||
|
[imaptest]
|
||||||
|
# Cassandane wants this to not be installed. Don't know why. To use it we
|
||||||
|
# have to make a directory and link things into it.
|
||||||
|
basedir = imaptest
|
||||||
|
|
||||||
|
# [jmaptester]
|
||||||
|
# basedir = JMAP-Tester
|
||||||
|
# The JMAP modules end up needing JSON-Typist (which I could bundle) and CryptX (which is a bit too much to bundle)
|
||||||
|
|
||||||
|
# [caldavtester]
|
||||||
|
# XXX Would need to include the source in the cyrus package just as cassandane is, and get it built before running tests
|
||||||
|
# basedir = ...
|
@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=One-time configuration for cyrus-imapd
|
||||||
|
|
||||||
|
ConditionPathExists=!/etc/pki/cyrus-imapd/cyrus-imapd.pem
|
||||||
|
ConditionPathExists=!/etc/pki/cyrus-imapd/cyrus-imapd-key.pem
|
||||||
|
ConditionPathExists=!/etc/pki/cyrus-imapd/cyrus-imapd-ca.pem
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
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
|
@ -0,0 +1,36 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# This file is run on a daily basis to perform a backup of your
|
||||||
|
# mailbox list which can be used to recreate mailboxes.db from backup.
|
||||||
|
# Restore is done using ctl_mboxlist after uncompressing the file.
|
||||||
|
|
||||||
|
BACKDIR="/var/lib/imap/backup"
|
||||||
|
MBOXLIST="${BACKDIR}/mboxlist"
|
||||||
|
ROTATE=6
|
||||||
|
|
||||||
|
# fallback to su if runuser not available
|
||||||
|
if [ -x /sbin/runuser ]; then
|
||||||
|
RUNUSER=runuser
|
||||||
|
else
|
||||||
|
RUNUSER=su
|
||||||
|
fi
|
||||||
|
|
||||||
|
# source custom configuration
|
||||||
|
if [ -f /etc/sysconfig/cyrus-imapd ]; then
|
||||||
|
. /etc/sysconfig/cyrus-imapd
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -x /usr/sbin/ctl_mboxlist ] || exit 0
|
||||||
|
[ -f /var/lib/imap/db/skipstamp ] || exit 0
|
||||||
|
|
||||||
|
# rotate mailbox lists
|
||||||
|
seq $[ $ROTATE - 1 ] -1 1 | while read i; do
|
||||||
|
[ -f ${MBOXLIST}.${i}.gz ] && mv -f ${MBOXLIST}.${i}.gz ${MBOXLIST}.$[ $i + 1 ].gz
|
||||||
|
done
|
||||||
|
[ -f ${MBOXLIST}.gz ] && mv -f ${MBOXLIST}.gz ${MBOXLIST}.1.gz
|
||||||
|
|
||||||
|
# export mailboxes.db
|
||||||
|
$RUNUSER - cyrus -s /bin/sh -c "umask 077 < /dev/null ; /usr/sbin/ctl_mboxlist -d | gzip > ${MBOXLIST}.gz"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
# EOF
|
@ -0,0 +1,7 @@
|
|||||||
|
/var/log/imapd.log /var/log/auth.log {
|
||||||
|
missingok
|
||||||
|
sharedscripts
|
||||||
|
postrotate
|
||||||
|
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
|
||||||
|
endscript
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
# Magic
|
||||||
|
# Magic data for file(1) command.
|
||||||
|
# Format is described in magic(files), where:
|
||||||
|
# files is 5 on V7 and BSD, 4 on SV, and ?? in the SVID.
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# skiplist: file(1) magic Cyrus skiplist DB
|
||||||
|
#
|
||||||
|
0 string \241\002\213\015skiplist\ file\0\0\0 Cyrus skiplist DB
|
@ -0,0 +1,5 @@
|
|||||||
|
#%PAM-1.0
|
||||||
|
auth required pam_nologin.so
|
||||||
|
auth include password-auth
|
||||||
|
account include password-auth
|
||||||
|
session include password-auth
|
@ -0,0 +1,22 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Cyrus-imapd IMAP/POP3 email server
|
||||||
|
After=local-fs.target network-online.target
|
||||||
|
|
||||||
|
Requires=cyrus-imapd-init.service
|
||||||
|
After=cyrus-imapd-init.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
EnvironmentFile=/etc/sysconfig/cyrus-imapd
|
||||||
|
ExecStart=/usr/libexec/cyrus-imapd/master $CYRUSOPTIONS
|
||||||
|
ExecReload=/bin/kill -HUP $MAINPID
|
||||||
|
PrivateTmp=true
|
||||||
|
|
||||||
|
# Cyrus may spawn many processes in normal operation. These figures are higher
|
||||||
|
# than the defaults, but may still need to be tuned for your local
|
||||||
|
# configuration.
|
||||||
|
TasksMax=2048
|
||||||
|
LimitNOFILE=16384
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
@ -0,0 +1,5 @@
|
|||||||
|
# Options to cyrus-master
|
||||||
|
CYRUSOPTIONS=""
|
||||||
|
|
||||||
|
# Mailbox list dumps are rotated n times via cron.daily
|
||||||
|
#ROTATE=6
|
@ -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
|
@ -0,0 +1,5 @@
|
|||||||
|
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 -
|
@ -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-----
|
@ -0,0 +1,14 @@
|
|||||||
|
diff --git a/cassandane/utils/annotator.pl b/cassandane/utils/annotator.pl
|
||||||
|
index 265c73f..8af3d58 100755
|
||||||
|
--- a/cassandane/utils/annotator.pl
|
||||||
|
+++ b/cassandane/utils/annotator.pl
|
||||||
|
@@ -140,6 +140,8 @@ GetOptions(
|
||||||
|
xlog "annotator $$ starting";
|
||||||
|
Cassandane::AnnotatorDaemon->run(
|
||||||
|
pid_file => $pidfile,
|
||||||
|
- port => $port
|
||||||
|
+ port => $port,
|
||||||
|
+ user => (getpwuid($<))[0],
|
||||||
|
+ group => (getgrgid($())[0],
|
||||||
|
);
|
||||||
|
xlog "annotator $$ exiting";
|
@ -0,0 +1,57 @@
|
|||||||
|
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;
|
||||||
|
|
||||||
|
-openlog('cassandane', '', LOG_LOCAL6)
|
||||||
|
- or die "Cannot openlog";
|
||||||
|
-
|
||||||
|
sub xlog
|
||||||
|
{
|
||||||
|
my $id;
|
||||||
|
@@ -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);
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
diff --git a/cassandane/Cassandane/Instance.pm b/cassandane/Cassandane/Instance.pm
|
||||||
|
index 78e7100..edf6f5d 100644
|
||||||
|
--- 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};
|
||||||
|
|
||||||
|
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 ))
|
@ -0,0 +1,105 @@
|
|||||||
|
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
|
||||||
|
@@ -10,7 +10,7 @@ admins: cyrus
|
||||||
|
###################################################################
|
||||||
|
|
||||||
|
# Configuration directory
|
||||||
|
-configdirectory: /var/lib/cyrus
|
||||||
|
+configdirectory: /var/lib/imap
|
||||||
|
|
||||||
|
# Directories for proc and lock files
|
||||||
|
proc_path: /run/cyrus/proc
|
||||||
|
@@ -19,18 +19,18 @@ mboxname_lockpath: /run/cyrus/lock
|
||||||
|
# Locations for DB files
|
||||||
|
# The following DB are recreated upon initialization, so should live in
|
||||||
|
# ephemeral storage for best performance.
|
||||||
|
-duplicate_db_path: /run/cyrus/deliver.db
|
||||||
|
-ptscache_db_path: /run/cyrus/ptscache.db
|
||||||
|
-statuscache_db_path: /run/cyrus/statuscache.db
|
||||||
|
-tls_sessions_db_path: /run/cyrus/tls_sessions.db
|
||||||
|
+duplicate_db_path: /run/cyrus/db/deliver.db
|
||||||
|
+ptscache_db_path: /run/cyrus/db/ptscache.db
|
||||||
|
+statuscache_db_path: /run/cyrus/db/statuscache.db
|
||||||
|
+tls_sessions_db_path: /run/cyrus/db/tls_sessions.db
|
||||||
|
|
||||||
|
# Which partition to use for default mailboxes
|
||||||
|
defaultpartition: default
|
||||||
|
-partition-default: /var/spool/cyrus/mail
|
||||||
|
+partition-default: /var/spool/imap
|
||||||
|
|
||||||
|
# If sieveusehomedir is false (the default), this directory is searched
|
||||||
|
# for Sieve scripts.
|
||||||
|
-sievedir: /var/spool/sieve
|
||||||
|
+sievedir: /var/lib/imap/sieve
|
||||||
|
|
||||||
|
###################################################################
|
||||||
|
## Important: KEEP THESE IN SYNC WITH cyrus.conf
|
||||||
|
@@ -51,19 +51,16 @@ syslog_prefix: cyrus
|
||||||
|
# Space-separated list of HTTP modules that will be enabled in
|
||||||
|
# httpd(8). This option has no effect on modules that are disabled at
|
||||||
|
# compile time due to missing dependencies (e.g. libical).
|
||||||
|
-#
|
||||||
|
-# 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 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
|
||||||
|
# partition has a very bushy mailbox tree.
|
||||||
|
hashimapspool: true
|
||||||
|
|
||||||
|
-# Enable virtual domains
|
||||||
|
-# and set default domain to localhost
|
||||||
|
-virtdomains: yes
|
||||||
|
-defaultdomain: localhost
|
||||||
|
+# Disable virtual domains by default
|
||||||
|
+virtdomains: off
|
||||||
|
|
||||||
|
###################################################################
|
||||||
|
## User experience settings
|
||||||
|
@@ -72,6 +69,14 @@ defaultdomain: localhost
|
||||||
|
# Minimum time between POP mail fetches in minutes
|
||||||
|
popminpoll: 1
|
||||||
|
|
||||||
|
+# Conversation support is required for jmap
|
||||||
|
+conversations: 1
|
||||||
|
+conversations_db: twoskip
|
||||||
|
+
|
||||||
|
+# This will default to on in 3.1, and improves compatibility with some Apple
|
||||||
|
+# devices. Upstream https://github.com/cyrusimap/cyrus-imapd/issues/1556
|
||||||
|
+specialusealways: 1
|
||||||
|
+
|
||||||
|
###################################################################
|
||||||
|
## User Authentication settings
|
||||||
|
###################################################################
|
||||||
|
@@ -99,6 +104,12 @@ sasl_auto_transition: no
|
||||||
|
## SSL/TLS Options
|
||||||
|
###################################################################
|
||||||
|
|
||||||
|
+# These three files will automatically be generated by the systemd unit when
|
||||||
|
+# the service starts for the first time.
|
||||||
|
+tls_server_cert: /etc/pki/cyrus-imapd/cyrus-imapd.pem
|
||||||
|
+tls_server_key: /etc/pki/cyrus-imapd/cyrus-imapd-key.pem
|
||||||
|
+tls_client_ca_file: /etc/pki/cyrus-imapd/cyrus-imapd-ca.pem
|
||||||
|
+
|
||||||
|
# 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
|
@ -0,0 +1,26 @@
|
|||||||
|
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@ -lpcre2-posix"],
|
||||||
|
'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@ -lpcre2-posix"],
|
||||||
|
'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],
|
@ -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)
|
||||||
|
{
|
@ -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";
|
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/imap/imapd.c b/imap/imapd.c
|
||||||
|
index 3cc75f5..a22a356 100644
|
||||||
|
--- a/imap/imapd.c
|
||||||
|
+++ b/imap/imapd.c
|
||||||
|
@@ -8022,7 +8022,7 @@ static void cmd_reconstruct(const char *tag, const char *name, int recursive)
|
||||||
|
fclose(stdout);
|
||||||
|
fclose(stderr);
|
||||||
|
|
||||||
|
- ret = snprintf(buf, sizeof(buf), "%s/quota", SBIN_DIR);
|
||||||
|
+ ret = snprintf(buf, sizeof(buf), "%s/cyr_quota", SBIN_DIR);
|
||||||
|
if(ret < 0 || ret >= (int) sizeof(buf)) {
|
||||||
|
/* in child, so fatailing won't disconnect our user */
|
||||||
|
fatal("quota buffer not sufficiently big", EX_CONFIG);
|
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/cunit/unit.c b/cunit/unit.c
|
||||||
|
index 46dc358..ca37f22 100644
|
||||||
|
--- a/cunit/unit.c
|
||||||
|
+++ b/cunit/unit.c
|
||||||
|
@@ -97,7 +97,7 @@ EXPORTED void fatal(const char *s, int code)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Each test gets a maximum of 20 seconds. */
|
||||||
|
-#define TEST_TIMEOUT_MS (20*1000)
|
||||||
|
+#define TEST_TIMEOUT_MS (300*1000)
|
||||||
|
|
||||||
|
static jmp_buf jbuf;
|
||||||
|
static const char *code;
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue