dovecot-2.0: Merged latest changes from dovecot-2.0 branch.

dovecot at dovecot.org dovecot at dovecot.org
Sat Oct 2 14:34:01 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/37a0158f2e4c
changeset: 12248:37a0158f2e4c
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Aug 13 17:40:01 2010 +0100
description:
Merged latest changes from dovecot-2.0 branch.

diffstat:

 .hgignore                                                |    1 +
 .hgsigs                                                  |    2 +
 .hgtags                                                  |    2 +
 AUTHORS                                                  |    2 +-
 NEWS                                                     |   25 +
 TODO                                                     |    1 +
 configure.in                                             |   43 +-
 doc/example-config/conf.d/10-director.conf               |    4 +
 doc/example-config/conf.d/15-lda.conf                    |    2 +-
 doc/example-config/conf.d/20-imap.conf                   |    3 +-
 doc/example-config/dovecot.conf                          |    6 +
 dovecot-config.in.in                                     |    2 +-
 src/auth/auth-master-connection.c                        |    2 +-
 src/auth/auth-request.c                                  |  151 +++++-----
 src/auth/db-ldap.h                                       |    2 +-
 src/auth/db-passwd-file.c                                |    2 +-
 src/director/director-settings.c                         |    4 +-
 src/director/director-settings.h                         |    1 +
 src/director/doveadm-connection.c                        |    5 +-
 src/director/main.c                                      |   14 +-
 src/doveadm/Makefile.am                                  |   57 +++-
 src/doveadm/client-connection.c                          |  239 +++++++++++++++++
 src/doveadm/client-connection.h                          |    9 +
 src/doveadm/doveadm-director.c                           |    3 +-
 src/doveadm/doveadm-mail-expunge.c                       |   20 +-
 src/doveadm/doveadm-mail-mailbox-status.c                |   21 +-
 src/doveadm/doveadm-mail-mailbox.c                       |   47 ---
 src/doveadm/doveadm-mail-server.c                        |  266 +++++++++++++++++++
 src/doveadm/doveadm-mail.c                               |   66 +++-
 src/doveadm/doveadm-mail.h                               |   16 +-
 src/doveadm/doveadm-mutf7.c                              |   57 ++++
 src/doveadm/doveadm-print-server.c                       |   82 +++++
 src/doveadm/doveadm-print-tab.c                          |    4 +-
 src/doveadm/doveadm-print.c                              |   18 +-
 src/doveadm/doveadm-print.h                              |    3 +
 src/doveadm/doveadm-server.h                             |   16 +
 src/doveadm/doveadm-settings.c                           |   69 ++++
 src/doveadm/doveadm-settings.h                           |    2 +
 src/doveadm/doveadm-util.c                               |  147 ++++++++++
 src/doveadm/doveadm-util.h                               |   16 +
 src/doveadm/doveadm.c                                    |  169 +----------
 src/doveadm/doveadm.h                                    |    7 +-
 src/doveadm/main.c                                       |  101 +++++++
 src/doveadm/server-connection.c                          |  290 ++++++++++++++++++++
 src/doveadm/server-connection.h                          |   27 +
 src/dsync/dsync-brain-msgs.c                             |    6 +-
 src/dsync/dsync-brain.c                                  |    5 +
 src/dsync/dsync-proxy-server.c                           |    4 +-
 src/dsync/dsync-worker-local.c                           |   82 ++++-
 src/dsync/dsync-worker.c                                 |    4 +-
 src/dsync/dsync.c                                        |    1 +
 src/imap-login/Makefile.am                               |    3 +-
 src/imap-login/client-authenticate.c                     |    6 +-
 src/imap-login/client-authenticate.h                     |    2 +-
 src/imap-login/client.c                                  |   27 +-
 src/imap-login/imap-proxy.c                              |   17 +
 src/imap/cmd-subscribe.c                                 |    6 +-
 src/imap/imap-client.c                                   |   12 +-
 src/imap/imap-commands-util.c                            |    4 +-
 src/lib-dict/dict.h                                      |    2 +-
 src/lib-index/mail-cache.c                               |   12 +-
 src/lib-index/mail-cache.h                               |    2 +
 src/lib-lda/mail-deliver.c                               |    8 +
 src/lib-lda/mail-deliver.h                               |    4 +
 src/lib-mail/istream-header-filter.c                     |   85 +++++-
 src/lib-mail/istream-header-filter.h                     |    4 +-
 src/lib-mail/test-istream-header-filter.c                |   61 ++++-
 src/lib-master/master-login.c                            |    6 +
 src/lib-master/master-service-private.h                  |    1 +
 src/lib-master/master-service.c                          |    6 +
 src/lib-master/master-service.h                          |    2 +
 src/lib-master/service-settings.h                        |    3 +-
 src/lib-sql/driver-pgsql.c                               |   70 ++--
 src/lib-sql/sql-api.c                                    |   32 +-
 src/lib-storage/index/cydir/cydir-save.c                 |   47 ++-
 src/lib-storage/index/dbox-common/dbox-file.c            |   10 +-
 src/lib-storage/index/dbox-common/dbox-mail.c            |    1 +
 src/lib-storage/index/dbox-multi/mdbox-map.c             |    6 +
 src/lib-storage/index/dbox-multi/mdbox-purge.c           |   10 +
 src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c |    6 +-
 src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c   |    3 +
 src/lib-storage/index/index-mail-headers.c               |    4 +-
 src/lib-storage/index/index-mail.c                       |    7 +-
 src/lib-storage/index/index-search.c                     |    2 +-
 src/lib-storage/index/index-status.c                     |    2 +
 src/lib-storage/index/index-thread.c                     |    2 +-
 src/lib-storage/index/maildir/maildir-keywords.h         |    2 +-
 src/lib-storage/index/maildir/maildir-mail.c             |   32 ++-
 src/lib-storage/index/maildir/maildir-save.c             |   14 +-
 src/lib-storage/index/maildir/maildir-util.c             |    2 +-
 src/lib-storage/index/mbox/mbox-save.c                   |   38 +-
 src/lib-storage/index/mbox/mbox-sync.c                   |    6 +-
 src/lib-storage/index/shared/shared-storage.c            |    7 +-
 src/lib-storage/list/mailbox-list-delete.c               |    3 +-
 src/lib-storage/list/mailbox-list-fs-iter.c              |   21 +-
 src/lib-storage/list/mailbox-list-maildir.c              |    2 +-
 src/lib-storage/mail-namespace.c                         |   33 ++-
 src/lib-storage/mail-namespace.h                         |    6 +
 src/lib-storage/mail-storage-hooks.c                     |    2 +-
 src/lib-storage/mail-storage-service.c                   |    1 +
 src/lib-storage/mail-storage.c                           |    4 +-
 src/lib-storage/mail-storage.h                           |    2 +-
 src/lib-storage/mailbox-list.c                           |   38 +-
 src/lib-storage/mailbox-list.h                           |    1 -
 src/lib/ioloop-notify-inotify.c                          |   25 +-
 src/lib/istream-file.c                                   |   17 +-
 src/lib/istream.c                                        |    5 +
 src/lib/istream.h                                        |    2 +
 src/lib/module-dir.c                                     |   52 ++-
 src/lib/module-dir.h                                     |    2 +
 src/lib/mountpoint.c                                     |    8 +-
 src/lib/network.c                                        |   33 +-
 src/lib/network.h                                        |    6 +-
 src/lib/strfuncs.c                                       |    5 +-
 src/lib/unlink-directory.c                               |    6 +
 src/login-common/client-common-auth.c                    |   13 +-
 src/login-common/client-common.h                         |    1 +
 src/login-common/login-proxy.c                           |    2 +
 src/login-common/ssl-proxy-openssl.c                     |    8 +-
 src/master/master-settings.c                             |    2 +
 src/master/service-monitor.c                             |   10 +
 src/master/service-process.c                             |    1 +
 src/master/service.c                                     |    1 +
 src/master/service.h                                     |    1 +
 src/plugins/acl/acl-backend-vfile.c                      |   37 +-
 src/plugins/acl/acl-mailbox-list.c                       |   65 ++--
 src/plugins/acl/acl-plugin.c                             |    1 +
 src/plugins/acl/acl-plugin.h                             |    1 +
 src/plugins/expire/doveadm-expire.c                      |    1 +
 src/plugins/fts-solr/fts-backend-solr.c                  |    2 +-
 src/plugins/imap-acl/imap-acl-plugin.c                   |   85 ++++-
 src/plugins/lazy-expunge/lazy-expunge-plugin.c           |   35 +-
 src/plugins/listescape/listescape-plugin.c               |  171 ++++++++----
 src/plugins/mail-log/mail-log-plugin.c                   |   43 ++-
 src/plugins/notify/Makefile.am                           |    1 -
 src/plugins/notify/notify-noop.c                         |   28 --
 src/plugins/notify/notify-plugin-private.h               |    1 +
 src/plugins/notify/notify-plugin.c                       |   56 +++-
 src/plugins/notify/notify-plugin.h                       |   19 +-
 src/plugins/notify/notify-storage.c                      |   14 +
 src/plugins/quota/quota-count.c                          |    7 +-
 src/plugins/quota/quota-maildir.c                        |   10 +-
 src/plugins/quota/quota-plugin.c                         |    2 +-
 src/plugins/quota/quota-plugin.h                         |    3 +-
 src/plugins/quota/quota-storage.c                        |   41 +-
 src/plugins/virtual/virtual-storage.c                    |   24 +-
 src/plugins/virtual/virtual-sync.c                       |    4 +-
 src/pop3-login/Makefile.am                               |    3 +-
 src/pop3-login/client.h                                  |    2 -
 src/pop3-login/pop3-proxy.c                              |   12 +-
 src/ssl-params/main.c                                    |   15 +-
 src/ssl-params/ssl-params-settings.c                     |    2 +-
 152 files changed, 2863 insertions(+), 839 deletions(-)

diffs (truncated from 6835 to 300 lines):

diff -r 142bf0d4ae3c -r 37a0158f2e4c .hgignore
--- a/.hgignore	Fri Aug 13 17:35:44 2010 +0100
+++ b/.hgignore	Fri Aug 13 17:40:01 2010 +0100
@@ -65,6 +65,7 @@
 src/director/director-test
 src/dns/dns-client
 src/doveadm/doveadm
+src/doveadm/doveadm-server
 src/dsync/dsync
 src/imap-login/imap-login
 src/imap/imap
diff -r 142bf0d4ae3c -r 37a0158f2e4c .hgsigs
--- a/.hgsigs	Fri Aug 13 17:35:44 2010 +0100
+++ b/.hgsigs	Fri Aug 13 17:40:01 2010 +0100
@@ -10,3 +10,5 @@
 d4d6ebad3d337295c06537d5ffe2270672cb1312 0 iEYEABECAAYFAkwuRRYACgkQyUhSUUBVismQHgCgjee6P/AJuGaxoAU76dWhg7RCfWIAn19UbLi7ZrMgsG/tCYeImhHhERP0
 fd0497f5a49672c88c6aff775a9042ca9122a2a1 0 iEYEABECAAYFAkw3lYwACgkQyUhSUUBVislXCwCdHW09w+BljltFQ7lUYNm9AVf93SEAn3sctY0ImwfznoD5vMXO1ZJUpKC5
 a15b694f1d64a81eea7959fe34780e9e50356321 0 iEYEABECAAYFAkxGDMMACgkQyUhSUUBViskQUgCfQKbLIx86lOpNuRNE82D4H6aLhx4AoJ1f1CALKXTppHewftXLydxS7qg1
+71b2cb9895d92e2e3c80ecdd351055ab848a4ed6 0 iEYEABECAAYFAkxZwBUACgkQyUhSUUBViskB9ACgmIAgI3syzyHQU7NMwuqJywjCnUMAnA+AnvUgDc7ewsBJMog2F8OkQ0KB
+4a2d840a80bbe85e2101e3a5fb19424c3050f923 0 iEYEABECAAYFAkxhYVUACgkQyUhSUUBVisllmwCdFEJ8CzPbbzKZSKJbmgPTQj4lgP0AoKZXDAxxrs+lWB1kp3ECTyX3gW5T
diff -r 142bf0d4ae3c -r 37a0158f2e4c .hgtags
--- a/.hgtags	Fri Aug 13 17:35:44 2010 +0100
+++ b/.hgtags	Fri Aug 13 17:40:01 2010 +0100
@@ -47,3 +47,5 @@
 d4d6ebad3d337295c06537d5ffe2270672cb1312 2.0.rc1
 fd0497f5a49672c88c6aff775a9042ca9122a2a1 2.0.rc2
 a15b694f1d64a81eea7959fe34780e9e50356321 2.0.rc3
+71b2cb9895d92e2e3c80ecdd351055ab848a4ed6 2.0.rc4
+4a2d840a80bbe85e2101e3a5fb19424c3050f923 2.0.rc5
diff -r 142bf0d4ae3c -r 37a0158f2e4c AUTHORS
--- a/AUTHORS	Fri Aug 13 17:35:44 2010 +0100
+++ b/AUTHORS	Fri Aug 13 17:40:01 2010 +0100
@@ -6,7 +6,7 @@
   src/lib-ntlm/*, src/auth/mech-ntlm.c, src/auth/mech-rpa.c)
 
 Joshua Goodall <joshua at roughtrade.net> (src/auth/mech-cram-md5.c,
-  src/util/dovecotpw.c)
+  src/doveadm/doveadm-pw.c)
 
 Jelmer Vernooij <jelmer at samba.org> (src/auth/mech-gssapi.c)
 
diff -r 142bf0d4ae3c -r 37a0158f2e4c NEWS
--- a/NEWS	Fri Aug 13 17:35:44 2010 +0100
+++ b/NEWS	Fri Aug 13 17:40:01 2010 +0100
@@ -1,3 +1,28 @@
+v2.0.rc5 2010-08-09  Timo Sirainen <tss at iki.fi>
+
+	- Using more than 2 plugins could have caused broken behavior
+	  (more fixes for this)
+	- Listescape plugin fixes
+	- mbox: Fixed a couple of assert-crashes
+	- mdbox: Fixed potential assert-crash when saving multiple messages
+	  in one transaction.
+
+v2.0.rc4 2010-08-04  Timo Sirainen <tss at iki.fi>
+
+	+ director: Added director_doveadm_port for accepting doveadm
+	  TCP connections. 
+	+ doveadm: Added client/server architecture support for running mail
+	  commands. Enable this by setting doveadm_worker_count to non-zero.
+	+ mail-log: Added support for mailbox_create event.
+	+ imap_capability = +XFOO BAR can be used to add capabilities instead
+	  of replacing the whole capability string.
+	+ virtual storage: Added support for IDLE notifications. 
+	- doveadm mailbox status: Fixed listing non-ASCII mailbox names. 
+	- doveadm fetch: Fixed output when fetching message header or body
+	- doveadm director map/add/remove: Fixed handling IP address as
+	  parameter. 
+	- dsync: A few more fixes
+
 v2.0.rc3 2010-07-20  Timo Sirainen <tss at iki.fi>
 
 	* Single-dbox is now called "sdbox" instead of "dbox".
diff -r 142bf0d4ae3c -r 37a0158f2e4c TODO
--- a/TODO	Fri Aug 13 17:35:44 2010 +0100
+++ b/TODO	Fri Aug 13 17:40:01 2010 +0100
@@ -87,6 +87,7 @@
    along with "Indexed n% of the mailbox"?
  - how do shared mailboxes work with plugins?
     - lazy-expunge, fts, etc.?
+    - listescape+acl can't handle shared mailboxes with escape chars
  - dovecot-acl-list:
     - how does it work with global acls?
     - update immediately after SETACL: add/remove entries, update timestamps
diff -r 142bf0d4ae3c -r 37a0158f2e4c configure.in
--- a/configure.in	Fri Aug 13 17:35:44 2010 +0100
+++ b/configure.in	Fri Aug 13 17:40:01 2010 +0100
@@ -1,5 +1,5 @@
 AC_PREREQ([2.59])
-AC_INIT([Dovecot],[2.0.rc3],[dovecot at dovecot.org])
+AC_INIT([Dovecot],[2.0.rc5],[dovecot at dovecot.org])
 AC_CONFIG_SRCDIR([src])
 
 AM_INIT_AUTOMAKE([foreign])
@@ -1696,6 +1696,9 @@
     AC_CHECK_LIB(ssl, SSL_get_current_compression, [
       AC_DEFINE(HAVE_SSL_COMPRESSION,, Build with OpenSSL compression)
     ],, $SSL_LIBS)
+    AC_CHECK_LIB(ssl, SSL_get_servername, [
+      AC_DEFINE(HAVE_SSL_GET_SERVERNAME,, Build with TLS hostname support)
+    ],, $SSL_LIBS)
   fi
 fi
 
@@ -1865,12 +1868,12 @@
 
 have_gssapi=no
 if test $want_gssapi != no; then
-	AC_CHECK_PROG(KRB5CONFIG, krb5-config, YES, NO)
-	if test $KRB5CONFIG = YES; then
-		if ! krb5-config --version gssapi 2>/dev/null > /dev/null; then
+	AC_CHECK_PROG(KRB5CONFIG, krb5-config, krb5-config, NO)
+	if test $KRB5CONFIG != NO; then
+		if ! $KRB5CONFIG --version gssapi 2>/dev/null > /dev/null; then
 		  # krb5-config doesn't support gssapi.
-		  KRB5_LIBS="`krb5-config --libs`"
-		  KRB5_CFLAGS=`krb5-config --cflags`
+		  KRB5_LIBS="`$KRB5CONFIG --libs`"
+		  KRB5_CFLAGS=`$KRB5CONFIG --cflags`
 		  AC_CHECK_LIB(gss, gss_acquire_cred, [
 		    # Solaris
 		    KRB5_LIBS="$KRB5_LIBS -lgss"
@@ -1879,8 +1882,8 @@
 		    KRB5_LIBS=
 		  ], $KRB5_LIBS)
 		else
-		  KRB5_LIBS=`krb5-config --libs gssapi`
-		  KRB5_CFLAGS=`krb5-config --cflags gssapi`
+		  KRB5_LIBS=`$KRB5CONFIG --libs gssapi`
+		  KRB5_CFLAGS=`$KRB5CONFIG --cflags gssapi`
 		fi
 		if test "$KRB5_LIBS" != ""; then
 			AC_SUBST(KRB5_LIBS)
@@ -2083,7 +2086,7 @@
 fi
 
 if test $want_pgsql != no; then
-  AC_CHECK_PROG(PG_CONFIG, pg_config, YES, NO)
+  AC_CHECK_PROG(PG_CONFIG, pg_config, pg_config, NO)
   if test $PG_CONFIG = NO; then
     # based on code from PHP
     for i in /usr /usr/local /usr/local/pgsql; do
@@ -2101,8 +2104,8 @@
       done
     done
   else
-    PGSQL_INCLUDE="`pg_config --includedir`"
-    PGSQL_LIBDIR="`pg_config --libdir`"  
+    PGSQL_INCLUDE="`$PG_CONFIG --includedir`"
+    PGSQL_LIBDIR="`$PG_CONFIG --libdir`"  
   fi
 
   old_LIBS=$LIBS
@@ -2144,7 +2147,7 @@
 
 have_mysql=no
 if test $want_mysql != no; then
-  AC_CHECK_PROG(MYSQL_CONFIG, mysql_config, YES, NO)
+  AC_CHECK_PROG(MYSQL_CONFIG, mysql_config, mysql_config, NO)
   if test $MYSQL_CONFIG = NO; then
 	# based on code from PHP
 	for i in /usr /usr/local /usr/local/mysql; do
@@ -2160,8 +2163,8 @@
 		done
 	done
   else
-    MYSQL_INCLUDE="`mysql_config --include`"
-    MYSQL_LIBS="`mysql_config --libs`"
+    MYSQL_INCLUDE="`$MYSQL_CONFIG --include`"
+    MYSQL_LIBS="`$MYSQL_CONFIG --libs`"
   fi
 
   old_LIBS=$LIBS
@@ -2563,10 +2566,10 @@
 AM_CONDITIONAL(HAVE_RQUOTA, test "$have_rquota" = "yes")
 
 if test "$want_solr" != "no"; then
-  AC_CHECK_PROG(CURLCONFIG, curl-config, YES, NO)
-  if test $CURLCONFIG = YES; then
-    CURL_CFLAGS=`curl-config --cflags`
-    CURL_LIBS=`curl-config --libs`
+  AC_CHECK_PROG(CURLCONFIG, curl-config, curl-config, NO)
+  if test $CURLCONFIG != NO; then
+    CURL_CFLAGS=`$CURLCONFIG --cflags`
+    CURL_LIBS=`$CURLCONFIG --libs`
     
     dnl libcurl found, also need libexpat
     AC_CHECK_LIB(expat, XML_Parse, [
@@ -2619,8 +2622,8 @@
 fi
 AC_SUBST(docdir)
 
-AC_CHECK_PROG(VALGRIND, valgrind, YES, NO)
-if test $VALGRIND = YES; then
+AC_CHECK_PROG(VALGRIND, valgrind, yes, no)
+if test $VALGRIND = yes; then
   RUN_TEST='$(SHELL) $(top_srcdir)/run-test.sh'
 else
   RUN_TEST=''
diff -r 142bf0d4ae3c -r 37a0158f2e4c doc/example-config/conf.d/10-director.conf
--- a/doc/example-config/conf.d/10-director.conf	Fri Aug 13 17:35:44 2010 +0100
+++ b/doc/example-config/conf.d/10-director.conf	Fri Aug 13 17:40:01 2010 +0100
@@ -21,6 +21,10 @@
 # any connections.
 #director_user_expire = 15 min
 
+# TCP/IP port that accepts doveadm connections (instead of director connections)
+# If you enable this, you'll also need to add inet_listener for the port.
+#director_doveadm_port = 0
+
 # To enable director service, uncomment the modes and assign a port.
 service director {
   unix_listener login/director {
diff -r 142bf0d4ae3c -r 37a0158f2e4c doc/example-config/conf.d/15-lda.conf
--- a/doc/example-config/conf.d/15-lda.conf	Fri Aug 13 17:35:44 2010 +0100
+++ b/doc/example-config/conf.d/15-lda.conf	Fri Aug 13 17:40:01 2010 +0100
@@ -28,7 +28,7 @@
 # Delimiter character between local-part and detail in email address.
 #recipient_delimiter = +
 
-# Should saving a mail to a non-existing mailbox automatically create it?
+# Should saving a mail to a nonexistent mailbox automatically create it?
 #lda_mailbox_autocreate = no
 
 # Should automatically created mailboxes be also automatically subscribed?
diff -r 142bf0d4ae3c -r 37a0158f2e4c doc/example-config/conf.d/20-imap.conf
--- a/doc/example-config/conf.d/20-imap.conf	Fri Aug 13 17:35:44 2010 +0100
+++ b/doc/example-config/conf.d/20-imap.conf	Fri Aug 13 17:40:01 2010 +0100
@@ -20,7 +20,8 @@
   #  %o - total number of bytes sent to client
   #imap_logout_format = bytes=%i/%o
 
-  # Override the IMAP CAPABILITY response.
+  # Override the IMAP CAPABILITY response. If the value begins with '+',
+  # add the given capabilities on top of the defaults (e.g. +XFOO XBAR).
   #imap_capability = 
 
   # How long to wait between "OK Still here" notifications when client is
diff -r 142bf0d4ae3c -r 37a0158f2e4c doc/example-config/dovecot.conf
--- a/doc/example-config/dovecot.conf	Fri Aug 13 17:35:44 2010 +0100
+++ b/doc/example-config/dovecot.conf	Fri Aug 13 17:40:01 2010 +0100
@@ -56,6 +56,12 @@
 # a problem if the upgrade is e.g. because of a security fix).
 #shutdown_clients = yes
 
+# If non-zero, run mail commands via this many connections to doveadm server,
+# instead of running them directly in the same process.
+#doveadm_worker_count = 0
+# UNIX socket or host:port used for connecting to doveadm server
+#doveadm_socket_path = doveadm-server
+
 ##
 ## Dictionary server settings
 ##
diff -r 142bf0d4ae3c -r 37a0158f2e4c dovecot-config.in.in
--- a/dovecot-config.in.in	Fri Aug 13 17:35:44 2010 +0100
+++ b/dovecot-config.in.in	Fri Aug 13 17:40:01 2010 +0100
@@ -3,7 +3,7 @@
 DOVECOT_SSL_LIBS="@SSL_LIBS@"
 
 LIBDOVECOT="@LIBDOVECOT@ @MODULE_LIBS@"
-LIBDOVECOT_LOGIN="@LIBDOVECOT_LOGIN@"
+LIBDOVECOT_LOGIN="@LIBDOVECOT_LOGIN@ @SSL_LIBS@"
 LIBDOVECOT_SQL="@LIBDOVECOT_SQL@"
 LIBDOVECOT_LDA="@LIBDOVECOT_LDA@"
 LIBDOVECOT_STORAGE="@LIBDOVECOT_STORAGE@"
diff -r 142bf0d4ae3c -r 37a0158f2e4c src/auth/auth-master-connection.c
--- a/src/auth/auth-master-connection.c	Fri Aug 13 17:35:44 2010 +0100
+++ b/src/auth/auth-master-connection.c	Fri Aug 13 17:40:01 2010 +0100
@@ -91,7 +91,7 @@
 
 	client_conn = auth_client_connection_lookup(client_pid);
 	if (client_conn == NULL) {
-		i_error("Master requested auth for nonexisting client %u",
+		i_error("Master requested auth for nonexistent client %u",
 			client_pid);
 		(void)o_stream_send_str(conn->output,
 					t_strdup_printf("FAIL\t%u\n", id));
diff -r 142bf0d4ae3c -r 37a0158f2e4c src/auth/auth-request.c
--- a/src/auth/auth-request.c	Fri Aug 13 17:35:44 2010 +0100
+++ b/src/auth/auth-request.c	Fri Aug 13 17:40:01 2010 +0100
@@ -31,7 +31,6 @@
 
 static void get_log_prefix(string_t *str, struct auth_request *auth_request,
 			   const char *subsystem);
-static void auth_request_userdb_reply_update_user(struct auth_request *request);
 
 struct auth_request *
 auth_request_new(const struct mech_module *mech)
@@ -1042,12 +1041,80 @@
 	auth_stream_reply_add(request->extra_fields, name, value);
 }
 
+static void auth_request_userdb_reply_update_user(struct auth_request *request)
+{
+	const char *str, *p;
+
+	str = t_strdup(auth_stream_reply_export(request->userdb_reply));
+
+	/* reset the reply and add the new username */


More information about the dovecot-cvs mailing list