diff -r 8b89c85ab535 -r 76b4896bea63 dovecot/dovecot.patch --- a/dovecot/dovecot.patch Tue Nov 03 16:05:28 2009 +0100 +++ b/dovecot/dovecot.patch Thu Nov 05 13:42:13 2009 +0100 @@ -1,400 +1,51 @@ +Index: configure.in +--- configure.in.orig 2009-07-27 07:26:10 +0200 ++++ configure.in 2009-07-27 16:49:17 +0200 +@@ -1970,14 +1970,14 @@ + AC_CHECK_PROG(PG_CONFIG, pg_config, YES, NO) + if test $PG_CONFIG = NO; then + # based on code from PHP +- for i in /usr /usr/local /usr/local/pgsql; do +- for j in include include/pgsql include/postgres include/postgresql ""; do ++ for i in @l_prefix@; do ++ for j in include/postgresql; do + if test -r "$i/$j/libpq-fe.h"; then + PGSQL_INCLUDE=$i/$j + fi + done +- for lib in lib lib64; do +- for j in $lib $lib/pgsql $lib/postgres $lib/postgresql ""; do ++ for lib in lib; do ++ for j in $lib; do + if test -f "$i/$j/libpq.so" || test -f "$i/$j/libpq.a"; then + PGSQL_LIBDIR=$i/$j + fi Index: configure -diff -Nau configure.orig configure ---- configure.orig 2009-05-18 03:39:51.000000000 +0200 -+++ configure 2009-05-27 14:29:11.972121045 +0200 -@@ -28482,14 +28482,14 @@ +--- configure.orig 2009-07-27 07:26:28 +0200 ++++ configure 2009-07-27 16:50:02 +0200 +@@ -29424,14 +29424,14 @@ - if test $want_pgsql != no; then - # based on code from PHP -- for i in /usr /usr/local /usr/local/pgsql; do -- for j in include include/pgsql include/postgres include/postgresql ""; do -+ for i in @l_prefix@; do -+ for j in include/postgresql; do - if test -r "$i/$j/libpq-fe.h"; then - PGSQL_INCLUDE=$i/$j - fi - done -- for lib in lib lib64; do -- for j in $lib $lib/pgsql $lib/postgres $lib/postgresql ""; do -+ for lib in lib; do -+ for j in $lib; do - if test -f "$i/$j/libpq.so" || test -f "$i/$j/libpq.a"; then - PGSQL_LIBDIR=$i/$j - fi -Index: configure.in -diff -Nau configure.in.orig configure.in ---- configure.in.orig 2009-05-18 03:39:35.000000000 +0200 -+++ configure.in 2009-05-27 14:29:11.926298334 +0200 -@@ -1962,14 +1962,14 @@ - - if test $want_pgsql != no; then - # based on code from PHP -- for i in /usr /usr/local /usr/local/pgsql; do -- for j in include include/pgsql include/postgres include/postgresql ""; do -+ for i in @l_prefix@; do -+ for j in include/postgresql; do - if test -r "$i/$j/libpq-fe.h"; then - PGSQL_INCLUDE=$i/$j - fi - done -- for lib in lib lib64; do -- for j in $lib $lib/pgsql $lib/postgres $lib/postgresql ""; do -+ for lib in lib; do -+ for j in $lib; do - if test -f "$i/$j/libpq.so" || test -f "$i/$j/libpq.a"; then - PGSQL_LIBDIR=$i/$j - fi -Index: doc/dovecot-sql-example.conf -diff -Nau doc/dovecot-sql-example.conf.orig doc/dovecot-sql-example.conf ---- doc/dovecot-sql-example.conf.orig 2009-01-05 21:49:58.000000000 +0100 -+++ doc/dovecot-sql-example.conf 2009-05-27 14:29:11.973657746 +0200 -@@ -47,7 +47,8 @@ - # the default my.cnf location - # option_group - Read options from the given group (default: client) - # --# You can connect to UNIX sockets by using host: host=/var/run/mysql.sock -+# You can connect to UNIX sockets by using host: -+# host=@l_prefix@/var/mysql/mysql.sock - # Note that currently you can't use spaces in parameters. - # - # MySQL supports multiple host parameters for load balancing / HA. -@@ -58,7 +59,7 @@ - # Examples: - # connect = host=192.168.1.1 dbname=users - # connect = host=sql.example.com dbname=virtual user=virtual password=blarg --# connect = /etc/dovecot/authdb.sqlite -+# connect = @l_prefix@/etc/dovecot/authdb.sqlite - # - #connect = - -Index: dovecot-example.conf -diff -Nau dovecot-example.conf.orig dovecot-example.conf ---- dovecot-example.conf.orig 2009-05-13 18:41:46.000000000 +0200 -+++ dovecot-example.conf 2009-05-27 14:29:11.981522023 +0200 -@@ -13,11 +13,10 @@ - # 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 -+# options. - - # Base directory where to store runtime data. --#base_dir = /var/run/dovecot/ -+#base_dir = @l_prefix@/var/dovecot/run - - # 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,7 +42,7 @@ - # listen = *:12000 - # .. - # } --#listen = * -+#listen = 127.0.0.1 - - # Disable LOGIN command and all other plaintext authentications unless - # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP -@@ -65,7 +64,9 @@ - - # Log file to use for error messages, instead of sending them to syslog. - # /dev/stderr can be used to log into stderr. --#log_path = -+log_path = @l_prefix@/var/dovecot/log/dovecot-error.log # Error messages. -+info_log_path = @l_prefix@/var/dovecot/log/dovecot-info.log # Info/debug messages. -+log_timestamp = '%b %d %H:%M:%S ' # Prefix for each line written to log file. - - # Log file to use for informational and debug messages. - # Default is the same as log_path. -@@ -87,7 +88,7 @@ - # IP or host address where to listen in for SSL connections. Remember to also - # add imaps and/or pop3s to protocols setting. Defaults to same as "listen" - # setting if not specified. --#ssl_listen = -+#ssl_listen = 127.0.0.1 - - # Disable SSL/TLS support. - #ssl_disable = no -@@ -96,8 +97,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 = @l_prefix@/etc/dovecot/ssl/dovecot.crt -+#ssl_key_file = @l_prefix@/etc/dovecot/ssl/dovecot.key - - # If key file is password protected, give the password here. Alternatively - # give it when starting dovecot with -p parameter. Since this file is often -@@ -140,7 +141,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 = @l_prefix@/var/dovecot/run/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 +151,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 = @l_nusr@ - - # Set max. process size in megabytes. If you don't use - # login_process_per_connection you might need to grow this. -@@ -271,8 +272,8 @@ - # System user and group used to access mails. If you use multiple, userdb - # can override these by returning uid or gid fields. You can use either numbers - # or names. --#mail_uid = --#mail_gid = -+#mail_uid = @l_rusr@ -+#mail_gid = @l_rusr@ - - # Group to enable temporarily for privileged operations. Currently this is - # used only with INBOX when either its initial creation or dotlocking fails. -@@ -507,20 +508,24 @@ - ## - - protocol imap { -+ # Override main log file paths -+ log_path = @l_prefix@/var/dovecot/log/imap-error.log -+ info_log_path = @l_prefix@/var/dovecot/log/imap-info.log -+ - # Login executable location. -- #login_executable = /usr/libexec/dovecot/imap-login -+ #login_executable = @l_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 ~/dovecot.rawlog/ directory: -- # mail_executable = /usr/libexec/dovecot/rawlog /usr/libexec/dovecot/imap -+ # mail_executable = @l_prefix@/libexec/dovecot/rawlog @l_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 = @l_prefix@/libexec/dovecot/gdbhelper @l_prefix@/libexec/dovecot/imap - # -- #mail_executable = /usr/libexec/dovecot/imap -+ #mail_executable = @l_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 -@@ -534,7 +539,7 @@ - # 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 = @l_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. -@@ -576,12 +581,16 @@ - ## - - protocol pop3 { -+ # Override main log file paths -+ log_path = @l_prefix@/var/dovecot/log/pop3-error.log -+ info_log_path = @l_prefix@/var/dovecot/log/pop3-info.log -+ - # Login executable location. -- #login_executable = /usr/libexec/dovecot/pop3-login -+ #login_executable = @l_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 = @l_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 -@@ -641,7 +650,7 @@ - # 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 = @l_prefix@/lib/dovecot/pop3 - - # Workarounds for various client bugs: - # outlook-no-nuls: -@@ -701,6 +710,10 @@ - ## - - protocol lda { -+ # Override main log file paths -+ log_path = @l_prefix@/var/dovecot/log/deliver-error.log -+ info_log_path = @l_prefix@/var/dovecot/log/deliver-info.log -+ - # Address to use when sending rejection mails. - postmaster_address = postmaster@example.com - -@@ -711,7 +724,7 @@ - # 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 = @l_prefix@/lib/dovecot/lda - - # If user is over quota, return with temporary failure instead of - # bouncing the mail. -@@ -725,7 +738,7 @@ - #deliver_log_format = msgid=%m: %$ - - # Binary to use for sending mails. -- #sendmail_path = /usr/lib/sendmail -+ #sendmail_path = @l_prefix@/sbin/sendmail - - # Subject: header to use for rejection mails. You can use the same variables - # as for rejection_reason below. -@@ -736,7 +749,7 @@ - #rejection_reason = Your message to <%t> was automatically rejected:%n%r - - # UNIX socket path to master authentication server to find users. -- #auth_socket_path = /var/run/dovecot/auth-master -+ #auth_socket_path = @l_prefix@/var/dovecot/run/auth-master - } - - ## -@@ -744,7 +757,7 @@ - ## - - # Executable location --#auth_executable = /usr/libexec/dovecot/dovecot-auth -+#auth_executable = @l_prefix@/libexec/dovecot/dovecot-auth - - # Set max. process size in megabytes. - #auth_process_size = 256 -@@ -834,7 +847,7 @@ - #auth_ntlm_use_winbind = no - - # Path for Samba's ntlm_auth helper binary. --#auth_winbind_helper_path = /usr/bin/ntlm_auth -+#auth_winbind_helper_path = @l_prefix@/bin/ntlm_auth - - # Number of seconds to delay before replying to failed authentications. - #auth_failure_delay = 2 -@@ -867,7 +880,7 @@ - - #passdb passwd-file { - # File contains a list of usernames, one per line -- #args = /etc/dovecot.deny -+ #args = @l_prefix@/etc/dovecot/dovecot.deny - #deny = yes - #} - -@@ -950,13 +963,13 @@ - # SQL database - #passdb sql { - # Path for SQL configuration file, see doc/dovecot-sql-example.conf -- #args = -+ #args = @l_prefix@/etc/dovecot/dovecot-sql.conf - #} - - # LDAP database - #passdb ldap { - # Path for LDAP configuration file, see doc/dovecot-ldap-example.conf -- #args = -+ #args = @l_prefix@/etc/dovecot/dovecot-ldap.conf - #} - - # vpopmail authentication -@@ -1021,13 +1034,13 @@ - # SQL database - #userdb sql { - # Path for SQL configuration file, see doc/dovecot-sql-example.conf -- #args = -+ #args = @l_prefix@/etc/dovecot/dovecot-sql.conf - #} - - # LDAP database - #userdb ldap { - # Path for LDAP configuration file, see doc/dovecot-ldap-example.conf -- #args = -+ #args = @l_prefix@/etc/dovecot/dovecot-ldap.conf - #} - - # vpopmail -@@ -1040,7 +1053,7 @@ - # authentication with BSDs internally accesses shadow files, which also - # requires roots. Note that this user is NOT used to access mails. - # That user is specified by userdb above. -- user = root -+ user = @l_nusr@ - - # Directory where to chroot the process. Most authentication backends don't - # work if this is set, and there's no point chrooting if auth_user is root. -@@ -1064,7 +1077,7 @@ - # Master socket provides access to userdb information. It's typically - # used to give Dovecot's local delivery agent access to userdb so it - # can find mailbox locations. -- #path = /var/run/dovecot/auth-master -+ #path = @l_prefix@/var/dovecot/run/auth-master - #mode = 0600 - # Default user/group is the one who started dovecot-auth (root) - #user = -@@ -1074,7 +1087,7 @@ - # The client socket is generally safe to export to everyone. Typical use - # is to export it to your SMTP server so it can do SMTP AUTH lookups - # using it. -- #path = /var/run/dovecot/auth-client -+ #path = @l_prefix@/var/dovecot/run/auth-client - #mode = 0660 - #} - #} -@@ -1088,7 +1101,7 @@ - #auth external { - # socket connect { - # master { --# path = /var/run/dovecot/auth-master -+# path = @l_prefix@/dovecot/run/auth-master - # } - # } - #} -@@ -1104,8 +1117,8 @@ - # referenced using URIs in format "proxy::". - - dict { -- #quota = mysql:/etc/dovecot-dict-quota.conf -- #expire = db:/var/lib/dovecot/expire.db -+ #quota = mysql:@l_prefix@/etc/dovecot/dovecot-dict-quota.conf -+ #expire = db:@l_prefix@/var/dovecot/lib/expire.db - } - - # Path to Berkeley DB's configuration file. See doc/dovecot-db-example.conf -@@ -1156,7 +1169,7 @@ - # one file for each mailbox, eg. INBOX or sub.mailbox. cache_secs parameter - # specifies how many seconds to wait between stat()ing dovecot-acl file - # to see if it changed. -- #acl = vfile:/etc/dovecot-acls:cache_secs=300 -+ #acl = vfile:@l_prefix@/etc/dovecot/dovecot-acls:cache_secs=300 - - # Convert plugin. If set, specifies the source storage path which is - # converted to destination storage (mail_location) when the user logs in. -@@ -1175,14 +1188,14 @@ - # until the message can be saved within quota limits. The configuration file - # is a text file where each line is in format: - # Mails are first deleted in lowest -> highest priority number order -- #trash = /etc/dovecot-trash.conf -+ #trash = @l_prefix@/etc/dovecot/dovecot-trash.conf - - # Expire plugin. Mails are expunged from mailboxes after being there the - # configurable time. The first expiration date for each mailbox is stored in - # 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 @l_prefix@/libexec/dovecot/expire-tool - #expire = Trash 7 Spam 30 - #expire_dict = proxy::expire - + if test $PG_CONFIG = NO; then + # based on code from PHP +- for i in /usr /usr/local /usr/local/pgsql; do +- for j in include include/pgsql include/postgres include/postgresql ""; do ++ for i in @l_prefix@; do ++ for j in include/postgresql; do + if test -r "$i/$j/libpq-fe.h"; then + PGSQL_INCLUDE=$i/$j + fi + done +- for lib in lib lib64; do +- for j in $lib $lib/pgsql $lib/postgres $lib/postgresql ""; do ++ for lib in lib; do ++ for j in $lib; do + if test -f "$i/$j/libpq.so" || test -f "$i/$j/libpq.a"; then + PGSQL_LIBDIR=$i/$j + fi Index: src/deliver/deliver.c -diff -Nau src/deliver/deliver.c.orig src/deliver/deliver.c ---- src/deliver/deliver.c.orig 2009-02-27 00:31:13.000000000 +0100 -+++ src/deliver/deliver.c 2009-05-27 14:29:11.983461484 +0200 -@@ -41,7 +41,7 @@ +--- src/deliver/deliver.c.orig 2009-06-28 01:47:56 +0200 ++++ src/deliver/deliver.c 2009-07-27 16:47:39 +0200 +@@ -46,7 +46,7 @@ #include #define DEFAULT_CONFIG_FILE SYSCONFDIR"/dovecot.conf" @@ -403,46 +54,3 @@ #define DEFAULT_ENVELOPE_SENDER "MAILER-DAEMON" /* After buffer grows larger than this, create a temporary file to /tmp -Index: src/master/master-settings.c -diff -Nau src/master/master-settings.c.orig src/master/master-settings.c ---- src/master/master-settings.c.orig 2009-05-13 19:32:34.000000000 +0200 -+++ src/master/master-settings.c 2009-05-27 14:29:11.985776641 +0200 -@@ -178,14 +178,14 @@ - MEMBER(syslog_facility) "mail", - - /* general */ -- MEMBER(protocols) "imap imaps", -- MEMBER(listen) "*", -- MEMBER(ssl_listen) "", -+ MEMBER(protocols) "imap", -+ MEMBER(listen) "127.0.0.1", -+ MEMBER(ssl_listen) "127.0.0.1", - -- MEMBER(ssl_disable) FALSE, -+ MEMBER(ssl_disable) TRUE, - MEMBER(ssl_ca_file) "", -- MEMBER(ssl_cert_file) SSLDIR"/certs/dovecot.pem", -- MEMBER(ssl_key_file) SSLDIR"/private/dovecot.pem", -+ MEMBER(ssl_cert_file) "@l_prefix@/etc/dovecot/ssl/dovecot.crt", -+ MEMBER(ssl_key_file) "@l_prefix@/etc/dovecot/ssl/dovecot.key", - MEMBER(ssl_key_password) "", - MEMBER(ssl_parameters_regenerate) 168, - MEMBER(ssl_cipher_list) "", -@@ -200,7 +200,7 @@ - /* login */ - MEMBER(login_dir) "login", - MEMBER(login_executable) NULL, -- MEMBER(login_user) "dovecot", -+ MEMBER(login_user) "@l_musr@", - MEMBER(login_greeting) "Dovecot ready.", - MEMBER(login_log_format_elements) "user=<%u> method=%m rip=%r lip=%l %c", - MEMBER(login_log_format) "%$: %s", -@@ -325,7 +325,7 @@ - MEMBER(anonymous_username) "anonymous", - MEMBER(krb5_keytab) "", - MEMBER(gssapi_hostname) "", -- MEMBER(winbind_helper_path) "/usr/bin/ntlm_auth", -+ MEMBER(winbind_helper_path) "@l_prefix@/bin/ntlm_auth", - MEMBER(failure_delay) 2, - - MEMBER(verbose) FALSE,