diff --git a/mail/dovecot/Makefile b/mail/dovecot/Makefile index 62e1ece57ce..d6c85278d7b 100644 --- a/mail/dovecot/Makefile +++ b/mail/dovecot/Makefile @@ -1,26 +1,31 @@ -# $OpenBSD: Makefile,v 1.130 2010/02/28 17:58:53 sthen Exp $ +# $OpenBSD: Makefile,v 1.131 2010/03/23 21:32:07 pea Exp $ SHARED_ONLY= Yes COMMENT-server= compact IMAP/POP3 server COMMENT-sieve= Sieve mail filtering for Dovecot -V_MAJOR= 1.1 -V_DOVECOT= 1.1.20 -V_SIEVE= 1.1.7 +V_MAJOR= 1.2 +V_DOVECOT= 1.2.11 +V_SIEVE= 0.1.15 +V_MANAGESIEVE= 0.11.11 PKGNAME= dovecot-${V_DOVECOT} -PKGNAME-server= dovecot-${V_DOVECOT}p0 -FULLPKGNAME-sieve= dovecot-sieve-${V_SIEVE}p0 +PKGNAME-server= dovecot-${V_DOVECOT} +FULLPKGNAME-sieve= dovecot-sieve-${V_SIEVE}v0 FULLPKGPATH-sieve= ${PKGPATH},-sieve DISTNAME= dovecot-${V_DOVECOT} CATEGORIES= mail MASTER_SITES= ${HOMEPAGE}releases/${V_MAJOR}/ -MASTER_SITES0= ${HOMEPAGE}releases/sieve/ +MASTER_SITES0= http://www.rename-it.nl/dovecot/${V_MAJOR}/ DISTFILES= dovecot-${V_DOVECOT}.tar.gz \ - dovecot-sieve-${V_SIEVE}.tar.gz:0 + dovecot-${V_MAJOR}-sieve-${V_SIEVE}.tar.gz:0 \ + dovecot-${V_MAJOR}-managesieve-${V_MANAGESIEVE}.tar.gz:0 \ + ${DIST_MANAGESIEVE}:0 + +DIST_MANAGESIEVE= dovecot-${V_DOVECOT}-managesieve-${V_MANAGESIEVE}.diff.gz HOMEPAGE= http://www.dovecot.org/ @@ -32,8 +37,8 @@ PERMIT_PACKAGE_FTP= Yes PERMIT_DISTFILES_CDROM= Yes PERMIT_DISTFILES_FTP= Yes -WANTLIB-server= c crypto gssapi krb5 rpcsvc ssl z -WANTLIB-sieve= c +WANTLIB-server= c crypto gssapi krb5 ssl z +WANTLIB-sieve= c crypto ssl MODULES= converters/libiconv LIB_DEPENDS+= bz2::archivers/bzip2 @@ -48,7 +53,7 @@ FLAVOR?= CFLAGS+= -I/usr/include/kerberosV -I${LOCALBASE}/include USE_LIBTOOL= Yes -# Should be 2.63 +# Should be 2.65 AUTOCONF_VERSION= 2.62 CONFIGURE_STYLE= autoconf CONFIGURE_ARGS+= --localstatedir=/var \ @@ -60,10 +65,14 @@ CONFIGURE_ENV= LDFLAGS="-L${LOCALBASE}/lib" .if !${FLAVOR:L:Mno_sieve} MULTI_PACKAGES+= -sieve -SIEVE_DIR= ${WRKDIR}/dovecot-sieve-${V_SIEVE} -AUTOCONF_DIR+= ${WRKSRC} ${SIEVE_DIR} +SIEVE_DIR= ${WRKDIR}/dovecot-${V_MAJOR}-sieve-${V_SIEVE} +MANAGESIEVE_DIR= ${WRKDIR}/dovecot-${V_MAJOR}-managesieve-${V_MANAGESIEVE} +AUTOCONF_DIR+= ${WRKSRC} ${MANAGESIEVE_DIR} RUN_DEPENDS-sieve= ::${PKGPATH} LIB_DEPENDS-sieve= ${MODLIBICONV_LIB_DEPENDS} +PATCH_LIST= patch-* managesieve-patch-* +.else +PATCH_LIST= patch-* nosieve-patch-* .endif .if ${FLAVOR:L:Mbdb} @@ -95,10 +104,18 @@ LIB_DEPENDS+= sqlite3::databases/sqlite3 .endif .if !${FLAVOR:L:Mno_sieve} +pre-patch: + cd ${WRKSRC} && \ + gunzip -c ${DISTDIR}/${DIST_MANAGESIEVE} | patch -p1 2> /dev/null + post-configure: (cd ${WRKSRC}; ${MAKE_PROGRAM} dovecot-config) (cd ${SIEVE_DIR}; ${SETENV} ${CONFIGURE_ENV} \ - ./configure --with-dovecot=${WRKSRC}) + ./configure --with-dovecot=${WRKSRC} \ + --mandir=${PREFIX}/man) + (cd ${MANAGESIEVE_DIR}; ${SETENV} ${CONFIGURE_ENV} \ + ./configure --with-dovecot=${WRKSRC} \ + --with-dovecot-sieve=${SIEVE_DIR}) .endif pre-build: @@ -107,6 +124,7 @@ pre-build: .if !${FLAVOR:L:Mno_sieve} post-build: (cd ${SIEVE_DIR}; ${MAKE_PROGRAM} ${MAKE_FLAGS}) + (cd ${MANAGESIEVE_DIR}; ${MAKE_PROGRAM} ${MAKE_FLAGS}) .endif post-install: @@ -114,16 +132,21 @@ post-install: ${INSTALL_DATA} ${WRKSRC}/doc/dovecot-openssl.cnf \ ${WRKSRC}/doc/dovecot-sql-example.conf \ ${WRKSRC}/doc/dovecot-ldap-example.conf \ + ${WRKSRC}/doc/dovecot-db-example.conf \ ${WRKSRC}/dovecot-example.conf \ + ${WRKSRC}/doc/dovecot-dict-sql-example.conf \ ${PREFIX}/share/examples/dovecot ${INSTALL_SCRIPT} ${WRKSRC}/doc/mkcert.sh \ ${PREFIX}/sbin/dovecot-mkcert.sh .if !${FLAVOR:L:Mno_sieve} - cd ${SIEVE_DIR}/src/libsieve && ${INSTALL_PROGRAM} {sievec,sieved} \ - ${PREFIX}/libexec/dovecot - ${INSTALL_DATA} \ - ${SIEVE_DIR}/src/.libs/lib90_cmusieve_plugin.{a,la,so} \ - ${PREFIX}/lib/dovecot/lda + cd ${SIEVE_DIR} && env -i ${MAKE_ENV} \ + PREFIX=${WRKINST}${PREFIX} ${DESTDIRNAME}=${WRKINST} \ + TRUEPREFIX=${PREFIX} \ + ${MAKE_PROGRAM} ${ALL_FAKE_FLAGS} -f ${MAKE_FILE} ${FAKE_TARGET} + cd ${MANAGESIEVE_DIR} && env -i ${MAKE_ENV} \ + PREFIX=${WRKINST}${PREFIX} ${DESTDIRNAME}=${WRKINST} \ + TRUEPREFIX=${PREFIX} \ + ${MAKE_PROGRAM} ${ALL_FAKE_FLAGS} -f ${MAKE_FILE} ${FAKE_TARGET} .endif .include diff --git a/mail/dovecot/distinfo b/mail/dovecot/distinfo index d2cc6f5e9ea..855e755973c 100644 --- a/mail/dovecot/distinfo +++ b/mail/dovecot/distinfo @@ -1,10 +1,20 @@ -MD5 (dovecot-1.1.20.tar.gz) = GwzPrHdl0l8NEGSJMhoHZA== -MD5 (dovecot-sieve-1.1.7.tar.gz) = 8TP0mph23ffJKQ8sTSVbRA== -RMD160 (dovecot-1.1.20.tar.gz) = lcQf34slV8YFbLgrrOHmfVvX5I0= -RMD160 (dovecot-sieve-1.1.7.tar.gz) = BKVQiWmwAq41NcNaKUPssdU/wWs= -SHA1 (dovecot-1.1.20.tar.gz) = zS8B3drfZwRXQKgwjZOwCpFMYBQ= -SHA1 (dovecot-sieve-1.1.7.tar.gz) = xK1j1nzjp6/F9Aho0UKzhupYmXA= -SHA256 (dovecot-1.1.20.tar.gz) = +o5Zsjcf6yzDLqbFZ/71puQgnKnm8dPxdkk3ReW1l+Y= -SHA256 (dovecot-sieve-1.1.7.tar.gz) = q9nhjtgwczl0CENWp7cw70VLKAwHeRfwkMGG2+8qDGA= -SIZE (dovecot-1.1.20.tar.gz) = 2407142 -SIZE (dovecot-sieve-1.1.7.tar.gz) = 435670 +MD5 (dovecot-1.2-managesieve-0.11.11.tar.gz) = MrqNR6NpX4UUvSwr9zSPlg== +MD5 (dovecot-1.2-sieve-0.1.15.tar.gz) = Ikb7vPME0+wd8NstCR/gWg== +MD5 (dovecot-1.2.11-managesieve-0.11.11.diff.gz) = 13OQnF2mzKsJKBjPaRI3vQ== +MD5 (dovecot-1.2.11.tar.gz) = vawBP9V6phbqS92aw0VXxg== +RMD160 (dovecot-1.2-managesieve-0.11.11.tar.gz) = Fh0UP1pCrukpq/UbYrOw5uep8Ho= +RMD160 (dovecot-1.2-sieve-0.1.15.tar.gz) = f9PSPV75PUQ83tyFEtq2SbKplpQ= +RMD160 (dovecot-1.2.11-managesieve-0.11.11.diff.gz) = v9dZO4/6NqxgYuD/FHyXWUR9Y1I= +RMD160 (dovecot-1.2.11.tar.gz) = yyCQoh6Zz6+Y18v9yYrb9C324sw= +SHA1 (dovecot-1.2-managesieve-0.11.11.tar.gz) = U/hhip4C+VORI5CnuAPrYhi/lpo= +SHA1 (dovecot-1.2-sieve-0.1.15.tar.gz) = KCffYAKGOewVQiqG9Iocmyp4Qxo= +SHA1 (dovecot-1.2.11-managesieve-0.11.11.diff.gz) = 8n0yFE5ts1cVrJ3jrNen2JSPMyM= +SHA1 (dovecot-1.2.11.tar.gz) = l+Yzd742QdTHqloMbU4r1gLUWXI= +SHA256 (dovecot-1.2-managesieve-0.11.11.tar.gz) = eSzAbmAlDin1F6+jUAaa8tcAF0ZEXTsZu/Gu+LbdhT4= +SHA256 (dovecot-1.2-sieve-0.1.15.tar.gz) = 7d3EkjfVywenk43phQtHWwcek1CyA1+ZoV23pWiCKVw= +SHA256 (dovecot-1.2.11-managesieve-0.11.11.diff.gz) = /AJOn2jGq4L4Ea8xVclPFglnDYXHJA3700qgReb8ios= +SHA256 (dovecot-1.2.11.tar.gz) = KXFpHU+DB7cBTKZnH0QVHLUzefgHRqpKlc3rC4RuBHQ= +SIZE (dovecot-1.2-managesieve-0.11.11.tar.gz) = 439239 +SIZE (dovecot-1.2-sieve-0.1.15.tar.gz) = 1051262 +SIZE (dovecot-1.2.11-managesieve-0.11.11.diff.gz) = 6454 +SIZE (dovecot-1.2.11.tar.gz) = 2878057 diff --git a/mail/dovecot/patches/managesieve-patch-dovecot-example_conf b/mail/dovecot/patches/managesieve-patch-dovecot-example_conf new file mode 100644 index 00000000000..92a39d9a229 --- /dev/null +++ b/mail/dovecot/patches/managesieve-patch-dovecot-example_conf @@ -0,0 +1,248 @@ +$OpenBSD: managesieve-patch-dovecot-example_conf,v 1.1 2010/03/23 21:32:07 pea Exp $ +--- dovecot-example.conf.orig Wed Nov 18 10:03:59 2009 ++++ dovecot-example.conf Wed Nov 18 10:04:00 2009 +@@ -12,12 +12,11 @@ + # 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 + ++# *** NOTE *** Some values HAVE been changed for OpenBSD use. ++ + # Base directory where to store runtime data. +-#base_dir = /var/run/dovecot/ ++base_dir = /var/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". +@@ -43,13 +42,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 = yes + + # 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,7 +95,7 @@ + # 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_cert_file = /etc/ssl/dovecotcert.pem + #ssl_key_file = /etc/ssl/private/dovecot.pem + + # If key file is password protected, give the password here. Alternatively +@@ -140,7 +139,7 @@ + # which login needs to be able to connect to. The sockets are created when + # running as root, so you don't have to worry about permissions. Note that + # everything in this directory is deleted when Dovecot is started. +-#login_dir = /var/run/dovecot/login ++login_dir = /var/dovecot/login + + # chroot login process to the login_dir. Only reason not to do this is if you + # wish to run the whole Dovecot without roots. +@@ -150,7 +149,7 @@ + # and don't use it anywhere else. The user must also belong to a group where + # only it has access, it's used to control access for authentication process. + # Note that this user is NOT used to access mails. +-#login_user = dovecot ++login_user = _dovecot + + # Set max. process size in megabytes. If you don't use + # login_process_per_connection you might need to grow this. +@@ -340,8 +339,9 @@ + #mail_log_max_lines_per_sec = 10 + + # Don't use mmap() at all. This is required if you store indexes to shared +-# filesystems (NFS or clustered filesystem). +-#mmap_disable = no ++# filesystems (NFS or clustered filesystem) or for some operating systems ++# which use a separate cache for mmap, such as OpenBSD. ++mmap_disable = yes + + # Rely on O_EXCL to work when creating dotlock files. NFS supports O_EXCL + # since version 3, so this should be safe to use nowadays by default. +@@ -486,7 +486,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 +@@ -541,20 +541,20 @@ + + protocol imap { + # Login executable location. +- #login_executable = /usr/libexec/dovecot/imap-login ++ #login_executable = ${PREFIX}/libexec/dovecot/imap-login + + # IMAP executable location. Changing this allows you to execute other + # binaries before the imap process is executed. + # + # This would write rawlogs into user's ~/dovecot.rawlog/, if it exists: +- # mail_executable = /usr/libexec/dovecot/rawlog /usr/libexec/dovecot/imap ++ # mail_executable = ${PREFIX}/libexec/dovecot/rawlog ${PREFIX}/libexec/dovecot/imap + # + # + # This would attach gdb into the imap process and write backtraces into + # /tmp/gdbhelper.* files: +- # mail_executable = /usr/libexec/dovecot/gdbhelper /usr/libexec/dovecot/imap ++ # mail_executable = ${PREFIX}/libexec/dovecot/gdbhelper ${PREFIX}/libexec/dovecot/imap + # +- #mail_executable = /usr/libexec/dovecot/imap ++ #mail_executable = ${PREFIX}/libexec/dovecot/imap + + # Maximum IMAP command line length in bytes. Some clients generate very long + # command lines with huge mailboxes, so you may need to raise this if you get +@@ -568,7 +568,7 @@ protocol imap { + # Support for dynamically loadable plugins. mail_plugins is a space separated + # list of plugins to load. + #mail_plugins = +- #mail_plugin_dir = /usr/lib/dovecot/imap ++ #mail_plugin_dir = ${PREFIX}/lib/dovecot/imap + + # IMAP logout format string: + # %i - total number of bytes read from client +@@ -609,7 +609,7 @@ protocol imap { + # but not both. Thunderbird separates these two by forcing server to + # accept '/' suffix in mailbox names in subscriptions list. + # The list is space-separated. +- #imap_client_workarounds = ++ imap_client_workarounds = delay-newmail netscape-eoh tb-extra-mailbox-sep + } + + ## +@@ -618,11 +618,11 @@ protocol imap { + + protocol pop3 { + # Login executable location. +- #login_executable = /usr/libexec/dovecot/pop3-login ++ #login_executable = ${PREFIX}/libexec/dovecot/pop3-login + + # POP3 executable location. See IMAP's mail_executable above for examples + # how this could be changed. +- #mail_executable = /usr/libexec/dovecot/pop3 ++ #mail_executable = ${PREFIX}/libexec/dovecot/pop3 + + # Don't try to set mails non-recent or seen with POP3 sessions. This is + # mostly intended to reduce disk I/O. With maildir it doesn't move files +@@ -686,7 +686,7 @@ protocol pop3 { + # Support for dynamically loadable plugins. mail_plugins is a space separated + # list of plugins to load. + #mail_plugins = +- #mail_plugin_dir = /usr/lib/dovecot/pop3 ++ #mail_plugin_dir = ${PREFIX}/lib/dovecot/pop3 + + # Workarounds for various client bugs: + # outlook-no-nuls: +@@ -696,7 +696,7 @@ protocol pop3 { + # Outlook Express and Netscape Mail breaks if end of headers-line is + # missing. This option simply sends it if it's missing. + # The list is space-separated. +- #pop3_client_workarounds = ++ pop3_client_workarounds = outlook-no-nuls oe-ns-eoh + } + + ## +@@ -705,11 +705,11 @@ protocol pop3 { + + protocol managesieve { + # Login executable location. +- #login_executable = /usr/libexec/dovecot/managesieve-login ++ #login_executable = ${PREFIX}/libexec/dovecot/managesieve-login + + # ManageSieve executable location. See IMAP's mail_executable above for + # examples how this could be changed. +- #mail_executable = /usr/libexec/dovecot/managesieve ++ #mail_executable = ${PREFIX}/libexec/dovecot/managesieve + + # Maximum ManageSieve command line length in bytes. This setting is + # directly borrowed from IMAP. But, since long command lines are very +@@ -750,7 +750,7 @@ protocol lda { + # Support for dynamically loadable plugins. mail_plugins is a space separated + # list of plugins to load. + #mail_plugins = +- #mail_plugin_dir = /usr/lib/dovecot/lda ++ #mail_plugin_dir = ${PREFIX}/lib/dovecot/lda + + # If user is over quota, return with temporary failure instead of + # bouncing the mail. +@@ -764,7 +764,7 @@ protocol lda { + #deliver_log_format = msgid=%m: %$ + + # Binary to use for sending mails. +- #sendmail_path = /usr/lib/sendmail ++ #sendmail_path = /usr/sbin/sendmail + + # Subject: header to use for rejection mails. You can use the same variables + # as for rejection_reason below. +@@ -783,7 +783,7 @@ protocol lda { + ## + + # Executable location +-#auth_executable = /usr/libexec/dovecot/dovecot-auth ++#auth_executable = ${PREFIX}/libexec/dovecot/dovecot-auth + + # Set max. process size in megabytes. + #auth_process_size = 256 +@@ -912,7 +912,7 @@ auth default { + # database (passwd usually), you can use static userdb. + # REMEMBER: You'll need /etc/pam.d/dovecot file created for PAM + # authentication to actually work. +- passdb pam { ++ #passdb pam { + # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=] + # [cache_key=] [] + # +@@ -945,7 +945,7 @@ auth default { + # args = session=yes %Ls + # args = cache_key=%u dovecot + #args = dovecot +- } ++ #} + + # System users (NSS, /etc/passwd, or similiar) + # In many systems nowadays this uses Name Service Switch, which is +@@ -965,10 +965,10 @@ auth default { + + # PAM-like authentication for OpenBSD. + # +- #passdb bsdauth { ++ passdb bsdauth { + # [cache_key=] - See cache_key in PAM for explanation. + #args = +- #} ++ } + + # passwd-like file with specified location + # +@@ -1232,7 +1232,7 @@ plugin { + # a dictionary so it can be quickly determined which mailboxes contain + # expired mails. The actual expunging is done in a nightly cronjob, which + # you must set up: +- # dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool ++ # dovecot --exec-mail ext ${PREFIX}/libexec/dovecot/expire-tool + #expire = Trash 7 Spam 30 + #expire_dict = proxy::expire + +@@ -1261,6 +1261,8 @@ plugin { + # The path to the directory where the personal Sieve scripts are stored. For + # ManageSieve this is where the uploaded scripts are stored. + #sieve_dir=~/sieve ++ ++ #sieve_extensions=+imapflags + } + + # Config files can also be included. deliver doesn't support them currently. diff --git a/mail/dovecot/patches/patch-dovecot-example_conf b/mail/dovecot/patches/nosieve-patch-dovecot-example_conf similarity index 89% rename from mail/dovecot/patches/patch-dovecot-example_conf rename to mail/dovecot/patches/nosieve-patch-dovecot-example_conf index 07b0239f9be..0584af9eeca 100644 --- a/mail/dovecot/patches/patch-dovecot-example_conf +++ b/mail/dovecot/patches/nosieve-patch-dovecot-example_conf @@ -1,6 +1,6 @@ -$OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ ---- dovecot-example.conf.orig Wed May 13 12:41:46 2009 -+++ dovecot-example.conf Mon May 18 05:51:18 2009 +$OpenBSD: nosieve-patch-dovecot-example_conf,v 1.1 2010/03/23 21:32:07 pea Exp $ +--- dovecot-example.conf.orig Thu Jun 18 09:37:43 2009 ++++ dovecot-example.conf Wed Jul 8 20:57:18 2009 @@ -12,12 +12,11 @@ # 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 {}) @@ -60,7 +60,7 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ # Set max. process size in megabytes. If you don't use # login_process_per_connection you might need to grow this. -@@ -307,8 +306,9 @@ +@@ -336,8 +335,9 @@ #mail_log_max_lines_per_sec = 10 # Don't use mmap() at all. This is required if you store indexes to shared @@ -72,7 +72,7 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ # Rely on O_EXCL to work when creating dotlock files. NFS supports O_EXCL # since version 3, so this should be safe to use nowadays by default. -@@ -449,7 +449,7 @@ +@@ -482,7 +482,7 @@ # locking methods as well. Some operating systems don't allow using some of # them simultaneously. #mbox_read_locks = fcntl @@ -81,7 +81,7 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ # Maximum time in seconds to wait for lock (all of them) before aborting. #mbox_lock_timeout = 300 -@@ -504,19 +504,19 @@ +@@ -537,20 +537,20 @@ protocol imap { # Login executable location. @@ -91,9 +91,10 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ # IMAP executable location. Changing this allows you to execute other # binaries before the imap process is executed. # - # This would write rawlogs into ~/dovecot.rawlog/ directory: + # This would write rawlogs into user's ~/dovecot.rawlog/, if it exists: - # mail_executable = /usr/libexec/dovecot/rawlog /usr/libexec/dovecot/imap + # mail_executable = ${PREFIX}/libexec/dovecot/rawlog ${PREFIX}/libexec/dovecot/imap + # # # This would attach gdb into the imap process and write backtraces into # /tmp/gdbhelper.* files: @@ -105,16 +106,16 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ # Maximum IMAP command line length in bytes. Some clients generate very long # command lines with huge mailboxes, so you may need to raise this if you get -@@ -530,7 +530,7 @@ protocol imap { +@@ -564,7 +564,7 @@ protocol imap { # Support for dynamically loadable plugins. mail_plugins is a space separated # list of plugins to load. #mail_plugins = - #mail_plugin_dir = /usr/lib/dovecot/imap + #mail_plugin_dir = ${PREFIX}/lib/dovecot/imap - # Send IMAP capabilities in greeting message. This makes it unnecessary for - # clients to request it with CAPABILITY command, so it saves one round-trip. -@@ -564,7 +564,7 @@ protocol imap { + # IMAP logout format string: + # %i - total number of bytes read from client +@@ -605,7 +605,7 @@ protocol imap { # but not both. Thunderbird separates these two by forcing server to # accept '/' suffix in mailbox names in subscriptions list. # The list is space-separated. @@ -123,7 +124,7 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ } ## -@@ -573,11 +573,11 @@ protocol imap { +@@ -614,11 +614,11 @@ protocol imap { protocol pop3 { # Login executable location. @@ -137,7 +138,7 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ # Don't try to set mails non-recent or seen with POP3 sessions. This is # mostly intended to reduce disk I/O. With maildir it doesn't move files -@@ -637,7 +637,7 @@ protocol pop3 { +@@ -678,7 +678,7 @@ protocol pop3 { # Support for dynamically loadable plugins. mail_plugins is a space separated # list of plugins to load. #mail_plugins = @@ -146,7 +147,7 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ # Workarounds for various client bugs: # outlook-no-nuls: -@@ -647,7 +647,7 @@ protocol pop3 { +@@ -688,7 +688,7 @@ protocol pop3 { # Outlook Express and Netscape Mail breaks if end of headers-line is # missing. This option simply sends it if it's missing. # The list is space-separated. @@ -155,7 +156,7 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ } ## -@@ -665,7 +665,7 @@ protocol lda { +@@ -706,7 +706,7 @@ protocol lda { # Support for dynamically loadable plugins. mail_plugins is a space separated # list of plugins to load. #mail_plugins = @@ -164,7 +165,7 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ # If user is over quota, return with temporary failure instead of # bouncing the mail. -@@ -679,7 +679,7 @@ protocol lda { +@@ -720,7 +720,7 @@ protocol lda { #deliver_log_format = msgid=%m: %$ # Binary to use for sending mails. @@ -173,7 +174,7 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ # Subject: header to use for rejection mails. You can use the same variables # as for rejection_reason below. -@@ -698,7 +698,7 @@ protocol lda { +@@ -739,7 +739,7 @@ protocol lda { ## # Executable location @@ -182,16 +183,16 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ # Set max. process size in megabytes. #auth_process_size = 256 -@@ -831,7 +831,7 @@ auth default { +@@ -868,7 +868,7 @@ auth default { # database (passwd usually), you can use static userdb. # REMEMBER: You'll need /etc/pam.d/dovecot file created for PAM # authentication to actually work. - passdb pam { + #passdb pam { - # [session=yes] [setcred=yes] [failure_show_msg=yes] + # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=] # [cache_key=] [] # -@@ -860,7 +860,7 @@ auth default { +@@ -901,7 +901,7 @@ auth default { # args = session=yes %Ls # args = cache_key=%u dovecot #args = dovecot @@ -200,7 +201,7 @@ $OpenBSD: patch-dovecot-example_conf,v 1.47 2009/05/19 08:10:56 sthen Exp $ # System users (NSS, /etc/passwd, or similiar) # In many systems nowadays this uses Name Service Switch, which is -@@ -880,10 +880,10 @@ auth default { +@@ -921,10 +921,10 @@ auth default { # PAM-like authentication for OpenBSD. # diff --git a/mail/dovecot/patches/patch-configure_in b/mail/dovecot/patches/patch-configure_in index 8561eafe9ae..19340976e8a 100644 --- a/mail/dovecot/patches/patch-configure_in +++ b/mail/dovecot/patches/patch-configure_in @@ -1,7 +1,7 @@ -$OpenBSD: patch-configure_in,v 1.21 2009/10/30 11:43:48 sthen Exp $ ---- configure.in.orig Sun Sep 13 22:12:28 2009 -+++ configure.in Thu Oct 29 23:10:27 2009 -@@ -1812,74 +1812,16 @@ fi +$OpenBSD: patch-configure_in,v 1.22 2010/03/23 21:32:07 pea Exp $ +--- configure.in.orig Tue Nov 10 03:33:36 2009 ++++ configure.in Wed Nov 18 10:05:38 2009 +@@ -1759,112 +1759,16 @@ fi have_gssapi=no if test $want_gssapi != no; then @@ -38,7 +38,10 @@ $OpenBSD: patch-configure_in,v 1.21 2009/10/30 11:43:48 sthen Exp $ - AC_DEFINE(HAVE_GSSAPI_H,, GSSAPI headers in gssapi.h) - have_gssapi=yes - ]) -- if test $have_gssapi = yes; then +- if test $have_gssapi != no; then +- if test $want_gssapi = plugin; then +- have_gssapi=plugin +- fi - AC_DEFINE(HAVE_GSSAPI,, Build with GSSAPI support) - AC_CHECK_HEADERS(gssapi/gssapi_ext.h gssapi_krb5.h gssapi/gssapi_krb5.h) - AC_CHECK_LIB(gss, __gss_userok, [ @@ -52,9 +55,44 @@ $OpenBSD: patch-configure_in,v 1.21 2009/10/30 11:43:48 sthen Exp $ - old_LIBS=$LIBS - LIBS="$LIBS $KRB5_LIBS" - AC_CHECK_FUNCS(gsskrb5_register_acceptor_identity krb5_gss_register_acceptor_identity) +- +- # does the kerberos library support SPNEGO? +- AC_CACHE_CHECK([whether GSSAPI supports SPNEGO],i_cv_gssapi_spnego,[ +- AC_TRY_RUN([ +- #ifdef HAVE_GSSAPI_H +- # include +- #else +- # include +- #endif +- #include +- #include +- int main(void) { +- OM_uint32 minor_status; +- gss_OID_set mech_set; +- unsigned char spnego_oid[] = { 0x2b, 0x06, 0x01, 0x05, 0x05, 0x02 }; +- unsigned int i; +- +- gss_indicate_mechs(&minor_status, &mech_set); +- for (i = 0; i < mech_set->count; i++) { +- if (mech_set->elements[i].length == 6 && +- memcmp(mech_set->elements[i].elements, +- spnego_oid, 6) == 0) +- return 0; +- } +- return 1; +- } +- ], [ +- i_cv_gssapi_spnego=yes +- ], [ +- i_cv_gssapi_spnego=no +- ]) +- ]) +- if test "$i_cv_gssapi_spnego" = "yes"; then +- AC_DEFINE(HAVE_GSSAPI_SPNEGO,, GSSAPI supports SPNEGO) +- fi - LIBS=$old_LIBS - -- if test x$want_gssapi_plugin != xyes; then +- if test $want_gssapi != plugin; then - AUTH_LIBS="$AUTH_LIBS $KRB5_LIBS" - AUTH_CFLAGS="$AUTH_CFLAGS $KRB5_CFLAGS" - AC_DEFINE(BUILTIN_GSSAPI,, GSSAPI support is built in) @@ -62,14 +100,14 @@ $OpenBSD: patch-configure_in,v 1.21 2009/10/30 11:43:48 sthen Exp $ - have_gssapi_plugin=yes - fi - else -- if test $want_gssapi = yes; then +- if test $want_gssapi != auto; then - AC_ERROR([Can't build with GSSAPI support: gssapi.h not found]) - fi - fi - CFLAGS=$old_CFLAGS - fi - else -- if test $want_gssapi = yes; then +- if test $want_gssapi != auto; then - AC_ERROR([Can't build with GSSAPI support: krb5-config not found]) - fi - fi diff --git a/mail/dovecot/patches/patch-doc_mkcert_sh b/mail/dovecot/patches/patch-doc_mkcert_sh index 59200d609af..52d68df2428 100644 --- a/mail/dovecot/patches/patch-doc_mkcert_sh +++ b/mail/dovecot/patches/patch-doc_mkcert_sh @@ -1,7 +1,7 @@ -$OpenBSD: patch-doc_mkcert_sh,v 1.6 2006/07/16 02:43:08 brad Exp $ ---- doc/mkcert.sh.orig Fri Jun 9 07:01:10 2006 -+++ doc/mkcert.sh Tue Jun 13 20:42:58 2006 -@@ -5,18 +5,12 @@ +$OpenBSD: patch-doc_mkcert_sh,v 1.7 2010/03/23 21:32:07 pea Exp $ +--- doc/mkcert.sh.orig Wed Jan 7 13:33:25 2009 ++++ doc/mkcert.sh Sun Dec 27 01:03:53 2009 +@@ -5,19 +5,13 @@ OPENSSL=${OPENSSL-openssl} SSLDIR=${SSLDIR-/etc/ssl} @@ -14,11 +14,21 @@ $OpenBSD: patch-doc_mkcert_sh,v 1.6 2006/07/16 02:43:08 brad Exp $ -CERTFILE=$CERTDIR/dovecot.pem +CERTFILE=$SSLDIR/dovecotcert.pem KEYFILE=$KEYDIR/dovecot.pem -- + -if [ ! -d $CERTDIR ]; then - echo "$SSLDIR/certs directory doesn't exist" - exit 1 -fi - +- if [ ! -d $KEYDIR ]; then echo "$SSLDIR/private directory doesn't exist" + exit 1 +@@ -33,7 +27,7 @@ if [ -f $KEYFILE ]; then + exit 1 + fi + +-$OPENSSL req -new -x509 -nodes -config $OPENSSLCONFIG -out $CERTFILE -keyout $KEYFILE -days 365 || exit 2 ++$OPENSSL req -new -x509 -nodes -config $OPENSSLCONFIG -out $CERTFILE -keyout $KEYFILE -days 730 || exit 2 + chmod 0600 $KEYFILE + echo + $OPENSSL x509 -subject -fingerprint -noout -in $CERTFILE || exit 2 diff --git a/mail/dovecot/patches/patch-src_lib_randgen_c b/mail/dovecot/patches/patch-src_lib_randgen_c deleted file mode 100644 index b5619a2979d..00000000000 --- a/mail/dovecot/patches/patch-src_lib_randgen_c +++ /dev/null @@ -1,15 +0,0 @@ -$OpenBSD: patch-src_lib_randgen_c,v 1.3 2009/05/04 11:40:41 sthen Exp $ ---- src/lib/randgen.c.orig Sun May 3 21:25:41 2009 -+++ src/lib/randgen.c Sun May 3 21:27:14 2009 -@@ -7,7 +7,11 @@ - - #ifdef HAVE_DEV_URANDOM - -+#ifdef __OpenBSD__ -+#define URANDOM_PATH "/dev/arandom" -+#else - #define URANDOM_PATH "/dev/urandom" -+#endif - - #include "fd-close-on-exec.h" - #include diff --git a/mail/dovecot/pkg/PLIST-server b/mail/dovecot/pkg/PLIST-server index bcec141cd17..993185804a4 100644 --- a/mail/dovecot/pkg/PLIST-server +++ b/mail/dovecot/pkg/PLIST-server @@ -1,4 +1,4 @@ -@comment $OpenBSD: PLIST-server,v 1.13 2009/01/26 14:47:02 sthen Exp $ +@comment $OpenBSD: PLIST-server,v 1.14 2010/03/23 21:32:07 pea Exp $ @pkgpath ${BASE_PKGPATH} @newgroup _dovecot:518 @newuser _dovecot:518:_dovecot:daemon:Dovecot Account:/nonexistent:/sbin/nologin @@ -6,27 +6,36 @@ lib/dovecot/ lib/dovecot/auth/ lib/dovecot/imap/ lib/dovecot/imap/lib01_acl_plugin.so +@comment lib/dovecot/imap/lib02_imap_acl_plugin.a +@comment lib/dovecot/imap/lib02_imap_acl_plugin.la +lib/dovecot/imap/lib02_imap_acl_plugin.so lib/dovecot/imap/lib02_lazy_expunge_plugin.so lib/dovecot/imap/lib10_quota_plugin.so @comment lib/dovecot/imap/lib11_imap_quota_plugin.a @comment lib/dovecot/imap/lib11_imap_quota_plugin.la lib/dovecot/imap/lib11_imap_quota_plugin.so lib/dovecot/imap/lib11_trash_plugin.so +lib/dovecot/imap/lib20_autocreate_plugin.so lib/dovecot/imap/lib20_convert_plugin.so lib/dovecot/imap/lib20_expire_plugin.so lib/dovecot/imap/lib20_fts_plugin.so +lib/dovecot/imap/lib20_listescape_plugin.so lib/dovecot/imap/lib20_mail_log_plugin.so lib/dovecot/imap/lib20_mbox_snarf_plugin.so +lib/dovecot/imap/lib20_virtual_plugin.so lib/dovecot/imap/lib20_zlib_plugin.so lib/dovecot/imap/lib21_fts_squat_plugin.so lib/dovecot/lda/ lib/dovecot/lda/lib01_acl_plugin.so lib/dovecot/lda/lib10_quota_plugin.so lib/dovecot/lda/lib11_trash_plugin.so +lib/dovecot/lda/lib20_autocreate_plugin.so lib/dovecot/lda/lib20_convert_plugin.so lib/dovecot/lda/lib20_expire_plugin.so lib/dovecot/lda/lib20_fts_plugin.so +lib/dovecot/lda/lib20_listescape_plugin.so lib/dovecot/lda/lib20_mail_log_plugin.so +lib/dovecot/lda/lib20_virtual_plugin.so lib/dovecot/lda/lib21_fts_squat_plugin.so @comment lib/dovecot/lib01_acl_plugin.a @comment lib/dovecot/lib01_acl_plugin.la @@ -40,6 +49,9 @@ lib/dovecot/lib10_quota_plugin.so @comment lib/dovecot/lib11_trash_plugin.a @comment lib/dovecot/lib11_trash_plugin.la lib/dovecot/lib11_trash_plugin.so +@comment lib/dovecot/lib20_autocreate_plugin.a +@comment lib/dovecot/lib20_autocreate_plugin.la +lib/dovecot/lib20_autocreate_plugin.so @comment lib/dovecot/lib20_convert_plugin.a @comment lib/dovecot/lib20_convert_plugin.la lib/dovecot/lib20_convert_plugin.so @@ -49,12 +61,18 @@ lib/dovecot/lib20_expire_plugin.so @comment lib/dovecot/lib20_fts_plugin.a @comment lib/dovecot/lib20_fts_plugin.la lib/dovecot/lib20_fts_plugin.so +@comment lib/dovecot/lib20_listescape_plugin.a +@comment lib/dovecot/lib20_listescape_plugin.la +lib/dovecot/lib20_listescape_plugin.so @comment lib/dovecot/lib20_mail_log_plugin.a @comment lib/dovecot/lib20_mail_log_plugin.la lib/dovecot/lib20_mail_log_plugin.so @comment lib/dovecot/lib20_mbox_snarf_plugin.a @comment lib/dovecot/lib20_mbox_snarf_plugin.la lib/dovecot/lib20_mbox_snarf_plugin.so +@comment lib/dovecot/lib20_virtual_plugin.a +@comment lib/dovecot/lib20_virtual_plugin.la +lib/dovecot/lib20_virtual_plugin.so @comment lib/dovecot/lib20_zlib_plugin.a @comment lib/dovecot/lib20_zlib_plugin.la lib/dovecot/lib20_zlib_plugin.so @@ -64,14 +82,18 @@ lib/dovecot/lib21_fts_squat_plugin.so lib/dovecot/pop3/ lib/dovecot/pop3/lib02_lazy_expunge_plugin.so lib/dovecot/pop3/lib10_quota_plugin.so +lib/dovecot/pop3/lib20_autocreate_plugin.so lib/dovecot/pop3/lib20_convert_plugin.so lib/dovecot/pop3/lib20_expire_plugin.so lib/dovecot/pop3/lib20_fts_plugin.so +lib/dovecot/pop3/lib20_listescape_plugin.so lib/dovecot/pop3/lib20_mail_log_plugin.so lib/dovecot/pop3/lib20_mbox_snarf_plugin.so +lib/dovecot/pop3/lib20_virtual_plugin.so lib/dovecot/pop3/lib20_zlib_plugin.so lib/dovecot/pop3/lib21_fts_squat_plugin.so libexec/dovecot/ +@bin libexec/dovecot/authtest @bin libexec/dovecot/checkpassword-reply @bin libexec/dovecot/convert-tool @bin libexec/dovecot/deliver @@ -82,6 +104,7 @@ libexec/dovecot/ @bin libexec/dovecot/idxview @bin libexec/dovecot/imap @bin libexec/dovecot/imap-login +@bin libexec/dovecot/imap-utf7 @bin libexec/dovecot/listview @bin libexec/dovecot/logview @bin libexec/dovecot/maildirlock @@ -89,6 +112,7 @@ libexec/dovecot/ @bin libexec/dovecot/pop3-login @bin libexec/dovecot/rawlog @bin libexec/dovecot/ssl-build-param +@bin libexec/dovecot/threadview @bin sbin/dovecot sbin/dovecot-mkcert.sh @bin sbin/dovecotpw @@ -96,10 +120,14 @@ share/doc/dovecot/ share/doc/dovecot/auth-protocol.txt share/doc/dovecot/documentation.txt share/doc/dovecot/securecoding.txt +share/doc/dovecot/thread-refs.txt share/doc/dovecot/wiki/ share/doc/dovecot/wiki/ACL.txt share/doc/dovecot/wiki/AixPluginsSupport.txt share/doc/dovecot/wiki/AuthDatabase.CheckPassword.txt +share/doc/dovecot/wiki/AuthDatabase.LDAP.AuthBinds.txt +share/doc/dovecot/wiki/AuthDatabase.LDAP.PasswordLookups.txt +share/doc/dovecot/wiki/AuthDatabase.LDAP.Userdb.txt share/doc/dovecot/wiki/AuthDatabase.LDAP.txt share/doc/dovecot/wiki/AuthDatabase.Passwd.txt share/doc/dovecot/wiki/AuthDatabase.PasswdFile.txt @@ -231,6 +259,10 @@ share/doc/dovecot/wiki/SSL.DovecotConfiguration.txt share/doc/dovecot/wiki/SSL.txt share/doc/dovecot/wiki/Sasl.txt share/doc/dovecot/wiki/SecurityTuning.txt +share/doc/dovecot/wiki/SharedMailboxes.Permissions.txt +share/doc/dovecot/wiki/SharedMailboxes.Public.txt +share/doc/dovecot/wiki/SharedMailboxes.Shared.txt +share/doc/dovecot/wiki/SharedMailboxes.Symlinks.txt share/doc/dovecot/wiki/SharedMailboxes.txt share/doc/dovecot/wiki/SystemUsers.txt share/doc/dovecot/wiki/TestInstallation.txt @@ -253,6 +285,8 @@ share/doc/dovecot/wiki/maildrop.txt share/doc/dovecot/wiki/mutt.txt share/doc/dovecot/wiki/uw2dovecot.sh.txt share/examples/dovecot/ +share/examples/dovecot/dovecot-db-example.conf +share/examples/dovecot/dovecot-dict-sql-example.conf share/examples/dovecot/dovecot-example.conf @sample ${SYSCONFDIR}/dovecot.conf share/examples/dovecot/dovecot-ldap-example.conf diff --git a/mail/dovecot/pkg/PLIST-sieve b/mail/dovecot/pkg/PLIST-sieve index 38eabb72ee5..ae6c58a04b8 100644 --- a/mail/dovecot/pkg/PLIST-sieve +++ b/mail/dovecot/pkg/PLIST-sieve @@ -1,11 +1,17 @@ -@comment $OpenBSD: PLIST-sieve,v 1.4 2010/02/14 20:01:00 naddy Exp $ +@comment $OpenBSD: PLIST-sieve,v 1.5 2010/03/23 21:32:07 pea Exp $ @pkgpath mail/dovecot,-sieve,ldap @pkgpath mail/dovecot,-sieve,ldap,mysql,postgresql,sqlite,bdb @pkgpath mail/dovecot,-sieve,mysql @pkgpath mail/dovecot,-sieve,postgresql @pkgpath mail/dovecot,-sieve,sqlite -@comment lib/dovecot/lda/lib90_cmusieve_plugin.a -@comment lib/dovecot/lda/lib90_cmusieve_plugin.la -lib/dovecot/lda/lib90_cmusieve_plugin.so -@bin libexec/dovecot/sievec -@bin libexec/dovecot/sieved +@bin bin/sieve-test +@bin bin/sievec +@bin bin/sieved +@comment lib/dovecot/lda/lib90_sieve_plugin.a +@comment lib/dovecot/lda/lib90_sieve_plugin.la +lib/dovecot/lda/lib90_sieve_plugin.so +@bin libexec/dovecot/managesieve +@bin libexec/dovecot/managesieve-login +@man man/man1/sieve-test.1 +@man man/man1/sievec.1 +@man man/man1/sieved.1