diff --git a/.cvsignore b/.cvsignore index ecea17f..752953c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -dovecot-20100406.tar.gz -pigeonhole-snap940554ef4a55.tar.bzip2 +dovecot-20100414.tar.gz +pigeonhole-snapece958a18920.tar.bzip2 diff --git a/dovecot-1.1-default-settings.patch b/dovecot-1.1-default-settings.patch deleted file mode 100644 index 674766b..0000000 --- a/dovecot-1.1-default-settings.patch +++ /dev/null @@ -1,92 +0,0 @@ -diff -up dovecot-1.2.1/dovecot-example.conf.default-settings dovecot-1.2.1/dovecot-example.conf ---- dovecot-1.2.1/dovecot-example.conf.default-settings 2009-07-13 09:05:54.735890052 +0200 -+++ dovecot-1.2.1/dovecot-example.conf 2009-07-13 09:09:23.309020322 +0200 -@@ -10,18 +10,14 @@ - # value inside quotes, eg.: key = "# char and trailing whitespace " - - # Default values are shown for each setting, it's not required to uncomment --# those. These are exceptions to this though: No sections (e.g. namespace {}) --# or plugin settings are added by default, they're listed only as examples. --# Paths are also just examples with the real defaults being based on configure --# options. The paths listed here are for configure --prefix=/usr --# --sysconfdir=/etc --localstatedir=/var --with-ssldir=/etc/ssl -+# any of the lines. - - # Base directory where to store runtime data. - #base_dir = /var/run/dovecot/ - - # Protocols we want to be serving: imap imaps pop3 pop3s managesieve - # If you only want to use dovecot-auth, you can set this to "none". --#protocols = imap imaps -+#protocols = imap imaps pop3 pop3s - - # A space separated list of IP or host addresses where to listen in for - # connections. "*" listens in all IPv4 interfaces. "[::]" listens in all IPv6 -@@ -43,13 +39,13 @@ - # listen = *:12000 - # .. - # } --#listen = * -+#listen = *, [::] - - # Disable LOGIN command and all other plaintext authentications unless - # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP - # matches the local IP (ie. you're connecting from the same computer), the - # connection is considered secure and plaintext authentication is allowed. --#disable_plaintext_auth = yes -+#disable_plaintext_auth = no - - # Should all IMAP and POP3 processes be killed when Dovecot master process - # shuts down. Setting this to "no" means that Dovecot can be upgraded without -@@ -96,8 +92,8 @@ - # dropping root privileges, so keep the key file unreadable by anyone but - # root. Included doc/mkcert.sh can be used to easily generate self-signed - # certificate, just make sure to update the domains in dovecot-openssl.cnf --#ssl_cert_file = /etc/ssl/certs/dovecot.pem --#ssl_key_file = /etc/ssl/private/dovecot.pem -+#ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem -+#ssl_key_file = /etc/pki/dovecot/private/dovecot.pem - - # If key file is password protected, give the password here. Alternatively - # give it when starting dovecot with -p parameter. Since this file is often -@@ -486,7 +482,7 @@ - # locking methods as well. Some operating systems don't allow using some of - # them simultaneously. - #mbox_read_locks = fcntl --#mbox_write_locks = dotlock fcntl -+#mbox_write_locks = fcntl - - # Maximum time in seconds to wait for lock (all of them) before aborting. - #mbox_lock_timeout = 300 -diff -up dovecot-1.2.1/src/master/master-settings.c.default-settings dovecot-1.2.1/src/master/master-settings.c ---- dovecot-1.2.1/src/master/master-settings.c.default-settings 2009-07-13 09:05:54.738890180 +0200 -+++ dovecot-1.2.1/src/master/master-settings.c 2009-07-13 09:05:54.742889890 +0200 -@@ -178,8 +178,8 @@ struct settings default_settings = { - MEMBER(syslog_facility) "mail", - - /* general */ -- MEMBER(protocols) "imap imaps", -- MEMBER(listen) "*", -+ MEMBER(protocols) "imap imaps pop3 pop3s", -+ MEMBER(listen) "*, [::]", - MEMBER(ssl_listen) "", - - MEMBER(ssl) "yes", -@@ -191,7 +191,7 @@ struct settings default_settings = { - MEMBER(ssl_cipher_list) "", - MEMBER(ssl_cert_username_field) "commonName", - MEMBER(ssl_verify_client_cert) FALSE, -- MEMBER(disable_plaintext_auth) TRUE, -+ MEMBER(disable_plaintext_auth) FALSE, - MEMBER(verbose_ssl) FALSE, - MEMBER(shutdown_clients) TRUE, - MEMBER(nfs_check) TRUE, -@@ -255,7 +255,7 @@ struct settings default_settings = { - MEMBER(maildir_copy_preserve_filename) FALSE, - MEMBER(maildir_very_dirty_syncs) FALSE, - MEMBER(mbox_read_locks) "fcntl", -- MEMBER(mbox_write_locks) "dotlock fcntl", -+ MEMBER(mbox_write_locks) "fcntl", - MEMBER(mbox_lock_timeout) 300, - MEMBER(mbox_dotlock_change_timeout) 120, - MEMBER(mbox_min_index_size) 0, diff --git a/dovecot-2.0-betahotfix.patch b/dovecot-2.0-betahotfix.patch index 44b968a..8b13789 100644 --- a/dovecot-2.0-betahotfix.patch +++ b/dovecot-2.0-betahotfix.patch @@ -1,28 +1 @@ -diff -up dovecot-2.0.beta4/dovecot-2-0-pigeonhole-940554ef4a55/src/managesieve/main.c.betahotfix dovecot-2.0.beta4/dovecot-2-0-pigeonhole-940554ef4a55/src/managesieve/main.c ---- dovecot-2.0.beta4/dovecot-2-0-pigeonhole-940554ef4a55/src/managesieve/main.c.betahotfix 2010-04-06 11:00:28.995085479 +0200 -+++ dovecot-2.0.beta4/dovecot-2-0-pigeonhole-940554ef4a55/src/managesieve/main.c 2010-04-06 11:13:50.448016048 +0200 -@@ -231,6 +231,14 @@ static void client_connected(const struc - } - } - -+static void login_client_failed(const struct master_login_client *client, -+ const char *errormsg) -+{ -+ const char *msg; -+ msg = t_strdup_printf("* BAD %s\r\n", errormsg); -+ (void)write(client->fd, msg, strlen(msg)); -+} -+ - int main(int argc, char *argv[]) - { - static const struct setting_parser_info *set_roots[] = { -@@ -284,7 +292,8 @@ int main(int argc, char *argv[]) - } else { - master_login = master_login_init(master_service, "auth-master", - postlogin_socket_path, -- login_client_connected); -+ login_client_connected, -+ login_client_failed); - io_loop_set_running(current_ioloop); - } - + diff --git a/dovecot-2.0-defaultconfig.patch b/dovecot-2.0-defaultconfig.patch index 4db787a..860ae14 100644 --- a/dovecot-2.0-defaultconfig.patch +++ b/dovecot-2.0-defaultconfig.patch @@ -1,6 +1,6 @@ -diff -up dovecot-2.0.beta4/doc/example-config/conf.d/mail.conf.defconf dovecot-2.0.beta4/doc/example-config/conf.d/mail.conf ---- dovecot-2.0.beta4/doc/example-config/conf.d/mail.conf.defconf 2010-03-25 15:13:01.458494067 +0100 -+++ dovecot-2.0.beta4/doc/example-config/conf.d/mail.conf 2010-03-25 15:13:01.459364459 +0100 +diff -up dovecot-2.0.beta4/doc/example-config/conf.d/10-mail.conf.defconf dovecot-2.0.beta4/doc/example-config/conf.d/10-mail.conf +--- dovecot-2.0.beta4/doc/example-config/conf.d/10-mail.conf.defconf 2010-03-25 15:13:01.458494067 +0100 ++++ dovecot-2.0.beta4/doc/example-config/conf.d/10-mail.conf 2010-03-25 15:13:01.459364459 +0100 @@ -262,6 +262,7 @@ # them simultaneously. #mbox_read_locks = fcntl diff --git a/dovecot.spec b/dovecot.spec index c7b88c8..c8d28d5 100644 --- a/dovecot.spec +++ b/dovecot.spec @@ -1,11 +1,11 @@ %global betasuffix .beta4 -%global snapsuffix 20100406 +%global snapsuffix 20100414 Summary: Secure imap and pop3 server Name: dovecot Epoch: 1 Version: 2.0 -Release: 0.4%{?betasuffix}.%{?snapsuffix}%{?dist} +Release: 0.5%{?betasuffix}.%{?snapsuffix}%{?dist} #dovecot itself is MIT, a few sources are PD, (manage)sieve is LGPLv2, perfect_maildir.pl is GPLv2+ License: MIT and LGPLv2 and GPLv2+ Group: System Environment/Daemons @@ -18,12 +18,13 @@ Group: System Environment/Daemons URL: http://www.dovecot.org/ #Source: http://www.dovecot.org/releases/2.0/beta/%{name}-%{version}%{?betasuffix}%{?snapsuffix}.tar.gz +#we use nightly snapshots for now: Source: http://www.dovecot.org/nightly/%{name}-%{snapsuffix}.tar.gz Source1: dovecot.init Source2: dovecot.pam #Source8: http://hg.rename-it.nl/dovecot-2.0-pigeonhole/archive/tip.tar.bz2 #we use this ^^^ repository snapshost just renamed to contain last commit in name -%global phsnap 940554ef4a55 +%global phsnap ece958a18920 Source8: pigeonhole-snap%{phsnap}.tar.bzip2 Source9: dovecot.sysconfig @@ -115,7 +116,7 @@ This package provides the development files for dovecot. %patch1 -p1 -b .default-settings %patch2 -p1 -b .mkcert-permissions %patch3 -p1 -b .mkcert-paths -%patch4 -p1 -b .betahotfix +#%patch4 -p1 -b .betahotfix not needed this time %build #autotools hacks can be removed later, nightly does not support --docdir @@ -124,12 +125,11 @@ libtoolize --copy --force autoconf --force autoheader --force automake --add-missing --copy --force-missing -#autoreconf -fiv %configure \ INSTALL_DATA="install -c -p -m644" \ --docdir=%{_docdir}/%{name}-%{version} \ - --enable-header-install \ --disable-static \ + --disable-rpath \ --with-nss \ --with-shadow \ --with-pam \ @@ -145,7 +145,7 @@ automake --add-missing --copy --force-missing --with-ssldir=%{ssldir} \ --with-docs -sed -i 's|/etc/ssl|/etc/pki/dovecot|' doc/mkcert.sh doc/example-config/conf.d/ssl.conf +sed -i 's|/etc/ssl|/etc/pki/dovecot|' doc/mkcert.sh doc/example-config/conf.d/10-ssl.conf make %{?_smp_mflags} @@ -224,7 +224,6 @@ find $RPM_BUILD_ROOT%{_libdir}/%{name}/ -name '*.la' | xargs rm -f #remove what we don't want rm -f $RPM_BUILD_ROOT%{_sysconfdir}/dovecot/README pushd docinstall -#rm -f dovecot-initd.sh dovecot-openssl.cnf Makefile* rm -f securecoding.txt thread-refs.txt popd @@ -263,8 +262,10 @@ if [ "$1" -ge "1" ]; then /sbin/service %{name} condrestart >/dev/null 2>&1 || : fi +%check +make check +#add pigeonhole make check when it's ready -#files -f libs.filelist %files %defattr(-,root,root,-) %doc docinstall/* AUTHORS ChangeLog COPYING COPYING.LGPL COPYING.MIT NEWS README @@ -278,8 +279,17 @@ fi %dir %{_sysconfdir}/dovecot/conf.d %config(noreplace) %{_sysconfdir}/dovecot/dovecot.conf #list all so we'll be noticed if upstream changes anything +%config(noreplace) %{_sysconfdir}/dovecot/conf.d/10-auth.conf +%config(noreplace) %{_sysconfdir}/dovecot/conf.d/10-logging.conf +%config(noreplace) %{_sysconfdir}/dovecot/conf.d/10-mail.conf +%config(noreplace) %{_sysconfdir}/dovecot/conf.d/10-master.conf +%config(noreplace) %{_sysconfdir}/dovecot/conf.d/10-ssl.conf +%config(noreplace) %{_sysconfdir}/dovecot/conf.d/15-lda.conf +%config(noreplace) %{_sysconfdir}/dovecot/conf.d/20-imap.conf +%config(noreplace) %{_sysconfdir}/dovecot/conf.d/20-lmtp.conf +%config(noreplace) %{_sysconfdir}/dovecot/conf.d/20-pop3.conf +%config(noreplace) %{_sysconfdir}/dovecot/conf.d/90-plugin.conf %config(noreplace) %{_sysconfdir}/dovecot/conf.d/auth-checkpassword.conf.ext -%config(noreplace) %{_sysconfdir}/dovecot/conf.d/auth.conf %config(noreplace) %{_sysconfdir}/dovecot/conf.d/auth-deny.conf.ext %config(noreplace) %{_sysconfdir}/dovecot/conf.d/auth-ldap.conf.ext %config(noreplace) %{_sysconfdir}/dovecot/conf.d/auth-master.conf.ext @@ -287,15 +297,6 @@ fi %config(noreplace) %{_sysconfdir}/dovecot/conf.d/auth-sql.conf.ext %config(noreplace) %{_sysconfdir}/dovecot/conf.d/auth-system.conf.ext %config(noreplace) %{_sysconfdir}/dovecot/conf.d/auth-vpopmail.conf.ext -%config(noreplace) %{_sysconfdir}/dovecot/conf.d/imap.conf -%config(noreplace) %{_sysconfdir}/dovecot/conf.d/lda.conf -%config(noreplace) %{_sysconfdir}/dovecot/conf.d/lmtp.conf -%config(noreplace) %{_sysconfdir}/dovecot/conf.d/logging.conf -%config(noreplace) %{_sysconfdir}/dovecot/conf.d/mail.conf -%config(noreplace) %{_sysconfdir}/dovecot/conf.d/master.conf -%config(noreplace) %{_sysconfdir}/dovecot/conf.d/plugin.conf -%config(noreplace) %{_sysconfdir}/dovecot/conf.d/pop3.conf -%config(noreplace) %{_sysconfdir}/dovecot/conf.d/ssl.conf %attr(0600,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/dovecot %config(noreplace) %{_sysconfdir}/pam.d/dovecot @@ -369,6 +370,17 @@ fi %{_libdir}/%{name}/dict/libdriver_pgsql.so %changelog +* Wed Apr 14 2010 Michal Hlavinka - 1:2.0-0.5.beta4.20100414 +- updated to snapshot 20100414 +- config: Added nn- prefix to *.conf files so the sort ordering makes more sense +- lib-master: Log an error if login client disconnects too early +- mdbox: If purging found corrupted files, it didn't auto-rebuild storage +- lib-storage: Added support for searching save date +- and more... +- pigeonhole updated: +- Mailbox extension: fixed memory leak in the mailboxexists test +- added login failure handler + * Tue Apr 06 2010 Michal Hlavinka - 1:2.0-0.4.beta4.20100406 - updated to snapshot 20100406 - auth: If userdb lookup fails internally, don't cache the result. diff --git a/sources b/sources index f24074b..afcbe5b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -1741ee74a123e22047f90a723af8cf10 dovecot-20100406.tar.gz -c096447bc5bc6da3a816e23a66016d7b pigeonhole-snap940554ef4a55.tar.bzip2 +b6ce6da8db2b3c624acde089c6110308 dovecot-20100414.tar.gz +1b0727eb4c876bca06313f94bb03f1cc pigeonhole-snapece958a18920.tar.bzip2