ChangeLog   [plain text]


2013-08-05  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 71f0696749ab
	[b846a046d978] [tip]

	* .hgtags:
	Added tag 2.2.5 for changeset 71f0696749ab
	[20e7fab87ad8]

	* NEWS, configure.ac:
	Released v2.2.5.
	[71f0696749ab] [2.2.5]

	* src/director/user-directory.c, src/lib-http/test-http-response-
	parser.c:
	Make static analyzer happier.
	[c3901ac774cb]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Use a separate auth-userdb connection for iterating
	through users. This is required because the auth-userdb connection
	is also wanted in the middle of the iteration to do USER lookups.
	[c41eab7d5d05]

	* src/lib-auth/auth-master.c:
	lib-auth: Previous changes didn't set the current ioloop correctly,
	causing problems.
	[19719ea2cddb]

	* src/doveadm/doveadm-mail-mailbox-status.c, src/doveadm/doveadm-mail-
	mailbox.c:
	doveadm: Minor memory leak fixes at deinit.
	[647ef2264398]

	* src/lib-auth/auth-master.c:
	lib-auth: auth_master_user_list_*() shouldn't create ioloop if it
	already exists.
	[f7dc5389ab0a]

	* src/lib-storage/index/maildir/maildir-storage.c:
	maildir: mailbox_create() was returning 1 instead of 0 on success.
	This broke acl plugin's check to copy the ACLs to the newly created
	mailbox.
	[a3f645bc5195]

	* src/dns/dns-client.c, src/lib/net.h:
	dns: Use EAI_NONAME, not EAI_ADDRFAMILY to indicate "no addresses".
	[556475a5c1be]

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Don't use file_set_size() to grow mbox file size.
	posix_fallocate() apparently grows file size in 4kB blocks in GFS2
	causing extra NULs to be written. The mbox file rarely needs to grow
	so much that there's any point in using any optimizations for it.

	Besides, this was the last place where file_set_size() was used. If
	no further use can be found for it, it could be removed entirely.
	[42b2736f146b]

	* src/lib-auth/auth-master.c:
	lib-auth: Another crashfix to auth_master_user_list_*()
	[1adb8998c2a6]

2013-08-05  Pascal Volk  <user@localhost.localdomain.org>

	* .hgignore, doc/man/Makefile.am, doc/man/doveadm-exec.1.in,
	doc/man/doveadm.1.in, doc/man/sed.sh:
	man: Added doveadm-exec.1.
	[d3e554bccf68]

2013-08-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	lib-storage: Fixed listing INBOX's children with LAYOUT=fs and non-
	mbox format.
	[692c1797a8c9]

	* src/lib/net.c:
	net_gethosterror(): Never return NULL.
	[dc60e46f0cb5]

	* src/dns/dns-client.c, src/lib-dns/dns-lookup.c, src/lib/net.h:
	lib-dns, dns: Don't use IPv4-only error codes
	[f69e08188622]

	* src/lib-index/mail-index-sync-update.c:
	lib-index: Replaced assert-crash with "index corrupted" error.
	[d6290bd28253]

	* src/lib-index/mail-index-sync-update.c:
	lib-index: Silently ignore next_uid shrinking without treating them
	as errors.
	[374e338bb3d6]

2013-08-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/http-client-request.c, src/lib-http/http-url.c, src
	/lib-http/http-url.h:
	lib-http: Fixed redirect request target encoding and NULL target.
	Patch by Stephan Bosch.
	[3af0ae411b37]

	* src/imap/cmd-append.c:
	imap: Various APPEND/CATENATE error handling bugfixes. Found using
	Apple's catenate.pl test script.
	[3c2e1879fdf6]

	* src/lib-http/http-header-parser.c, src/lib-http/test-http-header-
	parser.c:
	lib-http: Ignore trailing whitespace in headers. Patch by Stephan
	Bosch.
	[2d6497a4f124]

	* src/lib-http/http-client-connection.c:
	lib-http: Don't crash when receiving 304 or a redirect without
	Location: header. Patch by Stephan Bosch
	[97fcb2904b22]

2013-08-03  Timo Sirainen  <tss@iki.fi>

	* doc/man/doveadm-deduplicate.1.in:
	man: Fixed doveadm-deduplicate.1 Patch by Pascal Volk
	[292991f2d504]

	* doc/man/Makefile.am:
	Makefile: Fixed previous commit.
	[0e38ca2aa8d6]

2013-08-02  Pascal Volk  <user@localhost.localdomain.org>

	* .hgignore, doc/man/Makefile.am, doc/man/doveadm-deduplicate.1.in,
	doc/man/doveadm-flags.1.in, doc/man/doveadm.1.in:
	man: Added doveadm-deduplicate.1 and doveadm-flags.1.
	[78a3b43af482]

2013-08-02  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-flags.c:
	doveadm flags: Fixed help text for subcommands.
	[f16816a69130]

	* src/plugins/quota/quota-status.c:
	quota-status: Added quota_status_toolarge message for mails larger
	than user's quota limit. Based on patch by Ulrich Zehl
	[78225937a030]

	* src/plugins/quota/quota-status.c:
	quota-status: Removed extra newlines from default
	quota_status_overquota message. Patch by Ulrich Zehl
	[3e98654cbb54]

2013-08-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-ssl-iostream/iostream-openssl.c, src/login-common/ssl-proxy-
	openssl.c:
	ssl: Log SSL "close notify" alerts as debug messages, not warnings.
	They are clean shutdown messages after all.
	[2714f51e2355]

	* src/plugins/quota/quota-storage.c:
	quota: Don't log errors about missing namespaces for autocreated
	shared mail_users.
	[1705bf7bf484]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Improved seteuid() error messages a bit.
	[f7f3ea4cb6df]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: If settings can't be read because of permission denied,
	restart process.
	[2bccde4027ea]

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h:
	lib-master: Added master_service_settings_output.permission_denied
	error flag.
	[5696b0162527]

	* src/lib-master/master-service-settings.c:
	lib-master: If config socket closes, retry connecting to it
	automatically.
	[96ea65bf653c]

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h, src/lib-master/master-service.c, src/lib-master
	/master-service.h:
	lib-master: If MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN is set, open the
	config socket before dropping privileges.
	[eb63eca74471]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Ignore MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP if
	service user isn't root.
	[43488e1044c9]

2013-07-30  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-status.c:
	quota-status: Keep the config connection open.
	[51b8020b29f6]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: With temporary privilege dropping, switch to root
	before doing config lookup. This fixes the problem of not having
	enough permissions to connect to the config socket.
	[2470bb9106b0]

	* src/lib-auth/auth-master.c:
	lib-auth: Don't crash in auth_master_user_list_*() if socket can't
	be connected to.
	[0cab916b28c6]

2013-07-29  Timo Sirainen  <tss@iki.fi>

	* src/director/director-connection.c, src/director/director-host.h,
	src/director/director.c, src/director/director.h:
	director: Avoid infinite SYNC loops if the originating director goes
	away for a long time.
	[a6736e42301e]

	* src/director/director-connection.c, src/director/user-directory.c,
	src/director/user-directory.h:
	director: Update existing users' timestamps during handshake.
	[5ef62caea61b]

	* src/director/director-test.c, src/director/director-test.sh:
	director: Fixes to director-test.
	[366024103c09]

	* src/director/director-connection.c:
	director: Fixes to handling users near expiration.
	[9b8b5ce6ecb0]

	* src/director/director-connection.c:
	director: Log director disconnection errno correctly.
	[0ad8da149774]

	* src/director/user-directory.c:
	director: Expire users a bit more correctly. Also make sure that the
	"user near expiring" interval is at least 3 seconds in case
	director_user_expire is very low.
	[0e0eb964685a]

	* src/director/director-settings.c:
	director: Don't allow director_user_expire to be less than 10
	seconds.
	[d95ca476098c]

2013-07-17  Timo Sirainen  <tss@iki.fi>

	* src/lib/connection.c:
	liblib: connection_disconnect() didn't close fd_out if it was
	different from fd_in.
	[50117c22151e]

2013-07-12  Timo Sirainen  <tss@iki.fi>

	* src/director/login-connection.c:
	director: Don't log an error if login connection gets closed with
	ECONNRESET.
	[ebbe00999da8]

	* src/auth/auth-request.c, src/auth/auth-request.h:
	auth: With multiple passdbs the previous passdb's userdb_* fields
	weren't cleared.
	[3e6b136d936c]

	* src/auth/auth-request.c, src/auth/auth-request.h, src/auth/auth-
	worker-client.c:
	auth: If blocking passdb returned only NULLs for userdb_ fields, use
	userdb prefetch anyway.
	[2be295a0b64f]

	* src/auth/auth-master-connection.c, src/auth/auth-worker-client.c:
	auth: Use fewer syscalls for sending user list.
	[86275093e7b3]

	* src/lib-auth/auth-master.c, src/lib-auth/auth-master.h:
	lib-auth: auth_master_user_list_*() no longer reads the entire user
	list into memory.
	[328bc770af54]

	* src/doveadm/doveadm-mail.c, src/lib-storage/mail-storage-service.c,
	src/lib-storage/mail-storage-service.h:
	lib-storage: mail_storage_service_all_init() no longer returns total
	number of users. In preperation for removing the count
	functionality, since it requires reading all the users into memory
	for it to work.

	This also required removing the /total from verbosity counter with
	doveadm -A.
	[c0b0f46ff581]

	* src/auth/auth-worker-client.c:
	auth: Avoid wasting data stack when iterating users.
	[7172b893101d]

	* doc/man/doveadm-director.1.in:
	man: Updated doveadm-director man page.
	[a97caa1ce2b7]

	* src/lib-ssl-iostream/iostream-openssl-context.c:
	lib-ssl-iostream: Crashfix for recent change.
	[50b1d59912eb]

2013-07-11  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/Makefile.am, src/lib-http/test-http-server.c:
	lib-http: Added a very dummy test-http-server
	[6d986d132fb8]

	* src/lib-http/Makefile.am, src/lib-http/http-message-parser.c, src
	/lib-http/http-message-parser.h, src/lib-http/http-request-parser.c,
	src/lib-http/http-request-parser.h, src/lib-http/http-response-
	parser.c:
	lib-http: Implemented http-request-parser for HTTP servers. Moved
	code common with it and http-response-parser to http-message-parser.
	[c55bd41133a2]

	* src/lib-http/Makefile.am, src/lib-http/http-client.h, src/lib-http
	/http-response-parser.h, src/lib-http/http-response.h:
	lib-http: Moved struct http_response* to http-response.h Also http-
	client.h now #includes only http-response.h
	[c5952dd642c6]

	* src/lib-http/http-response-parser.c:
	lib-http: Minor change to make sure http_response_header.size is
	always correct. The current http-header-parser already guaranteed
	that it is, but this change just adds extra guarantees that it won't
	break in future. Besides, this change improves the performance
	slightly by avoiding strlen().
	[69cc86583da2]

	* src/lib-http/http-response-parser.c:
	lib-http: Minor fix/cleanup to detecting stream errors when skipping
	payload.
	[dbda2f84aeaa]

	* src/lib-http/test-http-response-parser.c:
	lib-http: Updated test-http-response-parser
	[1ab7d7dd3087]

	* src/lib-http/test-http-header-parser.c:
	lib-http: test-http-header-parser makes sure the parser works one
	byte at a time.
	[feac6ec9fa6e]

	* src/lib-http/test-http-response-parser.c:
	lib-http: Fixed previous test-http-response-parser change.
	[55ae488349d2]

	* src/lib-http/http-response-parser.c, src/lib-http/test-http-
	response-parser.c:
	lib-http: Fixed handling responses whose header arrives in smaller
	pieces.
	[07fb7d4665c6]

	* src/lib-http/http-response-parser.c:
	lib-http: Simplify http response status-line parsing code. Also by
	not using a temporary string buffer the istream can at least in
	theory limit the maximum status-line length (=max memory usage).
	[d7244f7ceca4]

	* src/lib-http/http-client-connection.c:
	lib-http: Http requests weren't freed when connection was aborted.
	Patch by Stephan Bosch.
	[a99b211f0409]

	* src/lib-ssl-iostream/iostream-openssl-context.c:
	lib-ssl-iostream: Compiler warning fix
	[dff200f433d2]

2013-07-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-ssl-iostream/iostream-openssl-common.c:
	lib-ssl-iostreams: ssl_protocols setting supports now TLSv1.1 and
	TLSv1.2 values.
	[3a08bd30d180]

	* src/auth/auth.c:
	auth: Fixed crash for some lookups that didn't specify service name.
	[aff54366b1b6]

	* src/plugins/quota/quota-maildir.c:
	Maildir++ quota: When recreating, don't use maildirsize.lock file.
	The point was never to even try to lock it, it just used to be an
	easier API to create the file. Nowadays safe_mkstemp_hostpid_group()
	works just as easily. This normally doesn't matter, but apparently
	Exim+CPanel leaves maildirsize.lock files lying around, causing
	Dovecot to not update maildirsize.
	[24d6708cea76]

	* src/lib-ssl-iostream/iostream-openssl-context.c:
	lib-ssl-iostream: Added support for ECDH/ECDHE cipher suites Based
	on the login-common patch by David Hicks.
	[dc99912e5047]

	* src/login-common/ssl-proxy-openssl.c:
	login-common: Compiler warning fix with OpenSSL v1.0.2+
	[ac0dd2fbdbf0]

	* src/lib-http/http-client-private.h:
	lib-http: Minor comment update.
	[f296a05246fb]

2013-07-06  David Hicks  <david@hicks.id.au>

	* src/login-common/ssl-proxy-openssl.c:
	login-common: Add support for ECDH/ECDHE cipher suites

	ECDH temporary key parameter selection must be performed during
	OpenSSL context initialisation before ECDH and ECDHE cipher suites
	can be used.

	OpenSSL >= 1.0.2 automatically handles ECDH temporary key parameter
	selection. For OpenSSL < 1.0.2 we must manually specify a named
	elliptic curve that Dovecot will use to generate an ephemeral key
	pair. By default we try to use the same named curve as that used in
	the server's private EC key file. If this attempt fails, a fall back
	curve of NIST P-384 (secp384r1) is used instead.

	RFC 6460 states that NIST P-384 MUST be used for cipher suites that
	include AES-256. For cipher suites that include AES-128, RFC 6460
	states that NIST P-256 MUST be used. No matter which curve is used
	as a fall back option, Dovecot will be non-compliant. The reason for
	selecting NIST P-384 as a fall back curve is to ensure that the non-
	compliance is in the form of providing too great a level of security
	for AES-128 cipher suites rather than too little security for
	AES-256 cipher suites.
	[331d0a4fe772]

2013-07-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-list.h, src/lib-storage/index/imapc/imapc-
	mail-fetch.c, src/lib-storage/index/imapc/imapc-save.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h, src/lib-storage/index/imapc/imapc-sync.c:
	imapc: Reorganize code so that imapc_list works without
	imapc_storage. Most importantly fixes crashes when imapc_list is
	trying to lookup hierarchy separator before storage is created.
	[620876853f6f]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-list.h:
	imapc: Code cleanup: Don't access imapc settings via storage.
	[e45ad5524f1a]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Minor code cleanup.
	[673648c6fb4b]

	* src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/passdb-ldap.c,
	src/auth/userdb-ldap.c:
	auth: If passdb ldap returned no values for userdb_ fields, use
	userdb prefetch anyway.
	[939aa051e3f1]

	* src/auth/auth-request.c, src/auth/auth-request.h, src/auth/passdb-
	sql.c:
	auth: If passdb sql returned only NULLs for userdb_ fields, use
	userdb prefetch anyway.
	[9091d0f2d971]

	* src/pop3/pop3-commands.c:
	pop3: Avoid assert-crash if client disconnects during LIST.
	[debbcfe5577a]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	peer.c, src/lib-http/http-client-private.h:
	lib-http: Fix/cleanup to handling connect failures. There was some
	kind of double-error handling which messed up things.
	[4707096101a4]

	* src/lib-http/http-client-host.c, src/lib-http/http-client-peer.c,
	src/lib-http/http-client-private.h:
	lib-http: Fixed tracking number of pending connections to host-port.
	[129ae6342b28]

	* src/lib-http/http-client-host.c:
	lib-http: Don't assert-crash in case of somewhat unexpected failing
	connections.
	[843208699cbc]

	* src/lib-http/http-client-host.c, src/lib-http/http-client-private.h:
	lib-http: Always try to connect to host's all IPs when connections
	fail. Previously this was done only when the new connections started
	from the first IP.
	[dee7822501b0]

2013-06-28  Timo Sirainen  <tss@iki.fi>

	* src/dns/dns-client.c, src/lib-dns/dns-lookup.c, src/lib-dns/dns-
	lookup.h:
	dns, lib-dns: Added support for async DNS PTR lookups.
	[1fbac590b9d4]

	* src/lib/net.c, src/lib/net.h:
	Added net_gethostbyaddr() for DNS PTR lookups. This code assumes we
	have IPv6 capability. Perhaps we should just require it everywhere
	already..
	[eaa712530f3f]

2013-06-27  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	peer.c:
	lib-http: Added more debug messages.
	[a6b00756ab2c]

	* src/lib-http/http-client-host.c:
	lib-http: When successfully connected to a peer, don't drop the
	peer's pending connections. They could have been intentionally
	created for other urgent requests.
	[e405105a0c24]

	* src/lib-http/http-client-connection.c:
	lib-http: Don't crash if payload stream is referenced by caller
	after its connection is freed.
	[20a0595e6e5d]

	* src/lib-http/http-client-connection.c:
	lib-http: Remove request timeout from being used during payload
	read. The reading is done by the lib-http caller, which should have
	its own timeouts.
	[9fd54d123e22]

	* src/lib-http/http-client-request.c:
	lib-http: Call request's destroy callback always, not just on
	success.
	[eb63569f0f73]

	* src/lib-http/http-client-connection.c:
	lib-http: If connection times out, set the stream's errno to
	ETIMEDOUT in case it's used.
	[3fdfbabf3dcf]

	* src/lib-http/http-client-connection.c:
	lib-http: When connection is freed, abort also the pending request.
	[110d18bf9e30]

	* src/lib-http/http-client-connection.c:
	lib-http: Timeouts were being handled wrong/leaked by ioloop
	switching.
	[975fdf5a6987]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	peer.c, src/lib-http/http-client-private.h:
	lib-http: Minor code cleanup.
	[cf9024b01720]

	* src/lib-http/http-client-peer.c:
	lib-http: Fixed hang when many connections were being created and
	closed.
	[af23c7a899a9]

	* src/lib-http/http-client.c, src/lib-http/http-client.h:
	lib-http: Added http_client_get_pending_request_count()
	[185dfd05b57a]

2013-06-26  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Recent changes broke remote dsync
	[c2c09416d8a4]

	* src/config/old-set-parser.c:
	config: Give a somewhat better warning for when using
	protocols=imaps or pop3s.
	[e8cba978850d]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	mailbox-tree-sync.c, src/doveadm/dsync/dsync-brain-mailbox-tree.c,
	src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	brain-private.h, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync
	/dsync-brain.h, src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Added -1 parameter to do a "one way sync" without reverting
	changes. This can be useful during migration when you don't want to
	delete any mails, but you also don't want to send changes to the old
	server either.
	[0144704e1b99]

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Send DSYNC_BRAIN_FLAG_NO_MAIL_SYNC via ibc-stream to slave
	brain.
	[2e6829462405]

	* src/lib-storage/index/pop3c/pop3c-storage.c:
	pop3c: Fixed mail saving to fail nicely, not assert-crash.
	[42a5acba17e5]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixed syncing when one of the backends supported GUIDs.
	[f3b9325509fd]

	* src/lib-storage/index/pop3c/pop3c-storage.c:
	pop3c: Return error instead of crashing when trying to save a mail.
	[230f111056b4]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixed handling expunges when GUIDs aren't supported by the
	backend(s).
	[af8ce0a84bb5]

	* src/imap-login/imap-proxy.c, src/lib-sasl/Makefile.am, src/lib-sasl
	/dsasl-client-private.h, src/lib-sasl/dsasl-client.c, src/lib-sasl
	/dsasl-client.h, src/lib-sasl/mech-login.c, src/lib-sasl/mech-
	plain.c, src/lib-sasl/sasl-client-private.h, src/lib-sasl/sasl-
	client.c, src/lib-sasl/sasl-client.h, src/login-common/client-
	common-auth.c, src/login-common/client-common.c, src/login-common
	/client-common.h, src/login-common/main.c,
	src/pop3-login/pop3-proxy.c:
	lib-sasl: Use dsasl_ prefix so we don't conflict with Cyrus SASL
	library.
	[2dd27b0e7e49]

2013-06-25  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-transaction-log-scan.c:
	dsync: Don't log index errors if modseq points beyond the current
	view.
	[d6b18c237be5]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Resize mdbox index header if necessary also when rebuilding
	indexes.
	[be970e7928eb]

	* src/lib-index/mail-index-transaction-export.c:
	lib-index: Assert-crash instead of writing a broken transaction with
	too large ext header update.
	[8cf482b749e2]

	* src/lib-index/mail-index-transaction-export.c:
	lib-index: Don't write a broken transaction if extension resize is
	done at first use.
	[04c64300f81f]

	* .hgsigs:
	Added signature for changeset 4b3c9c3e4fb8
	[a2555de348a7]

	* .hgtags:
	Added tag 2.2.4 for changeset 4b3c9c3e4fb8
	[e7f3acd34e7b]

	* NEWS, configure.ac:
	Released v2.2.4.
	[4b3c9c3e4fb8] [2.2.4]

	* src/doveadm/dsync/dsync-brain-mailbox-tree.c:
	Make static analyzer happier.
	[b5e8aed1bf61]

	* src/doveadm/doveadm-mail-deduplicate.c:
	doveadm deduplicate: Fixed error handling.
	[09b278416493]

	* src/plugins/quota/quota.c:
	quota: Fixed quota_rule with non-uppercase INBOX.
	[f68a955f4c5c]

2013-06-24  Timo Sirainen  <tss@iki.fi>

	* src/imap-login/imap-proxy.c:
	imap-login: If CAPABILITY is already in server banner, don't ask for
	it again.
	[6e8bbc150fa9]

	* src/doveadm/dsync/dsync-mailbox-export.c:
	dsync: Fixed "export:/count" value in verbose_proctitle=yes
	[082fe68e38c9]

	* src/lib-storage/index/mbox/mbox-lock.c:
	mbox: Avoid assert-crashing by too optimistically upgrading a lock
	to write-lock.
	[04c7cf45a597]

	* src/doveadm/dsync/dsync-brain.c:
	dsync: Don't crash at deinit when dsync fails early.
	[07e314199f56]

	* src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
	/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain.c,
	src/doveadm/dsync/dsync-brain.h:
	dsync: Don't try to find mailboxes from unwanted namespaces.
	[84014270ee37]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	private.h, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-
	brain.h, src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync
	/dsync-mailbox-export.h, src/doveadm/dsync/dsync-mailbox-import.c,
	src/doveadm/dsync/dsync-mailbox-import.h:
	dsync: If verbose_proctitle=yes, show the current state in it.
	[b5876fa03b0e]

	* src/doveadm/dsync/dsync-brain.c:
	dsync: State names were wrong in debug/error messages.
	[83bea7e1f136]

2013-06-18  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mailbox-list.c:
	lib-storage: Fixed crash with some autocreated (e.g. shared)
	namespaces.
	[8a81c5a1b60f]

	* src/lib-storage/index/dbox-single/sdbox-storage.c:
	sdbox: If sdbox header is corrupted, resize it to make sure its size
	is correct.
	[07642120b6ea]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-deduplicate.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added deduplicate command. By default it deduplicates only
	by GUIDs. With -m parameter it deduplicates by Message-Id: header.
	[3683d7bff095]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-flags.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added "flags" command to modify messages' flags.
	[5e51c5545029]

	* src/lib-storage/index/dbox-multi/mdbox-storage.c:
	mdbox: If mdbox header is corrupted, resize it to make sure its size
	is correct.
	[3056feb418b1]

	* src/lib-index/mail-index-fsck.c, src/lib-index/mail-index-map.c, src
	/lib-index/mail-index-modseq.c, src/lib-index/mail-index-private.h,
	src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-index-sync-
	keywords.c, src/lib-index/mail-index-sync-update.c, src/lib-index
	/mail-index-write.c:
	lib-index: Don't bother tracking if header/records were changed.
	They aren't really needed. When mail_index_write() is called, we
	already know we want to update the index.
	[37bd40e27b67]

	* src/lib-index/mail-index-sync.c:
	lib-index: If error is found from transaction log, update
	dovecot.index so it won't be read again.
	[3794e6cb0da8]

	* src/lib-sasl/sasl-client.h:
	lib-sasl: API usage comment update
	[3dc92ec58aef]

	* src/imap-login/imap-proxy.c, src/pop3-login/pop3-proxy.c:
	imap/pop3 proxy: Master user logins were broken by lib-sasl change.
	[ba720ff91a75]

2013-06-17  Timo Sirainen  <tss@iki.fi>

	* src/pop3/pop3-client.c:
	pop3: Fixed crash at deinit
	[1352949265cc]

	* src/doveadm/dsync/dsync-brain-mailbox-tree.c:
	dsync: Minor fixes to checking if namespace is wanted to be synced.
	[014003da870e]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/test-dsync-
	mailbox-tree-sync.c, src/imap-login/imap-proxy.c,
	src/pop3-login/pop3-proxy.c:
	Make static analyzer happier.
	[178fe5bf943b]

	* .hgsigs:
	Added signature for changeset 5d9f52c9a287
	[5a137e3eb51e]

	* .hgtags:
	Added tag 2.2.3 for changeset 5d9f52c9a287
	[c3c923724276]

	* NEWS, TODO, configure.ac:
	Released v2.2.3.
	[5d9f52c9a287] [2.2.3]

2013-06-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-storage.c:
	mdbox: Minor fix to handling corrupted mdbox header.
	[5a429604923c]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Fixed building without libstemmer
	[3c9bb07ea92e]

	* src/lib-imap/imap-parser.c:
	lib-imap: Fixed parsing literal8 in some situations.
	[dd04b4ef530d]

	* src/lib-mail/istream-attachment-extractor.c:
	istream-attachment-extractor: Fixed handling attachment as the
	message body without MIME. Don't crash at the end after parsing the
	base64 data.
	[9dcbcc0871f0]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: mail_storage_service_lookup() ignored input->service.
	[c290383e60da]

2013-06-14  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/test-dsync-mailbox-tree-sync.c:
	Compiler warning fix.
	[30f00db1a8b0]

	* src/doveadm/dsync/dsync-mailbox-tree-sync.c, src/doveadm/dsync/test-
	dsync-mailbox-tree-sync.c:
	dsync: Fixed syncing renaming mailboxes with children. So that the
	childrens' rename timestamps are at least as high as their parents'.
	[d36f6b256bc0]

	* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
	dsync: Don't try to delete nonexistent mailbox directories.
	[3ef37c649d27]

	* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
	dsync: Avoid wasting data stack on larger renames.
	[1c657812991b]

2013-06-13  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-status.c:
	quota-status: Fixed log prefix.
	[e6aa668477d8]

	* src/lib-storage/index/shared/shared-list.c:
	lib-storage: Fixed crash with listing shared mailboxes.
	[04ee59c96fc9]

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Do only soft commits. Use a cronjob to do hard commits.
	[91765ba4d534]

	* doc/solr-schema.xml:
	solr-schema.xml: More updates for Solr v4.x and hopefully with
	better filters.
	[0e56484c665a]

	* doc/solr-schema.xml:
	solr-schema.xml: Replaced EnglishPorterFilterFactory with
	SnowballPorterFilterFactory
	[cfd442fcc672]

	* src/anvil/main.c, src/auth/main.c, src/dict/main.c, src/director
	/director-test.c, src/director/main.c, src/doveadm/main.c, src/imap-
	urlauth/imap-urlauth-worker.c, src/imap/main.c, src/indexer/indexer-
	worker.c, src/indexer/indexer.c, src/ipc/main.c, src/lib-master
	/master-service.c, src/lib-master/master-service.h, src/lmtp/main.c,
	src/log/main.c, src/plugins/quota/quota-status.c, src/pop3/main.c,
	src/replication/replicator/replicator.c, src/ssl-params/main.c,
	src/stats/main.c, src/util/script.c:
	Call master_service_init_finish() only after all of the
	initialization is done. This way if the init crashes, the master
	process will throttle a buggy service.
	[754d244b8249]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Fixed list iteration when namespace and backend separators
	differed.
	[c012f8df87f9]

	* src/lib-storage/list/mailbox-list-index-iter.c, src/lib-storage/list
	/mailbox-list-index.h:
	mailbox_list_index=yes: Fixed list iteration when namespace and
	backend separators differed.
	[949ef3625aa2]

	* src/doveadm/client-connection.c, src/doveadm/doveadm-mail-server.c,
	src/doveadm/dsync/doveadm-dsync.c, src/doveadm/server-connection.c,
	src/doveadm/server-connection.h:
	doveadm: Pass through the exit code from doveadm-server to client.
	[63092465c522]

	* src/doveadm/dsync/dsync-brain-mailbox.c:
	dsync: Don't try to access mailboxes with no_mail_sync flag enabled.
	[d8fc9bba98ab]

	* src/doveadm/client-connection.c, src/doveadm/dsync/dsync-brain-
	mailbox.c, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-
	ibc-pipe.c, src/doveadm/dsync/dsync-mailbox-export.c,
	src/doveadm/main.c, src/lib-fs/fs-api.c:
	Memory leak fixes.
	[5ed2f41431c4]

2013-06-12  Timo Sirainen  <tss@iki.fi>

	* src/plugins/zlib/zlib-plugin.c:
	zlib: Enable only for storages that support
	MAIL_STORAGE_CLASS_FLAG_BINARY_DATA
	[235be95cb378]

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/maildir/maildir-storage.c,
	src/lib-storage/index/raw/raw-storage.c, src/lib-storage/mail-
	storage-private.h:
	lib-storage: Added MAIL_STORAGE_CLASS_FLAG_BINARY_DATA flag for
	classes.
	[102d8a59eeda]

	* src/plugins/pop3-migration/pop3-migration-plugin.c:
	pop3-migration: struct mailbox must be freed before mail_storage is
	destroyed. Fixes a memory leak where the user wasn't destroyed at
	all because the mailbox still caused the user to be referenced.
	[c903fbcbf5d2]

	* src/lib-dict/dict-client.c:
	lib-dict: Error handling fixes to asynchronous transactions.
	[db1f217e53b3]

	* src/imap/cmd-delete.c, src/lib-storage/mail-storage.c, src/lib-
	storage/mail-storage.h:
	Moved "INBOX can't be deleted" check from lib-storage to IMAP-
	specific code. Especially "doveadm backup" should be able to delete
	the INBOX if needed.
	[db5d4c5164b3]

	* src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
	/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-index-
	backend.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/list/mailbox-list-subscriptions.c:
	lib-storage: Don't crash if backend doesn't have subscriptions file.
	[4b9a43201a71]

	* src/lib-storage/index/pop3c/pop3c-client.c:
	pop3c: Don't assert-crash if we can't do DNS lookup.
	[7057dfeaeb1a]

	* src/lib-storage/index/pop3c/pop3c-mail.c:
	pop3c: Return Date: header's date also as received and saved date.
	Mainly to get dsync to not fail.
	[d447dcc6b611]

	* src/lib-storage/index/pop3c/pop3c-storage.c:
	pop3c: Allow mailbox_update() for Dovecot's internal fields.
	[8cf22cba16d4]

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	pop3c: Don't assert-crash when trying to list subscriptions.
	[09ac72cdfa8e]

	* src/lib-storage/index/pop3c/pop3c-storage.c:
	pop3c: Give GUID to the INBOX to avoid crashes with dsync.
	[7a7d4d8123d5]

	* src/plugins/zlib/zlib-plugin.c:
	zlib plugin: Removed explicit checks for maildir/sdbox/mdbox.
	[d212cfb92ce9]

2013-06-09  Timo Sirainen  <tss@iki.fi>

	* doc/man/dovecot.1.in:
	man: Recent change accidentally changed LGPLv2.1 -> LGPLv2.2,
	reverted.
	[45399357008a]

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Crashfix
	[921017adcb7b]

	* src/lib-storage/index/shared/shared-storage.c, src/lib-storage/mail-
	namespace.c:
	lib-storage: Fixed crashes caused by recent "multiple storages per
	namespace" change.
	[73b7fce1643e]

	* src/imap-login/Makefile.am, src/imap-login/client.h, src/imap-login
	/imap-proxy.c, src/login-common/Makefile.am, src/login-common
	/client-common-auth.c, src/login-common/client-common.c, src/login-
	common/client-common.h, src/login-common/main.c,
	src/pop3-login/Makefile.am, src/pop3-login/pop3-proxy.c:
	imap/pop3-login: Use libsasl for authenticating to remote IMAP/POP3
	server. Also passdb lookup can return "proxy_mech" extra field to
	specify which SASL mechanism to use.
	[266101990d63]

	* configure.ac, src/Makefile.am, src/lib-dovecot/Makefile.am, src/lib-
	sasl/Makefile.am, src/lib-sasl/mech-login.c, src/lib-sasl/mech-
	plain.c, src/lib-sasl/sasl-client-private.h, src/lib-sasl/sasl-
	client.c, src/lib-sasl/sasl-client.h:
	Added initial libsasl for implementing client side SASL library.
	Initially supports PLAIN and LOGIN mechanisms.
	[1cbff0a8a849]

	* src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins/fts-lucene
	/fts-lucene-plugin.h, src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Support normalize setting also without snowball. Added
	no_snowball setting. Snowball seems to be converting / breaking
	words down rather annoyingly.
	[7e54af474ea4]

	* doc/man/doveadm-altmove.1.in, doc/man/doveadm-auth.1.in, doc/man
	/doveadm-director.1.in, doc/man/doveadm-dump.1.in, doc/man/doveadm-
	expunge.1.in, doc/man/doveadm-fetch.1.in, doc/man/doveadm-force-
	resync.1.in, doc/man/doveadm-help.1.in, doc/man/doveadm-import.1.in,
	doc/man/doveadm-index.1.in, doc/man/doveadm-instance.1.in, doc/man
	/doveadm-kick.1.in, doc/man/doveadm-log.1.in, doc/man/doveadm-
	mailbox.1.in, doc/man/doveadm-mount.1.in, doc/man/doveadm-move.1.in,
	doc/man/doveadm-penalty.1.in, doc/man/doveadm-purge.1.in, doc/man
	/doveadm-pw.1.in, doc/man/doveadm-quota.1.in, doc/man/doveadm-
	search-query.7, doc/man/doveadm-search.1.in, doc/man/doveadm-
	user.1.in, doc/man/doveadm-who.1.in, doc/man/doveadm.1.in,
	doc/man/doveconf.1.in, doc/man/dovecot-lda.1.in,
	doc/man/dovecot.1.in, doc/man/dsync.1.in:
	man pages: Updated v2.1 -> v2.2
	[1f3f21081ee5]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
	private.h, src/lib-http/http-client.c, src/lib-http/http-client.h:
	lib-http: Added soft_connect_timeout_msecs setting to connect to
	multiple IPs in parallel. Based on patch by Stephan Bosch.
	[07f72970bf61]

	* src/lib-http/http-client-peer.c:
	lib-http: If connect to peer failed, don't recreate a new connection
	to handle pending requests. The new connection would very likely
	fail as well. Another peer for the host should pick up the requests.
	[ac78c4c88ba9]

	* src/lib-storage/mail-storage-settings.c, src/lib-storage/mail-
	storage-settings.h, src/lib-storage/mailbox-list.c:
	lib-storage: Added mailbox { driver } setting to specify which
	storage to use.
	[7e91b0709f06]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/mail-namespace.c, src/lib-storage/mail-namespace.h, src/lib-
	storage/mail-storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Added support for multiple storages per namespace.
	[d952b4091425]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: imapc_storage no longer requires imapc_mailbox_list.
	[e7ea508f36ca]

	* src/auth/auth-worker-server.c:
	auth: If worker request has been queued for 60 secs, abort it.
	[dbf8bbb7e51e]

2013-06-07  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c:
	auth: Don't crash in non-plaintext auth if master user login is
	tried without master passdbs.
	[ee2a3cf464f4]

	* src/imap-login/client.c:
	imap-login: If PLAIN mechanism is disabled, advertise LOGINDISABLED
	always.
	[bee2dfd00ac5]

2013-06-06  Timo Sirainen  <tss@iki.fi>

	* src/lib/var-expand.c:
	var_expand(): Fixed initializing variable to %N
	[e5bd0a7c6a1e]

	* src/lib/test-var-expand.c:
	var_expand*(): Added small unit tests for %H and %N
	[561f36451dc2]

	* src/lib/var-expand.c:
	var_expand*(): Fixed %N to work the same with little and big endian
	CPUs. Also use 64bit integer to do the MOD from, which should give
	somewhat better value distribution than with 32bit.
	[956324a5fc86]

	* src/lib-imap-client/imapc-connection.c:
	lib-imap-client: When switching ioloops, do it also for the DNS
	lookup.
	[8f192f64fd98]

	* src/lib-imap-client/imapc-connection.c:
	lib-imap-client: Make sure DNS lookups get aborted at disconnect.
	[612a679aeb03]

	* src/lib-imap-client/imapc-connection.c:
	lib-imap-client: Don't start another DNS lookup if there's already
	one ongoing.
	[d2756f3edb9c]

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail.c, src
	/lib-storage/index/shared/shared-list.c, src/lib-
	storage/index/shared/shared-storage.c, src/lib-storage/mail-
	storage.c, src/lib-storage/mailbox-list.c, src/plugins/acl/acl-
	backend-vfile.c, src/plugins/acl/acl-shared-storage.c:
	Avoid using mail_namespace.storage directly.
	[5ba3d95aba9d]

	* src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
	lib-storage: Renamed mailbox_list_get_closest_storage() to
	..._get_default_storage() This function wasn't previously used by
	anyone.
	[3467c60014ec]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Minor code cleanup
	[34babd1e2858]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-list.h, src/lib-storage/index/imapc/imapc-
	storage.c, src/lib-storage/index/imapc/imapc-storage.h:
	imapc: If imapc isn't the inbox=yes namespace, do the login and
	initial LIST in background.
	[cdb0e127f010]

	* src/lib-imap-client/imapc-connection.c:
	lib-imap-client: When server sends BYE before disconnection, log it
	as the reason.
	[55624c42bfb8]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: When deleting a mailbox, unselect the current one just in
	case they're the same.
	[cc243b748a1c]

	* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
	client.h:
	lib-imap-client: Added support for UNSELECT capability.
	[2690bcbd37d0]

	* src/lib-imap-client/imapc-connection.c:
	lib-imap-client: If SELECT/EXAMINE fails, set the connection as not
	being selected.
	[375becde3b42]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Index dirs were being wrongly deleted when imapc_list_prefix
	was set.
	[0a88c358cf82]

	* src/lib-http/http-client-connection.c:
	lib-http: Treat connect() timeouts as retryable errors.
	[452cecc7e708]

	* src/lib-http/http-client-connection.c:
	lib-http: Fixed previous patch setting connection connected only
	after SSL handshake. This just caused crashes. The main point was
	anyway to include the SSL handshake as part of the
	connect_timeout_msecs. Apparently the easiest way is to set it
	immediately connected and delay removing the timeout.
	[554774a328b9]

2013-06-05  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Set broken_char to a control char, so invalid mailbox names
	are handled properly. The dsync will now fail if there are invalid
	mailbox names (e.g. valid UTF8 when they should have been mUTF7),
	instead of simply printing "mailbox doesn't exist" error and exiting
	with 0.
	[12a0c383703e]

	* src/lib-storage/mailbox-list.c:
	lib-storage: mailbox_list_settings.broken_char wasn't escaping 8bit
	chars correctly.
	[66a6ff2fdee9]

	* src/lib-imap/imap-utf7.c:
	lib-imap: Make sure imap_utf7_to_utf8() doesn't access invalid input
	string out of bounds.
	[b3c6f97ad3ac]

	* src/lib-imap/imap-utf7.c, src/lib-imap/imap-utf7.h, src/lib-imap
	/test-imap-utf7.c:
	lib-imap: Added imap_utf7_is_valid()
	[a38a7b5fb195]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain.c,
	src/doveadm/dsync/dsync-brain.h:
	dsync: If unexpected changes happened during sync, log a warning and
	exit with code 2. This was done by v2.1 dsync, but the code got
	temporarily lost in v2.2.
	[5593d6129712]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	private.h:
	lib-http: After peer has received 100 response, don't add ambiguity
	timeout anymore. The server should be sending the 100 responses
	then, and long delays shouldn't be confused with them being missing.
	[bcf93c30a500]

	* src/lib-http/http-client-connection.c:
	lib-http: When receiving 1xx response while waiting for 100, don't
	restart timeout. The 100 response is missing only from HTTP/1.0
	requests, which also didn't allow any 1xx responses. So if a 1xx
	response is returned, a 100 response is definitely also coming.
	[49e7a1c206f1]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	private.h, src/lib-http/http-client.c, src/lib-http/http-client.h:
	lib-http: Added connect and request timeout settings.
	[a551409911f9]

	* src/lib-http/http-client-connection.c:
	lib-http: Mark the HTTP connection connected only after SSL
	handshake is finished.
	[20b065a5299d]

	* src/lib-http/http-client-peer.c:
	lib-http: Don't create a new HTTP connection when there is already
	one connecting.
	[686d2dc1d8dd]

2013-06-01  Timo Sirainen  <tss@iki.fi>

	* src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib-lda/mail-
	deliver.h, src/lmtp/commands.c:
	lda/lmtp: If mail delivery fails with tempfail, don't fallback to
	saving to INBOX.
	[fa87cd91a11a]

	* src/lib-index/mail-index-transaction-finish.c:
	lib-index: Avoid memcpy()ing data over itself.
	[74875424373d]

	* src/lib-fs/fs-api.c:
	lib-fs: If fs_default_copy() fails, close the copy stream
	immediately. The stream's origin may already be freed by the time
	the fs_file_close() is trying to close the stream.
	[09a57e2f07df]

	* src/lmtp/commands.c:
	lmtp: Give the DATA input stream a name, so the raw mailbox gets a
	name and doesn't fail.
	[05b6cd9220de]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: If imapc_list_prefix is set, don't skip it in filesystem
	paths. Most importantly this fixes the index path when accessing the
	imapc_list_prefix mailbox itself (so the indexes won't be in the
	mail root dir, where they don't get deleted when mailbox is
	deleted).
	[7b1152c83e3e]

	* src/lib-storage/mail-storage.c:
	lib-storage: If mailbox autocreate fails with "already exists",
	ignore the error. This check was supposed to have been already
	there, but it was checking for the wrong error.
	[0faaee4060c5]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Return correct mailbox list flags for the imapc prefix
	mailbox itself.
	[9e50919d7e8b]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Allow accessing the imapc_list_prefix itself.
	[92b4183ede17]

	* src/lib-storage/index/imapc/imapc-storage.c, src/lib-storage/index
	/index-storage.c, src/lib-storage/mail-storage-private.h:
	imapc: Fixed mailbox deletion.
	[7af6795f40ed]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Don't assert-crash when trying to access imapc_list_prefix
	itself.
	[cd314aa81805]

	* src/lib-imap-client/imapc-connection.c:
	lib-imap-client: Ask CAPABILITY again after STARTTLS
	[3ed452837a8d]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Empty mailbox name isn't valid.
	[c4a85c9df948]

	* src/lib/lib-signals.c:
	Make sure errno is preserved in non-delayed signal handlers. The
	current code didn't have any signal handlers that modified errno, so
	this doesn't fix any bugs.
	[fbeac7272069]

2013-05-31  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-settings.c:
	imapc: Changed imapc_user setting's default to empty.
	[199769f2979f]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Empty imapc_user expands to namespace's owner, or with public
	namespaces to user itself. The main idea is that with shared
	namespaces it now expands to the shared username, allowing shared
	mailbox access via imapc.
	[6e07d290066c]

	* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
	client.h, src/lib-imap-client/imapc-connection.c:
	lib-imap-client: Connect and command timeouts are now configurable.
	Also use the same connect timeout for the DNS lookup's timeout.
	[a6b0a45319ab]

2013-05-31  Stephan Bosch  <stephan@rename-it.nl>

	* src/imap/cmd-urlfetch.c:
	imap: URLFETCH's URL callback would prematurely uncork the output
	stream when called for a local URL.
	[a3b5b762639a]

2013-05-30  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-urlfetch.c:
	imap: URLFETCH's tagged reply wasn't sent while TCP corked.
	[04b325dbb7bc]

	* src/auth/auth-request.c:
	auth: Fixed error handling for proxy host dns_lookup()
	[1cf6ce033a25]

	* src/auth/auth-worker-server.c:
	Reverted previous wrong commit.
	[f98fdf0a7ba4]

	* src/auth/auth-worker-server.c:
	auth: Fixed error handling for proxy host dns_lookup()
	[b8a175d93ef6]

	* src/lib-storage/list/mailbox-list-index-iter.c, src/lib-storage/list
	/mailbox-list-index.c, src/lib-storage/list/mailbox-list-index.h:
	layout=index: Allow mailbox create/delete/rename during mailbox list
	iteration.
	[e90e9a7c4ff8]

	* src/lib-index/mail-index-transaction-export.c:
	lib-index: Fixed a broken assert.
	[528c64739e39]

2013-05-30  Stephan Bosch  <stephan@rename-it.nl>

	* src/lib-imap-urlauth/imap-urlauth-fetch.c, src/lib-imap-urlauth
	/imap-urlauth-fetch.h:
	lib-imap-urlauth: Added API for using the fetch interface with an
	already parsed IMAP URL object.
	[fc2ba01feb78]

	* src/imap/cmd-urlfetch.c, src/lib-imap-urlauth/imap-urlauth-fetch.c,
	src/lib-imap-urlauth/imap-urlauth-fetch.h:
	imap: Fixed segfault in URLFETCH command. Command would be cleaned
	up while requests were still pending, causing a segfault once a
	request finished. Added API determining whether the URLAUTH fetch
	interface still has pending requests.
	[8d20f3cde49a]

	* src/lib-imap-urlauth/imap-urlauth-fetch.c:
	lib-imap-urlauth: Fixed handling of URLAUTH service connection
	resume after pending local request. This was erroneously removed in
	an earlier commit.
	[b2541217f74b]

	* src/lib-imap-urlauth/imap-urlauth-fetch.c:
	lib-imap-urlauth: Fixed pending_request counter difference between
	locally and remotely fetched URLAUTHs.
	[ec5d1686852c]

	* src/lib-imap-urlauth/imap-urlauth-fetch.c:
	lib-imap-urlauth: Fixed URLAUTH fetch reference counting for when
	requests are aborted at deinit.
	[8f09509323cd]

	* src/lib-imap-urlauth/imap-urlauth-connection.c:
	lib-imap-urlauth: Fixed URLAUTH connection resume after error.
	[bb221f236d4f]

	* src/lib-imap-urlauth/imap-urlauth-connection.c:
	lib-imap-urlauth: Made sure callbacks from URLAUTH service
	connection are executed only once.
	[3ee64234a125]

2013-05-30  Timo Sirainen  <tss@iki.fi>

	* src/lib/var-expand.c:
	var_expand(): Added %N, which is the same as %H except based on MD5.
	This gives a better distribution of values than %H.
	[4d711ec26847]

2013-05-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap/Makefile.am, src/lib-imap/imap-quote.c, src/lib-imap
	/test-imap-quote.c:
	lib-imap: imap_append_string_for_humans() returned broken output for
	whitespace-only input. This returned broken IMAP ENVELOPEs,
	especially for subjects that contained only whitespace. Since the
	broken output returned a huge literal, it basically caused the IMAP
	client to hang.
	[714320c3cfa6]

	* src/lib-settings/settings-parser.c:
	lib-settings: Support also "seconds" and "minutes" (instead of just
	secs/mins)
	[f294d40a8978]

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Fixed dsync handshaking since recent change.
	[239e0e2098c1]

	* src/lib-index/mail-cache-lookup.c:
	lib-index: Fixed mail_cache_lookup_headers() when fields were still
	in memory buffer.
	[e7c474011934]

	* src/lib-storage/mailbox-list.c:
	lib-storage: If INDEX=MEMORY, return index root dir as nonexistent
	instead of as "".
	[1a565186aee0]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Reverted previous change after all.
	[429a8cd829d6]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Don't try to mkdir() empty directory with INDEX=MEMORY
	[2306acef767e]

	* src/lib/macros.h:
	Fixed compiling with gcc v3.3 and older. Perhaps the check needs to
	be also for somewhat newer versions?..
	[8307019ce491]

2013-05-28  Timo Sirainen  <tss@iki.fi>

	* src/auth/db-ldap.c:
	auth ldap: If ldap debug_level>0, log how long initialization took.
	[c6165b5d6cce]

	* src/auth/auth-request.c:
	auth: Keep auth_request referenced during DNS lookup. If the
	underlying auth connection gets closed, there's nothing else
	referencing the auth_request.
	[5a223c6d833f]

	* src/doveadm/client-connection.c, src/doveadm/client-connection.h,
	src/doveadm/doveadm-mail-server.c:
	doveadm-server: Pass local/remote_ip/port to passdb lookups so
	proxy_maybe works.
	[feee5a1527d9]

	* src/auth/auth-request.c:
	auth: Fixed caching empty userdb result.
	[c40d67ee9de2]

	* src/auth/userdb-blocking.c:
	auth: If blocking userdb returns no fields, don't crash when trying
	to cache the result.
	[f9f6467001b9]

	* src/lib-fs/fs-api.c, src/lib-fs/fs-api.h:
	lib-fs: Added fs_get_root_driver()
	[16183ae98947]

2013-05-27  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-dump-index.c, src/lib-storage/index/dbox-common
	/dbox-save.c, src/lib-storage/index/dbox-common/dbox-save.h, src
	/lib-storage/index/dbox-common/dbox-storage.c, src/lib-storage/index
	/dbox-common/dbox-storage.h, src/lib-storage/index/dbox-multi/mdbox-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-
	storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.h, src/lib-storage/index/dbox-single
	/sdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-save.c, src
	/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.h, src/lib-storage/index
	/dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single
	/sdbox-sync.c:
	dbox: Don't cache pop3.uidl|order unless index header indicates
	there are those. They exist only when doing a migration, so it's
	pretty wasteful storing "doesn't exist" for all other installations.
	[967ef2a7fa6f]

	* src/lib-index/mail-index-transaction-update.c, src/lib-index/mail-
	index.h:
	lib-index: Added mail_index_ext_resize_hdr()
	[bd8ec99cf502]

	* src/lib-index/mail-index-sync-ext.c:
	lib-index: Fixed resizing header when old&new sizes were the same
	when aligned.
	[ad78dcbe67be]

	* src/lib-index/mail-index-transaction-export.c:
	lib-index: Create ext-intro records using the latest sizes, not
	initial sizes.
	[a8bc96640cf0]

	* src/lib-storage/index/dbox-common/dbox-mail.c:
	dbox: Return cached pop3.order=0 as empty string instead to fix
	sorting problems.
	[360fd0ccd3dd]

2013-05-26  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	mailbox-tree.c, src/doveadm/dsync/dsync-brain-private.h,
	src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-brain.h,
	src/doveadm/dsync/dsync-ibc-pipe.c, src/doveadm/dsync/dsync-ibc-
	stream.c, src/doveadm/dsync/dsync-ibc.h, src/doveadm/dsync/dsync-
	mailbox-tree-fill.c, src/doveadm/dsync/dsync-mailbox-tree.h:
	dsync: Added -x parameter to exclude mailboxes from sync. Multiple
	-x parameters can be added. Giving \flag as parameter means that the
	mailbox with the given SPECIAL-USE \flag is skipped. For example:

	doveadm sync -x '\All' -x '\Flagged' -x '\Important' mdbox:~/mdbox
	[4883a8e1db13]

	* src/lib-storage/index/imapc/imapc-save.c:
	imapc: Fixed assert-crash when copying messages.
	[0b02dc66e9f1]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain.c,
	src/doveadm/dsync/dsync-brain.h:
	dsync: Small code cleanup.
	[2d6a3035a6f7]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-storage/mailbox-
	list.h:
	imapc: Pass through SPECIAL-USE LIST flags if imapc is in INBOX
	namespace.
	[e0f7eb1c8e42]

	* src/doveadm/doveadm-dump-dbox.c, src/lib-storage/index/dbox-common
	/dbox-file.h, src/lib-storage/index/dbox-common/dbox-mail.c, src
	/lib-storage/index/dbox-common/dbox-save.c, src/lib-storage/index
	/index-mail.c, src/lib-storage/index/index-mail.h:
	dbox: Added support for POP3 message order.
	[8ee242b6e417]

	* src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache-
	private.h, src/lib-index/mail-cache-transaction.c:
	lib-index: mail_cache_lookup*() can now return fields recently added
	with mail_cache_add() Previously it was returning them if they had
	already been written to dovecot.index.cache, but not if they were
	still in the in-memory buffer. This avoids caching/parsing the same
	field multiple times when messages aren't accessed in ascending
	order (e.g. when sorting messages).
	[b9a312951881]

2013-05-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/http-client.c, src/lib-http/http-client.h:
	lib-http: Added ssl_cert|key|key_password settings to be passed to
	ssl-iostream. These are used for sending client's SSL certificate.
	[af9947e1e5f7]

2013-05-22  Timo Sirainen  <tss@iki.fi>

	* src/login-common/sasl-server.c:
	*-login: If ssl=required, don't list any SASL mechanisms before
	STARTTLS.
	[9d21241fa792]

	* src/imap-login/client.c, src/login-common/client-common-auth.c:
	*-login: ssl=required should imply disable_plaintext_auth=yes
	[787ef06c4c95]

	* src/lib-storage/index/index-search.c:
	lib-storage: Optimize SEARCH_MODSEQ query if it's higher than
	HIGHESTMODSEQ.
	[3b6ec8db4166]

	* src/doveadm/dsync/dsync-brain-mailbox-tree.c:
	dsync: Fixed unsubscribing from mailbox within same session as the
	mailbox's deletion.
	[33efc5396e44]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Don't notify replicator process about successful dsync if the
	dsync failed.
	[3984f384257e]

2013-05-21  Timo Sirainen  <tss@iki.fi>

	* src/login-common/client-common-auth.c:
	*-login: If auth failed with a specified reason, the reason wasn't
	actually shown to client.
	[b05b772ff78f]

2013-05-21  Stephan Bosch  <stephan@rename-it.nl>

	* src/imap/cmd-urlfetch.c, src/lib-imap-urlauth/imap-urlauth-fetch.c,
	src/lib-imap-urlauth/imap-urlauth-fetch.h:
	lib-imap-urlauth: Fixed deinitialization of the URLAUTH fetch
	handler. Added reference counting to make sure callbacks will not
	deinitialize the handler prematurely.
	[5a36736445e9]

	* src/lib-imap-urlauth/imap-urlauth-fetch.c:
	lib-imap-urlauth: Fixed resuming in URLAUTH fetch handler. Fixed
	URLAUTH fetch handler to properly resume the URLAUTH connection,
	even when it is deinitialized.
	[9dbcd10cac28]

	* src/lib-imap-urlauth/imap-urlauth-fetch.c, src/lib-imap-urlauth
	/imap-urlauth-fetch.h:
	lib-imap-urlauth: Fixed local URLAUTH fetches that didn't
	immediately finish handling content. Local requests are now also
	properly counted.
	[fd35705fbde6]

2013-05-21  Timo Sirainen  <tss@iki.fi>

	* src/auth/db-ldap.c:
	auth: Fixed crash if LDAP query returned multiple results.
	[0e324209d885]

2013-05-20  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Previous have_save_guids change somewhat broke compatibility
	with earlier dsync versions.
	[e0156c479a12]

	* src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
	/dsync-ibc-stream.c, src/doveadm/dsync/dsync-mailbox-tree-fill.c,
	src/doveadm/dsync/dsync-mailbox-tree.c, src/doveadm/dsync/dsync-
	mailbox-tree.h:
	dsync: Fixed unsubscribing from an already deleted mailbox.
	[9878986a028d]

	* .hgsigs:
	Added signature for changeset 7aa929edd551
	[4f76d60ba7dd]

	* .hgtags:
	Added tag 2.2.2 for changeset 7aa929edd551
	[2560f791f6f7]

	* NEWS, configure.ac:
	Released v2.2.2.
	[7aa929edd551] [2.2.2]

	* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	ibc-stream.c, src/doveadm/dsync/dsync-mailbox.h:
	dsync: Don't try to sync with GUIDs if we can't set them on the
	needed side. With two-way syncing both sides need to have writable
	GUIDs. With one-way syncing only the writing side needs to have
	writable GUIDs.
	[c6fee677172a]

	* src/lib-storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-sync.h:
	maildir: If we notice an unexpectedly inserted file, retry the sync
	to fix it. Without this doveadm force-resync would just ignore the
	inserted files.
	[096054ae8584]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Reverted most of changeset c92ebbedc6f9. If dovecot-uidlist
	file is recreated, it gets a new inode number, and we should
	recognize by that alone that it has changed. More importantly this
	forced re-reading of dovecot-uidlist clears out the RACING flag,
	making it impossible to handle reappearing maildir files.
	[422d165d4b8e]

2013-05-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.c, src/lib-storage
	/mail-storage.h, src/plugins/virtual/virtual-storage.c,
	src/plugins/virtual/virtual-storage.h:
	lib-storage: Added mailbox_status.have_save_guids.
	[35871cb142df]

	* src/lib-storage/index/mbox/mbox-save.c:
	mbox: Previous change broke index updates to successful saves.
	[bfca9879f7b6]

2013-05-19  Christian Wiese  <christian.wiese@securepoint.de>

	* doc/example-config/conf.d/Makefile.am:
	example-config: Added missing auth-dict.conf.ext to distribution
	[fbe04e687f6f]

2013-05-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/http-url.c:
	http_url_escape_param(): Added more characters to be escaped. Most
	importantly '+', which encodes a space normally. The others may not
	be strictly necessary, but safer to escape them just in case.
	[fe66746d8a66]

	* src/lib-http/http-client-host.c:
	lib-http: Fixed assert-crash when host had multiple IPs and first
	one had failed.
	[8ee30aa47930]

	* src/imap/cmd-urlfetch.c:
	imap-urlfetch: Don't leak memory on error. Use TCP corking when
	sending data.
	[dd0cf0bfdb0c]

2013-05-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/mbox/mbox-save.c:
	mbox: Fixed committing transaction after a previous save had failed.
	[1d6f42853492]

	* src/lib-storage/index/mbox/mbox-save.c:
	mbox: If save's input stream fails, fail saving instead of ignoring
	the error.
	[02f2ed55d568]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs: Always return INBOX uppercased when listing mailboxes.
	[9fcdd9f80e30]

	* src/lib-storage/list/mailbox-list-iter.c:
	lib-storage: Don't lose INBOX's \Subscribed flag when returning it
	is delayed.
	[0d4d5f7f93df]

	* src/imap/cmd-select.c:
	imap: Return how long SELECT or EXAMINE command took to answer.
	Could be useful to know sometimes if there's a large maildir where a
	lot files need to be rename()d.
	[21ab416ea0cd]

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Fixed handling over 26 keywords in a mailbox.
	[2c770b01d21f]

	* src/lib-index/mail-index-map.c, src/lib-index/mail-index-
	transaction-update.c, src/lib-storage/index/index-sort-string.c,
	src/lib/bsearch-insert-pos.c, src/lib/bsearch-insert-pos.h, src/lib
	/seq-range-array.c:
	Added asserts to binary searches to make sure we don't go to
	infinite loop. Using idx=left+(right-left)/2 would have worked also
	to allow 4GB sizes, but since none of the places in the code are
	likely to reach 2GB we might as well just add an assert. (Also if
	they do reach 2GB, it could be possible that they could reach also
	above 4GB and cause problems. Better to see an early error.)
	[38ca85ccd5af]

	* src/plugins/quota/quota-status.c:
	quota-status: If quota_status_* settings are set, don't free them
	before using.
	[03aac782261e]

	* src/lib-storage/index/index-storage.c:
	lib-storage: Allow mail_*cache_fields settings to specify any hdr.*
	fields. Also the fields were previously set only once globally, so
	if the process served multiple users, it wouldn't have been possible
	to use per-user values for these fields.
	[07bc030f18d3]

	* src/lib-index/mail-cache-fields.c:
	lib-index: Don't mark field decisions dirty when registering initial
	cache fields.
	[ac0170b8db14]

	* src/lib-index/mail-cache-fields.c:
	lib-index: Fixed mail_cache_register_fields() decision updates.
	Normally this shouldn't matter, except when mail_*cache_fields
	settings have been used.
	[f8b99f6d993c]

	* src/lib-storage/index/index-storage.c, src/lib-storage/mail-storage-
	settings.c, src/lib-storage/mail-storage-settings.h:
	lib-storage: Added mail_always_cache_fields setting.
	[9275238a88bb]

2013-05-11  Florian Zeitz  <florob@babelmonkeys.de>

	* src/lib/test-unichar.c, src/lib/unichar.c, src/lib/unicodemap.pl:
	liblib: Fix Unicode decomposition
	[4c9420265987]

2013-05-15  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/dovecot-dict-auth.conf.ext, doc/example-config
	/dovecot-dict-sql.conf.ext, doc/example-config/dovecot-
	ldap.conf.ext, doc/example-config/dovecot-sql.conf.ext:
	example-config: Added comment how all *.conf.ext files are accessed
	typically.
	[6b61d3578ef0]

	* doc/example-config/Makefile.am:
	Makefile: Removed dovecot-db.conf.ext
	[c60fd665e37c]

	* doc/example-config/dovecot-db.conf.ext:
	example-config: Removed dovecot-db.conf.ext since Berkeley DB
	support is never built in.
	[77b95c6d4a16]

	* doc/example-config/conf.d/auth-checkpassword.conf.ext, doc/example-
	config/conf.d/auth-deny.conf.ext, doc/example-config/conf.d/auth-
	dict.conf.ext, doc/example-config/conf.d/auth-ldap.conf.ext, doc
	/example-config/conf.d/auth-master.conf.ext, doc/example-
	config/conf.d/auth-passwdfile.conf.ext, doc/example-config/conf.d
	/auth-sql.conf.ext, doc/example-config/conf.d/auth-static.conf.ext,
	doc/example-config/conf.d/auth-system.conf.ext, doc/example-
	config/conf.d/auth-vpopmail.conf.ext:
	example-config: auth-*.conf.ext should say they're included by
	10-auth.conf
	[93bcbf5cabca]

2013-05-14  Timo Sirainen  <tss@iki.fi>

	* src/auth/db-passwd-file.c:
	auth passwd-file: If we fail to open passwd-file, log a request
	error directly. Instead of one error message and another info
	message.
	[df20af39dc51]

	* src/lib/hash.h, src/plugins/fts-lucene/lucene-wrapper.cc:
	Avoid strict aliasing warnings.
	[bf98dc25e3e4]

	* doc/example-config/conf.d/20-imap.conf, doc/example-
	config/conf.d/20-pop3.conf:
	example-config: Moved imap_* and pop3_* settings outside protocol
	section. There's no need to keep them inside protocol {}, and in
	case of pop3_uidl_format=%m setting it's actually harmful.
	[0e3c924ff5b4]

	* doc/example-config/conf.d/20-pop3.conf, src/pop3/pop3-client.c,
	src/pop3/pop3-client.h, src/pop3/pop3-commands.c,
	src/pop3/pop3-settings.c, src/pop3/pop3-settings.h:
	pop3: Added pop3_deleted_flag setting.
	[5984de096e3e]

	* configure.ac:
	configure: Fixed checking for struct sockpeercred with OpenBSD <5.3
	[139ab37f69df]

	* src/login-common/login-proxy.c:
	login-proxy: If login fails with timeout, log what the proxying
	state was.
	[8a0abbf545ce]

	* src/login-common/login-proxy-state.h, src/login-common/login-
	proxy.c:
	login-proxy: Don't crash if connect() succeeds but login fails with
	timeout.
	[cda830ebf6ee]

2013-05-13  Dennis Schridde  <devurandom@gmx.net>

	* doc/man/Makefile.am:
	Fix out of source build of manpages
	[8d7d2564dbc9]

2013-05-06  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-transaction-log-view.c:
	lib-index: Previous commit sometimes broke scanning transaction log
	view. If min_file_seq+offset pointed to the end of the previous file
	that no longer existed, we didn't just skip over it.
	[62874b472dc6]

	* src/imap/cmd-urlfetch.c:
	imap: URLFETCH sometimes failed thinking it didn't receive all of
	the message data.
	[0a97502855df]

	* src/imap/cmd-urlfetch.c:
	imap: URLFETCH leaked istream on failures.
	[bed8c39349fa]

	* src/imap/cmd-urlfetch.c:
	imap: Fixed URLFETCH assert-crashes due to output_cmd_lock not being
	cleared.
	[01560ee1a4b8]

	* src/imap/cmd-append.c:
	imap: Don't eat away the next command if CATENATE fails.
	[113cb77256a7]

	* src/imap/cmd-append.c:
	imap: Fixed assert-crash on invalid APPEND parameters.
	[0b7039a614f7]

	* src/imap/cmd-append.c:
	imap: Don't hang in APPEND when giving it invalid parameters.
	[ea0390e1789f]

	* src/lib-imap/imap-parser.c:
	lib-imap: imap_parser_read_args() shouldn't append multiple EOLs
	when calling multiple times.
	[67ec8bb5c27a]

	* src/lib-imap-urlauth/imap-urlauth-fetch.c, src/lib-imap-urlauth
	/imap-urlauth.c:
	lib-imap-urlauth: Don't try to access garbage memory on error
	handling paths.
	[a45bfb4c7d66]

	* src/doveadm/doveadm-mail-iter.c:
	doveadm: If search query attempts to access nonexistent mailbox,
	just ignore it. Most importantly running a query for multiple users
	wouldn't be an error if the mailbox existed only for some users.
	It's probably cleaner to then always just ignore the nonexistent
	mailboxes.
	[63555663efbc]

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
	copymove.c, src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-
	mail-fetch.c, src/doveadm/doveadm-mail-import.c, src/doveadm
	/doveadm-mail-iter.c, src/doveadm/doveadm-mail-iter.h, src/doveadm
	/doveadm-mail-search.c:
	doveadm_mail_iter_init(): Removed unnecessarily returning
	transaction. If it's needed in future just add a new
	doveadm_mail_iter_get_transaction().
	[7808096bb674]

	* src/lib-index/mail-transaction-log-view.c:
	lib-index: The previous assert-crashfix didn't actually fix the
	problem.
	[664ec741de8c]

	* src/lib-storage/list/mailbox-list-maildir-iter.c:
	maildir++: Fixed mail_shared_explicit_inbox=no
	[3de486622779]

	* src/lib-storage/list/mailbox-list-iter.c:
	namespace { prefix="" list=no } should never be listed.
	[e45bb6b86e3c]

	* src/plugins/acl/acl-api-private.h, src/plugins/acl/acl-backend-
	vfile.c, src/plugins/acl/acl-backend.c:
	acl: Optionally get default ACL's for private/shared namespaces from
	user's INBOX. This probably should be the default always, but better
	not break anyone's existing setup until v2.3.0. So for now there's a
	setting for this: plugin { acl_defaults_from_inbox = yes }
	[714dfc072d60]

	* src/plugins/acl/acl-mailbox.c:
	acl: Mailbox creation ignored ACLs (due to API changes in v2.2). The
	created mailbox couldn't have been accessed however.
	[11712979c8ab]

2013-05-03  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-status.c:
	quota-status: Return 554 instead of 552 on quota failures. This is
	because RFC 5321/2821 recommends that 552 is treated the same as
	452.
	[aefdf65442cc]

2013-05-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-urlauth/imap-urlauth.c:
	lib-imap-urlauth: Don't try to access garbage memory on error
	handling path.
	[24aa10efe132]

	* src/imap-urlauth/imap-urlauth-worker.c:
	imap-urlauth-worker: Fixed a crash (by removing unnecessary code)
	[2a3134b0c25d]

	* src/imap/cmd-append.c:
	imap: Don't allow empty CATENATE () list.
	[5e2fa592c268]

	* src/imap/cmd-append.c:
	imap: Fixed using literals for URLs in CATENATE.
	[8e5ff6809d75]

	* doc/example-config/dovecot.conf:
	example-config: Typofix
	[73d67860db85]

2013-04-23  Timo Sirainen  <tss@iki.fi>

	* src/plugins/stats/Makefile.am, src/plugins/stats/stats-connection.c:
	stats plugin: Don't try to send notifications to already dead stats
	process.
	[83d83f55e5c2]

	* src/lib-master/master-service.c, src/lib-master/master-service.h:
	lib-master: Added master_service_is_master_stopped()
	[b8be0d35228e]

	* src/lib/hash.h:
	hash_table_clear(): Added a comment about API usage.
	[25679980d267]

	* src/lib-storage/index/maildir/maildir-keywords.c:
	maildir: Crashfix after dovecot-keywords file was re-read.
	[dd6316615025]

	* src/lib-storage/list/mailbox-list-index.c:
	lib-storage: Fixed crash with mailbox_list_index=yes after re-
	reading index.
	[d3d380221043]

	* src/lib-compression/istream-bzlib.c, src/lib-compression/istream-
	zlib.c:
	istream-[b]zlib: Don't break if parent stream gets seeked in the
	middle of reads.
	[ba63c27667ff]

	* src/lib-storage/index/dbox-common/dbox-file.c:
	dbox: Close file's fd only after its istream is destroyed. For
	example zlib plugin keeps the stream open as a cache even after the
	dbox_file has been destroyed.
	[6d19a0f32a1b]

	* src/lib/istream-seekable.c:
	istream-seekable: Don't crash when seeking forwards past the data we
	haven't read yet.
	[2784b88a4260]

	* src/lib-http/Makefile.am:
	lib-http: Makefile fix
	[43e7606b31e2]

	* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
	/fts-backend-solr.c:
	fts-solr: Don't crash if fts_solr setting is invalid.
	[d728b4682b0a]

	* src/master/master-settings.c:
	master: Fixed warning log message.
	[2bf265dc0e68]

	* configure.ac:
	OpenBSD compile fix: include sys/socket.h when checking for struct
	sockpeercred.
	[da8120a3a98d]

2013-04-22  Timo Sirainen  <tss@iki.fi>

	* src/plugins/stats/stats-connection.c:
	stats plugin: Use nonblocking open() for stats fifo. This fixes
	hangs in it. Alternative would be to use alarm().
	[c95cea6e1389]

	* src/plugins/zlib/zlib-plugin.c:
	zlib: Keep the last read mail cached uncompressed in a temp file.
	This fixes performance problems with partial IMAP FETCH commands.
	[fe56ba75d6ef]

2013-04-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-search.c:
	lib-storage: Avoid wasting data stack during searches.
	[e819374de157]

	* src/lib-mail/istream-attachment-connector.c:
	Fixed a memory leak.
	[994488139eca]

	* src/plugins/stats/stats-plugin.c:
	stats plugin: Fixed memory leak.
	[cac2978505b8]

2013-04-19  Timo Sirainen  <tss@iki.fi>

	* src/imap-urlauth/imap-urlauth-worker.c, src/lib/ioloop.c:
	Compiling fix for Sun compilers. I wish gcc/clang warned about these
	as well, as sometimes they indicate bugs.
	[46dc61f6acae]

	* .hgsigs:
	Added signature for changeset 6fcf060b50f1
	[999564a5b2a5]

	* .hgtags:
	Added tag 2.2.1 for changeset 6fcf060b50f1
	[ff45bebb36bd]

	* NEWS, TODO, configure.ac:
	Released v2.2.1.
	[6fcf060b50f1] [2.2.1]

2013-04-18  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-index-backend.c:
	layout=index: Fixed listing subscriptions.
	[2da229987a81]

	* src/lib-storage/index/index-storage.c:
	lib-storage: Set virtual/physical size in dest_mail when copying, if
	possible. Ideally lib-index would be fixed so this wouldn't be
	necessary. The lib-index way of fixing it would also be useful for
	more than just quota plugin.
	[f0b232b956a6]

	* src/lib-storage/index/index-storage.c:
	lib-storage: mailbox_copy() didn't always copy all the cached fields
	to destination. If the destination mailbox's cache file wasn't
	already opened, the default cache decisions were used.
	[61e567c7fdd7]

2013-04-17  Stephan Bosch  <stephan@rename-it.nl>

	* src/lib/llist.h:
	liblib: Added DLLIST2_INSERT_AFTER_FULL() For inserting a new
	element in a doubly-linked list after an existing element.
	[bafcb428167b]

	* src/lib-imap-urlauth/imap-urlauth-connection.c:
	lib-imap-urlauth: Fixed connection error handling to abort all
	pending requests.
	[cc0dd0d79952]

2013-04-17  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-append.c, src/lib-storage/mail-storage.c:
	lib-storage: mailbox_save_finish() internally does one final
	mailbox_save_continue()
	[8a07a5f6fd54]

	* src/doveadm/doveadm-fs.c:
	doveadm fs: Set base_dir.
	[7f00331058ef]

2013-04-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/mbox/mbox-sync-parse.c, src/lib-
	storage/index/mbox/mbox-sync-private.h, src/lib-storage/index/mbox
	/mbox-sync-update.c:
	mbox: Handle broken Status: and X-Status: headers without sync
	errors.
	[c473f8d2540e]

	* src/auth/auth-request.c:
	auth: Fixed multiple master passdbs.
	[854469baa57c]

	* src/lib-storage/index/maildir/maildir-util.c:
	maildir: Fixed crash in some rare situations.
	[f33bacb03cc2]

2013-04-15  Timo Sirainen  <tss@iki.fi>

	* src/plugins/zlib/zlib-plugin.c:
	zlib: Don't crash when trying to use zlib_save for handler that
	isn't compiled in.
	[9a5b132b6832]

	* src/lib-mail/message-parser.c:
	lib-mail: Don't assert-crash when multipart doesn't actually have
	any parts.
	[b38d5ebacf25]

2013-04-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-namespace.c:
	lib-storage: mailbox_list_index=yes was still broken.
	[fc9ef7d2251a]

	* src/doveadm/doveadm-mail.h:
	Linking error fix.
	[a7d0bb66639f]

2013-04-12  Timo Sirainen  <tss@iki.fi>

	* .hgtags:
	Added tag 2.2.0 for changeset 1c8e7a295d4b
	[4af6b464ef9b]

2013-04-11  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset e2cd03cc9c69
	[1c8e7a295d4b] [2.2.0]

	* NEWS, configure.ac, doc/example-config/conf.d/11-object-
	storage.conf:
	Released v2.1.0.
	[7ea8f20e5195]

	* src/lib-storage/list/mailbox-list-index.c:
	lib-storage: mailbox_list_index=yes was broken by previous change.
	Reverted the previous change and fixed it the right way.
	[cf898dbcbffb]

	* src/doveadm/dsync/doveadm-dsync.c, src/lib-storage/mail-user.h,
	src/plugins/acl/acl-api.c, src/plugins/acl/acl-attributes.c,
	src/plugins/imap-quota/imap-quota-plugin.c,
	src/plugins/quota/quota.c:
	Removed ambiguous mail_user.admin flag. dsync shouldn't sync
	mailboxes without +r ACL.
	[7a7fa88aafe7]

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
	copymove.c, src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-
	mail-import.c, src/doveadm/doveadm-mail-index.c, src/doveadm
	/doveadm-mail-mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c,
	src/doveadm/doveadm-mail-search.c, src/doveadm/doveadm-mail.c:
	doveadm: Don't use MAILBOX_LIST_ITER_RAW_LIST when listing
	mailboxes. That skips ACLs and mailbox list. There's really no good
	reason to use that by default.
	[81a111f1c420]

	* src/lib-storage/list/mailbox-list-index.c:
	lib-storage: mailbox_list_index=yes wasn't working with ACLs.
	[309abf35676e]

	* src/lib-storage/index/index-mail.c:
	lib-storage: mail_update_pvt_modseq() shouldn't crash if there is no
	private index.
	[17b037da123b]

	* src/lib/net.c:
	net_getunixcred(): Fix to previous NetBSD<5 support: return pid as
	-1.
	[c802c0b960e2]

	* src/lib/net.c:
	net_getunixcred() support for NetBSD <v5.0. Fixed also building with
	other NetBSDs. Patch by Emmanuel Dreyfus
	[d594ce839da3]

	* src/lib/mountpoint.c:
	Fixed getmntinfo() usage with NetBSD. Patch by Emmanuel Dreyfus
	[e33ec9eb166e]

2013-04-10  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset d7f29af73468
	[d44c04dc68b9]

	* .hgtags:
	Added tag 2.2.rc7 for changeset d7f29af73468
	[b0c696c48051]

	* NEWS, TODO, configure.ac:
	Released v2.2.rc7.
	[d7f29af73468] [2.2.rc7]

	* src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc/imapc-
	storage.c, src/lib-storage/index/imapc/imapc-storage.h:
	imapc: If APPEND to selected mailbox doesn't send EXISTS, try if
	NOOP sends it. This makes Dovecot behave better with Courier.
	[1bdb2765499c]

	* src/lib-ssl-iostream/ostream-openssl.c:
	iostream-ssl: Don't hang if ostream's max buffer size is set to 0.
	[0ff3c63eb183]

	* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
	api.h, src/lib-fs/fs-metawrap.c, src/lib-fs/fs-posix.c, src/lib-fs
	/fs-sis-queue.c, src/lib-fs/fs-sis.c:
	lib-fs: Added fs_file_close() to explicitly close all streams that
	the file has open.
	[5ce775d70c7d]

	* src/lib-index/test-mail-transaction-log-view.c:
	lib-index: Fixed failing unit test
	[a3bd79aec23a]

	* src/lib-http/http-client-connection.c:
	lib-http: Don't double-free request memory when aborting them.
	[79a74a23b742]

	* src/lib-http/http-client-host.c, src/lib-http/http-client-request.c:
	lib-http: http_client_deinit() calls any pending delayed failure
	callbacks.
	[6466af800ed4]

	* src/lib-index/mail-transaction-log-view.c:
	lib-index: Assert-crashfix on some rare situations.
	mail_index_modseq_get_next_log_offset() might have returned e.g.
	(seq=4, offset=40) to point to the beginning of a next file. The
	view itself could still have been pointing to seq=3 end of file. Now
	calling mail_transaction_log_view_set() with these two positions
	(that are basically the same) should result in an empty view instead
	of assert crash.
	[286fa7f9538c]

	* src/lib-fs/fs-api.c:
	lib-fs: Add data stack frames to most API calls, so the
	backends/callers don't need to.
	[08602cf498ea]

	* src/lib-http/http-client-request.c:
	lib-http: Added data stack frame to avoid unnecessary data stack
	wasting.
	[e8f366822a59]

	* src/lib-storage/list/mailbox-list-index.c:
	lib-storage: Fixed mailbox list index crashes with shared mailboxes.
	[61ee2da538e1]

	* src/lib-storage/mail-storage-hooks.c, src/lib-storage/mail-storage-
	hooks.h, src/lib-storage/mail-user.c:
	lib-storage: Added mail_namespaces_added hook.
	[3d8c08c19190]

	* src/lib-storage/list/mailbox-list-index.c, src/lib-storage/mailbox-
	list.c, src/lib-storage/mailbox-list.h:
	lib-storage: Make sure index root dir is created when mailbox list
	index is created.
	[52233547b371]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Don't fail the sync if attribute couldn't be set. It's
	probably a system configuration mismatch where some/all attributes
	don't work in one system but do on another. This might or might not
	be a problem, so it deserves an error message, but probably doesn't
	deserve failing entirely.
	[8da591260f7c]

	* src/lib-storage/list/mailbox-list-index-status.c:
	lib-storage: Fixed crash with mailbox_list_index=yes and out-of-date
	index.
	[f39664bd4b29]

2013-04-09  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream-seekable.c:
	istream-seekable: Fixed handling "buffer full" i_stream_read()
	result from underlying streams.
	[fbef40826602]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixed assert-crash caused by previous change
	[194df093a05f]

2013-04-08  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Commit large transactions every 100 new messages. This way if
	the dsync crashes or transaction fails in the middle, the next run
	can finish faster. Also the rollbacking finishes faster.
	[548e59794f2e]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: If saving mails fail, stop trying to save more of them and
	flooding logs.
	[e0acf38f6199]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain.c,
	src/doveadm/dsync/dsync-brain.h:
	dsync: -U parameter never updated replicator's full_sync state.
	[1a58d4bcb49c]

	* src/plugins/quota/quota-private.h, src/plugins/quota/quota-
	storage.c, src/plugins/quota/quota.c:
	quota: dsync shouldn't trigger quota warnings They would probably
	just be duplicates that were already triggered by the other replica.
	[54cdc5b6727c]

	* src/doveadm/dsync/dsync-brain.c:
	dsync: If dsync fails due to lock timeout, give a better error
	message.
	[e41a13ae504d]

	* src/lib-master/mountpoint-list.c:
	lib-master: Ignore mountpoints with type cgroup.
	[b9758a044222]

	* src/doveadm/doveadm-replicator.c:
	doveadm replicator: Fixed showing over 1h old timestamps.
	[db5ce75d70b9]

	* src/replication/replicator/doveadm-connection.c,
	src/replication/replicator/replicator-queue.c,
	src/replication/replicator/replicator-queue.h:
	replicator: doveadm commands and user list export may have skipped
	some users. The users were exported from the queue, but they are
	temporarily removed from there while the user is being replicated.
	The users always exist in the hash table though.
	[cff14ef4cce5]

	* src/auth/db-checkpassword.c:
	checkpasword: Don't set AUTH_PASSWORD environment.
	[9feb2986945c]

	* src/lib/restrict-process-size.c:
	restrict_process_count(): Don't die if process count can't be
	changed. SELinux has hard limits and doesn't allow root to increase
	them. The admin should fix the error one way or another, but it's
	not a total failure just leaving it.
	[dd0d5981ad42]

	* src/lib-http/http-client-connection.c:
	lib-http: If remote SSL cert is invalid, treat it as non-retryable
	error.
	[ac0e59dfe081]

	* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
	/iostream-openssl.h, src/lib-ssl-iostream/iostream-ssl-private.h,
	src/lib-ssl-iostream/iostream-ssl.c, src/lib-ssl-iostream/iostream-
	ssl.h:
	lib-ssl-iostream: Added ssl_iostream_has_handshake_failed()
	[c7555e6d13fd]

	* .hgsigs:
	Added signature for changeset ae4341d0e83b
	[be767af05259]

	* .hgtags:
	Added tag 2.2.rc6 for changeset ae4341d0e83b
	[bc279284fe91]

	* NEWS, configure.ac:
	Released v2.2.rc6.
	[ae4341d0e83b] [2.2.rc6]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Fixed crashes with dsync-server -U parameter
	[f55fbfc909d1]

	* src/lib-fs/fs-posix.c:
	fs-posix: Set file's fd to -1 after closing it
	[57960f02d1bb]

2013-04-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-mail/istream-qp-decoder.c:
	istream-qp-decoder: Fixed assert-crashes caused by recent forced-
	CRLF q-p change.
	[bb25fa35d887]

	* src/lib-fs/fs-posix.c:
	lib-fs: posix fs backend now closes the fd after reads are finished.
	This allows keeping more fs_file structs open than there are
	available fds.
	[73bef641620d]

	* src/lib-http/http-client-connection.c, src/lib-imap-urlauth/imap-
	urlauth-connection.c, src/lib-storage/index/index-mail.c, src/lib
	/iostream-private.h, src/lib/iostream-temp.c, src/lib/iostream.c,
	src/lib/istream.c, src/lib/istream.h, src/lib/json-parser.c:
	istream API change: Added support for multiple destroy callbacks.
	[81d87e43e167]

	* src/lib-fs/ostream-metawrap.c:
	ostream-metawrap: ..and compile fix to previous commit.
	[f00cc6d783cf]

	* src/lib-fs/ostream-metawrap.c:
	ostream-metawrap: Copy parent ostream's errors.
	[daf6803df4ac]

	* doc/example-config/conf.d/10-ssl.conf:
	example-config: Added ssl_client_ca_file
	[32289a1d44fb]

	* src/doveadm/doveadm-fs.c, src/doveadm/doveadm-settings.c,
	src/doveadm/doveadm-settings.h, src/doveadm/dsync/doveadm-dsync.c,
	src/lib-http/http-client.c, src/lib-http/http-client.h, src/lib-http
	/test-http-client.c, src/lib-imap-client/imapc-client.c, src/lib-
	imap-client/imapc-client.h, src/lib-ssl-iostream/iostream-openssl-
	context.c, src/lib-ssl-iostream/iostream-ssl.h, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/pop3c
	/pop3c-client.c, src/lib-storage/index/pop3c/pop3c-client.h, src
	/lib-storage/index/pop3c/pop3c-storage.c, src/lib-storage/mail-
	storage-settings.c, src/lib-storage/mail-storage-settings.h:
	Added ssl_client_ca_file to specify the CA certs as a file instead
	of as a dir. This is required for Redhat-based systems where there
	isn't a CA directory like in Debian/Ubuntu.
	[f0c997709b4d]

	* src/doveadm/doveadm-fs.c:
	doveadm fs: Enable fs debug if doveadm -D parameter is given.
	[de165567386d]

	* src/lib-fs/fs-api.h:
	lib-fs: Added debug setting.
	[821a2b489039]

	* .hgignore, src/doveadm/Makefile.am, src/doveadm/doveadm-fs.c,
	src/doveadm/doveadm-settings.c, src/doveadm/doveadm-settings.h,
	src/doveadm/doveadm.c, src/doveadm/doveadm.h, src/lib-
	fs/Makefile.am, src/lib-fs/fs-test.c:
	Moved lib-fs/fs-test to "doveadm fs" command.
	[d09aa718221f]

	* src/lib-storage/list/mailbox-list-index.c:
	lib-storage: mailbox list index didn't get its permissions from the
	root dir.
	[0b7cb5fdc7b5]

	* src/lib-storage/mailbox-list.c:
	lib-storage: dovecot.mailbox.log should have used file permissions,
	not dir Although this didn't actually make any difference since 0666
	mask was used.
	[6e8d5d78ce0d]

	* doc/example-config/conf.d/10-mail.conf:
	example-config: Added mailbox_list_index.
	[b945403c491f]

	* src/doveadm/doveadm-replicator.c, src/replication/replicator
	/doveadm-connection.c, src/replication/replicator/replicator-
	queue.c, src/replication/replicator/replicator-queue.h:
	Added "doveadm replicator remove" command to remove users from
	replicator queue.
	[872b06768835]

	* src/doveadm/doveadm-settings.c, src/doveadm/dsync/doveadm-dsync.c:
	dsync: Fixed -U to send the notification on the remote server, not
	local.
	[8b13ef2e9569]

	* src/lib-storage/mail-storage.c:
	lib-storage: If transaction commit fails, don't try to access
	garbage memory.
	[3c4712bcf473]

	* src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
	/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain-mails.c,
	src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-ibc-pipe.c,
	src/doveadm/dsync/dsync-ibc-private.h, src/doveadm/dsync/dsync-ibc-
	stream.c, src/doveadm/dsync/dsync-ibc.c, src/doveadm/dsync/dsync-
	ibc.h:
	dsync: Fixed talking to earlier dsync without mailbox attribute
	support. Most importantly it can now be used as an example how to
	add more features to dsync.
	[d79cf48f1072]

	* src/lib/connection.c:
	connection_disconnect(): Explicitly close input/output stream. This
	makes sure that if the ostream has some data pending and is still
	referenced, the io_remove() won't be called after fd is already
	closed.
	[cb2e3676547d]

	* src/lib-http/test-http-client.c:
	test-http-client: Allow invalid SSL certs in tests.
	[6bddc6d3530c]

	* src/lib-http/http-client.c:
	lib-http: ssl_crypto_device and ssl_allow_invalid_cert settings were
	ignored.
	[abe0256dd3c0]

	* src/lib-http/http-client-connection.c:
	lib-http: Fixed receiving 100-continue reply after we already timed
	out waiting for it.
	[3647c414c67d]

	* src/doveadm/dsync/doveadm-dsync.c, src/replication/replicator
	/doveadm-connection.c, src/replication/replicator/dsync-client.c:
	replicator: Have remote dsync notify the replicator that the user
	was just synced. This way the replicators are roughly in sync.
	[f1ba737bc241]

2013-04-06  Timo Sirainen  <tss@iki.fi>

	* src/replication/replicator/replicator-settings.c,
	src/replication/replicator/replicator.c:
	replicator: Don't create replicator-doveadm socket by default. Also
	removed the service replicator { process_min_avail=1 } requirement.
	This new way allows replicator to give a flag to dsync so it will
	try to notify the replicator process when user gets synced, which
	can be silently ignored even if it fails (replica server doesn't
	need to have replicator or even Dovecot itself running).
	[9824f8df62a3]

	* src/lib-index/mail-index-transaction-export.c:
	lib-index: Added missing NUL separator to attribute-update
	transaction log record.
	[edbfb39bc10d]

2013-04-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-fs/fs-metawrap.c:
	fs-metawrap: Fixed fs_copy_finish_async() wrapping
	[c24783148d78]

	* .hgsigs:
	Added signature for changeset 9446df6da5a8
	[e8ea4aacf329]

	* .hgtags:
	Added tag 2.2.rc5 for changeset 9446df6da5a8
	[d63e1bf77774]

	* NEWS, configure.ac:
	Released v2.2.rc5.
	[9446df6da5a8] [2.2.rc5]

	* doc/example-config/conf.d/10-ssl.conf:
	example-config: Added ssl_client_ca_dir setting.
	[fa860c46d794]

	* src/lib-http/http-client.c:
	lib-http: Fixed moving delayed request error timeouts between
	ioloops.
	[e342046d25ca]

	* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-
	transaction-export.c, src/lib-index/mail-index-transaction-
	private.h, src/lib-index/mail-index-transaction-update.c, src/lib-
	index/mail-index.h, src/lib-storage/index/index-attribute.c,
	src/plugins/acl/acl-mailbox.c:
	lib-index: Add timestamps and value lengths to attribute change
	records in transaction log. The timestamps will be useful for dsync,
	and value lengths will be useful for metadata quota.
	[1ef57aca7d2f]

	* src/imap/cmd-resetkey.c, src/lib-imap-urlauth/imap-urlauth-
	backend.c:
	imap: Fixed RESETKEY command to not return failure when it actually
	succeeded.
	[c4a017da9b3e]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-mailbox-
	export.c, src/doveadm/dsync/dsync-mailbox-import.c, src/lib-http
	/http-client-request.c, src/lib/test-json-parser.c:
	Make static analyzer happier.
	[83568daabff6]

	* src/doveadm/doveadm-mail-batch.c:
	doveadm batch: Fixed handling subcommand parameters and errors.
	[2918bfacf565]

	* src/plugins/quota/quota-status.c:
	quota-status: Unknown recipients caused a crash.
	[b6f69bdcf63f]

	* src/lib-storage/list/mailbox-list-index-backend.c:
	layout=index: Don't crash on mailbox_update() if the mailbox path
	couldn't be found.
	[9c3bf2cb62e8]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Fixes to location parameter handling.
	[831351968d3a]

	* .hgsigs:
	Added signature for changeset 92c88eca562d
	[4f62a9a86a97]

	* .hgtags:
	Added tag 2.2.rc4 for changeset 92c88eca562d
	[53082e1f3ae8]

	* NEWS, TODO, configure.ac:
	Released v2.2.rc4.
	[92c88eca562d] [2.2.rc4]

	* .hgsigs, .hgtags, NEWS, configure.ac, src/auth/auth-request.c,
	src/doveadm/Makefile.am, src/doveadm/doveadm-dump-log.c, src/doveadm
	/doveadm-mail-batch.c, src/doveadm/doveadm-mail-index.c, src/doveadm
	/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/indexer/master-
	connection.c, src/lib-index/mail-index-modseq.c, src/lib-index/mail-
	index-sync-update.c, src/lib-index/mail-index-transaction-update.c,
	src/lib-index/mail-transaction-log.h, src/lib-master/mountpoint-
	list.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/pop3c/pop3c-storage.c, src
	/lib-storage/index/raw/raw-storage.c, src/lib-storage/list/mailbox-
	list-delete.c, src/lib-storage/list/mailbox-list-fs.c, src/lib-
	storage/list/mailbox-list-maildir.c, src/lib-storage/mailbox-list-
	private.h, src/lib/macros.h, src/plugins/acl/acl-mailbox.c,
	src/plugins/virtual/virtual-config.c:
	Merged changes from v2.1 tree.
	[249305f71c73]

	* .hgsigs:
	Added signature for changeset 582108c190f8
	[c42846219939]

	* .hgtags:
	Added tag 2.1.16 for changeset 582108c190f8
	[9fbc51f4448b]

	* NEWS, configure.in:
	Released v2.1.16.
	[582108c190f8] [2.1.16]

2013-04-04  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-status.c:
	quota-status: Removed duplicate "action=" text from overquota
	messages.
	[852cfd3e4933]

	* src/plugins/quota/quota-status.c:
	quota-status: Added quota_status_(success|nouser|overquota)
	settings.
	[c7da636a09c4]

2013-04-02  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-status.c:
	quota-status: If size parameter is given, use it to check quota.
	[2493ec20df8c]

	* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-modseq.c,
	src/lib-index/mail-index-sync-update.c, src/lib-index/mail-
	transaction-log.h:
	lib-index: Backported MAIL_TRANSACTION_ATTRIBUTE_UPDATE from v2.2
	[b2fad9b21e60]

2013-03-31  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c:
	auth: Implemented userdb_import and userdb_userdb_import fields.
	[78eb04213251]

	* src/auth/auth-request.c:
	auth: Fixed passdb_import not to crash when =value isn't given.
	[00de06c6cc21]

	* src/auth/auth-request.c:
	auth: Renamed userdb_userdb_import to passdb_import, since that's
	what it really is.
	[963c6f616aa4]

	* src/auth/auth-request.c:
	auth: Allow using userdb_userdb_import in passdb query to set
	multiple userdb fields.
	[cd919c490ea6]

	* src/lib-master/mountpoint-list.c:
	lib-master: Ignore mountpoints under /tmp and /var/tmp by default.
	[9d79ef9cf337]

2013-03-27  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-transaction-update.c:
	lib-index: Removed obsolete 16bit size check asserts from
	mail_index_update_header_ext()
	[87d0c4056b4d]

2013-03-25  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-batch.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added "batch" command to run multiple mail commands. This
	only makes sense when the commands are run with -A or -u <usermask>,
	so that the commands are run for the same user before moving onto
	the next user.
	[8cc28a5a3f4f]

2013-02-22  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-index.c, src/indexer/master-connection.c:
	doveadm, indexer: Don't crash if STATUS_LAST_CACHED_SEQ lookup
	fails. (I'm sure I did this change already once, where did it go?..)
	[73feea4d22aa]

2013-03-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-common/dbox-storage.c, src/lib-storage/index/maildir/maildir-
	storage.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/pop3c/pop3c-storage.c, src/lib-storage/index/raw/raw-
	storage.c, src/lib-storage/list/mailbox-list-delete.c, src/lib-
	storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-
	maildir.c, src/lib-storage/mailbox-list-private.h, src/plugins/acl
	/acl-mailbox.c, src/plugins/virtual/virtual-config.c:
	"Mailbox doesn't exist" error mixed up using storage and virtual
	mailbox names. This could have allowed a user to figure out
	existence of a mailbox without having lookup ACL.
	[eece943c7521]

2011-10-30  Dennis Schridde  <devurandom@gmx.net>

	* src/lib/macros.h:
	Add DOVECOT_PREREQ to src/lib/macros.h - convenience macro to test
	the version of dovecot
	[a588b743d695]

	* configure.in:
	Add macros DOVECOT_VERSION_{MAJOR,MINOR} to config.h to allow
	version checks in the preprocessor

	Version number set as PACKAGE_VERSION is assumed to be D.D* with
	D=digits
	[e294e416f5ba]

2013-04-04  Timo Sirainen  <tss@iki.fi>

	* src/replication/replicator/replicator.c:
	replicator: If replicator is unconfigured, fail at startup.
	[c67d787164fa]

	* src/lib-master/master-interface.h, src/lib-master/master-service-
	private.h, src/lib-master/master-service.c, src/lib-master/master-
	service.h, src/master/service-process.c:
	lib-master: Added master_service_get_process_min_avail()
	[c32bfc54bc50]

	* src/doveadm/dsync/dsync-brain-mailbox-tree.c:
	dsync: Mailbox name fixing didn't work when namespace prefixes were
	used.
	[ef0669c017df]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Don't assert-crash when ACL plugin tries to lookup ""
	mailbox.
	[bb81deef6b42]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Give an early error message if imapc_list_prefix ends with
	separator.
	[e9cab6d5e82a]

	* src/lib-storage/index/shared/shared-storage.c, src/lib-storage/mail-
	user.c:
	lib-storage: Crashfixes for handling shared mailboxes for
	nonexistent users.
	[9891526c2def]

	* src/lib/istream-chain.c:
	istream-chain: Final fixes to handling merged streams.
	[0f88312ef951]

	* src/lib/istream-chain.c:
	istream-chain: More fixes to handling merged streams.
	[29fdc9ff273d]

	* src/lib/istream-chain.c:
	istream-chain: Fixed memory leak.
	[a4dae80c419f]

	* src/lib-imap-urlauth/imap-urlauth-backend.c:
	lib-imap-urlauth: Don't memcpy() data over itself.
	[3c84909de2e2]

	* src/lib/istream.c:
	i_stream_read(): Added assert.
	[285e1c6a2115]

	* src/lib/istream-chain.c:
	istream-chain: Fixed handling small streams that get merged into
	same buffer.
	[096ad7cd6e9e]

	* src/auth/db-ldap.c, src/auth/db-ldap.h:
	ldap auth: Don't access freed memory.
	[2294f815a4f0]

	* src/lib-storage/list/mailbox-list-iter.c:
	lib-storage: Add \Noinferiors flag to INBOX when such namespace
	config is used.
	[96381ea68124]

	* src/auth/auth-request.c:
	auth: If passdb wasn't used, don't preserve its extra fields in auth
	request.
	[05d2b6003495]

	* src/lib-mail/quoted-printable.c, src/lib-mail/quoted-printable.h,
	src/lib-mail/test-quoted-printable.c:
	lib-mail: quoted_printable_decode*() now returns all newlines as
	CRLF. This is required by BINARY fetches, since the original data
	had CRLFs.
	[6821794943a5]

	* src/lib-storage/mail-search.c:
	lib-storage: Fixed searching with multiple parameters and
	prefetching.
	[088481a77a7a]

	* src/lib-imap-client/imapc-connection.c, src/lib-storage/index/pop3c
	/pop3c-client.c:
	imapc, pop3c: Don't hide SSL handshake errors.
	[ec933ef95687]

	* src/doveadm/server-connection.c, src/lib-http/http-client-
	connection.c, src/lib-imap-client/imapc-connection.c, src/lib-ssl-
	iostream/iostream-openssl.c, src/lib-ssl-iostream/iostream-ssl.c,
	src/lib-ssl-iostream/iostream-ssl.h, src/lib-storage/index/pop3c
	/pop3c-client.c:
	lib-ssl-iostream: Simplified certificate validation. Also give
	better error messages.
	[ef939a32de27]

	* src/lib-http/http-client-peer.c:
	lib-http: Crashfix for previous change.
	[41c10ddda867]

	* src/doveadm/server-connection.c, src/lib-http/http-client-
	connection.c, src/lib-imap-client/imapc-connection.c, src/lib-master
	/master-service-ssl.c, src/lib-ssl-iostream/iostream-openssl-
	context.c, src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-
	iostream/iostream-openssl.h, src/lib-ssl-iostream/iostream-ssl-
	private.h, src/lib-ssl-iostream/iostream-ssl.c, src/lib-ssl-iostream
	/iostream-ssl.h, src/lib-storage/index/pop3c/pop3c-client.c:
	lib-ssl-iostream: Added support for TLS SNI, which caused some API
	changes.
	[f4bac0352464]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
	private.h:
	lib-http: Prepare for TLS SNI support.
	[52efc1740e15]

	* src/lib-http/http-client.c:
	lib-ssl: If debug=TRUE, set also SSL verbose=TRUE
	[c040fa0fcfdf]

	* src/doveadm/server-connection.c, src/lib-http/http-client-
	connection.c, src/lib-http/http-client.h, src/lib-imap-client/imapc-
	connection.c, src/lib-ssl-iostream/iostream-openssl.c, src/lib-
	storage/index/pop3c/pop3c-client.c:
	lib-ssl-iostream: If handshake callback fails, close the iostreams
	immediately. This way the callback itself doesn't have to do it.
	Also fixes errors caused by it, since they didn't close the ostream.
	[4e9851e24c28]

	* src/lib-http/http-client-connection.c:
	lib-http: Removed last traces of http_client_connection_error()
	[c1f1624a299c]

	* src/doveadm/server-connection.c, src/lib-http/http-client-
	connection.c, src/lib-imap-client/imapc-connection.c, src/lib-ssl-
	iostream/iostream-openssl.c, src/lib-ssl-iostream/iostream-
	openssl.h, src/lib-ssl-iostream/iostream-ssl-private.h, src/lib-ssl-
	iostream/iostream-ssl.c, src/lib-ssl-iostream/iostream-ssl.h, src
	/lib-storage/index/pop3c/pop3c-client.c:
	lib-ssl-iostream: ssl_iostream_set_handshake_callback() API changed.
	The callback can now return the error message to caller instead of
	having to log it itself.
	[970914436288]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
	private.h:
	lib-http: Pass connect failures all the way to request callback's
	error string.
	[3580439c06d8]

	* src/lib-http/http-client-connection.c:
	lib-http: Reorder http_client_connection deinit code just to be
	safe. I'm not sure if this fixes any actual bugs, but just in case
	request callbacks cause the connection to be accessed/modified in
	some way abort the requests before doing anything else.
	[998afe8ffed9]

	* src/lib-http/http-client-connection.c:
	lib-http: Fixed double-free on delayed connect() failures caused by
	recent change.
	[18a0b570df80]

	* src/lib-http/http-client-connection.c:
	lib-http: If SSL init/handshake fails for connection, destroy it.
	[d3921050f540]

	* src/lib-http/http-client-connection.c:
	lib-http: If connect() fails, destroy the http_client_connection.
	Fixes hanging requests when a peer has multiple connections.
	[74eb53f797d6]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
	private.h:
	lib-http: Simplify error handling by delaying connect() failures.
	[1bd5972eac0a]

	* src/lib-http/http-client-host.c, src/lib-http/http-client-private.h,
	src/lib-http/http-client-request.c:
	lib-http: If http_client_request_submit() fails, don't immediately
	call the callback. This simplifies the caller's error handling since
	there is now only one error code path instead of two.
	[b4927eea33fd]

	* src/lib-http/http-client-peer.c:
	lib-http: Removed unused code.
	[ace3911ca077]

	* src/doveadm/client-connection.c, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/server-connection.c, src/lib-http/http-client-
	connection.c, src/lib-http/http-client.c, src/lib-imap-client/imapc-
	client.c, src/lib-imap-client/imapc-connection.c, src/lib-master
	/master-service-ssl.c, src/lib-master/master-service-ssl.h, src/lib-
	ssl-iostream/iostream-openssl-context.c, src/lib-ssl-iostream
	/iostream-openssl-params.c, src/lib-ssl-iostream/iostream-openssl.c,
	src/lib-ssl-iostream/iostream-openssl.h, src/lib-ssl-iostream
	/iostream-ssl-private.h, src/lib-ssl-iostream/iostream-ssl.c, src
	/lib-ssl-iostream/iostream-ssl.h, src/lib-storage/index/pop3c/pop3c-
	client.c:
	lib-ssl-iostream: API changes to return error strings if init()
	functions fail. This also fixed a couple of broken error handlings.
	[02f6b66458b1]

	* src/lib-ssl-iostream/iostream-ssl-none.c:
	lib-ssl-iostream: Removed unused iostream-ssl-none.c
	[778daa3852ef]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
	private.h, src/lib-http/http-client.c:
	lib-http: Each peer doesn't need a separate ssl context, enough to
	have one for http_client. Also removed #ifdefs for building with SSL
	support. lib-ssl-iostream nowadays dynamically loads the SSL library
	when needed, and also handles failures if Dovecot was built without
	SSL support.
	[cb4dc46f3327]

	* src/lib-http/http-client-host.c:
	lib-http: Pass DNS lookup error message to caller instead of logging
	it.
	[25d77e31d914]

2013-04-03  Timo Sirainen  <tss@iki.fi>

	* dovecot.m4:
	dovecot.m4: Reverted last change with added comments.
	[cd3482684bd2]

2013-04-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-service.c:
	lib-master: If fifo isn't accepted, don't double-destroy the
	connection.
	[5f365feb5a2b]

	* src/lib-http/http-client-peer.c, src/lib-http/http-client.c, src
	/lib-http/http-client.h:
	lib-http: Added ssl_ca setting to specify the CA certificate
	directly.
	[c256b246302d]

	* dovecot.m4:
	dovecot.m4: Removed --without-dovecot-install-dirs from distcheck
	configure flags. Perhaps the whole feature should be designed some
	other way. Some plugins require the dovecot_* variables to point to
	their real paths.
	[f11ffd0e8b16]

	* src/auth/mech-dovecot-token.c, src/auth/mech-winbind.c:
	auth: Fixed also DOVECOT-TOKEN (=URLAUTH) and NTLM/GSS-SPNEGO (via
	winbind) to work.
	[ac54838e9071]

	* src/auth/mech-anonymous.c:
	auth: Fixed ANONYMOUS mechanism to work again.
	[caead8e506dc]

2013-03-31  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
	quota: Added more debug logs about quota_grace
	[c75b26e1d17f]

	* src/doveadm/dsync/dsync-mailbox-export.c:
	dsync: Fixed syncing without GUIDs.
	[800836bd8f2e]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Don't crash if second user initialization fails.
	[85e619b556ee]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: If remote doesn't send some mails, don't exit with code 0.
	[0eef38d78069]

	* src/auth/auth-request.c:
	auth: nodelay and nopassword fields weren't handled correctly.
	[37cd62516b37]

	* src/lib-storage/mail-storage.c, src/plugins/virtual/virtual-save.c:
	virtual plugin: Fixed saving/copying messages to virtual mailbox.
	[9a8119326bd0]

	* src/lib-storage/index/index-status.c, src/lib-storage/mail-
	storage.h:
	lib-storage: mailbox_get_status() no longer forces mailbox to be
	synced. This fixes copying messages with keywords to a virtual
	mailbox, where syncing happened too late and caused assert-crash
	(status was only used to lookup list of keywords).

	The crash could have been solved another way too, but it's probably
	better if automatic syncing isn't always performed. doveadm index -n
	parameter handling also relies on this behavior.
	[12136db6e31f]

	* src/lib-storage/index/index-storage.c, src/lib-storage/mail-
	storage.c:
	lib-storage: Don't reset
	mail_save_context.copying|moving|copying_via_save too early.
	[f31d241d5371]

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Create a default namespace for auto-created shared
	mail_users. Some code nowadays requires user to have prefix=""
	namespace.
	[f617e2fcce66]

2013-03-28  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
	maildir++ quota: Fixed relative quota_grace when taking limit from
	maildirsize file
	[426701831d00]

2013-03-27  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: If maildir_broken_filename_sizes=yes, don't try to fix
	sizes in filenames.
	[6d9444ea1c9a]

	* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
	metawrap.c:
	lib-fs: Always keep the error in the parentmost fs. This fixes
	problems with getting the correct error message when wrapper
	filesystems are used.
	[d4014211c154]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Use i_fatal() for invalid parameters, like the rest of
	doveadm commands. Probably the parse_arg() API should be changed to
	allow reporting errors.
	[b4040180f30c]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Don't access uninitialized variable
	[37711fb8369f]

	* src/replication/replication-common.h:
	Compiler warning fix
	[10bcadab431c]

2013-03-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail.c:
	lib-storage: Added assert.
	[11d61991a525]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Allow doveadm plugins to override local_location at run().
	[d7893c4460c3]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Allow syncing same mail root dirs if indexes are different.
	Fixes dsyncing with storages that have no mail root dirs.
	[0c52fb39ca3d]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Crashfix when importing from storage without GUIDs.
	[494d1a69fc1c]

	* src/auth/db-ldap.c:
	ldap: Another fix to sub-dn-lookup.
	[0fbeb82f3f95]

	* src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/passdb-ldap.c,
	src/auth/userdb-ldap.c:
	ldap: Crashfix
	[aa8e77ab2b60]

	* src/auth/db-ldap.c:
	ldap: Compiling fix to previous change
	[3396bc2575f5]

	* src/auth/db-ldap.c:
	ldap: Improved sub-dn-lookup error message.
	[8ca1aba14888]

2013-03-25  Timo Sirainen  <tss@iki.fi>

	* src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/userdb-ldap.c:
	ldap: Various crashfixes
	[a6f8c4d6252e]

	* src/auth/db-ldap.c:
	ldap: Don't crash if attributes have no @subrequests.
	[3de93139afce]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	mailbox-tree.c, src/doveadm/dsync/dsync-brain-private.h,
	src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-brain.h,
	src/doveadm/dsync/dsync-ibc-pipe.c, src/doveadm/dsync/dsync-ibc-
	stream.c, src/doveadm/dsync/dsync-ibc.h, src/doveadm/dsync/dsync-
	mailbox-tree-fill.c, src/doveadm/dsync/dsync-mailbox-tree.h:
	doveadm sync/backup: Added -g <guid> to sync only the specified
	mailbox (by GUID) Similar to -m <mailbox name>.
	[c51873a8e0d9]

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Fixed syncing attribute streams.
	[acb88f199704]

	* src/imap/cmd-urlfetch.c:
	imap: Fixed more URL escaping in URLFETCH replies.
	[0634cf4acf8d]

2013-03-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c:
	mysql/pgsql: Don't bother logging about having connected to the
	database. There's probably no good reason to have them? Errors are
	of course still logged.
	[33e78edac8f5]

	* src/doveadm/client-connection.c:
	doveadm-server: Don't continue handling commands if input stream is
	already closed. This fixes trying to handle extra input from
	previous dsync command.
	[ce2b9b430eed]

	* src/imap/cmd-genurlauth.c, src/imap/cmd-urlfetch.c:
	imap: GENURLAUTH and URLFETCH didn't escape URL parameters when
	needed.
	[d3e5585778f8]

	* src/doveadm/doveadm-replicator.c, src/replication/replicator
	/doveadm-connection.c, src/replication/replicator/replicator-
	queue.c, src/replication/replicator/replicator-queue.h:
	doveadm replicator status: Without <usermask> parameter show
	overview status.
	[a4d4edb63ff9]

	* src/doveadm/doveadm-print-table.c:
	doveadm: Table formatter now hides the titles if all of them are
	marked hidden.
	[210282ae46e1]

	* src/doveadm/doveadm-replicator.c, src/replication/replicator
	/doveadm-connection.c:
	doveadm: Added "replicator replicate" command to force replication
	of user(s).
	[1b269672e33b]

	* src/replication/replicator/replicator-settings.c:
	replication_full_sync_interval default changed from 12h -> 24h This
	allows doing full resyncs only at nights.
	[1fa248d2aef7]

	* src/replication/replicator/replicator-queue.c,
	src/replication/replicator/replicator-queue.h,
	src/replication/replicator/replicator.c:
	replicator: If sync fails, retry it in 5 minutes.
	[c4138d8db3dd]

	* src/replication/replicator/replicator-queue.c:
	replicator: Replicator queue export/import at exit/startup wasn't
	really working.
	[1af7c6f22793]

	* src/doveadm/doveadm-replicator.c:
	doveadm replicator status: Show sync time as "-" for "never".
	[85f4f6ff4551]

	* src/doveadm/doveadm-replicator.c, src/replication/replicator
	/doveadm-connection.c:
	doveadm replicator status: Fixed user mask to work.
	[ae5699ba6324]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-replicator.c,
	src/doveadm/doveadm.c, src/doveadm/doveadm.h:
	doveadm: Added "replicator status" command.
	[660d1fd6fc9c]

	* src/replication/replication-common.h,
	src/replication/replicator/Makefile.am, src/replication/replicator
	/doveadm-connection.c, src/replication/replicator/doveadm-
	connection.h, src/replication/replicator/replicator-queue.c,
	src/replication/replicator/replicator-queue.h,
	src/replication/replicator/replicator-settings.c,
	src/replication/replicator/replicator.c:
	replicator: Added doveadm socket for communicating with "doveadm
	replicator".
	[5271c894700c]

	* src/lib-storage/list/mailbox-list-iter.c:
	lib-storage: Fixed listing subscribed namespace prefixes.
	[7671f07867b7]

	* src/lib-storage/list/mailbox-list-iter.c:
	lib-storage: If INBOX isn't subscribed, don't return it in
	subscriptions list.
	[438561ec237b]

2013-03-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mailbox-list.c:
	lib-storage: Compiling fix
	[fed3adf86ab5]

	* src/lib-storage/index/shared/shared-list.c:
	lib-storage: Fixed crash if shared namespace had subscriptions=yes
	[6f5b14d4ad56]

	* src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
	lib-storage: Added mailbox_list_get_settings()
	[304cd3067061]

	* src/doveadm/dsync/dsync-brain.c:
	dsync: Use fcntl() locking instead of flock().
	[b436c1f6bd06]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	Compiler warning fix
	[b839613c1573]

	* src/plugins/acl/acl-lookup-dict.c:
	acl: Don't crash when rebuilding acl dict for "unusable" namespaces.
	[d211174a2392]

2013-03-21  Timo Sirainen  <tss@iki.fi>

	* src/login-common/client-common-auth.c:
	login proxy: Set a default 30s timeout.
	[9439a43bd645]

	* src/login-common/login-proxy.c:
	login proxy: Stop proxy_timeout only after successfully logged in
	(not after connected).
	[a4ea6946c621]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	mailbox.c, src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync
	/dsync-brain-private.h, src/doveadm/dsync/dsync-brain.c,
	src/doveadm/dsync/dsync-brain.h:
	dsync: -m '' parameter now syncs mailbox list, but no actual mails.
	[38774adaddaf]

2013-03-20  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 11bd79bf4866
	[f722e60f9811]

	* .hgtags:
	Added tag 2.2.rc3 for changeset 11bd79bf4866
	[fe8f92d44f56]

	* NEWS, configure.ac:
	Released v2.2.rc3.
	[11bd79bf4866] [2.2.rc3]

	* src/auth/mech-scram-sha1.c, src/doveadm/doveadm-pw.c, src/lib-mail
	/message-decoder.c, src/lib-settings/settings-parser.c, src/lib-
	storage/index/dbox-common/dbox-save.c, src/lib-storage/mail-storage-
	settings.c, src/plugins/fts/fts-api.c:
	Merged changes from v2.1 tree.
	[f874733b4029]

	* src/doveadm/doveadm-pw.c:
	doveadm pw -t: Don't ask for password if -p is also specified. Patch
	by Paul Wallingford.
	[e511408bd991]

	* src/plugins/fts/fts-api.c:
	fts: Fixed crash when searching virtual mailboxes and fts backend
	without lookup_multi(). Patch by Mike Abbott / Apple
	[87a9eec10145]

2013-03-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-common/dbox-save.c:
	dbox: Crashfix on some failed save error conditions.
	[a7928075f0fd]

	* src/lib-settings/settings-parser.c:
	lib-settings: Improved error messages when config server disconnects
	too early.
	[09fcb43c47a4]

2013-02-27  Timo Sirainen  <tss@iki.fi>

	* src/lib-mail/message-decoder.c:
	message-decode: Minor fix to previous change. The == condition
	should probably never happen, but handle it anyway.
	[311371856dcf]

	* src/lib-mail/message-decoder.c:
	message-decoder: Fixed assert-crash when trying to decode partial
	character twice.
	[cf7b590d19f9]

2013-02-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-settings.c:
	lib-storage: If namespace has disabled=yes, don't verify alias_for
	validity.
	[a46951762a27]

	* src/auth/mech-scram-sha1.c:
	scram-sha1: Support authzid field. Check fields' correctness better.
	[0af0def22533]

2013-03-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/list
	/mailbox-list-subscriptions.c:
	mbox: Moved .subscriptions back to control_dir/ root instead of
	control_dir/.imap/
	[9a913c803608]

	* src/lib-storage/list/mailbox-list-fs.c:
	layout=fs: Fixed crash with mbox when control dir was enabled.
	[f39c649057ea]

	* src/doveadm/dsync/dsync-mailbox-export.c:
	dsync: Fixed retrying a search when GUIDs aren't available.
	[3d5a065e18bb]

	* src/doveadm/dsync/dsync-brain-mails.c:
	dsync: Avoid a creating a lot of searches for each synced mailbox.
	[1a5a0b7cf37a]

	* src/doveadm/dsync/dsync-ibc.c, src/doveadm/dsync/dsync-mail.h,
	src/doveadm/dsync/dsync-mailbox-export.c:
	dsync: Don't crash when requested mail doesn't have a GUID.
	[19ce7403114f]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs: Fixed assert-crash when mail root doesn't exist (pop3c).
	[fb934cb4a37e]

	* src/imap/imap-fetch-body.c, src/lib-imap-storage/imap-msgpart.c:
	imap: Don't crash with invalid FETCH BODY[sections]
	[ab434891f2af]

	* doc/example-config/conf.d/10-mail.conf:
	example-config: Removed a warning about mail_attachment_dir not
	being tested.
	[1ae6a51450f2]

	* src/lib-lda/lmtp-client.c:
	lib-lda: Send QUIT after DATA replies have been received.
	[b61be8a47126]

	* src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-
	backend-vfile.c:
	acl: Put ACL files to control dir if storage doesn't have a mail
	directory.
	[abd9763e91d1]

	* src/lib-storage/list/mailbox-list-index-backend.c:
	layout=index: Fixed mailbox_exists()
	[c742a7bf48a6]

	* src/imap/cmd-resetkey.c:
	imap: Fixed RESETKEY assert-crashing
	[8bacc34cead9]

	* src/lib-storage/list/mailbox-list-index-backend.c:
	layout=index: Don't return a path for \Noselect mailboxes.
	[4649782a4213]

	* src/lib-storage/mail-storage.c:
	lib-storage: mailbox_rename() shouldn't require source mailbox to
	exist. \Noselect mailboxes may not exist. The nonexistence will be
	noticed eventually in the backend code.
	[d44ae1527bc0]

	* src/lib-fs/fs-api.c:
	lib-fs: Fixed fs_default_copy() to work with async writes.
	[653d81709dd0]

	* src/replication/replicator/Makefile.am, src/replication/replicator
	/doveadm-connection.c, src/replication/replicator/doveadm-
	connection.h, src/replication/replicator/dsync-client.c,
	src/replication/replicator/dsync-client.h,
	src/replication/replicator/replicator-brain.c:
	replicator: Renamed doveadm-connection to dsync-client.
	[fccd79d41d37]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixed attribute value comparisons.
	[8b5c098cbd0f]

2013-03-19  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-mailbox.c:
	Compiler warning fix.
	[a4c01707feb7]

	* src/lib-storage/mail-storage-hooks.c, src/lib-storage/mail-storage-
	hooks.h, src/lib-storage/mail-storage-private.h:
	lib-storage: Added a way to create plugins that forcibly hook into
	mail storage. Mostly meant for doveadm_sieve plugin.
	[7a334ebc0145]

	* src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync/dsync-ibc-
	stream.c, src/doveadm/dsync/dsync-mailbox-export.c,
	src/doveadm/dsync/dsync-mailbox-import.c, src/doveadm/dsync/dsync-
	mailbox.c, src/doveadm/dsync/dsync-mailbox.h, src/lib-storage/index
	/index-attribute.c, src/lib-storage/mail-storage.c, src/lib-storage
	/mail-storage.h, src/plugins/acl/acl-attributes.c:
	lib-storage: Mailbox attributes can now be accessed via istreams.
	The idea is to use istreams for larger values.
	[0e5a359b7b7f]

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Fixed sending mailbox attributes with stream ibc.
	[46b223892373]

	* src/doveadm/dsync/dsync-brain-mails.c:
	dsync: Mail requests were lost when attributes were being synced.
	[ccba138bc1c6]

	* src/plugins/acl/acl-attributes.c:
	acl: Don't iterate ACL attributes if prefix has no chance of
	matching them.
	[64c0449b8fec]

	* src/plugins/acl/acl-api.h, src/plugins/acl/acl-attributes.c,
	src/plugins/acl/acl-backend-vfile.c:
	acl: Preserve dovecot-acl file's mtime when dsyncing.
	[394e1c6f0aaf]

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Don't unnecessarily rewrite dovecot-acl file when re-adding the
	same ACL.
	[45999b94692c]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Set last_change timestamp for unset attributes.
	[3e4c4f9c230b]

	* src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Allow mailbox_attribute_set() to also unset values.
	This allows giving the last_change timestamp also when unsetting.
	[cdfc9f30b482]

	* src/doveadm/dsync/dsync-mailbox-import.c, src/lib-imap-urlauth/imap-
	urlauth-backend.c, src/lib-storage/index/index-attribute.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail-
	storage.h, src/plugins/acl/acl-attributes.c, src/plugins/acl/acl-
	storage.h:
	lib-storage: mailbox_attribute_set() now uses struct
	mail_attribute_value. This allows settig the last_change value, as
	well as using streams and setting other flags in future.
	[2396eb0a3e3f]

	* src/lib/net.c, src/lib/net.h:
	net_is_in_network(): Don't assert-crash with invalid IP. It's
	probably better to do the check here instead of remembering for
	caller to do the check.
	[790bb5dfadc6]

	* src/lib/test-json-parser.c:
	test-json-parser: Fixed failing test with some non-gcc/clang
	compilers.
	[ea6636b36b1c]

	* src/auth/db-ldap.c:
	ldap auth: Removed base() wrapper around @dn values. The idea was to
	provide extensibility, but it can better be done with LDAP URLs.
	[5b975ddc1c9a]

	* src/lib-fs/Makefile.am, src/lib-fs/fs-test.c:
	lib-fs: fs-test now sets the ssl_client_set.ca_dir
	[70dd78cd89ab]

	* src/doveadm/doveadm-settings.c, src/doveadm/doveadm-settings.h,
	src/doveadm/dsync/doveadm-dsync.c, src/lib-storage/index/imapc
	/imapc-settings.c, src/lib-storage/index/imapc/imapc-settings.h, src
	/lib-storage/index/imapc/imapc-storage.c, src/lib-
	storage/index/pop3c/pop3c-settings.c, src/lib-storage/index/pop3c
	/pop3c-settings.h, src/lib-storage/index/pop3c/pop3c-storage.c, src
	/lib-storage/mail-storage-settings.c, src/lib-storage/mail-storage-
	settings.h:
	Moved ssl_client_ca_dir and ssl_crypto_device to
	mail_storage_settings. Probably could also be moved to
	master_service_settings, but that makes accessing them a bit more
	tricky with the current code.
	[cf9f36e8ada0]

	* src/lib-fs/fs-api.h:
	lib-fs: Allow passing through SSL client settings via struct
	fs_settings.
	[aa255de644d0]

2013-03-18  Timo Sirainen  <tss@iki.fi>

	* src/auth/db-ldap.c, src/auth/db-ldap.h:
	ldap auth: "!ldapField" now requests the given field, but doesn't
	return it directly. It's only useful for listing fields that
	%{ldap_ptr} can potentially access.
	[16a410a546de]

	* src/auth/db-ldap.c:
	ldap auth: Added %{ldap_ptr:realAttr} to get the value from the
	realAttr. For example:

	password_attrs = \ =proxy=y, \ =host=%{ldap_ptr:activeHost}, \
	primaryHost, secondaryHost

	Where activeHost's value is either "primaryHost" or "secondaryHost".
	[b6986edec17f]

	* src/auth/db-ldap.c:
	ldap auth: Fix to previous change.
	[0b33047566a9]

	* src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/passdb-ldap.c,
	src/auth/userdb-ldap.c:
	ldap auth: Support field values containing DNs to other LDAP records
	and getting them. For example:

	user_attrs = \ =user=%{ldap:uid}, \ @mail=base(%{ldap:mailDN}),
	\ =uid=%{ldap:uidNumber@mail}, \ =gid=%{ldap:gidNumber@mail}, \
	=home=%{ldap:rootPath@mail}/%d/%n

	This first does the regular lookup, and then does another lookup
	using mailDN's value as the new lookup's base. The other lookup's
	filter is currently hardcoded to "no filter".
	[07a52d0edd46]

	* src/auth/auth-fields.c, src/auth/auth-fields.h, src/auth/auth-
	request-handler.c:
	auth: Return "nologin" and "proxy" fields to login process without
	"=value".
	[d7d7cbcc2b67]

	* src/lib-master/master-service.h:
	Compiling fix for Solaris
	[1728871f6d21]

	* src/lib-mail/istream-qp-decoder.c:
	istream-qp-decoder: Fixed assert-crashing with buffer size
	allocations. The original implementation was copy&pasted from
	istream-base64-decoder without enough thinking..
	[ee7352f46d1e]

	* src/lib-mail/quoted-printable.c, src/lib-mail/test-quoted-
	printable.c:
	quoted-printable decoding: Don't add CR if it wasn't in input. This
	guarantees that the decoded Q-P won't be larger than its input.
	[689dbeadf168]

2013-03-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-service.h:
	lib-master: include unistd.h for master_getopt() users.
	[69c26a9e3be5]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	Compile fix on non-gcc/clang.
	[5f14a12a1700]

	* src/lib/istream-chain.c:
	Compile fix on non-gcc/clang.
	[afdad7fbe8a6]

2013-03-14  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/Makefile.am, src/plugins/acl/acl-api-private.h,
	src/plugins/acl/acl-api.c, src/plugins/acl/acl-api.h,
	src/plugins/acl/acl-attributes.c, src/plugins/acl/acl-backend-
	vfile.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-
	plugin.h, src/plugins/acl/acl-storage.h, src/plugins/acl/doveadm-
	acl.c, src/plugins/imap-acl/imap-acl-plugin.c:
	acl: Added ACL checks for attributes. Added ACL <-> mailbox
	attribute mapping. The ACL checks will be useful once IMAP METADATA
	extension is finished. The mapping is used by dsync to sync ACLs via
	generic attribute syncing.
	[3ba8fa6d3cc2]

	* src/doveadm/dsync/Makefile.am, src/doveadm/dsync/dsync-brain-
	mailbox.c, src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync
	/dsync-brain-private.h, src/doveadm/dsync/dsync-ibc-pipe.c,
	src/doveadm/dsync/dsync-ibc-private.h, src/doveadm/dsync/dsync-ibc-
	stream.c, src/doveadm/dsync/dsync-ibc.c, src/doveadm/dsync/dsync-
	ibc.h, src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync
	/dsync-mailbox-export.h, src/doveadm/dsync/dsync-mailbox-import.c,
	src/doveadm/dsync/dsync-mailbox-import.h, src/doveadm/dsync/dsync-
	mailbox.c, src/doveadm/dsync/dsync-mailbox.h, src/doveadm/dsync
	/dsync-transaction-log-scan.c, src/doveadm/dsync/dsync-transaction-
	log-scan.h:
	dsync: Added support for syncing mailbox attributes.
	[c6082de4bf5b]

	* src/lib-imap-urlauth/imap-urlauth-backend.c, src/lib-storage/index
	/index-attribute.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/index-
	transaction.c, src/lib-storage/mail-storage-private.h, src/lib-
	storage/mail-storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Changed mailbox_attribute_get/set() APIs to have a
	transaction and update index. The _get() doesn't currently actually
	use the transaction. It was mainly put there for future use where it
	could be useful. It's also possible that _iter() will need a
	transaction also. For now these decisions seem good enough.
	[f3cd9e5cbe99]

	* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-modseq.c,
	src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index-
	transaction-export.c, src/lib-index/mail-index-transaction-
	private.h, src/lib-index/mail-index-transaction-update.c, src/lib-
	index/mail-index.h, src/lib-index/mail-transaction-log-file.c, src
	/lib-index/mail-transaction-log-view.c, src/lib-index/mail-
	transaction-log.h:
	lib-index: mail_index_attribute_[un]set() adds changed attributes'
	keys to transaction log. This provides them both a modseq (so their
	changes become visible) as well as an efficient way to see what
	attributes have changed by reading the transaction log. The values
	themselves aren't written to the log, because they could be large.
	[db0136374bb0]

	* src/lib-master/master-service.c, src/lib-master/master-service.h:
	lib-master: Added version_string_verify_full()
	[9a8eaf97559d]

	* src/lib-mail/test-istream-dot.c:
	istream-dot unit test updated.
	[e5b5e2ce7578]

2013-03-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-compression/istream-bzlib.c, src/lib-compression/istream-
	zlib.c, src/lib-compression/ostream-bzlib.c, src/lib-compression
	/ostream-zlib.c, src/lib-fs/ostream-cmp.c, src/lib-http/http-
	transfer-chunked.c, src/lib-mail/istream-attachment-extractor.c, src
	/lib-mail/istream-binary-converter.c, src/lib-ssl-iostream/istream-
	openssl.c, src/lib-ssl-iostream/ostream-openssl.c, src/lib/iostream-
	private.h, src/lib/iostream-temp.c, src/lib/iostream.c, src/lib
	/istream-concat.c, src/lib/istream-file.c, src/lib/istream-mmap.c,
	src/lib/istream-rawlog.c, src/lib/istream-seekable.c, src/lib
	/istream-tee.c, src/lib/istream.c, src/lib/istream.h, src/lib
	/ostream-file.c, src/lib/ostream-rawlog.c, src/lib/ostream.c,
	src/lib/ostream.h:
	iostreams: Added close_parent flag to close() handler and clarified
	close/destroy APIs. This makes it unambiguous how things work:
	Unless you explicitly call [io]_stream_close(), the parent streams
	won't be closed. This is what most (hopefully all!) of the existing
	code expects.

	I was wondering a bit if [io]_stream_destroy() should simply have
	been removed and replaced with [io]_stream_unref() calls, since they
	would have worked basically everywhere, but there might be some
	places where it's better to have explicitly closed the stream (and
	where closing the parent stream doesn't matter).
	[6cabb95d32ec]

	* doc/example-config/conf.d/15-lda.conf, src/lda/main.c, src/lib-lda
	/lda-settings.c, src/lmtp/commands.c:
	lda, lmtp: postmaster_address = postmaster@%d works now.
	[34d61f447433]

2013-03-11  Timo Sirainen  <tss@iki.fi>

	* src/lib-fs/fs-api.h:
	lib-fs: Fixed fs_delete() API description.
	[dc4be035a038]

	* src/plugins/acl/acl-backend.c:
	acl: Delay initializing default backend ACLs. This fixes a crash
	with LAYOUT=index.
	[20955c64bde3]

2013-03-10  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/solr-connection.c:
	fts-solr: Removed unnecessary code.
	[30baa62d8e72]

	* src/lib-http/http-client-connection.c:
	lib-http: Don't crash if request callback manages to get the
	connection destroyed.
	[5606f1a6cbc6]

	* src/lib-http/http-client-request.c:
	lib-http: Added assert.
	[81172305f1b2]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	private.h, src/lib-http/http-client-request.c, src/lib-http/http-
	client.h:
	lib-http: Callback can now request a retry with
	http_client_request_try_retry() This can be useful for handling "try
	again" errors from HTTP servers.
	[59572bce44fe]

	* src/lib-http/test-http-client.c:
	lib-http: Removed unnecessary code from test-http-client
	[7db226db28df]

	* src/lib-http/http-client-peer.c:
	lib-http: Free peer if it can't be connected to and it has no
	pending requests.
	[904f78e80fa5]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	peer.c, src/lib-http/http-client-private.h:
	lib-http: If host can't be connected to, don't keep retrying with
	more than one connection. This also fixes infinitely trying to
	reconnect to host and retry.
	[69407b54a557]

	* src/lib-http/http-client-connection.c:
	lib-http: If SSL connection gets lost, log the last SSL error.
	[0eaa4fddd61d]

	* src/lib-ssl-iostream/iostream-openssl-context.c:
	lib-ssl-iostream: Enable SSL_MODE_ENABLE_PARTIAL_WRITE
	[1a5414423958]

	* src/lib-ssl-iostream/ostream-openssl.c:
	lib-ssl-iostream: Fixed "bad write retry" errors when output had to
	be buffered.
	[09037e62447b]

	* src/lib/istream-rawlog.c, src/lib/ostream-rawlog.c:
	iostream-rawlog: Pass through close() to parent input/output stream.
	[01cfcf2b1c3c]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	peer.c:
	lib-http: Fixed hangs with urgent requests.
	[d3e3edf8f7eb]

	* src/lib-http/http-client-private.h, src/lib-http/http-client-
	request.c, src/lib-http/http-client.h:
	lib-http: Allow caller to find out what state a request is in.
	[5e63f628e3ca]

2013-03-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/http-client-request.c:
	lib-http: Send Content-Length whenever payload is specified, even if
	its size is 0.
	[0aea43f87c0b]

2013-03-06  Timo Sirainen  <tss@iki.fi>

	* src/lib/Makefile.am, src/lib/ostream-hash.c, src/lib/ostream-hash.h:
	Added ostream-hash for calculating a hash from data going through
	ostream.
	[7a08461c5559]

2013-03-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
	private.h:
	lib-http: Avoid hanging on urgent requests. Patch by Timo & Stephan.
	There are still some problems though, all urgent requests don't seem
	to get a new connection.
	[52e5d4186006]

	* src/lib-http/http-client-connection.c:
	lib-http: Fixed crash caused by previous change.
	[00ee7a8306c7]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	private.h, src/lib-http/http-client-request.c:
	lib-http: If we get disconnected, say exactly what the error was.
	[f89ebdc1625d]

	* src/lib/connection.c:
	connection: Give input/output streams a name.
	[194ec0e10f3a]

	* src/lib/connection.c:
	connection_list_deinit(): Set disconnect_reason correctly to
	CONNECTION_DISCONNECT_DEINIT
	[310c5ce38ef3]

	* src/lib-fs/istream-metawrap.c:
	lib-fs: istream-metawrap supports now seeking before reading the
	metadata.
	[3dcdbab51347]

	* src/lib-http/http-client.c:
	lib-http: Fixed http_client_wait() assert.
	[bdca6ecb5bb4]

	* src/lib/ioloop.c, src/lib/ioloop.h:
	Added io_loop_have_immediate_timeouts()
	[6daf58f568a0]

	* src/lib-http/http-client-host.c:
	lib-http: If connection was refused to a host, retry again on next
	request. Instead of never retrying again for the host.
	[a2d59816565d]

2013-03-04  Timo Sirainen  <tss@iki.fi>

	* src/util/tcpwrap.c:
	tcpwrap: Fixed crash at startup.
	[b5a1a40348b8]

	* src/lib-storage/index/raw/raw-storage.c:
	lib-storage: raw storage allows opening mails with absolute paths
	again. Fixed dovecot-lda -p parameter.
	[cda5cb307619]

	* src/doveadm/doveadm-zlib.c, src/lib-compression/compression.c:
	Fixed compiling without zlib.
	[65705d9d94f1]

2013-02-27  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-util.c:
	doveadm: Fixed connecting to UNIX sockets.
	[976bf9e69367]

	* src/plugins/acl/acl-backend-vfile-acllist.c:
	acl: Don't assert-crash on storages that have no root directory.
	[2020ed15efb9]

	* src/lib/ioloop.c:
	timeout_add_short(1) may have caused infinite looping.
	[2bbec4dadcb6]

	* src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync/dsync-
	brain-private.h, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync
	/dsync-ibc-private.h, src/doveadm/dsync/dsync-ibc-stream.c,
	src/doveadm/dsync/dsync-ibc.c, src/doveadm/dsync/dsync-ibc.h:
	dsync: If I/O gets stalled, log the state in which it happened.
	[f6377e089dee]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Fixed running dsync for multiple users within same command.
	[82ce71d8625c]

	* src/doveadm/dsync/dsync-mailbox-tree-fill.c:
	dsync: When changing duplicate mailbox GUIDs, choose the same
	mailbox on both sides.
	[1aa33a573234]

	* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
	dsync: Don't unnecessarily try to create all the mailboxes when they
	already exist.
	[fe170fd8168e]

	* src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
	/dsync-mailbox-tree-fill.c, src/doveadm/dsync/dsync-mailbox-tree.c,
	src/doveadm/dsync/dsync-mailbox-tree.h, src/doveadm/dsync/test-
	dsync-mailbox-tree-sync.c:
	dsync: Change duplicate local mailbox GUIDs if they're found.
	[6bebab0d5c02]

	* src/doveadm/dsync/dsync-mailbox-tree-fill.c:
	dsync: Skip mailbox aliases (symlinks) for now.
	[323b76127e3a]

2013-02-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c:
	lib-fs: If fs_read_stream() creates a seekable stream, keep it open
	for future reads.
	[d84c7c11d7b7]

	* src/lib/istream-seekable.c:
	istream-seekable: Don't forcibly close underlying streams when
	stream is destroyed. The underlying streams may still have
	references and be reused for other purposes.
	[9297e1fcbe9e]

	* src/lib-fs/istream-metawrap.c:
	istream-metawrap: Support seeking if underlying stream supports
	seeking
	[526cd348936a]

	* src/lib-fs/fs-api.c:
	fs-api: Fixed fs_copy() generic implementation's error messages
	[38b9ea9fef2c]

	* src/lib-http/http-client-peer.c, src/lib-http/http-client-private.h,
	src/lib-http/http-client.c:
	lib-http: Track peers using a linked list also. Mainly because this
	makes it much easier to debug using gdb. The overhead isn't that
	much extra either.
	[287e48607c96]

	* src/lib-fs/fs-metawrap.c:
	lib-fs: fs-metawrap should prefetch using the same file as it uses
	for reading.
	[2f8ccc958a6d]

	* src/lib-http/http-client.c:
	lib-http: Assert-crash in http_client_wait() if it's waiting without
	doing anything.
	[90d6ba26fb95]

	* src/lib/ioloop.c, src/lib/ioloop.h:
	Added io_loop_have_ios()
	[4517f9b201f2]

	* src/lib-http/http-client-host.c, src/lib-http/http-client-private.h,
	src/lib-http/http-client.c:
	lib-http: Track list of hosts using a linked list also.
	http_client_switch_ioloop() is done very often, and scanning a few
	entries in a linked list is much faster than going through a hash
	table.
	[4655adf5affc]

	* src/lib-storage/index/index-storage.c, src/lib-storage/mailbox-
	list.c:
	lib-storage: Write dovecot.mailbox.log entries using virtual names,
	not storage names. This file is used only by dsync, and the new
	dsync design uses only virtual names everywhere. This of course
	means that now it's not easily possible to use different virtual
	names for the same user, but nobody really did that before anyway.
	The only other fully working solution would be to send both the
	virtual and the storage names in dsync, but that's a bit of a waste.
	[b90a89ca840f]

	* src/doveadm/doveadm-util.c, src/doveadm/doveadm-util.h:
	doveadm: Improved deciding whether to use TCP or UNIX socket for a
	given name.
	[91631438abce]

	* src/lib-storage/mail-user.c:
	lib-storage: Never auto-remove the auto-created prefix="" namespace.
	[c9491a07998b]

	* src/auth/mech-scram-sha1.c:
	scram-sha1: Support authzid field. Check fields' correctness better.
	[2583040ca9aa]

2013-02-25  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset e62fa121f4a2
	[508e677af12d]

	* .hgtags:
	Added tag 2.2.rc2 for changeset e62fa121f4a2
	[98dbd335085a]

	* NEWS, configure.ac:
	Released v2.2.rc2.
	[e62fa121f4a2] [2.2.rc2]

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	lib-storage: Still more fixing to listing subscriptions.
	[ef7eb84d9a3a]

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	lib-storage: Fixed up previous subscription list change.
	[c8fc02c88cf6]

	* src/lib-master/master-service.c, src/lib-master/master-service.h,
	src/login-common/main.c:
	login: Don't fail at startup by trying to load SSL plugin.
	[effecdd32cb0]

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	lib-storage: Fixed listing subscriptions for namespaces with prefix.
	[e47910ee4459]

	* configure.ac:
	configure: Fixed plugins when compiling --with-shared-libs
	[1ad404473d81]

	* .hgsigs:
	Added signature for changeset 508d46f85815
	[1739a61bcd39]

	* .hgtags:
	Added tag 2.2.rc1 for changeset 508d46f85815
	[37126d25c614]

	* NEWS, configure.ac:
	Released v2.2.rc1.
	[508d46f85815] [2.2.rc1]

	* src/imap/cmd-list.c, src/indexer/indexer-worker.c, src/lib-dict
	/dict-client.c, src/lib-dict/dict-sql.c, src/lib-index/mail-
	transaction-log-file.c, src/lib-lda/duplicate.c, src/lib-
	storage/index/dbox-common/dbox-file-fix.c, src/lib-storage/index
	/dbox-common/dbox-file.h, src/lib-storage/index/dbox-multi/mdbox-
	storage-rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync-
	rebuild.c, src/lib-storage/index/index-status.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/index-sync.c,
	src/lib-storage/index/maildir/maildir-sync.c, src/lib-storage/mail-
	storage.c, src/lib/unichar.c, src/plugins/fts-solr/fts-backend-
	solr.c, src/plugins/fts/fts-build-mail.c,
	src/plugins/quota/Makefile.am:
	Merged changes from v2.1 tree.
	[d3815278ed19]

	* src/lib/unichar.c:
	Fixed checking UTF8 input validity.
	[fa9387588430]

	* src/lib-storage/index/maildir/maildir-sync.c:
	maildir: Preserve [SW]=sizes when renaming a maildir duplicate file.
	[cfd3f39102bd]

2013-02-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-storage.h, src/lib-storage/index/index-
	sync.c:
	lib-storage: Fixed setting \Recent flags for sessions that didn't
	drop them. If another session wasn't dropping the \Recent flags, no
	new mails were getting them unless the mailbox was reopened.
	[10c1eb4ddef2]

	* src/lib-storage/index/index-status.c:
	lib-storage: Fixed \Recent flag race conditions. The \Recent flags
	should only be set while locked within
	mail_index_sync_begin()..commit(). The following view syncing syncs
	only up to how far the index was synced, so it won't see any new
	messages that haven't yet been assigned a \Recent flag.
	[cd413ab7aeb3]

2013-02-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Fixed assert-crash on some error conditions.
	[e33fe1a7bb89]

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Truncate header if it's over 1 MB. Previously we just
	warned about it.
	[0a932ba1f01f]

	* src/lib-dict/dict-client.c:
	lib-dict: Fixed hang if async commit's callback did more dict
	access. Specifically this fixes a hang with dict-quota plugin when
	user didn't exist and quota was changed before calculating it.
	[225c64ed0439]

	* src/lib-lda/duplicate.c:
	lib-lda: Give a better error message if dotlocking duplicate db
	fails.
	[81ea622b6394]

	* src/lib-dict/dict-sql.c:
	dict-sql: Iterating with multiple SQL queries didn't free all the
	queries.
	[0e0fd4b5a582]

	* src/indexer/indexer-worker.c:
	indexer-worker: Fixed keeping config connection open before dropping
	root privileges. The initial settings reading doesn't really do
	anything, since the real settings are again read by mail-storage-
	service.
	[6d45b9bd1cff]

	* src/plugins/fts/fts-build-mail.c:
	fts: Don't send binary MIME parts to backend through UTF8 text
	conversion. Based on patch by Mike Abbott / Apple.
	[b0e68c53771e]

	* src/lib-storage/index/dbox-common/dbox-file-fix.c, src/lib-
	storage/index/dbox-common/dbox-file.h, src/lib-storage/index/dbox-
	multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-single
	/sdbox-sync-rebuild.c:
	mdbox: If m.X file has no mails, don't try to fix it infinitely in
	storage rebuild.
	[b91e1b94af21]

	* src/lib-storage/mail-storage.c:
	mdbox: Don't try to undelete any mailboxes in storage rebuild to
	avoid assert-crashes.
	[9cb64709dd8c]

	* src/plugins/quota/Makefile.am:
	quota-status: Fixed compiling with older autotools.
	[8ec52854e823]

2013-02-21  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-list.c:
	imap: Allocate LIST patterns from command pool so they don't get
	corrupted in long runs.
	[6c9b182d9a8c]

2013-02-25  Timo Sirainen  <tss@iki.fi>

	* TODO:
	TODO updated
	[539baf0adc2e]

	* src/lib/unichar.c:
	Fixed checking UTF8 input validity.
	[2aee41cd72b0]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync-server: Don't crash if connection didn't come from doveadm-
	server
	[c0deb3a9bb3d]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Minor code cleanup.
	[c20696d7ecb0]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Don't close stdin/stdout when not supposed to.
	[608d07701d54]

	* configure.ac, src/lib/hash-decl.h, src/lib/hash.h, src/lib/macros.h:
	Reverted the recent hash.h changes. Instead use -Wno-duplicate-decl-
	specifier with clang. The modified version required hash table users
	to know the structs' contents, which isn't otherwise necessary.
	[4baf0183f13d]

	* src/doveadm/doveadm-server.h, src/doveadm/doveadm-settings.c,
	src/doveadm/doveadm-settings.h, src/doveadm/dsync/Makefile.am,
	src/doveadm/dsync/doveadm-dsync.c, src/doveadm/server-connection.c,
	src/doveadm/server-connection.h:
	dsync: Added tcps (TCP+SSL) target.
	[95ecdd9e13bf]

	* src/doveadm/Makefile.am, src/doveadm/client-connection.c,
	src/doveadm/client-connection.h, src/doveadm/main.c:
	doveadm-server: Added support for ssl listeners.
	[9a7680fe65ce]

	* src/lib-storage/index/imapc/imapc-settings.c, src/lib-
	storage/index/imapc/imapc-settings.h, src/lib-storage/index/imapc
	/imapc-storage.c, src/lib-storage/index/pop3c/pop3c-settings.c, src
	/lib-storage/index/pop3c/pop3c-settings.h, src/lib-
	storage/index/pop3c/pop3c-storage.c:
	lib-storage: Replaced pop3c_ssl_ca_dir and imapc_ssl_ca_dir with
	generic ssl_client_ca_dir.
	[5998396f0928]

	* src/lib-master/master-service.c:
	lib-master: If ssl settings are used, initialize ssl context
	automatically.
	[6b0c284ecede]

	* src/lib-ssl-iostream/iostream-openssl-common.c:
	lib-ssl-iostream: Support wildcard certificates when verifying
	hostname.
	[ca262f790338]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/server-connection.c,
	src/doveadm/server-connection.h:
	dsync: Use iostreams instead of fd when receiving connection from
	doveadm-server.
	[1841a4b95783]

	* Makefile.am, configure.ac, dovecot-config.in.in,
	src/anvil/Makefile.am, src/auth/Makefile.am, src/config/Makefile.am,
	src/dict/Makefile.am, src/dns/Makefile.am, src/doveadm/Makefile.am,
	src/imap-urlauth/Makefile.am, src/imap/Makefile.am,
	src/indexer/Makefile.am, src/ipc/Makefile.am, src/lda/Makefile.am,
	src/lib-compression/Makefile.am, src/lib-sql/Makefile.am, src/lib-
	storage/Makefile.am, src/lmtp/Makefile.am,
	src/plugins/quota/Makefile.am, src/pop3/Makefile.am,
	src/replication/aggregator/Makefile.am,
	src/replication/replicator/Makefile.am, src/stats/Makefile.am,
	src/util/Makefile.am:
	MODULE_LIBS is now part of LIBDOVECOT. No need to explicitly link it
	everywhere.
	[217fb4ca9b5a]

	* configure.ac:
	configure: Fix previous commit & implement AC_C_TYPEOF ourself.
	RHEL5's autoconf was old enough to not have AC_C_TYPEOF.
	[61508a42a44b]

	* configure.ac:
	configure: Removed accidentally enabled clang -fsanitize options for
	now.
	[5be9659a2738]

2013-02-24  Timo Sirainen  <tss@iki.fi>

	* src/imap/Makefile.am, src/imap/cmd-uid.c, src/imap/imap-client.c,
	src/imap/imap-commands.c:
	imap: Handle UID commands without a wrapper UID command. This avoids
	calling command hooks once for UID command and again for the real
	command.
	[558b0b13779d]

	* src/doveadm/client-connection.c, src/doveadm/client-connection.h,
	src/doveadm/doveadm-mail.h, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/server-connection.c, src/doveadm/server-connection.h:
	dsync: Added tcp:host[:port] target for syncing via doveadm-server.
	[08edb5716823]

	* src/doveadm/server-connection.c:
	doveadm: If doveadm-server sends broken input, disconnect.
	[8e54e73bdade]

	* src/doveadm/doveadm-util.c, src/doveadm/doveadm-util.h, src/doveadm
	/server-connection.c:
	doveadm: When connecting to doveadm socket without :port, use
	doveadm_port setting.
	[b2bc9dd5f8d9]

	* src/doveadm/doveadm-mail-server.c, src/doveadm/doveadm-settings.c,
	src/doveadm/doveadm-settings.h:
	doveadm: Renamed doveadm_proxy_port setting to doveadm_port. There's
	still an alias for doveadm_proxy_port.
	[75d76f1b884d]

	* src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c:
	lmtp: Log a bit nicer message when client QUITs. I did think about
	removing the connect and successful disconnect messages entirely,
	but these may be useful when debugging problems with MTA.
	[df3da60fa137]

	* src/doveadm/dsync/dsync-brain-mailbox-tree.c:
	dsync: Always skip alias namespaces.
	[f5fb1ca222e3]

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge: If lazy_expunge_only_last_instance is set, copy only
	last instances of mails. Requires storage backend to support
	refcounts.
	[5c31615ce111]

	* src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index
	/dbox-single/sdbox-mail.c, src/lib-storage/index/index-mail.c, src
	/lib-storage/index/maildir/maildir-mail.c, src/lib-storage/mail-
	storage.h:
	lib-storage: Added MAIL_FETCH_REFCOUNT for getting mail's reference
	count. This is useful only for backends where mailbox_copy()
	increases the refcount. With maildir&sdbox it can be looked up from
	the file's link count. With mdbox the refcount is stored in the map
	index. Other formats don't currently implement this.
	[5e0c1ecad4a5]

	* src/lib-settings/settings-parser.c:
	lib-settings: Parse block names {} case-insensitively. This fixes
	namespace { mailbox foo { .. } } settings when they go through
	environment and get uppercased.
	[a4f82af20821]

	* src/imap/cmd-append.c:
	imap: Don't leak mailboxes on CATENATE errors.
	[514b8fc1e278]

	* src/lib-storage/index/index-mail.c:
	Compiler warning fix.
	[12f12add18d2]

	* src/lib/ostream-file.c:
	o_stream_send_istream(): Fixed copying when [io]streams neither have
	usable fds.
	[2747055fc91b]

	* src/imap/imap-commands-util.c, src/lib-index/mail-index-util.c:
	Avoid unsigned integer overflows.
	[94ebc333c47a]

	* src/imap/cmd-append.c:
	imap: Added assert+comment to give easier to understand error.
	[b0682d64a990]

	* src/lib-storage/index/index-mail.c:
	lib-storage: If mail saving is cancelled, don't check that all the
	input was read.
	[b787cf83bca8]

	* src/lib/str-find.c, src/lib/test-bsearch-insert-pos.c, src/lib/time-
	util.c:
	Avoid under/overflows in unsigned integer calculations.
	[f74bf0521d69]

	* src/lib/test-json-parser.c:
	test-json-parser: Don't access memory out of bounds.
	[573682b34a76]

	* src/lib/seq-range-array.c, src/lib/test-seq-range-array.c:
	seq_range_array_add(): Fixed handling sequence ranges that contain
	zeros.
	[db0ada89b81a]

	* src/lib/istream-crlf.c:
	Avoid overflow error from clang -fsanitize=integer.
	[11858b3dbd84]

	* src/lib-index/mail-index-sync.c:
	lib-index: Don't unnecessarily update dovecot.index again after log
	rotation.
	[76f576fc28dc]

	* configure.ac, src/anvil/anvil-settings.c, src/auth/db-ldap.c,
	src/config/doveconf.c, src/director/director-settings.c,
	src/director/doveadm-connection.c, src/doveadm/doveadm-director.c,
	src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-stats.c, src
	/lib-auth/auth-master.c, src/lib-dict/dict-sql.c, src/lib-
	dict/dict.c, src/lib-http/http-client-peer.c, src/lib-imap/imap-
	envelope.c, src/lib-index/mail-cache-compress.c, src/lib-index/mail-
	cache-fields.c, src/lib-index/mail-cache-lookup.c, src/lib-index
	/mail-cache-transaction.c, src/lib-index/mail-cache.h, src/lib-index
	/mail-index-map.c, src/lib-index/mail-index-sync-keywords.c, src
	/lib-index/mail-index-sync.c, src/lib-index/mail-index.c, src/lib-
	index/mail-index.h, src/lib-index/mail-transaction-log-file.c, src
	/lib-mail/test-message-address.c, src/lib-master/master-service.c,
	src/lib-settings/settings-parser.c, src/lib-sql/driver-sqlpool.c,
	src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/index-
	mail-headers.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-rebuild.c, src/lib-storage/index/index-search.c,
	src/lib-storage/index/index-storage.c, src/lib-storage/index/maildir
	/maildir-uidlist.c, src/lib-storage/list/mailbox-list-index.c, src
	/lib-storage/list/mailbox-list-iter.c, src/lib-storage/mail-storage-
	hooks.c, src/lib-storage/mail-storage.c, src/lib/istream-concat.c,
	src/lib/priorityq.c, src/lib/strnum.c, src/lib/test-aqueue.c,
	src/lib/test-base64.c, src/lib/test-bsearch-insert-pos.c, src/lib
	/test-seq-range-array.c, src/lmtp/commands.c, src/log/log-
	settings.c, src/master/service-monitor.c, src/plugins/fts/fts-build-
	mail.c, src/plugins/quota/quota.c, src/replication/replicator
	/replicator-settings.c, src/stats/stats-settings.c:
	Replaced all -1U and (unsigned int)-1 with UINT_MAX. It's somewhat
	clearer this way. Also clang's -fsanitize=integer gives runtime
	errors about -1U (but not about explicit casts, so no need to change
	(type)-1 casts).
	[d3cf06639864]

	* src/doveadm/doveadm-mail-fetch.c:
	Compiler warning fix.
	[f1e8f8a73196]

	* src/lib/hash.h:
	Previous "duplicate const" fix accidentally deleted some checking
	code instead of fixing it.
	[ecd923186510]

	* src/lib/hash-decl.h, src/lib/hash.h, src/lib/macros.h:
	Fixed "duplicate const" warnings with new clang.
	[871154fc93f2]

	* src/lib-storage/mail-search-register-human.c:
	Minor code cleanup
	[88c325e81c7c]

	* configure.ac, src/lib/macros.h:
	Use proper HAVE_TYPEOF check instead of checking with gcc versions.
	[e2ffe53ac89c]

	* src/lib/test-json-parser.c:
	Compiler warning fix.
	[357b1f1285ea]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Don't log about remote dsync status if we're not doing a
	remote sync.
	[c05773011313]

2013-02-22  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-client-connection.c:
	auth_debug_passwords: Add a warning to AUTH/CONT lines about them
	having sensitive data.
	[0ceb0029a781]

	* src/pop3/pop3-client.c, src/pop3/pop3-client.h:
	pop3: Fixed infinite looping
	[dcbebe49922a]

	* configure.ac, src/plugins/quota/Makefile.am, src/plugins/quota
	/quota-fs.c, src/plugins/quota/quota-fs.h:
	quota-fs: Support NetBSD 6.0 libquota. Patch by Emmanuel Dreyfus.
	[b3f890c4a41c]

	* src/doveadm/doveadm-auth.c:
	doveadm user: Write an error if user doesn't exist.
	[bf817bc963f7]

	* src/config/doveconf.c:
	doveconf: Discourage using plain "doveconf" by recommending -n
	parameter in the output.
	[eb03b24ffa65]

	* src/auth/userdb-passwd.c:
	auth: userdb passwd iteration no longer skips shells. Some systems
	are using passwd for mail users with shell set to nologin. Maybe
	first_valid_uid check is good enough alone?
	[4eea2224e16b]

	* NEWS, doc/example-config/conf.d/10-mail.conf, src/lib-storage/mail-
	storage-settings.c:
	mail_shared_explicit_inbox: Switched the default from "yes" to "no".
	[c3d3d3360425]

	* src/auth/auth-request.c:
	auth: Use real_lip for proxy_maybe checks.
	[68c9d01ae5d2]

	* src/auth/auth-request.c, src/auth/auth-request.h, src/lib-auth/auth-
	client-request.c, src/lib-auth/auth-client.h, src/login-common
	/client-common.c, src/login-common/client-common.h, src/login-
	common/main.c, src/login-common/sasl-server.c:
	auth: Added real_[lr]ip, real_[lr]port variables. The unreal ones
	differ when a trusted proxy overrides them.
	[c43fcfa2c4b4]

	* src/imap-login/imap-proxy.c, src/lib-lda/lmtp-client.c, src/lib-lda
	/lmtp-client.h, src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src
	/login-common/login-proxy.c, src/pop3-login/pop3-proxy.c:
	proxying cleanup: Send TTL=1 (instead of TTL=0) as "no more
	proxying".
	[48c1c58948f5]

	* src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Make sure mailbox_get_open_status() can't be used with
	items that can fail.
	[8740056e9b2f]

	* src/doveadm/doveadm-mail-index.c, src/indexer/master-connection.c:
	doveadm, indexer: Don't crash if STATUS_LAST_CACHED_SEQ lookup
	fails. (I'm sure I did this change already once, where did it go?..)
	[994298d9c3d5]

	* src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Fixed assert-crash when saving mails if UIDs weren't
	assigned.
	[0158c7b2c5db]

2013-02-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-index.c:
	mailbox_list_index=yes: Don't crash if destroying list before its
	init finished.
	[3fb9a8bc35aa]

	* .hgsigs:
	Added signature for changeset 018de2aa893a
	[5c83eacce0de]

	* .hgtags:
	Added tag 2.2.beta2 for changeset 018de2aa893a
	[2a52cc85c67d]

	* configure.ac:
	Released v2.2.beta1.
	[018de2aa893a] [2.2.beta2]

2013-02-21  Stephan Bosch  <stephan@rename-it.nl>

	* src/lib-http/http-client-connection.c:
	lib-http: Fixed hanging on errors
	[fc9bfa8a3980]

2013-02-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/test-http-transfer.c, src/lib-storage/list/mailbox-
	list-fs-iter.c:
	Removed dead assignments.
	[fda302d15042]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Fixed hiding the "remote command returned error" message when
	it was unnecessary.
	[69af3ef3a482]

	* src/plugins/quota/Makefile.am:
	quota-status: Fixed compiling
	[87c206c1eaf4]

	* TODO:
	TODO updated
	[28f4d5a841e7]

	* .hgignore, dovecot-config.in.in, src/lib-storage/list/mailbox-list-
	fs-iter.c, src/login-common/ssl-proxy-openssl.c:
	Merged changes from v2.1 tree.
	[68e855648d92]

	* dovecot-config.in.in, src/plugins/quota/Makefile.am:
	Added quota plugin's headers to LIBDOVECOT_STORAGE_INCLUDE. This
	allows creating external plugins that depend on the quota plugin
	(similar to trash plugin).
	[20ea109b30a7]

2013-02-20  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/Makefile.am, src/plugins/quota/quota-status.c:
	quota-status: Load plugins after all. They may be needed for user
	initialization to work (e.g. virtual plugin) or maybe even for quota
	itself to work (external quota backend plugin).
	[f12f2f2f7459]

2013-02-19  Timo Sirainen  <tss@iki.fi>

	* .hgignore, src/plugins/quota/Makefile.am, src/plugins/quota/quota-
	status.c:
	Added quota-status service for asking if user is over quota.
	Implemented Postfix-compatible policy server protocol initially.
	Usage:

	service quota-status { executable = quota-status -p postfix
	unix_listener /var/spool/postfix/private/quota-status { user =
	postfix } client_limit = 1 }

	Postfix:

	smtpd_recipient_restrictions = ... check_policy_service
	unix:private/quota-status
	[980be1dc80c2]

2013-02-17  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	mbox: If namespace prefix is used, don't show <prefix>/inbox
	mailbox.
	[b96df105ec55]

2013-02-16  Timo Sirainen  <tss@iki.fi>

	* src/login-common/ssl-proxy-openssl.c:
	login-common: Updated obsolete login_process_size setting in error
	log message.
	[1713ffc870c1]

2013-02-21  Stephan Bosch  <stephan@rename-it.nl>

	* src/lib-http/http-client-peer.c, src/lib-http/http-response-
	parser.c, src/lib-http/test-http-client.c:
	lib-http: Minor improvements.
	[b0c4a5ce4933]

2013-02-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/http-client-request.c, src/lib-http/http-transfer-
	chunked.c:
	lib-http: Fixed hangs/crashes with chunked ostream. Based on patch
	by Stephan Bosch.
	[3b905464ea09]

	* src/lib-storage/list/mailbox-list-index.c:
	lib-storage: Fixed crash with mailbox_list_index=no
	[c945d06207b8]

2013-02-20  Stephan Bosch  <stephan@rename-it.nl>

	* src/lib-http/http-client-host.c:
	lib-http: Fixed hang with failed DNS lookups
	[fe24e69ea0c5]

2013-02-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-index-status.c, src/lib-
	storage/list/mailbox-list-index.c, src/lib-storage/list/mailbox-
	list-index.h:
	mailbox_list_index: Delay allocating the index so mbox can override
	the index path.
	[f703e1fd7c21]

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Fixed mailbox_update() to not shrink uidnext.
	[808a64899e8a]

	* src/plugins/acl/acl-api.c:
	acl: Skip ACLs if admin user flag is set (especially dsync).
	[8e992ae76c45]

	* src/plugins/acl/acl-mailbox.c:
	acl: If copy() doesn't have enough permissions, free
	mail_save_context properly.
	[cfdd31b26493]

	* src/lib-storage/mail-storage.c:
	lib-storage: Added more asserts to catch missing mail_save_context
	frees. Arguably mail_save_context could already freed at this time,
	but some other code relies on this as well. These could be removed
	later if this is no longer true.
	[990ff0e1eb6a]

	* src/lib-storage/mail-storage.c:
	lib-storage: If mailbox is deleted, mailbox_save_begin() should
	cancel mail_save_context.
	[e383647dc9dd]

	* src/lib-storage/index/index-storage.c, src/lib-storage/mail-
	storage.c:
	lib-storage: Reset saving/moving/copying_via_save flag between
	mail_save_context uses.
	[7df4ca451d2e]

	* src/lib-http/test-http-client.c:
	test-http-client: Added POST functionality also.
	[07dfd4391d22]

	* src/lib-http/test-http-client.c:
	test-http-client: If given a parameter, GET it.
	[98c86534d4b7]

	* src/lib-http/http-client-request.c, src/lib-http/http-client.c:
	lib-http: Avoid hanging in http_client_wait() while there's nothing
	to do.
	[164c70254dd0]

	* src/lib-http/http-client-request.c, src/lib-http/http-client.h,
	src/plugins/fts-solr/solr-connection.c:
	lib-http: Minor API change: Added
	http_client_request_finish_payload()
	[3bc84d6c9e8d]

	* src/lib-storage/list/mailbox-list-index-status.c:
	mailbox_list_index: Removed race conditions from index updates.
	[5a068b9c04a9]

	* src/lib-index/mail-index-sync.c:
	lib-index: Added assert.
	[61a61657d887]

2013-02-19  Timo Sirainen  <tss@iki.fi>

	* src/lib/hostpid.c:
	hostpid_init() should die if hostname is invalid. This was
	accidentally changes during last commit.
	[cce9a8ebb386]

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Give a better error message if index is readonly and log
	is tried to be locked.
	[d40e3bf2de89]

	* src/lib-storage/list/mailbox-list-index-backend.c:
	LAYOUT=index: Index is the only source for mailbox info, don't try
	any syncing with storage.
	[d977a746819d]

	* src/lib-storage/list/mailbox-list-index-backend.c, src/lib-
	storage/list/mailbox-list-index-status.c, src/lib-storage/list
	/mailbox-list-index.c, src/lib-storage/list/mailbox-list-index.h:
	lib-storage: Fixed mailbox_update() when using
	mailbox_list_index=yes
	[2529f4e12665]

	* src/lib/guid.c, src/lib/guid.h:
	Added guid_128_equals() helper function.
	[19e24db0bbd4]

	* src/auth/userdb-passwd-file.c:
	auth: Fix to previous change.
	[670e8d50ce73]

	* src/auth/userdb-passwd-file.c:
	auth: userdb passwd-file iteration now skips passdb-only entries if
	there are other userdbs.
	[0fc8856e24aa]

	* src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c:
	dsync: Added more debug logging.
	[2ee278eaa1e3]

	* src/auth/db-passwd-file.c, src/auth/userdb-passwd-file.c:
	auth: If user in passwd-file has no userdb info, userdb lookup now
	returns it as nonexistent.
	[31e48b4732a5]

	* src/doveadm/dsync/dsync-brain-mailbox.c:
	dsync: Improved debug output.
	[ff56652304dd]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Assert-crashfix for handling conflicting private flags.
	[7f5c29a81f03]

	* src/plugins/replication/replication-plugin.c:
	replicator plugin: And crashfix for the previous change..
	[c79e5ff5e30d]

	* src/plugins/replication/replication-plugin.c:
	replication plugin: Notify replicator also for changes in public
	mailboxes.
	[556d05100810]

	* src/lib-storage/index/index-sync-pvt.c:
	lib-storage: Copy initial private message flags from shared flags
	for public mailboxes.
	[0e236dd1bad3]

	* src/replication/replicator/doveadm-connection.c:
	replicator: Use -N parameter for dsync (replicate all visible
	namespaces).
	[fc2dca0b54c5]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	mailbox-tree.c, src/doveadm/dsync/dsync-brain-private.h,
	src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-brain.h,
	src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Renamed -a parameter to -N. It also now skips invisible
	namespaces.
	[607758d425e7]

	* src/lib-storage/index/index-sync-private.h, src/lib-storage/index
	/index-sync-pvt.c, src/lib-storage/index/index-sync.c, src/lib-
	storage/index/index-transaction.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/plugins/acl/acl-
	mailbox.c, src/plugins/virtual/virtual-save.c:
	lib-storage: Saving/copying no longer discards private message
	flags.
	[02529503c59c]

	* src/log/log-connection.c:
	log: Recent log parser change started logging "Invalid log line"
	errors unintentionally.
	[be857a95b381]

2013-02-18  Timo Sirainen  <tss@iki.fi>

	* src/log/log-connection.c:
	log: Don't crash if log client sends line with pid=0.
	[3ca7e0eaaf4b]

	* src/lib/hostpid.c:
	my_hostname was broken because of recent change.
	[19e4448dee4f]

	* src/config/doveconf.c:
	doveconf: Added -H parameter to check for hostname hash duplicates.
	[62a930eb22b5]

	* src/lib/guid.c, src/lib/guid.h:
	Added guid_128_host_hash_get().
	[80344aedd8fd]

	* src/lib/hostpid.c, src/lib/hostpid.h, src/master/service-process.c:
	Master looks up system hostdomain now and sends it to child
	processes via environment. This avoids doing a gethostbyname()
	lookup at startup for each process that needs it.
	[a6b40687c0a4]

	* src/master/main.c:
	master: Don't close stderr. If log process fails at startup, the
	errors are logged there.
	[cc681437372a]

	* src/lib/hostpid.c, src/lib/hostpid.h, src/lib/lib.c:
	Free my_hostdomain at deinit.
	[420477745a17]

	* doc/example-config/conf.d/15-lda.conf:
	example-config: Updated hostname setting's comments.
	[6a67a1440e15]

	* src/doveadm/dsync/dsync-brain.c:
	dsync: Fix to checking which side should do the locking.
	[df29194c1ab6]

2013-02-17  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixes to handling local changes during dsync.
	[953594b35bb3]

	* src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c:
	dsync: Fail if changing mailbox GUID update doesn't work.
	[945ea8abe713]

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: Fixed mailbox_update() for changing mailbox GUID.
	[7d1479aa534b]

	* src/lib-index/mail-index-map-hdr.c, src/lib-index/mail-index.h:
	lib-index: Make sure unused_old_sync_* fields are cleared in header
	in old inedx files.
	[1dd1e88ba0a2]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixed infinite loop in importer.
	[e7396c0f7f66]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Improved unexpected error logging.
	[9c095a50ba3e]

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: Don't try to preserve old filename when saving if uidlist
	couldn't be locked.
	[e07a8b17af8b]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: If we see old maildir file reappear, re-read uidlist before
	logging error. Sometimes the old file gets added back intentionally
	and the dovecot-uidlist is recreated (if necessary) to give it a new
	UID. Existing processes should handle this situation.
	[c92ebbedc6f9]

	* src/doveadm/dsync/dsync-brain.c:
	dsync: If locking fails, fail instead of continuing.
	[adb9857a3879]

	* src/doveadm/dsync/dsync-brain.c:
	dsync: Use full hostname+domain when comparing if hosts are
	different in locking.
	[e7aabd79c9d5]

2013-02-16  Timo Sirainen  <tss@iki.fi>

	* .hgsigs, .hgtags, NEWS, configure.ac, src/auth/auth-request.c,
	src/imap/imap-client.c, src/lib-index/mail-cache-fields.c, src/lib-
	index/mail-cache-lookup.c, src/lib-index/mail-cache-sync-update.c,
	src/lib-index/mail-cache.c, src/lib-ssl-iostream/istream-openssl.c,
	src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-
	multi/mdbox-storage-rebuild.c, src/lib-storage/index/index-mail-
	headers.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-mail.h, src/lib-storage/mail-storage.c, src/lib/Makefile.am,
	src/lib/buffer.c, src/lib/iostream-rawlog.c, src/lib/istream-tee.c,
	src/lib/istream.c, src/lib/str.c, src/lib/test-lib.c, src/lib/test-
	lib.h, src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c,
	src/plugins/acl/doveadm-acl.c:
	Merged changes from v2.1 tree.
	[e63d1cf19ec7]

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: mailbox_copy() didn't properly free the save context.
	[dd0eebe378fe]

2013-02-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Crashfix for storage rebuild
	[2def25f07ca6]

	* .hgsigs:
	Added signature for changeset fc75811f3c08
	[26fa19903dcd]

	* .hgtags:
	Added tag 2.1.15 for changeset fc75811f3c08
	[5fe181f1497a]

	* NEWS, configure.in:
	Released v2.1.15.
	[fc75811f3c08] [2.1.15]

2013-02-06  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage.c:
	lib-storage: Convert INBOX to uppercase also when namespace has
	inbox=no. This fixes assert-crash in
	mailbox_check_mismatching_separators().
	[3ec0d772be49]

	* src/lib-index/mail-cache.c:
	lib-index: Avoid assert-crashing later if mmap(dovecot.index.cache)
	fails.
	[a54f749f5a44]

2013-02-05  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c:
	lmtp: If verbose_proctitle=yes, update the process state in the
	title.
	[63117ab893dc]

2013-02-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-cache.c:
	lib-index: Bug in cache file size verification caused the whole
	cache file to be mapped.
	[443ff272317f]

	* src/lib-storage/index/index-mail.c:
	lib-storage: If message parser's input stream is closed early, don't
	treat it as error. This seems to happen sometimes during message
	saving(?), although I'm not exactly sure why. In any case it
	shouldn't log an error about it. This behavior is probably better
	than failing. The caller should be the one to figure out if saving
	has failed or not.
	[b15a98fd8e15]

	* src/imap/imap-client.c:
	imap: Set [io]stream name for imap client connections.
	[23fb615c3628]

	* src/lib/istream-tee.c:
	istream-tee: Copy the parent stream's name to child streams.
	[eb117a619075]

	* src/lib/istream.c:
	i_stream_close(): Set stream_errno to EPIPE instead of ENOENT.
	[93633121bc9d]

2013-02-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-common/dbox-storage.c:
	dbox: Fail if trying to create a mailbox that already exists.
	[004b69090776]

2013-01-31  Timo Sirainen  <tss@iki.fi>

	* src/lib-ssl-iostream/istream-openssl.c:
	lib-ssl-iostream: Pass the plain istream's fd to ssl_istream.
	[bf80034a547d]

	* src/lib/iostream-rawlog.c:
	iostream-rawlog: Ignore 0 byte writes instead of assert-crashing.
	[f35a8649634c]

	* src/auth/auth-request.c:
	auth: Removed assert-checks, allowing plugins to set
	skip_password_check.
	[5751963a3be8]

2013-01-30  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset b314c97d4bbf
	[57eb9a6ac6c0]

	* .hgtags:
	Added tag 2.1.14 for changeset b314c97d4bbf
	[49e85db52ae4]

	* NEWS, configure.in:
	Released v2.1.14.
	[b314c97d4bbf] [2.1.14]

2013-01-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache-sync-
	update.c, src/lib-index/mail-cache.c:
	lib-index: Fixed invalidating buffered cache file with
	map_with_read.
	[0b0399f1b6aa]

2013-01-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache.c:
	lib-index: Fixes to handling broken cache records that point outside
	file. Especially try to avoid failing by trying to allocate
	gigabytes of memory.
	[99b7be36631b]

	* src/lib-storage/index/index-mail-headers.c, src/lib-storage/index
	/index-mail.c, src/lib-storage/index/index-mail.h:
	lib-storage: Catch input stream errors when parsing mail.
	[2b76d357a56a]

2013-01-15  Timo Sirainen  <tss@iki.fi>

	* src/lib/Makefile.am, src/lib/buffer.c, src/lib/str.c, src/lib/test-
	lib.c, src/lib/test-lib.h, src/lib/test-str.c:
	buffer: Always keep +1 byte available for str_c()'s NUL.
	[c762a9af72c1]

2013-01-14  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/doveadm-acl.c:
	doveadm acl: Added "recalc" command to rebuild acl_lookup_dict for
	the user.
	[6bee6d0c611f]

2013-02-16  Timo Sirainen  <tss@iki.fi>

	* NEWS:
	NEWS file updated.
	[890b5b52ffd0]

	* doc/example-config/conf.d/20-pop3.conf, src/pop3/pop3-client.c,
	src/pop3/pop3-client.h:
	pop3_lock_session: Use a separate dovecot-pop3-session.lock file
	instead of mailbox lock. This changes the behavior in a way that
	it's now possible for IMAP sessions to expunge mails during a POP3
	session. But now it's no longer possible for POP3 sessions to hang
	new mail deliveries.
	[473c0389eb10]

	* src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h:
	pop3: Minor code cleanup
	[35194cf0693e]

	* README, src/pop3-login/client-authenticate.c,
	src/pop3-login/client.c, src/pop3-login/client.h, src/pop3/main.c,
	src/pop3/pop3-capability.h, src/pop3/pop3-client.c:
	pop3: Use RFC 3206 [SYS/*] and [AUTH] response codes.
	[7e292b8352d9]

	* src/pop3/pop3-client.c:
	pop3: Code cleanup: INBOX always exists, no need to check for it
	here.
	[928deb8a0b8c]

	* src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync/dsync-ibc-
	stream.c, src/doveadm/dsync/dsync-mailbox-state.h:
	dsync: Merge last-common-* values from both local and remote when
	they differ.
	[502a50925641]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	private.h, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-
	brain.h, src/doveadm/dsync/dsync-ibc-stream.c, src/doveadm/dsync
	/dsync-ibc.h:
	dsync: -l parameter locking is now done on the server with "lower"
	hostname. This allows running multi-master replication on two
	servers without two dsyncs mixing up changes by running at the same
	time.
	[6f024e0289da]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: If unexpected changes happen during sync, return a safe last-
	common-uid for state.
	[5a3586ffc644]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Don't hide the final error messages from remote.
	[e4aba707f867]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixed last-common-uid lookup when local UID was expunged but
	remote wasn't.
	[4e90a6911b26]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Assert-crashfix for previous importer changes.
	[e49424a3b13e]

	* src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache-
	transaction.c:
	lib-index: Avoid getting expunged-status in index lookups when not
	necessary. This especially improves dsync performance.
	[a709ae98a728]

	* src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index
	/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-
	save.c, src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c,
	src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-
	storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox/mbox-
	sync.c, src/plugins/virtual/virtual-mail.c, src/plugins/virtual
	/virtual-search.c, src/plugins/virtual/virtual-sync.c:
	mdbox, mbox, virtual: Avoid getting expunged-status in index lookups
	when not necessary. This especially improves dsync performance with
	mdbox.
	[e3eaa8303987]

	* src/lib-index/mail-index-transaction-view.c, src/lib-index/mail-
	index-view.c:
	lib-index: Don't lookup mail's expunge-state in transaction log view
	if caller doesn't care. This was especially bad with dsync, which
	could trigger sorting of the expunges array each time after
	processing a mail (= potentially tens of thousands of sorts).
	[f9b1aaf844c8]

	* src/lib-storage/index/index-storage.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c:
	lib-storage: Assert-crash if mailbox_save_context isn't properly
	freed before reusing.
	[9847164c6fd7]

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: mailbox_copy() didn't properly free the save context.
	[2cf0049a8e75]

	* src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync/dsync-
	mailbox-import.c, src/doveadm/dsync/dsync-mailbox-import.h:
	dsync: Various importer fixes.
	[360661d99c42]

	* src/plugins/fts-solr/solr-connection.c:
	fts-solr: Don't assert-crash on failures.
	[e247f3a74947]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Avoid possibly long function recursion.
	[516a337480f4]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Don't log "remote failed with 75" if we already logged an
	error from remote. This reduces number of log lines when dsync
	fails.
	[77ef526e6a0a]

	* src/doveadm/dsync/dsync-brain-mails.c:
	dsync: Don't log a redundant "importing mailbox failed" error.
	[5ff6ff443b4c]

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Don't log read() failed: EOF when remote intentionally fails
	early.
	[93a8a32adfd8]

	* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	brain-mails.c, src/doveadm/dsync/dsync-mail.c, src/doveadm/dsync
	/dsync-mail.h, src/doveadm/dsync/dsync-mailbox-export.c,
	src/doveadm/dsync/dsync-mailbox-import.c, src/doveadm/dsync/dsync-
	mailbox-import.h:
	dsync: Various importer fixes. Handle unexpectedly wrong mailbox
	state better.
	[4260244e57e2]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Wait for child process to close only after closing the
	stdin/out/err to it. Otherwise the ssh process doesn't shutdown.
	[44eda990f757]

2013-02-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	fs layout: Don't assert-crash if namespace prefix begins with the
	separator.
	[fb367a977077]

	* NEWS, doc/example-config/conf.d/90-quota.conf,
	src/plugins/quota/quota.c:
	Renamed quota_last_extra to quota_grace.
	[c0c38c4070f5]

	* src/auth/auth-cache.c:
	auth: When receiving SIGUSR2 log also about current cache usage.
	[75c686b526d4]

2013-02-11  Timo Sirainen  <tss@iki.fi>

	* NEWS, doc/example-config/conf.d/90-quota.conf:
	NEWS, example-config: Add a note about quota_last_extra
	[ed5fa76f0dc7]

	* src/plugins/quota/quota.c:
	quota: Use quota_last_extra only for LDA/LMTP (not for IMAP).
	[c890fa3b5efd]

	* src/lib-lda/smtp-client.c:
	lib-lda: Assert-crashfix when sending a rejection mail failed.
	[7a2ca282a53e]

	* src/plugins/quota/quota-private.h, src/plugins/quota/quota-
	storage.c, src/plugins/quota/quota.c:
	quota: Added quota_last_extra setting, which defaults to 10% This
	can be used to save the last message when user is almost over quota.
	So by default the last message can bring the quota over 10% of the
	total quota limit. The setting allows also explicit values. Setting
	it to 0 brings it back to previous behavior.
	[e866b9e64f09]

	* src/lib-imap-urlauth/imap-urlauth-backend.c:
	lib-imap-urlauth: Use MAILBOX_ATTRIBUTE_PREFIX_DOVECOT for the imap-
	urlauth key.
	[d4080bea7286]

	* src/lib-storage/mail-storage.h:
	lib-storage: Added MAILBOX_ATTRIBUTE_DOVECOT_PREFIX macro.
	[0ed27889cd70]

2013-02-11  Stephan Bosch  <stephan@rename-it.nl>

	* configure.ac, src/plugins/fts-solr/Makefile.am, src/plugins/fts-solr
	/fts-backend-solr-old.c, src/plugins/fts-solr/fts-backend-solr.c,
	src/plugins/fts-solr/solr-connection.c, src/plugins/fts-solr/solr-
	connection.h:
	fts-solr: Use built-in lib-http instead of libcurl. Removed libcurl
	dependency.
	[b9b8286fd9fd]

2013-02-11  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Minor fix to deciding when to use GUIDs vs. header hashes.
	[f6a8f0522634]

	* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	mailbox-import.c, src/doveadm/dsync/dsync-mailbox-import.h:
	dsync: Fixes for syncing without GUIDs.
	[f58e7b386c6e]

	* src/doveadm/dsync/dsync-mail.c:
	dsync: When doing a header-based sync, convert all linefeeds to LFs.
	Fixes syncing where one side used CRLFs and the other side used LFs.
	[d73d04e24eee]

	* src/lib/istream-file.c:
	i_stream_sync() for file should reset eof flag immediately.
	[45c39743f406]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	mailbox.c, src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync
	/dsync-brain-private.h, src/doveadm/dsync/dsync-brain.c,
	src/doveadm/dsync/dsync-brain.h, src/doveadm/dsync/dsync-ibc-
	stream.c, src/doveadm/dsync/dsync-mailbox.h:
	dsync: Automatically figure out which mailboxes can sync with
	message GUIDs.
	[5a1fc3723371]

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
	/lib-storage/mail-storage-private.h, src/lib-storage/mail-storage.c,
	src/lib-storage/mail-storage.h, src/plugins/virtual/virtual-
	storage.c, src/plugins/virtual/virtual-storage.h:
	lib-storage: Added mailbox_status.have_guids flag
	[91f60f0d72df]

	* src/lib-storage/fail-mailbox.c:
	lib-storage: Minor code cleanup
	[490fa658b66d]

	* src/lib-storage/fail-mailbox.c, src/lib-storage/index/index-
	status.c, src/lib-storage/list/mailbox-list-index-status.c:
	lib-storage: Don't unnecessarily clear mailbox_status multiple
	times.
	[2492fa1232a0]

	* src/lib-storage/index/index-status.c:
	lib-storage: mailbox_status.nonpermanent_modseqs is now only set
	with STATUS_HIGHESTMODSEQ
	[2aa20ea42d6d]

2013-02-10  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-mail.c:
	dsync: When looking up header hashes, use only Date: and Message-Id:
	headers This makes it more efficient, at least in future when imapc
	backend optimizes this.
	[f7a0ef7fdaad]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	mailbox.c, src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync
	/dsync-brain-private.h, src/doveadm/dsync/dsync-brain.c,
	src/doveadm/dsync/dsync-brain.h, src/doveadm/dsync/dsync-ibc-
	stream.c:
	dsync: Renamed "guid_requests" to "mail_requests" The mails aren't
	necessarily requested by their GUID.
	[b4e2b3b54f0a]

	* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	mailbox-import.c, src/doveadm/dsync/dsync-mailbox-import.h:
	dsync: Removed unused DSYNC_MAILBOX_IMPORT_FLAG_MAILS_HAVE_GUIDS
	flag.
	[9a9d408336ea]

	* src/doveadm/dsync/dsync-mailbox-tree-fill.c:
	dsync: Fixed mailbox tree sync with some backends (imapc)
	[28db20f9c0cf]

2013-02-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-urlauth/imap-urlauth-backend.c, src/lib-storage/index
	/index-attribute.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src
	/lib-storage/mail-storage.h:
	lib-storage: Changed mailbox_attribute_get() to return a struct for
	value. This allows returning flags for the values in future. Mainly
	readonly-flag for internal attributes and when restricted by ACL
	plugin.
	[03a0af22100d]

	* src/lib-fs/fs-api.h, src/lib-fs/fs-posix.c, src/lib-storage/index
	/index-attachment.c:
	lib-fs: Changed FS_OPEN_FLAG_UNIMPORTANT to a reversed
	FS_OPEN_FLAG_FSYNC. This explains its behavior better.
	[397253f15f36]

	* src/lib-fs/fs-metawrap.c, src/lib-fs/istream-metawrap.c:
	fs-metawrap: Don't duplicate work if fs_get_metadata() is called
	multiple times.
	[e7e95d2d2b37]

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index
	/dbox-common/dbox-mail.c, src/lib-storage/index/maildir/maildir-
	mail.c:
	cydir, dbox, maildir: Don't leak the stream if mail.istream_opened()
	fails
	[1a6cf87eeff0]

	* src/lib-index/mail-index-transaction-update.c, src/lib-index/test-
	mail-index-transaction-update.c:
	lib-index: Memory leak fix
	[be320a216190]

	* src/lib-fs/fs-metawrap.c:
	fs-metawrap: Memory leak fixes
	[c31ee24e7255]

	* src/lib-fs/fs-api.c:
	lib-fs: Avoid memory leaks if file was closed before
	fs_read()/fs_copy() was finished.
	[275973a62419]

	* src/lib-fs/fs-metawrap.c:
	fs-metawrap: Set underlying file async only for fs_read_stream()
	lookups.
	[15ad5fc0568b]

2013-02-04  Timo Sirainen  <tss@iki.fi>

	* src/lib/iostream-temp.c:
	iostream-temp: Set a name for the returned istream.
	[b94603584655]

	* src/lib-http/http-client-request.c:
	lib-http: If http_client_request_set_payload() fails to get stream
	size, log an error.
	[e4fbb3a834a7]

	* src/lib/iostream-temp.c:
	iostream-temp: Don't try to dup() the stream fd if it's already
	closed.
	[6a6472846181]

	* src/lib-fs/Makefile.am, src/lib-fs/fs-metawrap.c, src/lib-fs
	/ostream-metawrap.c, src/lib-fs/ostream-metawrap.h:
	fs-metawrap: Delay writing the metadata headers until first data is
	written. Also some other read/write fixes.
	[a1598c03c940]

	* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
	api.h, src/lib-fs/fs-metawrap.c:
	lib-fs: Added FS_OPEN_FLAG_SEEKABLE. Globally handle
	fs_read_stream() seekability and waits.
	[8515223e4766]

	* src/lib-fs/fs-metawrap.c:
	fs-metawrap: Fixed stat() to work when parent file's input stream
	didn't have a parent.
	[5462dbd46703]

	* src/lib-fs/fs-metawrap.c:
	fs-metawrap: Error handling fixes
	[159c18c2e502]

	* src/lib/istream.c:
	i_stream_create(): Copy stream_errno/eof immediately from the parent
	stream. This makes wrapper istream behavior more reliable when the
	original istream is an istream-error.
	[e7d682358619]

	* src/lib/istream.c:
	istream: Fail in the default stat() implementation if stream_errno
	is set.
	[d4bf15bbf182]

	* src/lib/istream-seekable.c:
	istream-seekable: Fail stat() if stream_errno is set.
	[595c00f289bf]

	* src/lib-http/http-client-private.h, src/lib-http/http-client-
	request.c, src/lib-http/http-client.h:
	lib-http: Added http_client_request_set_destroy_callback() This is
	useful for io_remove()ing the payload stream's fd at the right time.
	[e11b9ba8b90a]

	* src/lib-http/http-url.c, src/lib-http/http-url.h:
	lib-http: Added http_url_escape_param()
	[b1a03d3c0ae7]

2013-02-03  Timo Sirainen  <tss@iki.fi>

	* src/lib/iostream-temp.c, src/lib/iostream-temp.h:
	iostream-temp: Avoid copying data if IOSTREAM_TEMP_FLAG_TRY_FD_DUP
	is set.
	[50d43f04511b]

	* src/lib/istream.c:
	i_stream_create_error() should have set eof=TRUE immediately.
	[42e152c01ace]

	* src/lib-fs/fs-api.c:
	lib-fs: fs_write_stream_finish(file, NULL) is now alias to
	fs_write_stream_finish_async(file) This makes wrapper
	implementations easier.
	[01d238b13719]

	* src/lib-fs/fs-posix.c:
	lib-fs: fs-posix now allows reading from the same file that was
	created.
	[1aed8e57ea1c]

	* src/lib-fs/istream-metawrap.c:
	lib-fs: istream-metawrap is a bit more flexible now, allowing
	stat()ing and reading from fd
	[30922a3668a9]

2013-02-02  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/fts-solr-plugin.c:
	fts-solr: Compile warning fix
	[f4d33f3c1ab9]

	* src/anvil/anvil-connection.c, src/anvil/anvil-settings.c, src/anvil
	/connect-limit.c, src/anvil/main.c, src/anvil/penalty.c, src/anvil
	/test-penalty.c, src/auth/auth-cache.c, src/auth/auth-client-
	connection.c, src/auth/auth-fields.c, src/auth/auth-master-
	connection.c, src/auth/auth-penalty.c, src/auth/auth-postfix-
	connection.c, src/auth/auth-request-handler.c, src/auth/auth-
	request.c, src/auth/auth-settings.c, src/auth/auth-token.c, src/auth
	/auth-worker-client.c, src/auth/auth-worker-server.c,
	src/auth/auth.c, src/auth/db-checkpassword.c, src/auth/db-dict.c,
	src/auth/db-ldap.c, src/auth/db-passwd-file.c, src/auth/db-sql.c,
	src/auth/main.c, src/auth/mech-anonymous.c, src/auth/mech-cram-
	md5.c, src/auth/mech-digest-md5.c, src/auth/mech-dovecot-token.c,
	src/auth/mech-external.c, src/auth/mech-plain.c, src/auth/mech.c,
	src/auth/passdb-blocking.c, src/auth/passdb-bsdauth.c, src/auth
	/passdb-cache.c, src/auth/passdb-checkpassword.c, src/auth/passdb-
	dict.c, src/auth/passdb-imap.c, src/auth/passdb-ldap.c, src/auth
	/passdb-passwd-file.c, src/auth/passdb-passwd.c, src/auth/passdb-
	shadow.c, src/auth/passdb-sql.c, src/auth/passdb-static.c, src/auth
	/passdb-template.c, src/auth/passdb-vpopmail.c, src/auth/passdb.c,
	src/auth/password-scheme-crypt.c, src/auth/password-scheme.c,
	src/auth/test-auth-cache.c, src/auth/userdb-blocking.c, src/auth
	/userdb-checkpassword.c, src/auth/userdb-dict.c, src/auth/userdb-
	ldap.c, src/auth/userdb-nss.c, src/auth/userdb-passwd-file.c,
	src/auth/userdb-passwd.c, src/auth/userdb-prefetch.c, src/auth
	/userdb-sql.c, src/auth/userdb-static.c, src/auth/userdb-template.c,
	src/auth/userdb-vpopmail.c, src/auth/userdb.c, src/config/config-
	connection.c, src/config/config-filter.c, src/config/config-
	parser.c, src/config/config-request.c, src/config/config-settings.c,
	src/config/doveconf.c, src/config/main.c, src/config/old-set-
	parser.c, src/config/sysinfo-get.c, src/dict/dict-commands.c,
	src/dict/dict-connection.c, src/dict/dict-settings.c,
	src/dict/main.c, src/director/auth-connection.c, src/director
	/director-connection.c, src/director/director-host.c, src/director
	/director-request.c, src/director/director-settings.c, src/director
	/director-test.c, src/director/director.c, src/director/doveadm-
	connection.c, src/director/login-connection.c, src/director/mail-
	host.c, src/director/main.c, src/director/notify-connection.c,
	src/director/test-user-directory.c, src/director/user-directory.c,
	src/dns/dns-client-settings.c, src/dns/dns-client.c, src/doveadm
	/client-connection.c, src/doveadm/doveadm-auth.c, src/doveadm
	/doveadm-director.c, src/doveadm/doveadm-dump-dbox.c, src/doveadm
	/doveadm-dump-index.c, src/doveadm/doveadm-dump-log.c, src/doveadm
	/doveadm-dump-mailboxlog.c, src/doveadm/doveadm-dump-thread.c,
	src/doveadm/doveadm-dump.c, src/doveadm/doveadm-instance.c,
	src/doveadm/doveadm-kick.c, src/doveadm/doveadm-log.c, src/doveadm
	/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-copymove.c,
	src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-mail-
	fetch.c, src/doveadm/doveadm-mail-import.c, src/doveadm/doveadm-
	mail-index.c, src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-
	mail-mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c,
	src/doveadm/doveadm-mail-search.c, src/doveadm/doveadm-mail-
	server.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mailbox-
	list-iter.c, src/doveadm/doveadm-master.c, src/doveadm/doveadm-
	mount.c, src/doveadm/doveadm-mutf7.c, src/doveadm/doveadm-penalty.c,
	src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-pager.c,
	src/doveadm/doveadm-print-server.c, src/doveadm/doveadm-print-tab.c,
	src/doveadm/doveadm-print-table.c, src/doveadm/doveadm-print.c,
	src/doveadm/doveadm-proxy.c, src/doveadm/doveadm-pw.c, src/doveadm
	/doveadm-settings.c, src/doveadm/doveadm-sis.c, src/doveadm/doveadm-
	stats.c, src/doveadm/doveadm-util.c, src/doveadm/doveadm-who.c,
	src/doveadm/doveadm-zlib.c, src/doveadm/doveadm.c, src/doveadm/dsync
	/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c,
	src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
	/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain-mails.c,
	src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-
	deserializer.c, src/doveadm/dsync/dsync-ibc-pipe.c,
	src/doveadm/dsync/dsync-ibc-stream.c, src/doveadm/dsync/dsync-ibc.c,
	src/doveadm/dsync/dsync-mail.c, src/doveadm/dsync/dsync-mailbox-
	export.c, src/doveadm/dsync/dsync-mailbox-import.c,
	src/doveadm/dsync/dsync-mailbox-state.c, src/doveadm/dsync/dsync-
	mailbox-tree-fill.c, src/doveadm/dsync/dsync-mailbox-tree-sync.c,
	src/doveadm/dsync/dsync-mailbox-tree.c, src/doveadm/dsync/dsync-
	serializer.c, src/doveadm/dsync/dsync-transaction-log-scan.c,
	src/doveadm/dsync/test-dsync-mailbox-tree-sync.c,
	src/doveadm/main.c, src/doveadm/server-connection.c, src/imap-login
	/client-authenticate.c, src/imap-login/client.c, src/imap-login
	/imap-login-settings.c, src/imap-login/imap-proxy.c, src/imap-
	urlauth/imap-urlauth-client.c, src/imap-urlauth/imap-urlauth-login-
	settings.c, src/imap-urlauth/imap-urlauth-login.c, src/imap-urlauth
	/imap-urlauth-settings.c, src/imap-urlauth/imap-urlauth-worker-
	settings.c, src/imap-urlauth/imap-urlauth-worker.c, src/imap-urlauth
	/imap-urlauth.c, src/imap/cmd-append.c, src/imap/cmd-cancelupdate.c,
	src/imap/cmd-capability.c, src/imap/cmd-check.c, src/imap/cmd-
	close.c, src/imap/cmd-copy.c, src/imap/cmd-create.c, src/imap/cmd-
	delete.c, src/imap/cmd-enable.c, src/imap/cmd-examine.c, src/imap
	/cmd-expunge.c, src/imap/cmd-fetch.c, src/imap/cmd-genurlauth.c,
	src/imap/cmd-id.c, src/imap/cmd-idle.c, src/imap/cmd-list.c,
	src/imap/cmd-logout.c, src/imap/cmd-lsub.c, src/imap/cmd-
	namespace.c, src/imap/cmd-noop.c, src/imap/cmd-notify.c, src/imap
	/cmd-rename.c, src/imap/cmd-resetkey.c, src/imap/cmd-search.c,
	src/imap/cmd-select.c, src/imap/cmd-sort.c, src/imap/cmd-status.c,
	src/imap/cmd-store.c, src/imap/cmd-subscribe.c, src/imap/cmd-
	thread.c, src/imap/cmd-uid.c, src/imap/cmd-unselect.c, src/imap/cmd-
	unsubscribe.c, src/imap/cmd-urlfetch.c, src/imap/cmd-x-cancel.c,
	src/imap/imap-client.c, src/imap/imap-commands-util.c, src/imap
	/imap-commands.c, src/imap/imap-expunge.c, src/imap/imap-fetch-
	body.c, src/imap/imap-fetch.c, src/imap/imap-list.c, src/imap/imap-
	notify.c, src/imap/imap-search-args.c, src/imap/imap-search.c,
	src/imap/imap-settings.c, src/imap/imap-status.c, src/imap/imap-
	sync.c, src/imap/mail-storage-callbacks.c, src/imap/main.c,
	src/indexer/indexer-client.c, src/indexer/indexer-queue.c,
	src/indexer/indexer-settings.c, src/indexer/indexer-worker-
	settings.c, src/indexer/indexer-worker.c, src/indexer/indexer.c,
	src/indexer/master-connection.c, src/indexer/worker-connection.c,
	src/indexer/worker-pool.c, src/ipc/client.c, src/ipc/ipc-
	connection.c, src/ipc/ipc-group.c, src/ipc/ipc-settings.c,
	src/ipc/main.c, src/lda/main.c, src/lib-auth/auth-client-request.c,
	src/lib-auth/auth-client.c, src/lib-auth/auth-master.c, src/lib-auth
	/auth-server-connection.c, src/lib-charset/charset-iconv.c, src/lib-
	charset/charset-utf8.c, src/lib-compression/compression.c, src/lib-
	compression/istream-bzlib.c, src/lib-compression/istream-zlib.c, src
	/lib-compression/ostream-bzlib.c, src/lib-compression/ostream-
	zlib.c, src/lib-dict/dict-client.c, src/lib-dict/dict-db.c, src/lib-
	dict/dict-file.c, src/lib-dict/dict-memcached-ascii.c, src/lib-dict
	/dict-memcached.c, src/lib-dict/dict-redis.c, src/lib-dict/dict-sql-
	settings.c, src/lib-dict/dict-sql.c, src/lib-dict/dict-transaction-
	memory.c, src/lib-dict/dict.c, src/lib-dict/test-dict.c, src/lib-dns
	/dns-lookup.c, src/lib-fs/fs-api.c, src/lib-fs/fs-posix.c, src/lib-
	fs/fs-sis-common.c, src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c,
	src/lib-fs/fs-test.c, src/lib-fs/istream-metawrap.c, src/lib-fs
	/ostream-cmp.c, src/lib-http/http-client-connection.c, src/lib-http
	/http-client-host.c, src/lib-http/http-client-peer.c, src/lib-http
	/http-client-request.c, src/lib-http/http-client.c, src/lib-http
	/http-date.c, src/lib-http/http-header-parser.c, src/lib-http/http-
	parser.c, src/lib-http/http-response-parser.c, src/lib-http/http-
	transfer-chunked.c, src/lib-http/http-url.c, src/lib-http/test-http-
	client.c, src/lib-http/test-http-date.c, src/lib-http/test-http-
	header-parser.c, src/lib-http/test-http-response-parser.c, src/lib-
	http/test-http-transfer.c, src/lib-http/test-http-url.c, src/lib-
	imap-client/imapc-client.c, src/lib-imap-client/imapc-connection.c,
	src/lib-imap-client/imapc-msgmap.c, src/lib-imap-storage/imap-
	msgpart-url.c, src/lib-imap-storage/imap-msgpart.c, src/lib-imap-
	urlauth/imap-urlauth-backend.c, src/lib-imap-urlauth/imap-urlauth-
	connection.c, src/lib-imap-urlauth/imap-urlauth-fetch.c, src/lib-
	imap-urlauth/imap-urlauth.c, src/lib-imap/imap-arg.c, src/lib-imap
	/imap-base-subject.c, src/lib-imap/imap-bodystructure.c, src/lib-
	imap/imap-date.c, src/lib-imap/imap-envelope.c, src/lib-imap/imap-
	id.c, src/lib-imap/imap-match.c, src/lib-imap/imap-parser.c, src
	/lib-imap/imap-quote.c, src/lib-imap/imap-seqset.c, src/lib-imap
	/imap-url.c, src/lib-imap/imap-utf7.c, src/lib-imap/imap-util.c, src
	/lib-imap/test-imap-bodystructure.c, src/lib-imap/test-imap-match.c,
	src/lib-imap/test-imap-parser.c, src/lib-imap/test-imap-url.c, src
	/lib-imap/test-imap-utf7.c, src/lib-imap/test-imap-util.c, src/lib-
	index/mail-cache-compress.c, src/lib-index/mail-cache-decisions.c,
	src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache-
	lookup.c, src/lib-index/mail-cache-sync-update.c, src/lib-index
	/mail-cache-transaction.c, src/lib-index/mail-cache.c, src/lib-index
	/mail-index-alloc-cache.c, src/lib-index/mail-index-dummy-view.c,
	src/lib-index/mail-index-fsck.c, src/lib-index/mail-index-lock.c,
	src/lib-index/mail-index-map-hdr.c, src/lib-index/mail-index-map-
	read.c, src/lib-index/mail-index-map.c, src/lib-index/mail-index-
	modseq.c, src/lib-index/mail-index-strmap.c, src/lib-index/mail-
	index-sync-ext.c, src/lib-index/mail-index-sync-keywords.c, src/lib-
	index/mail-index-sync-update.c, src/lib-index/mail-index-sync.c, src
	/lib-index/mail-index-transaction-export.c, src/lib-index/mail-
	index-transaction-finish.c, src/lib-index/mail-index-transaction-
	sort-appends.c, src/lib-index/mail-index-transaction-update.c, src
	/lib-index/mail-index-transaction-view.c, src/lib-index/mail-index-
	transaction.c, src/lib-index/mail-index-util.c, src/lib-index/mail-
	index-view-sync.c, src/lib-index/mail-index-view.c, src/lib-index
	/mail-index-write.c, src/lib-index/mail-index.c, src/lib-index/mail-
	transaction-log-append.c, src/lib-index/mail-transaction-log-file.c,
	src/lib-index/mail-transaction-log-view.c, src/lib-index/mail-
	transaction-log.c, src/lib-index/mailbox-log.c, src/lib-index/test-
	mail-index-sync-ext.c, src/lib-index/test-mail-index-transaction-
	finish.c, src/lib-index/test-mail-index-transaction-update.c, src
	/lib-index/test-mail-transaction-log-append.c, src/lib-index/test-
	mail-transaction-log-view.c, src/lib-lda/duplicate.c, src/lib-lda
	/lda-settings.c, src/lib-lda/lmtp-client.c, src/lib-lda/mail-
	deliver.c, src/lib-lda/mail-send.c, src/lib-lda/smtp-client.c, src
	/lib-mail/istream-attachment-connector.c, src/lib-mail/istream-
	attachment-extractor.c, src/lib-mail/istream-binary-converter.c, src
	/lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c, src
	/lib-mail/istream-nonuls.c, src/lib-mail/istream-qp-decoder.c, src
	/lib-mail/mail-user-hash.c, src/lib-mail/mbox-from.c, src/lib-mail
	/message-address.c, src/lib-mail/message-binary-part.c, src/lib-mail
	/message-date.c, src/lib-mail/message-decoder.c, src/lib-mail
	/message-header-decode.c, src/lib-mail/message-header-encode.c, src
	/lib-mail/message-header-parser.c, src/lib-mail/message-id.c, src
	/lib-mail/message-parser.c, src/lib-mail/message-part-serialize.c,
	src/lib-mail/message-search.c, src/lib-mail/message-size.c, src/lib-
	mail/quoted-printable.c, src/lib-mail/rfc2231-parser.c, src/lib-
	mail/rfc822-parser.c, src/lib-mail/test-istream-attachment.c, src
	/lib-mail/test-istream-binary-converter.c, src/lib-mail/test-
	istream-dot.c, src/lib-mail/test-istream-header-filter.c, src/lib-
	mail/test-istream-qp-decoder.c, src/lib-mail/test-mbox-from.c, src
	/lib-mail/test-message-address.c, src/lib-mail/test-message-date.c,
	src/lib-mail/test-message-decoder.c, src/lib-mail/test-message-
	header-decode.c, src/lib-mail/test-message-header-encode.c, src/lib-
	mail/test-message-header-parser.c, src/lib-mail/test-message-id.c,
	src/lib-mail/test-message-parser.c, src/lib-mail/test-quoted-
	printable.c, src/lib-mail/test-rfc2231-parser.c, src/lib-master
	/anvil-client.c, src/lib-master/ipc-client.c, src/lib-master/ipc-
	server.c, src/lib-master/master-auth.c, src/lib-master/master-
	instance.c, src/lib-master/master-login-auth.c, src/lib-master
	/master-login.c, src/lib-master/master-service-settings-cache.c, src
	/lib-master/master-service-settings.c, src/lib-master/master-
	service-ssl-settings.c, src/lib-master/master-service-ssl.c, src
	/lib-master/master-service.c, src/lib-master/mountpoint-list.c, src
	/lib-master/syslog-util.c, src/lib-settings/settings-parser.c, src
	/lib-settings/settings.c, src/lib-sql/driver-mysql.c, src/lib-sql
	/driver-pgsql.c, src/lib-sql/driver-sqlite.c, src/lib-sql/driver-
	sqlpool.c, src/lib-sql/sql-api.c, src/lib-sql/sql-db-cache.c, src
	/lib-ssl-iostream/iostream-openssl-common.c, src/lib-ssl-iostream
	/iostream-openssl-context.c, src/lib-ssl-iostream/iostream-openssl-
	params.c, src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-
	iostream/iostream-ssl-none.c, src/lib-ssl-iostream/iostream-ssl.c,
	src/lib-ssl-iostream/istream-openssl.c, src/lib-ssl-iostream
	/ostream-openssl.c, src/lib-storage/fail-mail-storage.c, src/lib-
	storage/fail-mail.c, src/lib-storage/fail-mailbox.c, src/lib-
	storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir-
	save.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox-common
	/dbox-attachment.c, src/lib-storage/index/dbox-common/dbox-file-
	fix.c, src/lib-storage/index/dbox-common/dbox-file.c, src/lib-
	storage/index/dbox-common/dbox-mail.c, src/lib-storage/index/dbox-
	common/dbox-save.c, src/lib-storage/index/dbox-common/dbox-
	storage.c, src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-
	storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-
	multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-purge.c,
	src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
	/dbox-multi/mdbox-settings.c, src/lib-storage/index/dbox-multi
	/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-
	storage.c, src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-
	storage/index/dbox-single/sdbox-copy.c, src/lib-storage/index/dbox-
	single/sdbox-file.c, src/lib-storage/index/dbox-single/sdbox-mail.c,
	src/lib-storage/index/dbox-single/sdbox-save.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single
	/sdbox-sync.c, src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-mail-fetch.c, src/lib-storage/index/imapc
	/imapc-mail.c, src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc/imapc-
	settings.c, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
	storage/index/imapc/imapc-sync.c, src/lib-storage/index/index-
	attachment.c, src/lib-storage/index/index-attribute.c, src/lib-
	storage/index/index-mail-binary.c, src/lib-storage/index/index-mail-
	headers.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-mailbox-check.c, src/lib-storage/index/index-rebuild.c, src
	/lib-storage/index/index-search-result.c, src/lib-storage/index
	/index-search.c, src/lib-storage/index/index-sort-string.c, src/lib-
	storage/index/index-sort.c, src/lib-storage/index/index-status.c,
	src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	sync-changes.c, src/lib-storage/index/index-sync-pvt.c, src/lib-
	storage/index/index-sync-search.c, src/lib-storage/index/index-
	sync.c, src/lib-storage/index/index-thread-finish.c, src/lib-
	storage/index/index-thread-links.c, src/lib-storage/index/index-
	thread.c, src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/istream-mail.c, src/lib-storage/index/maildir/maildir-
	copy.c, src/lib-storage/index/maildir/maildir-filename-flags.c, src
	/lib-storage/index/maildir/maildir-filename.c, src/lib-
	storage/index/maildir/maildir-keywords.c, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
	/maildir-save.c, src/lib-storage/index/maildir/maildir-settings.c,
	src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-util.c,
	src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib-
	storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox/mbox-
	lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/mbox/mbox-md5-all.c, src/lib-storage/index/mbox/mbox-
	md5-apop3d.c, src/lib-storage/index/mbox/mbox-save.c, src/lib-
	storage/index/mbox/mbox-settings.c, src/lib-storage/index/mbox/mbox-
	storage.c, src/lib-storage/index/mbox/mbox-sync-parse.c, src/lib-
	storage/index/mbox/mbox-sync-rewrite.c, src/lib-storage/index/mbox
	/mbox-sync-update.c, src/lib-storage/index/mbox/mbox-sync.c, src
	/lib-storage/index/pop3c/pop3c-client.c, src/lib-storage/index/pop3c
	/pop3c-mail.c, src/lib-storage/index/pop3c/pop3c-settings.c, src
	/lib-storage/index/pop3c/pop3c-storage.c, src/lib-
	storage/index/pop3c/pop3c-sync.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/raw/raw-sync.c, src/lib-storage/index/shared/shared-
	list.c, src/lib-storage/index/shared/shared-storage.c, src/lib-
	storage/list/mailbox-list-delete.c, src/lib-storage/list/mailbox-
	list-fs-flags.c, src/lib-storage/list/mailbox-list-fs-iter.c, src
	/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-
	list-index-backend.c, src/lib-storage/list/mailbox-list-index-
	iter.c, src/lib-storage/list/mailbox-list-index-notify.c, src/lib-
	storage/list/mailbox-list-index-status.c, src/lib-storage/list
	/mailbox-list-index-sync.c, src/lib-storage/list/mailbox-list-
	index.c, src/lib-storage/list/mailbox-list-iter.c, src/lib-
	storage/list/mailbox-list-maildir-iter.c, src/lib-storage/list
	/mailbox-list-maildir.c, src/lib-storage/list/mailbox-list-none.c,
	src/lib-storage/list/mailbox-list-notify-tree.c, src/lib-
	storage/list/mailbox-list-subscriptions.c, src/lib-storage/list
	/subscription-file.c, src/lib-storage/mail-copy.c, src/lib-storage
	/mail-error.c, src/lib-storage/mail-namespace.c, src/lib-storage
	/mail-search-build.c, src/lib-storage/mail-search-parser-cmdline.c,
	src/lib-storage/mail-search-parser-imap.c, src/lib-storage/mail-
	search-parser.c, src/lib-storage/mail-search-register-human.c, src
	/lib-storage/mail-search-register-imap.c, src/lib-storage/mail-
	search-register.c, src/lib-storage/mail-search.c, src/lib-storage
	/mail-storage-hooks.c, src/lib-storage/mail-storage-service.c, src
	/lib-storage/mail-storage-settings.c, src/lib-storage/mail-
	storage.c, src/lib-storage/mail-thread.c, src/lib-storage/mail-
	user.c, src/lib-storage/mail.c, src/lib-storage/mailbox-get.c, src
	/lib-storage/mailbox-guid-cache.c, src/lib-storage/mailbox-header.c,
	src/lib-storage/mailbox-keywords.c, src/lib-storage/mailbox-list-
	notify.c, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
	search-result.c, src/lib-storage/mailbox-tree.c, src/lib-storage
	/mailbox-uidvalidity.c, src/lib-storage/test-mailbox-get.c, src/lib-
	test/test-common.c, src/lib/abspath.c, src/lib/aqueue.c,
	src/lib/array.c, src/lib/askpass.c, src/lib/backtrace-string.c,
	src/lib/base64.c, src/lib/bsearch-insert-pos.c, src/lib/buffer.c,
	src/lib/child-wait.c, src/lib/compat.c, src/lib/connection.c,
	src/lib/crc32.c, src/lib/data-stack.c, src/lib/eacces-error.c,
	src/lib/env-util.c, src/lib/execv-const.c, src/lib/failures.c,
	src/lib/fd-close-on-exec.c, src/lib/fd-set-nonblock.c, src/lib
	/fdatasync-path.c, src/lib/fdpass.c, src/lib/file-cache.c, src/lib
	/file-copy.c, src/lib/file-dotlock.c, src/lib/file-lock.c, src/lib
	/file-set-size.c, src/lib/guid.c, src/lib/hash-format.c, src/lib
	/hash-method.c, src/lib/hash.c, src/lib/hash2.c, src/lib/hex-
	binary.c, src/lib/hex-dec.c, src/lib/home-expand.c,
	src/lib/hostpid.c, src/lib/imem.c, src/lib/ioloop-epoll.c, src/lib
	/ioloop-notify-dn.c, src/lib/ioloop-notify-fd.c, src/lib/ioloop-
	notify-inotify.c, src/lib/ioloop-notify-none.c, src/lib/ioloop-
	poll.c, src/lib/ioloop-select.c, src/lib/ioloop.c, src/lib/iostream-
	rawlog.c, src/lib/iostream-temp.c, src/lib/iostream.c,
	src/lib/iso8601-date.c, src/lib/istream-base64-decoder.c, src/lib
	/istream-base64-encoder.c, src/lib/istream-chain.c, src/lib/istream-
	concat.c, src/lib/istream-crlf.c, src/lib/istream-data.c, src/lib
	/istream-file.c, src/lib/istream-jsonstr.c, src/lib/istream-limit.c,
	src/lib/istream-mmap.c, src/lib/istream-rawlog.c, src/lib/istream-
	seekable.c, src/lib/istream-sized.c, src/lib/istream-tee.c,
	src/lib/istream.c, src/lib/json-parser.c, src/lib/lib-signals.c,
	src/lib/lib.c, src/lib/mempool-alloconly.c, src/lib/mempool-
	datastack.c, src/lib/mempool-system.c, src/lib/mempool-unsafe-
	datastack.c, src/lib/mempool.c, src/lib/mkdir-parents.c, src/lib
	/mmap-anon.c, src/lib/mmap-util.c, src/lib/module-dir.c,
	src/lib/mountpoint.c, src/lib/net.c, src/lib/nfs-workarounds.c,
	src/lib/numpack.c, src/lib/ostream-buffer.c, src/lib/ostream-file.c,
	src/lib/ostream-rawlog.c, src/lib/ostream.c, src/lib/primes.c,
	src/lib/printf-format-fix.c, src/lib/priorityq.c, src/lib/process-
	title.c, src/lib/randgen.c, src/lib/read-full.c, src/lib/restrict-
	access.c, src/lib/restrict-process-size.c, src/lib/safe-memset.c,
	src/lib/safe-mkdir.c, src/lib/safe-mkstemp.c, src/lib/sendfile-
	util.c, src/lib/seq-range-array.c, src/lib/str-find.c, src/lib/str-
	sanitize.c, src/lib/str.c, src/lib/strescape.c, src/lib/strfuncs.c,
	src/lib/strnum.c, src/lib/test-aqueue.c, src/lib/test-array.c,
	src/lib/test-base64.c, src/lib/test-bsearch-insert-pos.c, src/lib
	/test-buffer.c, src/lib/test-crc32.c, src/lib/test-hash-format.c,
	src/lib/test-hex-binary.c, src/lib/test-iso8601-date.c, src/lib
	/test-istream-base64-decoder.c, src/lib/test-istream-
	base64-encoder.c, src/lib/test-istream-concat.c, src/lib/test-
	istream-crlf.c, src/lib/test-istream-seekable.c, src/lib/test-
	istream-tee.c, src/lib/test-json-parser.c, src/lib/test-lib.c,
	src/lib/test-llist.c, src/lib/test-mempool-alloconly.c, src/lib
	/test-network.c, src/lib/test-numpack.c, src/lib/test-ostream-
	file.c, src/lib/test-primes.c, src/lib/test-priorityq.c, src/lib
	/test-seq-range-array.c, src/lib/test-str-find.c, src/lib/test-str-
	sanitize.c, src/lib/test-strescape.c, src/lib/test-strfuncs.c,
	src/lib/test-time-util.c, src/lib/test-unichar.c, src/lib/test-utc-
	mktime.c, src/lib/test-var-expand.c, src/lib/time-util.c,
	src/lib/unichar.c, src/lib/unix-socket-create.c, src/lib/unlink-
	directory.c, src/lib/unlink-old-files.c, src/lib/uri-util.c, src/lib
	/utc-mktime.c, src/lib/utc-offset.c, src/lib/var-expand.c, src/lib
	/write-full.c, src/lmtp/client.c, src/lmtp/commands.c, src/lmtp
	/lmtp-proxy.c, src/lmtp/lmtp-settings.c, src/lmtp/main.c, src/log
	/doveadm-connection.c, src/log/log-connection.c, src/log/log-error-
	buffer.c, src/log/log-settings.c, src/log/main.c, src/login-common
	/access-lookup.c, src/login-common/client-common-auth.c, src/login-
	common/client-common.c, src/login-common/login-proxy-state.c, src
	/login-common/login-proxy.c, src/login-common/login-settings.c, src
	/login-common/main.c, src/login-common/sasl-server.c, src/login-
	common/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c, src
	/login-common/ssl-proxy.c, src/master/capabilities-posix.c,
	src/master/dup2-array.c, src/master/main.c, src/master/master-
	settings.c, src/master/service-anvil.c, src/master/service-listen.c,
	src/master/service-log.c, src/master/service-monitor.c, src/master
	/service-process-notify.c, src/master/service-process.c,
	src/master/service.c, src/plugins/acl/acl-api.c, src/plugins/acl
	/acl-backend-vfile-acllist.c, src/plugins/acl/acl-backend-vfile.c,
	src/plugins/acl/acl-backend.c, src/plugins/acl/acl-cache.c,
	src/plugins/acl/acl-lookup-dict.c, src/plugins/acl/acl-mailbox-
	list.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-plugin.c,
	src/plugins/acl/acl-shared-storage.c, src/plugins/acl/acl-storage.c,
	src/plugins/acl/doveadm-acl.c, src/plugins/autocreate/autocreate-
	plugin.c, src/plugins/expire/doveadm-expire.c, src/plugins/expire
	/expire-plugin.c, src/plugins/expire/expire-set.c, src/plugins/fts-
	lucene/doveadm-fts-lucene.c, src/plugins/fts-lucene/fts-backend-
	lucene.c, src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins
	/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr/fts-backend-
	solr.c, src/plugins/fts-solr/fts-solr-plugin.c, src/plugins/fts-solr
	/solr-connection.c, src/plugins/fts-squat/fts-backend-squat.c,
	src/plugins/fts-squat/fts-squat-plugin.c, src/plugins/fts-squat
	/squat-test.c, src/plugins/fts-squat/squat-trie.c, src/plugins/fts-
	squat/squat-uidlist.c, src/plugins/fts/doveadm-dump-fts-expunge-
	log.c, src/plugins/fts/doveadm-fts.c, src/plugins/fts/fts-api.c,
	src/plugins/fts/fts-build-mail.c, src/plugins/fts/fts-expunge-log.c,
	src/plugins/fts/fts-indexer.c, src/plugins/fts/fts-parser-html.c,
	src/plugins/fts/fts-parser-script.c, src/plugins/fts/fts-parser.c,
	src/plugins/fts/fts-plugin.c, src/plugins/fts/fts-search-
	serialize.c, src/plugins/fts/fts-search.c, src/plugins/fts/fts-
	storage.c, src/plugins/fts/xml2text.c, src/plugins/imap-acl/imap-
	acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c,
	src/plugins/imap-stats/imap-stats-plugin.c, src/plugins/imap-zlib
	/imap-zlib-plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log
	/mail-log-plugin.c, src/plugins/mailbox-alias/mailbox-alias-
	plugin.c, src/plugins/notify/notify-plugin.c, src/plugins/notify
	/notify-storage.c, src/plugins/pop3-migration/pop3-migration-
	plugin.c, src/plugins/quota/doveadm-quota.c, src/plugins/quota
	/quota-count.c, src/plugins/quota/quota-dict.c, src/plugins/quota
	/quota-dirsize.c, src/plugins/quota/quota-fs.c, src/plugins/quota
	/quota-maildir.c, src/plugins/quota/quota-plugin.c,
	src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c,
	src/plugins/replication/replication-plugin.c, src/plugins/snarf
	/snarf-plugin.c, src/plugins/stats/stats-connection.c,
	src/plugins/stats/stats-plugin.c, src/plugins/trash/trash-plugin.c,
	src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual-
	mail.c, src/plugins/virtual/virtual-plugin.c, src/plugins/virtual
	/virtual-save.c, src/plugins/virtual/virtual-search.c,
	src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-
	sync.c, src/plugins/virtual/virtual-transaction.c, src/plugins/zlib
	/zlib-plugin.c, src/pop3-login/client-authenticate.c,
	src/pop3-login/client.c, src/pop3-login/pop3-login-settings.c,
	src/pop3-login/pop3-proxy.c, src/pop3/main.c,
	src/pop3/pop3-client.c, src/pop3/pop3-commands.c,
	src/pop3/pop3-settings.c, src/replication/aggregator/aggregator-
	settings.c, src/replication/aggregator/aggregator.c,
	src/replication/aggregator/notify-connection.c,
	src/replication/aggregator/replicator-connection.c,
	src/replication/replicator/doveadm-connection.c,
	src/replication/replicator/notify-connection.c,
	src/replication/replicator/replicator-brain.c,
	src/replication/replicator/replicator-queue.c,
	src/replication/replicator/replicator-settings.c,
	src/replication/replicator/replicator.c, src/ssl-params/main.c, src
	/ssl-params/ssl-params-openssl.c, src/ssl-params/ssl-params-
	settings.c, src/ssl-params/ssl-params.c, src/stats/client-export.c,
	src/stats/client.c, src/stats/global-memory.c, src/stats/mail-
	command.c, src/stats/mail-domain.c, src/stats/mail-ip.c, src/stats
	/mail-server-connection.c, src/stats/mail-session.c, src/stats/mail-
	stats.c, src/stats/mail-user.c, src/stats/main.c, src/stats/stats-
	settings.c, src/util/gdbhelper.c, src/util/maildirlock.c,
	src/util/rawlog.c, src/util/script-login.c, src/util/script.c,
	src/util/tcpwrap-settings.c, src/util/tcpwrap.c:
	Oops :) Update copyrights to 2013 without breaking all .c files.
	[36ef72481934]

	* src/anvil/anvil-connection.c, src/anvil/anvil-settings.c, src/anvil
	/connect-limit.c, src/anvil/main.c, src/anvil/penalty.c, src/anvil
	/test-penalty.c, src/auth/auth-cache.c, src/auth/auth-client-
	connection.c, src/auth/auth-fields.c, src/auth/auth-master-
	connection.c, src/auth/auth-penalty.c, src/auth/auth-postfix-
	connection.c, src/auth/auth-request-handler.c, src/auth/auth-
	request.c, src/auth/auth-settings.c, src/auth/auth-token.c, src/auth
	/auth-worker-client.c, src/auth/auth-worker-server.c,
	src/auth/auth.c, src/auth/db-checkpassword.c, src/auth/db-dict.c,
	src/auth/db-ldap.c, src/auth/db-passwd-file.c, src/auth/db-sql.c,
	src/auth/main.c, src/auth/mech-anonymous.c, src/auth/mech-cram-
	md5.c, src/auth/mech-digest-md5.c, src/auth/mech-dovecot-token.c,
	src/auth/mech-external.c, src/auth/mech-plain.c, src/auth/mech.c,
	src/auth/passdb-blocking.c, src/auth/passdb-bsdauth.c, src/auth
	/passdb-cache.c, src/auth/passdb-checkpassword.c, src/auth/passdb-
	dict.c, src/auth/passdb-imap.c, src/auth/passdb-ldap.c, src/auth
	/passdb-passwd-file.c, src/auth/passdb-passwd.c, src/auth/passdb-
	shadow.c, src/auth/passdb-sql.c, src/auth/passdb-static.c, src/auth
	/passdb-template.c, src/auth/passdb-vpopmail.c, src/auth/passdb.c,
	src/auth/password-scheme-crypt.c, src/auth/password-scheme.c,
	src/auth/test-auth-cache.c, src/auth/userdb-blocking.c, src/auth
	/userdb-checkpassword.c, src/auth/userdb-dict.c, src/auth/userdb-
	ldap.c, src/auth/userdb-nss.c, src/auth/userdb-passwd-file.c,
	src/auth/userdb-passwd.c, src/auth/userdb-prefetch.c, src/auth
	/userdb-sql.c, src/auth/userdb-static.c, src/auth/userdb-template.c,
	src/auth/userdb-vpopmail.c, src/auth/userdb.c, src/config/config-
	connection.c, src/config/config-filter.c, src/config/config-
	parser.c, src/config/config-request.c, src/config/config-settings.c,
	src/config/doveconf.c, src/config/main.c, src/config/old-set-
	parser.c, src/config/sysinfo-get.c, src/dict/dict-commands.c,
	src/dict/dict-connection.c, src/dict/dict-settings.c,
	src/dict/main.c, src/director/auth-connection.c, src/director
	/director-connection.c, src/director/director-host.c, src/director
	/director-request.c, src/director/director-settings.c, src/director
	/director-test.c, src/director/director.c, src/director/doveadm-
	connection.c, src/director/login-connection.c, src/director/mail-
	host.c, src/director/main.c, src/director/notify-connection.c,
	src/director/test-user-directory.c, src/director/user-directory.c,
	src/dns/dns-client-settings.c, src/dns/dns-client.c, src/doveadm
	/client-connection.c, src/doveadm/doveadm-auth.c, src/doveadm
	/doveadm-director.c, src/doveadm/doveadm-dump-dbox.c, src/doveadm
	/doveadm-dump-index.c, src/doveadm/doveadm-dump-log.c, src/doveadm
	/doveadm-dump-mailboxlog.c, src/doveadm/doveadm-dump-thread.c,
	src/doveadm/doveadm-dump.c, src/doveadm/doveadm-instance.c,
	src/doveadm/doveadm-kick.c, src/doveadm/doveadm-log.c, src/doveadm
	/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-copymove.c,
	src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-mail-
	fetch.c, src/doveadm/doveadm-mail-import.c, src/doveadm/doveadm-
	mail-index.c, src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-
	mail-mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c,
	src/doveadm/doveadm-mail-search.c, src/doveadm/doveadm-mail-
	server.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mailbox-
	list-iter.c, src/doveadm/doveadm-master.c, src/doveadm/doveadm-
	mount.c, src/doveadm/doveadm-mutf7.c, src/doveadm/doveadm-penalty.c,
	src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-pager.c,
	src/doveadm/doveadm-print-server.c, src/doveadm/doveadm-print-tab.c,
	src/doveadm/doveadm-print-table.c, src/doveadm/doveadm-print.c,
	src/doveadm/doveadm-proxy.c, src/doveadm/doveadm-pw.c, src/doveadm
	/doveadm-settings.c, src/doveadm/doveadm-sis.c, src/doveadm/doveadm-
	stats.c, src/doveadm/doveadm-util.c, src/doveadm/doveadm-who.c,
	src/doveadm/doveadm-zlib.c, src/doveadm/doveadm.c, src/doveadm/dsync
	/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c,
	src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
	/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain-mails.c,
	src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-
	deserializer.c, src/doveadm/dsync/dsync-ibc-pipe.c,
	src/doveadm/dsync/dsync-ibc-stream.c, src/doveadm/dsync/dsync-ibc.c,
	src/doveadm/dsync/dsync-mail.c, src/doveadm/dsync/dsync-mailbox-
	export.c, src/doveadm/dsync/dsync-mailbox-import.c,
	src/doveadm/dsync/dsync-mailbox-state.c, src/doveadm/dsync/dsync-
	mailbox-tree-fill.c, src/doveadm/dsync/dsync-mailbox-tree-sync.c,
	src/doveadm/dsync/dsync-mailbox-tree.c, src/doveadm/dsync/dsync-
	serializer.c, src/doveadm/dsync/dsync-transaction-log-scan.c,
	src/doveadm/dsync/test-dsync-mailbox-tree-sync.c,
	src/doveadm/main.c, src/doveadm/server-connection.c, src/imap-login
	/client-authenticate.c, src/imap-login/client.c, src/imap-login
	/imap-login-settings.c, src/imap-login/imap-proxy.c, src/imap-
	urlauth/imap-urlauth-client.c, src/imap-urlauth/imap-urlauth-login-
	settings.c, src/imap-urlauth/imap-urlauth-login.c, src/imap-urlauth
	/imap-urlauth-settings.c, src/imap-urlauth/imap-urlauth-worker-
	settings.c, src/imap-urlauth/imap-urlauth-worker.c, src/imap-urlauth
	/imap-urlauth.c, src/imap/cmd-append.c, src/imap/cmd-cancelupdate.c,
	src/imap/cmd-capability.c, src/imap/cmd-check.c, src/imap/cmd-
	close.c, src/imap/cmd-copy.c, src/imap/cmd-create.c, src/imap/cmd-
	delete.c, src/imap/cmd-enable.c, src/imap/cmd-examine.c, src/imap
	/cmd-expunge.c, src/imap/cmd-fetch.c, src/imap/cmd-genurlauth.c,
	src/imap/cmd-id.c, src/imap/cmd-idle.c, src/imap/cmd-list.c,
	src/imap/cmd-logout.c, src/imap/cmd-lsub.c, src/imap/cmd-
	namespace.c, src/imap/cmd-noop.c, src/imap/cmd-notify.c, src/imap
	/cmd-rename.c, src/imap/cmd-resetkey.c, src/imap/cmd-search.c,
	src/imap/cmd-select.c, src/imap/cmd-sort.c, src/imap/cmd-status.c,
	src/imap/cmd-store.c, src/imap/cmd-subscribe.c, src/imap/cmd-
	thread.c, src/imap/cmd-uid.c, src/imap/cmd-unselect.c, src/imap/cmd-
	unsubscribe.c, src/imap/cmd-urlfetch.c, src/imap/cmd-x-cancel.c,
	src/imap/imap-client.c, src/imap/imap-commands-util.c, src/imap
	/imap-commands.c, src/imap/imap-expunge.c, src/imap/imap-fetch-
	body.c, src/imap/imap-fetch.c, src/imap/imap-list.c, src/imap/imap-
	notify.c, src/imap/imap-search-args.c, src/imap/imap-search.c,
	src/imap/imap-settings.c, src/imap/imap-status.c, src/imap/imap-
	sync.c, src/imap/mail-storage-callbacks.c, src/imap/main.c,
	src/indexer/indexer-client.c, src/indexer/indexer-queue.c,
	src/indexer/indexer-settings.c, src/indexer/indexer-worker-
	settings.c, src/indexer/indexer-worker.c, src/indexer/indexer.c,
	src/indexer/master-connection.c, src/indexer/worker-connection.c,
	src/indexer/worker-pool.c, src/ipc/client.c, src/ipc/ipc-
	connection.c, src/ipc/ipc-group.c, src/ipc/ipc-settings.c,
	src/ipc/main.c, src/lda/main.c, src/lib-auth/auth-client-request.c,
	src/lib-auth/auth-client.c, src/lib-auth/auth-master.c, src/lib-auth
	/auth-server-connection.c, src/lib-charset/charset-iconv.c, src/lib-
	charset/charset-utf8.c, src/lib-compression/compression.c, src/lib-
	compression/istream-bzlib.c, src/lib-compression/istream-zlib.c, src
	/lib-compression/ostream-bzlib.c, src/lib-compression/ostream-
	zlib.c, src/lib-dict/dict-client.c, src/lib-dict/dict-db.c, src/lib-
	dict/dict-file.c, src/lib-dict/dict-memcached-ascii.c, src/lib-dict
	/dict-memcached.c, src/lib-dict/dict-redis.c, src/lib-dict/dict-sql-
	settings.c, src/lib-dict/dict-sql.c, src/lib-dict/dict-transaction-
	memory.c, src/lib-dict/dict.c, src/lib-dict/test-dict.c, src/lib-dns
	/dns-lookup.c, src/lib-fs/fs-api.c, src/lib-fs/fs-posix.c, src/lib-
	fs/fs-sis-common.c, src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c,
	src/lib-fs/fs-test.c, src/lib-fs/istream-metawrap.c, src/lib-fs
	/ostream-cmp.c, src/lib-http/http-client-connection.c, src/lib-http
	/http-client-host.c, src/lib-http/http-client-peer.c, src/lib-http
	/http-client-request.c, src/lib-http/http-client.c, src/lib-http
	/http-date.c, src/lib-http/http-header-parser.c, src/lib-http/http-
	parser.c, src/lib-http/http-response-parser.c, src/lib-http/http-
	transfer-chunked.c, src/lib-http/http-url.c, src/lib-http/test-http-
	client.c, src/lib-http/test-http-date.c, src/lib-http/test-http-
	header-parser.c, src/lib-http/test-http-response-parser.c, src/lib-
	http/test-http-transfer.c, src/lib-http/test-http-url.c, src/lib-
	imap-client/imapc-client.c, src/lib-imap-client/imapc-connection.c,
	src/lib-imap-client/imapc-msgmap.c, src/lib-imap-storage/imap-
	msgpart-url.c, src/lib-imap-storage/imap-msgpart.c, src/lib-imap-
	urlauth/imap-urlauth-backend.c, src/lib-imap-urlauth/imap-urlauth-
	connection.c, src/lib-imap-urlauth/imap-urlauth-fetch.c, src/lib-
	imap-urlauth/imap-urlauth.c, src/lib-imap/imap-arg.c, src/lib-imap
	/imap-base-subject.c, src/lib-imap/imap-bodystructure.c, src/lib-
	imap/imap-date.c, src/lib-imap/imap-envelope.c, src/lib-imap/imap-
	id.c, src/lib-imap/imap-match.c, src/lib-imap/imap-parser.c, src
	/lib-imap/imap-quote.c, src/lib-imap/imap-seqset.c, src/lib-imap
	/imap-url.c, src/lib-imap/imap-utf7.c, src/lib-imap/imap-util.c, src
	/lib-imap/test-imap-bodystructure.c, src/lib-imap/test-imap-match.c,
	src/lib-imap/test-imap-parser.c, src/lib-imap/test-imap-url.c, src
	/lib-imap/test-imap-utf7.c, src/lib-imap/test-imap-util.c, src/lib-
	index/mail-cache-compress.c, src/lib-index/mail-cache-decisions.c,
	src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache-
	lookup.c, src/lib-index/mail-cache-sync-update.c, src/lib-index
	/mail-cache-transaction.c, src/lib-index/mail-cache.c, src/lib-index
	/mail-index-alloc-cache.c, src/lib-index/mail-index-dummy-view.c,
	src/lib-index/mail-index-fsck.c, src/lib-index/mail-index-lock.c,
	src/lib-index/mail-index-map-hdr.c, src/lib-index/mail-index-map-
	read.c, src/lib-index/mail-index-map.c, src/lib-index/mail-index-
	modseq.c, src/lib-index/mail-index-strmap.c, src/lib-index/mail-
	index-sync-ext.c, src/lib-index/mail-index-sync-keywords.c, src/lib-
	index/mail-index-sync-update.c, src/lib-index/mail-index-sync.c, src
	/lib-index/mail-index-transaction-export.c, src/lib-index/mail-
	index-transaction-finish.c, src/lib-index/mail-index-transaction-
	sort-appends.c, src/lib-index/mail-index-transaction-update.c, src
	/lib-index/mail-index-transaction-view.c, src/lib-index/mail-index-
	transaction.c, src/lib-index/mail-index-util.c, src/lib-index/mail-
	index-view-sync.c, src/lib-index/mail-index-view.c, src/lib-index
	/mail-index-write.c, src/lib-index/mail-index.c, src/lib-index/mail-
	transaction-log-append.c, src/lib-index/mail-transaction-log-file.c,
	src/lib-index/mail-transaction-log-view.c, src/lib-index/mail-
	transaction-log.c, src/lib-index/mailbox-log.c, src/lib-index/test-
	mail-index-sync-ext.c, src/lib-index/test-mail-index-transaction-
	finish.c, src/lib-index/test-mail-index-transaction-update.c, src
	/lib-index/test-mail-transaction-log-append.c, src/lib-index/test-
	mail-transaction-log-view.c, src/lib-lda/duplicate.c, src/lib-lda
	/lda-settings.c, src/lib-lda/lmtp-client.c, src/lib-lda/mail-
	deliver.c, src/lib-lda/mail-send.c, src/lib-lda/smtp-client.c, src
	/lib-mail/istream-attachment-connector.c, src/lib-mail/istream-
	attachment-extractor.c, src/lib-mail/istream-binary-converter.c, src
	/lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c, src
	/lib-mail/istream-nonuls.c, src/lib-mail/istream-qp-decoder.c, src
	/lib-mail/mail-user-hash.c, src/lib-mail/mbox-from.c, src/lib-mail
	/message-address.c, src/lib-mail/message-binary-part.c, src/lib-mail
	/message-date.c, src/lib-mail/message-decoder.c, src/lib-mail
	/message-header-decode.c, src/lib-mail/message-header-encode.c, src
	/lib-mail/message-header-parser.c, src/lib-mail/message-id.c, src
	/lib-mail/message-parser.c, src/lib-mail/message-part-serialize.c,
	src/lib-mail/message-search.c, src/lib-mail/message-size.c, src/lib-
	mail/quoted-printable.c, src/lib-mail/rfc2231-parser.c, src/lib-
	mail/rfc822-parser.c, src/lib-mail/test-istream-attachment.c, src
	/lib-mail/test-istream-binary-converter.c, src/lib-mail/test-
	istream-dot.c, src/lib-mail/test-istream-header-filter.c, src/lib-
	mail/test-istream-qp-decoder.c, src/lib-mail/test-mbox-from.c, src
	/lib-mail/test-message-address.c, src/lib-mail/test-message-date.c,
	src/lib-mail/test-message-decoder.c, src/lib-mail/test-message-
	header-decode.c, src/lib-mail/test-message-header-encode.c, src/lib-
	mail/test-message-header-parser.c, src/lib-mail/test-message-id.c,
	src/lib-mail/test-message-parser.c, src/lib-mail/test-quoted-
	printable.c, src/lib-mail/test-rfc2231-parser.c, src/lib-master
	/anvil-client.c, src/lib-master/ipc-client.c, src/lib-master/ipc-
	server.c, src/lib-master/master-auth.c, src/lib-master/master-
	instance.c, src/lib-master/master-login-auth.c, src/lib-master
	/master-login.c, src/lib-master/master-service-settings-cache.c, src
	/lib-master/master-service-settings.c, src/lib-master/master-
	service-ssl-settings.c, src/lib-master/master-service-ssl.c, src
	/lib-master/master-service.c, src/lib-master/mountpoint-list.c, src
	/lib-master/syslog-util.c, src/lib-settings/settings-parser.c, src
	/lib-settings/settings.c, src/lib-sql/driver-mysql.c, src/lib-sql
	/driver-pgsql.c, src/lib-sql/driver-sqlite.c, src/lib-sql/driver-
	sqlpool.c, src/lib-sql/sql-api.c, src/lib-sql/sql-db-cache.c, src
	/lib-ssl-iostream/iostream-openssl-common.c, src/lib-ssl-iostream
	/iostream-openssl-context.c, src/lib-ssl-iostream/iostream-openssl-
	params.c, src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-
	iostream/iostream-ssl-none.c, src/lib-ssl-iostream/iostream-ssl.c,
	src/lib-ssl-iostream/istream-openssl.c, src/lib-ssl-iostream
	/ostream-openssl.c, src/lib-storage/fail-mail-storage.c, src/lib-
	storage/fail-mail.c, src/lib-storage/fail-mailbox.c, src/lib-
	storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir-
	save.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox-common
	/dbox-attachment.c, src/lib-storage/index/dbox-common/dbox-file-
	fix.c, src/lib-storage/index/dbox-common/dbox-file.c, src/lib-
	storage/index/dbox-common/dbox-mail.c, src/lib-storage/index/dbox-
	common/dbox-save.c, src/lib-storage/index/dbox-common/dbox-
	storage.c, src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-
	storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-
	multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-purge.c,
	src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
	/dbox-multi/mdbox-settings.c, src/lib-storage/index/dbox-multi
	/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-
	storage.c, src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-
	storage/index/dbox-single/sdbox-copy.c, src/lib-storage/index/dbox-
	single/sdbox-file.c, src/lib-storage/index/dbox-single/sdbox-mail.c,
	src/lib-storage/index/dbox-single/sdbox-save.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single
	/sdbox-sync.c, src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-mail-fetch.c, src/lib-storage/index/imapc
	/imapc-mail.c, src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc/imapc-
	settings.c, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
	storage/index/imapc/imapc-sync.c, src/lib-storage/index/index-
	attachment.c, src/lib-storage/index/index-attribute.c, src/lib-
	storage/index/index-mail-binary.c, src/lib-storage/index/index-mail-
	headers.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-mailbox-check.c, src/lib-storage/index/index-rebuild.c, src
	/lib-storage/index/index-search-result.c, src/lib-storage/index
	/index-search.c, src/lib-storage/index/index-sort-string.c, src/lib-
	storage/index/index-sort.c, src/lib-storage/index/index-status.c,
	src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	sync-changes.c, src/lib-storage/index/index-sync-pvt.c, src/lib-
	storage/index/index-sync-search.c, src/lib-storage/index/index-
	sync.c, src/lib-storage/index/index-thread-finish.c, src/lib-
	storage/index/index-thread-links.c, src/lib-storage/index/index-
	thread.c, src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/istream-mail.c, src/lib-storage/index/maildir/maildir-
	copy.c, src/lib-storage/index/maildir/maildir-filename-flags.c, src
	/lib-storage/index/maildir/maildir-filename.c, src/lib-
	storage/index/maildir/maildir-keywords.c, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
	/maildir-save.c, src/lib-storage/index/maildir/maildir-settings.c,
	src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-util.c,
	src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib-
	storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox/mbox-
	lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/mbox/mbox-md5-all.c, src/lib-storage/index/mbox/mbox-
	md5-apop3d.c, src/lib-storage/index/mbox/mbox-save.c, src/lib-
	storage/index/mbox/mbox-settings.c, src/lib-storage/index/mbox/mbox-
	storage.c, src/lib-storage/index/mbox/mbox-sync-parse.c, src/lib-
	storage/index/mbox/mbox-sync-rewrite.c, src/lib-storage/index/mbox
	/mbox-sync-update.c, src/lib-storage/index/mbox/mbox-sync.c, src
	/lib-storage/index/pop3c/pop3c-client.c, src/lib-storage/index/pop3c
	/pop3c-mail.c, src/lib-storage/index/pop3c/pop3c-settings.c, src
	/lib-storage/index/pop3c/pop3c-storage.c, src/lib-
	storage/index/pop3c/pop3c-sync.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/raw/raw-sync.c, src/lib-storage/index/shared/shared-
	list.c, src/lib-storage/index/shared/shared-storage.c, src/lib-
	storage/list/mailbox-list-delete.c, src/lib-storage/list/mailbox-
	list-fs-flags.c, src/lib-storage/list/mailbox-list-fs-iter.c, src
	/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-
	list-index-backend.c, src/lib-storage/list/mailbox-list-index-
	iter.c, src/lib-storage/list/mailbox-list-index-notify.c, src/lib-
	storage/list/mailbox-list-index-status.c, src/lib-storage/list
	/mailbox-list-index-sync.c, src/lib-storage/list/mailbox-list-
	index.c, src/lib-storage/list/mailbox-list-iter.c, src/lib-
	storage/list/mailbox-list-maildir-iter.c, src/lib-storage/list
	/mailbox-list-maildir.c, src/lib-storage/list/mailbox-list-none.c,
	src/lib-storage/list/mailbox-list-notify-tree.c, src/lib-
	storage/list/mailbox-list-subscriptions.c, src/lib-storage/list
	/subscription-file.c, src/lib-storage/mail-copy.c, src/lib-storage
	/mail-error.c, src/lib-storage/mail-namespace.c, src/lib-storage
	/mail-search-build.c, src/lib-storage/mail-search-parser-cmdline.c,
	src/lib-storage/mail-search-parser-imap.c, src/lib-storage/mail-
	search-parser.c, src/lib-storage/mail-search-register-human.c, src
	/lib-storage/mail-search-register-imap.c, src/lib-storage/mail-
	search-register.c, src/lib-storage/mail-search.c, src/lib-storage
	/mail-storage-hooks.c, src/lib-storage/mail-storage-service.c, src
	/lib-storage/mail-storage-settings.c, src/lib-storage/mail-
	storage.c, src/lib-storage/mail-thread.c, src/lib-storage/mail-
	user.c, src/lib-storage/mail.c, src/lib-storage/mailbox-get.c, src
	/lib-storage/mailbox-guid-cache.c, src/lib-storage/mailbox-header.c,
	src/lib-storage/mailbox-keywords.c, src/lib-storage/mailbox-list-
	notify.c, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
	search-result.c, src/lib-storage/mailbox-tree.c, src/lib-storage
	/mailbox-uidvalidity.c, src/lib-storage/test-mailbox-get.c, src/lib-
	test/test-common.c, src/lib/abspath.c, src/lib/aqueue.c,
	src/lib/array.c, src/lib/askpass.c, src/lib/backtrace-string.c,
	src/lib/base64.c, src/lib/bsearch-insert-pos.c, src/lib/buffer.c,
	src/lib/child-wait.c, src/lib/compat.c, src/lib/connection.c,
	src/lib/crc32.c, src/lib/data-stack.c, src/lib/eacces-error.c,
	src/lib/env-util.c, src/lib/execv-const.c, src/lib/failures.c,
	src/lib/fd-close-on-exec.c, src/lib/fd-set-nonblock.c, src/lib
	/fdatasync-path.c, src/lib/fdpass.c, src/lib/file-cache.c, src/lib
	/file-copy.c, src/lib/file-dotlock.c, src/lib/file-lock.c, src/lib
	/file-set-size.c, src/lib/guid.c, src/lib/hash-format.c, src/lib
	/hash-method.c, src/lib/hash.c, src/lib/hash2.c, src/lib/hex-
	binary.c, src/lib/hex-dec.c, src/lib/home-expand.c,
	src/lib/hostpid.c, src/lib/imem.c, src/lib/ioloop-epoll.c, src/lib
	/ioloop-notify-dn.c, src/lib/ioloop-notify-fd.c, src/lib/ioloop-
	notify-inotify.c, src/lib/ioloop-notify-none.c, src/lib/ioloop-
	poll.c, src/lib/ioloop-select.c, src/lib/ioloop.c, src/lib/iostream-
	rawlog.c, src/lib/iostream-temp.c, src/lib/iostream.c,
	src/lib/ipwd.c, src/lib/iso8601-date.c, src/lib/istream-
	base64-decoder.c, src/lib/istream-base64-encoder.c, src/lib/istream-
	chain.c, src/lib/istream-concat.c, src/lib/istream-crlf.c, src/lib
	/istream-data.c, src/lib/istream-file.c, src/lib/istream-jsonstr.c,
	src/lib/istream-limit.c, src/lib/istream-mmap.c, src/lib/istream-
	rawlog.c, src/lib/istream-seekable.c, src/lib/istream-sized.c,
	src/lib/istream-tee.c, src/lib/istream.c, src/lib/json-parser.c,
	src/lib/lib-signals.c, src/lib/lib.c, src/lib/mempool-alloconly.c,
	src/lib/mempool-datastack.c, src/lib/mempool-system.c, src/lib
	/mempool-unsafe-datastack.c, src/lib/mempool.c, src/lib/mkdir-
	parents.c, src/lib/mmap-anon.c, src/lib/mmap-util.c, src/lib/module-
	dir.c, src/lib/mountpoint.c, src/lib/net.c, src/lib/nfs-
	workarounds.c, src/lib/numpack.c, src/lib/ostream-buffer.c, src/lib
	/ostream-file.c, src/lib/ostream-rawlog.c, src/lib/ostream.c,
	src/lib/primes.c, src/lib/printf-format-fix.c, src/lib/priorityq.c,
	src/lib/process-title.c, src/lib/randgen.c, src/lib/read-full.c,
	src/lib/restrict-access.c, src/lib/restrict-process-size.c, src/lib
	/safe-memset.c, src/lib/safe-mkdir.c, src/lib/safe-mkstemp.c,
	src/lib/sendfile-util.c, src/lib/seq-range-array.c, src/lib/str-
	find.c, src/lib/str-sanitize.c, src/lib/str.c, src/lib/strescape.c,
	src/lib/strfuncs.c, src/lib/strnum.c, src/lib/test-aqueue.c, src/lib
	/test-array.c, src/lib/test-base64.c, src/lib/test-bsearch-insert-
	pos.c, src/lib/test-buffer.c, src/lib/test-crc32.c, src/lib/test-
	hash-format.c, src/lib/test-hex-binary.c, src/lib/test-
	iso8601-date.c, src/lib/test-istream-base64-decoder.c, src/lib/test-
	istream-base64-encoder.c, src/lib/test-istream-concat.c, src/lib
	/test-istream-crlf.c, src/lib/test-istream-seekable.c, src/lib/test-
	istream-tee.c, src/lib/test-json-parser.c, src/lib/test-lib.c,
	src/lib/test-llist.c, src/lib/test-mempool-alloconly.c, src/lib
	/test-network.c, src/lib/test-numpack.c, src/lib/test-ostream-
	file.c, src/lib/test-primes.c, src/lib/test-priorityq.c, src/lib
	/test-seq-range-array.c, src/lib/test-str-find.c, src/lib/test-str-
	sanitize.c, src/lib/test-strescape.c, src/lib/test-strfuncs.c,
	src/lib/test-time-util.c, src/lib/test-unichar.c, src/lib/test-utc-
	mktime.c, src/lib/test-var-expand.c, src/lib/time-util.c,
	src/lib/unichar.c, src/lib/unix-socket-create.c, src/lib/unlink-
	directory.c, src/lib/unlink-old-files.c, src/lib/uri-util.c, src/lib
	/utc-mktime.c, src/lib/utc-offset.c, src/lib/var-expand.c, src/lib
	/write-full.c, src/lmtp/client.c, src/lmtp/commands.c, src/lmtp
	/lmtp-proxy.c, src/lmtp/lmtp-settings.c, src/lmtp/main.c, src/log
	/doveadm-connection.c, src/log/log-connection.c, src/log/log-error-
	buffer.c, src/log/log-settings.c, src/log/main.c, src/login-common
	/access-lookup.c, src/login-common/client-common-auth.c, src/login-
	common/client-common.c, src/login-common/login-proxy-state.c, src
	/login-common/login-proxy.c, src/login-common/login-settings.c, src
	/login-common/main.c, src/login-common/sasl-server.c, src/login-
	common/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c, src
	/login-common/ssl-proxy.c, src/master/capabilities-posix.c,
	src/master/dup2-array.c, src/master/main.c, src/master/master-
	settings.c, src/master/service-anvil.c, src/master/service-listen.c,
	src/master/service-log.c, src/master/service-monitor.c, src/master
	/service-process-notify.c, src/master/service-process.c,
	src/master/service.c, src/plugins/acl/acl-api.c, src/plugins/acl
	/acl-backend-vfile-acllist.c, src/plugins/acl/acl-backend-vfile.c,
	src/plugins/acl/acl-backend.c, src/plugins/acl/acl-cache.c,
	src/plugins/acl/acl-lookup-dict.c, src/plugins/acl/acl-mailbox-
	list.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-plugin.c,
	src/plugins/acl/acl-shared-storage.c, src/plugins/acl/acl-storage.c,
	src/plugins/acl/doveadm-acl.c, src/plugins/autocreate/autocreate-
	plugin.c, src/plugins/expire/doveadm-expire.c, src/plugins/expire
	/expire-plugin.c, src/plugins/expire/expire-set.c, src/plugins/fts-
	lucene/doveadm-fts-lucene.c, src/plugins/fts-lucene/fts-backend-
	lucene.c, src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins
	/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr/fts-backend-
	solr.c, src/plugins/fts-solr/fts-solr-plugin.c, src/plugins/fts-solr
	/solr-connection.c, src/plugins/fts-squat/fts-backend-squat.c,
	src/plugins/fts-squat/fts-squat-plugin.c, src/plugins/fts-squat
	/squat-test.c, src/plugins/fts-squat/squat-trie.c, src/plugins/fts-
	squat/squat-uidlist.c, src/plugins/fts/doveadm-dump-fts-expunge-
	log.c, src/plugins/fts/doveadm-fts.c, src/plugins/fts/fts-api.c,
	src/plugins/fts/fts-build-mail.c, src/plugins/fts/fts-expunge-log.c,
	src/plugins/fts/fts-indexer.c, src/plugins/fts/fts-parser-html.c,
	src/plugins/fts/fts-parser-script.c, src/plugins/fts/fts-parser.c,
	src/plugins/fts/fts-plugin.c, src/plugins/fts/fts-search-
	serialize.c, src/plugins/fts/fts-search.c, src/plugins/fts/fts-
	storage.c, src/plugins/fts/xml2text.c, src/plugins/imap-acl/imap-
	acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c,
	src/plugins/imap-stats/imap-stats-plugin.c, src/plugins/imap-zlib
	/imap-zlib-plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log
	/mail-log-plugin.c, src/plugins/mailbox-alias/mailbox-alias-
	plugin.c, src/plugins/notify/notify-plugin.c, src/plugins/notify
	/notify-storage.c, src/plugins/pop3-migration/pop3-migration-
	plugin.c, src/plugins/quota/doveadm-quota.c, src/plugins/quota
	/quota-count.c, src/plugins/quota/quota-dict.c, src/plugins/quota
	/quota-dirsize.c, src/plugins/quota/quota-fs.c, src/plugins/quota
	/quota-maildir.c, src/plugins/quota/quota-plugin.c,
	src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c,
	src/plugins/replication/replication-plugin.c, src/plugins/snarf
	/snarf-plugin.c, src/plugins/stats/stats-connection.c,
	src/plugins/stats/stats-plugin.c, src/plugins/trash/trash-plugin.c,
	src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual-
	mail.c, src/plugins/virtual/virtual-plugin.c, src/plugins/virtual
	/virtual-save.c, src/plugins/virtual/virtual-search.c,
	src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-
	sync.c, src/plugins/virtual/virtual-transaction.c, src/plugins/zlib
	/zlib-plugin.c, src/pop3-login/client-authenticate.c,
	src/pop3-login/client.c, src/pop3-login/pop3-login-settings.c,
	src/pop3-login/pop3-proxy.c, src/pop3/main.c,
	src/pop3/pop3-client.c, src/pop3/pop3-commands.c,
	src/pop3/pop3-settings.c, src/replication/aggregator/aggregator-
	settings.c, src/replication/aggregator/aggregator.c,
	src/replication/aggregator/notify-connection.c,
	src/replication/aggregator/replicator-connection.c,
	src/replication/replicator/doveadm-connection.c,
	src/replication/replicator/notify-connection.c,
	src/replication/replicator/replicator-brain.c,
	src/replication/replicator/replicator-queue.c,
	src/replication/replicator/replicator-settings.c,
	src/replication/replicator/replicator.c, src/ssl-params/main.c, src
	/ssl-params/ssl-params-openssl.c, src/ssl-params/ssl-params-
	settings.c, src/ssl-params/ssl-params.c, src/stats/client-export.c,
	src/stats/client.c, src/stats/global-memory.c, src/stats/mail-
	command.c, src/stats/mail-domain.c, src/stats/mail-ip.c, src/stats
	/mail-server-connection.c, src/stats/mail-session.c, src/stats/mail-
	stats.c, src/stats/mail-user.c, src/stats/main.c, src/stats/stats-
	settings.c, src/util/gdbhelper.c, src/util/maildirlock.c,
	src/util/rawlog.c, src/util/script-login.c, src/util/script.c,
	src/util/tcpwrap-settings.c, src/util/tcpwrap.c:
	Updated copyright notices to include year 2013.
	[90710c6c3beb]

	* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
	/fts-backend-solr.c, src/plugins/fts-solr/fts-solr-plugin.c,
	src/plugins/fts-solr/fts-solr-plugin.h:
	fts-solr: Deinit solr connection at plugin unload.
	[1b671d03474d]

2013-02-01  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
	/fts-backend-solr.c:
	fts-solr: Reverted previous change, it only crashes. The plugin is
	already unloaded at lib_atexit() time.
	[78bdcb6642c7]

	* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
	/fts-backend-solr.c:
	fts-solr: Free the solr_connection at exit.
	[e62a7ca7d1f2]

2013-02-01  Stephan Bosch  <stephan@rename-it.nl>

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
	private.h, src/lib-http/http-client-request.c, src/lib-http/http-
	client.c, src/lib-http/http-client.h, src/lib-http/test-http-
	client.c:
	lib-http: Various bugfixes
	[c5230b8ffd40]

2013-02-01  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-settings.c, src/auth/auth-settings.h:
	auth: first/last_valid_uid settings shouldn't have had auth_ prefix.
	[18661d1d6ed0]

2013-01-31  Timo Sirainen  <tss@iki.fi>

	* src/lib/ostream.c:
	ostream: If stream is closed with stream_errno=0, set it to EPIPE.
	[4a59737dd2ca]

	* src/lib/ostream.c:
	ostream: Default seek&write_at implementations should fail with
	ESPIPE, not EPIPE.
	[07ee9842a00b]

	* src/replication/replicator/doveadm-connection.c:
	replicator: Don't try to reuse doveadm connections (and have them
	immediately fail)
	[e9e6a95cea21]

	* src/plugins/replication/replication-plugin.c:
	replicator plugin: Use non-blocking open for the replicator fifo.
	This fixes an infinite hang if the replicator process isn't running.
	[0a5a19067d95]

	* src/replication/replicator/doveadm-connection.c:
	replicator: Use locking when running dsync.
	[138f1c76c0ec]

	* src/replication/replicator/replicator-brain.c:
	replicator: Crashfix at deinit
	[1bd70d505ef7]

	* src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync/dsync-
	mailbox-import.c:
	dsync: More fixes to merging flag/keyword changes.
	[85e464d088da]

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: Added "modseq" field.
	[61aaf4102761]

	* src/doveadm/dsync/dsync-mail.h, src/doveadm/dsync/dsync-mailbox-
	export.c, src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixed syncing message keywords. "add" and "final" can't be
	mixed together always without causing keywords to be added back
	unintentionally.
	[067179cbabc2]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: If both local and remote have the same message flags, don't
	go changing them.
	[9b7d80a8db44]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: When we know that remote does a flag update, try to guess the
	remote's new modseq and set it
	[798a335d99b0]

	* src/doveadm/dsync/dsync-mailbox-tree-fill.c:
	dsync: If mailbox UIDVALIDITY is 0, sync it to assign it instead of
	assert-crashing.
	[86629f621fe4]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixed syncing keyword removals.
	[2801de211b78]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Increased "remote cmd exit wait" from 5 to 30 seconds.
	[47ad56ea1788]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Ignore GUID mismatch on expunged message pair.
	[1d88f01ba2aa]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: If remote command child process doesn't die at exit, kill -9
	it.
	[070ca24e5846]

2013-01-30  Timo Sirainen  <tss@iki.fi>

	* src/auth/mech-gssapi.c:
	auth: Fixed compiling GSSAPI after recent changes.
	[9afe5c6c1c1f]

	* src/auth/auth-fields.c, src/auth/auth-fields.h, src/auth/auth-
	master-connection.c, src/auth/auth-request-handler.c, src/auth/auth-
	request.c, src/auth/auth-request.h, src/auth/auth-settings.c,
	src/auth/auth-settings.h, src/auth/auth-worker-client.c,
	src/auth/auth.c, src/auth/auth.h, src/auth/mech-gssapi.c, src/auth
	/passdb-blocking.c:
	auth: Added passdb { result_* and skip } settings.

	passdb { skip = never | authenticated | unauthenticated } can be
	used to skip over a passdb lookup based on previous passdb lookups.

	passdb { result_success, result_failure, result_internalfail } can
	be used to specify what to do on those conditions. Choices as
	continue, continue-ok, continue-fail, return, return-ok, return-
	fail. The -ok and
	-fail variants update the current "success" flag, while
	continue/return uses the current flag. The authentication succeeds
	only if the success flag is set after the last lookup. The continue
	variants continue to the next passdb, while return variants finish
	the lookup immediately.
	[d60aa734c72d]

	* src/auth/auth-request.c:
	auth: Code cleanup: Renamed some fields used in internal
	communication with worker.
	[9e93a5743c95]

	* src/auth/auth-worker-client.c:
	auth: Auth requests' flag fields were never passed to worker
	processes.
	[105c40084c5c]

	* src/auth/auth-request-handler.c:
	auth: Fixed login USER reply broken by recent changes.
	[cf63624b2566]

	* src/auth/auth-request-handler.c, src/auth/auth-request.c, src/auth
	/auth-request.h, src/auth/auth-worker-client.c, src/auth/db-
	checkpassword.c, src/auth/mech-gssapi.c, src/auth/passdb-dict.c,
	src/auth/passdb-ldap.c, src/auth/passdb-sql.c:
	auth: Cleaned up flags in auth request. Removed those that already
	exist in extra_fields. It's now slightly slower to check for those
	flags in extra_fields, but it's going to be easier to make
	commit/rollback feature to extra_fields.
	[686f32406220]

	* src/auth/auth-fields.c, src/auth/auth-fields.h:
	auth: Allocate auth-fields array lazily. Also some naming cleanups.
	[06b41206ed4e]

	* src/auth/Makefile.am, src/auth/auth-client-connection.c, src/auth
	/auth-fields.c, src/auth/auth-fields.h, src/auth/auth-master-
	connection.c, src/auth/auth-postfix-connection.c, src/auth/auth-
	request-handler.c, src/auth/auth-request.c, src/auth/auth-request.h,
	src/auth/auth-stream.c, src/auth/auth-stream.h, src/auth/auth-
	worker-client.c, src/auth/db-checkpassword.c, src/auth/passdb-
	blocking.c, src/auth/userdb-blocking.c, src/auth/userdb.h:
	auth: Code cleanup: Renamed auth-stream to auth-fields.
	[17f5257d60c1]

	* src/auth/auth-master-connection.c, src/auth/auth-request-handler.c,
	src/auth/auth-request.c, src/auth/auth-request.h, src/auth/auth-
	stream.c, src/auth/auth-stream.h, src/auth/auth-worker-client.c,
	src/auth/db-checkpassword.c, src/auth/userdb-blocking.c:
	auth: Code cleanup: Merged extra_cache_fields into extra_fields.
	They are separated using a hidden-flag in the extra field. This
	required a new implementation for auth-streams.
	[cc4472f02f70]

	* src/auth/auth-stream.c, src/auth/auth-stream.h:
	auth: Code cleanup: Minor auth_stream API simplifications.
	[f11ae64365b5]

	* src/auth/auth-client-connection.c, src/auth/auth-master-
	connection.c, src/auth/auth-master-connection.h, src/auth/auth-
	request-handler.c, src/auth/auth-request-handler.h, src/auth/auth-
	request.c, src/auth/auth-request.h:
	auth: Code cleanup: Avoid using auth_stream_reply as temporary
	strings.
	[526aa986d534]

	* src/auth/auth-request-handler.c, src/auth/auth-request.h:
	auth: Code cleanup: Removed unnecessary userdb_ prefix checks. The
	userdb_ fields are nowadays placed to userdb_reply immediately.
	[3fac9306be3e]

	* src/auth/auth-request.c, src/auth/auth-request.h, src/auth/auth-
	stream.c, src/auth/auth-stream.h, src/auth/auth-worker-client.c,
	src/auth/auth-worker-server.c, src/auth/auth-worker-server.h,
	src/auth/passdb-blocking.c, src/auth/userdb-blocking.c:
	auth: Code cleanup: Removed unnecessary auth_stream_reply usage from
	auth-worker communication.
	[55d20120b348]

	* src/auth/auth-request.c, src/auth/auth-stream.c, src/auth/auth-
	stream.h:
	auth: Code cleanup - removed auth_stream_split()
	[0897fc01fb93]

2013-01-29  Timo Sirainen  <tss@iki.fi>

	* README:
	README: Added RFC 6851
	[449c56aabbb6]

2013-01-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage.c:
	lib-storage: Allow mail_storage_copy_error() with the same source
	and dest. If it was used without checking it would try to free the
	error string and after that strdup() it.
	[6724d4ae26ec]

	* src/doveadm/dsync/dsync-ibc-pipe.c, src/doveadm/dsync/dsync-mail.h,
	src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync/dsync-
	mailbox-import.c:
	dsync: When syncing locally, mailbox_copy() the mail to attempt a
	fast copy.
	[d3cda5a567be]

	* src/doveadm/dsync/dsync-ibc-pipe.c:
	dsync: Fixed syncing locally when GUIDs weren't available.
	[ceb75581cfcb]

2013-01-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-storage.c:
	lib-storage: Fixed mailbox_exists() for LAYOUT=index.
	[6fa779e1d663]

2013-01-22  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-brain-mailbox.c:
	dsync: Error handling crashfix
	[4673af53e7e6]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Handle mailbox_update() when possible, instead of always just
	failing.
	[83803323f357]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Return INTERNALDATE as save-date (better than error).
	[aa60f457a23f]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Avoid unnecessarily selecting a mailbox when looking up its
	GUID.
	[1706b3490966]

2013-01-21  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-ibc-pipe.c, src/lib-storage/index/index-
	status.c:
	Increased initial memory pool sizes.
	[be5ce6c06b08]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Added a quick way to debug unexpected changes.
	[583ea6b63c5d]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixes to handling storage formats that don't use 128bit
	GUIDs.
	[1b18ff11effc]

	* src/lib-dict/dict-cdb.c:
	dict-cdb: Handle cdb_read() errors.
	[87a709eb7b28]

	* configure.ac, src/dict/main.c, src/lib-dict/Makefile.am, src/lib-
	dict/dict-cdb.c, src/lib-dict/dict-private.h:
	dict: Added support for cdb backend. Based on patch by Hleb
	Valoshka.
	[2c249941f9c2]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixed infinite loop when message suddenly got expunged.
	[9aba8584e5eb]

	* src/lib-index/mail-index-transaction-sort-appends.c, src/lib-index
	/mail-index-transaction-update.c:
	lib-index: Fixed sorting appended messages when some were assigned
	new UIDs.
	[df2e46c38c92]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: If remote doesn't send some message bodies, log an error
	about each one separately.
	[fc5c3281d6d3]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync backup: Old unwanted messages weren't deleted as they should
	have.
	[940414cea18d]

	* src/lib-index/mail-transaction-log-view.c:
	lib-index: mail_transaction_log_view_set_all() didn't necessarily
	scan .log.2 file.
	[22a1f4cfe9fb]

	* src/doveadm/dsync/dsync-transaction-log-scan.c:
	dsync: GUIDs weren't set properly to expunge records, causing non-
	optimal behavior.
	[9d461d3b2fe7]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixed crashes when sending already expunged messages.
	[3a395a61f109]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Verify messages' GUIDs better.
	[f0dbe8fc8905]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Fixed syncing to non-remote locations.
	[4260de42d93c]

	* src/lib-fs/Makefile.am, src/lib-fs/fs-api-private.h, src/lib-fs/fs-
	api.c, src/lib-fs/fs-metawrap.c, src/lib-fs/istream-metawrap.c, src
	/lib-fs/istream-metawrap.h:
	lib-fs: Added "metawrap" wrapper to implement metadata as headers in
	the file content.
	[5818d8f488c1]

	* src/lib/istream.c:
	i_stream_read_next_line() should have also set eof=TRUE on ENOBUFS
	errors.
	[ee177df07178]

	* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
	posix.c, src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c:
	lib-fs: fs_file_path() is now a virtual function. This fixes it
	returning the correct filename when file was created using
	FS_OPEN_MODE_CREATE_UNIQUE_128 and a wrapper fs.
	[df8fd01f355c]

	* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
	api.h, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-queue.c, src/lib-fs
	/fs-sis.c, src/lib-fs/fs-test.c:
	lib-fs: Added flags to iteration, and FS_ITER_FLAG_DIRS as the first
	flag.
	[6e5adbf30e35]

2013-01-17  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail.h:
	doveadm: Compiling fix
	[33830df49f59]

2013-01-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-single/sdbox-sync.c:
	sdbox: Fixed rebuilding index when UIDVALIDITY is missing.
	[ba0fae268904]

	* src/lib-storage/index/index-rebuild.c:
	sdbox: next-uid may have been set wrong when rebuilding indexes for
	empty mailbox.
	[353a2a6406aa]

	* src/doveadm/doveadm-settings.c:
	dsync_remote_cmd: The -l parameter no longer exists.
	[5eedc2b9cb23]

2013-01-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-transaction-update.c:
	lib-index: Newly added messages weren't always sorted by UIDs.
	[6139eac53d72]

	* Makefile.am, configure.ac:
	dovecot-config: Removed unnecessary/duplicate ssl library links.
	[0e12a687f5bf]

2013-01-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-transaction-finish.c:
	lib-index: Added asserts.
	[970dc6b0760b]

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Fixed marking transaction log file corrupted due to added
	O_APPEND flag.
	[6f62a31bf0d4]

	* src/doveadm/doveadm-auth.c:
	doveadm user: Avoid initializing the user as much as possible.
	[70b97cecdacd]

	* doc/example-config/conf.d/10-mail.conf:
	example-config: Added mail_attribute_dict
	[ca2be7b7da3e]

	* src/auth/db-passwd-file.c, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/server-connection.c, src/lib-lda/lmtp-client.c,
	src/plugins/acl/acl-backend-vfile.c, src/plugins/fts/fts-indexer.c,
	src/plugins/fts/fts-parser-script.c:
	Several fixes to handling "istream input line too long" conditions.
	[19403b3926f9]

	* src/lib/istream.c, src/lib/istream.h:
	i_stream_read_next_line() now sets stream_errno=ENOBUFS if input
	buffer gets full. Previously the caller couldn't easily separate
	this condition from "more data needed", potentially causing infinite
	loops.
	[20a545f932e3]

2013-01-13  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/client-connection.c:
	doveadm: Increased doveadm client's max command line length.
	[6654ed22af78]

2013-01-11  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-storage/imap-msgpart.c:
	lib-imap-storage: Removed broken optimization for seeking to partial
	offset. The optimization worked only when physical_start=0. It would
	have been possible to fix it by finding the message_part where its
	header of body offset is physical_start and only then start
	decreasing virtual_skip, but probably too much complexity to be
	worth the trouble, especially since clients rarely would benefit
	from this optimization.
	[d4e7a3184a82]

	* src/lib-imap-storage/imap-msgpart.c, src/lib-imap-storage/imap-
	msgpart.h:
	lib-imap-storage: Added imap_msgpart_get_partial_size() missing from
	previous commit.
	[b0e0eb30c2b9]

	* src/imap/imap-fetch-body.c:
	imap: Improved unexpected FETCH error messages.
	[b56e7845a9e8]

2013-01-10  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Added "remoteprefix:" destination, which is same as "remote:"
	except sends "username\n" prefix.
	[b468c30c4522]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Wait for remote command to finish before shutting down. This
	makes sure that any error messages during deinit stage are logged.
	Also non-zero exit codes are logged.
	[68b7c9ce713b]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync server: Fixed crash at deinit
	[4da6d4fa1892]

	* src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-ibc-pipe.c,
	src/doveadm/dsync/dsync-ibc-private.h, src/doveadm/dsync/dsync-ibc-
	stream.c, src/doveadm/dsync/dsync-ibc.c, src/doveadm/dsync/dsync-
	ibc.h:
	dsync: Close mail streams earlier on failures to avoid assert-
	crashing
	[40dd9a080b6e]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Maildir++ layout shouldn't disallow "cur", "new" or
	"tmp" mailbox names.
	[577c6dd315c3]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Improved "Using permissions" debug message.
	[7035da8cfaf4]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Added support back for dsync locking. Only the source
	directory is now locked to avoid deadlocks when both source and
	destination are locked. This of course now means that both source
	and destination is allowed to run dsync at the same time, which
	isn't ideal either..
	[ce0bd8ab1459]

	* src/doveadm/dsync/dsync-mailbox-export.c:
	dsync: Attempt to preserve \Recent flag as well
	[f6d69bc1beed]

	* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
	dsync: Handle syncing mailboxes with same name but different GUIDs.
	[f106740d92a0]

	* src/doveadm/doveadm-settings.c, src/doveadm/dsync/doveadm-dsync.c:
	dsync: Removed unnecessary -n parameter from dsync-server. The
	setting is sent within dsync protocol.
	[1a47a0df6ad0]

	* src/replication/replicator/doveadm-connection.c,
	src/replication/replicator/doveadm-connection.h,
	src/replication/replicator/replicator-brain.c,
	src/replication/replicator/replicator-queue.c,
	src/replication/replicator/replicator-queue.h:
	replicator: Use stateful dsyncing whenever possible.
	[b21f3119a5ee]

	* src/replication/replicator/doveadm-connection.c:
	replicator: doveadm connections weren't reset properly
	[59cef0c673b4]

	* src/doveadm/dsync/dsync-mailbox-state.c:
	dsync: Fixed parsing state string.
	[1d7d160015cb]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Crashfix for storage rebuild
	[42a88f557662]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Fixed printing output state when running via doveadm-server.
	[29e5702b23ab]

	* src/doveadm/doveadm-print.c:
	doveadm: Added assert.
	[90a603209bad]

2013-01-09  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Another fix to handling expunges from the end of mailbox.
	[b27245a6adde]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Mailbox syncing fix
	[b338c4a08f42]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Error handling fix.
	[2c4394d0360b]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	Merged changes from v2.1 tree.
	[ec9b98df8c72]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox rebuild: Update to previous commit
	[1ab8e0e699f7]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox rebuild: Don't always duplicate messages that have conflicting
	GUIDs.
	[6ff1678c289f]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox rebuild: Use mail size instead of record size when guessing if
	the mails are the same.
	[b0bd7b2ff1c5]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixed handling UID renumbering when new mail was saved during
	dsync.
	[a0493fa018fa]

	* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	mailbox-import.c, src/doveadm/dsync/dsync-mailbox-import.h:
	dsync: Don't wrongly log errors about missing message bodies. Also
	added some debug logging related to it.
	[cc77431b09b4]

	* src/lib/ostream-file.c:
	o_stream_send_istream(): Fixed copying within same file, when
	istream's size is unknown. This fixes copying a mail from mdbox's
	m.* file to the end of the same file.
	[3d3625d18231]

	* src/lib-index/mail-index.h:
	lib-index: Comment update
	[7bbc5c50c309]

	* .hgsigs, .hgtags, NEWS, configure.ac, src/lib-storage/index/dbox-
	common/dbox-file.c, src/lib-storage/index/dbox-multi/mdbox-save.c,
	src/lib-storage/index/index-mail.c, src/lib/buffer.c, src/lib/net.c:
	Merged changes from v2.1 tree.
	[f06419a40a06]

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: Allow reflink-copying a mail when wanted GUID matches the
	current GUID.
	[df06c834d7e8]

	* src/lib-storage/index/index-mail.c:
	lib-storage: dest_mail wasn't reset if previous save was aborted.
	This could have happened only with dsync.
	[b87a7c4d775f]

	* src/lib-storage/index/dbox-common/dbox-file.c:
	dbox: Give a name to the file's output stream (for improved error
	logging).
	[bdd1499989c6]

2013-01-08  Timo Sirainen  <tss@iki.fi>

	* src/lib/buffer.c:
	DEBUG: buffer_verify_pool() crashed with empty buffer.
	[e098f2f90fb2]

	* src/lib/buffer.c:
	DEBUG: buffer_verify_pool() crashed with static sized buffers.
	[427dd81baa8d]

	* run-test.sh:
	run-test.sh didn't exit with failure code when the test failed
	[3e3e0b482a36]

	* src/lib/network.c:
	net_connect_unix(): If path is too long, return ENAMETOOLONG if it's
	available.
	[e4cc3f2b66e3]

2013-01-07  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset cf9d62fd0b14
	[36eb80cd02ea]

	* .hgtags:
	Added tag 2.1.13 for changeset cf9d62fd0b14
	[a6ce877f1cd7]

	* NEWS, configure.in:
	Released v2.1.13.
	[cf9d62fd0b14] [2.1.13]

2013-01-08  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Make remote's stderr fd nonblocking to avoid hanging.
	[2ae4a40b3b24]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Fixes to printing remote's stderr output.
	[f0c11f532e3b]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Print remote's stderr line-buffered. Especially when
	debugging is enabled there can be a lot of output, which makes this
	useful.
	[6ff774dc0b6e]

	* src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync/dsync-
	brain.c, src/doveadm/dsync/dsync-ibc-pipe.c, src/doveadm/dsync
	/dsync-ibc-private.h, src/doveadm/dsync/dsync-ibc-stream.c,
	src/doveadm/dsync/dsync-ibc.c, src/doveadm/dsync/dsync-ibc.h:
	dsync: Fixes to handling output stream buffering.
	[5bb80a6491eb]

	* src/replication/replicator/doveadm-connection.c:
	replicator: Send only one sync command to doveadm-server per
	connection. This fixes setuid()/setgid() problems when multiple UIDs
	are used.
	[e0d4d8f9d097]

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Minor fix for talking with remote dsync.
	[0949ddc3a892]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Crashfix for handling expunges from end of mailbox.
	[a7be0c9a00df]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Fixed syncing expunge for last mail in mailbox.
	[ea3c1bd6d434]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Avoid updating modseqs unnecessarily. lib-index perhaps
	should do this automatically as well.
	[df5b25b11592]

	* src/doveadm/dsync/dsync-brain-mails.c:
	dsync: Avoid infinite looping.
	[475a494b2fab]

	* src/doveadm/dsync/dsync-mailbox-export.c:
	dsync: Assert-crashfix for handling keywords.
	[cf361d83bea6]

	* src/lib-index/test-mail-transaction-log-append.c:
	lib-index: Fixed failing transaction log test.
	[051affd69699]

	* src/lib-imap/test-imap-bodystructure.c:
	test-imap-bodystructure: Fixed the test to pass with new imap-quote
	logic.
	[6a19df272459]

	* run-test.sh:
	run-test.sh didn't exit with failure code when the test failed
	[22e39b6bef32]

	* src/lib-http/Makefile.am:
	Makefile: Removed test-http-client from "make check". Not really a
	good idea to connect to remote servers (that might fail) during a
	normal make check.
	[425dc9afd023]

2013-01-07  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 86bccdf46d17
	[44b7fe18e5b6]

	* .hgtags:
	Added tag 2.2.beta1 for changeset 86bccdf46d17
	[ebec57410960]

	* configure.ac:
	Released v2.2.beta1.
	[86bccdf46d17] [2.2.beta1]

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	private.h, src/lib-http/http-client-request.c, src/lib-http/http-
	transfer-chunked.c, src/lib-http/test-http-client.c:
	lib-http: Various fixes Patch by Stephan Bosch.
	[d1eaa348482f]

2013-01-05  Timo Sirainen  <tss@iki.fi>

	* .hgsigs, .hgtags, Makefile.am, NEWS, configure.ac, src/auth/auth-
	master-connection.c, src/auth/auth-request.c, src/auth/auth-
	stream.c, src/auth/auth-stream.h, src/auth/db-ldap.c,
	src/auth/mech.c, src/auth/password-scheme.c, src/auth/userdb-
	passwd.c, src/config/main.c, src/doveadm/client-connection.c,
	src/doveadm/doveadm-mail-server.c, src/doveadm/doveadm-mail.h,
	src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-pager.c,
	src/doveadm/doveadm-print-table.c, src/doveadm/server-connection.c,
	src/imap/cmd-append.c, src/imap/cmd-copy.c, src/imap/imap-sync.c,
	src/indexer/master-connection.c, src/lib-auth/auth-master.c, src
	/lib-auth/auth-master.h, src/lib-dict/dict-file.c, src/lib-index
	/mail-cache-compress.c, src/lib-index/mail-cache-fields.c, src/lib-
	index/mail-cache-private.h, src/lib-index/mail-cache-transaction.c,
	src/lib-index/mail-cache.c, src/lib-index/mail-index-alloc-cache.c,
	src/lib-index/mail-index-transaction-view.c, src/lib-lda/mail-
	deliver.c, src/lib-master/mountpoint-list.c, src/lib-ssl-iostream
	/iostream-openssl.c, src/lib-storage/index/dbox-multi/mdbox-map.c,
	src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
	/dbox-multi/mdbox-storage-rebuild.c, src/lib-storage/index/index-
	sync.c, src/lib-storage/index/raw/raw-mail.c, src/lib-
	storage/index/shared/shared-storage.c, src/lib-storage/mail-
	storage.h, src/lib-storage/mail-user.c, src/lib-storage/mail-user.h,
	src/lib-storage/mailbox-list.c, src/lib/Makefile.am,
	src/lib/buffer.c, src/lib/buffer.h, src/lib/mkdir-parents.c, src/lib
	/mkdir-parents.h, src/lib/str.c, src/lib/test-lib.c, src/lib/test-
	lib.h, src/lib/unichar.c, src/lib/unichar.h, src/lib/var-expand.c,
	src/login-common/login-proxy.c, src/login-common/ssl-proxy-
	openssl.c, src/plugins/acl/acl-mailbox.c, src/plugins/expire
	/doveadm-expire.c, src/plugins/fts-solr/fts-backend-solr-old.c,
	src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts-solr/solr-
	connection.c, src/plugins/fts/fts-api-private.h, src/plugins/fts
	/fts-build-mail.c, src/plugins/fts/fts-parser-script.c, src/plugins
	/lazy-expunge/lazy-expunge-plugin.c, src/plugins/mailbox-alias
	/mailbox-alias-plugin.c, src/plugins/quota/quota-storage.c,
	src/plugins/stats/stats-plugin.c, src/plugins/virtual/virtual-
	config.c, src/plugins/virtual/virtual-mail.c, src/stats/mail-
	session.c:
	Merged changes from v2.1 tree.
	[13e74bd5ac8c]

	* src/auth/auth-request.c, src/auth/auth-stream.c, src/auth/auth-
	stream.h:
	auth: Fixed handling usernames with the same name as userdb extra
	fields. This is a bit kludgy fix, but pretty much guaranteed not to
	break anything. v2.2 has a cleaner fix, but it's a bit more
	invasive.
	[3eeb5270963b]

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy_expunge: Allow expunging from lazy_expunge namespace via
	virtual mailbox. (Instead of copying the message all over again to
	the lazy_expunge namespace.)
	[fc521e6378d5]

2013-01-04  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-storage.c:
	quota: Don't crash if shared namespace's owner doesn't have quota
	enabled (but you have).
	[c91d142130be]

	* src/lib/Makefile.am, src/lib/test-lib.c, src/lib/test-lib.h, src/lib
	/test-unichar.c, src/lib/unichar.c:
	uni_utf8_*(): Treat overlong UTF8 sequences as invalid.
	[7be4709aab5e]

	* src/plugins/acl/acl-storage.c:
	acl: Treat empty plugin { acl } setting the same as if it didn't
	exist. This allows using -o plugin/acl= to disable ACLs.
	[721aba9128b9]

	* src/lib/str.c:
	DEBUG: Call buffer_verify_pool() on str_c*()
	[a7a45a56211c]

	* src/lib/buffer.c, src/lib/buffer.h:
	Added buffer_verify_pool()
	[9fda4feb6e2d]

2013-01-03  Timo Sirainen  <tss@iki.fi>

	* src/plugins/virtual/virtual-mail.c:
	virtual storage: get_first_header() always returned "doesn't exist",
	breaking SORT/THREAD.
	[abcc9959b757]

2012-12-07  lion  <lion@ubuntu.ubuntu-domain>

	* src/lib-index/mail-index-transaction-view.c:
	lib-index: Optimized single sequence lookup of newly created mails
	in transaction view.
	[c9e6ad8a42db]

	* src/lib-index/mail-index-transaction-view.c:
	lib-index: Fixed sequence lookup of newly created mails in
	transaction view.
	[7f4835cff04a]

2012-12-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-cache-compress.c, src/lib-index/mail-cache.c:
	lib-index: If map_with_read gets disabled, reset the cache buffers
	properly.
	[32ce915e046a]

2012-12-18  Timo Sirainen  <tss@iki.fi>

	* src/auth/password-scheme.c:
	auth: Added CLEAR as yet another alias to PLAIN/CLEARTEXT password
	scheme. This apparently is used by Sun LDAP server.
	[bde8963a3774]

	* src/lib-index/mail-cache.c:
	lib-index: MAIL_INDEX_OPEN_FLAG_SAVEONLY was buggy when reading data
	near end of dovecot.index.cache. We assumed that we read as much as
	we requested, even if the file was smaller.
	[bded819417d9]

	* src/lib-index/mail-cache-fields.c:
	lib-index: Make sure a corrupted mail_cache_header_fields.size
	doesn't cause crashes.
	[2f848393f78e]

	* src/lib-storage/index/raw/raw-mail.c:
	raw storage: Make sure "from envelope" isn't returned as NULL.
	[579984fdb6e5]

	* src/config/main.c:
	config: Notify process creation success to master only after parsing
	config file
	[bc11033ef035]

	* doc/example-config/Makefile.am:
	example-config: Added missing dovecot-dict-auth.conf.ext
	[310b3a77a9d1]

	* src/lib-index/mail-index-alloc-cache.c:
	lib-index: If sure mail_index_alloc_cache_destroy_unrefed() closes
	indexes it alone keeps open. This makes sure that all index files
	are closed within process when mailbox is deleted.
	[b53ab1c11843]

	* src/indexer/master-connection.c:
	indexer-worker: Don't assert-crash with some mailbox names in some
	configurations. Virtual mailbox name shouldn't be accessed directly
	using mailbox_list_*() functions, since they expect a storage name.
	In some configurations this could have caused assert-crashes with
	mailbox names that contained invalid characters.
	[04704d1eb6c3]

	* src/auth/mech.c:
	auth: When auto-loading auth mechanisms from plugins, generate the
	name better.
	[4ec13ce76f6e]

2012-12-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-dict/dict-file.c:
	dict-file: Automatically mkdir missing parent directories if they
	don't exist.
	[3c6a13c0d525]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Use stat_first_parent() instead of doing it ourself.
	[c0ad6afa4128]

	* src/lib/mkdir-parents.c, src/lib/mkdir-parents.h:
	Added stat_first_parent() helper function.
	[40f9e2e339a6]

2012-12-11  Timo Sirainen  <tss@iki.fi>

	* src/plugins/virtual/virtual-config.c:
	virtual plugin: Don't fail if mailbox patterns don't match anything.
	[f13f2725882e]

2012-12-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/mountpoint-list.c:
	lib-master: Ignore /Volumes and /private/tmp mountpoints with OSX
	(only).
	[265adb00eacd]

	* src/lib-master/mountpoint-list.c:
	lib-master: Ignore mountpoints under /Volumes by default.
	[657cb4c35a0e]

	* src/doveadm/doveadm-print-table.c:
	doveadm: table formatter supports now writing by streaming. This
	fixes it to work with doveadm server, which sometimes may use
	streaming.
	[c1e47738e7c3]

	* src/imap/cmd-append.c, src/imap/cmd-copy.c, src/lib-storage/mail-
	storage.h, src/plugins/acl/acl-mailbox.c:
	imap: If mailbox doesn't have read ACL, hide APPENDUID/COPYUID resp-
	codes.
	[f74f1b14975d]

	* src/plugins/fts-solr/solr-connection.c:
	fts-solr: Fixed memory leak
	[cfa6fc9d2856]

2012-11-30  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 75bfda4a7c6c
	[b60872b87d26]

	* .hgtags:
	Added tag 2.1.12 for changeset 75bfda4a7c6c
	[23ed55ce16d0]

	* NEWS, configure.in:
	Released v2.1.12.
	[75bfda4a7c6c] [2.1.12]

	* src/doveadm/client-connection.c, src/doveadm/doveadm-mail.h,
	src/plugins/expire/doveadm-expire.c:
	expire plugin: Don't crash when doveadm is run with proxying
	[75dc4cb4bfe0]

2012-11-29  Timo Sirainen  <tss@iki.fi>

	* Makefile.am:
	Makefile: dovecot-config was missing quotes in LIBDOVECOT_LOGIN
	[f77e87298a66]

	* .hgsigs:
	Added signature for changeset 741d800a192f
	[b101277a3d26]

	* .hgtags:
	Added tag 2.1.11 for changeset 741d800a192f
	[15ec2d078a17]

	* NEWS, configure.in:
	Released v2.1.11.
	[741d800a192f] [2.1.11]

	* src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-pager.c,
	src/doveadm/doveadm-print-tab.c:
	doveadm: Don't truncate printed output that contain NUL bytes.
	doveadm fetch text output especially could have been truncated.
	[6fde42ec5c81]

2012-11-28  Timo Sirainen  <tss@iki.fi>

	* src/stats/mail-session.c:
	stats: Log username and service for invalid UPDATE-SESSIONs
	[c81f1ca3cda6]

	* src/plugins/stats/stats-plugin.c:
	stats: Fixed crash when handling multiple users within same process.
	[31ed1f5cc8f1]

	* src/lib-index/mail-cache.c:
	lib-index: Fixed assert-crash caused by recent cache file changes.
	[348e9bad84f0]

	* src/lib-index/mail-cache.c:
	lib-index: Fixed memory leak with MAIL_INDEX_OPEN_FLAG_SAVEONLY
	[e62938129955]

	* src/doveadm/doveadm-mail-server.c:
	doveadm: Log better errors for failing passdb proxy lookups.
	[8bc9d40d77c4]

	* src/lib-auth/auth-master.c, src/lib-auth/auth-master.h:
	lib-auth: Added auth_master_get_socket_path()
	[755a2f08cde5]

2012-11-27  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: XML-encode non-body fields as well
	[6a97faf3e500]

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Handle better when attempting to access shared
	mailboxes for nonexistent users.
	[7bca3be44b8f]

	* src/lib-storage/mail-user.c, src/lib-storage/mail-user.h:
	lib-storage: Added struct mail_user.nonexistent flag, which is
	filled by userdb lookup.
	[fe1be6725304]

	* src/plugins/fts/fts-parser-script.c:
	fts_parser: Minor error logging improvement
	[a9e7f9333f57]

	* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
	/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: When rebuilding storage, fsck the map index first to make
	sure it's valid. This fixes assert-crash when the map index
	contained records with UIDs in wrong order.
	[8770940057b9]

	* src/plugins/mailbox-alias/mailbox-alias-plugin.c:
	mailbox-alias plugin: Error handling fix.
	[fd2d24171afd]

	* src/lib-index/mail-cache-private.h, src/lib-index/mail-cache-
	transaction.c:
	lib-index: Added v2.2+ forwards compatibility to dovecot.index.cache
	[55e84bb452e6]

	* src/login-common/ssl-proxy-openssl.c:
	login: Reverted previous fix attempt for SSL_accept() busy-looping.
	Apparently didn't work. Probably this patch doesn't help anything
	then, so just remove the extra complexity.
	[174d7e974326]

	* src/auth/userdb-passwd.c:
	auth: userdb passwd lookups should have been done via worker
	processes by default.
	[8e5d9d88e250]

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Removed deprecated waitFlush parameter from commit.
	[0f3972fa6dba]

	* src/lib/unichar.c, src/lib/unichar.h, src/plugins/fts-solr/fts-
	backend-solr-old.c, src/plugins/fts-solr/fts-backend-solr.c,
	src/plugins/fts/fts-api-private.h, src/plugins/fts/fts-build-mail.c,
	src/plugins/fts/fts-parser.c, src/plugins/fts/fts-parser.h:
	Reversed recent "short utf8" changes. Solr code needs to parse the
	UTF8 input explicitly anyway to encode the XML characters. And all
	the character checks were already done in it.
	[f584aae3b566]

	* src/doveadm/client-connection.c:
	doveadm-server: Reset headers in print output between running
	commands.
	[fdc509644d05]

	* src/doveadm/client-connection.c:
	doveadm-server: Avoid eating CPU when client disconnects before
	authentication is done.
	[0dc3f56e6468]

	* src/doveadm/server-connection.c:
	doveadm: Don't disconnect from server too early while there are
	still commands.
	[275a57b8dc70]

	* src/doveadm/doveadm-mail-server.c:
	doveadm: Include username in internal errors and "no such user"
	errors when running via server.
	[6f19c535110e]

	* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
	/fts-backend-solr.c:
	fts-solr: Marked as FTS_BACKEND_FLAG_BUILD_SHORT_UTF8
	[339e654f371e]

	* src/plugins/fts/fts-api-private.h, src/plugins/fts/fts-build-mail.c,
	src/plugins/fts/fts-parser.c, src/plugins/fts/fts-parser.h:
	fts: Added FTS_BACKEND_FLAG_BUILD_SHORT_UTF8 to require sending only
	short UTF8 data to backend.
	[01550514f189]

	* src/lib/unichar.c, src/lib/unichar.h:
	liblib: Added uni_utf8_short_*() for handling UTF8 data where
	[56]-byte sequences are invalid.
	[172295f5a78b]

	* src/plugins/quota/quota-storage.c:
	quota: mailbox_get_status(STATUS_CHECK_OVER_QUOTA) returned wrong
	value on success. This fixes lmtp_rcpt_check_quota=yes
	[bebe54e1d640]

	* doc/man/doveadm-expunge.1.in:
	man: Added -d parameter to doveadm expunge. Patch by Pascal Volk.
	[1ac96aad5027]

2012-11-23  Timo Sirainen  <tss@iki.fi>

	* src/login-common/ssl-proxy-openssl.c:
	login: Try to avoid busy-looping on SSL_accept() when client doesn't
	behave nicely.
	[e95479f439aa]

	* src/auth/db-ldap.c:
	auth: Added a way to set default values for nonexistent LDAP
	attributes. %{ldap:attrName:default_value} expands to default_value
	if attrName doesn't exist.
	[c722bd39098b]

2012-11-07  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-master-connection.c:
	auth: Give a better error message for "client doesn't have lookup
	permissions".
	[c811aab61355]

	* Makefile.am:
	Makefile: Add -lssl to installed dovecot-config's LIBDOVECOT_LOGIN
	if needed.
	[22caa1317eb1]

	* src/lib/var-expand.c:
	var_expand*(): Don't use a data stack frame when expanding long
	%{variables} This avoids potential crashes if the destination string
	is also allocated from data stack and requires growing.
	[3a33e686fc38]

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: Don't leave extra records to dovecot.map.index if mailbox
	index locking fails. Fixes errors such as: Corrupted dbox file
	/mdbox/storage/m.1 (around offset=2652): EOF reading msg header (got
	0/30 bytes)
	[6c1b4b9f527c]

2012-11-06  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-sync.c:
	imap: Avoid sending multiple unnecessary VANISHED lines when sync
	had lots of changes.
	[bcd2d140ea10]

2012-11-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-ssl-iostream/iostream-openssl.c:
	lib-ssl-iostream: [io]streams were added an unnecessary reference,
	causing memory leaks.
	[ba1287f46c98]

2012-11-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-cache.c:
	lib-index: MAIL_INDEX_OPEN_FLAG_SAVEONLY may have caused stale data
	to be read from cache.
	[8252bcd7c489]

2012-11-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-cache.c:
	lib-index: Recent cache file changes broke writing.
	[2de37734d0b9]

2012-10-31  Timo Sirainen  <tss@iki.fi>

	* Makefile.am:
	Makefile: Add -lssl to installed dovecot-config's LIBDOVECOT_STORAGE
	if needed.
	[7d931927e4ac]

2012-10-30  Timo Sirainen  <tss@iki.fi>

	* src/lib-lda/mail-deliver.c, src/lib-storage/index/index-sync.c:
	lib-lda: Avoid doing a costly mailbox sync when delivering mail to
	multiple recipients.
	[9cdeab12f3e1]

2012-10-29  Timo Sirainen  <tss@iki.fi>

	* src/login-common/login-proxy.c:
	login proxy: For connect() failures log also the used local IP:port
	if available.
	[9d63f882194d]

2013-01-05  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-master-connection.c, src/auth/auth-request-handler.c,
	src/auth/auth-request.c:
	auth: Don't keep username duplicated in userdb_reply string. This
	fixes bugs where userdb_reply is accessed via auth_stream_*()
	functions that remove/replace existing fields, which may have ended
	up removing/replacing the username.
	[922049229f7f]

2013-01-04  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/dovecot.conf:
	example-config: Added a note about protocol/local/remote {}
	sections.
	[8863e68291bd]

	* configure.ac, src/plugins/fts-lucene/Makefile.am:
	configure: Use pkg-config with clucene if available.
	[af5265e74b9e]

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.c, src/plugins/mail-log/mail-log-plugin.c,
	src/plugins/virtual/virtual-mail.c:
	lib-storage: Bypass virtual storage when copying mail to allow
	optimizations. As a side effect this also causes all plugins to see
	the backend mail instead of the virtual mail. This probably isn't
	bad in most situations, but for those where it's unwanted
	mail_private.vmail can be used to access the virtual mail. mail_log
	plugin does this to log the original virtual mailbox name for copy
	operations.
	[5bb879b6e3f3]

	* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	brain-mails.c, src/doveadm/dsync/dsync-ibc-stream.c,
	src/doveadm/dsync/dsync-mail.c, src/doveadm/dsync/dsync-mail.h,
	src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync/dsync-
	mailbox-export.h, src/doveadm/dsync/dsync-mailbox-import.c,
	src/doveadm/dsync/dsync-mailbox-import.h, src/doveadm/dsync/dsync-
	mailbox-state.c, src/doveadm/dsync/dsync-mailbox-state.h,
	src/doveadm/dsync/dsync-mailbox.h, src/doveadm/dsync/dsync-
	transaction-log-scan.c, src/doveadm/dsync/dsync-transaction-log-
	scan.h:
	dsync: Use private modseqs to support syncing private flags in
	shared mailboxes.
	[5d90e2aa1ba8]

	* src/lib-storage/fail-mail.c, src/lib-storage/index/cydir/cydir-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-
	storage.c, src/lib-storage/index/imapc/imapc-mail.c, src/lib-
	storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src
	/lib-storage/index/index-status.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/index-sync-pvt.c, src/lib-storage/index/maildir
	/maildir-mail.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/pop3c/pop3c-mail.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-
	storage/mail.c, src/plugins/virtual/virtual-mail.c:
	lib-storage: Added support for "private modseqs" for INDEXPVT index.
	Used by dsync (next commit).
	[69371578720f]

2013-01-03  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Fixed parsing mailbox state from remote dsync.
	[b7d8027a8f74]

2012-12-28  Timo Sirainen  <tss@iki.fi>

	* configure.ac:
	configure: Use -lrt for check_gettime() only if needed.
	[ac63858cbe5f]

2012-12-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/http-client-host.c:
	lib-http: Compile fix for previous change.
	[cd093d05037e]

	* src/lib/json-parser.c:
	json-parser: Fixed infinite looping in some situations.
	[a1b814081f0c]

	* src/lib-http/http-client-host.c:
	lib-http: Host entries were added to hash table using wrong hostname
	pointer.
	[0c9a4af8eaf8]

2012-12-18  Timo Sirainen  <tss@iki.fi>

	* src/auth/mech.c:
	auth: When auto-loading auth mechanisms from plugins, generate the
	name better.
	[4eebc8959849]

	* src/lib-http/http-client-request.c:
	lib-http: Fixed a crash when http_client_request_submit() failed
	immediately
	[57d552496340]

	* src/lib/uri-util.c:
	uri-util: Control characters weren't properly escaped. e.g. "%0a" is
	correct, "% a" is not.
	[ce258aa11821]

	* src/lib-storage/index/index-mail-binary.c:
	lib-storage: Fixed assert-crash when trying to fetch a binary
	section for empty message.
	[cde6da31e6ec]

2012-12-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-sync-pvt.c:
	lib-storage: Refresh private index before syncing to make sure we
	see latest changes.
	[58fdb8ded6b7]

	* src/lib-storage/index/maildir/maildir-storage.c:
	maildir: Fixed a crash caused by previous mailbox_update() change
	[eed88e231043]

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Minor (probably unnecessary) fix for i_stream_read() API
	usage. Avoid the first read returning -2.
	[fc6873897e8b]

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Fixed hang when sending mail stream to remote dsync.
	[6f940b2bfbe6]

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Fixed remote syncing due to recent changes
	[1204e8bae160]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Set doveadm exit codes properly on errors.
	[79bcf862bf1c]

	* src/lib/istream.c:
	i_stream_close(): Set stream_errno to EPIPE instead of ENOENT.
	ENOENT implies that this stream pointed to a file that never
	existed. EPIPE isn't perfect either, but probably clearer than the
	alternatives.
	[984a5b4fa793]

	* src/lib/istream.c:
	i_stream_next_line(): Don't reset stream_errno if stream is already
	closed.
	[b277f0bb18a2]

	* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	brain-mails.c, src/doveadm/dsync/dsync-brain-private.h:
	dsync: Don't start reading a mailbox until we know we actually need
	to sync it.
	[5a40e43bbe23]

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: Removed assert that caused dsync to crash. This is valid:

	1. dsync opened an internal transaction and locked mbox 2. dsync
	opened an external transaction, which didn't lock mbox 3. dsync
	committed internal transaction <assert crash fixed> 4. dsync locks
	mbox with external transaction
	[fdf755b505c3]

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: Mailbox GUID generation re-opened the mailbox using wrong
	name, possibly crashing.
	[507a4a57d7cd]

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: Mailbox GUID lookup unnecessarily always synced mbox.
	[b765a09d8c6c]

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: If mailbox_update() doesn't affect the mbox file, don't sync
	it.
	[646c5d0a60b5]

	* src/lib-storage/index/maildir/maildir-storage.c:
	maildir: If mailbox_update() doesn't affect dovecot-uidlist file,
	don't lock it.
	[0e88b2518e0f]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	mailbox-tree.c, src/doveadm/dsync/dsync-brain-private.h,
	src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-brain.h,
	src/doveadm/dsync/dsync-ibc-pipe.c, src/doveadm/dsync/dsync-ibc-
	stream.c, src/doveadm/dsync/dsync-ibc.h, src/doveadm/dsync/dsync-
	mailbox-tree-fill.c, src/doveadm/dsync/dsync-mailbox-tree.h:
	dsync: Added back support for syncing only one mailbox (-m
	parameter)
	[88ac919f8afe]

	* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	ibc-stream.c:
	dsync: Error handling fix when mailbox is unexpectedly lost.
	[01ba0511d04d]

2012-12-14  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	mailbox-tree.c, src/doveadm/dsync/dsync-brain-private.h,
	src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-brain.h,
	src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Added -a parameter to sync all namespaces, not just the
	default one.
	[05d83c4df130]

	* src/doveadm/dsync/dsync-mailbox-tree.c:
	dsync: Mark mailbox tree memory pool as "growing" to avoid warnings.
	[9f332e29836d]

	* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
	dsync: Fixes to creating/renaming mailboxes This gets rid of
	unnecessary mailbox renames when they should have simply been
	created. The algorithm appears to work, but again really should be
	fully thought out later to figure out why exactly it works. I only
	wanted to get it working now for other tests..
	[467cf7e5a616]

	* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
	dsync: Never try to create INBOX via temporary name and rename.
	[9a707794ee54]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Fixed vname -> storage name conversion for some
	nonexistent mailbox names. For example prefix=INBOX/ name=INBOX-foo
	would have converted the name to "" instead of keeping "INBOX-foo".
	[c6275c34d158]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	mails.c, src/doveadm/dsync/dsync-brain-private.h, src/doveadm/dsync
	/dsync-brain.c, src/doveadm/dsync/dsync-brain.h, src/doveadm/dsync
	/dsync-ibc-stream.c, src/doveadm/dsync/dsync-ibc.h:
	dsync: Added debugging and rawlogging support.
	[af3b86a16ac3]

	* src/doveadm/dsync/dsync-ibc-stream.c:
	dsync: Fixed hangs with remote dsyncing
	[f9e8cbb2792d]

2012-12-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-common/dbox-storage.c:
	dbox: dbox-alt-root symlink now points to the alt root directory,
	not to mailboxes dir. Existing mailboxes/ symlinks are silently
	changed to new ones. This also means that accessing the dbox with an
	older version will log a warning about the change.
	[b1267f135417]

2012-12-12  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/http-client-request.c:
	lib-http: Fixed sending HTTP request's payload.
	[2125cf15b26d]

2012-12-12  Stephan Bosch  <stephan@rename-it.nl>

	* src/lib-http/http-client-connection.c, src/lib-http/http-client-
	private.h, src/lib-http/http-client-request.c, src/lib-http/http-
	response-parser.c, src/lib-http/http-transfer-chunked.c, src/lib-
	http/http-transfer.h, src/lib-http/test-http-client.c, src/lib-http
	/test-http-transfer.c:
	lib-http: Added support for chunked input/output streams and some
	bugfixes.
	[7a4d8cd0e079]

2012-12-11  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-storage.c:
	quota: Fixed quota calculation with mailbox_move().
	[4a110cf281aa]

2012-12-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-index-backend.c:
	layout=index: If MAILBOX_LIST_FLAG_NO_MAIL_FILES is set, don't try
	to delete any mail files.
	[0851ffee594b]

	* src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list.h:
	lib-storage: Copy MAIL_STORAGE_CLASS_FLAG_NO_ROOT to
	MAILBOX_LIST_FLAG_NO_MAIL_FILES
	[3c7cef3ffff9]

	* src/lib-fs/fs-api.h:
	lib-fs: Added FS_PROPERTY_DIRECTORIES. This is a hint for fs API
	users if they should call fs_delete() for directories.
	[959afc4f76eb]

2012-12-07  Timo Sirainen  <tss@iki.fi>

	* src/lib/ostream-buffer.c:
	ostream-buffer: Fixed o_stream_sendv() with multiple iovs. Patch by
	Stephan Bosch
	[67448d683720]

2012-12-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/http-response-parser.c:
	lib-http: Parser didn't always fully skip over the previous
	request's payload.
	[b61b94be996e]

2012-12-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-mail/istream-qp-decoder.c, src/lib-mail/message-decoder.c,
	src/lib-mail/message-header-decode.c, src/lib-mail/quoted-
	printable.c, src/lib-mail/quoted-printable.h, src/lib-mail/test-
	istream-qp-decoder.c, src/lib-mail/test-message-decoder.c, src/lib-
	mail/test-quoted-printable.c:
	lib-mail: Detect errors in quoted-printable input.
	[0be51d94b0d9]

	* src/imap/cmd-idle.c:
	imap: Don't crash in IDLE if remote IP isn't known (PREAUTH)
	[266e24f1c78c]

	* src/doveadm/doveadm-mail.c, src/imap/cmd-fetch.c, src/imap/imap-
	commands-util.c, src/imap/imap-fetch-body.c, src/lib-storage/index
	/index-mail-binary.c, src/lib-storage/mail-error.h:
	imap: Fixed handling FETCH BINARY for broken content.
	[9c1791d1834f]

	* src/lib-mail/istream-qp-decoder.c:
	lib-mail: quoted-printable decoder istream shouldn't treat trailing
	"=" as error.
	[4d382ee358fb]

	* src/lib-storage/index/index-mail-binary.c:
	lib-storage: Set name for the "binary istream".
	[b3f14d2d2019]

	* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c:
	lib-fs: Added a default fs_read() implementation using the
	fs_read_stream().
	[674e45904706]

	* src/lib-http/http-response-parser.c:
	lib-http: Increased initial memory pool size
	[4aabd11948d1]

	* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c:
	lib-fs: Added a default fs_write() implementation using the
	fs_write_stream*().
	[bde65904d980]

	* src/lib-fs/fs-api.h:
	lib-fs: Comment update
	[8f0af55ee4b6]

2012-12-03  Timo Sirainen  <tss@iki.fi>

	* src/Makefile.am:
	Makefile: Added missing \
	[d1570c02ca21]

2012-12-02  Timo Sirainen  <tss@iki.fi>

	* src/Makefile.am:
	Makefile: Reordered directories to fix build failure
	[d168fdd4aa8d]

2012-12-01  Timo Sirainen  <tss@iki.fi>

	* .hgignore, src/lib-fs/Makefile.am, src/lib-fs/fs-test.c:
	lib-fs: Added fs-test to easily test FS API calls.
	[cea9a269311a]

	* src/lib/json-parser.c, src/lib/json-parser.h:
	Added json_append_escaped()
	[009287402687]

	* src/lib-http/http-client-connection.c:
	lib-http: Don't free connection immediately in payload-destroyed
	callback. This caused a crash in
	http_client_connection_return_response() after the stream was
	unrefed.
	[9cab24687819]

2012-11-29  Timo Sirainen  <tss@iki.fi>

	* src/lib/json-parser.c, src/lib/json-parser.h, src/lib/test-json-
	parser.c:
	JSON parser: Added support for arrays. The parser should be complete
	now.
	[f456fffeec5c]

	* src/lib/json-parser.c, src/lib/json-parser.h, src/lib/test-json-
	parser.c:
	JSON parser: Added json_parse_skip_next() to skip over unwanted
	values.
	[4f7e0be9cc35]

	* src/lib/Makefile.am, src/lib/istream-jsonstr.c, src/lib/istream-
	jsonstr.h, src/lib/json-parser.c, src/lib/json-parser.h, src/lib
	/test-json-parser.c:
	JSON parser: Added support for reading string value as istream.
	[014be18f7130]

	* src/lib/json-parser.c, src/lib/test-json-parser.c:
	JSON parser fixes
	[9a31c44c1184]

	* src/auth/db-dict.c, src/lib/Makefile.am, src/lib/json-parser.c,
	src/lib/json-parser.h, src/lib/test-json-parser.c, src/lib/test-
	lib.c, src/lib/test-lib.h:
	JSON parser supports now nested objects and parsing from non-
	blocking input stream.
	[86572582647e]

	* src/lib/uri-util.h:
	uri-util.h always requires net.h to compile, #include it
	[309c9fe1f0a9]

	* src/lib-http/http-url.h:
	lib-http: http-url.h always requires net.h to compile, #include it
	[dfd7a3ea9df3]

	* src/lib-http/http-url.c:
	lib-http: http_url_parse() didn't allocate all strings from the
	given pool.
	[12a31e13fcab]

	* src/lib-http/http-client-request.c, src/lib-http/http-url.c, src
	/lib-http/http-url.h, src/lib-http/test-http-url.c:
	lib-http: http_url_parse() now returns the http_url allocated from
	given memory pool.
	[c9f6deb65d7b]

2012-11-28  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-mailbox-tree.c:
	dsync: Don't crash when syncing multiple namespaces.
	[22799e820158]

	* src/lib-storage/index/index-sync-private.h, src/lib-storage/index
	/index-sync-pvt.c, src/lib-storage/index/index-sync.c:
	lib-storage: Notify about \Seen flag changes in private index. Some
	earlier "don't send unnecessary flag changes" optimizations caused
	this.
	[e123e31de340]

	* src/lib-storage/index/index-mail.c:
	lib-storage: When updating flags in private index and nothing
	changes, don't increase modseq.
	[9107b794b7ad]

	* src/lib-storage/index/index-status.c:
	lib-storage: Fixed assert-crash with private indexes when looking
	for first unseen msg.
	[3c5f674285a8]

	* src/imap-urlauth/imap-urlauth-worker.c, src/lib-index/mail-
	transaction-log-file.c:
	Make static analyzer happier
	[fc890adce3d0]

	* src/lib-index/mail-cache-transaction.c:
	lib-index: Fixed randomly failing to write to dovecot.index.cache
	file
	[cd93c3506efe]

	* src/lib/ostream-rawlog.c:
	ostream-rawlog: Make sure rawlog logs only the data that got
	actually sent.
	[b10fbe79f619]

	* src/lib/iostream-rawlog.c:
	iostream-rawlog: Buffered output kept logging the same data over and
	over again.
	[9bff748f3437]

	* src/lib-storage/index/index-mail-binary.c:
	lib-storage: Don't assert-crash when fetching BINARY contents for
	empty body.
	[aa8f2e0fcb21]

	* src/lib-fs/fs-api.c:
	lib-fs: Don't crash when trying to initialize nonexistent fs driver.
	[aade5fa372a6]

	* src/lib/istream.c:
	i_stream_default_stat(): If we can't know the size, return -1
	instead of assert crash. This fixes a crash saving to mdbox when
	input stream's size wasn't known.
	[fee60a91d586]

2012-11-27  Timo Sirainen  <tss@iki.fi>

	* NEWS:
	NEWS updated
	[2b18b4b92cd9]

	* dovecot-config.in.in:
	dovecot-config: LIBDOVECOT_INCLUDE was missing path to lib-http
	[25e8459431fc]

	* src/lib-fs/Makefile.am, src/lib-fs/fs-api-private.h, src/lib-fs/fs-
	api.c, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-queue.c, src/lib-fs
	/fs-sis.c:
	lib-fs: Automatically try to load missing driver as plugin.
	[47c0a5a19211]

	* src/lib/lib.c, src/lib/lib.h:
	liblib: Added lib_atexit() to register process deinit callbacks.
	[2aef2557bdf1]

	* src/lib/module-dir.c, src/lib/module-dir.h:
	liblib: Added module_dir_find()
	[8f0994194f45]

2012-11-26  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-dump-index.c:
	doveadm dump: Added support for "obox" index records.
	[9c22246ed431]

	* src/lib-imap-storage/imap-msgpart.c:
	lib-imap-storage: When returning an error istream, give it a useful
	name.
	[ecf2f2044455]

	* src/lib-storage/list/mailbox-list-index-backend.c, src/lib-
	storage/list/mailbox-list-index-iter.c, src/lib-storage/list
	/mailbox-list-index.c, src/lib-storage/list/mailbox-list-index.h,
	src/lib-storage/list/mailbox-list-none.c, src/lib-storage/mailbox-
	list-private.h:
	lib-storage: Fixes to LAYOUT=index backend.
	[a725b63608fb]

	* src/lib-storage/mail-storage-private.h:
	lib-storage: Comment update for mail_prefetch()
	[f64a91637f9b]

	* src/lib-storage/mail-storage.c:
	lib-storage: If MAIL_STORAGE_CLASS_FLAG_NO_ROOT is set, don't even
	try to mkdir it.
	[b0bda8a2d178]

	* src/lib-storage/index/index-sync.c:
	lib-storage: Don't crash when trying to sync private index, if
	syncing had already failed.
	[c86b8807fa2f]

	* src/lib-storage/index/dbox-single/sdbox-storage.c:
	sdbox: Verify that mail_attachment_fs backend supports RENAME
	property. This isn't needed by mdbox.
	[80a8bed29ad9]

	* src/lib-storage/index/dbox-common/dbox-save.h, src/lib-storage/index
	/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
	save.c:
	lib-storage: Code cleanup: dbox_save_context.cur_file doesn't need
	to be in dbox-common.
	[7fb33baa8201]

	* configure.ac, src/lib-dovecot/Makefile.am:
	Added libhttp to libdovecot.so
	[d1bff2c44fe4]

	* src/lib-http/Makefile.am:
	lib-http: Removed explicit safe-memset.lo links At least in all my
	systems they just complain about duplicates..
	[a3653f58d4e6]

	* src/lib-dns/dns-lookup.h:
	lib-dns: Added DNS_CLIENT_SOCKET_NAME macro for the default socket
	name.
	[6d2cfcaad33c]

	* src/lib/unlink-directory.c, src/lib/unlink-directory.h:
	unlink_directory(): Added UNLINK_DIRECTORY_FLAG_FILES_ONLY
	[a39024316d8e]

	* src/lib/Makefile.am, src/lib/iostream-temp.c, src/lib/iostream-
	temp.h:
	Added iostream-temp for easily creating a temporary istream (to
	memory/file).
	[faa3a83282fb]

	* src/lib/ioloop-epoll.c:
	liblib: Added assert-check to epoll code to make sure we don't wait
	infinitely with no events.
	[22cfb7b347a8]

	* src/lib-fs/fs-api.h:
	lib-fs: Added a temp_dir setting that the caller can specify.
	[5552ac605201]

	* src/lib-fs/fs-api.h, src/lib-fs/fs-posix.c:
	lib-fs: Added ITER and RELIABLEITER properties for backends.
	[39578785ee92]

	* src/lib-fs/fs-posix.c:
	lib-fs: Fixed iteration with POSIX backend.
	[bc497e533da4]

	* src/lib-fs/fs-api.h, src/lib-fs/fs-posix.c:
	lib-fs: Iterating a nonexistent directory should be the same as
	iterating an empty directory.
	[bd01ca99bee5]

	* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
	api.h, src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c:
	lib-fs: fs_wait_async() can now return an error.
	[38f3bd4bf6e3]

2012-11-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/Makefile.am, src/lib-http/http-client-host.c, src/lib-
	http/test-http-responses.c:
	lib-http: Compiler warning fixes
	[fa32c5f9cf71]

2012-11-24  Stephan Bosch  <stephan@rename-it.nl>

	* src/lib-http/Makefile.am, src/lib-http/http-client-connection.c, src
	/lib-http/http-client-host.c, src/lib-http/http-client-peer.c, src
	/lib-http/http-client-private.h, src/lib-http/http-client-request.c,
	src/lib-http/http-client.c, src/lib-http/http-client.h, src/lib-http
	/http-header-parser.c, src/lib-http/http-header-parser.h, src/lib-
	http/http-parser.c, src/lib-http/http-parser.h, src/lib-http/http-
	response-parser.c, src/lib-http/http-response-parser.h, src/lib-http
	/http-transfer-chunked.c, src/lib-http/http-transfer.h, src/lib-http
	/test-http-client.c, src/lib-http/test-http-header-parser.c, src
	/lib-http/test-http-response-parser.c, src/lib-http/test-http-
	responses.c, src/lib-http/test-http-transfer.c:
	lib-http: Added initial HTTP client implementation.
	[107c8b2c9594]

2012-11-23  Timo Sirainen  <tss@iki.fi>

	* src/auth/passdb-bsdauth.c:
	bsdauth: Use "auth-<service>" as the auth type.
	[b40bda50541c]

2012-11-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap/imap-quote.c:
	lib-imap: imap_append_string_for_humans() was broken for empty input
	string.
	[ea084c04e694]

2012-11-09  Timo Sirainen  <tss@iki.fi>

	* src/lib/iostream-rawlog.c:
	iostream-rawlog: Don't assert-crash if trying to write 0 bytes.
	[482da7a91b1c]

2012-11-06  Timo Sirainen  <tss@iki.fi>

	* src/lib/module-dir.c:
	module_dir_unload(): Don't dlclose() modules if GDB environment is
	set.
	[af331bc452d0]

	* src/lib-ssl-iostream/iostream-ssl.c:
	lib-ssl-iostream: Unload ssl_iostream_openssl plugin at exit.
	[7d28b19fe28d]

	* src/lib/module-dir.c:
	module_dir_deinit(): If no modules were actually initialized, avoid
	doing memory allocation. This allows calling module_dir_unload()
	with atexit(), as long as the module doesn't need to call deinit().
	[6fc2502d6021]

	* src/auth/auth-token.c:
	auth: Require auth-token-secret.dat owner to be auth process's uid,
	not necessarily root.
	[2d0d0318b341]

	* src/imap/imap-sync.c:
	imap: Various fixes for handling expunges in mailbox sync.
	[5089affc8ae5]

	* src/lib/istream-seekable.c:
	istream-seekable: Underlying stream errors weren't handled
	correctly.
	[47085487f3d8]

	* src/lib-ssl-iostream/iostream-ssl.c:
	lib-ssl-iostream: Compiler warning fix when compiling without ssl
	[cca85adcb583]

	* src/Makefile.am:
	Makefile: Build lib-ssl-iostream before lib-http
	[d9d5b09a0b5b]

	* src/lib-dovecot/Makefile.am:
	Makefile: Fixed building libdovecot.so
	[7704a4f935ea]

	* dovecot-config.in.in:
	dovecot-config: Removed LIBDOVECOT_SSL, which is no longer needed.
	[1ab783418ff6]

	* configure.ac, src/lib-storage/index/imapc/Makefile.am, src/lib-
	storage/index/imapc/imapc-list.c, src/lib-storage/index/imapc/imapc-
	list.h, src/lib-storage/index/imapc/imapc-plugin.c, src/lib-
	storage/index/imapc/imapc-plugin.h, src/lib-storage/index/imapc
	/imapc-setting-storage.c, src/lib-storage/index/imapc/imapc-
	settings.h, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
	storage/index/imapc/imapc-storage.h, src/lib-
	storage/index/pop3c/Makefile.am, src/lib-storage/index/pop3c/pop3c-
	plugin.c, src/lib-storage/index/pop3c/pop3c-plugin.h, src/lib-
	storage/index/pop3c/pop3c-setting-storage.c, src/lib-
	storage/index/pop3c/pop3c-settings.h, src/lib-storage/index/pop3c
	/pop3c-storage.c, src/lib-storage/index/pop3c/pop3c-storage.h:
	Reverted 269104a0821b (Build imapc and pop3c always as plugins.)
	This is no longer needed now that lib-ssl-iostream can be linked
	without linking openssl.
	[7c75559cd8f6]

	* configure.ac, src/auth/Makefile.am, src/lib-dovecot/Makefile.am, src
	/lib-master/Makefile.am, src/lib-ssl-iostream/Makefile.am, src/lib-
	ssl-iostream/iostream-openssl-common.c, src/lib-ssl-iostream
	/iostream-openssl-context.c, src/lib-ssl-iostream/iostream-openssl-
	params.c, src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-
	iostream/iostream-openssl.h, src/lib-ssl-iostream/iostream-ssl-
	private.h, src/lib-ssl-iostream/iostream-ssl.c, src/lib-ssl-iostream
	/istream-openssl.c, src/lib-ssl-iostream/ostream-openssl.c, src
	/login-common/Makefile.am:
	lib-ssl-iostream now dynamically loads openssl library instead of
	linking to it. This allowed removing the separate libdovecot-ssl
	library. In future if GnuTLS/NSS support is added it would also
	allow switching between them dynamically.
	[68d21f872fd7]

2012-11-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-ssl-iostream/iostream-openssl-context.c:
	lib-ssl-iostream: Call all of the OpenSSL deinit functions at exit
	[94778985bb6a]

	* src/lib-ssl-iostream/iostream-openssl.c:
	lib-ssl-iostream: [io]streams were added an unnecessary reference,
	causing memory leaks.
	[84ea8ea6b9dc]

2012-11-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-ssl-iostream/istream-openssl.c:
	lib-ssl-iostream: Fixed potential assert-crash when reading.
	[edc604cba6e1]

	* src/lib-ssl-iostream/istream-openssl.c:
	lib-ssl-iostream: Copy the original istream's fd to the ssl istream.
	[09da0c7d23bd]

2012-11-03  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-dump-index.c, src/lib-index/mail-cache-
	compress.c, src/lib-index/mail-cache-private.h, src/lib-index/mail-
	cache-sync-update.c, src/lib-index/mail-cache-transaction.c, src
	/lib-index/mail-cache.c:
	lib-index: Replaced cache's deleted_space with deleted_record_count.
	This way when expunging messages we don't need to actually read
	through the cache file and calculate how many bytes will be freed,
	we can simply increase the deleted_record_count by 1. We'll still
	compress the cache file approximately after 20% of the space
	(records) has been deleted.

	This also converts the old "hole offset" header field to tracking
	the number of records in the cache file. Otherwise we'd have to
	assume that all of the messages in mailbox have a cache record, but
	that isn't true for users who have only temporary cache fields. This
	"hole offset" cannot be trusted completely, because nothing prevents
	old Dovecot version from simply writing a hole offset there and
	messing up the record counts. Because of this there are a couple of
	extra sanity checks for it. (Unfortunately there wasn't any easy way
	to simply add a new field to header without breaking backwards
	compatibility.)
	[debecd057f9c]

	* src/doveadm/doveadm-dump-index.c, src/lib-index/mail-cache-
	compress.c, src/lib-index/mail-cache-private.h, src/lib-index/mail-
	cache.c:
	lib-index: Added minor version to dovecot.index.cache file header.
	[8323e81785e2]

	* src/lib-index/mail-cache-compress.c, src/lib-index/mail-cache-
	private.h, src/lib-index/mail-cache-transaction.c:
	lib-index: If a cache record is larger than 64 kB, don't add it to
	cache file. This shouldn't affect anything except mails that
	probably shouldn't exist in the first place.
	[d2860e8fc774]

	* src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache-
	private.h, src/lib-index/mail-cache-sync-update.c, src/lib-index
	/mail-cache-transaction.c, src/lib-index/mail-cache.c:
	lib-index: Cache record linking is now while writing new records,
	not later with pwrite(). This should make performance somewhat
	better. It also means that now the only overwrites to cache file are
	to the file header and the fields header. This means that we no
	longer have to invalidate file_cache (with mmap_disable=yes) except
	when reading the headers, which is always done anyway.

	It would be nice to move the overwritten fields in the headers to a
	cache header in dovecot.index file, but this is a bit tricky
	currently. When writing these headers the cache file needs to be
	locked to avoid race conditions. To avoid deadlocks the transaction
	log would have to be locked before the cache. The code to do all
	this would still be a bit complex, and to keep backwards
	compatibility with old Dovecot versions it would still have to do
	the overwriting until the backwards compatibility code is disabled.
	[67afcb730109]

	* src/lib-index/mail-index-transaction-view.c:
	lib-index: Transaction view shouldn't return ext records if the ext
	was already reset.
	[148dc0f6f990]

	* src/lib-index/mail-cache.c:
	lib-index: Recent cache file changes broke writing.
	[899873ebc1cf]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Crashfix when doing userdb lookup.
	[1ad12af6efe4]

	* src/lib-index/mail-transaction-log-append.c, src/lib-index/mail-
	transaction-log-file.c, src/lib-index/mail-transaction-log.h:
	lib-index: Write to transaction log using O_APPEND flag. Most OSes
	should do the writes atomically so that reads won't see partially
	written data. We don't currently rely on this, but it would be
	possible in future to remove locking entirely from writing to
	transaction log.
	[751181168b72]

2012-11-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	sync-pvt.c:
	lib-storage: Error logging fixes.
	[d7239a4554e4]

2012-10-31  Timo Sirainen  <tss@iki.fi>

	* src/lib/hostpid.c:
	hostpid_init(): Don't allow gethostname() to fail. Be more strict
	about what chars it can contain.
	[626a9df21e62]

	* src/lib-storage/mail-storage.h:
	lib-storage: Don't require mailbox to be synced for
	MAILBOX_METADATA_GUID lookup None of the mailbox formats currently
	require it, and lib-lda code assert-crashes with it since syncing is
	done with a transaction already open.
	[53d4db36e251]

	* src/lib-storage/index/index-status.c:
	lib-storage: When mailbox_get_status/metadata() auto-syncs mailbox,
	use MAILBOX_SYNC_FLAG_FAST
	[b690ff7a2d65]

2012-10-31  Stephan Bosch  <stephan@rename-it.nl>

	* src/lib-dns/dns-lookup.c, src/lib-dns/dns-lookup.h:
	lib-dns: Added dns_lookup_switch_ioloop()
	[285a88e00231]

2012-10-31  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-token.c:
	auth: Don't assert-crash in auth-token writing if process isn't
	running as root.
	[6b45225ab1d5]

2012-10-29  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/doveadm-dsync.c:
	doveadm sync/backup: Added -s parameter to usage string.
	[d29a1bf4aba5]

	* .hgsigs:
	Added signature for changeset f5941f3ac762
	[9ea4cad23d53]

	* .hgtags:
	Added tag 2.2.alpha1 for changeset f5941f3ac762
	[9cf290152139]

	* NEWS, TODO, configure.ac:
	Released v2.2.alpha1.
	[f5941f3ac762] [2.2.alpha1]

	* src/anvil/penalty.c:
	anvil: Added a comment to remind what the anvil checksums are all
	about.
	[483199c2ca13]

	* configure.ac, src/doveadm/doveadm-mail-copymove.c, src/doveadm
	/doveadm-mail-import.c, src/doveadm/doveadm-mail-mailbox.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mailbox-list-iter.c,
	src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain.c,
	src/imap/cmd-list.c, src/imap/imap-commands-util.c, src/indexer
	/master-connection.c, src/lib-imap-storage/imap-msgpart-url.c, src
	/lib-lda/mail-deliver.c, src/lib-storage/fail-mail-storage.c, src
	/lib-storage/mail-namespace.c, src/lib-storage/mail-namespace.h, src
	/lib-storage/mail-storage.c, src/plugins/acl/acl-mailbox-list.c,
	src/plugins/acl/doveadm-acl.c, src/plugins/autocreate/autocreate-
	plugin.c, src/plugins/pop3-migration/pop3-migration-plugin.c,
	src/plugins/quota/quota-storage.c, src/plugins/snarf/snarf-plugin.c,
	src/plugins/trash/trash-plugin.c, src/pop3/pop3-client.c:
	If prefix="" namespace isn't defined, autocreate it as an unusable
	namespace. This avoids having to handle mail_namespace_find() errors
	all over the place. Instead now the mailbox accesses will simply
	fail.
	[b52f4852e5f8]

	* src/lib-storage/mail-namespace.h, src/plugins/autocreate/autocreate-
	plugin.c:
	lib-storage: Use const pointers for
	mail_namespace.(set|unexpanded_set)
	[62519d9334a5]

	* src/plugins/autocreate/autocreate-plugin.c:
	autocreate plugin logs now a "deprecated" warning at startup
	[275ca1a03cdd]

	* src/lib-dict/dict-file.c, src/lib-index/mail-transaction-log.c:
	Make static analyzer happier.
	[3a40d29049b2]

	* src/lib/iostream-rawlog.c:
	iostream-rawlog: Avoid crashing more if write() to rawlog fails.
	[ce342fd3cae7]

	* src/director/director-connection.c, src/director/director-test.c,
	src/imap/cmd-urlfetch.c, src/lib-imap-urlauth/imap-urlauth-fetch.c,
	src/lib-index/mail-cache-transaction.c, src/lib-index/mail-
	transaction-log.c, src/lib-mail/message-parser.c:
	Make static analyzer happier.
	[bb095315d025]

	* src/lib-storage/index/maildir/maildir-util.c:
	maildir: Fixed potential crash when maildir suddenly loses some
	directories.
	[755b03fb6fce]

	* src/lib-storage/list/mailbox-list-index-backend.c:
	layout=index: Fixed a crash in mailbox_rename() race condition.
	[9050920ce827]

	* src/lib/iostream-rawlog.c:
	iostream-rawlog: Avoid crashing if write() to rawlog fails.
	[bab7bbc0c153]

	* src/imap-login/imap-login-settings.c, src/imap/imap-settings.c:
	imap: imap_id_send default changed to send name=Dovecot to client.
	[bf834b3c5663]

	* src/doveadm/doveadm-auth.c:
	doveadm user: Removed -m parameter and made it default. Added -u for
	old functionality.
	-u meaning "userdb lookup only".
	[8e57d4a1cd19]

	* src/doveadm/doveadm-auth.c:
	doveadm user -m: Show all returned userdb fields.
	[55422e122c27]

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	lib-storage: Added mail_storage_service_save_userdb_fields()
	[fec539656811]

	* src/lib-storage/index/cydir/cydir-sync.c, src/lib-storage/index
	/dbox-common/dbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-
	storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c,
	src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index
	/dbox-single/sdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-sync.c, src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-sync.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-sync-pvt.c, src/lib-storage/index/index-sync.c,
	src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/mbox
	/mbox-mail.c, src/lib-storage/index/mbox/mbox-sync.c, src/lib-
	storage/index/pop3c/pop3c-sync.c, src/lib-storage/index/raw/raw-
	sync.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.c, src/plugins/virtual/virtual-sync.c:
	lib-storage: Renamed mail_storage_set_index_error() to
	mailbox_set_index_error()
	[5479887eb461]

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/cydir/cydir-storage.h, src/lib-storage/index/dbox-
	common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox-
	storage.h, src/lib-storage/index/dbox-multi/mdbox-storage.c, src
	/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h, src/lib-storage/index/maildir/maildir-storage.c,
	src/lib-storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox-
	storage.h, src/lib-storage/index/pop3c/pop3c-storage.c, src/lib-
	storage/index/pop3c/pop3c-storage.h, src/lib-storage/mail-storage-
	private.h, src/plugins/virtual/virtual-storage.c,
	src/plugins/virtual/virtual-storage.h:
	Replaced *_INDEX_PREFIX macros with a common MAIL_INDEX_PREFIX.
	[15dfd6475f64]

	* src/master/master-settings.c, src/master/service.c:
	master: Ignore service {} blocks with empty executable settings.
	[f423090a363a]

	* src/master/service.c:
	master: Removed unnecessary code duplication. The settings parsing
	already does this.
	[e1fd0d04a8eb]

	* TODO, configure.ac, configure.in:
	Renamed configure.in to configure.ac. Apparently automakes in future
	won't support configure.in anymore.
	[769be5b43fa6]

	* configure.in, src/auth/auth-request-handler.c, src/director
	/director-connection.c, src/director/director.c,
	src/director/director.h, src/director/main.c, src/director/user-
	directory.c, src/doveadm/doveadm-mail-altmove.c, src/doveadm/server-
	connection.c, src/imap/cmd-list.c, src/lib-dict/dict-client.c, src
	/lib-dict/dict-redis.c, src/lib-index/mail-cache-compress.c, src
	/lib-index/mail-cache-fields.c, src/lib-index/mail-cache-lookup.c,
	src/lib-index/mail-cache-private.h, src/lib-index/mail-cache-
	transaction.c, src/lib-index/mail-cache.c, src/lib-index/mail-index-
	view-sync.c, src/lib-index/mail-index.h, src/lib-index/mail-
	transaction-log-file.c, src/lib-index/mail-transaction-log-
	private.h, src/lib-index/mail-transaction-log.c, src/lib-master
	/master-instance.c, src/lib-master/master-service-settings-cache.c,
	src/lib-master/master-service.c, src/lib-storage/index/dbox-common
	/dbox-file.c, src/lib-storage/index/dbox-common/dbox-save.c, src
	/lib-storage/index/dbox-common/dbox-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	storage-rebuild.c, src/lib-storage/index/dbox-single/sdbox-save.c,
	src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src
	/lib-storage/index/index-storage.c, src/lib-storage/list/mailbox-
	list-fs-iter.c, src/lib-storage/list/mailbox-list-iter.c, src/lib-
	storage/list/mailbox-list-subscriptions.c, src/lib-storage/mail-
	search.c, src/lib-storage/mail-storage.c, src/lib-storage/mailbox-
	list.c, src/lib/ipwd.c, src/lmtp/lmtp-proxy.c, src/login-common
	/client-common.c, src/login-common/client-common.h, src/master
	/master-settings.c, src/plugins/fts-lucene/lucene-wrapper.cc,
	src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/quota
	/quota-dict.c, src/plugins/quota/quota-dirsize.c, src/plugins/quota
	/quota-fs.c, src/plugins/quota/quota-maildir.c, src/plugins/quota
	/quota-private.h, src/plugins/quota/quota-storage.c,
	src/plugins/stats/stats-plugin.c:
	Merged changes from v2.1 tree.
	[1b46c1bf9d1e]

	* src/lib-dict/dict-client.c:
	lib-dict: Abort async transaction commits if client gets
	disconnected from dict server.
	[67e9cb0b06ec]

2012-10-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	lib-storage: Fixed listing layout=fs when namespace prefix part
	included wildcards.
	[22875bcaa952]

	* src/plugins/stats/stats-plugin.c:
	stats: Refresh user statistics during long maildir syncs.
	[b1b693a69c5f]

	* src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache.c:
	lib-index: Optimize cache file reads with
	MAIL_INDEX_OPEN_FLAG_SAVEONLY
	[0efb98659a1f]

	* src/lib-index/mail-cache.c:
	lib-index: After recent cache changes, cache was often wrongly being
	thought of as unusable
	[3700fb6f8a42]

	* src/lib-index/mail-cache-lookup.c:
	lib-index: If cache file unexpectedly shrinks in header lookup, log
	an error.
	[7fde3830215e]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	Increased initial memory pool size
	[b41d2eec320b]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	lib-storage: Listing multiple mailbox patterns may have returned
	duplicates with fs layout.
	[8f351303887c]

2012-10-22  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request-handler.c:
	auth: Log a nicer message if client timeouts authentication in the
	middle.
	[49bb6cc43d03]

	* src/plugins/fts/decode2text.sh:
	decode2text.sh: Assume xmlunzip exists in the same directory as this
	script. This avoids hardcoding /usr/local/libexec/dovecot/ path in
	it.
	[09ed39c15584]

	* src/director/director-connection.c, src/director/director-request.c,
	src/director/director.c, src/director/director.h,
	src/director/main.c:
	director: -D parameter now enables extensive debug logging.
	[48af47f2eb9c]

	* src/director/notify-connection.c:
	director: Don't remove user's weak flag from notify connection. If
	notify connection worked properly, the weak flag should never have
	been set in the first place. And if it's just suddenly removed, it
	won't finish the pending requests properly.
	[c16a0182533f]

	* src/director/director-connection.c:
	director: Minor code cleanup
	[1dcf0090648e]

	* src/director/director-request.c, src/director/user-directory.c:
	director: If user's weak-flag appears to have gotten stuck, unset
	it.
	[7352d48b4071]

	* src/director/director-request.c:
	director: Log more clearly why a request timeouts.
	[10fae591707c]

	* src/director/director.c, src/director/director.h:
	director: Don't handle pending requests from all around the code.
	I'm not sure if this actually fixes any bugs, but it definitely
	makes the state cleaner.
	[cd646623a1a8]

	* src/director/director-connection.c:
	director: Fixed previous broken change for handling USER-WEAK
	commands.
	[e4c337f38ed6]

2012-10-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-dict/dict-redis.c:
	redis dict: Log an error if we get disconnected unexpectedly.
	[a97c62fdd4ad]

2012-10-18  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-cache.c:
	lib-index: Crashfix for MAIL_INDEX_OPEN_FLAG_SAVEONLY change.
	[99aec8d4d6c6]

	* src/login-common/client-common.c, src/login-common/client-common.h:
	login_log_format_elements: Added %{real_rip} variable. It differs
	from %r when Dovecot proxy sends an updated client IP address. Patch
	by Jack Bates.
	[92364817f4ba]

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Fixed handling of finding a duplicate dovecot.index.log
	file_seq Previously we assumed that the already opened file was
	always the wrong one, but more common was that the newly opened file
	was .log.2 which should have been deleted.
	[be50d12be960]

	* src/lib-index/mail-transaction-log-file.c, src/lib-index/mail-
	transaction-log-private.h, src/lib-index/mail-transaction-log.c:
	lib-index: Handle better race condition there dovecot.index.log and
	.log.2 are the same link.
	[bcef97fb1202]

	* src/lib-storage/index/index-storage.c:
	lib-storage: Open index with MAIL_INDEX_OPEN_FLAG_SAVEONLY if
	mailbox has MAILBOX_FLAG_SAVEONLY
	[b7c6215b2b7c]

	* src/lib-index/mail-cache-compress.c, src/lib-index/mail-cache-
	private.h, src/lib-index/mail-cache.c, src/lib-index/mail-index.h:
	lib-index: Added MAIL_INDEX_OPEN_FLAG_SAVEONLY to do only minimal
	reads from cache file.
	[51f2be9aa8ad]

	* src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache-
	private.h, src/lib-index/mail-cache.c:
	lib-index: Code cleanup: Removed mail_cache.data
	[0d1de37ad9d8]

	* src/lib-index/mail-cache-compress.c, src/lib-index/mail-cache-
	fields.c, src/lib-index/mail-cache-lookup.c, src/lib-index/mail-
	cache-private.h, src/lib-index/mail-cache-transaction.c, src/lib-
	index/mail-cache.c:
	lib-index: mail_cache_map() API cleanup
	[022d0d21e56d]

2012-10-16  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-dict.c, src/plugins/quota/quota-dirsize.c,
	src/plugins/quota/quota-fs.c, src/plugins/quota/quota-maildir.c,
	src/plugins/quota/quota-private.h, src/plugins/quota/quota-
	storage.c:
	dict quota: Fixed a potential crash if quota recalculation was
	triggered at deinit.
	[41aac09497ee]

	* src/lib-master/master-service.c:
	lib-master: Fixed -i <instance name> parameter handling. It
	previously worked only if the default config socket wasn't usable.
	[0262ede193e5]

2012-10-12  Timo Sirainen  <tss@iki.fi>

	* configure.in:
	configure: Make sure MYSQL_LIBS has -lmysqlclient even if it's not
	explicitly found.
	[c8d55ba25f39]

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	lib-storage: Fixed crash when attempting to remove subscriptions for
	nonexistent shared users.
	[a79e1a0040de]

	* src/lib-index/mail-transaction-log-private.h, src/lib-index/mail-
	transaction-log.c:
	lib-index: Log a warning if locking transaction log takes longer
	than 30 secs.
	[e44579c5b52b]

	* src/lib-storage/index/dbox-common/dbox-storage.c:
	sdbox: Make sure mail_attachment_fs=sis-queue isn't attempted to be
	used. It could be fixed, but nobody seems to have used it so far..
	[9542732069ff]

	* src/lib-storage/index/dbox-single/sdbox-storage.c:
	sdbox: Class didn't have MAIL_STORAGE_CLASS_FLAG_FILE_PER_MSG set
	This currently only meant that mail_prefetch_count setting wasn't
	working.
	[7bc24fc1667e]

2012-10-08  Timo Sirainen  <tss@iki.fi>

	* src/master/master-settings.c:
	master: If service { protocol } is set and not included in
	"protocols", ignore its settings
	[4d268e810c15]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: doveadm fts rescan crashed with mailbox_list_index=yes
	[d96313048f17]

2012-10-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-search.c:
	lib-storage: Don't crash when searching multiple keywords. Fixed by
	simply removing the keyword merging code.
	mail_search_args_simplify() is called before
	mail_search_args_init(), so the keywords are still NULL and merging
	can't be done. Alternative fix would have been to add string array
	to mail_search_arg.value containing the keywords, but all of this is
	a pretty unnecessary optimization.
	[0306792cc843]

2012-10-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage.c:
	lib-storage: Fixed potential memory leak when
	mailbox_transaction_commit_get_changes() failed
	[28be06dbd65e]

	* src/lib-storage/mailbox-list-iter.c:
	lib-storage: When configuring mailbox INBOX {}, make sure INBOX is
	uppercased.
	[16f2f71c91b1]

	* src/lib-index/mail-index-view-sync.c:
	lib-index: Fix for handling view syncing for already deleted
	transaction logs. The sync changes' hidden-flag was set randomly,
	which could have caused flag changes to get lost.
	[4308d1794328]

	* src/imap/cmd-list.c:
	imap: LIST (SPECIAL-USE) shouldn't send INBOX reply.
	[12606087a774]

	* src/lib-storage/index/dbox-single/sdbox-save.c:
	sdbox: Fix to handling transactions with partially failed saves.
	[b99bead8b339]

	* src/lib-storage/index/dbox-common/dbox-file.c:
	mdbox: Fix to handling transactions with partially failed saves.
	[19732dd98602]

	* src/lib-storage/mail-storage.c:
	lib-storage: mailbox_save_cancel() now makes sure that dest_mail is
	reset. This fixes e.g. doveadm import, which continues import even
	though some messages couldn't be saved.
	[3de5a5b49580]

	* src/lib-storage/index/index-mail.c, src/lib-storage/index/index-
	mail.h:
	lib-storage: struct mail.close() now clears all of its data.
	[4c3dac1a94cf]

	* src/lib-storage/index/dbox-common/dbox-save.c, src/lib-storage/index
	/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
	save.c:
	dbox: Small code cleanup.
	[8c06fe0b280d]

2012-10-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mailbox-list.c:
	lib-storage: When index mkdir() fails with EPERM, create the dir
	anyway with 0700 mode. This avoids failing entirely when
	/var/mail/user has 0660 permissions and we don't have access to the
	group. The error message is still logged.
	[3ce50c0bb782]

	* src/lib-master/master-service-settings-cache.c:
	lib-master: Fixed crashes with settings cache.
	[e29b627219b3]

	* src/doveadm/server-connection.c:
	doveadm: Fixed printing large input from doveadm-server.
	[94c7e875f9b9]

	* src/lib-storage/mailbox-list.c:
	mbox: Fixed getting filesystem permissions when parent dir has
	setgid-bit enabled.
	[83695d6d41aa]

	* src/lmtp/lmtp-proxy.c:
	lmtp: Fixed hanging on proxying if remote server was down. Patch by
	Jack Bates.
	[38727d3e90ec]

2012-09-28  Timo Sirainen  <tss@iki.fi>

	* src/lib/compat.h:
	Compiling fix for HURD
	[6cac808c4bd8]

	* src/lib-storage/index/dbox-common/dbox-storage.c:
	Avoid using PATH_MAX.
	[2a44991cbf66]

	* src/lib-master/master-instance.c, src/lib-storage/index/dbox-common
	/dbox-storage.c:
	Avoid using PATH_MAX.
	[75aadea5c2a2]

2012-09-27  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Don't crash in storage rebuild if mail's "original mailbox"
	metadata is missing.
	[88a05f387743]

	* src/doveadm/doveadm-mail-altmove.c:
	doveadm altmove: Make sure all storages get purged (and not more
	than once)
	[4819306a1f9f]

2012-09-26  Timo Sirainen  <tss@iki.fi>

	* src/lib/ipwd.c:
	i_getpwnam(): Ignore EINVAL errors silently. At least FreeBSD
	returns it when attempting to lookup user@domain.
	[9dcc44d8275d]

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge: Fixed handling non-default namespace separator.
	[4e431b202cfd]

2012-10-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-fs/fs-posix.c:
	lib-fs: Compile fix for OSes that don't support
	posix_fadvise(POSIX_FADV_WILLNEED)
	[0b4b2e37b793]

	* TODO:
	TODO updated
	[12cd194553a8]

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Handle better when attempting to access shared
	mailboxes for nonexistent users.
	[a6b21ce8652d]

	* src/lib-storage/mail-user.c, src/lib-storage/mail-user.h:
	lib-storage: Added struct mail_user.nonexistent flag, which is
	filled by userdb lookup.
	[5d465a3eceb2]

	* src/lib-storage/index/index-attribute.c, src/lib-storage/index
	/index-storage.c, src/lib-storage/mail-storage-private.h, src/lib-
	storage/mail-user.c, src/lib-storage/mail-user.h:
	lib-storage: Fixes to handling separation of private/shared
	attributes.
	[4c84efce3a94]

	* src/lib-index/mail-index-transaction.c:
	lib-index: Fixes to replacing message's keywords.
	[a87edad22199]

	* src/lib-storage/index/index-mail-headers.c:
	lib-storage: Crashfix to previous stream error checking change.
	[f1f2a65d9a1c]

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-common/dbox-storage.c, src/lib-storage/index/imapc/imapc-
	storage.c, src/lib-storage/index/index-attribute.c, src/lib-
	storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/pop3c
	/pop3c-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/shared/shared-storage.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c,
	src/plugins/pop3-migration/pop3-migration-plugin.c,
	src/plugins/virtual/virtual-storage.c:
	lib-storage: Moved mail attribute dict to struct mail_storage. This
	also means that index_storage_destroy() must always be called, so
	removed now unnecessary mail_storage.destroy=NULL checks.
	[ca10d2e8d8e3]

	* src/lib-index/mail-index-view-sync.c, src/lib-index/mail-index.h,
	src/lib-storage/index/index-sync.c:
	Treat modseq updates explicitly instead of as if they were flag
	changes.
	[0f16da39121a]

	* src/lib-storage/list/mailbox-list-index-status.c, src/lib-
	storage/list/mailbox-list-index-sync.c, src/lib-storage/list
	/mailbox-list-index.c:
	lib-storage: Mailbox list indexes are now enabled also for
	shared/public mailboxes.
	[731046f18245]

	* src/lib-storage/mail-storage.c:
	lib-storage: Allow calling mailbox_get_private_flags_mask() without
	mailbox being open. Most importantly used by mailbox list indexes to
	determine if it can optimize a STATUS (UNSEEN) call.
	[40e6e734cd5e]

	* src/imap/imap-sync.c:
	imap: Commit temporary mail's transaction before finishing sync.
	Fixes assert-crash with mailbox list indexes.
	[4e8d7cfec5dc]

	* src/lib-storage/list/mailbox-list-index-status.c, src/lib-
	storage/list/mailbox-list-index.h:
	lib-storage: Avoid assert-crashing when updating mailbox list index.
	[b5a5f5139148]

	* src/lib-storage/index/index-mail-headers.c, src/lib-storage/index
	/index-mail.c, src/lib-storage/index/index-mail.h, src/lib-
	storage/index/index-search.c:
	lib-storage: Check and log stream errors when parsing/searching
	messages.
	[99965e11d9e1]

	* src/lib-storage/index/index-status.c, src/lib-storage/mail-
	storage.h:
	lib-storage: Make sure mailbox was synced at least once when getting
	status/metadata.
	[41018c6fcc53]

	* src/doveadm/dsync/dsync-mailbox-tree-fill.c:
	dsync: Make sure we're not trying to use uidvalidity=0 for existing
	mailboxes.
	[3d7edc15fcec]

	* src/lib-index/mail-index-transaction-update.c:
	lib-index: MAIL_INDEX_TRANSACTION_FLAG_AVOID_FLAG_UPDATES didn't
	work well enough for keywords. Removed the code that attempted to
	optimize some CPU usage at the cost of writing too many changes.
	[1a3348e3892f]

	* src/lib-index/mail-index-transaction-update.c:
	lib-index: Avoid assert-crashing when syncing an old "keyword reset"
	from transaction log.
	[b0a6fe3aa61f]

	* src/plugins/acl/acl-mailbox.c:
	acl: Avoid assert-crashing when trying to access shared namespace
	root "mailboxes".
	[4d0d3cc20bdb]

2012-10-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-common/dbox-attachment.c:
	dbox: Log a better error if we have external attachments, but
	mail_attachment_dir is unset.
	[26236c4e5736]

	* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
	doveadm backup: Don't assert-crash trying to delete noselect-
	mailboxes too early.
	[83cdfd0bc79d]

	* src/lib-index/mail-index-transaction.c:
	lib-index: mail_index_transaction_lookup_latest_keywords() didn't
	work properly. It wasn't actually looking up the latest keywords.
	[67af7122a522]

2012-10-24  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	mailbox-import.c, src/doveadm/dsync/dsync-mailbox-import.h:
	doveadm backup: Revert all local changes.
	[60f0cb48fdb2]

	* src/doveadm/dsync/dsync-transaction-log-scan.c:
	dsync: Crashfix for scanning keyword changes in transaction log.
	[ce3f3006383b]

	* NEWS:
	NEWS updated
	[e34a51082c11]

	* src/lib-storage/mailbox-list.c:
	lib-storage: When mkdir()ing home, copy permissions from parent if
	it has setgid-bit and we're using %h/~. When using %d/%n instead of
	%h in the location directories, use the earlier methods.
	[40b6534ddae3]

	* src/lib-storage/mailbox-list.c:
	lib-storage: When creating user directory under domain, set its
	setgid-bit on. The previous mkdir_parents_chown() change changed
	this behavior. I'm not entirely sure if the setgid-bit is a good
	idea or not in here, but we'll just continue the existing behavior.
	[fa8fa246189a]

	* src/lib/mkdir-parents.c, src/lib/mkdir-parents.h:
	mkdir_parents_chown(): If gid is set, make sure setgid-bit isn't
	copied from parent.
	[a7f95f182560]

	* src/lib-storage/index/raw/raw-storage.c:
	raw storage: Don't set NAMESPACE_FLAG_INBOX_USER for the created
	namespace.
	[5b0ab07024ca]

	* src/lib-imap/imap-envelope.c, src/lib-imap/imap-quote.c, src/lib-
	imap/imap-quote.h:
	lib-imap: Replaced last traces of imap_quote*() with
	imap_append_string_for_humans() Also the imap_append_*string()
	functions now decide whether to use quoted-string or literal based
	on the output string length (if both would work).
	[b89dae6aead4]

	* src/lib-imap/imap-envelope.c:
	lib-imap: ENVELOPE parsing/writing no longer strips whitespace from
	machine readable fields.
	[c849ae6603f2]

	* src/lib-imap/imap-bodystructure.c:
	lib-imap: bodystructure parsing now uses imap_append_string()
	instead of imap_quote*() Some of the fields are parsed through
	rfc822_*() which guarantees that they contain proper clean input.
	Other fields are also machine-readable and don't benefit from having
	whitespace compressed or of any other things that
	imap_quote*(fix_text=TRUE) did.

	None of the fields in
	[cb143b430787]

	* src/imap/cmd-list.c, src/imap/cmd-notify.c, src/imap/imap-fetch.c,
	src/imap/imap-notify.c, src/imap/imap-status.c, src/plugins/imap-acl
	/imap-acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c:
	Use imap_append_astring() instead of imap_append_string() where
	possible.
	[9a17faaed2eb]

	* src/lib-imap/imap-quote.c, src/lib-imap/imap-quote.h:
	lib-imap: Added imap_append_astring()
	[d9c44aafd163]

	* src/lib-imap/imap-arg.h, src/lib-imap/imap-parser.c, src/lib-storage
	/mailbox-keywords.c:
	lib-imap: Changed public IS_ATOM*() macros to match RFC 3501
	exactly. Move the imap-parser specific "atom plus some more" parsing
	macro inside imap-parser.c so it's not used by anyone else.
	[42f99a4fc763]

	* src/imap-login/imap-proxy.c, src/imap/cmd-list.c, src/imap/cmd-
	namespace.c, src/imap/cmd-notify.c, src/imap/imap-fetch.c, src/imap
	/imap-notify.c, src/imap/imap-search.c, src/imap/imap-status.c,
	src/imap/imap-sync.c, src/lib-imap/imap-id.c, src/plugins/imap-acl
	/imap-acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c:
	Use imap_append_*string() instead of imap_quote_append*() where
	possible. This makes it clearer what types of output should be sent.
	[ff86acd4eef5]

	* src/lib-imap/imap-quote.c, src/lib-imap/imap-quote.h:
	lib-imap: Added imap_append_string() and imap_append_nstring()
	[62d36b2dcbb6]

	* src/imap/imap-fetch-body.c, src/lib-imap-client/imapc-connection.c,
	src/lib-imap/imap-id.c, src/lib-imap/imap-quote.c, src/lib-imap
	/imap-quote.h:
	lib-imap: Renamed imap_dquote_append() to imap_append_quoted()
	[4137ea599dcd]

	* src/imap/imap-fetch-body.c:
	imap: Avoid double-quoting non-atom header field
	[e8181fc25500]

2012-10-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-index.c:
	mailbox_list_index=yes: Fixed refreshing list index after mailbox
	was created.
	[92d5b8133bf2]

	* src/lib-storage/index/maildir/maildir-storage.c:
	maildir: Don't assert-crash on mailbox creation.
	[488791e8c8d7]

	* src/lib-imap-storage/imap-msgpart.c:
	imap: Another fix for handling partial FETCHes.
	[e9cdf435fde2]

	* src/lib-imap-storage/imap-msgpart.c, src/lib-mail/message-binary-
	part.c, src/lib-mail/message-binary-part.h, src/lib-storage/fail-
	mail.c, src/lib-storage/index/index-mail-binary.c, src/lib-
	storage/index/index-mail.h, src/lib-storage/mail-storage-private.h,
	src/lib-storage/mail-storage.h, src/lib-storage/mail.c:
	imap: URLFETCH BINARY BODYPARTSTRUCTURE returns binary-decoded line
	counts.
	[3484591230ac]

	* src/lib/istream-seekable.c:
	istream-seekable: When read() reaches EOF, unreference underlying
	streams. This was already done when the stream was kept in memory,
	but not when when the stream was written to temporary file.
	[d5706259963b]

	* src/imap/cmd-urlfetch.c, src/lib-imap-urlauth/imap-urlauth-fetch.c,
	src/lib-imap-urlauth/imap-urlauth-fetch.h:
	imap: URLFETCH error handling fixes.
	[3e70eacf67a4]

	* src/lib/connection.c, src/lib/connection.h:
	connection API: Track the number of connections.
	[acd76b5272e9]

	* src/doveadm/dsync/dsync-mailbox-import.c:
	dsync: Use mailbox_move() to reassign UIDs instead of copy+expunge.
	[f417cab3a21f]

2012-10-21  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/Makefile.am, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	brain-private.h, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync
	/dsync-brain.h, src/doveadm/dsync/dsync-mailbox-export.c,
	src/doveadm/dsync/dsync-mailbox-import.c, src/doveadm/dsync/dsync-
	mailbox-state-export.h, src/doveadm/dsync/dsync-mailbox-state.c,
	src/doveadm/dsync/dsync-mailbox-state.h, src/doveadm/dsync/dsync-
	mailbox-tree.c, src/doveadm/dsync/dsync-mailbox-tree.h:
	doveadm sync/backup: Added -s <state> parameter to do a fast
	stateful sync. Initially use an empty string for the input state.
	The output state is written to stdout.
	[6c850258002f]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	mailbox-tree-sync.c, src/doveadm/dsync/dsync-brain-mailbox-tree.c,
	src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	brain-mails.c, src/doveadm/dsync/dsync-brain-private.h,
	src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-brain.h,
	src/doveadm/dsync/dsync-ibc-stream.c, src/doveadm/dsync/dsync-ibc.h,
	src/doveadm/dsync/dsync-mailbox-tree-fill.c, src/doveadm/dsync
	/dsync-mailbox-tree-sync.c, src/doveadm/dsync/dsync-mailbox-tree.c,
	src/doveadm/dsync/dsync-mailbox-tree.h, src/doveadm/dsync/test-
	dsync-mailbox-tree-sync.c:
	doveadm: "backup" command is working again.
	[454d0563927d]

	* src/lib-storage/index/index-attribute.c:
	lib-storage: Fixed deleting mailbox when mail_attribute_dict wasn't
	set.
	[a436e4a7503b]

	* src/lib-fs/fs-api.c, src/lib-fs/fs-api.h:
	lib-fs: Fixes to async APIs.
	[260b1ec12f41]

2012-10-18  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-urlauth/imap-urlauth.c:
	lib-imap-urlauth: Minor fix to avoiding timing attacks against
	mailbox existence. random_fill() is slightly slower than
	random_fill_weak(). Probably even better way to handle timing
	attacks would be to always add a short random pause before returning
	verification failure.
	[b21fe1a1c7ad]

	* src/imap-urlauth/imap-urlauth-worker.c, src/imap/main.c, src/lib-
	imap-urlauth/imap-urlauth.c:
	Moved random_init() from lib-imap-urlauth to imap/imap-urlauth
	main(). This way if the processes are chrooted they are still able
	to open /dev/urandom.
	[70ca88e74a4b]

2012-10-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-attribute.c:
	lib-storage: Added missing file from previous mailbox attribute
	commit.
	[0bb400d84134]

	* doc/example-config/conf.d/20-imap.conf, src/imap-urlauth/imap-
	urlauth-worker-settings.c, src/imap-urlauth/imap-urlauth-worker-
	settings.h, src/imap-urlauth/imap-urlauth-worker.c, src/imap/imap-
	client.c, src/imap/imap-settings.c, src/imap/imap-settings.h, src
	/lib-imap-urlauth/imap-urlauth-backend.c, src/lib-imap-urlauth/imap-
	urlauth-backend.h, src/lib-imap-urlauth/imap-urlauth-private.h, src
	/lib-imap-urlauth/imap-urlauth.c, src/lib-imap-urlauth/imap-
	urlauth.h:
	imap-urlauth: Store urlauth keys to the new mailbox attributes.
	[6e7e62ee07be]

	* src/lib-storage/fail-mailbox.c, src/lib-storage/index/Makefile.am,
	src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/imapc/imapc-storage.c, src
	/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/pop3c
	/pop3c-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage-
	settings.c, src/lib-storage/mail-storage-settings.h, src/lib-storage
	/mail-storage.c, src/lib-storage/mail-storage.h, src/plugins/virtual
	/virtual-storage.c:
	lib-storage: Added support to get/set/iterate mailbox attributes.
	The attributes are stored in a dict specified by mail_attribute_dict
	setting. The idea is to use this as storage for extensions that
	require per-mailbox key=value pairs, such as METADATA.
	[5659c178bdeb]

	* src/dict/dict-commands.c, src/dict/dict-connection.h:
	dict: If DICT_ITERATE_FLAG_NO_VALUE is set, don't send values to
	dict client.
	[dc3a95fe330b]

	* src/lib-dict/dict-sql.c, src/lib-dict/dict.h:
	lib-dict: Added DICT_ITERATE_FLAG_NO_VALUE This allows iterating
	dictionary without wasting extra time on returning values that
	aren't needed.
	[e7f10acf65e3]

	* src/imap/cmd-resetkey.c, src/lib-imap-urlauth/imap-urlauth-
	backend.c, src/lib-imap-urlauth/imap-urlauth-backend.h, src/lib-
	imap-urlauth/imap-urlauth.c:
	imap-urlauth: Use mailbox GUID instead of mailbox name for dict keys
	[327dc9a8decc]

	* doc/example-config/conf.d/20-imap.conf:
	example-config: Added imap_urlauth_* settings
	[dbefcfb9d330]

	* src/imap-urlauth/imap-urlauth-worker.c, src/imap/imap-client.c, src
	/lib-imap-urlauth/imap-urlauth.c:
	imap urlauth: Don't autofill imap_urlauth_host. Use "*" value to
	mean "any host".
	[8d8880296645]

	* src/auth/db-dict.c, src/dict/dict-connection.c, src/lib-dict/dict-
	client.c, src/lib-dict/dict-file.c, src/lib-dict/dict-memcached-
	ascii.c, src/lib-dict/dict-memcached.c, src/lib-dict/dict-private.h,
	src/lib-dict/dict-redis.c, src/lib-dict/dict-sql-settings.c, src
	/lib-dict/dict-sql-settings.h, src/lib-dict/dict-sql.c, src/lib-
	dict/dict.c, src/lib-dict/dict.h, src/lib-imap-urlauth/imap-urlauth-
	backend.c, src/lib-storage/list/mailbox-list-fs-iter.c,
	src/plugins/acl/acl-lookup-dict.c, src/plugins/expire/doveadm-
	expire.c, src/plugins/expire/expire-plugin.c, src/plugins/quota
	/quota-dict.c:
	lib-dict: dict_init() now returns error string instead of logging it
	[22c22d704422]

	* src/auth/db-dict.c, src/auth/db-ldap.c, src/auth/db-sql.c, src/lib-
	dict/dict-sql-settings.c, src/lib-settings/settings.c, src/lib-
	settings/settings.h:
	lib-settings: settings_read*() now returns an error string instead
	of logging itself
	[444a9921205a]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-dump.c, src/doveadm
	/doveadm-dump.h, src/doveadm/doveadm-zlib.c, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h, src/plugins/zlib/Makefile.am,
	src/plugins/zlib/doveadm-zlib.c:
	Moved doveadm zlib commands from zlib plugin to doveadm directly.
	Previously it was a plugin, because the istream-zlib existed only in
	zlib plugin. Now there's a lib-compression that implements it.
	[cea1d5504a84]

	* src/lib/istream-private.h, src/lib/istream.c:
	istream: Added internal try_alloc_limit to limit size returned by
	i_stream_try_alloc() This was required by the previous SSL change.
	[cafdd35ac437]

	* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
	/iostream-openssl.h, src/lib-ssl-iostream/istream-openssl.c:
	lib-ssl-iostream: Make the input buffering behave the same as in
	file-istream Previously i_stream_read(ssl_input) could have still
	left some data buffered into the underlying file-istream, which
	meant that I/O loop didn't detect any new input from the fd and the
	connection got stuck.
	[083bd881b9da]

2012-10-12  Timo Sirainen  <tss@iki.fi>

	* src/config/settings-get.pl:
	config: Added lib-master's settings parsers back to config's
	knowledge
	[78749ae0c9c2]

	* src/lib-index/mail-index-lock.c, src/lib-index/mail-index-map-
	read.c, src/lib-index/mail-index-map.c, src/lib-index/mail-index-
	private.h, src/lib-index/mail-index-sync-update.c, src/lib-index
	/mail-index.c:
	lib-index: dovecot.index file is no longer overwritten, so it
	doesn't need to be locked.
	[b7ac3897f3fd]

	* src/lib-storage/index/maildir/maildir-storage.c:
	maildir: If INDEXPVT is set, assume private \Seen flags even if
	dovecot-shared doesn't exist.
	[16a626119f7b]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-storage.h, src/lib-storage/mailbox-list.c,
	src/lib-storage/mailbox-list.h:
	lib-storage: Added support for "broken_char" setting for escaping
	invalid mailbox names. This is currently enabled only for imapc
	backend, where '~' character is used for it.

	Most importantly this allows migrating mailboxes from other IMAP
	servers that contain mailbox names that Dovecot's imapc backend
	couldn't otherwise access.
	[22e7322e8601]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
	list-fs.c, src/lib-storage/list/mailbox-list-index-backend.c, src
	/lib-storage/list/mailbox-list-maildir.c, src/lib-storage/list
	/mailbox-list-none.c, src/lib-storage/mailbox-list-private.h, src
	/lib-storage/mailbox-list.c:
	lib-storage: Added optional mailbox_list.init(), which can check for
	failure. "index" backend now gives a nice error message instead of
	crashing when mailbox_list_index=no
	[a44be96f55c1]

	* configure.in, src/lib-storage/index/imapc/Makefile.am, src/lib-
	storage/index/imapc/imapc-list.c, src/lib-storage/index/imapc/imapc-
	list.h, src/lib-storage/index/imapc/imapc-plugin.c, src/lib-
	storage/index/imapc/imapc-plugin.h, src/lib-storage/index/imapc
	/imapc-setting-storage.c, src/lib-storage/index/imapc/imapc-
	settings.h, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
	storage/index/imapc/imapc-storage.h, src/lib-
	storage/index/pop3c/Makefile.am, src/lib-storage/index/pop3c/pop3c-
	plugin.c, src/lib-storage/index/pop3c/pop3c-plugin.h, src/lib-
	storage/index/pop3c/pop3c-setting-storage.c, src/lib-
	storage/index/pop3c/pop3c-settings.h, src/lib-storage/index/pop3c
	/pop3c-storage.c, src/lib-storage/index/pop3c/pop3c-storage.h:
	Build imapc and pop3c always as plugins. This avoids having to link
	openssl library to all binaries that use lib-storage. It appears
	that simply by linking with openssl causes each such process to use
	100-200 kB of more memory. With 10k imap processes this is 1-2 GB of
	wasted memory.

	The imapc and pop3c are still registered as stubs, and their plugins
	are automatically loaded when needed.
	[269104a0821b]

	* src/lib-storage/index/shared/shared-storage.c, src/lib-storage/mail-
	storage.c, src/lib-storage/mail-user.c, src/lib-storage/mail-user.h:
	lib-storage: Added mail_user_get_storage_class(), which auto-loads
	storage plugins. The auto-loading is done only if there's already a
	stub storage registered.
	[985ebfb17f35]

	* Makefile.am:
	Makefile: Added cc-wrapper.sh.in missing from last commit
	[dbf88dc1b873]

	* .hgignore, cc-wrapper.sh.in, configure.in, src/doveadm/Makefile.am,
	src/indexer/Makefile.am, src/lda/Makefile.am, src/lmtp/Makefile.am,
	src/pop3/Makefile.am:
	--without-shared-libs: Link Dovecot libraries with --whole-archive
	flag for binaries. This removes the need for the ugly unused_objects
	lists for binaries, which were needed to avoid plugins from failing
	because they were missing some functions.

	Apparently there's no easy way to use --whole-archive properly with
	libtool, so there's now a rather ugly cc-wrapper.sh that does it.
	Also this is done only when GNU ld is deted. Most people are going
	to use --with-shared-libs though, so I don't think any of this is
	going to be a real problem.
	[b0c7d2f8a185]

	* configure.in:
	config: Don't include lib-master/*.c files in all-settings.c lib-
	master is already being linked to the binaries anyway.
	[c30673b5ec1b]

	* src/imap/main.c:
	imap: Don't waste data stack memory at startup.
	[b25fb761e580]

	* src/lib/hostpid.c:
	hostpid_init(): Don't waste memory from data stack. Even though it's
	only a few bytes, it was being wasted permanently for all processes.
	[a446d8bc2be5]

	* src/doveadm/doveadm-mail.c, src/doveadm/dsync/doveadm-dsync.c, src
	/imap-urlauth/imap-urlauth-client.c, src/imap-urlauth/imap-urlauth-
	worker.c, src/lib-master/master-login.c, src/lib-master/master-
	service.c, src/lib-storage/mail-storage-service.c,
	src/lib/failures.c, src/lib/failures.h, src/lmtp/commands.c, src/log
	/log-connection.c, src/master/main.c:
	i_set_failure_prefix() now takes printf-like parameters. This avoids
	using t_strdup_printf() with it, which was done very commonly.
	[d00cf8e0dae7]

	* src/lib-index/mail-cache-transaction.c:
	lib-index: Error handling fix to cache transaction flushing.
	[70ebdddbdf9c]

	* configure.in, src/auth/main.c, src/config/config-parser.c,
	src/dict/main.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-
	util.c, src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src
	/lib-sql/driver-sqlite.c, src/lib-storage/mail-storage-service.c,
	src/lib/module-dir.c, src/lib/module-dir.h, src/plugins/acl/acl-
	plugin.c, src/plugins/acl/doveadm-acl.c, src/plugins/expire/doveadm-
	expire.c, src/plugins/expire/expire-plugin.c, src/plugins/fts-lucene
	/doveadm-fts-lucene.c, src/plugins/fts-lucene/fts-lucene-plugin.c,
	src/plugins/fts-solr/fts-solr-plugin.c, src/plugins/fts-squat/fts-
	squat-plugin.c, src/plugins/fts/doveadm-fts.c, src/plugins/fts/fts-
	plugin.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-
	quota/imap-quota-plugin.c, src/plugins/imap-stats/imap-stats-
	plugin.c, src/plugins/imap-zlib/imap-zlib-plugin.c, src/plugins
	/lazy-expunge/lazy-expunge-plugin.c, src/plugins/listescape
	/listescape-plugin.c, src/plugins/mailbox-alias/mailbox-alias-
	plugin.c, src/plugins/notify/notify-plugin.c,
	src/plugins/pop3-migration/pop3-migration-plugin.c,
	src/plugins/quota/doveadm-quota.c, src/plugins/quota/quota-plugin.c,
	src/plugins/snarf/snarf-plugin.c, src/plugins/stats/stats-plugin.c,
	src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
	plugin.c, src/plugins/zlib/doveadm-zlib.c, src/plugins/zlib/zlib-
	plugin.c:
	Plugin ABI version checking improvements. Previously the plugin
	version was checked against the version string returned by the
	currently running Dovecot master process, not necessarily the same
	as the binary. Also version_ignore=yes setting skipped the version
	check entirely.

	Now there's a new DOVECOT_ABI_VERSION macro that can (at least in
	theory) be updated only when the ABI actually changes. The version
	is in format "2.2.ABIv1(2.2.15)", where the (2.2.15) would be the
	actual Dovecot version number that gets ignored when comparing the
	strings.

	Also now the plugin version is compared to the actually running
	binary's ABI, not the master's version, and it can't be ignored with
	a setting.
	[73916b7be94e]

	* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
	api.h, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-common.c, src/lib-fs
	/fs-sis-common.h, src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c,
	src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-copy.c, src/lib-storage/index/dbox-
	single/sdbox-file.c, src/lib-storage/index/index-attachment.c:
	lib-fs API cleanups and improvements
	[ce57bacc3010]

2012-10-11  Timo Sirainen  <tss@iki.fi>

	* src/lib-http/http-url.c:
	Compiler warning fix.
	[2ac184a82b9a]

2012-10-10  Stephan Bosch  <stephan@rename-it.nl>

	* src/lib-http/Makefile.am, src/lib-http/http-date.c, src/lib-http
	/http-date.h, src/lib-http/test-http-date.c, src/lib-http/test-http-
	header-parser.c:
	Add HTTP date parsing support.
	[d927aaaf9252]

	* configure.in, src/Makefile.am, src/lib-http/Makefile.am, src/lib-
	http/http-url.c, src/lib-http/http-url.h, src/lib-http/test-http-
	url.c:
	Adds HTTP URL parse support.
	[70305d850220]

	* src/lib-imap/imap-url.c, src/lib-imap/test-imap-url.c:
	Adjust IMAP URL parser to changes in uri-util.
	[b8929da80876]

	* src/lib/uri-util.c:
	uri-util: Fix handling of '..' and '.' segments in URI paths. As
	specified by RFC 3986
	[f960ad98429c]

2012-10-08  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Compile fix for previous unlink_directory() change
	[e63a281eeff9]

	* src/lib-storage/list/mailbox-list-delete.c, src/lib/unlink-
	directory.c, src/lib/unlink-directory.h:
	unlink_directory(): Added UNLINK_DIRECTORY_FLAG_SKIP_DOTFILES flag.
	[b9cb9c3cdfdc]

2012-10-04  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-dump-index.c, src/lib-index/mail-cache-
	compress.c, src/lib-index/mail-cache-private.h, src/lib-index/mail-
	cache-transaction.c, src/lib-index/mail-cache.c:
	lib-index: Simplified writing to dovecot.index.cache file. The old
	method was basically:
	 - write max. 32 kB to internal buffer
	 - flush it by writing to reserved areas (with no locks)

	The reserved areas were acquired by doing (whenever needed):
	 - lock dovecot.index.cache
	 - reserve data from dovecot.index.cache for writing, potentially
	increasing the file size by writing 0 bytes. the reserved area
	size varies.
	 - unlock dovecot.index.cache

	This worked, but if multiple processes were writing to the cache
	file it could have left incomplete reserved areas as holes. The
	holes were attempted to be filled if they were large enough.

	The new method is:
	 - write max. 256 kB to internal buffer
	 - lock dovecot.index.cache
	 - append the buffer to dovecot.index.cache
	 - unlock dovecot.index.cache

	No reserved areas, holes or anything else weird going on.

	Ideally no data would be overwritten in the dovecot.index.cache
	file, only appended. Unfortunately currently some data is still
	overwritten:
	 - mail_cache_header.{deleted_space,continued_record_count}
	 - mail_cache_header_fields.next_offset when writing a new one
	 - mail_cache_header_fields.{last_used,decision}
	 - mail_cache_record.prev_offset

	The changing headers could eventually be moved to dovecot.index.
	This however is a backwards-incompatible change. The record's
	prev_offset could maybe simply just not be written in those
	(somewhat rare) problematic situations.
	[60c4815778fb]

	* src/lib-storage/index/index-rebuild.c:
	dbox: Index rebuilding didn't open dovecot.index.backup file. Recent
	changes broke it, and it was attemting to use dovecot.index/.backup
	file instead.
	[aa5c1d162714]

	* AUTHORS, src/doveadm/doveadm-pw.c, src/lib-imap/test-imap-url.c, src
	/lib-sql/driver-sqlite.c, src/lib/ioloop-epoll.c,
	src/lib/iso8601-date.c, src/lib/primes.c, src/lib/test-
	iso8601-date.c, src/master/capabilities-posix.c, src/plugins/notify
	/notify-plugin.c, src/plugins/notify/notify-storage.c:
	Added/updated some copyright comments.
	[d66421812d2a]

2012-10-03  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-client-connection.c, src/auth/auth-master-
	connection.c, src/auth/auth-penalty.c, src/auth/auth-postfix-
	connection.c, src/auth/auth-request-handler.c, src/auth/auth-
	request.h, src/auth/auth-worker-client.c, src/auth/auth-worker-
	server.c, src/auth/db-ldap.c, src/auth/main.c, src/auth/passdb-
	pam.c, src/config/config-filter.h, src/config/settings-get.pl,
	src/director/auth-connection.c, src/director/director-connection.c,
	src/director/director-host.h, src/director/director.h, src/director
	/doveadm-connection.c, src/director/login-connection.c, src/director
	/mail-host.h, src/doveadm/doveadm-director.c, src/doveadm/doveadm-
	kick.c, src/doveadm/doveadm-mail-index.c, src/doveadm/doveadm-
	penalty.c, src/doveadm/doveadm-stats.c, src/doveadm/doveadm-util.c,
	src/doveadm/doveadm-who.c, src/doveadm/server-connection.c, src
	/imap-login/client-authenticate.c, src/imap-login/client.h, src
	/imap-urlauth/imap-urlauth-client.c, src/imap-urlauth/imap-urlauth-
	login.c, src/imap-urlauth/imap-urlauth-worker.c, src/imap/cmd-
	idle.c, src/imap/cmd-urlfetch.c, src/imap/imap-client.c, src/lib-
	auth/auth-client.h, src/lib-auth/auth-master.c, src/lib-auth/auth-
	master.h, src/lib-auth/auth-server-connection.c, src/lib-dict/dict-
	client.c, src/lib-dns/dns-lookup.c, src/lib-imap-client/imapc-
	connection.c, src/lib-imap-storage/imap-msgpart-url.c, src/lib-imap-
	urlauth/imap-urlauth-connection.c, src/lib-imap-urlauth/imap-
	urlauth-fetch.c, src/lib-imap/imap-url.c, src/lib-imap/test-imap-
	url.c, src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src
	/lib-master/anvil-client.c, src/lib-master/ipc-client.c, src/lib-
	master/ipc-server.c, src/lib-master/master-auth.h, src/lib-master
	/master-login-auth.c, src/lib-master/master-service-settings.h, src
	/lib-master/master-service.h, src/lib-settings/settings-parser.c,
	src/lib-storage/index/pop3c/pop3c-client.c, src/lib-storage/mail-
	storage-service.h, src/lib-storage/mail-user.c, src/lib/Makefile.am,
	src/lib/connection.c, src/lib/connection.h, src/lib/failures.c,
	src/lib/fd-close-on-exec.c, src/lib/ioloop-notify-inotify.c, src/lib
	/istream-file.c, src/lib/net.c, src/lib/net.h, src/lib/network.c,
	src/lib/network.h, src/lib/ostream-file.c, src/lib/sendfile-util.c,
	src/lib/test-network.c, src/lib/unix-socket-create.c, src/lib/uri-
	util.c, src/lmtp/client.h, src/lmtp/lmtp-proxy.h, src/login-common
	/access-lookup.c, src/login-common/client-common.h, src/login-common
	/login-proxy-state.c, src/login-common/login-proxy.h, src/login-
	common/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c,
	src/master/master-settings.c, src/master/service-listen.c,
	src/master/service.h, src/plugins/fts/fts-indexer.c, src/plugins/fts
	/fts-parser-script.c, src/plugins/quota/quota.c,
	src/plugins/replication/replication-plugin.c, src/plugins/stats
	/stats-connection.c, src/plugins/zlib/doveadm-zlib.c,
	src/pop3-login/client.h, src/pop3/pop3-client.c,
	src/replication/aggregator/notify-connection.c,
	src/replication/aggregator/replicator-connection.c,
	src/replication/replicator/doveadm-connection.c, src/stats/client-
	export.c, src/stats/mail-stats.h, src/util/rawlog.c:
	Renamed network.[ch] to net.[ch]. The function prefixes already
	started with net_ instead of network_. And icecap wants to use
	network.h for other purpose. :)
	[02451e967a06]

	* src/auth/mech-scram-sha1.c, src/auth/password-scheme-scram.c,
	src/auth/password-scheme.h:
	auth: More error checking and cleanups to SCRAM-SHA-1.
	[559718e321a2]

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Fixed crash with mailbox_list_index=yes
	[62a14c9ae6c4]

	* src/lib-dict/dict-file.c, src/lib-dict/dict-memcached-ascii.c, src
	/lib-dict/dict-memcached.c, src/lib-dict/dict-redis.c:
	lib-dict: Fixed error handling on initialization.
	[9f86c18e6b2c]

	* src/lib-master/master-service.c:
	lib-master: Fixed crashing with -i <instance> parameter handling.
	[04cd35e86025]

	* src/lib-index/mail-transaction-log-file.c, src/lib-index/mail-
	transaction-log-private.h, src/lib-index/mail-transaction-log.c:
	Typofix: s/TRANSCATION/TRANSACTION/
	[ee0cf9c67571]

2012-09-19  Florian Zeitz  <florob@babelmonkeys.de>

	* src/auth/Makefile.am, src/auth/mech-scram-sha1.c, src/auth/password-
	scheme-scram.c, src/auth/password-scheme.c, src/auth/password-
	scheme.h:
	auth: Add and use SCRAM-SHA-1 password scheme
	[3e3ac2c16fa4]

2012-10-03  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-close.c, src/imap/cmd-expunge.c:
	imap: If CLOSE/EXPUNGE fails with "permission denied", return tagged
	OK anyway.
	[d40f26407aad]

	* src/plugins/acl/acl-mailbox.c:
	acl: Don't silently ignore permission error on expunge.
	[3f55c6ca06f8]

	* src/imap/cmd-expunge.c, src/imap/imap-client.h, src/imap/imap-
	sync.c:
	imap: Removed unnecessary code.
	[ab2abb987619]

	* src/lib-imap-storage/imap-msgpart.c:
	imap: Fixed partial FETCHes.
	[99843f74422a]

	* src/lib-mail/Makefile.am, src/lib-mail/message-send.c, src/lib-mail
	/message-send.h, src/lib-mail/message-size.c, src/lib-mail/message-
	size.h:
	lib-mail: Moved message_skip_virtual() to message-size.[ch] and
	changed API
	[4a074827375d]

	* src/imap/imap-fetch-body.c, src/imap/imap-fetch.c:
	imap: Removed unnecessary #includes
	[5cdd5bf63c51]

2012-09-30  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream.c, src/lib/istream.h, src/lib/ostream.c,
	src/lib/ostream.h:
	Added [io]_stream_create_error() for creating streams that always
	fail reads/writes.
	[f860cdf156cf]

2012-10-03  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request-handler.c, src/auth/auth-request.c, src/auth
	/auth-request.h:
	auth: Don't add proxy/pass fields when we're only authenticating
	(not logging in). For example SMTP server doesn't need these fields
	when doing SMTP AUTH.
	[ff66315076ce]

2012-08-30  Florian Zeitz  <florob@babelmonkeys.de>

	* src/auth/auth-token.c, src/auth/mech-cram-md5.c, src/auth/mech-
	scram-sha1.c, src/auth/password-scheme.c, src/lib-imap-urlauth/imap-
	urlauth.c, src/lib-ntlm/ntlm-encrypt.c, src/lib/Makefile.am, src/lib
	/hmac-cram-md5.c, src/lib/hmac-cram-md5.h, src/lib/hmac-md5.c,
	src/lib/hmac-md5.h, src/lib/hmac-sha1.c, src/lib/hmac-sha1.h,
	src/lib/hmac.c, src/lib/hmac.h:
	lib: Generalize hmac to be hash independent
	[8802322d7257]

2012-10-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap/imap-url.c:
	lib-imap: Minor fix to imap_url_parse()
	[fc512eba5207]

2012-09-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-common/dbox-storage.c:
	Compiler warning fix for previous change
	[b6663a4f60fe]

	* src/lib-master/master-instance.c, src/lib-storage/index/dbox-common
	/dbox-storage.c:
	Avoid using PATH_MAX.
	[48ee8bad7d51]

	* src/lib-storage/index/maildir/maildir-storage.c:
	maildir: Directories were created without execute-permissions Broken
	by recent changes.
	[1dafaabeb134]

	* configure.in, src/lib-storage/list/Makefile.am, src/lib-storage/list
	/mailbox-list-delete.c, src/lib-storage/list/mailbox-list-delete.h,
	src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list
	/mailbox-list-index-backend.c, src/lib-storage/list/mailbox-list-
	index-iter.c, src/lib-storage/list/mailbox-list-index-notify.c, src
	/lib-storage/list/mailbox-list-index-status.c, src/lib-storage/list
	/mailbox-list-index-storage.h, src/lib-storage/list/mailbox-list-
	index-sync.c, src/lib-storage/list/mailbox-list-index-sync.h, src
	/lib-storage/list/mailbox-list-index.c, src/lib-storage/list
	/mailbox-list-index.h, src/lib-storage/list/mailbox-list-maildir.c:
	lib-storage: Added initial implementation for layout=index. The idea
	is that all of the mailbox names only exist in the mailbox list
	index. Storage directories use mailbox GUIDs. This avoids all kinds
	of race conditions with mailbox renames. mailbox_list_index=yes is
	required for this layout to work.

	There are probably still some race conditions within the indexing
	code itself. Also error recovery is missing.
	[0fa075f2e85a]

	* src/lib-storage/mail-storage.c:
	lib-storage: Do mailbox autocreation elsewhere also besides just
	mailbox_open()
	[55ab35b0cc22]

	* src/lib-storage/mail-storage.c:
	lib-storage: If trying to rename mailbox over itself, fail early.
	[35b9e155f03f]

2012-09-27  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-dump-index.c:
	doveadm dump -t index: Added support for mailbox list index records.
	[e3639ddbba2f]

2012-09-26  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/doveadm-dsync.c, src/indexer/master-connection.c,
	src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-
	multi/mdbox-storage.c, src/lib-storage/index/dbox-single/sdbox-
	file.c, src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
	storage/index/imapc/imapc-list.c, src/lib-storage/index/index-
	rebuild.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-sync-pvt.c, src/lib-storage/index/index-sync.c,
	src/lib-storage/index/maildir/maildir-keywords.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox
	/mbox-lock.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-sync.c, src/lib-storage/index/shared/shared-
	list.c, src/lib-storage/index/shared/shared-storage.c, src/lib-
	storage/list/mailbox-list-delete.c, src/lib-storage/list/mailbox-
	list-fs-flags.c, src/lib-storage/list/mailbox-list-fs-iter.c, src
	/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-
	list-index.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/list/mailbox-list-none.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/mailbox-
	list-private.h, src/lib-storage/mailbox-list.c, src/lib-storage
	/mailbox-list.h, src/plugins/acl/acl-backend-vfile-acllist.c,
	src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/doveadm-acl.c,
	src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-squat
	/fts-backend-squat.c, src/plugins/fts/fts-storage.c, src/plugins
	/mailbox-alias/mailbox-alias-plugin.c, src/plugins/quota/quota-
	dirsize.c, src/plugins/quota/quota-fs.c, src/plugins/quota/quota-
	maildir.c, src/plugins/quota/quota.c:
	lib-storage: mailbox_get_path() and friends can now return an error.
	An upcoming "index" mailbox_list backend uses mailbox GUIDs as the
	directory names. Doing a name => GUID lookup may fail, so the path
	lookup may fail.

	This is a somewhat annoying change and perhaps it can be removed in
	future, but for now it looks like it can't be avoided.
	[c7a99d41e39e]

	* NEWS, configure.in, src/auth/auth-request.c, src/auth/auth-
	request.h, src/auth/db-ldap.c, src/auth/userdb-static.c, src/config
	/config-parser.c, src/director/director-connection.c,
	src/director/director.c, src/director/director.h,
	src/doveadm/Makefile.am, src/doveadm/doveadm-settings.c, src/doveadm
	/doveadm-settings.h, src/doveadm/doveadm.c, src/imap/cmd-list.c, src
	/lib-imap-client/imapc-client.h, src/lib-imap-client/imapc-
	connection.c, src/lib-imap/imap-parser.c, src/lib-imap/imap-
	parser.h, src/lib-master/master-service-settings-cache.c, src/lib-
	settings/settings-parser.c, src/lib-storage/index/dbox-common/dbox-
	storage.c, src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-
	storage/index/dbox-multi/mdbox-map-private.h, src/lib-storage/index
	/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-
	storage.c, src/lib-storage/index/dbox-single/sdbox-storage.c, src
	/lib-storage/index/index-status.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
	/lib-storage/index/pop3c/pop3c-mail.c, src/lib-storage/list/mailbox-
	list-fs-iter.c, src/lib-storage/list/mailbox-list-maildir-iter.c,
	src/lib-storage/mail-namespace.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage-service.c, src/lib-storage
	/mail-storage-settings.c, src/lib-storage/mail-storage-settings.h,
	src/lib-storage/mail-storage.h, src/lib-storage/mail-user.c, src
	/lib-storage/mail-user.h, src/lib-storage/mailbox-guid-cache.c, src
	/lib-storage/mailbox-list-iter.h, src/lib-storage/mailbox-list-
	private.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
	list.h, src/lib/hash.c, src/lib/unichar.h, src/lmtp/client.c,
	src/lmtp/commands.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
	settings.h, src/plugins/acl/acl-lookup-dict.c, src/plugins/fts-
	lucene/Snowball.cc, src/plugins/fts-lucene/lucene-wrapper.cc,
	src/plugins/fts-solr/fts-backend-solr.c, src/plugins/mailbox-alias
	/mailbox-alias-plugin.c, src/plugins/quota/quota-count.c,
	src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-
	private.h, src/plugins/quota/quota-storage.c,
	src/plugins/quota/quota.c:
	Merged changes from v2.1 tree.
	[e3175ee39483]

2012-09-24  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c, src/auth/db-ldap.c:
	auth ldap: Previous change broke %$ variable.
	[4d82c74f702c]

	* src/auth/auth-request.c, src/auth/auth-request.h, src/auth/db-
	ldap.c:
	ldap auth: Update %variables after each field update. The previous
	behavior was a bit confusing. "uid=user" at the beginning updated
	the %u variable, but if it was after templates it didn't update it.
	Also "=user=%{uid}" that was supposed to be equivalent wasn't. Now
	the behavior is consistent across all ways to set the fields.
	[18c8d840b028]

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-storage
	/mailbox-list.c, src/lib-storage/mailbox-list.h:
	lib-storage: Added ALTNOCHECK option to mail_location. By default
	Dovecot verifies that $rootdir/dbox-alt-root symlink matches the ALT
	directory location, and logs an error if not. This is mainly to
	avoid accidents during initial configuration when for example alt
	dir was set in global mail_location but was forgotten to be set in
	userdb reply's mail_location. The ALTNOCHECK setting simply doesn't
	check or create this symlink, giving a (very) small performance
	improvement.
	[a14f1d2e2b45]

	* doc/example-config/conf.d/20-lmtp.conf, src/lmtp/commands.c,
	src/lmtp/lmtp-settings.c, src/lmtp/lmtp-settings.h:
	lmtp: Added lmtp_rcpt_check_quota setting to check quota already on
	RCPT TO.
	[cc7906697d19]

	* src/lib-storage/mail-storage.h, src/plugins/quota/quota-storage.c:
	lib-storage: Added STATUS_CHECK_OVER_QUOTA for checking if user is
	over quota.
	[94f9dfa7cbaf]

	* src/lib-storage/index/imapc/imapc-settings.c:
	imapc: And another compile fix.. Using the macro would have required
	config/all-settings.c to include imapc-client.h, which is a bit too
	much trouble just for this.
	[0a5a3b760e2e]

	* src/lib-storage/index/imapc/imapc-settings.c:
	imapc: Compile fix for previous change.
	[bea05a64cf8b]

	* src/auth/passdb-imap.c:
	auth: passdb imap assert-crashed always
	[17a8f15beb8c]

	* src/lib-imap-client/imapc-client.h, src/lib-storage/index/imapc
	/imapc-settings.c:
	imapc: Added IMAPC_DEFAULT_MAX_IDLE_TIME macro.
	[fd863826c892]

2012-09-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-lda/mail-deliver.c:
	lib-lda: After auto-creating mailbox only open it, don't bother
	syncing it.
	[f818f65f1a7f]

2012-09-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index
	/dbox-multi/mdbox-map-private.h, src/lib-storage/index/dbox-multi
	/mdbox-map.c:
	mdbox: Delay getting permissions for map/message files. This avoids
	a stat() if no mailbox is opened.
	[c83c70edef35]

	* src/lmtp/commands.c:
	lmtp: After successful proxying RCPT TO, the second one to
	nonexistent user gave tempfail error. Instead of "unknown user" it
	gave "Can't handle mixed proxy/non-proxy destinations".
	[6908b8875720]

	* src/lmtp/client.c:
	lmtp: RSET/LHLO should reset any pending proxy connections.
	[2efd5eb7966d]

	* src/config/config-parser.c:
	config: Don't ignore invalid network/mask in local/remote blocks
	[02aa054c762f]

2012-09-18  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 1a6c3b4e92e4
	[3c215bd49cd0]

	* .hgtags:
	Added tag 2.1.10 for changeset 1a6c3b4e92e4
	[abef881deed0]

	* NEWS, configure.in:
	Released v2.1.10.
	[1a6c3b4e92e4] [2.1.10]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Compiling fix for previous change
	[a9a49a30344b]

	* src/director/director-request.c:
	director: Fixed weak-user handling when there is only one director.
	[f9424b066dcb]

	* src/plugins/fts-lucene/Snowball.cc, src/plugins/fts-
	lucene/SnowballAnalyzer.h, src/plugins/fts-lucene/SnowballFilter.h,
	src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins/fts-lucene
	/fts-lucene-plugin.h, src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Added "normalize" option to put data through user's
	normalizer function.
	[a200fdbc1fa0]

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-user.c,
	src/lib-storage/mail-user.h, src/lib/unichar.h:
	Backported parts of normalizer_func_t changes from v2.2 tree.
	[99305e4dd403]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Compiling fix for previous alias symlink change
	[be5b1256bf57]

	* src/auth/userdb-static.c:
	auth: userdb static used auth caching wrong when verifying user
	existence with passdb lookup. Cache entries were being looked/added
	for userdbs instead of passdbs. This caused problems at least with:

	a) Multiple userdbs (where static userdb was the last). Passdb
	results were added as cache entries to the first userdbs, possibly
	causing some confusion.

	b) Multiple passdbs, because the first passdb result was added to
	cache and used for the rest of the passdbs.
	[c38060f0ad58]

	* src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
	quota: Allow negative percentage rules up to -99%
	[74d639b2a5bf]

	* configure.in, src/plugins/Makefile.am, src/plugins/mailbox-
	alias/Makefile.am, src/plugins/mailbox-alias/mailbox-alias-plugin.c,
	src/plugins/mailbox-alias/mailbox-alias-plugin.h:
	Added mailbox-alias plugin. Aliases can be created like:

	plugin { mailbox_alias_old = Sent mailbox_alias_new = Sent
	Messages mailbox_alias_old2 = Sent mailbox_alias_new2 = Sent
	Items }

	When creating an alias, the original mailbox is also created. The
	alias itself is a symlink to the original. Deleting an alias deletes
	the symlink. The original mailbox can't be deleted or renamed while
	it has aliases. Aliases cannot be renamed. Aliases are skipped when
	recalculating quota.

	If a mailbox with the alias's name was already created before the
	aliasing was enabled, it's not treated as alias until it's first
	deleted.
	[f5bb9f6b304d]

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Skip alias symlinks when rescanning.
	[45773a09dcf2]

	* src/plugins/quota/quota-count.c, src/plugins/quota/quota-maildir.c:
	quota: Skip alias symlinks when calculating quota
	[1937b38f50f0]

	* src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
	/mailbox-list-maildir-iter.c, src/lib-storage/mailbox-guid-cache.c,
	src/lib-storage/mailbox-list-private.h, src/lib-storage/mailbox-
	list.c, src/lib-storage/mailbox-list.h:
	lib-storage: MAILBOX_LIST_ITER_SKIP_ALIASES now skips also "alias
	symlinks" An "alias symlink" is a symlink that points to the same
	directory. These can safely be skipped when iterating through all
	mails in all mailboxes (unlike other symlinks that may point to
	external storages).
	[eff1d11ce14b]

2012-09-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/pop3c/pop3c-mail.c:
	pop3c: Fetching message size could have returned wrong value
	[8cec3b4c43ca]

2012-09-12  Timo Sirainen  <tss@iki.fi>

	* src/director/director-connection.c, src/director/director-
	connection.h, src/director/director.c, src/director/director.h:
	director: Improved logging related to disconnections.
	[27d3289e1f5c]

	* src/director/director-connection.c:
	director: Already seen USER-WEAK command caused director to
	disconnect.
	[24e791bbcf69]

2012-09-11  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-client/imapc-connection.c:
	imapc: Fixed parsing "text" input after OK/NO/BAD/BYE.
	[245fe7fd6f00]

	* src/lib-imap/imap-parser.c, src/lib-imap/imap-parser.h:
	lib-imap: Added IMAP_PARSE_FLAG_SERVER_TEXT that fixes parsing input
	from IMAP server.
	[382df961f290]

2012-09-11  Dafan Zhai  <dafan.zhai@securepoint.de>

	* src/lib-storage/index/index-status.c:
	lib-storage: Fixed memory leak getting MAILBOX_METADATA_VIRTUAL_SIZE
	Function virtual_size_add_new forgets to free the 'search_args'
	object after it searches the mails.
	--- src/lib-storage/index/index-status.c | 1 + 1 files changed,
	1 insertions(+), 0 deletions(-)
	[3e1f1b6887c8]

2012-09-11  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap/imap-parser.c, src/lib-settings/settings-parser.c, src
	/lib-storage/mail-storage-service.c, src/lib/hash.c:
	Decrease minimum memory allocations. This is mainly to avoid wasting
	settings-related memory for IMAP processes. Probably something more
	radical should be done at some point.
	[9f691edba099]

	* src/lib-master/master-service-settings-cache.c:
	lib-master: Decrease initial memory pool size
	[f3d532a4feb6]

	* src/plugins/acl/acl-lookup-dict.c:
	acl: Don't add sameuser -> sameuser entries to ACL dict.
	[3eaeacc85b4c]

2012-09-06  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-settings.c, src/doveadm
	/doveadm-settings.h, src/doveadm/doveadm.c:
	doveadm: Added exec command to easily execute commands from
	libexec_dir. For example: doveadm exec imap -u user@domain
	[cb3f49b649bf]

2012-09-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-namespace.c, src/lib-storage/mail-storage-
	settings.c, src/lib-storage/mail-storage-settings.h:
	lib-storage: Added "disabled" setting for namespaces.
	[0ee2f712b489]

2012-09-02  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-list.c, src/lib-storage/list/mailbox-list-fs-iter.c:
	Various fixes to listing mailboxes. Some of these are a bit kludgy,
	v2.2 has a larger rewrite of the code to implement them more nicely.
	[d079d72abb79]

2012-08-31  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: Fix to previous public namespace location detection crashfix.
	[5625ab0a3eed]

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-storage.c:
	lib-storage: Don't crash when trying to detect public namespace's
	mail_location. Public namespaces have no owner.
	[6b9db780b47d]

2012-09-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-storage.c, src/lib-storage/mail-
	storage.c:
	lib-storage: Cleanup, use the new mailbox_*() instead of
	mailbox_list_*() when possible.
	[981e0bc71742]

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index/dbox-
	multi/mdbox-map.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-sync-pvt.c, src/lib-storage/index/maildir
	/maildir-util.c, src/lib-storage/list/subscription-file.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src
	/lib-storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c,
	src/lib-storage/mailbox-list.h, src/plugins/acl/acl-backend-vfile-
	acllist.c, src/plugins/fts-lucene/fts-backend-lucene.c:
	lib-storage: Cleanups to mailbox mkdir() related functions.
	[02d00843dd79]

	* src/lib-storage/index/index-storage.c:
	lib-storage: Make sure permissions are refreshed after creating
	mailbox directory.
	[3a694c8090a3]

	* src/lib-storage/index/index-storage.c:
	lib-storage: Fixed creating selectable mailbox when it was already
	\Noselect
	[536b1643786e]

	* src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index
	/dbox-multi/mdbox-map-private.h, src/lib-storage/index/dbox-multi
	/mdbox-map.c, src/lib-storage/list/mailbox-list-fs.c, src/lib-
	storage/list/subscription-file.c, src/lib-storage/mailbox-list-
	private.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
	list.h, src/lib-storage/mailbox-uidvalidity.c, src/plugins/acl/acl-
	backend-vfile-acllist.c, src/plugins/quota/quota-maildir.c:
	lib-storage: mailbox_list_get_root_permissions() now returns struct
	mailbox_permissions.
	[d0ca4c69ec76]

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	lib-storage: Invalid subscription entries weren't removed always
	with subscriptions=no namespaces.
	[081b62bed2ea]

	* src/lib-storage/mail-storage.c:
	lib-storage: Allow mailbox name to begin with separator if
	mail_full_filesystem_access=yes
	[71fb4be2f666]

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-common/dbox-storage.c, src/lib-storage/index/imapc/imapc-
	list.c, src/lib-storage/index/index-storage.c, src/lib-storage/index
	/index-storage.h, src/lib-storage/index/maildir/maildir-storage.c,
	src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
	list-fs.c, src/lib-storage/list/mailbox-list-index.c, src/lib-
	storage/list/mailbox-list-maildir.c, src/lib-storage/list/mailbox-
	list-none.c, src/lib-storage/mail-storage.c, src/lib-storage
	/mailbox-list-private.h, src/plugins/acl/acl-mailbox-list.c:
	lib-storage: Removed mailbox_list.create_mailbox_dir() virtual
	function. It really didn't need to be virtual. Some storages didn't
	care about it, others wanted it to work basically the same.
	[6e90fc8dfa25]

	* src/lib-storage/index/maildir/maildir-storage.c:
	maildir: Minor fixes and code cleanup to mailbox creation.
	[f5514e09fd1e]

	* src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
	lib-storage: Improved mailbox_list_mkdir() error handling.
	[69b406249e47]

2012-09-25  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/list/mailbox-list-maildir.c:
	lib-storage: Create "maildirfolder" file only with maildir storage.
	Previously it was created for all storages, as long as they used
	LAYOUT=maildir++. The file is mainly meant for MDAs that want to
	update maildirsize quota, but that's only available for Maildir
	storage.
	[f6225edc2c1e]

	* src/lib-storage/list/mailbox-list-maildir.c, src/lib-storage
	/mailbox-list-private.h:
	lib-storage: Removed unused MAILBOX_DIR_CREATE_TYPE_ONLY_NOSELECT
	[3275a9b5136a]

	* src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/lib-storage/list
	/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-list-fs.c, src
	/lib-storage/list/mailbox-list-subscriptions.c, src/lib-storage
	/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-storage
	/mailbox-list.c, src/lib-storage/mailbox-list.h, src/plugins/acl
	/acl-backend-vfile.c:
	Various cleanups to checking if mailbox name is valid.
	[20edc46254ce]

	* src/lib-storage/index/shared/shared-list.c, src/lib-storage/list
	/mailbox-list-subscriptions.c:
	lib-storage: Fixed shared namespace autocreation after previous
	mailbox list changes. mailbox_list_is_valid_existing_name() no
	longer goes all the way through to shared-list backend, but
	mailbox_list_join_refpattern() does.
	[f0d487918a2b]

	* src/lib-fs/fs-api.c:
	lib-fs: Fix to previous change
	[7766229d8f3e]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
	list-fs.c, src/lib-storage/list/mailbox-list-fs.h, src/lib-
	storage/list/mailbox-list-maildir.c, src/lib-storage/list/mailbox-
	list-maildir.h, src/lib-storage/list/mailbox-list-none.c, src/lib-
	storage/mail-storage.c, src/lib-storage/mailbox-list-private.h, src
	/lib-storage/mailbox-list.c:
	lib-storage: Removed mailbox list backend-specific mailbox
	name/pattern validation. The virtual name validity is independent of
	the backend. The physical name is always used for paths in
	filesystem, so it can also be verified with common code. Backend's
	mailbox_dir and storage's internal directories can also be checked.
	There's nothing else left really.
	[3e6048697365]

	* src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
	lib-storage: Removed unused mailbox_list_create_dir()
	[fbc90337b48c]

	* src/lib-storage/mailbox-list.c:
	lib-storage: If list escape_char is set, allow ".", ".." and "dbox-
	Mails" mailbox names.
	[185680508ece]

	* src/lib-storage/mail-storage.c:
	lib-storage: Added asserts to make sure mailbox_open() is called
	early enough.
	[78d9adf7c149]

	* src/indexer/Makefile.am, src/indexer/master-connection.c, src/lib-
	storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir-
	save.c, src/lib-storage/index/cydir/cydir-sync.c, src/lib-
	storage/index/dbox-common/dbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-file.c, src/lib-storage/index/dbox-single/sdbox-
	sync-rebuild.c, src/lib-storage/index/index-rebuild.c, src/lib-
	storage/index/index-storage.c, src/lib-storage/index/index-sync-
	pvt.c, src/lib-storage/index/index-sync.c, src/lib-
	storage/index/maildir/maildir-keywords.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/mail-storage-private.h, src/lib-
	storage/mail-storage.c, src/plugins/acl/doveadm-acl.c, src/plugins
	/fts-squat/fts-backend-squat.c, src/plugins/quota/quota-fs.c:
	lib-storage: Added mailbox_get_path_to() wrapper for
	mailbox_list_get_path(). Changed the code to use as much of
	mailbox_get_path_to() and mailbox_get_path() as possible.
	[f8c1ddf55b94]

	* src/lib-fs/fs-api.c:
	lib-fs: Minor code cleanup
	[89f8843be67b]

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.c:
	lib-storage: Added mail_storage_copy_error()
	[3b01d09f7762]

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Transaction log creation crashed if required extension
	name length wasn't divisible by 4.
	[d2dd659b4a4a]

	* src/lib-storage/index/Makefile.am, src/lib-storage/index/dbox-
	common/Makefile.am, src/lib-storage/index/dbox-common/dbox-sync-
	rebuild.c, src/lib-storage/index/dbox-common/dbox-sync-rebuild.h,
	src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
	storage/index/index-rebuild.c, src/lib-storage/index/index-
	rebuild.h:
	lib-storage: Moved dbox-sync-rebuild API to more generic index-
	rebuild.
	[cc7650515b40]

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-common/dbox-storage.h, src/lib-storage/index
	/dbox-common/dbox-sync-rebuild.c, src/lib-storage/index/dbox-common
	/dbox-sync-rebuild.h, src/lib-storage/index/dbox-multi/mdbox-
	storage-rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync-
	rebuild.c:
	dbox: Renamed dbox_sync_rebuild_verify_alt_storage() to
	dbox_verify_alt_storage()
	[89c319980584]

2012-09-24  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/Makefile.am:
	doveadm: Install doveadm-settings.h header
	[200ec10b2314]

2012-09-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-lda/mail-deliver.c:
	lib-lda: After auto-creating mailbox only open it, don't bother
	syncing it.
	[4776fbf6d93a]

	* src/lib-storage/index/imapc/imapc-save.c:
	imapc: Fixed crash when saving/copying messages.
	[c5926a27fa2d]

2012-09-20  Timo Sirainen  <tss@iki.fi>

	* src/config/config-connection.c, src/config/config-request.c,
	src/config/doveconf.c:
	config: Fixes to previous module change.
	[a73f4d12289e]

2012-09-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Verify that the shared library's version matches the
	binary's version.
	[488c7dde19ad]

	* src/imap/cmd-fetch.c, src/imap/cmd-select.c, src/imap/imap-fetch.c,
	src/imap/imap-fetch.h, src/imap/imap-search-args.c, src/imap/imap-
	search-args.h:
	imap: Fixed crashing in QRESYNC SELECT.
	[119225e4f305]

	* src/auth/auth-settings.c, src/lib-master/master-service-private.h,
	src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h, src/lib-master/master-service-ssl-settings.c,
	src/lib-master/master-service.c, src/lib-master/master-service.h,
	src/lib-storage/mail-storage-service.c, src/lmtp/lmtp-settings.c,
	src/login-common/login-settings.c, src/login-common/main.c:
	Read SSL settings only if service has SSL sockets or
	MASTER_SERVICE_FLAG_USE_SSL_SETTINGS.
	[14df6be0111f]

	* src/config/config-connection.c, src/config/config-filter.c,
	src/config/config-filter.h, src/config/config-parser-private.h,
	src/config/config-parser.c, src/config/config-parser.h, src/config
	/config-request.c, src/config/config-request.h,
	src/config/doveconf.c, src/config/main.c:
	config: Support looking up config for multiple modules at the same
	time.
	[8c003fe6f5a6]

2012-09-18  Timo Sirainen  <tss@iki.fi>

	* src/lib-fs/fs-api.c:
	lib-fs: Fix to previous API change
	[04580a59dc53]

2012-09-17  Timo Sirainen  <tss@iki.fi>

	* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
	api.h, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-queue.c, src/lib-fs
	/fs-sis.c, src/lib-storage/index/dbox-common/dbox-storage.c:
	lib-fs: fs_init() API changed to allow returning an error.
	[8f4ce0932777]

	* src/lib-storage/index/dbox-single/sdbox-storage.h:
	sdbox: Removed unnecessary code line.
	[64f556e62025]

2012-09-16  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-squat/Makefile.am:
	Makefile: Fixed building fts-squat
	[a821cce04eb7]

	* src/doveadm/Makefile.am, src/doveadm/dsync/Makefile.am, src/lib-
	dict/Makefile.am, src/lib-imap/Makefile.am, src/lib-
	index/Makefile.am, src/lib-mail/Makefile.am, src/lib-
	storage/Makefile.am, src/plugins/fts/Makefile.am:
	Makefile: Again changes to handling test program dependencies. .la
	libraries need to link .lo files, .a libraries need to link .o
	files. Changed dsync to be .la library for consistency.
	[a2159b6d1518]

	* src/auth/passdb-cache.h, src/config/config-request.h, src/config
	/old-set-parser.h, src/doveadm/doveadm-mail-index.c, src/doveadm
	/doveadm-mail-iter.h, src/doveadm/doveadm-mail.c, src/doveadm
	/doveadm-mail.h, src/doveadm/doveadm-mailbox-list-iter.h,
	src/doveadm/dsync/dsync-mailbox-tree-fill.c, src/imap/cmd-list.c,
	src/imap/cmd-notify.c, src/imap/imap-notify.c, src/lib-imap/imap-
	util.h, src/lib-index/mail-index-modseq.h, src/lib-lda/mail-
	deliver.h, src/lib-storage/Makefile.am, src/lib-storage/index/imapc
	/imapc-sync.h, src/lib-storage/index/maildir/maildir-sync.h, src
	/lib-storage/list/mailbox-list-delete.h, src/lib-storage/list
	/mailbox-list-index.h, src/lib-storage/list/mailbox-list-
	subscriptions.h, src/lib-storage/mailbox-list-iter.h, src/lib-
	storage/mailbox-list-private.h, src/lib-storage/mailbox-list.h,
	src/plugins/notify/notify-plugin.h, src/plugins/quota/quota-count.c,
	src/plugins/virtual/virtual-config.c:
	Removed all the "enum foo;" declarations. They didn't seem to be
	very standard. Old gcc versions warn about them and C++ code doesn't
	like them.
	[4b0cbecf369d]

	* src/director/user-directory.c, src/doveadm/dsync/dsync-mailbox-tree-
	sync.c, src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/list/mailbox-list-index.c,
	src/lib/json-parser.c:
	Compiler warning fixes for 32bit systems.
	[e708a1d691d3]

	* src/anvil/main.c, src/auth/auth-request-handler.c, src/auth/userdb-
	passwd.c, src/director/director-test.c, src/imap/imap-fetch-body.c,
	src/lib-index/mail-index-alloc-cache.c, src/lib-storage/index/index-
	search.c, src/lib/lib-signals.c,
	src/replication/replicator/replicator.c:
	Fixed compiling with OSes where NULL isn't defined as void pointer
	(e.g. Solaris).
	[925d4a890a9b]

2012-09-16  Stephan Bosch  <stephan@rename-it.nl>

	* src/imap-urlauth/imap-urlauth-worker.c:
	imap-urlauth: Fixed crashes when destroying client
	[dc1db2eedbb1]

	* src/imap-urlauth/imap-urlauth-worker.c, src/lib-imap-urlauth/imap-
	urlauth-fetch.c:
	imap-urlauth: Treat internal errors in URL fetching differently from
	invalid URLs.
	[c69ee1de5f70]

	* src/imap-urlauth/imap-urlauth-worker.c, src/imap/imap-client.c, src
	/lib-imap-urlauth/imap-urlauth-private.h, src/lib-imap-urlauth/imap-
	urlauth.c, src/lib-imap-urlauth/imap-urlauth.h:
	imap-urlauth: Fixes to handling anonymous user
	[7e1f0146169f]

	* src/lib-dict/dict-file.c:
	lib-dict: Previous API change broke dict_init()
	[009d19d5f0f1]

2012-09-16  Timo Sirainen  <tss@iki.fi>

	* src/anvil/Makefile.am, src/auth/Makefile.am,
	src/director/Makefile.am, src/doveadm/dsync/Makefile.am, src/lib-
	dict/Makefile.am, src/lib-imap/Makefile.am, src/lib-
	index/Makefile.am, src/lib-mail/Makefile.am, src/lib-
	storage/Makefile.am, src/plugins/fts-squat/Makefile.am,
	src/plugins/fts/Makefile.am:
	Makefile: Fixed test program dependencies Explicit dependencies on
	.o or .lo files didn't seem to work properly and with high enough
	make -j value the build failed. Depending on the entire library
	guarantees that all the individual .o files have been built.
	[00df9f4192ad]

	* src/lib-dovecot/Makefile.am:
	Makefile: Link libdovecot-ssl with libdovecot. This fixes linking
	with e.g. OSX.
	[8b0d967e61cf]

	* src/imap-urlauth/Makefile.am:
	Makefile: Fixed dependencies for imap-urlauth
	[2fe6d09e68d4]

	* src/imap-urlauth/Makefile.am:
	Makefile: Fixed imap-urlauth library dependencies
	[97079269a703]

	* src/imap/imap-fetch-body.c, src/lib-imap-storage/imap-msgpart.c, src
	/lib-imap-storage/imap-msgpart.h:
	lib-imap-storage: imap_msgpart_size() should return size as uoff_t,
	not size_t
	[8e29272c35fa]

	* src/imap/imap-client.c:
	imap: Assert-crashfix for URLFETCH command.
	[9d684784de9b]

	* src/anvil/connect-limit.c, src/anvil/penalty.c, src/auth/auth-
	master-connection.c, src/auth/auth-stream.c, src/auth/checkpassword-
	reply.c, src/doveadm/doveadm-mail-index.c, src/doveadm/doveadm-mail-
	server.c, src/doveadm/doveadm-print-server.c, src/doveadm/dsync
	/dsync-ibc-stream.c, src/doveadm/dsync/dsync-serializer.c, src/imap-
	urlauth/imap-urlauth-client.c, src/indexer/worker-connection.c, src
	/lib-auth/auth-client-request.c, src/lib-auth/auth-master.c, src
	/lib-imap-urlauth/imap-urlauth-connection.c, src/lib-master/master-
	instance.c, src/lib-master/master-login.c, src/lib/strescape.c,
	src/lib/strescape.h, src/log/doveadm-connection.c, src/master
	/service-process.c, src/plugins/replication/replication-plugin.c,
	src/plugins/stats/stats-connection.c, src/replication/replicator
	/doveadm-connection.c, src/replication/replicator/replicator-
	queue.c, src/stats/client-export.c, src/util/script-login.c:
	Renamed str_tabescape_write() to str_append_tabescaped()
	[002e0a120c2a]

	* src/auth/db-dict.c, src/dict/dict-connection.c, src/lib-dict/dict-
	client.c, src/lib-dict/dict-db.c, src/lib-dict/dict-file.c, src/lib-
	dict/dict-memcached-ascii.c, src/lib-dict/dict-memcached.c, src/lib-
	dict/dict-private.h, src/lib-dict/dict-redis.c, src/lib-dict/dict-
	sql.c, src/lib-dict/dict.c, src/lib-dict/dict.h, src/lib-imap-
	urlauth/imap-urlauth-backend.c, src/plugins/acl/acl-lookup-dict.c,
	src/plugins/expire/doveadm-expire.c, src/plugins/expire/expire-
	plugin.c, src/plugins/quota/quota-dict.c:
	dict_init() API changed to return int.
	[9bff478f81fd]

2012-09-15  Stephan Bosch  <stephan@rename-it.nl>

	* .hgignore, README, configure.in, src/Makefile.am, src/imap-
	urlauth/Makefile.am, src/imap-urlauth/imap-urlauth-client.c, src
	/imap-urlauth/imap-urlauth-client.h, src/imap-urlauth/imap-urlauth-
	common.h, src/imap-urlauth/imap-urlauth-login-settings.c, src/imap-
	urlauth/imap-urlauth-login-settings.h, src/imap-urlauth/imap-
	urlauth-login.c, src/imap-urlauth/imap-urlauth-settings.c, src/imap-
	urlauth/imap-urlauth-settings.h, src/imap-urlauth/imap-urlauth-
	worker-settings.c, src/imap-urlauth/imap-urlauth-worker-settings.h,
	src/imap-urlauth/imap-urlauth-worker.c, src/imap-urlauth/imap-
	urlauth.c, src/imap/Makefile.am, src/imap/cmd-genurlauth.c, src/imap
	/cmd-resetkey.c, src/imap/cmd-urlfetch.c, src/imap/imap-client.c,
	src/imap/imap-client.h, src/imap/imap-commands.c, src/imap/imap-
	commands.h, src/imap/imap-settings.c, src/imap/imap-settings.h,
	src/imap/main.c, src/lib-imap-urlauth/Makefile.am, src/lib-imap-
	urlauth/imap-urlauth-backend.c, src/lib-imap-urlauth/imap-urlauth-
	backend.h, src/lib-imap-urlauth/imap-urlauth-connection.c, src/lib-
	imap-urlauth/imap-urlauth-connection.h, src/lib-imap-urlauth/imap-
	urlauth-fetch.c, src/lib-imap-urlauth/imap-urlauth-fetch.h, src/lib-
	imap-urlauth/imap-urlauth-private.h, src/lib-imap-urlauth/imap-
	urlauth.c, src/lib-imap-urlauth/imap-urlauth.h:
	Added support for IMAP URLAUTH and URLAUTH=BINARY extensions

	Extends imap service with URLAUTH and URLAUTH=BINARY support:
	  - Adds new commands URLFETCH, GENURLAUTH and RESETKEY.

	Creates imap-urlauth service in src/imap-urlauth.

	Functionality common to both the imap and imap-urlauth services is
	located in src/lib-imap-urlauth.

	TODO:
	 - use mailbox GUIDs instead of names
	 - doveadm command to delete stale urlauth entries?
	 - add delay when attempting to access nonexistent user
	 - create urlauth-worker queue, similar to how indexer-worker works
	(could we share code?..)
	[d419aac7ab31]

2012-09-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-storage/imap-msgpart.c:
	lib-imap-storage: imap_msgpart_bodypartstructure() returned freed
	data.
	[1b4ab06fa0e2]

	* src/lib-index/mail-index-sync.c, src/lib-index/mail-index.h, src
	/lib-storage/index/cydir/cydir-sync.c, src/lib-storage/index/imapc
	/imapc-sync.c, src/lib-storage/index/index-sync-changes.c,
	src/plugins/virtual/virtual-sync.c:
	lib-index: Removed MAIL_INDEX_SYNC_TYPE_APPEND. No backend cares
	about it.
	[5f483950b733]

	* src/lib-index/mail-index-private.h, src/lib-index/mail-index-
	transaction-export.c, src/lib-index/mail-index.c, src/lib-index
	/mail-index.h, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/dbox-common/dbox-storage.c:
	lib-index: Changed mail_index_set_fsync_mode() to use a separate
	enum for the mask.
	[0efc12f3eb2a]

	* src/lib-imap/imap-bodystructure.c, src/lib-imap/test-imap-
	bodystructure.c:
	lib-imap: Fixed Content-Language parsing from BODYSTRUCTURE
	[9935621836c8]

	* src/lib-imap/imap-bodystructure.h:
	imap-bodystructure.h comment fix
	[108b28e864c4]

	* src/lib-imap/imap-bodystructure.h:
	imap-bodystructure.h comment update
	[ccf6399055e7]

	* src/lib-imap/test-imap-bodystructure.c:
	lib-imap: Updated test-imap-bodystructure
	[ef1519ebfb4f]

	* src/lib-imap-storage/imap-msgpart-url.c, src/lib-imap-storage/imap-
	msgpart-url.h, src/lib-imap-storage/imap-msgpart.c, src/lib-imap-
	storage/imap-msgpart.h:
	lib-imap-storage: Added support for getting BODYPARTSTRUCTURE Based
	on patch by Stephan Bosch.
	[a69c48fa4f32]

	* src/lib-imap/Makefile.am, src/lib-imap/imap-bodystructure.c, src
	/lib-imap/imap-bodystructure.h, src/lib-imap/test-imap-
	bodystructure.c:
	lib-imap: Added support for parsing IMAP BODYSTRUCTURE and writing
	out a modified version.
	[d1f084a39708]

	* src/lib-imap/imap-bodystructure.c, src/lib-imap/imap-
	bodystructure.h, src/lib-storage/index/index-mail.c:
	imap_body_parse_from_bodystructure() now returns the error instead
	of logging it.
	[6acd8b149709]

	* src/lib-storage/index/dbox-common/dbox-mail.c, src/lib-
	storage/index/imapc/imapc-mail.c, src/lib-storage/index/index-mail-
	binary.c, src/lib-storage/index/index-mail-headers.c, src/lib-
	storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src
	/lib-storage/index/index-search.c, src/lib-storage/index/maildir
	/maildir-mail.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/mail-storage-private.h, src/plugins/virtual/virtual-mail.c:
	lib-storage: Moved index_mail.data_pool to mail_private.data_pool
	[c436a6c3f7d2]

	* src/plugins/fts-lucene/Snowball.cc, src/plugins/fts-
	lucene/SnowballAnalyzer.h, src/plugins/fts-lucene/SnowballFilter.h,
	src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins/fts-lucene
	/fts-lucene-plugin.h, src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Added "normalize" option to put data through
	normalize().
	[07ac1dbcc033]

	* src/doveadm/doveadm-mail-fetch.c, src/lib-charset/charset-iconv.c,
	src/lib-charset/charset-utf8.c, src/lib-charset/charset-utf8.h, src
	/lib-imap/imap-base-subject.c, src/lib-mail/message-decoder.c, src
	/lib-mail/message-decoder.h, src/lib-mail/message-header-decode.c,
	src/lib-mail/message-header-decode.h, src/lib-mail/message-search.c,
	src/lib-mail/message-search.h, src/lib-mail/test-message-decoder.c,
	src/lib-mail/test-message-header-decode.c, src/lib-storage/index
	/index-search.c, src/lib-storage/mail-storage-private.h, src/lib-
	storage/mail-user.c, src/lib-storage/mail-user.h, src/lib/unichar.h,
	src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts/fts-api-
	private.h, src/plugins/fts/fts-api.c, src/plugins/fts/fts-build-
	mail.c:
	Replaced "decomposed titlecase" conversions with more generic
	normalizer function. Plugins can now change
	mail_user.default_normalizer. Specific searches can also use
	different normalizers by changing mail_search_context.normalizer.
	[c976a9c01613]

	* src/lib-storage/index/index-sort.c, src/lib/unichar.c,
	src/lib/unichar.h:
	uni_utf8_to_decomposed_titlecase(): Require input length to be exact
	now. Most of the callers did that already anyway
	[d5ebec837bfd]

2012-09-14  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-settings.c, src/login-common/login-common.h:
	Use "tokenlogin" socket name (instead of "token-login") after all.
	Auth code has special checks for '-', which breaks "token-login" and
	fixing it is rather annoying.
	[9ad9a79c1747]

	* src/auth/main.c:
	auth: Auth workers don't need to read token secret.
	[172a75b3bed8]

2012-09-14  Stephan Bosch  <stephan@rename-it.nl>

	* src/auth/Makefile.am, src/auth/auth-client-connection.c, src/auth
	/auth-client-connection.h, src/auth/auth-master-connection.c,
	src/auth/auth-request-handler.c, src/auth/auth-request-handler.h,
	src/auth/auth-request.c, src/auth/auth-request.h, src/auth/auth-
	settings.c, src/auth/auth-token.c, src/auth/auth-token.h,
	src/auth/main.c, src/auth/mech-dovecot-token.c, src/auth/mech.h,
	src/imap/main.c, src/lib-master/master-login-auth.c, src/lib-master
	/master-login-auth.h, src/lib-master/master-login.c, src/lib-master
	/master-login.h, src/lib-storage/mail-storage-service.c, src/lib-
	storage/mail-user.h, src/login-common/client-common-auth.c, src
	/login-common/client-common.c, src/login-common/login-common.h, src
	/login-common/main.c, src/master/master-settings.c:
	Added support to perform token-based service process authentication.

	Creates hidden SASL method DOVECOT-TOKEN. This method is not
	available on the normal auth login socket and thus never presented
	to clients.

	Creates new auth socket type 'tokenlogin'. This otherwise normal
	login socket only offers authentication using the DOVECOT-TOKEN
	mechanism.

	Creates new token-login directory in base_dir to separate token
	logins from normal logins. This directory is otherwise completely
	identical to the normal login dir, i.e. it contains sockets for the
	service backends, used to chroot login processes to, etc.

	Makes default login socket configurable.

	Performs some minor changes to src/login-common to build very sparse
	protocols, e.g. avoid the need to implement methods that are not
	needed.
	[aa6027a0a78e]

2012-09-14  Timo Sirainen  <tss@iki.fi>

	* src/lib/hmac-sha1.c, src/lib/hmac-sha1.h:
	hmac_sha1_init(): Use void pointer for the key.
	[b74e8de5f3d9]

2012-09-14  Stephan Bosch  <stephan@rename-it.nl>

	* src/imap/cmd-append.c, src/lib-imap-storage/imap-msgpart-url.c, src
	/lib-imap-storage/imap-msgpart-url.h:
	lib-imap-storage: Changed imap_msgpart_url API.

	Adds enum mail_error return value to
	imap_msgpart_url_open_mailbox().

	Now parses msgpart at the beginning and adds function to access
	underlying imap_msgpart object directly.
	[f82dbf27ba79]

	* src/imap-login/client-authenticate.c:
	Fixes IMAP LOGIN REFERRAL to properly encode IMAP URL.
	[584681a1845c]

	* src/lib-imap/imap-url.c, src/lib-imap/imap-url.h, src/lib-imap/test-
	imap-url.c, src/lib/uri-util.c, src/lib/uri-util.h:
	Added support for creating IMAP URLs.
	[345e96ca65a2]

2012-09-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-mail.c:
	lib-storage: Message size/sent date could have been set as 0 in some
	cases. It doesn't look like it ever happened with the current
	storage backends or use cases.
	[460db6251639]

	* src/lib-storage/mailbox-list-private.h:
	lib-storage: Allow #including mailbox-list-private.h from C++ code
	[7343ccbdd985]

	* dovecot-config.in.in:
	dovecot-config: Added lib-storage/list to be in
	LIBDOVECOT_STORAGE_INCLUDE
	[b5bf7bcd43ae]

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.c, src/plugins/acl/acl-mailbox.c, src/plugins/lazy-expunge
	/lazy-expunge-plugin.c, src/plugins/notify/notify-storage.c:
	lib-storage API change to allow using it from C++ code
	[7c6d30280cff]

	* src/lib-storage/list/mailbox-list-index.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage-settings.c, src/lib-
	storage/mail-storage-settings.h, src/lib-storage/mail-storage.c:
	lib-storage: Moved mail_storage_settings_to_index_flags to mail-
	storage-private.h This is mainly to allow #including mail-storage-
	settings.h from C++ code without having to #include mail-index.h
	from mail-storage-settings.h
	[d7dd5cdf1ba7]

2012-09-11  Timo Sirainen  <tss@iki.fi>

	* src/lib/ipwd.c:
	i_get(pw|gr)(nam|uid): Use small initial buffer sizes. For processes
	that need to do only a single lookup there's no point in wasting a
	lot of memory for the maximum buffer size.
	[349d52c4ca51]

2012-09-10  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-mailbox.c, src/doveadm/dsync/dsync-brain-
	mailbox-tree-sync.c, src/imap/cmd-rename.c, src/lib-storage/fail-
	mailbox.c, src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/shared/shared-list.c, src/lib-
	storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-
	index.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/list/mailbox-list-none.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail-
	storage.h, src/lib-storage/mailbox-list-private.h, src/plugins/acl
	/acl-mailbox.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/mail-log/mail-log-plugin.c, src/plugins/notify/notify-
	plugin-private.h, src/plugins/notify/notify-plugin.c,
	src/plugins/notify/notify-plugin.h, src/plugins/notify/notify-
	storage.c, src/plugins/replication/replication-plugin.c:
	lib-storage: Removed rename_children parameter from mailbox_rename()
	The children are now always renamed. The only reason this feature
	was added in the first place was to make dsync's job easier, but
	this is no longer needed.
	[92cc78c5dc77]

2012-09-07  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/Makefile.am, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
	/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain-mails.c,
	src/doveadm/dsync/dsync-brain-private.h, src/doveadm/dsync/dsync-
	brain.c, src/doveadm/dsync/dsync-brain.h, src/doveadm/dsync/dsync-
	ibc-pipe.c, src/doveadm/dsync/dsync-ibc-private.h, src/doveadm/dsync
	/dsync-ibc-stream.c, src/doveadm/dsync/dsync-ibc.c,
	src/doveadm/dsync/dsync-ibc.h, src/doveadm/dsync/dsync-slave-pipe.c,
	src/doveadm/dsync/dsync-slave-private.h, src/doveadm/dsync/dsync-
	slave-stream.c, src/doveadm/dsync/dsync-slave.c, src/doveadm/dsync
	/dsync-slave.h:
	dsync: Renamed "slave" to "ibc" (= inter-brain communicator)
	[920756cd29b8]

	* src/doveadm/dsync/Makefile.am, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/dsync/dsync-slave-io.c, src/doveadm/dsync/dsync-slave-
	stream.c, src/doveadm/dsync/dsync-slave.h:
	dsync: Renamed "io" slave to "stream".
	[5943cace4e05]

2012-09-06  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/Makefile.am, src/doveadm/dsync/dsync-brain-
	mailbox-tree.c, src/doveadm/dsync/dsync-mailbox-tree-fill.c,
	src/doveadm/dsync/dsync-mailbox-tree-private.h, src/doveadm/dsync
	/dsync-mailbox-tree-sync.c, src/doveadm/dsync/dsync-mailbox-tree.c,
	src/doveadm/dsync/dsync-mailbox-tree.h, src/doveadm/dsync/dsync-
	slave-io.c, src/doveadm/dsync/test-dsync-mailbox-tree-sync.c:
	dsync: Rewritten syncing for mailbox renames. A few things didn't go
	as I originally intended in the algorithm, but it appears to give
	consistent results now. :) But the algorithm should probably be
	looked at more closely at some point.
	[0af20585964d]

	* src/auth/auth-master-connection.c, src/auth/mech-digest-md5.c,
	src/imap/main.c, src/lib-index/mail-index-modseq.c, src/lib-index
	/mail-index-sync-keywords.c, src/lib-index/mail-index-transaction-
	export.c, src/lib-index/mail-transaction-log-append.c, src/lib-index
	/mail-transaction-log-file.c, src/lib-index/mail-transaction-log-
	view.c, src/lib-mail/istream-binary-converter.c, src/lib-mail
	/istream-qp-decoder.c, src/lib-mail/test-message-header-encode.c,
	src/lib-otp/otp-parse.c, src/lib-storage/index/index-mail.c, src
	/lib-storage/index/maildir/maildir-save.c, src/lib-storage/mail.c,
	src/lib/askpass.c, src/lib/buffer.c, src/lib/buffer.h,
	src/lib/guid.c, src/lib/iostream-rawlog.c, src/lib/istream-
	base64-decoder.c, src/lib/istream-base64-encoder.c, src/lib/str.c,
	src/login-common/sasl-server.c, src/plugins/fts-lucene/Snowball.cc,
	src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-lucene
	/lucene-wrapper.cc, src/plugins/fts/fts-expunge-log.c,
	src/pop3-login/client.c, src/pop3/main.c:
	Renamed buffer_create_*data() to buffer_create_from_*data() for
	consistency. Especially i_stream_create_from_data() was a very
	similar function, which made it difficult to remember which one
	should have "from" and which one shouldn't.
	[7efef678bca8]

	* src/lib/buffer.c:
	buffer_create_data(): Clear the memory area immediately.
	[34076ab28d28]

	* src/lib/str.c:
	str_*printfa(): Avoid (harder!) growing underlying buffer if
	possible. The previous change for this didn't work properly.
	[5930f7812e28]

2012-09-04  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-dump-mailboxlog.c:
	doveadm dump -t mailboxlog: Added support for
	MAILBOX_LOG_RECORD_CREATE_DIR
	[9bc2e718392c]

	* TODO:
	TODO updated
	[af00d5c42ac1]

	* src/imap/cmd-notify.c, src/imap/imap-notify.c:
	NOTIFY: Fixed "subscribed" mailbox filter to actually work.
	[13e7c1e30c0e]

	* src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Added mailbox_is_subscribed()
	[c00df434bfb9]

	* src/imap/imap-notify.c, src/lib-storage/list/mailbox-list-index-
	notify.c, src/lib-storage/list/mailbox-list-index.c, src/lib-
	storage/list/mailbox-list-index.h, src/lib-storage/list/mailbox-
	list-iter.c, src/lib-storage/mailbox-list-notify.h, src/lib-storage
	/mailbox-list-private.h, src/lib-storage/mailbox-tree.c, src/lib-
	storage/mailbox-tree.h:
	NOTIFY: Implemented SubscriptionChange
	[fcd480c4a0db]

	* src/lib-index/mailbox-log.h, src/lib-storage/mailbox-list.c:
	lib-storage: Log mailbox directory creations to mailbox log.
	[e2c85551268d]

	* src/lib-storage/mail-namespace.c, src/lib-storage/mail-storage-
	settings.c, src/lib-storage/mail-storage-settings.h:
	lib-storage: Added "disabled" setting for namespaces.
	[57c964513a46]

	* src/lmtp/commands.c:
	lmtp proxying: Don't auto-set mail_max_lock_timeout higher than it
	was.
	[c6ae1551ab40]

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	lib-storage: Added mail_storage_service_user_get_mail_set()
	[a76f010eef4b]

	* src/lib-storage/list/mailbox-list-index-iter.c:
	mailbox_list_index=yes: Fixed listing nonexistent subscribed
	mailboxes
	[e3c96c74eec8]

	* src/lib-mail/istream-attachment-extractor.c:
	Minor code cleanup
	[5420e5c93bda]

	* src/lib-storage/list/mailbox-list-iter.c, src/lib-storage/mail-
	namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage
	/mailbox-list.h:
	imap: Fixed LIST (SPECIAL-USE RECURSIVEMATCH) to actually return
	CHILDINFOs.
	[169385092bae]

	* src/imap/cmd-list.c, src/lib-storage/list/mailbox-list-iter.c:
	LIST: Fixes to handling subscriptions
	[46d972c228c0]

	* src/lib-storage/Makefile.am, src/lib-storage/list/Makefile.am, src
	/lib-storage/list/mailbox-list-iter.c, src/lib-storage/mailbox-list-
	iter.c:
	lib-storage: Moved mailbox-list-iter.c to list/
	[72805776f84b]

	* src/lib-storage/list/mailbox-list-index-sync.c:
	mailbox_list_index: Assert-crashfix when seeing a new mailbox with
	children.
	[1d2122f10411]

	* src/plugins/quota/quota-private.h, src/plugins/quota/quota-
	storage.c, src/plugins/quota/quota.c:
	quota: Removed quota_ignore_save_errors setting and made it enabled
	always.
	[cf6f14ec3937]

2012-09-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
	client.h:
	lib-imap-client: Added support for NAMESPACE capability Required by
	previous imapc commit
	[dbaa7f5f82cd]

2012-09-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-storage.c, src/lib-
	storage/index/imapc/imapc-storage.h, src/lib-storage/index/index-
	status.c, src/lib-storage/mail-storage.h:
	lib-storage: Added MAILBOX_METADATA_BACKEND_NAMESPACE
	[5f313144c481]

	* src/lib-storage/mail-storage.h:
	Comment update.
	[fba15565c360]

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
	index.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mailbox-
	list-iter.c, src/imap/cmd-list.c, src/imap/cmd-namespace.c, src/imap
	/cmd-notify.c, src/lib-storage/index/maildir/maildir-storage.c, src
	/lib-storage/index/shared/shared-storage.c, src/lib-storage/list
	/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-list-index.c,
	src/lib-storage/list/mailbox-list-subscriptions.c, src/lib-storage
	/mail-namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage
	/mail-storage.c, src/lib-storage/mailbox-list-iter.c, src/lib-
	storage/mailbox-list.c, src/lib-storage/mailbox-list.h,
	src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-shared-
	storage.c, src/plugins/acl/doveadm-acl.c, src/plugins/imap-acl/imap-
	acl-plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/quota/quota-maildir.c, src/plugins/virtual/virtual-
	config.c:
	Renamed enum namespace_type to enum mail_namespace_type
	[368f3b2e3264]

	* src/imap/cmd-copy.c:
	imap: MOVE didn't send EXPUNGE when delay-newmail workaround was
	enabled.
	[d3a9769dad2e]

	* src/lib-imap-storage/imap-msgpart-url.c:
	imap-msgpart-url: Attempt to reuse selected mailbox instead of
	reallocating a new one. Besides giving slightly better performace,
	this also fixes CATENATE for mbox when source and destination
	mailboxes are the same.
	[dd1a04580289]

	* src/imap/imap-commands-util.c, src/imap/imap-commands-util.h, src
	/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
	Moved mailbox_equals() to lib-storage.
	[e4d5c3ba305b]

	* src/lib-storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox
	/mbox-lock.h, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox-
	storage.c, src/lib-storage/index/mbox/mbox-storage.h:
	mbox: Added support for copy/move/catenate within same mailbox.
	[9e4257061225]

2012-08-31  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream-chain.c, src/lib/istream-concat.c:
	istream-chain/concat: Various fixes. Also made the chain code look
	more like concat code. They should be merged at some point.
	[96716652b364]

	* src/lib-storage/mailbox-list-iter.c:
	lib-storage: Fixed listing list=children namespaces that had child
	namespaces.
	[db28fea9b8db]

2012-08-30  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/auth/auth-client-connection.c, src/auth/auth-
	master-connection.c, src/auth/auth-request-handler.c,
	src/auth/mech.c, src/doveadm/Makefile.am, src/doveadm/doveadm-mail-
	copymove.c, src/doveadm/doveadm-mail-move.c, src/doveadm/doveadm-
	mail.c, src/doveadm/doveadm-mail.h, src/imap/cmd-list.c, src/imap
	/imap-commands-util.c, src/lib-dict/dict-file.c, src/lib-dict/dict-
	redis.c, src/lib-imap-client/imapc-client.c, src/lib-imap-client
	/imapc-connection.c, src/lib-storage/index/imapc/imapc-list.c, src
	/lib-storage/index/index-storage.c, src/lib-storage/list/mailbox-
	list-fs-iter.c, src/lib-storage/mail-storage-settings.c, src/lib
	/istream-concat.c, src/lmtp/commands.c, src/lmtp/lmtp-proxy.c,
	src/lmtp/lmtp-proxy.h:
	Merged changes from v2.1 tree.
	[1f95d4fe29c7]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs mailbox listing: Fix to prefix=INBOX/ handling
	[67235781cc08]

2012-08-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: If imapc_list_prefix=INBOX, don't treat INBOX/INBOX as the
	INBOX itself.
	[eb57a7280b01]

	* src/lib-dict/dict-file.c:
	dict file: Fixed corruption with large values. Patch by Ewald
	Dieterich.
	[6e53209030f6]

	* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
	connection.c:
	imapc: max_idle_time setting didn't actually work.
	[7e7364926540]

	* src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-proxy.h:
	lmtp proxy: Include session ID string in timeout reply text.
	[bde62f77c65a]

2012-08-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-dict/dict-redis.c:
	dict-redis: Fixed infinite looping
	[db9fcdacba90]

2012-08-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-dict/dict-redis.c:
	dict redis: Fixed dict_lookup() to skip all previous pending
	replies.
	[00f940201806]

2012-08-24  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request-handler.c:
	auth: Don't add "master" to passdb reply if the passdb itself
	already added it.
	[1bc8f7b823e7]

	* src/auth/auth-client-connection.c, src/auth/auth-master-
	connection.c:
	auth: Make it clearer in debug messages if the replies are passdb or
	userdb.
	[5590c1dc04cd]

2012-08-23  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-copymove.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h:
	doveadm copy/move: Added "user" parameter to specify the source
	user.
	[6b61cc674eef]

	* src/imap/cmd-list.c, src/imap/cmd-namespace.c, src/imap/imap-
	commands-util.c:
	imap: Fixes to handling UTF-8 namespace prefixes
	[ade94fde249e]

	* src/lib-storage/mail-storage-settings.c:
	lib-storage: Verify that namespace prefix is valid UTF8 string.
	[565605200989]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	mbox: Fixed listing mailboxes under INBOX directory.
	[b8173f8a1447]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-copymove.c,
	src/doveadm/doveadm-mail-move.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h:
	doveadm: Added "copy" command.
	[9d35aca14c81]

	* src/lib-storage/index/index-storage.c:
	lib-storage: Make sure a save context doesn't leak metadata to the
	next save.
	[7bdbca7b0913]

2012-08-22  Timo Sirainen  <tss@iki.fi>

	* configure.in:
	configure: Removed OpenBSD /dev/arandom checking. Patch by Brad
	Smith

	"The use of arandom was never a requirement for Dovecot and I had
	submitted the use of arandom due to ports policy to do so anyway."
	[3765e8948f1c]

	* src/lib/istream-concat.c:
	istream-concat bugfixes
	[c6fe6a77defd]

	* src/auth/mech.c:
	auth: Unregister SCRAM-SHA-1 at deinit.
	[9523b967a30e]

2012-08-30  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-list.c, src/lib-storage/list/mailbox-list-fs-iter.c,
	src/lib-storage/mailbox-list-iter.c, src/lib-storage/mailbox-list.h:
	Moved most of the IMAP LIST code to lib-storage. Also removed
	MAILBOX_LIST_ITER_SHOW_EXISTING_PARENT flag, since there wasn't any
	clearly good way to handle it. Some clients got confused when they
	saw that foo/ mailbox was returned with \Noselect flag. Either they
	thought that the mailbox was named foo/ or that foo was \Noselect.
	Pretty much the only sane way to handle this would be to not make
	return \Noselect and to treat foo and foo/ as equivalent in all
	commands, but that might cause trouble with ACLs and similar
	checks..
	[5ffcde8baa8a]

	* src/imap/cmd-append.c:
	imap: Fixed MULTIAPPEND CATENATE that contained only URLs
	[e4c09527aa9e]

2012-08-29  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-append.c:
	Minor code cleanup
	[09de25ccacb4]

	* src/imap/cmd-append.c:
	imap: Don't hang with zero size CATENATE TEXT parts.
	[c9dbd649a78e]

	* src/lib-imap/imap-parser.c:
	imap-parser: Fixed imap_parser_read_last_literal() to work again
	[6c0ba0348e85]

	* NEWS:
	NEWS updated
	[7ac168e566b3]

	* src/imap/cmd-append.c:
	imap: Allow very long MULTIAPPEND CATENATE lines that contain only
	URLs.
	[c73086239699]

	* src/lib-imap/imap-parser.c:
	imap-parser: Allow calling imap_parser_read_args() multiple times
	with larger count parameter.
	[e0a3812771fd]

	* src/lib-imap/imap-parser.c:
	imap-parser: Removed filling missing parameters with NILs. No code
	was relying on this behavior.
	[f6a9e6d7e5bd]

	* src/imap/cmd-thread.c:
	imap: Fixed crashes in THREAD=ORDEREDSUBJECT
	[1309de301a2e]

	* src/imap/cmd-append.c:
	imap: CATENATE fix
	[8d95535af98e]

	* src/lib/istream-chain.c:
	istream-chain: Unreference also the last stream when it reaches EOF.
	[03e0b100243d]

	* src/imap/cmd-append.c:
	imap: More APPEND error handling fixes.
	[bfd4e6e08f72]

	* src/imap/cmd-cancelupdate.c, src/imap/cmd-uid.c, src/imap/imap-
	commands-util.c, src/imap/imap-status.c:
	imap: Send BAD replies with client_send_command_error()
	[3f83a27a72b8]

	* src/imap/cmd-append.c:
	imap: Various fixes to APPEND error handling.
	[20ad509a559a]

	* src/imap/imap-client.c, src/imap/imap-client.h:
	imap: Added asserts to make sure a tagline isn't sent twice to the
	same command.
	[075dcb7eac58]

	* src/lib-storage/index/dbox-common/dbox-save.c:
	dbox: Don't try to finish saving attachments if saving has already
	failed. Fixes an assert crash with failed CATENATE.
	[8ee60c857513]

	* src/imap/cmd-append.c:
	imap CATENATE: Do one more mailbox_save_continue() after adding EOF
	to stream. Fixes a crash with external mail attachments
	(mail_attachment_dir).
	[bce550bb2b23]

	* src/lib/iostream-rawlog.c:
	iostream_rawlog_create_path(): Avoid double-closing the rawlog fd
	[407ea0cd54ee]

	* src/lib/iostream-rawlog-private.h, src/lib/iostream-rawlog.c,
	src/lib/iostream-rawlog.h, src/lib/istream-rawlog.c, src/lib
	/istream-rawlog.h, src/lib/ostream-rawlog.c, src/lib/ostream-
	rawlog.h:
	iostream-rawlog: Added possibility to save input/output to the same
	file.
	[8ce6d41d2d41]

	* src/lib/str.c:
	str_*printfa(): Avoid growing underlying buffer if possible.
	[fff00bb85ae4]

	* src/lib/hash-decl.h, src/lib/hash.h:
	Reverted some of the last hash table changes. They caused hash table
	operations to dereference pointers, which caused a compiler error if
	the type wasn't known.
	[9ae214349fac]

2012-08-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-compression/istream-bzlib.c, src/lib-compression/istream-
	zlib.c, src/lib-fs/fs-sis.c, src/lib-mail/istream-header-filter.c,
	src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/mbox/istream-raw-mbox.c, src/lib-storage/index/mbox
	/mbox-sync.c, src/lib-storage/index/raw/raw-mail.c, src/lib-
	storage/list/subscription-file.c, src/lib/istream-chain.c, src/lib
	/istream-concat.c, src/lib/istream-file.c, src/lib/istream-limit.c,
	src/lib/istream-mmap.c, src/lib/istream-private.h, src/lib/istream-
	seekable.c, src/lib/istream-sized.c, src/lib/istream-tee.c,
	src/lib/istream.c, src/lib/istream.h:
	i_stream_stat() API changed. This fixes also one missing error
	check.
	[6d2be8d8891c]

	* src/lib/ostream-file.c:
	o_stream_send_istream(): Get input stream size with
	i_stream_get_size() instead of _stat().
	[3cba27563159]

	* src/lib/istream-chain.c:
	istream-chain: Removed default get_size() implementation and
	panicing on stat() This works around crashes in mdbox/quota code.
	Patch by Stephan Bosch.
	[bb0533bca649]

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: Replaced non-error-checking i_stream_stat() with potentially
	faster i_stream_get_size().
	[cbe8fe1b44f0]

	* src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h,
	src/lmtp/client.h, src/lmtp/commands.c, src/lmtp/lmtp-proxy.c:
	lmtp proxy: Forward proxy_timeout to backend and set
	mail_max_lock_timeout based on it. This automatically avoids
	duplicate mail deliveries caused by long lock waits.
	[6d2a439a10a6]

2012-08-25  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream-concat.c:
	istream-concat: Bugfix
	[57efcf0957ea]

2012-08-24  Pascal Volk  <user@localhost.localdomain.org>

	* src/imap/cmd-idle.c:
	imap IDLE: Added back fc00::/7 (RFC 4193) to private networks. This
	time the check is done correctly.
	[7cbbac45ad49]

2012-08-24  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-idle.c:
	imap IDLE: Reverted the IPv6 change, it doesn't work like that.
	[cdb2d4d89d5d]

2012-08-23  Pascal Volk  <user@localhost.localdomain.org>

	* src/imap/cmd-idle.c:
	imap IDLE: Add also fc00::/7 (RFC 4193) to private networks.
	[dc58905b5c9c]

2012-08-23  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-idle.c:
	imap IDLE: Add also 172.168/12 to private networks.
	[725a91613107]

	* src/imap/cmd-idle.c:
	imap IDLE: Time "still here" packet sends based on client IP address
	if possible.
	[8d7f9e2d726c]

	* src/lib/istream-concat.c:
	Compiler warning fix
	[9bda1b81c16c]

	* src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index
	/dbox-common/dbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	save.c, src/lib-storage/index/dbox-single/sdbox-copy.c, src/lib-
	storage/index/dbox-single/sdbox-save.c, src/lib-storage/index/imapc
	/imapc-save.c, src/lib-storage/index/index-attachment.c, src/lib-
	storage/index/index-mail.c, src/lib-storage/index/index-storage.c,
	src/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/mbox/mbox-save.c, src/lib-storage/mail-copy.c, src
	/lib-storage/mail-storage-private.h, src/lib-storage/mail-storage.c,
	src/plugins/acl/acl-mailbox.c, src/plugins/lazy-expunge/lazy-
	expunge-plugin.c, src/plugins/virtual/virtual-save.c,
	src/plugins/zlib/zlib-plugin.c:
	lib-storage: Moved per-mail data in struct mail_save_context to
	separate struct. This fixes previous save leaking metadata to the
	next save.
	[b966759dd48c]

	* src/lib-mail/istream-attachment-extractor.c:
	Increased initial memory pool size
	[d0441efd0efc]

2012-08-22  Timo Sirainen  <tss@iki.fi>

	* src/config/Makefile.am, src/doveadm/doveadm-instance.c, src/doveadm
	/doveadm-mount.c, src/doveadm/doveadm-settings.c, src/doveadm
	/doveadm-settings.h, src/doveadm/doveadm.c, src/lib-master/master-
	instance.h, src/lib-master/master-service-settings.c, src/lib-master
	/master-service-settings.h, src/lib-master/master-service-ssl.c, src
	/lib-master/master-service.c, src/login-common/ssl-proxy-openssl.c,
	src/master/main.c, src/master/master-settings.c, src/master/master-
	settings.h, src/replication/replicator/replicator.c, src/ssl-
	params/main.c:
	Made PKG_STATEDIR configurable with state_dir setting. Based on
	patch by Chris Webb.

	Normally this isn't needed, since the data in the state_dir can be
	shared across multiple Dovecot instances, but in some specific use
	cases this may be useful (e.g. users running their own Dovecots).
	[543852ebb327]

	* src/lib-storage/mail-copy.c, src/lib-storage/mail-copy.h:
	lib-storage: Added mail_save_copy_default_metadata()
	[5b89c50164de]

	* src/lib/istream-base64-decoder.c, src/lib/istream-base64-encoder.c:
	istream-base64: Fixed returning -2 too early.
	[5cf1cedb75e6]

	* src/lib/istream-concat.c:
	istream-concat bugfixes
	[8377786d750a]

	* src/lib-mail/test-istream-attachment.c:
	Added a test for istream-attachment-extractor hash size
	[edcdab7cccfd]

	* src/lib-mail/istream-attachment-extractor.c:
	istream-attachment-extractor didn't return hash strings correctly.
	[ab486673638c]

	* src/lib-mail/istream-attachment-connector.c:
	istream-attachment-connector: Avoid seeking in the base stream, it
	may not be seekable.
	[9cefc52d688f]

	* src/lib/istream-limit.c, src/lib/istream.h:
	Added i_stream_create_range()
	[34e4c04ae679]

2012-08-21  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-idle.c, src/imap/imap-client.c, src/imap/imap-client.h,
	src/imap/imap-fetch.c, src/imap/imap-sync.c, src/imap/main.c:
	imap: Fixed command output locking.
	[eea4d286185a]

	* src/lib-dict/dict-redis.c:
	dict redis: Fixed dict_lookup() to skip all previous pending
	replies.
	[bf727e0b721a]

2012-08-20  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream-seekable.c:
	i_stream_create_seekable_path() created memory corruption
	[e3f8be1bd93a]

	* configure.in, src/doveadm/doveadm-mail-server.c, src/doveadm/dsync
	/dsync-brain.c, src/imap/cmd-list.c, src/imap/cmd-thread.c, src/lib-
	imap-client/imapc-connection.c, src/lib-storage/index/imapc/imapc-
	storage.c, src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-
	storage/mail-namespace.h, src/lib-storage/mail-storage.h, src/lib-
	storage/mailbox-list.c, src/lib/ioloop.c, src/replication/aggregator
	/replicator-connection.c:
	Merged changes from v2.1 tree.
	[2fc74b72817b]

2012-08-19  Timo Sirainen  <tss@iki.fi>

	* src/replication/aggregator/replicator-connection.c:
	replicator: Crashfix
	[f68f5aca440e]

2012-08-17  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-server.c:
	doveadm: Improved "passdb lookup failed" error message.
	[fe492bba225a]

	* src/doveadm/dsync/dsync-brain.c:
	doveadm backup: Fixed "is source empty" check. In POP3 boxes there
	is only INBOX, and it's possible that source becomes empty while
	backup has mails. The check is now "has source always been empty?"
	[5f280c1ec9fd]

2012-08-15  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/imap/cmd-thread.c, src/lib-storage/mail-thread.c:
	imap: Implemented THREAD=ORDEREDSUBJECT extension.
	[670f467ff5c5]

	* src/lib-storage/mail-storage.h:
	lib-storage: MAX_SORT_PROGRAM_SIZE was too small
	[501f22bf92c3]

2012-08-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-client/imapc-client.h, src/lib-imap-client/imapc-
	connection.c, src/lib-storage/index/imapc/imapc-settings.c, src/lib-
	storage/index/imapc/imapc-settings.h, src/lib-storage/index/imapc
	/imapc-storage.c:
	imapc: Added imapc_max_idle_time setting to force activity on
	connection. Reducing this from the default 29 minutes should help
	when there's a stateful firewall between imapc and the backend
	server.
	[f33e3ac28e1d]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	fs layout: Kludge to show INBOX/INBOX mailbox when necessary. This
	happens with one prefix="" namespace and another prefix=INBOX/
	namespace when the INBOX mailbox itself has children.
	[7a1f49b588a8]

	* src/lib-storage/mailbox-list.c:
	lib-storage: mailbox_list_get_storage_name() shouldn't treat INBOX
	specially in inbox=no namespaces.
	[b0f744014aca]

	* src/lib-storage/mail-namespace.c, src/lib-storage/mail-namespace.h:
	lib-storage: If alias_for references inbox=yes namespace, copy the
	inbox=yes to the alias ns. So even though this still doesn't allow
	giving multiple inbox=yes settings in configuration file, it's now
	possible for multiple namespaces to have them. They just need to
	point to the exact same INBOX.
	[0d3f2902fb68]

	* src/imap/cmd-list.c:
	imap LIST: Don't set \haschildren flag for namespace prefix if it
	has list=no
	[68a62d79b1b4]

2012-08-13  Timo Sirainen  <tss@iki.fi>

	* src/lib/ioloop.c:
	Memory leak fix
	[963482677c0b]

2012-08-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-mail/quoted-printable.c, src/lib-mail/test-quoted-
	printable.c:
	quoted-printable decode didn't ignore whitespace at the end of soft
	line break.
	[cc5f888d466a]

2012-08-20  Timo Sirainen  <tss@iki.fi>

	* TODO, src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync
	/dsync-mailbox-import.c, src/doveadm/dsync/dsync-transaction-log-
	scan.c, src/doveadm/dsync/dsync-transaction-log-scan.h, src/lib
	/hash-decl.h, src/lib/hash.h:
	Simplified hash table union now that it again works only with
	pointers.
	[9c69df65af7b]

	* src/lib/hash.h:
	Fixed some aliasing warnings with hash table API.
	[44013be2e3d8]

	* src/lib-imap-storage/imap-msgpart.c:
	imap: Allow fetching [x.MIME] for message/rfc822 again. It's not
	clear which is the correct behavior.
	[6c55e57c98a1]

	* src/anvil/connect-limit.c, src/auth/auth-request-handler.c, src/auth
	/db-checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd-file.c,
	src/director/director-test.c, src/director/user-directory.c,
	src/doveadm/doveadm-director.c, src/doveadm/doveadm-kick.c,
	src/doveadm/doveadm-log.c, src/doveadm/doveadm-mail-server.c,
	src/doveadm/doveadm-stats.c, src/doveadm/doveadm-who.c,
	src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync/dsync-
	mailbox-import.c, src/doveadm/dsync/dsync-transaction-log-scan.c,
	src/doveadm/dsync/dsync-transaction-log-scan.h, src/imap/imap-
	client.c, src/lib-auth/auth-server-connection.c, src/lib-auth/auth-
	server-connection.h, src/lib-dict/dict-file.c, src/lib-index/mail-
	cache-fields.c, src/lib-index/mail-cache-private.h, src/lib-index
	/mail-index-private.h, src/lib-index/mail-index.c, src/lib-
	lda/duplicate.c, src/lib-master/master-auth.c, src/lib-master
	/master-login-auth.c, src/lib-settings/settings-parser.c, src/lib-
	storage/index/dbox-multi/mdbox-purge.c, src/lib-storage/index/index-
	thread-finish.c, src/lib-storage/index/maildir/maildir-keywords.c,
	src/lib-storage/list/mailbox-list-index-sync.c, src/lib-storage/list
	/mailbox-list-index.c, src/lib-storage/list/mailbox-list-index.h,
	src/lib/child-wait.c, src/lib/hash.c, src/lib/hash.h, src/log/log-
	connection.c, src/login-common/ssl-proxy-openssl.c, src/master
	/service-monitor.c, src/master/service-process.c,
	src/master/service.c, src/master/service.h, src/plugins/acl/acl-
	cache.c, src/plugins/expire/doveadm-expire.c, src/plugins/fts-lucene
	/lucene-wrapper.cc, src/plugins/fts/fts-expunge-log.c,
	src/pop3/pop3-commands.c, src/replication/aggregator/replicator-
	connection.c:
	Reverted "support for non-pointers" part of the hash table API
	changes. Originally I wrote it using clang, which didn't give as
	many warnings as gcc did. I guess this way is safer anyway..
	[96fd2c3bf932]

	* src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync/dsync-
	mailbox-import.c, src/doveadm/dsync/dsync-transaction-log-scan.c,
	src/doveadm/dsync/dsync-transaction-log-scan.h:
	Compiler error fix due to hash table changes.
	[edb1d5babfcd]

2012-08-19  Timo Sirainen  <tss@iki.fi>

	* src/anvil/anvil-connection.c, src/auth/auth-request-handler.h,
	src/auth/db-dict.c, src/auth/db-ldap.c, src/auth/db-sql.c,
	src/config/config-connection.c, src/doveadm/doveadm-mail-mailbox.c,
	src/doveadm/doveadm-stats.c, src/doveadm/doveadm.c, src/imap/imap-
	fetch.h, src/indexer/indexer-client.c, src/lib-dns/dns-lookup.c, src
	/lib-dns/dns-lookup.h, src/lib-imap-storage/imap-msgpart.c, src/lib-
	index/mail-index-util.c, src/lib-lda/mail-send.c, src/lib-mail
	/istream-header-filter.c, src/lib-mail/istream-header-filter.h, src
	/lib-mail/message-header-parser.h, src/lib-mail/message-parser.h,
	src/lib-mail/test-istream-header-filter.c, src/lib-master/master-
	service.c, src/lib-settings/settings.c, src/lib-settings/settings.h,
	src/lib-sql/sql-api.h, src/lib-storage/index/dbox-multi/mdbox-
	purge.c, src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c,
	src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/index-mail-binary.c, src/lib-storage/index/index-
	mail.c, src/lib-storage/index/index-search.c, src/lib-storage/index
	/index-sort-string.c, src/lib-storage/index/index-thread.c, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
	/maildir-storage.h, src/lib-storage/index/maildir/maildir-sync-
	index.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/pop3c/pop3c-sync.c, src/lib-storage/mail-search.h, src
	/lib-storage/mail-storage.h, src/lib-storage/mailbox-header.c,
	src/lib/array.h, src/lib/bsearch-insert-pos.c, src/lib/bsearch-
	insert-pos.h, src/lib/child-wait.h, src/lib/connection.c,
	src/lib/ioloop.h, src/lib/istream.h, src/lib/macros.h, src/lib
	/module-dir.c, src/lib/ostream.h, src/lib/strfuncs.c,
	src/lib/strfuncs.h, src/lib/test-bsearch-insert-pos.c,
	src/plugins/acl/acl-backend.c, src/plugins/fts-squat/squat-
	uidlist.c, src/plugins/pop3-migration/pop3-migration-plugin.c:
	Removed CONTEXT_TYPE_SAFETY macro and reimplemented its
	functionality better. gcc/clang now gives a compiler error in many
	places if callback isn't exactly what was expected. It's also now
	much easier to add more of these checks.
	[d3db2ba15d00]

	* src/auth/auth-request-handler.c, src/auth/auth-settings.c, src/auth
	/auth-settings.h, src/auth/auth-worker-server.c, src/auth/auth.c,
	src/auth/db-ldap.h, src/auth/main.c, src/auth/passdb-template.c,
	src/auth/passdb.c, src/auth/userdb-template.c, src/auth/userdb.c,
	src/config/config-parser-private.h, src/config/config-parser.c,
	src/dict/dict-connection.h, src/dict/dict-settings.h, src/director
	/director-test.c, src/director/director.h, src/director/mail-host.c,
	src/director/main.c, src/director/user-directory.c, src/doveadm
	/doveadm-dump.c, src/doveadm/doveadm-kick.c, src/doveadm/doveadm-
	mail-altmove.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm
	/doveadm-mail.h, src/doveadm/doveadm-print-flow.c, src/doveadm
	/doveadm-print-pager.c, src/doveadm/doveadm-print-table.c,
	src/doveadm/doveadm-print.c, src/doveadm/doveadm-server.h,
	src/doveadm/doveadm-settings.h, src/doveadm/doveadm-stats.c,
	src/doveadm/doveadm-who.c, src/doveadm/doveadm.c, src/doveadm/dsync
	/dsync-mailbox-export.c, src/doveadm/dsync/dsync-mailbox-import.c,
	src/doveadm/dsync/dsync-mailbox-tree-private.h, src/doveadm/dsync
	/dsync-mailbox-tree-sync.c, src/doveadm/dsync/dsync-slave-pipe.c,
	src/imap/cmd-list.c, src/imap/imap-client.h, src/imap/imap-commands-
	util.c, src/imap/imap-commands.c, src/imap/imap-fetch.c, src/imap
	/imap-fetch.h, src/imap/imap-notify.h, src/imap/imap-search.h,
	src/indexer/worker-connection.c, src/ipc/ipc-connection.h, src/ipc
	/ipc-group.c, src/lib-auth/auth-server-connection.h, src/lib-dict
	/dict-memcached-ascii.c, src/lib-dict/dict-redis.c, src/lib-dict
	/dict-sql-settings.c, src/lib-dict/dict-sql-settings.h, src/lib-dict
	/dict-sql.c, src/lib-dict/dict-transaction-memory.h, src/lib-
	dict/dict.c, src/lib-imap-client/imapc-client-private.h, src/lib-
	imap-client/imapc-connection.c, src/lib-index/mail-cache-compress.c,
	src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache-
	transaction.c, src/lib-index/mail-index-modseq.c, src/lib-index
	/mail-index-private.h, src/lib-index/mail-index-strmap.c, src/lib-
	index/mail-index-sync-private.h, src/lib-index/mail-index-sync.c,
	src/lib-index/mail-index-transaction-export.c, src/lib-index/mail-
	index-transaction-private.h, src/lib-index/mail-index-transaction-
	view.c, src/lib-index/mail-index-view-private.h, src/lib-index/mail-
	transaction-log-view-private.h, src/lib-lda/lmtp-client.c, src/lib-
	lda/mail-deliver.h, src/lib-mail/istream-attachment-connector.c, src
	/lib-mail/istream-header-filter.c, src/lib-mail/rfc2231-parser.c,
	src/lib-mail/test-istream-attachment.c, src/lib-master/anvil-
	client.c, src/lib-master/ipc-client.c, src/lib-master/master-
	instance.c, src/lib-master/master-service-settings.c, src/lib-master
	/mountpoint-list.c, src/lib-settings/settings-parser.c, src/lib-sql
	/driver-pgsql.c, src/lib-sql/driver-sqlpool.c, src/lib-sql/sql-api-
	private.h, src/lib-storage/index/dbox-common/dbox-file.h, src/lib-
	storage/index/dbox-multi/mdbox-map-private.h, src/lib-storage/index
	/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.h,
	src/lib-storage/index/dbox-single/sdbox-save.c, src/lib-
	storage/index/imapc/imapc-storage.h, src/lib-storage/index/index-
	mail-binary.c, src/lib-storage/index/index-mail-headers.c, src/lib-
	storage/index/index-mail.h, src/lib-storage/index/index-search-
	private.h, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-sync-changes.c, src/lib-storage/index/index-
	thread-finish.c, src/lib-storage/index/maildir/maildir-keywords.c,
	src/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/mbox/mbox-sync-private.h, src/lib-storage/list
	/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-list-index-
	notify.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/mail-search-register-human.c, src/lib-storage/mail-search-
	register.c, src/lib-storage/mail-storage-hooks.c, src/lib-storage
	/mail-storage-private.h, src/lib-storage/mail-storage-settings.h,
	src/lib-storage/mail-user.h, src/lib-storage/mailbox-keywords.c, src
	/lib-storage/mailbox-list-iter.c, src/lib-storage/mailbox-list-
	private.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
	tree.c, src/lib/array-decl.h, src/lib/array.h, src/lib/ioloop-
	epoll.c, src/lib/ioloop-kqueue.c, src/lib/ioloop-private.h,
	src/lib/lib.h, src/lib/module-context.h, src/lib/priorityq.c,
	src/lib/test-aqueue.c, src/lib/test-array.c, src/lib/var-expand.c,
	src/lmtp/client.h, src/lmtp/lmtp-proxy.c, src/log/log-connection.c,
	src/master/service-listen.c, src/master/service-process-notify.c,
	src/master/service.h, src/plugins/acl/acl-backend-vfile.h,
	src/plugins/acl/acl-cache.c, src/plugins/expire/doveadm-expire.c,
	src/plugins/expire/expire-set.c, src/plugins/fts-lucene/fts-backend-
	lucene.c, src/plugins/fts-lucene/lucene-wrapper.cc, src/plugins/fts-
	solr/fts-backend-solr-old.c, src/plugins/fts-solr/fts-backend-
	solr.c, src/plugins/fts-solr/solr-connection.c, src/plugins/fts-
	squat/squat-trie.c, src/plugins/fts-squat/squat-uidlist.c,
	src/plugins/fts/fts-api.c, src/plugins/fts/fts-parser-script.c,
	src/plugins/fts/fts-storage.h, src/plugins/pop3-migration/pop3
	-migration-plugin.c, src/plugins/quota/quota-private.h,
	src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c,
	src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
	mail.c, src/plugins/virtual/virtual-search.c, src/plugins/virtual
	/virtual-storage.h, src/plugins/virtual/virtual-sync.c,
	src/plugins/virtual/virtual-transaction.h, src/pop3/pop3-client.c,
	src/pop3/pop3-client.h, src/replication/replicator/replicator-
	brain.c, src/replication/replicator/replicator-queue.c, src/ssl-
	params/main.c:
	Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name Easy
	way to update your existing code: perl -i -pe
	's:ARRAY_DEFINE\(([^,]+), *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch]
	[a097ef0a9d6d]

	* src/lib/Makefile.am, src/lib/hash-decl.h:
	Added missing hash-decl.h
	[ed0fd7c1e8ff]

	* src/anvil/connect-limit.c, src/anvil/penalty.c, src/auth/auth-
	cache.c, src/auth/auth-request-handler.c, src/auth/db-
	checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd-file.c,
	src/auth/db-passwd-file.h, src/auth/mech-otp-skey-common.c,
	src/config/config-request.c, src/director/director-test.c,
	src/director/user-directory.c, src/doveadm/doveadm-director.c,
	src/doveadm/doveadm-kick.c, src/doveadm/doveadm-log.c, src/doveadm
	/doveadm-mail-server.c, src/doveadm/doveadm-stats.c, src/doveadm
	/doveadm-who.c, src/doveadm/doveadm-who.h, src/doveadm/dsync/dsync-
	brain-mailbox.c, src/doveadm/dsync/dsync-brain-private.h,
	src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-mailbox-
	export.c, src/doveadm/dsync/dsync-mailbox-import.c,
	src/doveadm/dsync/dsync-mailbox-tree-fill.c, src/doveadm/dsync
	/dsync-mailbox-tree-private.h, src/doveadm/dsync/dsync-mailbox-tree-
	sync.c, src/doveadm/dsync/dsync-mailbox-tree.c, src/doveadm/dsync
	/dsync-transaction-log-scan.c, src/doveadm/dsync/dsync-transaction-
	log-scan.h, src/indexer/indexer-queue.c, src/lib-auth/auth-server-
	connection.c, src/lib-auth/auth-server-connection.h, src/lib-dict
	/dict-file.c, src/lib-index/mail-cache-fields.c, src/lib-index/mail-
	cache-private.h, src/lib-index/mail-cache.c, src/lib-index/mail-
	index-private.h, src/lib-index/mail-index.c, src/lib-
	lda/duplicate.c, src/lib-master/master-auth.c, src/lib-master
	/master-login-auth.c, src/lib-master/master-service-settings-
	cache.c, src/lib-settings/settings-parser.c, src/lib-sql/sql-db-
	cache.c, src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-
	storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/index-thread-finish.c, src/lib-storage/index/maildir
	/maildir-filename.c, src/lib-storage/index/maildir/maildir-
	filename.h, src/lib-storage/index/maildir/maildir-keywords.c, src
	/lib-storage/index/maildir/maildir-uidlist.c, src/lib-storage/list
	/mailbox-list-index-sync.c, src/lib-storage/list/mailbox-list-
	index.c, src/lib-storage/list/mailbox-list-index.h, src/lib-storage
	/mailbox-guid-cache.c, src/lib-storage/mailbox-list-private.h, src
	/lib-storage/mailbox-list.c, src/lib/child-wait.c, src/lib/guid.c,
	src/lib/guid.h, src/lib/hash.c, src/lib/hash.h, src/lib/lib.h,
	src/lib/macros.h, src/log/log-connection.c, src/login-common/login-
	proxy-state.c, src/login-common/ssl-proxy-openssl.c, src/master
	/service-monitor.c, src/master/service-process.c,
	src/master/service.c, src/master/service.h, src/plugins/acl/acl-
	cache.c, src/plugins/expire/doveadm-expire.c, src/plugins/fts-lucene
	/fts-backend-lucene.c, src/plugins/fts-lucene/lucene-wrapper.cc,
	src/plugins/fts-lucene/lucene-wrapper.h, src/plugins/fts-solr/fts-
	backend-solr-old.c, src/plugins/fts-solr/fts-backend-solr.c,
	src/plugins/fts-solr/solr-connection.c, src/plugins/fts/fts-expunge-
	log.c, src/pop3/pop3-commands.c, src/replication/aggregator
	/replicator-connection.c, src/replication/replicator/replicator-
	queue.c, src/stats/mail-domain.c, src/stats/mail-ip.c, src/stats
	/mail-session.c, src/stats/mail-user.c:
	Hash table API is now (mostly) type safe.
	[8eae4e205c82]

	* src/anvil/connect-limit.c, src/anvil/penalty.c, src/auth/auth-
	cache.c, src/auth/auth-request-handler.c, src/auth/db-
	checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd-file.c,
	src/auth/mech-otp-skey-common.c, src/config/config-request.c,
	src/director/director-test.c, src/director/user-directory.c,
	src/doveadm/doveadm-director.c, src/doveadm/doveadm-kick.c,
	src/doveadm/doveadm-log.c, src/doveadm/doveadm-mail-server.c,
	src/doveadm/doveadm-stats.c, src/doveadm/doveadm-who.c,
	src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-mailbox-
	export.c, src/doveadm/dsync/dsync-mailbox-import.c,
	src/doveadm/dsync/dsync-mailbox-tree.c, src/doveadm/dsync/dsync-
	transaction-log-scan.c, src/indexer/indexer-queue.c, src/lib-auth
	/auth-server-connection.c, src/lib-dict/dict-file.c, src/lib-index
	/mail-cache.c, src/lib-index/mail-index.c, src/lib-lda/duplicate.c,
	src/lib-master/master-auth.c, src/lib-master/master-login-auth.c,
	src/lib-master/master-service-settings-cache.c, src/lib-settings
	/settings-parser.c, src/lib-sql/sql-db-cache.c, src/lib-
	storage/index/dbox-multi/mdbox-purge.c, src/lib-storage/index/dbox-
	multi/mdbox-storage-rebuild.c, src/lib-storage/index/index-thread-
	finish.c, src/lib-storage/index/maildir/maildir-keywords.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-storage/list
	/mailbox-list-index.c, src/lib-storage/mailbox-guid-cache.c, src/lib
	/child-wait.c, src/lib/hash.c, src/lib/hash.h, src/log/log-
	connection.c, src/login-common/login-proxy-state.c, src/login-common
	/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c,
	src/master/service.c, src/plugins/acl/acl-cache.c,
	src/plugins/expire/doveadm-expire.c, src/plugins/fts-lucene/fts-
	backend-lucene.c, src/plugins/fts-lucene/lucene-wrapper.cc,
	src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
	/fts-backend-solr.c, src/plugins/fts-solr/solr-connection.c,
	src/plugins/fts/fts-expunge-log.c, src/pop3/pop3-commands.c,
	src/replication/aggregator/replicator-connection.c,
	src/replication/replicator/replicator-queue.c, src/stats/mail-
	domain.c, src/stats/mail-ip.c, src/stats/mail-session.c, src/stats
	/mail-user.c:
	hash_table_create(): Removed table_pool parameter. Every single
	caller was using default_pool there, so there's no point in having
	it.
	[1ce71b5bc94a]

2012-08-18  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream-seekable.c, src/lib/istream-seekable.h:
	Added i_stream_create_seekable_path()
	[ecb92e343152]

	* src/lib/ostream-file.c:
	ostream-file: Fixed writing with zero buffer size.
	[23e9660f0473]

	* src/lib/connection.c:
	connection API: Allow calling connection_input_default() for
	buffered input.
	[373879abd7f4]

2012-08-17  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/Makefile.am:
	Makefile: Install the useful doveadm*.h headers.
	[f3dbc8bd625b]

	* src/lib-imap-storage/imap-msgpart.c:
	imap: FETCH[x.MIME] for message/rfc822 should produce empty result
	[0c25f3ce29ef]

	* src/lib-imap-storage/imap-msgpart.c:
	imap: Added more tests to return empty data when FETCHing invalid
	MIME parts.
	[2535dbe7c503]

2012-08-16  Timo Sirainen  <tss@iki.fi>

	* dovecot-config.in.in, dovecot.m4:
	dovecot-config: Added LIBDOVECOT_DOVEADM_INCLUDE
	[85b22a4af8d4]

	* src/lib-ssl-iostream/Makefile.am:
	Makefile: iostream-*ssl.h wasn't being installed.
	[7436df9a9922]

	* src/lib-dict/dict-memcached-ascii.c, src/lib-dict/dict-memcached.c,
	src/lib-dict/dict-redis.c, src/lib/connection.c,
	src/lib/connection.h:
	connection API: Fixed connected() callback to actually allow
	detecting failed connects.
	[deb47efdc006]

	* src/lib-dict/dict-memcached-ascii.c:
	dict memcached-ascii bugfixes
	[f5dc8abad16b]

2012-08-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-dict/Makefile.am, src/lib-dict/dict-memcached-ascii.c, src
	/lib-dict/dict-private.h, src/lib-dict/dict.c, src/lib-dict/test-
	dict.c:
	lib-dict: Added memcached_ascii backend.
	[96a9a086c052]

	* src/lib-dict/Makefile.am, src/lib-dict/dict-file.c, src/lib-dict
	/dict-transaction-memory.c, src/lib-dict/dict-transaction-memory.h:
	lib-dict: Moved "in-memory transaction" code from dict-file to more
	generic API.
	[e266c31ebd02]

	* src/lib/istream-limit.c:
	istream-limit: Move parent stream to expected offset also at EOF.
	[aba24a5cc9ff]

	* src/dict/dict-commands.c:
	dict server: Implemented APPEND command.
	[51043aa5fe98]

	* src/imap/imap-client.c:
	imap: Fixed assert-crash on FETCH error disconnections.
	[3ff9acd8080e]

2012-08-14  Timo Sirainen  <tss@iki.fi>

	* src/lib/connection.c:
	connection: connection_disconnect_reason() didn't handle non-errors
	correctly.
	[3d53028cbe9c]

	* src/lib-dict/dict-client.c, src/lib-dict/dict-client.h, src/lib-dict
	/dict-file.c, src/lib-dict/dict-memcached.c, src/lib-dict/dict-
	private.h, src/lib-dict/dict-redis.c, src/lib-dict/dict-sql.c, src
	/lib-dict/dict.c, src/lib-dict/dict.h:
	dict: Implemented dict_append()
	[87e14707d210]

2012-08-13  Timo Sirainen  <tss@iki.fi>

	* src/imap/Makefile.am, src/imap/cmd-cancelupdate.c, src/imap/cmd-
	fetch.c, src/imap/cmd-idle.c, src/imap/cmd-list.c, src/imap/cmd-
	notify.c, src/imap/cmd-search.c, src/imap/cmd-select.c, src/imap
	/cmd-sort.c, src/imap/imap-client.c, src/imap/imap-client.h,
	src/imap/imap-commands.c, src/imap/imap-commands.h, src/imap/imap-
	fetch.c, src/imap/imap-fetch.h, src/imap/imap-list.c, src/imap/imap-
	list.h, src/imap/imap-notify.c, src/imap/imap-notify.h, src/imap
	/imap-search.c, src/imap/imap-search.h, src/imap/imap-sync.c,
	src/imap/main.c:
	imap: Implemented NOTIFY extension. Requires mailbox_list_index=yes
	to work (and to show up in capabilities). SubscriptionChange event
	is still unimplemented.
	[f9d0ea98157f]

	* src/lib-storage/Makefile.am, src/lib-storage/index/imapc/imapc-
	list.c, src/lib-storage/index/shared/shared-list.c, src/lib-
	storage/list/Makefile.am, src/lib-storage/list/mailbox-list-fs.c,
	src/lib-storage/list/mailbox-list-index-notify.c, src/lib-
	storage/list/mailbox-list-index-status.c, src/lib-storage/list
	/mailbox-list-index-sync.c, src/lib-storage/list/mailbox-list-
	index.c, src/lib-storage/list/mailbox-list-index.h, src/lib-
	storage/list/mailbox-list-maildir.c, src/lib-storage/list/mailbox-
	list-none.c, src/lib-storage/list/mailbox-list-notify-tree.c, src
	/lib-storage/list/mailbox-list-notify-tree.h, src/lib-storage
	/mailbox-list-notify.c, src/lib-storage/mailbox-list-notify.h, src
	/lib-storage/mailbox-list-private.h:
	lib-storage: Added mailbox-list-notify API for tracking changes in
	all mailboxes. Requires mailbox_list_index=yes to work.
	[a16d77a075bb]

	* src/lib-storage/index/index-sync.c:
	mailbox_list_index=yes: Don't log an error when verifying existence
	of already deleted mailbox.
	[026b688b379f]

	* src/lib-index/mail-index-view-private.h, src/lib-index/mail-index-
	view.c:
	lib-index: Added mail_index_view_dup_private()
	[d76732546de3]

	* src/imap/imap-client.c:
	imap: If imap_capability setting is set explicitly, don't
	automatically add SEARCH=FUZZY.
	[722dba791812]

	* configure.in:
	Added MOVE extension to capabilities. I guess the draft is close
	enough to being ready now.
	[4d6ea3b30235]

	* src/lib-storage/list/mailbox-list-index-iter.c:
	mailbox_list_index=yes: Don't use indexes when iterating with
	MAILBOX_LIST_ITER_RAW_LIST.
	[5d058be4aefc]

	* src/imap/imap-fetch-body.c, src/imap/imap-fetch.c:
	Memory leak fixes
	[0e4be366edb4]

	* src/config/config-parser.c, src/doveadm/dsync/dsync-brain-mailbox.c,
	src/master/main.c:
	Compiler warning fixes
	[7bda77ccd1fc]

	* src/imap/imap-sync.c:
	imap: Code cleanup
	[cf4f7871cd5d]

	* src/imap/cmd-fetch.c, src/imap/cmd-select.c, src/imap/imap-fetch-
	body.c, src/imap/imap-fetch.c, src/imap/imap-fetch.h:
	imap: FETCH API updated to allow using the same parsed FETCH in
	multiple mailboxes. This is in preparation for NOTIFY extension.
	[00be97a2139a]

	* src/imap/imap-fetch-body.c, src/lib-imap-storage/imap-msgpart-url.c,
	src/lib-imap-storage/imap-msgpart.c, src/lib-imap-storage/imap-
	msgpart.h:
	imap_msgpart_parse() doesn't really need a mailbox parameter.
	[cf79ab812651]

	* src/imap/cmd-fetch.c, src/imap/imap-fetch-body.c, src/imap/imap-
	fetch.c, src/imap/imap-fetch.h:
	imap: FETCH API cleanup: keep fetch state in a separate struct.
	[0c73a42c194e]

	* src/imap/cmd-list.c, src/imap/cmd-status.c, src/imap/imap-status.c,
	src/imap/imap-status.h:
	imap: Made STATUS handling API more flexible.
	[42cc4c4c4891]

	* src/lib-storage/mailbox-tree.c, src/lib-storage/mailbox-tree.h:
	lib-storage: Mailbox tree API supports now including extra data in
	the nodes.
	[acc60089da4f]

	* src/lib-index/mail-transaction-log-view.c, src/lib-index/mail-
	transaction-log.h:
	lib-index: Support clearing the whole log view with
	mail_transaction_log_view_clear(0)
	[7aece00b8538]

	* src/lib-index/mail-index-sync-update.c:
	lib-index: Removed duplicate ext-intro checking code.
	[222c7d752519]

	* src/lib-index/mail-transaction-log-view.c:
	lib-index: Verify validity of ext-intro records in transaction log.
	[ba6b92cf7d49]

	* src/lib-storage/mail-storage-settings.c:
	Verify that mailbox_idle_check_interval setting isn't 0.
	[51f9a87170f2]

2012-08-12  Timo Sirainen  <tss@iki.fi>

	* src/lib-ssl-iostream/iostream-openssl.c:
	lib-ssl-iostream: Avoid assert-crash when reading a closed stream.
	[d7df4855dc94]

	* src/lib-ssl-iostream/iostream-openssl-context.c:
	lib-ssl-iostream: Don't crash if protocols setting is NULL.
	[ed07971b21ea]

	* src/ssl-params/ssl-params-settings.c:
	ssl-params socket was missing from login/ directory
	[c6fa56ce8860]

	* src/lib-index/mail-index-sync.c:
	lib-index: Message flag syncing was broken due to wrong struct cast.
	[ad22bdfe7bdc]

	* src/lib-storage/index/index-sync.c:
	lib-storage: Update private index before updating saved search
	results.
	[ab27926cb173]

	* src/lib/istream-private.h, src/lib/istream.c, src/lib/istream.h:
	Added i_stream_last_line_crlf()
	[2e88cfd8b595]

	* src/lib-imap/imap-quote.c:
	lib-imap: imap_quote() was broken when called with a datastack pool.
	[28283c7dc1e9]

	* src/lib-storage/index/index-mail-binary.c:
	FETCH BINARY fix.
	[baa8fb155ddc]

	* src/lib-imap-storage/imap-msgpart.c:
	imap: More fixes to fetching messages.
	[9f20f7bd992d]

	* src/lib-storage/list/subscription-file.c:
	lib-storage: Fixed assert-crash on subscribtion change that didn't
	change anything.
	[f66e1508dc19]

	* src/lib-storage/index/index-mail-headers.c:
	lib-storage: mail_get_header_stream() now always returns end-of-
	headers LF.
	[2ec8bb1396d1]

	* src/lib-mail/istream-header-filter.c:
	istream-header-filter: Allow adding more headers at the end of
	headers callback.
	[f329d7e1dad7]

	* src/lib-imap-storage/imap-msgpart.c:
	imap: Fixed fetching partial ranges from non-BODY[]
	[f4de7ed984b3]

	* src/imap/cmd-copy.c:
	imap: (non-UID) MOVE command didn't always send EXPUNGE for the
	moved message.
	[a69d858948ca]

	* src/lib-storage/index/dbox-common/dbox-file-fix.c, src/lib-
	storage/index/dbox-common/dbox-save.c:
	dbox: Crashfixes
	[5fc4fab20fd0]

2012-08-11  Timo Sirainen  <tss@iki.fi>

	* TODO, src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
	expunge.c, src/doveadm/doveadm-mail-import.c, src/doveadm/doveadm-
	mail-index.c, src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-
	mail-mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c,
	src/doveadm/doveadm-mail-move.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mailbox-list-iter.c, src/doveadm/dsync/dsync-
	mailbox-tree-fill.c, src/imap/cmd-list.c, src/lib-storage/index
	/dbox-multi/mdbox-storage-rebuild.c, src/lib-storage/index/imapc
	/imapc-list.c, src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-
	storage/list/mailbox-list-index-iter.c, src/lib-storage/list
	/mailbox-list-index-sync.c, src/lib-storage/list/mailbox-list-
	maildir-iter.c, src/lib-storage/list/mailbox-list-maildir.c, src
	/lib-storage/list/mailbox-list-none.c, src/lib-storage/list/mailbox-
	list-subscriptions.c, src/lib-storage/mailbox-guid-cache.c, src/lib-
	storage/mailbox-list-iter.c, src/lib-storage/mailbox-list.h,
	src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-
	mailbox-list.c, src/plugins/fts-lucene/lucene-wrapper.cc,
	src/plugins/fts-solr/fts-backend-solr.c, src/plugins/quota/quota-
	count.c, src/plugins/quota/quota-maildir.c, src/plugins/virtual
	/virtual-config.c:
	Renamed struct mailbox_info.name to vname.
	[e852d1fbf40a]

	* src/lib-imap-storage/imap-msgpart.c:
	imap: Fixed FETCHing nonexistent parts.
	[ec5346eb7d60]

	* configure.in:
	Added BINARY to IMAP capabilities.
	[621c0e2d7efc]

	* src/lib-mail/Makefile.am, src/lib-mail/message-binary-part.c, src
	/lib-mail/message-binary-part.h, src/lib-storage/index/index-mail-
	binary.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-mail.h, src/lib-storage/mail.c:
	lib-storage: Added caching for mail_get_binary_size()
	[f75d5a2eddcb]

	* src/lib/Makefile.am, src/lib/numpack.c, src/lib/numpack.h, src/lib
	/test-lib.c, src/lib/test-lib.h, src/lib/test-numpack.c:
	liblib: Added "number packing" API.
	[b45d968adff8]

	* src/imap/imap-fetch-body.c, src/lib-imap-storage/imap-msgpart.c:
	imap: Send FETCH BINARY output using literal8.
	[f0feae227c60]

	* src/doveadm/doveadm-mail.c, src/imap/cmd-fetch.c, src/imap/imap-
	commands-util.c, src/imap/imap-fetch-body.c, src/imap/imap-fetch.c,
	src/imap/imap-fetch.h, src/lib-imap-storage/imap-msgpart.c, src/lib-
	imap-storage/imap-msgpart.h, src/lib-storage/fail-mail.c, src/lib-
	storage/index/Makefile.am, src/lib-storage/index/cydir/cydir-mail.c,
	src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index
	/dbox-single/sdbox-mail.c, src/lib-storage/index/imapc/imapc-mail.c,
	src/lib-storage/index/index-mail-binary.c, src/lib-storage/index
	/index-mail.h, src/lib-storage/index/maildir/maildir-mail.c, src
	/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/pop3c
	/pop3c-mail.c, src/lib-storage/index/raw/raw-mail.c, src/lib-storage
	/mail-error.h, src/lib-storage/mail-storage-private.h, src/lib-
	storage/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-
	storage/mail-user.c, src/lib-storage/mail.c, src/plugins/virtual
	/virtual-mail.c:
	IMAP BINARY extension supports now FETCH BINARY command.
	[f3ef88e19cd5]

	* src/lib/istream-seekable.c:
	istream-seekable: Reverted unnecessary/broken changes from the
	previous patch.
	[ae5ad2935674]

	* src/lib-mail/message-decoder.c, src/lib-mail/message-decoder.h:
	lib-mail: Added message_decoder_parse_cte()
	[624107158354]

	* src/lib/istream-seekable.c, src/lib/istream-seekable.h:
	Added istreams_merge(), which forces istream-seekable to be created.
	[39f23dcb9e18]

	* src/lib/istream-seekable.c:
	istream-seekable: When we reach EOF, unreference all the input
	streams.
	[2a973e6c25f8]

	* src/lib/istream-seekable.c:
	istream-seekable: Minor code cleanup. stream->buffer and
	sstream->buffer being two different things was a bit confusing.
	[928b099a63cb]

	* src/lib-imap-storage/imap-msgpart.c:
	imap: FETCH BODY[n] shouldn't include MIME headers
	[5ceeb25ed337]

	* src/lib-mail/istream-header-filter.c, src/lib-mail/istream-header-
	filter.h, src/lib-mail/test-istream-header-filter.c, src/lib-
	storage/index/index-mail-headers.c, src/lib-storage/index/mbox/mbox-
	save.c:
	istream-header-filter: Added i_stream_header_filter_add() to add
	extra headers.
	[04abd58abf7a]

	* src/lib-compression/ostream-bzlib.c, src/lib-compression/ostream-
	zlib.c, src/lib-fs/ostream-cmp.c, src/lib-ssl-iostream/ostream-
	openssl.c, src/lib/ostream-buffer.c, src/lib/ostream-file.c, src/lib
	/ostream-private.h, src/lib/ostream-rawlog.c, src/lib/ostream.c,
	src/lib/ostream.h:
	Added o_stream_get_fd().
	[4bcd507e8907]

	* src/doveadm/Makefile.am, src/imap/Makefile.am,
	src/indexer/Makefile.am, src/lda/Makefile.am, src/lmtp/Makefile.am,
	src/pop3/Makefile.am:
	Makefile: Removed mountpoint.o from unused_objects, since it's now
	included via lib-master.
	[6008a36cb36c]

2012-08-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-mail/Makefile.am, src/lib-mail/istream-qp-decoder.c, src
	/lib-mail/istream-qp.h, src/lib-mail/test-istream-qp-decoder.c:
	Added istream-qp-decoder
	[b26aa0641080]

	* src/lib-mail/quoted-printable.c, src/lib-mail/test-quoted-
	printable.c:
	quoted-printable decode didn't ignore whitespace at the end of soft
	line break.
	[9195486cb5c2]

	* src/lib-mail/istream-attachment-connector.c:
	Previous istream-base64 changes broke compilation
	[b3567ec85f9e]

	* src/lib/istream-base64-decoder.c, src/lib/istream-base64-encoder.c,
	src/lib/test-istream-base64-encoder.c:
	Various fixes to istream-base64-encoder/decoder
	[4d13da5c571b]

	* src/lib/Makefile.am, src/lib/istream-base64-decoder.c, src/lib
	/istream-base64-encoder.c, src/lib/istream-base64-encoder.h, src/lib
	/istream-base64.h, src/lib/test-istream-base64-decoder.c, src/lib
	/test-istream-base64-encoder.c, src/lib/test-lib.c, src/lib/test-
	lib.h:
	Added istream-base64-decoder.
	[39b1b519c033]

	* src/lib-mail/istream-attachment-extractor.c, src/lib-storage/index
	/istream-mail.c, src/lib/istream-sized.c, src/lib/istream-sized.h:
	istreams: When reading invalid data, fail with EINVAL instead of
	EIO. EINVAL was already used more.
	[51a9846bb2bd]

	* src/lib/istream-base64-encoder.c:
	istream-base64-encoder: Minor fix to require only 3 bytes instead of
	4 per input block. Base64 encoder reads 3 bytes and outputs 4 bytes,
	so it's ok to read only 3 bytes.
	[f31916c173d1]

	* src/lib/ioloop-epoll.c:
	ioloop-epoll: Fix for running with zero I/Os.
	[17fb07dea309]

	* src/doveadm/doveadm-auth.c:
	doveadm: Renamed "auth" command to "auth test".
	[19b6a8c025e4]

	* configure.in, src/auth/auth-cache.h, src/auth/auth-master-
	connection.c, src/auth/auth-request.h, src/auth/auth.c, src/auth/db-
	ldap.c, src/auth/db-passwd-file.c, src/auth/main.c, src/auth/mech-
	gssapi.c, src/auth/mech-winbind.c, src/config/config-connection.c,
	src/config/doveconf.c, src/config/old-set-parser.c, src/doveadm
	/client-connection.c, src/doveadm/doveadm-mail-mailbox-status.c,
	src/doveadm/main.c, src/imap-login/client.c, src/imap/cmd-list.c,
	src/lib-auth/auth-master.c, src/lib-auth/auth-master.h, src/lib-dict
	/dict-memcached.c, src/lib-dict/dict-redis.c, src/lib-imap-client
	/imapc-client.c, src/lib-imap-client/imapc-connection.c, src/lib-
	imap-client/imapc-connection.h, src/lib-master/mountpoint-list.c,
	src/lib-settings/settings-parser.c, src/lib-ssl-iostream/iostream-
	openssl.c, src/lib-storage/index/dbox-common/dbox-attachment.c, src
	/lib-storage/index/imapc/imapc-save.c, src/lib-storage/index/index-
	attachment.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-storage.c, src/lib-storage/index/pop3c/pop3c-
	client.c, src/lib-storage/index/shared/shared-list.c, src/lib-
	storage/list/mailbox-list-delete.c, src/lib-storage/list/mailbox-
	list-fs-iter.c, src/lib-storage/mail-storage.c, src/lib/Makefile.am,
	src/lib/connection.c, src/lib/connection.h, src/lmtp/commands.c,
	src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
	settings.h, src/login-common/client-common.c, src/login-common
	/client-common.h, src/login-common/ssl-proxy-openssl.c,
	src/master/main.c, src/plugins/fts-lucene/lucene-wrapper.cc,
	src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts-solr/solr-
	connection.c, src/plugins/fts/fts-api.c, src/plugins/fts/fts-
	search.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-
	quota/imap-quota-plugin.c, src/plugins/quota/quota-storage.c,
	src/plugins/quota/quota.c, src/pop3-login/client-authenticate.c,
	src/pop3/pop3-commands.c, src/util/script.c:
	Merged changes from v2.1 tree.
	[6a0954d0ce09]

	* src/lib-master/master-service-settings-cache.c:
	Removed accidentally committed debug code
	[9d0873cefa08]

	* src/lib-master/master-service-settings-cache.c:
	lib-master: Another settings parser cache fix
	[b082b8260782]

2012-08-08  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Optimized expunging messages: delete more than one ID per
	request.
	[82f59d2139a9]

2012-08-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-service-settings-cache.c:
	lib-master: Settings cache crashed after config_cache_size was
	reached. This affected login processes when local {} and/or remote
	{} blocks were specified. Also fixed the cache behavior to be MRU.
	[2815175a0ffc]

2012-08-03  Timo Sirainen  <tss@iki.fi>

	* src/plugins/pop3-migration/pop3-migration-plugin.c:
	pop3-migration: Avoid disconnection from POP3 server due to idling.
	[ab6a4455b27d]

2012-08-01  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/client-connection.c:
	doveadm-server: Make sure another command isn't started before
	previous one is finished.
	[476381017ec7]

	* src/plugins/fts/fts-api.c:
	fts: Fixed a crash if virtual mailbox search couldn't be optimized
	by backend.
	[323d6ce62567]

	* src/plugins/fts/fts-search.c:
	fts: Fixed crash on error handling
	[d499f6d0ca68]

	* src/auth/auth-cache.c:
	auth: Minor code cleanup
	[47ebcf37af3d]

	* .hgsigs:
	Added signature for changeset bc86680293d2
	[8518f8b5a28b]

	* .hgtags:
	Added tag 2.1.9 for changeset bc86680293d2
	[687906b93914]

	* NEWS, configure.in:
	Released v2.1.9.
	[bc86680293d2] [2.1.9]

	* src/auth/db-ldap.c:
	auth: Support empty ldap base (for ldap servers that support it).
	[fd1cdeef4e2d]

	* src/auth/mech-winbind.c:
	auth: winbind mechanism supports now spaces in filenames.
	[ae4bbcc9612b]

	* src/plugins/fts/fts-api.c:
	fts: Fixed crash in fts_lookup_multi() for backends that can't
	handle it (fts-squat)
	[8d59874e02ad]

	* src/lib-storage/list/mailbox-list-delete.c:
	lib-storage: Fixed attempting to delete a non-symlink with Solaris
	Also fixed error message to say it's about unlink(), not stat().
	[8029f1b4afd0]

2012-07-31  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/solr-connection.c:
	fts-solr: Compiler warning fix
	[a606e9ff1476]

	* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
	connection.c, src/lib-imap-client/imapc-connection.h:
	imapc: Fixed crashes during mailbox close.
	[afa918d1c1eb]

	* src/lib-storage/mail-namespace.c:
	lib-storage: Improved missing namespace error messages.
	[0abb9b0a54db]

	* src/util/script.c:
	script: Don't add an empty parameter to executed command line Also
	fixed an error check
	[1d9d799a2efc]

	* src/plugins/fts-solr/solr-connection.c:
	fts-solr: Log a better error if Solr sends invalid XML input.
	[817b69b2b21f]

	* src/auth/db-passwd-file.c, src/auth/db-passwd-file.h:
	auth: if passwd-file isn't the only userdb, don't complain about
	missing userdb fields
	[f74557336910]

	* src/imap/cmd-list.c:
	imap: Fixed LIST handling with reference parameter. For example
	"LIST shared/ %" failed to list shared/user namespace prefix.
	[fac6b994e869]

	* src/lib-storage/index/shared/shared-list.c:
	lib-storage: Avoid creating shared user for an empty username.
	[ec5c630012cd]

2012-07-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-mail.c:
	lib-storage: When saving a mail, set date.save to cache immediately.
	[c598f76eeeed]

	* src/lib-storage/index/index-storage.c:
	lib-storage: When copying a mail, use a new timestamp for date.save
	instead of preserving it.
	[b13b8267999d]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Fixed handling non-lowercase SEARCH HEADER
	FROM/TO/SUBJECT/CC/BCC Based on patch by Matthew Powell.
	[77f2510bb009]

	* src/login-common/ssl-proxy-openssl.c:
	verbose_ssl=yes: Log debug messages with debug level instead of as
	info...
	[4ddb9117a178]

	* src/lib-ssl-iostream/iostream-openssl.c, src/login-common/ssl-proxy-
	openssl.c:
	verbose_ssl=yes: Log debug messages with debug level instead of as
	warnings.
	[eec5e1f03fff]

	* src/lib-charset/charset-iconv.c:
	lib-charset: Removed unnecessary buffer size increases, which only
	caused out-of-memory errors.
	[cbd2b321a68f]

2012-07-25  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/pop3c/pop3c-client.c:
	pop3c: If POP3 server doesn't support CAPA command, try to use UIDL
	anyway.
	[4b505b1c4c5b]

2012-07-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-dict/Makefile.am, src/lib-dict/dict-memcached.c, src/lib-
	dict/dict-private.h, src/lib-dict/dict.c, src/lib-dict/test-dict.c:
	lib-dict: Added memcached backend using its binary protocol.
	[b6df5871632a]

	* src/lib-dict/dict-redis.c:
	redis dict: Added support for set/unset/atomic_inc. This allows
	using Redis as dict quota backend.
	[54e2556f87ea]

	* src/lib-dict/dict.c:
	lib-dict: Allow backends to have iteration methods as NULL if they
	don't support it.
	[522e03dd4268]

	* src/plugins/quota/quota-private.h, src/plugins/quota/quota-
	storage.c, src/plugins/quota/quota.c:
	quota: Added quota_ignore_save_errors plugin setting. If mail is
	being saved but current quota usage lookup fails with internal
	error, save the mail anyway instead of failing.
	[a946a37af082]

2012-07-17  Timo Sirainen  <tss@iki.fi>

	* src/auth/mech-gssapi.c:
	auth: Fixed error handling in GSSAPI when __gss_userok() was used.
	An invalid username would have been treated as successful and auth
	process probably would have crashed.
	[35ae9569de5a]

	* src/auth/mech-gssapi.c:
	auth: GSSAPI RFC compliancy fixes. Patch by Ben Morrow:

	The first problem is that, because of the way the client invokes
	libsasl, it sends a GSSAPI request which does not ask for mutual
	authentication. This means that on the server gss_accept_sec_context
	returns GSS_S_COMPLETE with a zero-length output token. Dovecot
	currently sends this to the client as a zero-length continuation
	response, but this is incorrect according to RFC 4752: what it ought
	to do instead is proceed straight to the security layer
	negotiations, and send a gss_wrap packet.

	The second is that Cyrus sends an empty authz identity; that is, the
	security layer negotiation packet, when gss_unwrapped, is exactly 4
	bytes long. Dovecot objects to this, but in RFC 4422 this is
	explicitly allowed, and means the authz identity is identical to the
	authn identity.
	[ced6a796f56d]

	* src/config/config-connection.c, src/lib-settings/settings-parser.c:
	config: Fixed error reporting when reloading settings for master
	process fails.
	[56ef4e70b1a9]

	* doc/Makefile.am:
	doc: Install mkcert.sh, dovecot-openssl.cnf and solr-schema.xml
	files.
	[d01a06d821cf]

	* src/imap-login/client.c, src/login-common/client-common.c, src
	/login-common/client-common.h, src/pop3-login/client-authenticate.c:
	login: Don't allow STARTTLS if ssl=no in client's settings, even if
	ssl=yes globally.
	[258c2e231357]

	* src/lib-master/mountpoint-list.c:
	lib-master: Updated default mountpoint ignore prefix list.
	[77b52599e883]

	* src/director/director-settings.c:
	director: Changed director_username_hash setting's default from %u
	to %Lu This allows potential trouble when username isn't always
	lowercased.
	[36c3d44a5ba3]

	* doc/example-config/conf.d/10-director.conf:
	example-config: Added director_username_hash setting.
	[0722a06a0d9f]

	* src/lib-mail/mail-user-hash.c:
	lib-mail: mail_user_hash() has now a faster code path for format=%Lu
	[5ad46e104c07]

	* src/master/main.c:
	master: "/X is no longer mounted" warning now points to wiki page.
	[9366cfaefdaa]

2012-07-16  Timo Sirainen  <tss@iki.fi>

	* src/config/doveconf.c:
	doveconf: When looking up specific settings, ignore errors found by
	check functions.
	[892ab0a8ab9c]

	* src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
	quota: ns=PREFIX setting was ignored when accessing other users'
	shared mailboxes.
	[30b0d6b1c581]

	* src/lib-storage/mail-user.c:
	lib-storage: %h variable didn't necessarily expand correctly for
	shared users' settings.
	[abaafe4cc439]

	* src/login-common/ssl-proxy-openssl.c:
	login: If ssl_key parsing fails, log the reason.
	[5bbdfee113a5]

2012-07-11  Timo Sirainen  <tss@iki.fi>

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: Log mailbox names with UTF-8 everywhere (instead of
	mUTF-7)
	[b4cd382b6606]

	* configure.in, src/plugins/fts-lucene/Makefile.am, src/plugins/fts-
	lucene/lucene-wrapper.cc:
	Debian names libtextcat as libexttextcat. Patch by Stephan Bosch.
	[558e4205c429]

2012-07-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/pop3c/pop3c-client.c:
	pop3c: pop3c_master_user setting broke down non-master logins.
	[5b0c88c43929]

	* src/lib-dict/dict-redis.c, src/lib/connection.c,
	src/lib/connection.h:
	redis: Fixed connection handling.
	[64725ff9c297]

	* src/lib-dict/Makefile.am, src/lib-dict/dict-private.h, src/lib-dict
	/dict-redis.c, src/lib-dict/dict.c, src/lib-dict/test-dict.c:
	lib-dict: Added initial version of Redis support. The code is a bit
	ugly and doesn't handle anything except key lookups.
	[211fbc872ed4]

	* src/lib/Makefile.am, src/lib/connection.c, src/lib/connection.h:
	Added "connection" API for handling client/server connections more
	easily.
	[43b841891c77]

	* doc/example-config/conf.d/auth-dict.conf.ext, doc/example-config
	/dovecot-dict-auth.conf.ext, src/auth/Makefile.am, src/auth/db-
	dict.c, src/auth/db-dict.h, src/auth/main.c, src/auth/passdb-dict.c,
	src/auth/passdb.c, src/auth/userdb-dict.c, src/auth/userdb.c:
	auth: Added "dict" passdb/userdb.
	[523c19238a8b]

	* src/lib/Makefile.am, src/lib/json-parser.c, src/lib/json-parser.h:
	Added a simple JSON parser for parsing an object.
	[01cdca5817f2]

2012-07-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/pop3c/pop3c-mail.c:
	pop3c: Don't get size of TOP output and cache it as message's
	virtual size.
	[8ef2b31b125f]

2012-07-04  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-auth.c:
	doveadm auth cache flush usage string updated
	[b3e1111e7f49]

2012-07-07  Timo Sirainen  <tss@iki.fi>

	* src/lib/file-set-size.c:
	file_preallocate() returned wrong value on success with OSX.
	[4b0095f19181]

	* src/pop3/pop3-commands.c:
	pop3: Fixed assert crash when doing UIDL on empty mailbox on some
	setups.
	[ea18b2ddb67b]

2012-07-04  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-auth.c, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h, src/lib-auth/auth-master.c, src/lib-auth
	/auth-master.h:
	doveadm: Added "auth cache flush" command.
	[1093c74f54af]

	* src/auth/auth-cache.c, src/auth/auth-cache.h, src/auth/auth-master-
	connection.c, src/auth/auth-request.h, src/auth/auth.c, src/auth
	/test-auth-cache.c:
	auth: Added CACHE-FLUSH command to flush some/all users from auth
	cache.
	[007bf0047ab0]

2012-07-03  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 7e5f36fd989d
	[c1a97e799b43]

	* .hgtags:
	Added tag 2.1.8 for changeset 7e5f36fd989d
	[7e0c247ef1e4]

	* NEWS, configure.in:
	Released v2.1.8.
	[7e5f36fd989d] [2.1.8]

	* src/lmtp/commands.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
	settings.h:
	lmtp: Added lmtp_address_translate setting. The idea is that if you
	need userdb lookup to be done with a special kind of a username like
	user:domain@extrainfo, you can set lmtp_address_translate=%n:%d@
	which translates the address to user@domain after the userdb lookup
	is done.
	[f1509d8eb2c1]

	* src/lib-sql/sql-db-cache.c:
	lib-sql db cache: Reaching max_unused_connections caused a crash
	later.
	[955e741ef46a]

	* src/doveadm/main.c:
	doveadm server: Keep config socket open while running.
	[668173038ada]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs, mail_shared_explicit_inbox=no: Fixed listing nonexistent
	mailboxes in root.
	[a6d59207d9d6]

	* src/plugins/imap-quota/imap-quota-plugin.c:
	imap-quota: GETQUOTAROOT command used UTF-8 instead of mUTF-7
	encoding for mailbox name.
	[90270c054e1f]

	* src/plugins/imap-acl/imap-acl-plugin.c:
	imap-acl: MYRIGHTS command used UTF-8 instead of mUTF-7 encoding for
	mailbox name.
	[880af3c78df9]

2012-07-02  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-list.c, src/imap/cmd-status.c, src/imap/imap-status.c,
	src/imap/imap-status.h:
	imap: Mailbox names in STATUS replies were sent as UTF-8 instead of
	mUTF-7.
	[a698fccd37c3]

	* src/lmtp/lmtp-proxy.c:
	lmtp: Fixed previous change to make sure it doesn't crash on error
	handling.
	[569588ff7ef0]

	* src/lmtp/commands.c:
	lmtp: Don't idle-timeout LMTP client while proxying waits for DATA
	replies.
	[8a97daa8aff6]

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: Reset timeout each time receiving a reply lin for DATA.
	This avoids timing out when there are a lot of RCPT TOs.
	[27dccff46fe9]

	* src/config/old-set-parser.c:
	config: Fixed IPv6 address handling for parsing v1.x style
	listen/ssl_listen settings.
	[e009aaf19934]

2012-06-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-attachment.c:
	lib-storage: External mail attachment parsing didn't handle CRLF
	linefeeds correctly. This simply meant that if mail_save_crlf=yes
	was used, base64-encoded attachments weren't saved base64-decoded.
	[6b08977c4b75]

	* src/lib-storage/index/dbox-common/dbox-attachment.c:
	dbox: Fixed a potential crash when building message stream from
	external attachments.
	[3efbc4a8219b]

2012-06-28  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-delete.c:
	imap: If selected mailbox is DELETEd, disconnect client.
	[81a659ab9183]

2012-06-27  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/pop3c/pop3c-settings.c, src/lib-
	storage/index/pop3c/pop3c-settings.h, src/lib-storage/index/pop3c
	/pop3c-storage.c:
	pop3c: Added pop3c_master_user setting.
	[06ba409a63d3]

	* src/doveadm/doveadm-mail-mailbox-status.c:
	doveadm mailbox status -A -t: Reset vsize counter between users.
	[d8d587bd5a29]

	* src/lib-storage/mail-storage.c:
	lib-storage: Fixed handling failures when autocreating mailboxes.
	[0e41d7c48a8b]

2012-06-25  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-save.c:
	imapc: Fixed crash on saving/copying if remote IMAP server didn't
	support UIDPLUS.
	[20703dbd1168]

	* src/lib-storage/index/pop3c/pop3c-client.c:
	pop3c: Fixed losing timeout on ioloop change.
	[edb8d177bd37]

2012-06-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-lda/duplicate.c:
	lib-lda: Duplicate database write failures weren't detected.
	[4edce2f57264]

2012-08-10  Timo Sirainen  <tss@iki.fi>

	* TODO:
	TODO updated
	[53139f2f2284]

	* src/lib-storage/index/index-attachment.c:
	lib-storage: Don't save text/* MIME parts to external attachments
	even if they're big enough.
	[b1453bc21609]

2012-08-09  Timo Sirainen  <tss@iki.fi>

	* src/lib/file-lock.c, src/lib/file-lock.h:
	Added file_lock_method_to_str()
	[1a938b81cc5f]

2012-08-08  Timo Sirainen  <tss@iki.fi>

	* src/lib/connection.c:
	connection API: Don't do error handling by default on output stream.
	For connections the error handling is almost never wanted.
	[6d626fcbde9e]

	* src/master/master-settings.c:
	master: If service's protocol isn't in enabled protocols, don't
	verify its settings.
	[06e98529eac8]

	* configure.in, dovecot-config.in.in, src/Makefile.am, src/lib-
	dovecot/Makefile.am:
	Added libtest to libdovecot.so
	[84b4459e4dfc]

	* src/lib/ioloop-epoll.c:
	ioloop-epoll: Allow running ioloop even without any I/Os (only
	timeouts).
	[587c5579c598]

	* src/lib-mail/istream-attachment-extractor.h, src/lib-mail/test-
	istream-attachment.c:
	Compiler warning fixes
	[6de60c6ea713]

2012-08-06  Timo Sirainen  <tss@iki.fi>

	* src/login-common/client-common.c:
	login: s/succesful/successful/
	[962215040871]

2012-08-03  Timo Sirainen  <tss@iki.fi>

	* Makefile.am:
	Makefile: Fixed -ldovecot-compression name
	[5e10caeb5e5d]

2012-08-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-compression/Makefile.am:
	Makefile: Added missing headers
	[95a423729f9c]

	* src/lib-ssl-iostream/Makefile.am:
	Makefile: Added missing headers to tarball
	[bb0b09793a29]

2012-08-01  Timo Sirainen  <tss@iki.fi>

	* src/lib/ostream.c:
	o_stream_ignore_last_errors() / o_stream_nfinish() now marks parent
	streams also as checked.
	[558db9e46789]

	* src/lib-dovecot/Makefile.am, src/lib-ssl-iostream/Makefile.am:
	Removed duplicate libdovecot-ssl
	[7ece66101bbd]

	* Makefile.am, configure.in, dovecot-config.in.in, dovecot.m4,
	src/Makefile.am, src/lib-compression/Makefile.am, src/lib-
	compression/compression.c, src/lib-compression/compression.h, src
	/lib-compression/istream-bzlib.c, src/lib-compression/istream-
	zlib.c, src/lib-compression/istream-zlib.h, src/lib-compression
	/ostream-bzlib.c, src/lib-compression/ostream-zlib.c, src/lib-
	compression/ostream-zlib.h, src/plugins/imap-zlib/Makefile.am,
	src/plugins/imap-zlib/imap-zlib-plugin.c,
	src/plugins/zlib/Makefile.am, src/plugins/zlib/istream-bzlib.c,
	src/plugins/zlib/istream-zlib.c, src/plugins/zlib/istream-zlib.h,
	src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib/ostream-zlib.c,
	src/plugins/zlib/ostream-zlib.h, src/plugins/zlib/zlib-plugin.c,
	src/plugins/zlib/zlib-plugin.h:
	Moved zlib/bzlib code to lib-compression library.
	[378ba560ea9f]

2012-07-31  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-search.c, src/lib-storage/index/index-
	status.c, src/lib-storage/index/index-sync-pvt.c, src/lib-
	storage/index/index-sync.c:
	lib-storage: Fixes to handling private message flag indexes.
	[c3a781ef0aeb]

	* src/imap/cmd-append.c, src/lib-imap-storage/imap-msgpart-url.c,
	src/lib/uri-util.c:
	imap: CATENATE command fixes. Patch by Stephan Bosch
	[1af9d08e67d7]

	* src/lib-master/master-service-ssl.c:
	lib-master: Assert-crashfix
	[4d518c1a366c]

2012-07-30  Timo Sirainen  <tss@iki.fi>

	* src/auth/mech-external.c:
	auth: EXTERNAL mechanism didn't use auth_username_* settings.
	[1e7c33ce9c16]

	* src/lib/Makefile.am, src/lib/connection.c, src/lib/connection.h:
	Added "connection" API for handling client/server connections more
	easily.
	[dfe6f9a790bc]

	* src/lib-dovecot/Makefile.am:
	Makefile: Fixed libdovecot-ssl to actually contain libssl-iostream
	[d090feb2d9b3]

	* dovecot.m4:
	dovecot.m4: Export also LIBDOVECOT_IMAP_INCLUDE
	[aab2cca80015]

2012-07-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-service-ssl-settings.c:
	lib-master: Check ssl_cert/ssl_key only when running in
	config/doveconf. Also if Dovecot isn't built with SSL, default to
	ssl=no
	[476be9198559]

	* dovecot.m4:
	dovecot.m4: Updates from Pigeonhole
	[73ce16df6b16]

	* Makefile.am, configure.in, dovecot-config.in.in, dovecot.m4,
	src/Makefile.am, src/lib-dovecot/Makefile.am, src/lib-
	master/Makefile.am, src/lib-master/master-service-ssl.c, src/lib-
	master/master-service-ssl.h:
	Added libdovecot-ssl for creating SSL servers more easily using lib-
	ssl-iostream.
	[0de6b238d6eb]

	* src/config/config-parser.c, src/lib-master/Makefile.am, src/lib-
	master/master-service-private.h, src/lib-master/master-service-
	settings.c, src/lib-master/master-service-settings.h, src/lib-master
	/master-service-ssl-settings.c, src/lib-master/master-service-ssl-
	settings.h, src/lib-master/master-service.c, src/login-common
	/client-common-auth.c, src/login-common/client-common.c, src/login-
	common/client-common.h, src/login-common/login-common.h, src/login-
	common/login-proxy.c, src/login-common/login-settings.c, src/login-
	common/login-settings.h, src/login-common/main.c, src/login-common
	/ssl-proxy-openssl.c, src/login-common/ssl-proxy.c, src/login-common
	/ssl-proxy.h, src/master/service-process.c:
	Moved ssl_* settings from login-common to lib-master. This allows
	creating other SSL servers more easily.
	[983c6ff12cc9]

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h:
	lib-master: Added base_dir to master_service_settings.
	[d4b95346c08a]

	* src/auth/auth-settings.c, src/lib-master/master-service-settings.c,
	src/lib-master/master-service-settings.h, src/lib-storage/mail-
	storage-service.c, src/lmtp/lmtp-settings.c, src/login-common/login-
	settings.c:
	lib-master: Added and used MASTER_SERVICE_INTERNAL_SET_PARSERS
	macro.
	[2199fd0d1682]

	* src/ssl-params/ssl-params-settings.c:
	ssl-params: Create also base_dir/ssl-params socket.
	[3671877fb692]

	* src/login-common/ssl-proxy-openssl.c:
	login: Use lib-ssl-iostream code to handle ssl_protocols setting.
	[16862a69e22c]

	* src/lib-ssl-iostream/iostream-openssl-context.c, src/lib-ssl-
	iostream/iostream-openssl.c, src/lib-ssl-iostream/iostream-
	openssl.h, src/lib-ssl-iostream/iostream-ssl.h:
	lib-ssl-iostream: Added protocols setting.
	[69626d2ce3f0]

	* src/lib-ssl-iostream/iostream-openssl.c:
	lib-ssl-iostream: Name SSL iostreams based on parent streams.
	[76d492963638]

	* src/lib-ssl-iostream/iostream-openssl.c:
	lib-ssl-iostream: Inherit output stream's error handling from
	parent.
	[c4bef64d28ac]

	* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
	/iostream-ssl-none.c, src/lib-ssl-iostream/iostream-ssl.h:
	lib-ssl-iostream: Added ssl_iostream_destroy() to do a clean SSL
	shutdown.
	[ff479f84022f]

	* src/config/config-parser.c:
	config: Added support for plugins to contain multiple service
	settings. For example:

	const struct service_settings *foo_settings_service_settings_array[]
	= { &foo1_settings_service_settings,
	&foo2_settings_service_settings, NULL };
	[eee77416e137]

	* src/imap/cmd-copy.c:
	imap: MOVE command's COPYUID reply was missing a space
	[1ee54bb2fa5a]

2012-07-25  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream.c:
	i_stream_read(): Added assert to make sure EOF isn't returned too
	early.
	[2a12a8f589c4]

	* src/lib-mail/istream-attachment-connector.h:
	Comment update.
	[aedc3650b5cf]

	* src/lib-mail/istream-attachment-extractor.c:
	istream-attachment-extractor: Fixed read() returning EOF too early.
	[d95ff676d358]

2012-07-17  Jan Friesse  <jfriesse@gmail.com>

	* src/plugins/quota/quota-fs.c:
	quota: Support for fs hard limit Support for hard limit is
	implemented for NFS, but sadly not for other filesystems. If
	softlimit is not set (it's 0), hardlimit should be used.
	--- src/plugins/quota/quota-fs.c | 31
	+++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+),
	0 deletions(-)
	[cdba6fec5ddf]

2012-07-16  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-copy.c, src/imap/imap-commands.c, src/imap/imap-
	commands.h:
	imap: Updated MOVE implementation.
	[76fe255ba921]

	* src/master/master-settings.c:
	master: Create missing /var/lib/dovecot/ with world-read-exec
	permissions. There's really nothing secret in the directory and in
	some setups this change had to be done manually anyway.
	[744a1037ce86]

	* src/lib-storage/index/index-search.c:
	lib-storage: Search crashfix.
	[4fb231804670]

2012-07-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-search.c:
	lib-storage: Minor code cleanup
	[94fd1ec48e81]

	* src/lib-storage/index/index-search.c:
	lib-storage: Fixed searching message flags on mailboxes without
	private index.
	[e9e1b97c78c7]

	* src/lib-imap-storage/imap-msgpart.c:
	imap: Fixed crashes on some FETCH commands
	[2ab4aa784474]

2012-07-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-sync-pvt.c:
	lib-storage: Private index needs to be synced also when messages
	have been expunged.
	[dfd3f9135017]

	* src/lib-storage/index/index-sync.c:
	lib-storage: Don't try to sync private index files if syncing
	already failed. This fixes a crash when opening a mailbox failed.
	[e59dfda2a02f]

	* src/lib-master/master-service-settings.c:
	lib-master: i_close_fd() change caused environment variables to be
	used as settings.
	[5d3bc8a98e46]

2012-07-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-search-private.h, src/lib-storage/index
	/index-search.c:
	lib-storage: Fixed searching message flags with private flags index.
	[04c89bb18bdd]

	* src/lib-storage/index/index-status.c:
	lib-storage: Fixed STATUS_FIRST_UNSEEN_SEQ lookup with private flags
	index.
	[c0ff628352d5]

2012-06-30  Timo Sirainen  <tss@iki.fi>

	* src/lib/ostream.h:
	o_stream_nsend() comment update
	[3d3689c2c81d]

2012-06-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-mail/istream-attachment-extractor.c, src/lib-mail/istream-
	binary-converter.c, src/lib-mail/istream-dot.c, src/lib-mail
	/istream-nonuls.c, src/lib-storage/index/istream-mail.c, src/lib
	/istream-base64-encoder.c, src/lib/istream-crlf.c, src/lib/istream-
	limit.c, src/lib/istream-private.h, src/lib/istream-rawlog.c,
	src/lib/istream-sized.c, src/lib/istream.c:
	istreams: Added default stat() implementation for filter streams.
	[89e0aad6ba88]

	* src/lib-storage/index/istream-mail.c, src/lib/istream-
	base64-encoder.c, src/lib/istream-limit.c, src/lib/istream-
	private.h, src/lib/istream-seekable.c, src/lib/istream-sized.c,
	src/lib/istream.c:
	istreams: Added default seek() implementation for seekable streams.
	[11e774a9d22c]

	* src/lib-storage/index/dbox-common/dbox-attachment.c, src/lib-
	storage/index/index-attachment.c:
	lib-storage: Use the new istream-attachment-* APIs to handle
	external mail attachments.
	[38b0986605a6]

	* src/lib-mail/Makefile.am, src/lib-mail/istream-attachment-
	connector.c, src/lib-mail/istream-attachment-connector.h, src/lib-
	mail/istream-attachment-extractor.c, src/lib-mail/istream-
	attachment-extractor.h, src/lib-mail/test-istream-attachment.c:
	lib-mail: Added istream-attachment-[connector|extractor]. istream-
	attachment-extractor can be used to parse messages and extract
	attachment MIME parts from them to wanted output streams. The
	attachments are base64-decoded if they can be later re-encoded to
	original input without any changes.

	istream-attachment-connector does the reverse by taking the base
	istream and attachment istreams and merging them together to create
	the original istream.
	[ffab35ef2e5b]

	* src/lib/istream-data.c, src/lib/istream-file.c, src/lib/ostream-
	buffer.c:
	istreams: Set (file), (fd) or (buffer) as default name for those
	input streams.
	[69334bf138cf]

2012-06-28  Timo Sirainen  <tss@iki.fi>

	* src/lib/ostream.c:
	Fixed ostream's new error handling not to always assert-crash.
	[b1a0e44e1dac]

	* src/lib/hash-format.c, src/lib/hash-format.h:
	hash-format object can now be reset to build multiple hashes.
	[d419c6cde162]

	* src/lib-mail/istream-binary-converter.c, src/lib/istream-private.h,
	src/lib/istream.c:
	Added i_stream_alloc()
	[8909e8428b82]

	* src/lib-mail/istream-binary-converter.c, src/lib-mail/istream-dot.c,
	src/lib-mail/istream-nonuls.c, src/lib-ssl-iostream/istream-
	openssl.c, src/lib/istream-base64-encoder.c, src/lib/istream-
	chain.c, src/lib/istream-concat.c, src/lib/istream-crlf.c, src/lib
	/istream-file.c, src/lib/istream-private.h, src/lib/istream.c:
	istreams: Renamed i_stream_get_buffer_space() to
	i_stream_try_alloc()
	[d7d1f24dde34]

	* src/lib-storage/index/Makefile.am, src/lib-storage/index/dbox-common
	/dbox-attachment.c, src/lib-storage/index/istream-attachment.c, src
	/lib-storage/index/istream-attachment.h, src/lib/Makefile.am,
	src/lib/istream-sized.c, src/lib/istream-sized.h:
	Renamed istream-attachment to istream-sized. The code didn't really
	assume anything about the input being an attachment, so this allows
	reusing the stream for other purposes.
	[9774ae8fff97]

	* src/auth/db-checkpassword.c, src/auth/db-passwd-file.c, src/auth
	/mech-winbind.c, src/config/config-parser.c, src/config/sysinfo-
	get.c, src/director/director-test.c, src/doveadm/doveadm-dump-log.c,
	src/doveadm/doveadm-dump-mailboxlog.c, src/doveadm/doveadm-
	instance.c, src/doveadm/doveadm-master.c, src/doveadm/doveadm-sis.c,
	src/doveadm/doveadm-stats.c, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/dsync/dsync-slave-io.c, src/imap/main.c, src/lda/main.c,
	src/lib-dict/dict-file.c, src/lib-dns/dns-lookup.c, src/lib-imap-
	client/imapc-client.c, src/lib-index/mail-cache-compress.c, src/lib-
	lda/smtp-client.c, src/lib-master/master-login.c, src/lib-master
	/master-service-settings.c, src/lib-master/mountpoint-list.c, src
	/lib-settings/settings-parser.c, src/lib-storage/index/index-
	attachment.c, src/lib-storage/index/maildir/maildir-storage.c, src
	/lib-storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox/mbox-
	lock.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/pop3c/pop3c-client.c, src/lib-storage/list/mailbox-
	list-maildir.c, src/lib-storage/mailbox-uidvalidity.c,
	src/lib/askpass.c, src/lib/failures.c, src/lib/fdatasync-path.c,
	src/lib/file-copy.c, src/lib/file-dotlock.c, src/lib/ioloop-notify-
	dn.c, src/lib/ioloop-notify-kqueue.c, src/lib/iostream-rawlog.c,
	src/lib/istream-seekable.c, src/lib/lib.c, src/lib/lib.h,
	src/lib/macros.h, src/lib/network.c, src/lib/nfs-workarounds.c,
	src/lib/randgen.c, src/lib/safe-mkstemp.c, src/lib/test-ostream-
	file.c, src/lib/unlink-directory.c, src/lmtp/commands.c, src/login-
	common/access-lookup.c, src/login-common/ssl-proxy-gnutls.c,
	src/master/main.c, src/master/service-listen.c, src/master/service-
	monitor.c, src/master/service.c, src/plugins/acl/acl-backend-vfile-
	acllist.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/fts-
	lucene/fts-backend-lucene.c, src/plugins/fts-squat/squat-trie.c,
	src/plugins/fts/doveadm-dump-fts-expunge-log.c, src/plugins/fts/fts-
	expunge-log.c, src/plugins/fts/fts-indexer.c, src/plugins/fts/fts-
	parser-script.c, src/plugins/quota/quota-maildir.c,
	src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
	config.c, src/plugins/zlib/doveadm-zlib.c, src/plugins/zlib/zlib-
	plugin.c, src/pop3/main.c, src/ssl-params/ssl-params.c,
	src/util/gdbhelper.c, src/util/rawlog.c:
	Changed i_close_fd() API to set the fd to -1 after closing.
	[3945a3646c67]

2012-06-27  Timo Sirainen  <tss@iki.fi>

	* src/auth/mech-gssapi.c:
	gssapi: Allow logging in as users listed in "k5principals" extra
	field. This also enables other passdb extra fields for gssapi
	mechanism.

	Based on patch by Sam Morris.
	[183adc90781c]

	* src/lib-imap/imap-bodystructure.c, src/lib-mail/message-date.c, src
	/lib-mail/message-decoder.c, src/lib-mail/message-id.c, src/lib-mail
	/message-parser.c, src/lib-mail/message-search.c, src/lib-
	mail/rfc822-parser.h, src/lib-storage/index/index-attachment.c,
	src/lib/hash.c, src/lib/md4.c, src/lib/md5.c, src/lib/ostream.c,
	src/plugins/fts/fts-build-mail.c, src/plugins/fts/fts-parser-
	script.c:
	Try to avoid (void) casts by adding more ATTR_NOWARN_UNUSED_RESULT.
	[096e4c4d62bb]

2012-06-25  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-worker-server.h, src/auth/passdb-blocking.c, src/auth
	/userdb-blocking.c, src/doveadm/doveadm-mail-expunge.c, src/doveadm
	/doveadm-mail.c, src/doveadm/dsync/dsync-brain-mailbox-tree.c,
	src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	brain-mails.c, src/doveadm/dsync/dsync-slave-pipe.c,
	src/doveadm/dsync/dsync-slave.c, src/doveadm/dsync/dsync-slave.h,
	src/doveadm/dsync/dsync-transaction-log-scan.c, src/imap-
	login/client.c, src/imap/cmd-append.c, src/imap/imap-client.c,
	src/imap/imap-common.h, src/imap/imap-search.c, src/imap/imap-
	sync.c, src/imap/imap-sync.h, src/lib-dict/dict-client.c, src/lib-
	dict/dict-file.c, src/lib-imap-client/imapc-connection.c, src/lib-
	imap/imap-bodystructure.c, src/lib-index/mail-index-strmap.c, src
	/lib-index/mail-index-transaction.c, src/lib-index/mail-index.h, src
	/lib-index/mail-transaction-log-file.c, src/lib-mail/istream-binary-
	converter.c, src/lib-mail/message-decoder.c, src/lib-mail/message-
	parser.c, src/lib-mail/rfc2231-parser.h, src/lib-storage/index/dbox-
	multi/mdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-mail.c,
	src/lib-storage/index/dbox-single/sdbox-sync.c, src/lib-
	storage/index/index-storage.c, src/lib-storage/index/index-thread.c,
	src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
	/maildir-sync.c, src/lib-storage/index/maildir/maildir-uidlist.c,
	src/lib-storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox
	/mbox-lock.h, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox-
	storage.c, src/lib-storage/index/mbox/mbox-sync.c, src/lib-
	storage/index/pop3c/pop3c-client.c, src/lib-storage/list
	/subscription-file.c, src/lib-storage/mail-storage.c, src/lib-
	storage/mail-storage.h, src/lib-storage/mailbox-list.h, src/lib-test
	/test-common.c, src/lib/bsearch-insert-pos.h, src/lib/file-
	dotlock.c, src/lib/file-dotlock.h, src/lib/iostream-rawlog.h,
	src/lib/istream-base64-encoder.c, src/lib/istream-data.c, src/lib
	/istream-private.h, src/lib/istream.c, src/lib/network.h, src/login-
	common/client-common-auth.c, src/login-common/client-common.h, src
	/login-common/login-proxy.c, src/login-common/ssl-proxy-gnutls.c,
	src/login-common/ssl-proxy-openssl.c, src/plugins/fts-lucene/fts-
	backend-lucene.c, src/plugins/fts-solr/fts-backend-solr-old.c,
	src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts/fts-api-
	private.h, src/plugins/fts/fts-api.c, src/plugins/fts/fts-parser-
	script.c, src/plugins/fts/fts-storage.c, src/plugins/imap-acl/imap-
	acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c,
	src/plugins/imap-zlib/imap-zlib-plugin.c, src/pop3/pop3-client.c:
	Avoid using (void)s by adding ATTR_NOWARN_UNUSED_RESULT attributes
	and other ways.
	[128c598d2870]

	* src/auth/db-checkpassword.c, src/auth/db-passwd-file.c, src/auth
	/mech-winbind.c, src/config/config-parser.c, src/config/sysinfo-
	get.c, src/director/director-test.c, src/doveadm/doveadm-dump-log.c,
	src/doveadm/doveadm-dump-mailboxlog.c, src/doveadm/doveadm-
	instance.c, src/doveadm/doveadm-master.c, src/doveadm/doveadm-sis.c,
	src/doveadm/doveadm-stats.c, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/dsync/dsync-slave-io.c, src/imap/main.c, src/lda/main.c,
	src/lib-dict/dict-file.c, src/lib-dns/dns-lookup.c, src/lib-imap-
	client/imapc-client.c, src/lib-index/mail-cache-compress.c, src/lib-
	index/mail-transaction-log.c, src/lib-lda/smtp-client.c, src/lib-
	master/master-login.c, src/lib-master/master-service-settings.c, src
	/lib-master/mountpoint-list.c, src/lib-settings/settings-parser.c,
	src/lib-storage/index/index-attachment.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-storage/index/mbox
	/mbox-file.c, src/lib-storage/index/mbox/mbox-lock.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/pop3c
	/pop3c-client.c, src/lib-storage/list/mailbox-list-maildir.c, src
	/lib-storage/mailbox-uidvalidity.c, src/lib/Makefile.am,
	src/lib/askpass.c, src/lib/close-keep-errno.c, src/lib/close-keep-
	errno.h, src/lib/failures.c, src/lib/fdatasync-path.c, src/lib/file-
	copy.c, src/lib/file-dotlock.c, src/lib/ioloop-notify-dn.c, src/lib
	/ioloop-notify-kqueue.c, src/lib/iostream-rawlog.c, src/lib/istream-
	seekable.c, src/lib/macros.h, src/lib/network.c, src/lib/nfs-
	workarounds.c, src/lib/randgen.c, src/lib/safe-mkstemp.c, src/lib
	/test-ostream-file.c, src/lib/unlink-directory.c,
	src/lmtp/commands.c, src/login-common/access-lookup.c, src/login-
	common/ssl-proxy-gnutls.c, src/master/main.c, src/master/service-
	listen.c, src/master/service-monitor.c, src/master/service.c,
	src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-
	backend-vfile.c, src/plugins/fts-lucene/fts-backend-lucene.c,
	src/plugins/fts-squat/squat-trie.c, src/plugins/fts/doveadm-dump-
	fts-expunge-log.c, src/plugins/fts/fts-expunge-log.c,
	src/plugins/fts/fts-indexer.c, src/plugins/fts/fts-parser-script.c,
	src/plugins/quota/quota-maildir.c, src/plugins/trash/trash-plugin.c,
	src/plugins/virtual/virtual-config.c, src/plugins/zlib/doveadm-
	zlib.c, src/plugins/zlib/zlib-plugin.c, src/pop3/main.c, src/ssl-
	params/ssl-params.c, src/util/gdbhelper.c, src/util/rawlog.c:
	Replaced (void)close(fd) and close_keep_errno() with i_close_fd().
	i_close_fd() preserves the errno and logs an error if the close()
	fails.
	[7c058aa05b0a]

	* src/auth/auth-settings.c, src/auth/db-ldap.c, src/config/config-
	filter.c, src/config/config-parser.c, src/doveadm/doveadm-mail-
	fetch.c, src/doveadm/doveadm-mailbox-list-iter.c, src/doveadm/dsync
	/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-mailbox.c,
	src/doveadm/dsync/dsync-mailbox-import.c, src/imap/cmd-list.c,
	src/imap/imap-commands-util.c, src/imap/imap-fetch.c, src/lib-auth
	/auth-master.c, src/lib-imap-storage/imap-msgpart.c, src/lib-imap
	/imap-match.c, src/lib-index/mail-cache-compress.c, src/lib-index
	/mail-index-strmap.c, src/lib-index/mail-index.c, src/lib-
	mail/rfc2231-parser.c, src/lib-master/master-service-settings.c, src
	/lib-sql/driver-sqlpool.c, src/lib-storage/fail-mail.c, src/lib-
	storage/index/dbox-common/dbox-attachment.c, src/lib-
	storage/index/imapc/imapc-mailbox.c, src/lib-storage/index/index-
	mail-headers.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-search.c, src/lib-storage/index/pop3c/pop3c-
	sync.c, src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage
	/mailbox-keywords.c, src/lib/array.h, src/lib/ioloop-epoll.c,
	src/lib/ioloop-kqueue.c, src/lib/uri-util.c, src/lib/var-expand.c,
	src/master/main.c, src/plugins/acl/doveadm-acl.c, src/plugins/expire
	/doveadm-expire.c, src/plugins/expire/expire-plugin.c, src/plugins
	/fts-lucene/fts-backend-lucene.c, src/plugins/fts-solr/fts-backend-
	solr-old.c, src/plugins/fts-solr/fts-backend-solr.c, src/plugins
	/fts-solr/solr-connection.c, src/plugins/fts/fts-search.c,
	src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/virtual/virtual-
	save.c, src/util/script.c:
	Added array_append_zero() to write a zero-filled record to an array.
	Replaced (void)array_append_space() calls with it.
	[9ff19c1d5f69]

	* src/lib-index/mail-index-transaction-update.c, src/lib-storage/index
	/dbox-multi/mdbox-sync.c, src/lib-storage/index/index-sync.c, src
	/lib-storage/mailbox-search-result.c, src/lib/seq-range-array.c,
	src/lib/seq-range-array.h, src/lib/test-seq-range-array.c,
	src/plugins/fts/fts-expunge-log.c, src/plugins/virtual/virtual-
	sync.c:
	seq-range-array: Reverted most of recent API changes. Added
	ATTR_NOWARN_UNUSED_RESULT for the functions whose return value can
	safely be ignored.
	[67b9119fbd09]

	* src/lib/macros.h:
	Added ATTR_NOWARN_UNUSED_RESULT, which expands to
	nowarn_unused_result attribute if supported. Requires a patched
	clang.
	[b39e93576e6a]

	* src/director/director-connection.c, src/doveadm/dsync/dsync-slave-
	io.c, src/imap/cmd-append.c, src/imap/imap-client.c, src/lib-dict
	/dict-client.c, src/lib-mail/istream-dot.c, src/lib-mail/istream-
	header-filter.c, src/lib-mail/istream-nonuls.c, src/lib-mail
	/message-parser.c, src/lib-storage/index/istream-mail.c, src/lib-
	storage/index/mbox/istream-raw-mbox.c, src/lib-storage/index/pop3c
	/pop3c-client.c, src/lib/istream-base64-encoder.c, src/lib/istream-
	crlf.c, src/lib/istream-seekable.c, src/lib/istream-tee.c,
	src/lib/istream.c, src/lib/istream.h, src/lib/test-istream-
	base64-encoder.c, src/lib/test-istream-concat.c, src/lib/test-
	istream-seekable.c, src/plugins/fts/fts-expunge-log.c,
	src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c:
	Added i_stream_get_data_size(). Used it where possible.
	[9646f80ac3e9]

	* src/anvil/main.c, src/auth/auth-request.c, src/auth/mech-digest-
	md5.c, src/auth/mech-scram-sha1.c, src/auth/passdb-blocking.c,
	src/auth/password-scheme-otp.c, src/auth/userdb-blocking.c, src/auth
	/userdb-sql.c, src/config/doveconf.c, src/config/main.c, src/config
	/old-set-parser.c, src/dict/dict-commands.c, src/dict/main.c,
	src/director/director-connection.c, src/director/director-host.c,
	src/director/director.c, src/director/doveadm-connection.c,
	src/director/mail-host.c, src/director/main.c, src/director/test-
	user-directory.c, src/doveadm/doveadm-dump-dbox.c, src/doveadm
	/doveadm-mail-server.c, src/doveadm/doveadm-mailbox-list-iter.c,
	src/doveadm/doveadm-mount.c, src/doveadm/doveadm-penalty.c,
	src/doveadm/doveadm-stats.c, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
	/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain-mails.c,
	src/doveadm/dsync/dsync-mailbox-import.c, src/doveadm/dsync/dsync-
	mailbox-tree.c, src/doveadm/dsync/dsync-slave.c, src/doveadm/dsync
	/dsync-slave.h, src/doveadm/server-connection.c, src/doveadm/server-
	connection.h, src/imap-login/client.c, src/imap/cmd-fetch.c,
	src/imap/cmd-idle.c, src/imap/cmd-list.c, src/imap/imap-client.c,
	src/imap/imap-client.h, src/imap/imap-fetch-body.c, src/imap/imap-
	sync.c, src/imap/main.c, src/indexer/master-connection.c, src/lib-
	auth/auth-client.c, src/lib-imap/imap-parser.c, src/lib-imap/imap-
	quote.c, src/lib-index/mail-cache-compress.c, src/lib-index/mail-
	cache-transaction.c, src/lib-index/mail-cache.c, src/lib-index/mail-
	index-fsck.c, src/lib-index/mail-index-map-hdr.c, src/lib-index
	/mail-index-modseq.c, src/lib-index/mail-index-private.h, src/lib-
	index/mail-index-strmap.c, src/lib-index/mail-index-sync-update.c,
	src/lib-index/mail-index-transaction-private.h, src/lib-index/mail-
	index-transaction-sort-appends.c, src/lib-index/mail-index-
	transaction-update.c, src/lib-index/mail-index-view-sync.c, src/lib-
	index/mail-index-write.c, src/lib-index/mail-index.c, src/lib-index
	/mail-transaction-log-file.c, src/lib-index/test-mail-index-
	transaction-update.c, src/lib-index/test-mail-transaction-log-
	append.c, src/lib-mail/message-header-decode.c, src/lib-mail
	/message-part-serialize.c, src/lib-mail/rfc822-parser.c, src/lib-
	mail/test-istream-dot.c, src/lib-ntlm/ntlm-des.c, src/lib-ntlm/ntlm-
	des.h, src/lib-ntlm/ntlm-encrypt.c, src/lib-ntlm/ntlm-encrypt.h, src
	/lib-otp/otp-hash.c, src/lib-otp/otp-hash.h, src/lib-storage/index
	/dbox-common/dbox-file-fix.c, src/lib-storage/index/dbox-common
	/dbox-file.c, src/lib-storage/index/dbox-common/dbox-sync-rebuild.c,
	src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-
	storage/index/dbox-single/sdbox-copy.c, src/lib-storage/index/imapc
	/imapc-mail.c, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
	storage/index/index-mail.c, src/lib-storage/index/index-search.c,
	src/lib-storage/index/index-sort-string.c, src/lib-storage/index
	/index-sort.c, src/lib-storage/index/index-status.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/index-sync-
	changes.c, src/lib-storage/index/index-sync.c, src/lib-storage/index
	/index-thread.c, src/lib-storage/index/maildir/maildir-uidlist.c,
	src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib-
	storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox/mbox-
	save.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-storage.h, src/lib-storage/index/mbox/mbox-
	sync.c, src/lib-storage/index/pop3c/pop3c-client.c, src/lib-
	storage/index/raw/raw-mail.c, src/lib-storage/mail-search-build.c,
	src/lib-storage/mail-storage-private.h, src/lib-storage/mail.c, src
	/lib-storage/mailbox-get.c, src/lib-storage/mailbox-uidvalidity.c,
	src/lib/data-stack.c, src/lib/hash.c, src/lib/hostpid.c, src/lib
	/iostream-rawlog.c, src/lib/md4.c, src/lib/md5.c,
	src/lib/mountpoint.c, src/lib/nfs-workarounds.c, src/lib/nfs-
	workarounds.h, src/lib/seq-range-array.c, src/lib/seq-range-array.h,
	src/lib/test-base64.c, src/lib/test-network.c, src/lib/test-ostream-
	file.c, src/lib/test-seq-range-array.c, src/log/log-connection.c,
	src/log/log-connection.h, src/login-common/client-common-auth.c, src
	/login-common/login-proxy-state.c, src/login-common/login-proxy.c,
	src/login-common/ssl-proxy-openssl.c, src/master/main.c, src/master
	/service-anvil.c, src/master/service-process.c, src/master/service-
	process.h, src/plugins/autocreate/autocreate-plugin.c,
	src/plugins/expire/doveadm-expire.c, src/plugins/expire/expire-
	plugin.c, src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins
	/fts-squat/squat-trie.c, src/plugins/fts-squat/squat-uidlist.c,
	src/plugins/fts/fts-storage.c, src/plugins/imap-acl/imap-acl-
	plugin.c, src/plugins/imap-quota/imap-quota-plugin.c, src/plugins
	/imap-zlib/imap-zlib-plugin.c, src/plugins/quota/quota-maildir.c,
	src/plugins/quota/quota.c, src/plugins/stats/stats-connection.c,
	src/plugins/virtual/virtual-mail.c, src/plugins/virtual/virtual-
	sync.c, src/plugins/zlib/doveadm-zlib.c, src/plugins/zlib/ostream-
	zlib.c, src/pop3/main.c, src/pop3/pop3-client.c,
	src/pop3/pop3-client.h, src/pop3/pop3-commands.c,
	src/replication/aggregator/notify-connection.c,
	src/replication/replicator/notify-connection.c, src/stats/main.c,
	src/util/rawlog.c:
	Make sure we check all the functions' return values. Minor API
	changes to simplify this. Checked using a patched clang that adds
	attribute(warn_unused_result) to all functions. This commit fixes
	several error handling mistakes.
	[d0d7b810646b]

	* src/anvil/anvil-connection.c, src/anvil/connect-limit.c,
	src/anvil/penalty.c, src/auth/auth-client-connection.c, src/auth
	/auth-client-connection.h, src/auth/auth-master-connection.c,
	src/auth/auth-postfix-connection.c, src/auth/auth-worker-client.c,
	src/auth/auth-worker-server.c, src/auth/main.c, src/auth/mech-
	winbind.c, src/config/config-connection.c, src/config/doveconf.c,
	src/dict/dict-commands.c, src/dict/dict-connection.c, src/director
	/auth-connection.c, src/director/director-connection.c, src/director
	/director-test.c, src/director/doveadm-connection.c, src/director
	/login-connection.c, src/dns/dns-client.c, src/doveadm/client-
	connection.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-
	print-server.c, src/doveadm/dsync/dsync-slave-io.c, src/doveadm
	/server-connection.c, src/imap-login/imap-proxy.c, src/imap/cmd-
	append.c, src/imap/cmd-copy.c, src/imap/cmd-thread.c, src/imap/imap-
	client.c, src/imap/imap-fetch-body.c, src/imap/imap-fetch.c,
	src/imap/imap-search.c, src/imap/imap-sync.c, src/imap/mail-storage-
	callbacks.c, src/indexer/indexer-client.c, src/indexer/worker-
	connection.c, src/ipc/client.c, src/ipc/ipc-connection.c, src/lib-
	auth/auth-master.c, src/lib-dict/dict-file.c, src/lib-fs/fs-posix.c,
	src/lib-fs/ostream-cmp.c, src/lib-imap-client/imapc-connection.c,
	src/lib-imap/imap-parser.c, src/lib-index/mail-cache-compress.c, src
	/lib-index/mail-index-strmap.c, src/lib-index/mail-index-write.c,
	src/lib-lda/duplicate.c, src/lib-lda/lmtp-client.c, src/lib-lda
	/mail-send.c, src/lib-lda/smtp-client.c, src/lib-master/anvil-
	client.c, src/lib-master/ipc-client.c, src/lib-master/ipc-server.c,
	src/lib-master/master-instance.c, src/lib-master/master-login-
	auth.c, src/lib-master/master-login.c, src/lib-storage/index/cydir
	/cydir-save.c, src/lib-storage/index/dbox-common/dbox-file-fix.c,
	src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	purge.c, src/lib-storage/index/dbox-single/sdbox-file.c, src/lib-
	storage/index/imapc/imapc-save.c, src/lib-storage/index/index-
	attachment.c, src/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-storage/index/mbox
	/mbox-save.c, src/lib-storage/index/pop3c/pop3c-client.c, src/lib-
	storage/list/subscription-file.c, src/lib/ostream-file.c, src/lib
	/ostream-private.h, src/lib/ostream-rawlog.c, src/lib/ostream.c,
	src/lib/ostream.h, src/lib/test-ostream-file.c, src/lmtp/client.c,
	src/lmtp/lmtp-proxy.c, src/login-common/client-common-auth.c, src
	/login-common/client-common.c, src/login-common/login-proxy.c,
	src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-
	backend-vfile.c, src/plugins/fts-squat/squat-trie.c, src/plugins
	/fts-squat/squat-uidlist.c, src/plugins/imap-quota/imap-quota-
	plugin.c, src/plugins/zlib/doveadm-zlib.c, src/plugins/zlib/ostream-
	bzlib.c, src/plugins/zlib/ostream-zlib.c,
	src/pop3-login/pop3-proxy.c, src/pop3/pop3-client.c,
	src/pop3/pop3-commands.c, src/replication/aggregator/notify-
	connection.c, src/replication/aggregator/replicator-connection.c,
	src/replication/replicator/doveadm-connection.c,
	src/replication/replicator/notify-connection.c,
	src/replication/replicator/replicator-queue.c, src/ssl-
	params/main.c, src/stats/client-export.c, src/stats/client.c,
	src/stats/mail-server-connection.c, src/util/rawlog.c:
	Added o_stream_nsend*() and related functions to make delayed error
	handling safer. Once o_stream_nsend*() is called, o_stream_nfinish()
	must be called before stream is destroyed to finish checking if
	there were any errors. If something failed and the stream is just
	wanted to be closed, o_stream_ignore_last_errors() can be called.

	For streams where errors don't really make any difference (network
	sockets) you can call o_stream_set_no_error_handling() immediately
	after creating the stream.
	[ca37d1577291]

2012-06-24  Timo Sirainen  <tss@iki.fi>

	* src/master/master-settings.c, src/master/master-settings.h:
	master: Problems with creating base_dir/statedir should be fatals.
	[3ffdb4bf36d3]

	* src/lib-lda/duplicate.c:
	lib-lda: Duplicate database write failures weren't detected.
	[f783fdbc3861]

	* src/lib-index/mail-index-transaction-finish.c:
	seq_range_array_add() API change triggered a crash in buggy code.
	[42d1459958ec]

	* src/lib-index/mail-index-transaction-update.c, src/lib-storage/index
	/index-sync.c, src/lib-storage/mailbox-search-result.c, src/lib/seq-
	range-array.c, src/lib/seq-range-array.h, src/lib/test-seq-range-
	array.c:
	seq_range_array_remove() now returns void. Added
	seq_ranger_array_try_remove().
	[737a49f472d1]

	* src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync/dsync-
	mailbox-import.c, src/imap/cmd-store.c, src/imap/imap-search.c, src
	/lib-index/mail-index-sync-update.c, src/lib-index/mail-index-
	transaction-finish.c, src/lib-index/mail-index-transaction-sort-
	appends.c, src/lib-index/mail-index-transaction-update.c, src/lib-
	index/mail-index-view-sync.c, src/lib-storage/index/dbox-multi
	/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-purge.c, src
	/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index/imapc
	/imapc-save.c, src/lib-storage/index/index-search.c, src/lib-
	storage/index/index-sync-search.c, src/lib-storage/index/index-
	sync.c, src/lib-storage/mail-search.c, src/lib-storage/mailbox-
	get.c, src/lib-storage/mailbox-search-result.c, src/lib/seq-range-
	array.c, src/lib/seq-range-array.h, src/lib/test-seq-range-array.c,
	src/plugins/fts-lucene/lucene-wrapper.cc, src/plugins/fts-solr/solr-
	connection.c, src/plugins/fts-squat/squat-trie.c, src/plugins/fts-
	squat/squat-uidlist.c, src/plugins/fts/fts-api.c, src/plugins/fts
	/fts-expunge-log.c, src/plugins/fts/fts-search.c,
	src/plugins/virtual/virtual-search.c, src/plugins/virtual/virtual-
	storage.c, src/plugins/virtual/virtual-sync.c:
	seq_range_array_add() API changed. Added other functions to provide
	the less common use cases.
	[69ba6977bed8]

	* src/doveadm/dsync/dsync-mailbox-import.c, src/lib-index/mail-
	transaction-log-view.c:
	Make static analyzer happier.
	[f07ba5e7d97d]

	* configure.in, src/auth/auth-request.c, src/auth/db-ldap.c,
	src/director/director-connection.c, src/doveadm/doveadm-log.c, src
	/lib-index/mail-transaction-log-file.c, src/lib-mail/message-
	parser.c, src/lib-master/master-instance.c, src/lib-master/master-
	service.c, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-
	storage/index/imapc/imapc-mailbox.c, src/lib-storage/index/imapc
	/imapc-storage.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
	list-index-status.c, src/plugins/quota/quota-maildir.c,
	src/plugins/quota/quota.c:
	Merged changes from v2.1 tree.
	[efd276ab2577]

	* src/auth/auth-request.c, src/auth/db-ldap.c, src/auth/password-
	scheme.c, src/lib-index/mail-transaction-log-file.c, src/lib-index
	/mail-transaction-log.c, src/lib-storage/index/mbox/mbox-mail.c, src
	/lib-storage/index/mbox/mbox-save.c, src/plugins/fts-squat/squat-
	uidlist.c:
	Make static analyzer happier.
	[c257b9c19915]

	* src/lib-dict/dict-file.c:
	dict file: Don't ignore write failures.
	[cc6d2b34965d]

	* src/director/director-connection.c:
	director: Fix to handling duplicate USER-WEAK event.
	[7be9411da17b]

	* src/lib-storage/list/mailbox-list-index-status.c:
	mailbox_list_index=yes: Fixed a potential crash.
	[bb1de2a1d866]

	* src/director/mail-host.c, src/lib/primes.c, src/lib/utc-mktime.c:
	Fixed signed integer shift overflows. These didn't actually cause
	any broken behavior. One of these was caught by
	http://embed.cs.utah.edu/ioc/ and the rest I grepped.
	[6411d91d0755]

2012-06-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
	/istream-openssl.c, src/lib-ssl-iostream/ostream-openssl.c:
	lib-ssl-iostream: Memory leak fixes
	[11c07ab07d39]

2012-06-21  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-delete.c:
	imap: If DELETE can't succeed because mailbox has children, don't
	give [ALREADYEXISTS] code.
	[e62979a15657]

	* src/plugins/quota/quota.c:
	quota: Don't crash at init if one of the namespaces no root dir.
	[046f03b33584]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Don't crash when using multiple imapc namespaces.
	[b13753851a07]

2012-06-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-mail/message-parser.c:
	message parser: Fixed infinite loop when parsing a specific message.
	[4461b48fcc1f]

2012-06-18  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-squat/fts-backend-squat.c:
	fts-squat: Fixed handling multiple SEARCH parameters.
	[4ce1f9649592]

	* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
	/istream-openssl.c:
	lib-ssl-iostream: Don't assert-crash if underlying connection
	suddenly disconnects.
	[39d9e75fec02]

	* src/doveadm/doveadm-print.c:
	doveadm: Fixed crash with proxying some commands.
	[9fc78d06252c]

2012-06-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: Removed brokenly used explicit data stack frame. Fixes
	crashes when a message has more than 8 keywords.
	[a28c8043842d]

	* src/doveadm/doveadm-log.c:
	doveadm log errors: Usage text update
	[db32881669e6]

2012-06-15  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-log.c:
	doveadm log errors: Added -s <min_timestamp> parameter
	[8de41fa0fbf1]

	* doc/example-config/conf.d/20-imap.conf:
	example-config: imap_logout_format default was wrong.
	[a4cd22976ddb]

	* src/plugins/quota/quota-maildir.c:
	maildir++ quota: If reading maildirsize fails with ESTALE, retry it.
	[cad676b57cc8]

2012-06-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-instance.c:
	lib-master: Fixed assert crash in some situations after updating
	instance name.
	[c58a27eecdd4]

	* src/master/service-monitor.c:
	master: If service_count=1 and process_limit=1 and >1 clients
	connect, log about service_count being why.
	[4c31e450a867]

2012-06-11  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/shared/shared-list.c:
	shared mailboxes: Avoid doing "@domain" userdb lookups.
	[28ddc2058877]

	* src/director/director.c:
	director: Fixed working as standalone.
	[46d01b728647]

	* src/lib-master/master-service.c:
	lib-master: -i parameter shouldn't imply -k parameter. This was
	added accidentally when writing the code.
	[98f2c12eccdb]

	* src/lib-charset/charset-iconv.c:
	lib-charset: Make sure convert_to_utf8*() never returns non-UTF8
	output.
	[0fde692cb565]

2012-06-04  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm.c:
	doveadm config: If -c parameter was given, it wasn't passed to
	doveconf.
	[a0ff87fe1f4a]

	* src/doveadm/doveadm-instance.c:
	doveadm instance list: Added -c parameter to easily get the
	instance's config path.
	[ee5d838ebcbb]

	* src/lib-master/master-instance.c, src/lib-master/master-instance.h:
	lib-master: Keep track of config paths in "instances" file. Normally
	it can be looked up from base_dir/dovecot.conf symlink, but base_dir
	may get deleted when system starts up.
	[d85421a77fa1]

	* src/doveadm/doveadm-instance.c:
	doveadm instance list: Added optional name parameter to list only
	specified instance.
	[fa75bd3245a4]

	* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
	/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox-
	save.c:
	mdbox: Flush/fsync newly saved mail data before locking map. This
	reduced the amount of time the map needs to be locked.
	[61be33b6336c]

	* src/lib-storage/index/dbox-multi/mdbox-map-private.h, src/lib-
	storage/index/dbox-multi/mdbox-map.c:
	mdbox: Make sure map transaction won't succeed after
	mdbox_map_atomic_set_failed()
	[99d31c803b7b]

2012-05-29  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset c92fb8b928f6
	[36d2aff85a69]

	* .hgtags:
	Added tag 2.1.7 for changeset c92fb8b928f6
	[d3c0c472b1ff]

	* NEWS, configure.in:
	Released v2.1.7.
	[c92fb8b928f6] [2.1.7]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Fixed assert-crash with index rebuild when using ns prefix
	and mail wasn't originally in INBOX.
	[969950d53af1]

	* src/lib/restrict-access.c:
	Fixed assert-crash on some situations when user had no supplementary
	groups.
	[fe688ecd7564]

2012-05-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-search-register-imap.c:
	lib-storage: Verify that with SEARCH HEADER the header name is valid
	UTF-8.
	[03ea2388bb27]

2012-06-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-fs/fs-posix.c, src/lib-index/mail-cache-compress.c, src/lib-
	index/mail-cache.c, src/lib-index/mail-transaction-log-file.c, src
	/lib-master/master-instance.c, src/lib-storage/index/dbox-common
	/dbox-file.c, src/lib-storage/index/maildir/maildir-uidlist.c, src
	/lib-storage/index/mbox/mbox-lock.c, src/lib-storage/list
	/subscription-file.c, src/lib/file-dotlock.c, src/lib/file-
	dotlock.h:
	Added file_dotlock_delete_verified() and changed
	file_dotlock_delete() to return void.
	[a77ad2346cf0]

	* src/lib-mail/message-header-parser.c, src/lib-mail/test-message-
	header-parser.c:
	lib-mail: Fixed an edge case with message header parser and very
	long lines. If the header was exactly a specific number of bytes,
	the parser thought the header ended there.
	[0cb5fdb4c60d]

	* src/lib-mail/message-header-decode.c, src/lib-mail/message-header-
	decode.h, src/lib-mail/test-message-decoder.c, src/lib-mail/test-
	message-header-decode.c, src/lib-storage/index/index-mail-headers.c:
	lib-mail: message_header_decode_utf8() API changed to not give
	return value. It's a rather unnecessary optimization and it wasn't
	even correct when the input wasn't valid UTF8.
	[45952eee7ad4]

	* src/lib/fd-set-nonblock.c, src/lib/fd-set-nonblock.h,
	src/lib/network.c:
	fd_set_nonblock() API changed to i_fatal() on failure. Pretty much
	none of its users were checking if it failed, and there's really no
	good reason for it to fail anyway.
	[a65006d95d53]

	* src/doveadm/dsync/dsync-transaction-log-scan.c:
	dsync: Fixed a potential error if transaction log was completely
	empty.
	[fa1898ef59c4]

	* src/imap/cmd-append.c:
	imap: CATENATE error handling fix
	[932ec9940568]

	* src/lib-sql/driver-mysql.c:
	Avoid a NULL warning in mysql_init() when HAVE_ATTR_NULL capable
	compiler is used.
	[634474af3957]

	* src/lib-storage/list/mailbox-list-index-status.c:
	mailbox_list_index=yes: Fixed a potential crash.
	[5a9f9c35a8f0]

	* src/anvil/main.c, src/auth/auth-master-connection.c, src/auth/auth-
	master-connection.h, src/auth/auth-request-handler.c, src/auth/auth-
	request.c, src/auth/auth-request.h, src/auth/auth-settings.h,
	src/auth/auth-stream.h, src/auth/auth-worker-server.c,
	src/auth/auth.c, src/auth/auth.h, src/auth/db-checkpassword.h,
	src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/db-passwd-file.c,
	src/auth/main.c, src/auth/mech-anonymous.c, src/auth/mech-apop.c,
	src/auth/mech-cram-md5.c, src/auth/mech-ntlm.c, src/auth/mech-otp-
	skey-common.c, src/auth/mech-plain-common.c, src/auth/mech-rpa.c,
	src/auth/mech-winbind.c, src/auth/mech.c, src/auth/password-scheme-
	otp.c, src/auth/password-scheme.h, src/auth/userdb-passwd.c,
	src/auth/userdb-static.c, src/auth/userdb.h, src/config/config-
	parser-private.h, src/config/config-request.h,
	src/config/doveconf.c, src/config/main.c, src/dict/main.c,
	src/director/director-connection.c, src/director/director-test.c,
	src/director/director.h, src/dns/dns-client.c, src/doveadm/doveadm-
	director.c, src/doveadm/doveadm-log.c, src/doveadm/doveadm-mail-
	fetch.c, src/doveadm/doveadm-mail-iter.h, src/doveadm/doveadm-mail-
	mailbox-status.c, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-mailbox-
	import.c, src/doveadm/dsync/dsync-slave-io.c, src/doveadm/main.c,
	src/imap-login/client.c, src/imap-login/client.h, src/imap/cmd-
	append.c, src/imap/cmd-expunge.c, src/imap/imap-client.h, src/imap
	/imap-commands-util.h, src/imap/imap-expunge.h, src/imap/imap-fetch-
	body.c, src/imap/imap-fetch.h, src/imap/imap-search.h, src/imap
	/imap-sync.c, src/indexer/indexer.c, src/indexer/master-
	connection.c, src/ipc/client.c, src/ipc/main.c, src/lib-auth/auth-
	client-request.c, src/lib-auth/auth-client.h, src/lib-auth/auth-
	master.c, src/lib-auth/auth-master.h, src/lib-dict/dict.h, src/lib-
	dns/dns-lookup.h, src/lib-imap-client/imapc-connection.h, src/lib-
	imap-storage/imap-msgpart.c, src/lib-imap/imap-base-subject.c, src
	/lib-imap/imap-parser.c, src/lib-imap/imap-parser.h, src/lib-imap
	/imap-url.c, src/lib-imap/imap-util.h, src/lib-index/mail-cache-
	lookup.c, src/lib-index/mail-cache-transaction.c, src/lib-index
	/mail-index-alloc-cache.c, src/lib-index/mail-index-alloc-cache.h,
	src/lib-index/mail-index-map-hdr.c, src/lib-index/mail-index-map.c,
	src/lib-index/mail-index-util.h, src/lib-index/mail-index-view.c,
	src/lib-index/mail-index.c, src/lib-index/mail-index.h, src/lib-lda
	/mail-deliver.h, src/lib-lda/smtp-client.h, src/lib-mail/istream-
	binary-converter.c, src/lib-mail/istream-dot.c, src/lib-mail
	/istream-header-filter.h, src/lib-mail/message-header-parser.h, src
	/lib-mail/message-parser.h, src/lib-mail/message-part-serialize.c,
	src/lib-mail/message-search.h, src/lib-mail/message-size.c, src/lib-
	mail/message-size.h, src/lib-mail/rfc822-parser.h, src/lib-mail
	/test-istream-header-filter.c, src/lib-master/anvil-client.h, src
	/lib-master/ipc-client.h, src/lib-master/ipc-server.c, src/lib-
	master/master-service-settings-cache.h, src/lib-master/master-
	service-settings.h, src/lib-master/master-service.c, src/lib-master
	/master-service.h, src/lib-master/mountpoint-list.c, src/lib-ntlm
	/ntlm-encrypt.c, src/lib-ntlm/ntlm-encrypt.h, src/lib-otp/otp-
	parse.c, src/lib-settings/settings-parser.c, src/lib-
	settings/settings.h, src/lib-sql/driver-mysql.c, src/lib-sql/driver-
	pgsql.c, src/lib-sql/driver-sqlpool.c, src/lib-sql/sql-api.c, src
	/lib-storage/index/dbox-common/dbox-file-fix.c, src/lib-
	storage/index/dbox-common/dbox-save.h, src/lib-storage/index/dbox-
	common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox-sync-
	rebuild.c, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.h, src/lib-storage/index/dbox-multi/mdbox-
	sync.c, src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/imapc/imapc-mail.c, src/lib-storage/index/index-mail-
	headers.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-mail.h, src/lib-storage/index/index-search.c, src/lib-
	storage/index/index-sort.c, src/lib-storage/index/index-storage.h,
	src/lib-storage/index/index-sync-changes.h, src/lib-
	storage/index/maildir/maildir-filename-flags.c, src/lib-
	storage/index/maildir/maildir-filename-flags.h, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
	/maildir-save.c, src/lib-storage/index/maildir/maildir-storage.c,
	src/lib-storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-sync.h, src/lib-storage/index/maildir/maildir-uidlist.c,
	src/lib-storage/index/maildir/maildir-uidlist.h, src/lib-
	storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox
	/mbox-file.c, src/lib-storage/index/mbox/mbox-lock.c, src/lib-
	storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox/mbox-
	storage.c, src/lib-storage/index/mbox/mbox-sync-parse.c, src/lib-
	storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw/raw-
	storage.c, src/lib-storage/index/shared/shared-storage.c, src/lib-
	storage/list/mailbox-list-delete.c, src/lib-storage/list/mailbox-
	list-fs-iter.c, src/lib-storage/list/mailbox-list-fs.c, src/lib-
	storage/list/mailbox-list-index-status.c, src/lib-storage/list
	/mailbox-list-index.c, src/lib-storage/list/mailbox-list-maildir.c,
	src/lib-storage/mail-namespace.h, src/lib-storage/mail-search.h, src
	/lib-storage/mail-storage-service.c, src/lib-storage/mail-storage-
	service.h, src/lib-storage/mail-storage.c, src/lib-storage/mail-
	storage.h, src/lib-storage/mail-thread.h, src/lib-storage/mail.c,
	src/lib-storage/mailbox-get.c, src/lib-storage/mailbox-list-
	private.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
	list.h, src/lib-storage/mailbox-tree.c, src/lib-storage/mailbox-
	tree.h, src/lib-test/test-common.h, src/lib/base64.h,
	src/lib/buffer.h, src/lib/child-wait.h, src/lib/eacces-error.h,
	src/lib/failures.c, src/lib/file-dotlock.c, src/lib/hash.c,
	src/lib/hash.h, src/lib/hash2.h, src/lib/ioloop-notify-fd.h,
	src/lib/ioloop.c, src/lib/ioloop.h, src/lib/iso8601-date.c, src/lib
	/istream-base64-encoder.c, src/lib/istream-chain.c, src/lib/istream-
	chain.h, src/lib/istream-crlf.c, src/lib/istream-private.h, src/lib
	/istream-seekable.h, src/lib/istream.c, src/lib/istream.h, src/lib
	/lib-signals.c, src/lib/lib-signals.h, src/lib/macros.h, src/lib
	/mkdir-parents.c, src/lib/module-dir.h, src/lib/network.c,
	src/lib/network.h, src/lib/ostream-private.h, src/lib/ostream.c,
	src/lib/ostream.h, src/lib/restrict-access.h, src/lib/safe-
	mkstemp.c, src/lib/strfuncs.c, src/lib/strfuncs.h, src/lib/test-
	iso8601-date.c, src/lib/uri-util.c, src/lib/uri-util.h, src/lib/var-
	expand.h, src/lmtp/client.h, src/lmtp/lmtp-proxy.h, src/log/main.c,
	src/login-common/client-common-auth.c, src/login-common/login-
	proxy.c, src/login-common/login-settings.h, src/login-common/sasl-
	server.c, src/login-common/ssl-proxy-openssl.c, src/master/common.h,
	src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-
	plugin.h, src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins
	/fts-lucene/lucene-wrapper.h, src/plugins/fts-solr/solr-
	connection.c, src/plugins/fts-squat/squat-trie.h, src/plugins/fts
	/fts-storage.c, src/plugins/quota/quota-dirsize.c, src/plugins/quota
	/quota-fs.c, src/plugins/quota/quota-maildir.c,
	src/plugins/quota/quota.c, src/pop3/pop3-client.h,
	src/replication/aggregator/aggregator.c,
	src/replication/replicator/replicator.c, src/ssl-params/main.c,
	src/stats/mail-domain.h, src/stats/mail-ip.h, src/stats/mail-
	session.h, src/stats/mail-user.h, src/stats/main.c:
	Marked functions parameters that are allowed to be NULL. Some APIs
	were also changed. The non-obvious APIs where NULL parameter was
	changed to "" are master_service_init() and
	auth_master_user_list_init().

	These checks can currently be enabled only on a patched clang:
	http://llvm.org/bugs/show_bug.cgi?id=6786
	[c93ca5e46a8a]

2012-06-22  Timo Sirainen  <tss@iki.fi>

	* doc/man/Makefile.am:
	Makefile: Removed unnecessary code
	[e0cc3fb5dc64]

2012-06-21  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-append.c, src/lib-imap/imap-resp-code.h:
	lib-imap: Added IMAP_RESP_CODE_UNKNOWN_CTE
	[41e6c2a4a36b]

	* src/imap/cmd-fetch.c:
	imap: Compile fix due to recent changes
	[64b0c9851781]

	* src/lib-mail/Makefile.am:
	Makefile: Removed message-binary-part.h which isn't finished yet.
	[9b9c1d9fc995]

	* src/imap/imap-fetch-body.c:
	imap: Removed unnecessary code.
	[3a8ada7302a3]

	* src/imap/cmd-select.c, src/imap/imap-client.h, src/imap/imap-fetch-
	body.c, src/imap/imap-fetch.c, src/imap/imap-fetch.h:
	imap: Rewrote FETCH command to use imap-msgpart API.
	[df8ba29d9eb3]

	* src/lib-imap-storage/Makefile.am, src/lib-imap-storage/imap-msgpart-
	url.c, src/lib-imap-storage/imap-msgpart.c, src/lib-imap-storage
	/imap-msgpart.h, src/lib-storage/mail-storage-private.h:
	lib-imap-storage: imap-msgpart rewrite and API change. The new API
	allows first parsing the validity of section strings and later
	relying on them being valid without having to re-parse it. The
	implementation also fixes a few things and adds "partial fetch
	cache".
	[6fb61872b30a]

	* src/lib-imap/imap-quote.c:
	lib-imap: imap_quote() now skips any CR/LF characters from input.
	[bf8a885c2077]

	* src/lib-mail/Makefile.am, src/lib-mail/istream-nonuls.c, src/lib-
	mail/istream-nonuls.h:
	lib-mail: Added istream-nonuls for converting NUL bytes to something
	else.
	[3a267dec53ca]

	* src/lib-storage/index/index-status.c:
	lib-storage: Fixed mailbox_status.unseen count for private indexes.
	[73ee8d00888d]

2012-06-20  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-copy.c:
	imap MOVE: Don't commit expunge transaction before the copy
	transaction has succeeded.
	[344bd3d47ced]

	* src/lib-imap/imap-parser.c:
	imap parser: literal8 flag was handled in opposite way.
	[c14c58bedafe]

	* src/imap/cmd-copy.c, src/imap/imap-commands.c, src/imap/imap-
	commands.h:
	imap: Implemented MOVE extension.
	[3a53a2f7927a]

	* src/plugins/quota/quota-storage.c:
	quota: Ignore quota when handling mailbox_move().
	[0a2126680120]

	* src/plugins/acl/acl-mailbox.c:
	acl: Optimize failing mailbox_move() when expunge right is missing.
	[544dc10d4b04]

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Added mailbox_move(), which is basically copy+expunge.
	[8d596b5adbab]

	* src/lib-mail/istream-binary-converter.c, src/lib-mail/test-istream-
	binary-converter.c:
	istream-binary-converter: Added maximum memory usage limit for
	header parsing.
	[347c2ca867b7]

	* src/imap/cmd-append.c:
	imap: Fixes to handling BINARY APPENDs.
	[4d7dc53d89e7]

	* src/imap/cmd-append.c:
	imap: Fixed CATENATE support to send "+ OK" for literals.
	[4bcbb3ff9e35]

	* src/imap/cmd-append.c:
	imap: Implemented BINARY extension support for APPEND/CATENATE.
	[284fdbbeb262]

	* src/lib-test/test-common.c:
	lib-test: Fixed test istream
	[e84f49c08458]

	* src/lib-imap/imap-arg.h, src/lib-imap/imap-parser.c, src/lib-imap
	/imap-parser.h:
	imap parser: Added support for parsing literal8 (for BINARY
	extension)
	[68a8b650578e]

	* src/lib-mail/Makefile.am, src/lib-mail/istream-binary-converter.c,
	src/lib-mail/istream-binary-converter.h, src/lib-mail/test-istream-
	binary-converter.c:
	Added istream-binary-converter to convert binary MIME parts to
	base64.
	[7b1378fe8820]

	* src/lib-mail/message-parser.c, src/lib-mail/message-parser.h:
	message parser: Added MESSAGE_PARSER_FLAG_INCLUDE_BOUNDARIES flag.
	[6846c2e50eba]

	* src/lib-mail/message-parser.c:
	message parser: Fixed infinite loop when parsing a specific message.
	[217fe26a3176]

	* src/lib-mail/message-header-parser.c:
	message header parser: Don't skip header if header name is longer
	than input buffer. We'll instead now just return the name in smaller
	blocks with no_newline=TRUE. This allows the caller to reconstruct
	the exact same message.
	[49607e4a97d4]

	* src/lib-mail/message-header-parser.c:
	message header parser: Fixed handling very long multiline headers.
	If the header's line fit exactly to input stream's buffer so that
	the parser couldn't see the following character, it assumed that the
	header ended.
	[8a4e5e5d82b5]

	* src/lib-mail/message-parser.c:
	message parser: Fixes to handling CRLF linefeeds. An extra CR could
	have been left to the end of a MIME part that belonged to its
	--boundary.
	[c34d4e3ff342]

2012-06-16  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/10-auth.conf:
	example-config: Refer to ssl=required in disable_plaintext_auth
	setting.
	[27f769be0f85]

2012-06-11  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-private.h,
	src/lib-index/mail-index-transaction-export.c, src/lib-index/mail-
	index-transaction-finish.c, src/lib-index/mail-index-transaction-
	private.h, src/lib-index/mail-index-transaction-update.c, src/lib-
	index/mail-index-transaction-view.c, src/lib-index/mail-index.h, src
	/lib-index/mail-transaction-log.h, src/lib-index/test-mail-index-
	transaction-finish.c, src/lib-index/test-mail-index-transaction-
	update.c, src/lib-storage/index/Makefile.am, src/lib-storage/index
	/index-mail.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/index-sync-
	private.h, src/lib-storage/index/index-sync-pvt.c, src/lib-
	storage/index/index-sync.c, src/lib-storage/index/index-
	transaction.c, src/lib-storage/index/shared/shared-list.c, src/lib-
	storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-
	maildir.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.c, src/lib-storage/mailbox-list-private.h, src/lib-
	storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
	shared mailboxes: Per-user flags can now be stored in private index
	files. This can be enabled by adding e.g.:

	mail_location = mdbox:/var/shared/mdbox:INDEXPVT=~/mdbox/shared
	[dbd42f7198eb]

2012-06-05  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/Makefile.am:
	Makefile: Added more missing dsync*.h files
	[7d0ce7586c36]

2012-06-04  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/Makefile.am:
	Makefile: Added missing dsync-mail.h
	[657d8360cd48]

	* src/doveadm/dsync/Makefile.am:
	Makefile: Added missing dsync-mailbox.h
	[83b99e13ba47]

2012-06-02  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-append.c:
	imap: Code cleanup and error handling fixes for CATENATE
	[848be27099c8]

	* src/imap/cmd-append.c, src/lib-imap-storage/imap-msgpart-url.c, src
	/lib-imap-storage/imap-msgpart-url.h, src/lib-imap-storage/imap-
	msgpart.c, src/lib-imap-storage/imap-msgpart.h, src/lib-imap/imap-
	url.c, src/lib-imap/imap-url.h, src/lib-imap/test-imap-url.c,
	src/lib/uri-util.c, src/lib/uri-util.h:
	Error handling API changes to previous IMAP URL related changes.
	[27c8a6c9088d]

2012-06-02  Stephan Bosch  <stephan@rename-it.nl>

	* src/lib-auth/auth-master.c, src/lib-auth/auth-master.h, src/lib-
	storage/mail-storage-service.c, src/lib-storage/mail-user.h:
	Adds 'anonymous' field to struct mail_user; derived indirectly from
	userdb extra fields.

	Depends: none
	[e445670e7332]

	* README, configure.in, src/imap/cmd-append.c:
	imap: Implemented CATENATE extension.
	[5344ff4215b4]

	* configure.in, src/Makefile.am, src/imap/Makefile.am, src/imap/imap-
	fetch-body.c, src/lib-imap-storage/Makefile.am, src/lib-imap-storage
	/imap-msgpart-url.c, src/lib-imap-storage/imap-msgpart-url.h, src
	/lib-imap-storage/imap-msgpart.c, src/lib-imap-storage/imap-
	msgpart.h, src/lib-storage/Makefile.am:
	Created lib-imap-storage for IMAP-specific functionality that uses
	lib-storage. This is done to prevent introducing dependencies on
	lib-storage in lib-imap. It contains IMAP message part access
	functionality, including URL-based access.
	[07e6ca397a72]

	* src/lib-imap/Makefile.am, src/lib-imap/imap-url.c, src/lib-imap
	/imap-url.h, src/lib-imap/test-imap-url.c:
	lib-imap: Added IMAP URL parser.

	Includes support for IMAP URLAUTH URLs.

	Includes extensive testsuite.

	Creation of IMAP URL string from struct data is not implemented and
	deferred to a future patch when this functionality is needed.
	[9eef4f7b0187]

	* src/lib-imap/imap-parser.c, src/lib-imap/imap-parser.h:
	imap-parser: Added IMAP_PARSE_FLAG_INSIDE_LIST flag. Adds mode flag
	to IMAP parser which makes it assume it is inside a (...) list,
	making ')' equal to EOL and '\n' an error.
	[c54dd35e1c0e]

	* src/lib/Makefile.am, src/lib/istream-chain.c, src/lib/istream-
	chain.h:
	Added chain istream. This is a nephew of the concat stream with the
	difference that new child streams can be added dynamically.
	[2d9b13930a6a]

	* src/lib/Makefile.am, src/lib/uri-util.c, src/lib/uri-util.h:
	liblib: Added generic URI parsing functions.
	[ba36e4380cf4]

	* src/lib/Makefile.am, src/lib/iso8601-date.c, src/lib/iso8601-date.h,
	src/lib/test-iso8601-date.c, src/lib/test-lib.c, src/lib/test-lib.h:
	Adds ISO8601/RFC3339 date format parsing and construction support.

	Interface is somewhat based on message date parser in src/lib-mail,
	but it also provides access to struct tm.
	[21d67121985a]

2012-05-22  Timo Sirainen  <tss@iki.fi>

	* TODO:
	TODO updated
	[8bb23c123ea3]

	* src/doveadm/doveadm-settings.c, src/doveadm/dsync/Makefile.am,
	src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
	mailbox-tree-sync.c, src/doveadm/dsync/dsync-brain-mailbox-tree.c,
	src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
	brain-mails.c, src/doveadm/dsync/dsync-brain-msgs-new.c,
	src/doveadm/dsync/dsync-brain-msgs.c, src/doveadm/dsync/dsync-brain-
	private.h, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-
	brain.h, src/doveadm/dsync/dsync-data.c, src/doveadm/dsync/dsync-
	data.h, src/doveadm/dsync/dsync-deserializer.c, src/doveadm/dsync
	/dsync-deserializer.h, src/doveadm/dsync/dsync-mail.c,
	src/doveadm/dsync/dsync-mail.h, src/doveadm/dsync/dsync-mailbox-
	export.c, src/doveadm/dsync/dsync-mailbox-export.h,
	src/doveadm/dsync/dsync-mailbox-import.c, src/doveadm/dsync/dsync-
	mailbox-import.h, src/doveadm/dsync/dsync-mailbox-state-export.h,
	src/doveadm/dsync/dsync-mailbox-state.c, src/doveadm/dsync/dsync-
	mailbox-state.h, src/doveadm/dsync/dsync-mailbox-tree-fill.c,
	src/doveadm/dsync/dsync-mailbox-tree-private.h, src/doveadm/dsync
	/dsync-mailbox-tree-sync.c, src/doveadm/dsync/dsync-mailbox-tree.c,
	src/doveadm/dsync/dsync-mailbox-tree.h, src/doveadm/dsync/dsync-
	mailbox.h, src/doveadm/dsync/dsync-proxy-client.c, src/doveadm/dsync
	/dsync-proxy-server-cmd.c, src/doveadm/dsync/dsync-proxy-server.c,
	src/doveadm/dsync/dsync-proxy-server.h, src/doveadm/dsync/dsync-
	proxy.c, src/doveadm/dsync/dsync-proxy.h, src/doveadm/dsync/dsync-
	serializer.c, src/doveadm/dsync/dsync-serializer.h,
	src/doveadm/dsync/dsync-slave-io.c, src/doveadm/dsync/dsync-slave-
	pipe.c, src/doveadm/dsync/dsync-slave-private.h, src/doveadm/dsync
	/dsync-slave.c, src/doveadm/dsync/dsync-slave.h, src/doveadm/dsync
	/dsync-transaction-log-scan.c, src/doveadm/dsync/dsync-transaction-
	log-scan.h, src/doveadm/dsync/dsync-worker-local.c,
	src/doveadm/dsync/dsync-worker-private.h, src/doveadm/dsync/dsync-
	worker.c, src/doveadm/dsync/dsync-worker.h, src/doveadm/dsync/test-
	dsync-brain-msgs.c, src/doveadm/dsync/test-dsync-brain.c,
	src/doveadm/dsync/test-dsync-common.c, src/doveadm/dsync/test-dsync-
	common.h, src/doveadm/dsync/test-dsync-proxy-server-cmd.c,
	src/doveadm/dsync/test-dsync-proxy.c, src/doveadm/dsync/test-dsync-
	worker.c, src/doveadm/dsync/test-dsync-worker.h:
	Initial version of dsync rewrite.
	 * doveadm backup not implemented at all yet
	 * syncing mailbox renames is somewhat broken (at least renaming
	\noselect mailboxes)
	 * saving/restoring "state" is implemented by dsync brain, but not by
	doveadm. this should be easy to do, just need to figure out how the
	replication code wants it.
	[b2076acc3715]

2012-05-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-transaction.c, src/lib-storage/mail-
	storage.h:
	lib-storage: Added MAILBOX_TRANSACTION_FLAG_SYNC flag
	[5b17dc1f8313]

2012-05-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c:
	dbox: Don't reset index when mailbox_update() changes UIDVALIDITY.
	[924b0d57338c]

2012-05-03  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-
	transaction.c, src/lib-index/mail-index.h, src/lib-index/mail-
	transaction-log-append.c, src/lib-index/mail-transaction-log.h, src
	/lib-index/test-mail-transaction-log-append.c:
	Added MAIL_INDEX_TRANSACTION_FLAG_SYNC
	[4b1309d171ff]

2012-05-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-sync.c, src/lib-index/mail-index-
	transaction-export.c, src/lib-index/mail-index-transaction-finish.c,
	src/lib-index/mail-index-transaction-private.h, src/lib-index/mail-
	index-transaction-sort-appends.c, src/lib-index/mail-index-
	transaction-update.c, src/lib-index/mail-index-transaction-view.c,
	src/lib-index/mail-index.h, src/lib-index/test-mail-index-
	transaction-update.c, src/lib-storage/index/cydir/cydir-sync.c, src
	/lib-storage/index/imapc/imapc-sync.c, src/lib-storage/index/index-
	sync-changes.c, src/lib-storage/index/index-sync.c,
	src/plugins/virtual/virtual-sync.c:
	Don't write "keyword reset" records to transaction log anymore.
	These are a bit problematic for dsync's keyword merging to handle.
	[2e7d718609fd]

	* src/lib-index/mail-transaction-log-view.c, src/lib-index/mail-
	transaction-log.h:
	lib-index: Added mail_transaction_log_view_set_all()
	[fead3400c379]

	* src/lib-index/mail-index-sync-update.c:
	lib-index: Don't log an error if UIDVALIDITY changes. Normally this
	should be done by backend only by resetting the index, but it can be
	done also by dsync.
	[ad6aa4e042f5]

2012-05-20  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request-handler.c, src/director/director-test.c, src
	/lib-storage/index/imapc/imapc-mailbox.c, src/lib-storage/index
	/index-mailbox-check.c, src/lib/ioloop.c, src/lib/ioloop.h,
	src/plugins/fts/fts-indexer.c, src/plugins/replication/replication-
	plugin.c:
	Use timeout_add_short() for sub-second timeouts. Fail at compile
	time if timeout_add() is <1s. In future timeout_add() could perhaps
	also be made less precise, so that it would try to group timeouts to
	run around at the same time.
	[a47c95872745]

	* Makefile.am, configure.in, dovecot-config.in.in, src/auth/auth-
	request.c, src/auth/auth-request.h, src/imap-login/client.c, src
	/imap-login/imap-proxy.c, src/imap/cmd-fetch.c, src/imap/imap-
	client.c, src/imap/imap-client.h, src/lib-index/mail-index-map.c,
	src/lib-index/mail-index-modseq.c, src/lib-mail/message-parser.c,
	src/lib-storage/index/pop3c/pop3c-client.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage-service.c, src/lib-
	storage/mail-storage.c, src/lib-storage/mail-storage.h,
	src/lib/network.c, src/lmtp/commands.c, src/login-
	common/Makefile.am, src/login-common/client-common-auth.c, src
	/login-common/client-common.c, src/login-common/client-common.h, src
	/login-common/login-proxy.c, src/login-common/login-proxy.h,
	src/pop3-login/client.c, src/pop3-login/pop3-proxy.c,
	src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h:
	Merged changes from v2.1 tree.
	[fbb1ecb9b888]

	* src/director/director-connection.c:
	director: When we find unwanted connection, wait for 10s for it to
	disconnect us, not 10ms.
	[dbe6d05fd595]

	* src/lib-master/anvil-client.c:
	lib-master: Anvil reconnect timeout should be 5 seconds, not 5
	milliseconds.
	[1c2c1d75d3b2]

2012-05-19  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c:
	auth: Fixed crash with DIGEST-MD5 when attempting to do master user
	login without master passdbs.
	[23543c407e81]

	* src/plugins/expire/expire-plugin.c:
	expire: Handle dict errors. Don't crash if lookup fails. Based on
	patch by Michal Grzedzicki
	[8f72002cb394]

	* src/director/director-connection.c, src/director/director-host.c,
	src/director/director-host.h, src/director/director.c,
	src/director/director.h, src/director/doveadm-connection.c,
	src/director/main.c, src/doveadm/doveadm-director.c:
	director: Implemented ability to remove directors from a running
	ring. Also added doveadm command for adding a new director to a
	running ring.
	[42cca8a1d179]

	* src/director/director-connection.c:
	director: Don't crash with quickly disconnecting incoming director
	connections.
	[40f958c7643b]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: If chroot is used and mail_debug=yes, log the chroot
	path.
	[a7dd1edee318]

2012-05-17  Timo Sirainen  <tss@iki.fi>

	* update-version.sh:
	update-version.sh: Use mv -f to avoid questions in some systems.
	[bb572accd1af]

2012-05-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-single/sdbox-save.c:
	sdbox: Avoid using too many fds when copying messages. This happened
	at least with quota plugin.
	[6d11513cdd0d]

	* src/login-common/client-common-auth.c, src/login-common/client-
	common.c, src/login-common/client-common.h:
	login: If user is disabled or password expired, say it in logout
	reason.
	[ca0fef559d43]

	* src/auth/auth-request-handler.c, src/auth/auth-request.c, src/auth
	/auth-request.h:
	auth: If user is disabled or password expired, tell about it to
	auth-client.
	[d6f06ce44b0b]

2012-05-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-storage.c:
	mdbox: mailbox_update() didn't look at the latest index data. So
	setting min_next_uid, min_first_recent_uid or min_highest_modseq may
	have actually shrank them.
	[7dd1dd742825]

2012-05-14  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/20-pop3.conf, src/pop3/pop3-client.c,
	src/pop3/pop3-client.h, src/pop3/pop3-commands.c,
	src/pop3/pop3-settings.c, src/pop3/pop3-settings.h:
	pop3: Added pop3_uidl_duplicates setting.
	[3a095892242b]

	* src/auth/db-ldap.c:
	ldap: If attributes contain ldapAttr=key=template%$ and ldapAttr
	doesn't exist, skip the field. This makes it work again the same as
	with v2.0.
	[4bbc12a87a29]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: If dovecot-uidlist can't be opened as read-write, try
	opening as read-only.
	[7f238016db81]

	* src/master/service-listen.c:
	master: Fix to systemd support Patch by Joop Boonen
	[20d98b848f37]

	* src/lib-master/mountpoint-list.c:
	lib-master: Added more default ignore prefixes
	[fac49069993a]

2012-05-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Use imapc_list_prefix also for listing subscriptions
	[2f7406e838b0]

2012-05-09  Timo Sirainen  <tss@iki.fi>

	* src/master/service-listen.c:
	master: systemd socket verification wasn't actually being called
	normally.
	[17b20880453c]

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.c:
	lib-storage: Added a mailbox.synced flag, which is set when mailbox
	sync has succeeded.
	[eab6ce7a5ad6]

	* src/lib-storage/mailbox-list-private.h, src/lib-storage/mailbox-
	list.h:
	lib-storage: mailbox_list_get_storage_name/_get_vname() are now
	public.
	[5a4eb9955d29]

2012-05-08  Timo Sirainen  <tss@iki.fi>

	* src/lib/test-bsearch-insert-pos.c:
	Compiler warning fixes
	[328a3cd837f8]

	* src/auth/db-checkpassword.c, src/auth/db-checkpassword.h, src/auth
	/passdb-checkpassword.c, src/auth/userdb-checkpassword.c, src/lib-
	storage/mail-search-register-human.c, src/lib-storage/mail-search-
	register-imap.c, src/lib/test-array.c, src/lib/test-base64.c:
	Compiler warning fixes
	[cb80c575b00c]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Extra check to mail_shared_explicit_inbox=no
	[17a635cbb63d]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs: Fixes to mail_shared_explicit_inbox=no
	[8cdc7c13d6f2]

2012-05-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage.c:
	lib-storage: Don't auto-drop namespaces with only INBOX shared and
	mail_shared_explicit_inbox=no
	[41f2bcb43dad]

	* src/plugins/acl/acl-shared-storage.c:
	acl: Fixed listing users who have only INBOX shared and
	mail_shared_explicit_inbox=no
	[20c9446e537e]

	* .hgsigs:
	Added signature for changeset 7c249e2a82a9
	[d3acee47cee4]

	* .hgtags:
	Added tag 2.1.6 for changeset 7c249e2a82a9
	[4fc570461e88]

	* NEWS, configure.in:
	Released v2.1.6.
	[7c249e2a82a9] [2.1.6]

	* Makefile.am:
	Makefile: Remove dovecot-config on make uninstall
	[f7bb8d105710]

2012-05-06  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c:
	auth: Previous change caused crashing with userdb lookups
	[9da556b9a902]

2012-05-05  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c:
	auth: Added %{session} variable for passdb/userdb queries.
	[3d8a25a4394d]

2012-05-04  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-
	cache.c:
	acl: Memory leak fixes
	[5df8bac9a0c6]

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: Memory leak fix
	[2a42fe2d42f3]

	* src/lib-storage/index/shared/shared-storage.c, src/lib-storage/mail-
	user.c:
	shared mailboxes: If successful userdb lookup doesn't return home,
	fallback to mail_home setting for %%h.
	[6dabd9545d48]

	* src/master/service-listen.c:
	systemd: If a socket is enabled in systemd but not in Dovecot
	config, close it. Based on patch by Michal Hlavinka.
	[4a3bf567da54]

	* doc/example-config/conf.d/10-mail.conf, src/lib-storage/mail-
	storage-settings.c, src/lib-storage/mail-storage-settings.h, src
	/lib-storage/mailbox-list.c:
	Added mail_shared_explicit_inbox setting.
	[40a544fc4778]

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-multi/mdbox-purge.c:
	dbox: Metadata read buffer's size was supposed to be unlimited, not
	zero. This was broken by 59f5238c6e61, which itself had fixed
	another bug.
	[fa6662ab4df3]

	* src/doveadm/doveadm-mutf7.c:
	doveadm mailbox mutf7: If input data is invalid, exit with
	EX_DATAERR.
	[3689eced9381]

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: Removed broken "are we saving?" check from copy event
	handling.
	[b89b98ebe52b]

	* src/plugins/notify/notify-storage.c:
	notify plugin: mailbox_save_using_mail() now sends "save" events,
	not "copy".
	[8a4d314ef7d0]

	* src/lib-storage/mail-storage.c:
	lib-storage: Don't set mail_save_context->saving=TRUE when copying
	via save.
	[5d9a5011c1bf]

2012-05-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-transaction-private.h, src/lib-index/mail-
	index-transaction-update.c, src/lib-index/mail-index-transaction.c,
	src/lib-index/test-mail-index-transaction-update.c:
	lib-index: Fixed MAIL_INDEX_SYNC_FLAG_AVOID_FLAG_UPDATES with
	concurrent keyword changes. If session 1 saw keywords="a", session 2
	added keyword "b" and session 1 (without the client syncing session)
	replaced flags with "a", the "b" keyword wasn't removed.
	[5d45870e2e4a]

2012-04-27  SATOH Fumiyasu  <fumiyas@osstech.co.jp>

	* src/lib-storage/index/index-search-private.h, src/plugins/stats
	/stats-plugin.h:
	Fix the build failure on AIX
	[d5bbb1d203c5]

2012-05-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mailbox-list.c:
	lib-storage: shared/$user/INBOX is now visible only as shared/$user
	[3bb6d153c9c3]

	* src/lib/aqueue.c:
	aqueue: Reversed recent changes, they didn't work as intended.
	[99a30e40dce9]

2012-04-30  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-status.c:
	Increased initial memory pool size.
	[6c381b3e0a3d]

	* src/lib/seq-range-array.c, src/lib/test-seq-range-array.c:
	seq_range_array_add(): Ranges weren't always merged when they could
	have. This didn't break anything, but it used up more memory than
	necessary.
	[bac5e1dae4ed]

2012-04-28  Timo Sirainen  <tss@iki.fi>

	* src/lib/aqueue.c, src/lib/array.c, src/lib/array.h:
	Code cleanup: Use array_count_i() to calculate array's size
	internally.
	[2f776ca73cef]

	* src/auth/auth-request.c, src/auth/auth-request.h, src/lib-auth/auth-
	client-request.c, src/lib-auth/auth-client.h, src/login-common
	/login-settings.c, src/login-common/sasl-server.c:
	auth: Include session ID in log line prefix.
	[629afda8e29d]

	* src/lib-storage/index/index-status.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c:
	lib-storage: Allocate MAILBOX_METADATA_CACHE_FIELDS from a new
	metadata mempool.
	[3b4c336ed01b]

2012-04-26  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Fixed looking up parent mailbox name with different namespace
	vs. layout separators.
	[e8b80e0767ac]

2012-04-25  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-user.c:
	lib-storage: Fixed expanding path that ends with "~/" For example
	mail_location=maildir:~/ would actually try to create '~' directory.
	[249c1c89d9d3]

	* src/auth/passdb-static.c:
	passdb static: Don't crash if password/nopassword isn't set.
	[c2038fb33633]

	* doc/example-config/conf.d/10-ssl.conf, src/login-common/login-
	settings.c, src/login-common/login-settings.h, src/login-common/ssl-
	proxy-openssl.c:
	*-login: Added ssl_require_crl setting.
	[008c1afeba3c]

	* src/plugins/stats/stats-plugin.c:
	stats plugin: Open /proc/self/io only once, reopening is
	unnecessary.
	[96800058f29b]

	* src/auth/auth-request.c, src/login-common/client-common-auth.c, src
	/login-common/client-common.h, src/login-common/login-proxy.c, src
	/login-common/login-proxy.h:
	SSL proxying: Remote's host never matched cert, because auth process
	changed it to IP. Now the "host" parameter isn't changed, but a new
	optional "hostip" parameter contains the IP address where to connect
	to.
	[773ca397d799]

	* src/login-common/ssl-proxy-openssl.c:
	*-login: Don't fail client's certificate if CRL is expired. This
	seems to be returned also when there is no CRL..
	[c2b7767afc38]

	* src/login-common/login-proxy.c, src/login-common/ssl-proxy-
	openssl.c, src/login-common/ssl-proxy.c, src/login-common/ssl-
	proxy.h:
	*-login: If client certificate isn't valid, log the reason why.
	[36cde186aec6]

	* src/auth/auth-request.c:
	auth: Fixed handling multiple passdbs where some use proxying and
	others don't.
	[3893f2b7e4ab]

	* src/auth/auth-request-handler.c:
	auth: Minor code cleanup.
	[26bf68448638]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: List INBOX for inbox=yes namespace even imapc_list_prefix is
	set.
	[aba344bb85f3]

	* src/lib-storage/mailbox-list-iter.c:
	lib-storage: Make sure both MAILBOX_CHILDREN and MAILBOX_NOCHILDREN
	flags aren't set.
	[e928c1575689]

	* src/doveadm/dsync/dsync-worker-local.c:
	dsync: Treat \Nonexistent mailboxes the same as \Noselect mailboxes.
	[cb78154a9c0c]

	* src/lib-ssl-iostream/iostream-openssl.c:
	lib-ssl-iostream: Fixed a memory leak when verifying certificate
	name. This mainly mattered when proxying with SSL to remote server.
	[d2b01dcce79f]

2012-04-24  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-expunge.c:
	doveadm expunge -d: If mailbox is deleted, unsubscribe it also
	[b1653b7bd165]

	* src/plugins/trash/trash-plugin.c:
	trash plugin: Fixed behavior when quota is already over limit.
	[dd3798681283]

	* src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
	quota: Set to quota transaction how many bytes/messages we're over
	quota.
	[ec8564741aa8]

2012-04-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Fixed imapc_list_prefix setting to work with INBOX.
	[6607e35dd8d2]

	* .hgsigs:
	Added signature for changeset 469cee314d9c
	[6a2ce99e39d4]

	* .hgtags:
	Added tag 2.1.5 for changeset 469cee314d9c
	[9fff96c9cfcd]

	* NEWS, TODO, configure.in:
	Released v2.1.5.
	[469cee314d9c] [2.1.5]

	* src/lib/test-strfuncs.c:
	Make static analyzer happier.
	[27415a4568b3]

	* src/lib-index/mail-index-modseq.c, src/lib-index/mail-index-
	modseq.h:
	lib-index: Added mail_index_have_modseq_tracking() needed for
	previous commit.
	[972b296db20a]

	* src/lib-storage/index/index-status.c:
	imap: While modseq tracking hasn't been enabled, return mailbox as
	NOMODSEQ. It would be possible to avoid this by always keeping track
	of highestmodseq, but that requires changing the index format a bit.
	[1222b7e38bf3]

	* src/lib-storage/mailbox-list.c:
	listescape: Don't unescape namespace prefix.
	[63af3274fb6f]

	* src/plugins/quota/quota-count.c:
	quota: Recalculation now also counts the namespace prefix mailbox's
	quota if it exists.
	[4c8f79d1f9f1]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Don't list mailboxes that don't match list patterns.
	[f24cdf8b0624]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-storage/mailbox-
	tree.c, src/lib-storage/mailbox-tree.h:
	imapc: Nonexistent mailboxes were returned as selectable mailboxes.
	[4cea936d57f2]

2012-04-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-settings.c, src/lib-storage/index/imapc
	/imapc-settings.h:
	imapc: Added imapc_list_prefix setting to limit what mailboxes are
	accessed.
	[03f44d61d582]

	* src/director/director-connection.c:
	director: Delay disconnecting director after sending CONNECT
	command. The director may not otherwise read the CONNECT.
	[d27b743c9921]

	* src/director/director-connection.c:
	director: Forward DIRECTOR commands to other connected directors.
	They can use it to realize that the director was restarted and its
	sequences start from 1.
	[1856e9085f94]

	* src/director/director.c, src/director/director.h:
	director: Try harder to connect to ring before thinking we're alone.
	[f880cf0efa0a]

	* src/director/director.c:
	director: Director ring needs to be set unsynced immediately even
	when sycning is frozen.
	[a5b7dda1db6d]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs: Fixed listing mailboxes with prefix=INBOX/
	[8d0b71fb3e49]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs: Don't assume '/' hierarchy separator when finding mailbox
	roots.
	[a41f64348d0d]

	* src/director/director-connection.c:
	director: When another director reconnects, reset its "last received
	seq". This fixes some problems where HOST updates and others were
	thought as already being received after the originating director was
	restarted.
	[798b5e1609e5]

	* src/director/director-connection.c, src/director/director-request.c,
	src/director/director.c, src/director/test-user-directory.c,
	src/director/user-directory.c, src/director/user-directory.h:
	director: Removed special (time_t)-1 code, it's not actually needed.
	Also this fixes a user refreshing issue.
	[45be27ff3414]

	* src/director/director-connection.c:
	director: Minor error message fix
	[58286c1e272d]

	* src/director/director-connection.c:
	director: And crashfix for previous change..
	[5d169948b59d]

	* src/director/director-connection.c:
	director: Adding 25c941423e42 patch yet again, now it seems to work
	right. And also fixes detection of outgoing connections that die
	during handshake sending.
	[25ca6b6d754a]

	* src/director/director-connection.c:
	director: USER sending timeout was higher than it needed to be. The
	problem was USER sending getting stuck, not the timeout itself..
	[10f5456704a7]

	* src/director/director-connection.c:
	director: Removed unnecessary error messages.
	[0c3c4d098842]

	* src/director/director-connection.c:
	director: Another fix for stuck handshake.
	[ce4e1bf7262d]

	* src/director/director-connection.c:
	director: Make sure handshaking doesn't get stuck sending USERs.
	[d9f33d78fa3d]

	* src/director/director-connection.c:
	director: Fixed protocol error detection/handling.
	[293ada796ae6]

	* src/director/director-connection.c:
	director: Improved debug handshake message.
	[ee169584bc44]

	* src/director/director-connection.c:
	director: Increased timeout for sending USER data in handshake.
	[ea5b949a623b]

	* src/director/director-connection.c:
	director: Improved error message
	[8245a97bf36c]

2012-04-19  Timo Sirainen  <tss@iki.fi>

	* src/director/director-connection.c:
	director: Reverted previous change, it didn't work properly.
	[9ef4dee0792f]

	* src/director/director-connection.c:
	director: Don't delay reading input from remote connection during
	handshake.
	[25c941423e42]

	* src/lib/ioloop.c:
	timeout_reset(): Don't use cached ioloop_timeval. Timeouts are
	sometimes reset after a long running callback. In those cases a
	cached timeval may be too far behind.
	[266521d59e2c]

	* src/director/director.c:
	director: Decreased timeout for resending lost SYNC request.
	[3acc1451ab56]

	* src/anvil/anvil-connection.c, src/auth/auth-master-connection.c,
	src/auth/auth-request-handler.c, src/auth/auth-stream.c, src/auth
	/auth-worker-client.c, src/auth/db-checkpassword.c, src/auth/passdb-
	blocking.c, src/auth/passdb-cache.c, src/config/config-connection.c,
	src/dict/dict-commands.c, src/director/director-connection.c,
	src/director/director-test.c, src/director/doveadm-connection.c,
	src/director/login-connection.c, src/doveadm/doveadm-director.c,
	src/doveadm/doveadm-penalty.c, src/doveadm/doveadm-proxy.c,
	src/doveadm/doveadm-who.c, src/ipc/ipc-connection.c, src/lib-auth
	/auth-master.c, src/lib-auth/auth-server-connection.c, src/lib-
	master/master-login-auth.c, src/lib-master/master-login.c, src/lib-
	master/master-service-settings.c, src/login-common/login-proxy.c,
	src/util/script-login.c:
	Use t_strsplit_tab() wherever possible
	[fc8031c5e691]

	* src/lib/strfuncs.c, src/lib/strfuncs.h, src/lib/test-strfuncs.c:
	Added t_strsplit_tab()
	[7eb9688c266f]

	* src/director/user-directory.c:
	director: Never set user's timestamp higher than our ioloop_time.
	[9104a9074a5a]

	* src/director/Makefile.am, src/director/director-connection.c,
	src/director/director-request.c, src/director/director.c,
	src/director/test-user-directory.c, src/director/user-directory.c,
	src/director/user-directory.h:
	director: Optimized adding users to linked list during handshake.
	[0b4295b48941]

	* src/director/director-connection.c:
	director: Increased timeouts.
	[110673e82868]

	* src/lib-storage/index/raw/raw-storage.c:
	raw storage: Name autocreated namespace as "raw-storage".
	[90d7364b8c9d]

	* src/lmtp/commands.c:
	LMTP: Don't add Return-Path: header when proxying. The backend also
	adds it and we don't want duplicates.
	[85b3975c9008]

	* src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-mail-iter.c,
	src/doveadm/doveadm-mail-iter.h:
	doveadm expunge: Added -d parameter to delete mailbox if it's empty
	after expunging.
	[782570f644f7]

	* src/lib-storage/index/index-storage.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail-
	storage.h:
	lib-storage: Added mailbox_delete_empty().
	[2d8bafd11569]

	* src/lib-storage/index/maildir/maildir-sync.c, src/lib-
	storage/index/maildir/maildir-sync.h, src/lib-storage/index/maildir
	/maildir-util.c:
	maildir_very_dirty_syncs=yes: Try harder to avoid readdir()ing.
	[ff07827db69a]

2012-04-18  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-settings.c:
	auth: Changed auth-userdb socket's default user to
	$default_internal_user. This makes the defaults more usable for
	director setups.
	[bda92bf286a0]

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: doveadm fts rescan now resets the last-indexed-uid fields
	to allow reindexing.
	[d145ea6f7061]

	* src/plugins/trash/trash-plugin.c:
	trash plugin fixes
	[51b40cffb628]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Use SHA1 of message header for guid-forced instead of the
	entire body.
	[ea7ca6330491]

	* src/lib-storage/index/imapc/imapc-mail.c, src/lib-
	storage/index/imapc/imapc-settings.c, src/lib-storage/index/imapc
	/imapc-settings.h:
	imapc: Added guid-forced feature to use SHA1(message) as GUID.
	[16ed300484c9]

2012-04-17  Timo Sirainen  <tss@iki.fi>

	* src/login-common/client-common.c:
	login: Log message change: Tried to use s/disabled/disallowed/
	plaintext auth
	[d6376942d9a6]

2012-04-16  Timo Sirainen  <tss@iki.fi>

	* src/login-common/ssl-proxy-openssl.c:
	login: Fixed per-IP ssl_ca setting inside local/remote block.
	[b60701dd4751]

2012-04-12  Timo Sirainen  <tss@iki.fi>

	* src/login-common/ssl-proxy-openssl.c:
	login: Another attempt at fixing SSL memory leak.
	[85ad4baedd43]

	* src/login-common/ssl-proxy-openssl.c:
	login: Reverted memory leak fix, because it broke some SSL setups?
	[f80f18d0ffa3]

2012-04-11  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-thread.c, src/login-common/ssl-proxy-
	openssl.c, src/plugins/quota/quota.c:
	Memory leak fixes.
	[584bd77c38fd]

	* src/lib-storage/mailbox-list-iter.c:
	lib-storage: LIST with mailbox {} settings incorrectly set
	subscribed-flags.
	[9cc178c7afb3]

	* src/lib-dict/dict-file.c:
	dict file: Fixed assert-crash with fcntl/flock lock method.
	[4fb683720a06]

	* src/lib-storage/index/mbox/mbox-storage.h, src/lib-
	storage/index/mbox/mbox-sync.c:
	mbox: Make sure each mailbox creation generates a different
	UIDVALIDITY.
	[85966c47f172]

	* src/lib-storage/index/index-storage.c:
	mbox: Deleting a mailbox didn't delete its index files.
	[c67ea0d68b77]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs: LIST may have shown mailbox as \HasNoChildren when it
	did. This probably only happened with mbox.
	[b016e771d8ab]

	* src/lib/data-stack.c, src/lib/mempool-alloconly.c, src/master
	/master-settings.c:
	--enable-devel-checks: If DEBUG_SILENT environment is set, hide
	"Growing pool" warnings.
	[7ec8f6515b0d]

2012-04-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-dict/dict-file.c:
	dict file: Bugfix for previous lock change and changed its
	configuration syntax.
	[bf5ae73e9475]

	* src/lib-dict/dict-file.c:
	dict file: Optionally use fcntl/flock locking, instead of dotlocks.
	[a1c0e4046d81]

	* src/lib-storage/mail-user.c:
	lib-storage: mail_user_try_home_expand() now looks up home only when
	needed. Before a recent code cleanup the lookup was always done, but
	if the home didn't exist it still just happened to return success.
	The cleanup changed it to return failure, which broke the original
	behavior.
	[20e1aa322b1e]

	* src/lib-storage/index/pop3c/pop3c-mail.c:
	pop3c: "TOP msgnum 0" was missing the 0 parameter.
	[0b59dbb1a288]

	* src/lib-storage/index/pop3c/pop3c-client.c:
	pop3c: Removed extra "R " prefix from POP3 server error messages.
	[35e232e961d3]

2012-04-09  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 2c21c940e19d
	[97cba128896f]

	* .hgtags:
	Added tag 2.1.4 for changeset 2c21c940e19d
	[1fe529f50259]

	* NEWS, configure.in:
	Released v2.1.4.
	[2c21c940e19d] [2.1.4]

	* src/director/director-connection.c:
	director: Fixed disconnecting unwanted connection.
	[3771ff9c04d2]

	* src/lib-storage/mail-storage.c:
	lib-storage: If mailbox deletion crashed, undelete the mailbox when
	opening it. The deletion is assumed to be crashed if it was started
	over 5 minutes ago.
	[a109580dea25]

2012-04-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Minor code cleanup.
	[30f8ef8696f0]

2012-04-09  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-user.c:
	lib-storage: Set mail_user.service earlier.
	[2bf504b33d64]

	* src/imap/cmd-fetch.c:
	imap: Don't allow FETCH items list to be empty.
	[19e09ab09383]

	* src/director/director-connection.c, src/director/director-host.h,
	src/director/director.c, src/director/director.h, src/director
	/doveadm-connection.c:
	director: Don't communicate with directors that recently sent
	invalid input. Track network and protocol failures separately. If a
	director had sent invalid protocol data within last 60 seconds,
	don't try to connect to it and don't allow it to connect to us.
	[366b9e5fc85c]

	* src/director/director-connection.c, src/director/director-
	connection.h, src/director/director.c:
	director: Don't try to send the new SYNC parameter to old director
	versions. This should allow adding new directors to an old director
	ring without anything breaking. Once all directors have upgraded
	they start using the new features.
	[084064444f89]

2012-04-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-user.c:
	lib-storage: Minor code cleanup.
	[f267a2b3f424]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs: Fixed iteration with mail_full_filesystem_access=yes
	[86e6dc46a80e]

	* src/lib-storage/list/mailbox-list-maildir-iter.c, src/lib-
	storage/list/mailbox-list-subscriptions.c, src/lib-storage/list
	/mailbox-list-subscriptions.h:
	Maildir++: Return nonexistent subscribed mailbox with nonexistent
	flag. e.g. LIST (SUBSCRIBED) "" *
	[f03e81b702a8]

	* src/lib-storage/mail-search-register-human.c:
	lib-storage: Human search builder now uses SEARCH_MAILBOX_GLOB only
	when wildcards are used.
	[7a414d055b3c]

	* src/doveadm/doveadm-mailbox-list-iter.c:
	doveadm: When AND-search includes mailbox names, don't bother going
	through them by list iteration.
	[1b6fb6363e7f]

	* src/doveadm/doveadm-mail-mailbox.c:
	dovadm mail commands: When mailbox parameter has no wildcard, use
	SEARCH_MAILBOX.
	[200af5e4c44f]

	* src/doveadm/doveadm-mail-mailbox-status.c:
	doveadm status: Don't include the fields parameter as a mailbox in
	search query.
	[19e9a83ca8dc]

	* src/plugins/pop3-migration/pop3-migration-plugin.c:
	pop3-migration: Error message improvement.
	[52ad5a66ee58]

	* src/lib-storage/mail-namespace.c:
	lib-storage: Require at least one namespace to be non-hidden
	[1a33cc98666a]

	* src/doveadm/doveadm-auth.c:
	doveadm user: Added -m parameter to show some of the mail settings.
	[601014feade4]

	* src/lib-storage/Makefile.am:
	Makefile: Link libdovecot-storage.so with LINKED_STORAGE_LDADD.
	[8b91367bc3e1]

	* src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/passdb-ldap.c:
	ldap: Removed warning about changed user_* settings. This warning
	can happen even with recommended settings when symlinking the
	passdb's ldap config to userdb ldap config.
	[324df4134049]

	* src/lib-storage/mail-user.c:
	lib-storage: When doing a userdb lookup, use the user's service
	instead of "lib-storage".
	[2250f11695bc]

	* src/auth/db-ldap.c, src/auth/db-ldap.h:
	ldap: Treat =key the same as =key=, just like v2.0.
	[9930c75b989a]

	* src/lib-lda/mail-deliver.c:
	lib-lda: mail_deliver()'s dest_mail now prefetches message's GUID.
	This fixes copying an already expunged mail with maildir.
	[c93601fa444e]

	* src/lib-storage/index/index-mail.h, src/lib-storage/index/maildir
	/maildir-mail.c:
	maildir: Remember the mail's GUID/filename in memory once it's
	fetched once. This allows retrieving it later even if the message
	gets expunged.
	[96ce9c0c6f05]

	* src/lib-storage/index/dbox-single/sdbox-copy.c:
	sdbox: If copying with link() fails with ENOENT, fallback to trying
	regular copying. This also fixes missing error reporting for that
	case.
	[cc734436c140]

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Previous change incorrectly reverted setting parent
	shared namespace usable.
	[2bcab08dc994]

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Fixed setting usable/unusable flags for shared
	namespaces. If a namespace doesn't have a root that exists, mark it
	as unusable. This avoids ACL plugin from autocreating that
	directory.
	[4fe357d34faf]

	* src/doveadm/doveadm-mail-mailbox.c:
	doveadm mailbox delete: -s parameter wasn't working.
	[411344f9daf3]

	* src/lib-index/mail-index-map.c:
	lib-index: Don't assert-crash with broken extension record intros in
	log.
	[47526bf86c57]

2012-04-03  Timo Sirainen  <tss@iki.fi>

	* src/director/director-connection.c, src/director/director-
	connection.h, src/director/director.c, src/director/director.h:
	director: Redesigned connection handling and error handling.
	Director now accepts all connections from everywhere and syncs them
	until the handshaking is finished. At that point it finally decides
	if this is a connection that should be used as our left/right
	connection, or if it should be disconnected. This should make
	connecting more reliable, especially if one of the directors sends
	broken handshake or has other trouble.
	[b43ae3805f5f]

	* src/director/director-connection.c, src/director/director-
	connection.h, src/director/director.c:
	director: Handle all commands during handshake. Previously the
	sender might have sent these commands, but the receiver wouldn't
	have handled them and instead just disconnected.
	[544a8c4705e5]

	* src/director/director-connection.c:
	director: Improved error logging for handling invalid
	commands/parameters.
	[d6cd93e32b37]

2012-04-02  Timo Sirainen  <tss@iki.fi>

	* src/director/director-connection.c, src/director/director-
	connection.h, src/director/director.c, src/director/director.h:
	director: List of director connections belongs to struct director.
	[c760ac046203]

	* src/director/director-connection.c, src/director/director-
	connection.h, src/director/director.c:
	director: Changes to PING handling. Use larger ping timeouts. While
	waiting for sync keep doing rapid pings until the sync is finished,
	not just once.
	[168e3b5cb6e8]

	* src/imap/cmd-list.c:
	imap: Enabling SPECIAL-USE selection option should also enable the
	same return option.
	[7f4c35fcae80]

2012-03-30  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/imapc/imapc-mail.c, src/lib-storage/index/imapc/imapc-
	settings.c, src/lib-storage/index/imapc/imapc-settings.h, src/lib-
	storage/index/imapc/imapc-storage.h:
	imapc: Added imapc_features=rfc822.size setting to use RFC822.size
	for physical sizes.
	[6a8b78450202]

	* src/plugins/pop3-migration/pop3-migration-plugin.c:
	pop3-replication: Don't request virtual size from IMAP mailbox, we
	don't need it.
	[87cd04f35f82]

	* src/plugins/pop3-migration/pop3-migration-plugin.c:
	pop3-migration: Migrate also POP3 ordering.
	[6df2235fd6af]

	* src/doveadm/dsync/dsync-data.h, src/doveadm/dsync/dsync-worker-
	local.c:
	dsync: Preserve pop3 ordering. This is currently done only when
	syncing locally, because it's not easy to add more fields for the
	current dsync proxying protocol in backwards compatible way. dsync
	redesign should fix this.
	[7ae930911a74]

	* src/lib-storage/index/maildir/maildir-save.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.c, src/lib-storage
	/mail-storage.h:
	lib-storage: Added mailbox_save_set_pop3_order() and implemented for
	Maildir.
	[82cd7aa65faf]

	* configure.in, src/plugins/Makefile.am,
	src/plugins/pop3-migration/Makefile.am,
	src/plugins/pop3-migration/pop3-migration-plugin.c,
	src/plugins/pop3-migration/pop3-migration-plugin.h:
	Added pop3-migration plugin for getting POP3 UIDLs from POP3 server.
	The idea is to use this with dsync to migrate mails via imapc, but
	for getting POP3 UIDLs via pop3c.
	[78317179b4af]

	* src/lib-storage/index/pop3c/pop3c-storage.c:
	pop3c: Allow accessing via INBOX, regardless of what namespace it
	exists in.
	[8a94981d8040]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs: Don't crash in iteration if there is no root dir (pop3c).
	[b7dc140e6b4d]

	* src/doveadm/dsync/dsync-brain-msgs.c:
	dsync: Fixed handling messages without GUID.
	[078697a32109]

2012-03-29  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Added assert + minor code cleanup
	[7b5b40f64439]

2012-03-27  Timo Sirainen  <tss@iki.fi>

	* src/login-common/client-common.c, src/login-common/ssl-proxy-
	openssl.c, src/login-common/ssl-proxy.c, src/login-common/ssl-
	proxy.h:
	*-login: Previous SSL fixes were still broken with service_count=1.
	[339b1337aab0]

2012-03-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-settings/settings-parser.c:
	lib-settings: Make static analyzer happier.
	[94286d055872]

	* src/config/config-filter.c, src/doveadm/doveadm-stats.c,
	src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/test-dsync-
	proxy-server-cmd.c, src/imap/imap-sync.c, src/lib-dict/dict-sql.c,
	src/lib-mail/message-parser.c, src/lib-master/master-login.c, src
	/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/maildir
	/maildir-mail.c, src/lib-storage/index/maildir/maildir-sync.c, src
	/lib-storage/list/subscription-file.c, src/lib/file-cache.c,
	src/lib/ostream.c, src/lib/process-title.c, src/lib/strfuncs.c,
	src/lib/test-str-find.c, src/plugins/expire/doveadm-expire.c,
	src/plugins/fts-squat/squat-trie.c, src/plugins/fts-squat/squat-
	uidlist.c:
	Changes to make static analyzer happier.
	[ba1fc76e3a2c]

	* src/lib-sql/driver-pgsql.c:
	pgsql: Fixed a potential crash if connection got closed during
	synchronous query.
	[e05be9afaed0]

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Indexing mail bodies was broken.
	[bcc5e71650b9]

	* src/director/director.c:
	director: Avoid crashing if all directors are removed when
	reconnecting. There's no way to currently remove directors though,
	so this couldn't have actually happened.
	[a71bc8dbe53d]

	* src/lib/network.c:
	net_listen(): If bind(ip=any) fails with non-EADDRINUSE, don't
	crash.
	[cd7e15b2d575]

	* src/stats/mail-command.c, src/stats/mail-domain.c, src/stats/mail-
	ip.c, src/stats/mail-session.c, src/stats/mail-user.c:
	stats: When freeing memory, make sure we don't crash if some list
	gets empty.
	[3980c025805c]

	* src/lib-storage/mail-storage.c:
	lib-storage: If trying to copy a message into already deleted
	mailbox, don't crash.
	[8897f32939b0]

	* src/lib/data-stack.c:
	data-stack: Fixed calling t_push()/t_malloc() before
	data_stack_init().
	[e79496bb09f5]

2012-03-24  Timo Sirainen  <tss@iki.fi>

	* src/login-common/ssl-proxy.c:
	Compiling fix for building without SSL.
	[8699f3d3c1e4]

2012-03-23  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.h, src/lib-imap/test-imap-utf7.c, src/lib-
	storage/index/imapc/imapc-storage.h, src/lib-test/test-common.c,
	src/lib/strfuncs.h, src/master/main.c:
	Compiler warning fixes.
	[4ae85f573c93]

	* src/login-common/ssl-proxy.c:
	Fixed compiling without SSL.
	[f369e76d0867]

	* doc/example-config/conf.d/10-mail.conf:
	mail_temp_scan_interval comment update.
	[24b3de4952b5]

	* doc/example-config/conf.d/10-mail.conf, src/lib-storage/index/dbox-
	common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox-
	storage.h, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-storage/mail-
	storage-settings.c, src/lib-storage/mail-storage-settings.h:
	Added mail_temp_scan_interval setting and changed its default from
	8h -> 1w.
	[370e1f945c01]

	* src/lib/unlink-old-files.c, src/lib/unlink-old-files.h:
	unlink_old_files(): Update atime before scan, not after. If
	Maildir/dbox scanning takes long this makes sure that a lot of
	processes won't be scanning it in parallel.
	[091b9f49f24f]

	* src/lib/network.c:
	net_getunixcred(): Fixed Solaris to use getpeerucred() properly.
	[98fd46f8d1ab]

	* src/lib-mail/message-date.c:
	lib-mail: message_date_parse() now also accepts '.' separator in
	hh.mm.ss time.
	[d4cc57c8a455]

2012-03-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-sync.c:
	sdbox: Don't log "Rebuilding index" when another process already did
	it and we cancel it.
	[f30437ed63dc]

	* src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index
	/dbox-single/sdbox-sync.c, src/lib-storage/index/maildir/maildir-
	sync-index.c, src/lib-storage/mail-storage-private.h,
	src/plugins/quota/quota-storage.c:
	quota: Added a kludge to avoid recalculating quota.
	[fb70195b5d47]

	* src/lib-storage/index/index-mail.c, src/plugins/virtual/virtual-
	mail.c:
	lib-storage: Don't access mail->box->view, but
	mail->transaction->view. They may not be the same. In such cases
	e.g. mail_set_uid() may have accessed a wrong mail.
	[39db9e4c2283]

	* src/lib-dict/dict-file.c, src/lib-storage/fail-mailbox.c:
	Increased initial memory pool sizes.
	[3cb33e050dc4]

	* src/lib-storage/index/dbox-multi/mdbox-sync.c:
	mdbox: Fixed a long loop/crash when mdbox is broken during saving.
	[703380324b71]

	* src/lib-master/master-service.c:
	lib-master: Minor memory leak fix on deinit.
	[bb8d2d74a71d]

	* src/login-common/client-common.c:
	imap-login: Memory leak fix.
	[5ae5c44b1943]

	* src/login-common/client-common.c, src/login-common/login-proxy.c,
	src/login-common/main.c, src/login-common/ssl-proxy-openssl.c, src
	/login-common/ssl-proxy.h:
	*-login: Another crashfix
	[842e5124038d]

	* src/login-common/client-common.c, src/login-common/ssl-proxy-
	openssl.c, src/login-common/ssl-proxy.h:
	*-login: Fixed crashing when proxying SSL connections to a remote
	server.
	[1d23440ccb89]

2012-03-21  Timo Sirainen  <tss@iki.fi>

	* src/config/config-filter.c:
	config: Added a comment
	[ff5c341f8838]

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	lib-settings: settings_parser_apply_changes() now deduplicates
	SET_STRLIST arrays. This fixes overriding strlist keys in config
	file filters, e.g.:

	plugin { foo = general } protocol lda { plugin { foo = lda-
	specific setting } }
	[bb8387e6b18f]

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: Avoid duplicate S=size and W=sizes in maildir filenames.
	This happens with maildir_copy_with_hardlinks=no and when copying a
	mail with zlib compression enabled.
	[3599790da3d7]

	* src/auth/auth-client-connection.c:
	auth: Don't check client PID in non-login auth sockets. This fixes
	PID conflict errors when using TCP auth sockets for e.g. MTAs.
	[23ed09ca847a]

	* src/imap/imap-commands.c:
	imap: Handle XLIST command by running LIST command. If the SPECIAL-
	USE mailboxes are enabled, this results in mostly compatible output.
	This change allows easily enabling the GMail XLIST extension simply
	by adding +XLIST to imap_capability setting.
	[03499202690f]

2012-03-20  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-import.c:
	doveadm import: Copy also message flags.
	[b2a3775c7a87]

2012-03-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs: Renaming non-UTF8 mailbox names wasn't done in all
	situations.
	[c77fbfce438d]

2012-03-16  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset b9adfd52cb66
	[063cd2a15056]

	* .hgtags:
	Added tag 2.1.3 for changeset b9adfd52cb66
	[3df9273f15b4]

	* NEWS, configure.in:
	Released v2.1.3.
	[b9adfd52cb66] [2.1.3]

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-file.h, src/lib-storage/index/dbox-multi/mdbox-
	file.c, src/lib-storage/index/dbox-single/sdbox-file.c:
	dbox: Reverted recent fstat() avoidance change. It didn't do that,
	just broke mdbox.
	[58732d172107]

2012-03-15  Timo Sirainen  <tss@iki.fi>

	* src/director/user-directory.c, src/lib-index/mail-cache-fields.c,
	src/replication/replicator/replicator-queue.c:
	Compiler warning fixes.
	[5b05411a81cf]

	* src/replication/replicator/replicator-brain.c:
	replicator: Fixed off-by-one-second "do we do a full sync now?"
	check.
	[e935ddb5a9fc]

	* .hgsigs:
	Added signature for changeset 744e0d7f1b25
	[914076de4c48]

	* .hgtags:
	Added tag 2.1.2 for changeset 744e0d7f1b25
	[67ef6f6d45bf]

	* NEWS, configure.in:
	Released v2.1.2.
	[744e0d7f1b25] [2.1.2]

	* doc/example-config/dovecot.conf:
	example-config: Added auth_proxy_self setting.
	[b2643c587f5b]

	* src/imap/cmd-list.c:
	imap: Use mailbox_exists() to find out if namespace prefix is
	selectable or not. mailbox_list_mailbox() should be treated as an
	internal function, since ACLs don't apply to it.
	[65a75939ac2c]

	* src/lib-storage/mail-storage.c:
	lib-storage: mailbox_exists() now returns namespace prefix as
	selectable if it is.
	[55586f4a86f1]

	* src/lib-storage/list/mailbox-list-maildir-iter.c:
	layout=maildir++: Don't list INBOX if it doesn't match the list
	patterns.
	[0b01fff98a04]

	* src/auth/auth.c:
	auth: If global passdb is missing, don't complain if protocol x and
	!x { passdb } exists.
	[8fb3fd391d18]

2012-03-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs: Rename mailbox names that aren't valid UTF-8 to avoid
	crashes later.
	[c077ca9bc306]

	* src/lib-storage/list/mailbox-list-index-sync.c:
	mailbox_list_index=yes: Don't add autocreated mailboxes to index
	before they are created.
	[3550dfc4af29]

	* src/lib-storage/list/mailbox-list-index.c:
	mailbox_list_index=yes: Don't crash at deinit (fix to previous
	change)
	[316110bd18e0]

	* src/lib-storage/list/mailbox-list-index.c, src/lib-storage/list
	/mailbox-list-index.h:
	mailbox_list_index=yes: Delay opening/creating the index until it's
	needed. This also fixes an error when trying to create the index
	before the parent director is created.
	[0274c4132052]

	* src/auth/auth-cache.c:
	auth: Make sure auth cache doesn't break if any cache keys have
	TABs.
	[90738a7c7535]

	* src/auth/Makefile.am, src/auth/auth-cache.c, src/auth/auth-
	request.c, src/auth/auth-request.h, src/auth/test-auth-cache.c:
	auth: Fixed auth cache key generation to support %{long} variables
	[a090cbbe3008]

	* src/lib/test-var-expand.c, src/lib/var-expand.c, src/lib/var-
	expand.h:
	liblib: Added var_get_key_range()
	[13d4c4f91622]

	* src/anvil/penalty.c:
	anvil: s/memcpy/memmove/ for updating checksum list. This may have
	caused anvil to update penalties wrong.
	[f94f289ce009]

	* src/lib/test-primes.c:
	test-primes: Fixed undefined behavior.
	[0647b0a1b4e5]

	* src/config/doveconf.c:
	doveconf: Dump protocol/local/remote sections even if there was an
	error earlier. This allows getting a mostly-working config file
	rather than a truncated one.
	[b0ef6e05a15d]

2012-03-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mailbox-list-iter.c:
	lib-storage: mailbox_list_iter_next() now enforces backends not to
	return mailbox name from data stack.
	[1883074f9a9d]

	* src/lib-storage/list/mailbox-list-index-iter.c, src/lib-storage/list
	/mailbox-list-index.h:
	mailbox_list_index=yes iteration: Don't allocate returned mailbox
	names from data stack. This breaks dsync.
	[6cb102aa5d63]

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-file.h, src/lib-storage/index/dbox-multi/mdbox-
	file.c, src/lib-storage/index/dbox-single/sdbox-file.c:
	dbox: Avoid unnecessary fstat() call during file creation.
	[a3b162331cd1]

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib/compat.h:
	lib-storage: Don't log errors if trying to open a mailbox with too
	long name. Handle ENAMETOOLONG errors the same as ENOENT.
	[37d6dd0f053b]

	* src/plugins/fts/fts-storage.c:
	fts: Another crashfix for recent changes.
	[352dd32abb8d]

	* src/director/director-request.c:
	director: Compiler warning fix
	[b1c21492f8c9]

2012-03-12  Timo Sirainen  <tss@iki.fi>

	* src/stats/mail-session.c:
	stats: When logging about a session crash, log also its service.
	[74d3f14dec5a]

	* src/plugins/fts/fts-storage.c:
	fts: Crashfix when FTS isn't needed for performing search.
	[63f3bb8462b4]

	* src/plugins/fts/Makefile.am, src/plugins/fts/fts-indexer.c,
	src/plugins/fts/fts-storage.c, src/plugins/fts/fts-storage.h:
	fts: Added fts_index_timeout setting to abort search if indexing
	hasn't finished by then. This timeout shows up to client as: tag NO
	[INUSE] Timeout while waiting for indexing to finish
	[4dd97a92691a]

	* src/director/director-request.c:
	director: Improved request timeout error more.
	[d27b6724db32]

	* src/director/director-request.c:
	director: If request times out, log more information.
	[1b37d6422905]

	* Makefile.am:
	Makefile: Delete dovecot-config on distclean
	[e75446fc828c]

2012-03-11  Timo Sirainen  <tss@iki.fi>

	* src/replication/aggregator/Makefile.am:
	Makefile: Fixed header filename.
	[75f1f39c547f]

	* src/auth/db-checkpassword.c:
	checkpassword: Compiling fix for some systems
	[2c5a7cc1023e]

2012-03-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Fixed accessing v1.x mbox index files without errors.
	[1289b79241bb]

	* src/plugins/imap-stats/imap-stats-plugin.c, src/stats/mail-
	command.c:
	stats: Fixes to handling per-command stats updates.
	[96ad6da5c902]

	* src/lib-storage/index/index-search.c:
	lib-storage: Update search's cost more widely and less often.
	[00887de4ad32]

	* src/doveadm/doveadm.c:
	doveadm config: Don't fail on invalid config (e.g. plugin not found)
	This command is often used in init scripts and such to stop/restart
	Dovecot.
	[4a82ff720781]

	* src/stats/mail-command.c:
	stats: UPDATE-CMD for an existing command wasn't handled properly.
	The command's stats themselves weren't updated. Also due to recent
	change updating session's stats from a command no longer works
	properly, because the session could also be updated in the middle of
	the command.
	[30802a608490]

	* src/auth/db-checkpassword.c:
	checkpassword: Set CREDENTIALS_LOOKUP=1 for passdb lookups
	[495bda325391]

	* src/auth/db-checkpassword.c, src/auth/passdb-checkpassword.c:
	checkpassword: Implemented support for credentials lookup.
	[f7c42aa64381]

	* src/auth/auth-request.c, src/auth/auth-request.h, src/auth
	/checkpassword-reply.c, src/auth/db-checkpassword.c, src/auth/db-
	checkpassword.h, src/auth/passdb-checkpassword.c, src/auth/userdb-
	checkpassword.c:
	checkpassword: Escape transferred extra fields properly.
	[e5ed29ef593e]

	* src/auth/db-checkpassword.c:
	checkpassword: Error handling fix
	[e3c1f3f93add]

	* src/auth/db-checkpassword.c:
	checkpassword: If username+password is too large, treat it as
	regular auth failure.
	[262ac078a1e4]

	* src/auth/checkpassword-reply.c, src/auth/db-checkpassword.c,
	src/auth/db-checkpassword.h, src/auth/passdb-checkpassword.c,
	src/auth/userdb-checkpassword.c:
	auth: checkpassword code cleanup. Also fixed some error handling.
	Removes a lot of copy&pasted code between passdb and userdb.
	[71b64b7b2e63]

2012-03-08  Timo Sirainen  <tss@iki.fi>

	* src/director/director-connection.c, src/director/director-request.c,
	src/director/director.c, src/director/director.h,
	src/director/main.c, src/director/notify-connection.c, src/director
	/user-directory.c, src/director/user-directory.h:
	director: Avoid user getting redirected to different servers near
	its expiration. Fixes a problem when user is logging in at the same
	time on director1 which thinks the user is expired, and on director2
	which thinks the user expires only in 1 second.
	[7a26c427fc78]

	* src/lib-master/master-login.c:
	lib-master: Fixed passing request data from login process.
	[d6fda337af15]

	* src/imap/main.c:
	imap: Crashfix when running standalone.
	[91438eb4fad8]

	* Makefile.am:
	Makefile: s/MKDIR_P/mkdir_p/ to make it actually work
	[8c6ff808902c]

2012-03-07  Timo Sirainen  <tss@iki.fi>

	* src/director/director-connection.c, src/director/director.c,
	src/director/director.h:
	director: Keep track of the highest supported protocol version in
	the ring.
	[334424e7465e]

	* src/login-common/login-proxy-state.c:
	login proxy: Handle proxy-notify errors better. If open() fails with
	ENOENT, it should still be logged as an error. If opening or
	anything else fails, retry opening the fifo 60 secs.
	[94de7605f50f]

	* src/director/notify-connection.c:
	director: Log a warning if user is refreshed too late.
	[2026af3cf87b]

	* src/director/director-connection.c:
	director: Add more info to "User hash .. is being redirected to two
	hosts" error.
	[d048cebc1fd4]

	* src/imap-login/client.c, src/imap-login/imap-proxy.c, src/imap/imap-
	client.c, src/imap/imap-client.h, src/imap/main.c, src/lib-master
	/master-login.c, src/lib-master/master-login.h, src/lib-storage
	/mail-storage-service.c, src/lib-storage/mail-storage-service.h, src
	/login-common/client-common.c, src/login-common/client-common.h, src
	/login-common/sasl-server.c, src/pop3-login/client.c,
	src/pop3-login/pop3-proxy.c, src/pop3/main.c,
	src/pop3/pop3-client.c, src/pop3/pop3-client.h:
	Added a "session ID" string for imap/pop3 connections, available in
	%{session} variable. The session ID passes through Dovecot IMAP/POP3
	proxying to backend server. The same session ID is can be reused
	after a long time (currently a bit under 9 years).
	[5bbcf636bbeb]

	* src/login-common/login-proxy.c:
	login proxy: Log "disconnecting" message also with
	login_log_format_elements.
	[49b832c5de0e]

	* src/login-common/client-common.c:
	login_log_format_elements: Allow using %{long_variables} without
	breaking.
	[9b78e93e5b71]

	* src/doveadm/doveadm-mail-server.c, src/doveadm/server-connection.c,
	src/doveadm/server-connection.h:
	doveadm: Handle -NOUSER replies from doveadm-server.
	[9d47d53650be]

	* src/plugins/fts/decode2text.sh:
	decode2text: Avoid leaving temp files and hanging child processes.
	[e540405902f1]

2012-03-05  Timo Sirainen  <tss@iki.fi>

	* src/plugins/stats/stats-connection.c:
	stats: Don't log write()=EPIPE failures. Retry opening the pipe
	once.
	[315f0d8cc2b2]

	* src/plugins/stats/stats-plugin.c, src/plugins/stats/stats-plugin.h:
	stats: More changes to send stats while doing long running searches.
	[721e127e107f]

	* src/lib-storage/index/index-search.c:
	lib-storage: When searching with a sort program, don't prefetch any
	mails. The prefetching probably ends up being pointless.
	[0c3cb8976e81]

	* src/pop3/pop3-client.c:
	pop3: Added assert.
	[8a47994cd509]

	* src/plugins/stats/stats-plugin.c, src/plugins/stats/stats-plugin.h:
	stats: Update stats once per second for long running nonblocking
	searches.
	[d66568d34e40]

	* src/director/Makefile.am, src/director/director-request.c,
	src/director/director-settings.c, src/director/director-settings.h,
	src/director/director.c, src/director/doveadm-connection.c,
	src/director/notify-connection.c, src/director/user-directory.c,
	src/director/user-directory.h, src/lib-mail/Makefile.am, src/lib-
	mail/mail-user-hash.c, src/lib-mail/mail-user-hash.h, src/login-
	common/Makefile.am, src/login-common/login-proxy.c, src/login-common
	/login-settings.c, src/login-common/login-settings.h:
	Added director_username_hash setting to specify what part of the
	username is hashed. The default is "%u" meaning the full username.
	Another potentially useful value is "%d" for hashing only the domain
	(i.e. redirect users from the same domain always to same server so
	they can safely access each others' shared mailboxes).
	[817ef4c9f1f3]

	* src/replication/replicator/replicator-settings.c:
	replication_max_conns setting is a number, not a time interval.
	[005bcb8d8d02]

	* src/replication/aggregator/replicator-connection.c:
	aggregator: Fixed leaking connections to replicator.
	[7131eb54e9cf]

	* src/lmtp/Makefile.am:
	Makefile: Fixed compiling lmtp with some SSL_LIBS options.
	[32edf12d7624]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Set user.dsyncing=TRUE also for dsync-server. This avoids
	dsync server immediately triggering another dsync when using
	replication.
	[5429dac9830c]

	* src/doveadm/dsync/dsync-worker-local.c:
	dsync: If mailbox was expunged empty, the messages may have
	reappeared. This dependend on what the last UID of the previous
	mailbox was.
	[f549cd60fec9]

2012-03-04  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mount.c, src/lib-master/mountpoint-list.c, src
	/lib-master/mountpoint-list.h, src/master/main.c:
	Don't auto-add mountpoints under /media or /cdrom.
	[a63651897eac]

	* configure.in, dovecot-config.in.in, src/auth/Makefile.am,
	src/doveadm/Makefile.am, src/doveadm/dsync/Makefile.am,
	src/imap/Makefile.am, src/indexer/Makefile.am, src/lda/Makefile.am,
	src/lib-storage/Makefile.am, src/lib-storage/index/Makefile.am, src
	/login-common/Makefile.am, src/plugins/fts-squat/Makefile.am,
	src/pop3/Makefile.am, src/util/Makefile.am:
	Makefile: Link with SSL_LIBS whenever linking libssl_iostream.la
	[e540404debb7]

	* Makefile.am:
	Makefile: Fix to previous change to get dovecot-config file built
	again.
	[a743cc250208]

	* Makefile.am:
	Makefile: Fixed dovecot-config installation
	[2f3c83f28dfe]

	* src/doveadm/doveadm-mailbox-list-iter.c, src/lib-storage/mailbox-
	list.h:
	lib-storage: Removed MAILBOX_LIST_ITER_LIST_PREFIXES flag. It was
	already accidentally enabled by default, and there's really no good
	reason why it shouldn't always be enabled.
	[d4f40b5c080c]

	* src/lib-storage/mailbox-list-iter.c:
	lib-storage: mailbox_list_iter_init_namespaces() duplicated INBOX if
	it was also ns prefix.
	[bbe6b6c2ee99]

	* src/lib-mail/rfc822-parser.c:
	lib-mail: rfc822_parse_quoted_string() didn't remove '\' from the
	strings.
	[92c6e963176e]

	* src/auth/userdb-passwd.c:
	auth: userdb passwd iteration skips now also users with
	/usr/sbin/nologin shell
	[694ea6e13a86]

	* src/lib-storage/index/index-storage.c:
	lib-storage: If mailbox is already open in mailbox_enable(), enable
	modseqs.
	[31ae11fe18b2]

	* src/lib-storage/index/index-storage.c:
	lib-storage: mailbox_enable() shouldn't actually open the mailbox.
	This combined with mailbox_get_status() never synced the mailbox, so
	if there were any changes they weren't visible in STATUS reply.
	[8cbc130c2b72]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync server: Ignore -f, -R and -m parameters instead of failing.
	v2.0 dsync did this as well.
	[9c6eeeb810c0]

	* src/imap/cmd-append.c:
	imap: Fixed error handling in APPEND parameters.
	[5a62b55914c4]

	* src/log/log-connection.c:
	log: Avoid an "master input for invalid service_fd" error at deinit.
	[509206065d33]

	* src/log/log-connection.c, src/log/main.c:
	log: Don't shutdown until all log writers have gone. This fixed
	losing log messages during shutdown.
	[174a22a052fe]

	* src/replication/replicator/replicator-queue.c:
	replicator: Another deinit crashfix
	[f7a3714dc390]

	* src/replication/replicator/replicator-queue.c:
	replicator: Fixed crash on deinit
	[3b258bb9a03f]

	* src/replication/replicator/replicator-queue.c:
	replicator: Queue handling was pretty broken
	[633e587446d8]

	* src/plugins/replication/replication-plugin.c:
	replication plugin: Don't try to close fifo if it wasn't even
	opened.
	[9d47be37afeb]

	* src/plugins/Makefile.am:
	Makefile: Added missing replication plugin directory
	[a422bd8ed511]

	* src/auth/userdb-passwd.c:
	auth: userdb passwd iteration now skips users with shell set to
	/bin/false or /sbin/nologin
	[85a8d582d37f]

	* src/replication/replicator/doveadm-connection.c:
	replicator: Crashfix
	[fed306bef481]

	* src/doveadm/client-connection.c:
	doveadm-server: If socket is 0600 mode there's never no need to
	authenticate. Even if the socket's owner doesn't match the process's
	effective UID. This could be e.g. because socket owner is root,
	while doveadm-server runs as vmail.
	[ed641f7da63b]

	* src/plugins/replication/replication-plugin.c:
	replication plugin: Handle shared namespaces better, skip public
	namespaces. These will be handled better later, maybe in v2.2.
	[21d5e258d69c]

	* src/plugins/replication/replication-plugin.c:
	replication plugin: Use one shared notification fifo for all users.
	[b44922333957]

	* src/doveadm/client-connection.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h, src/replication/replicator/doveadm-
	connection.c:
	doveadm server now returns unknown users with -NOUSER error.
	[9693521aa153]

	* .hgignore, configure.in, src/Makefile.am, src/doveadm/dsync/doveadm-
	dsync.c, src/lib-storage/mail-user.h,
	src/plugins/replication/Makefile.am, src/plugins/replication
	/replication-plugin.c, src/plugins/replication/replication-plugin.h,
	src/replication/Makefile.am, src/replication/aggregator/Makefile.am,
	src/replication/aggregator/aggregator-settings.c,
	src/replication/aggregator/aggregator-settings.h,
	src/replication/aggregator/aggregator.c, src/replication/aggregator
	/notify-connection.c, src/replication/aggregator/notify-
	connection.h, src/replication/aggregator/replicator-connection.c,
	src/replication/aggregator/replicator-connection.h, src/replication
	/replication-common.h, src/replication/replicator/Makefile.am,
	src/replication/replicator/doveadm-connection.c,
	src/replication/replicator/doveadm-connection.h,
	src/replication/replicator/notify-connection.c,
	src/replication/replicator/notify-connection.h,
	src/replication/replicator/replicator-brain.c,
	src/replication/replicator/replicator-brain.h,
	src/replication/replicator/replicator-queue.c,
	src/replication/replicator/replicator-queue.h,
	src/replication/replicator/replicator-settings.c,
	src/replication/replicator/replicator-settings.h,
	src/replication/replicator/replicator.c:
	Initial implementation of dsync-based replication.
	[14ff849dc266]

	* Makefile.am:
	Makefile: Fixed compiling with automake 1.11.2+
	[a452e5f616a2]

2012-03-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/driver-sqlpool.c:
	lib-sql: If failed query is retried, log it as as warning instead of
	as error.
	[1002733ca266]

	* src/login-common/login-proxy.c:
	login proxy: Don't assume host is down unless last success was >30s
	before last failure. This avoids thinking that host is down, simply
	because one connection for it failed.
	[53b23557ec54]

	* src/doveadm/doveadm-settings.c, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/dsync/dsync-worker-local.c, src/doveadm/dsync/dsync-
	worker.h:
	dsync: Added -n parameter to dsync a specific namespace.
	[e86198d749ec]

	* src/lib/eacces-error.c:
	eacces_error_get*(): Added ',' to message to improve readability.
	[095abcfab7f1]

	* src/lib/eacces-error.c:
	eacces_error_get*(): Suggest ACL/MAC error if UNIX permission bits
	look ok.
	[d247d53f80b9]

	* src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.h:
	lib-storage: mail_transaction_commit_changes.changed=TRUE only when
	something actually changed.
	[3e9f91d8b2af]

	* src/config/config-request.c, src/doveadm/dsync/dsync-brain.c,
	src/doveadm/dsync/dsync-proxy-server.c, src/lib-settings/settings-
	parser.c:
	Increased initial memory pool sizes and marked some of them as
	"growing".
	[91e035840dc6]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Added -d parameter to sync to plugin/mail_replica
	destination. This could be one global default or overridden by
	userdb.
	[dc0038843cc7]

	* src/doveadm/doveadm-settings.c, src/doveadm/doveadm-settings.h,
	src/doveadm/dsync/doveadm-dsync.c:
	dsync: Added dsync_remote_cmd setting, which is used to execute
	remote dsync. This is used for the old style "host" and
	"mailuser@host" parameters, as well as for a new
	"remote:[user@]host" parameter.
	[69ed88beb12f]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Prefix remote dsync's error messages with "remote:".
	[523a6f3e0713]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Added -l <timeout> parameter to lock the sync (via
	~/.dovecot-sync.lock)
	[d4922e80ca05]

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added prerun() method for mail commands.
	[1a33e3651c6d]

	* src/login-common/client-common.c, src/login-common/client-common.h,
	src/login-common/sasl-server.c:
	login: If session timeouts after authentication, log a better error
	about it.
	[855856a9f139]

2012-02-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-index-iter.c:
	mailbox_list_index=yes: Fixed mailbox listing when not using default
	namespace settings.
	[99cde8ce9991]

	* src/plugins/fts-squat/fts-backend-squat.c:
	fts-squat: Fixed search to actually work.
	[ee6f3f375dd3]

2012-02-28  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/imap/imap-client.c, src/lib-storage/mail-user.h,
	src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-solr
	/fts-backend-solr.c, src/plugins/fts/fts-api-private.h,
	src/plugins/fts/fts-storage.c:
	Show SEARCH=FUZZY in IMAP capabilities only when FTS backend
	actually supports it.
	[bdc881838b00]

	* src/lib-storage/list/mailbox-list-index-status.c, src/lib-
	storage/list/mailbox-list-index-sync.c, src/lib-storage/list
	/mailbox-list-index.c, src/lib-storage/list/mailbox-list-index.h:
	mailbox list indexes: Avoid unnecessary refresh flag writes.
	[ba2b4f8a1bb1]

	* src/doveadm/dsync/doveadm-dsync.c:
	Compiler warning fixes
	[54aeb3853bae]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	fs layout: Mailbox listing returned duplicates when patterns
	contained a parent and its children.
	[07fc8baa0c9b]

2012-02-27  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-worker-client.c:
	auth worker: reset idle time after running a command, not before.
	[3b328ffffdd4]

	* src/auth/auth-worker-client.c:
	auth worker: When idle_kill timeout is reached, change process title
	to indicate it.
	[5074680f321a]

	* src/lib-sql/driver-mysql.c:
	mysql: Log idle time also for CR_SERVER_LOST errors.
	[1999ae5c9699]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Removed accidentally committed debug code.
	[47dcf6a607a9]

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Fixes to handling legacy dsync parameters.
	[d75b807afadc]

	* src/doveadm/doveadm-mail.c:
	doveadm: Allow subcommands to specify '+' getopt parameter.
	[0d502dc7d265]

	* src/lib-ssl-iostream/Makefile.am:
	lib-ssl-iostream: Use SSL_LIBS when linking the shared library.
	[c07415305d9e]

2012-05-19  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/lib/network.c, src/lib/network.h:
	Extends struct net_unix_cred with pid field and modifies
	net_getunixcred() to fill it in if possible.

	Depends: none
	[80688ab1ea3d]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Sort userdb fields before importing them. This avoids
	requiring manual sorting in some situations, such as when defining
	new namespaces.
	[875eeb3052a9]

2012-05-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-lock.c, src/lib-index/mail-index-map-
	read.c, src/lib-index/mail-index-private.h, src/lib-index/mail-
	index.c:
	lib-index: Removed unused locking code.
	[10a475d725a1]

	* src/lib-index/mail-index-fsck.c, src/lib-index/mail-index-map.c, src
	/lib-index/mail-index-modseq.c, src/lib-index/mail-index-private.h,
	src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-index-sync-
	keywords.c, src/lib-index/mail-index-sync-private.h, src/lib-index
	/mail-index-sync-update.c, src/lib-index/mail-index-write.c, src
	/lib-index/test-mail-index-sync-ext.c:
	lib-index: Updated dovecot.index file only by recreating it, never
	write to it directly. This is safer, and nowadays there shouldn't be
	much of a performance loss with it either, since dovecot.index isn't
	updated very often.

	This also allows removing all locking from dovecot.index file,
	although for now we'll keep it in case old Dovecot versions are
	simultaneously writing to the index.
	[4c996a5737b0]

2012-03-11  Timo Sirainen  <tss@iki.fi>

	* Makefile.am:
	Makefile: Fixed compiling with automake 1.11.2+
	[96e3b3ef59dc]

2012-03-01  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-fetch.c, src/imap/cmd-select.c, src/imap/imap-fetch-
	body.c, src/imap/imap-fetch.c, src/imap/imap-fetch.h:
	imap: Changed internal FETCH command handling API.
	[d8a88e53f1e6]

2012-02-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-lda/mail-send.c:
	lib-lda: Fixed mai forward/reject to work with the new
	smtp_client_open() API.
	[df631445f150]

	* src/pop3-login/client.c:
	pop3-login: Fixed APOP authentication, broken by recent changes.
	[864187d19761]

2012-02-27  Timo Sirainen  <tss@iki.fi>

	* src/lib-lda/smtp-client.c, src/lib-lda/smtp-client.h:
	lib-lda: smtp_client_open() API changed to return struct ostream,
	not FILE.
	[e915b7e734e7]

	* src/auth/auth-request.c:
	auth: Removed destuser check from proxy_maybe's "self" check.
	[93dc749e1668]

	* dovecot-config.in.in:
	dovecot-config: moved lib-auth and LIBDOVECOT_SERVICE_INCLUDEs to
	LIBDOVECOT_INCLUDE
	[ca0ef6efe583]

	* src/auth/auth-request.c, src/auth/auth-request.h, src/lib-dns/dns-
	lookup.c, src/lib-dns/dns-lookup.h, src/lib-imap-client/imapc-
	connection.c, src/lib-lda/lmtp-client.c, src/lib-storage/index/pop3c
	/pop3c-client.c:
	lib-dns: dns_lookup() returns now the lookup struct, and it can be
	aborted. Changed all dns_lookup() users also to abort the lookup
	when needed (previously it probably would have just accessed freed
	memory and crash).
	[f5aa38f0a9ac]

	* src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap-
	quota-plugin.c, src/plugins/imap-zlib/imap-zlib-plugin.c:
	Minor code cleanup.
	[31119136ee6e]

	* src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h,
	src/pop3/pop3-common.h:
	pop3: Added module contexts to struct client, and made
	client_destroy() a virtual method.
	[771fab474b1c]

	* src/imap/imap-client.c, src/imap/imap-client.h:
	imap: Made client_destroy() a virtual method.
	[e20af99c6d20]

2012-02-26  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-idle.c, src/lib-storage/index/imapc/imapc-storage.c,
	src/lib-storage/index/index-mailbox-check.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.c, src/lib-storage
	/mail-storage.h, src/plugins/virtual/virtual-storage.c:
	lib-storage: Removed min_timeout parameter from
	mailbox_notify_changes() It's now internally taken from
	mailbox_idle_check_interval setting.
	[5e4e6c57c142]

2012-02-25  Timo Sirainen  <tss@iki.fi>

	* configure.in, doc/man/Makefile.am, src/imap-login/client.c, src
	/login-common/client-common.c, src/login-common/client-common.h, src
	/login-common/login-proxy.c, src/pop3-login/client.c,
	src/pop3-login/client.h, src/pop3-login/pop3-proxy.c:
	Merged fixes from v2.1 tree.
	[36fc5b533562]

	* src/imap-login/client.c, src/imap-login/imap-login-settings.c, src
	/imap-login/imap-login-settings.h:
	imap-login: imap_id_* settings were ignored pre-login.
	[32ffa616f249]

	* src/auth/auth-request.c, src/auth/auth-request.h:
	auth: Added proxy_always extra field. When used with proxy_maybe, it
	can be used to redirect "local" users to local backends via
	director.
	[4bd9cadae9ea]

	* src/pop3-login/pop3-proxy.c:
	pop3 proxy: Fixed previous change not to hang.
	[cf713cf9b7c0]

	* src/pop3-login/client.h, src/pop3-login/pop3-proxy.c:
	pop3 proxy: Fixed handling XCLIENT reply.
	[ef7518f0bdbc]

	* src/auth/auth-request.c, src/auth/auth-settings.c, src/auth/auth-
	settings.h, src/config/settings-get.pl:
	auth: Added auth_proxy_self setting to specify IPs that are
	considered as "self" for proxy_maybe.
	[d84a9950be67]

	* src/auth/auth-request.c:
	auth: Use proxy_timeout as DNS lookup timeout, if available. Warn if
	lookup takes >0.5s.
	[21c0ce019290]

	* src/auth/Makefile.am, src/auth/auth-master-connection.c, src/auth
	/auth-request-handler.c, src/auth/auth-request.c, src/auth/auth-
	request.h:
	auth: Handle proxy_maybe=yes with host=hostname properly.
	[863eac32786f]

	* src/pop3-login/client.c, src/pop3-login/client.h,
	src/pop3-login/pop3-proxy.c:
	pop3-login: Implemented XCLIENT command for forwarding client
	ip/port from proxy.
	[35ed77dd500e]

	* src/auth/auth-stream.c:
	auth: auth_stream_reply_remove() left extra TABs to stream. Normally
	this wouldn't really affect anything, except log some extra debug
	messages.
	[970809a9f9bd]

2012-02-23  Timo Sirainen  <tss@iki.fi>

	* src/login-common/login-proxy.c:
	login proxy: If connect() fails, log how many seconds it tried.
	[c3da6b3a4a34]

	* .hgsigs:
	Added signature for changeset 04b0acc03f1e
	[e98143525d51]

	* .hgtags:
	Added tag 2.1.1 for changeset 04b0acc03f1e
	[0a034e33035b]

	* NEWS, configure.in:
	Released v2.1.1.
	[04b0acc03f1e] [2.1.1]

2012-02-22  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm-log.1.in:
	man: Added description of command `log errors' to doveadm-log.1.
	[007ec1d1d995]

2012-02-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-single/sdbox-sync.c:
	Compiler warning fix.
	[6056be0a8c58]

	* src/lib-storage/mail-namespace.c:
	lib-storage: Another try at correctly setting autocreated
	namespace's location strings.
	[3007994141b6]

	* src/lib-storage/index/dbox-single/sdbox-sync.c:
	sdbox: Altmove flag changes weren't immediately marked as synced.
	This caused the altmoves to be retried.
	[d9a6b0991f2e]

	* src/auth/passdb-cache.c:
	auth: If auth_cache_size is larger than process VSZ limit, log a
	warning.
	[242ad2a73648]

	* src/lib/restrict-process-size.c, src/lib/restrict-process-size.h:
	Added restrict_get_process_size()
	[1c1c2a1c85d7]

	* src/auth/passdb-imap.c:
	auth: passdb imap crashed for non-login (non-imap/pop3)
	authentication.
	[a6a58512f0df]

	* src/lib/file-dotlock.c:
	file-dotlock: Avoid "timestamp is different than current time"
	errors during high disk I/O load.
	[2ea29ab6f10f]

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	lib-storage: Avoid assert-crashing with non-mUTF7/UTF8 entries in
	subscriptions file.
	[7d0d76df719f]

	* src/lib-storage/mail-namespace.c:
	lib-storage: When autocreating a namespace, don't fill out location
	setting unless necessary. This fixes running dsync when there are no
	namespaces defined.
	[488fe9d417eb]

	* src/plugins/virtual/virtual-config.c:
	virtual: "*" wildcard matches now also autocreated shared
	namespaces. Basically this makes "shared/*" work as intended for
	shared namespaces.
	[10994a5b64e1]

2012-02-21  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm-dump.1.in:
	man: Added description for type `dbox' to doveadm-dump.1
	[c854f19f10e3]

2012-02-21  Timo Sirainen  <tss@iki.fi>

	* src/auth/db-ldap.c:
	ldap: Support attr=name=prefix style template attributes for
	backwards compatibility. This was mainly used for quota, e.g.
	"quotaBytes=quota=*:storage="
	[e8da2675da41]

2012-02-20  Pascal Volk  <user@localhost.localdomain.org>

	* src/doveadm/doveadm-dump.c, src/doveadm/doveadm-dump.h:
	doveadm dump: Show available types in case a wrong one was given.
	[bf340465cb70]

2012-02-20  Timo Sirainen  <tss@iki.fi>

	* doc/man/doveadm.1.in:
	man: Move doveadm instance and mount commands to "master commands"
	group.
	[0947b28d2903]

2012-02-17  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-service.c:
	lib-master: If accept() fails, stop listening only temporarily, not
	permanently.
	[701709f472e9]

	* src/lib-storage/index/shared/shared-list.c:
	Increased initial memory pool size.
	[89eb4c204341]

	* src/master/service-monitor.c:
	master: Handle internal "out of fds" errors without crashing.
	[9a501d37af3d]

	* src/login-common/main.c:
	login: Added comment.
	[119195278272]

	* src/doveadm/dsync/dsync-brain-msgs-new.c, src/doveadm/dsync/dsync-
	brain-msgs.c, src/doveadm/dsync/dsync-brain-private.h:
	dsync: If message with same GUID is saved multiple times in session,
	copy it instead of re-saving. This only works if the messages are in
	different mailboxes. It would be possible to fix it also for copying
	within same mailbox, but that's probably rare enough that it's not
	worth the extra code.
	[c581f6c1eef9]

	* src/doveadm/dsync/dsync-brain-msgs.c:
	dsync: GUIDs are case-sensitive, make GUID hash table be as well.
	[aa25bb2384ce]

	* src/doveadm/doveadm-mail.c:
	doveadm force-resync: Don't skip autocreated mailboxes (especially
	INBOX). This fixes rebuilding indexes for mdbox that has all mailbox
	indexes deleted.
	[edf5a4788242]

2012-02-16  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/acl-mailbox-list.c:
	acl: Don't crash in mailbox listing when using autocreated
	mailboxes.
	[ff117a044e20]

	* Messed up with v2.1 release, merging changes that were supposed to
	be there.
	[aa2e89c9876b]

	* .hgsigs:
	Added signature for changeset e2cd03cc9c69
	[3e0a1e5f43f3]

	* .hgtags:
	Added tag 2.1.0 for changeset e2cd03cc9c69
	[c696e99a0169]

	* NEWS, configure.in:
	Released v2.1.0.
	[e2cd03cc9c69] [2.1.0]

	* .hgignore, doc/man/Makefile.am, doc/man/doveadm-instance.1.in,
	doc/man/doveadm-mount.1.in, doc/man/doveadm.1.in:
	man: Added doveadm-instance(1) and doveadm-mount(1) roff'ification
	by Pascal Volk.
	[b88deb09b0f4]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	fs layout: Fixed crash when autocreate mailboxes were used and LIST
	had only invalid patterns.
	[72e1e17d2e22]

2012-02-15  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 736f1b7af190
	[908bf2312c14]

	* .hgtags:
	Added tag 2.1.rc7 for changeset 736f1b7af190
	[5de9a1f4ab04]

	* NEWS, configure.in:
	Released v2.1.rc7.
	[736f1b7af190] [2.1.rc7]

	* src/login-common/client-common.c, src/login-common/client-common.h,
	src/login-common/main.c:
	login: If auth client disconnects without having ever succeeded,
	destroy clients.
	[4462ceb09c0d]

	* src/lib-master/ipc-client.c:
	lib-master: Fixed crash on IPC client if server disconnected
	unexpectedly.
	[5ac4a8c8545f]

2012-02-13  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm-pw.1.in:
	man: Added descriptions of -t option to doveadm-pw.1.
	[db67d0255411]

	* src/doveadm/doveadm-pw.c:
	doveadm pw: Added -t <hash> parameter to the usage message.
	[e6ad15862163]

	* doc/man/doveadm-fetch.1.in:
	man: Added description of fields pop3.uidl and text.utf8 to doveadm-
	fetch.1.
	[b4479e2d2d21]

2012-02-13  Timo Sirainen  <tss@iki.fi>

	* src/pop3/pop3-commands.c:
	pop3: If UIDL using %f/%m/%g can't be fetched, mention
	pop3_uidl_format in error message.
	[06bb6d0f60e0]

	* TODO:
	TODO updated
	[9c4cac11da15]

	* src/lib-storage/mail-namespace.c, src/lib-storage/mail-storage-
	settings.c, src/lib-storage/mail-storage-settings.h:
	lib-storage: Added namespace { ignore_on_failure } setting. If the
	namespace can't be created for any reason, it's simply silently
	skipped.
	[71201cce97b5]

2012-02-25  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c, src/auth/auth-request.h:
	auth: Added proxy_always extra field. When used with proxy_maybe, it
	can be used to redirect "local" users to local backends via
	director.
	[716769cfbb1d]

	* src/imap-login/client.c, src/imap-login/imap-proxy.c, src/lib-lda
	/lmtp-client.c, src/lib-lda/lmtp-client.h, src/lmtp/client.c,
	src/lmtp/client.h, src/lmtp/commands.c, src/lmtp/lmtp-proxy.c,
	src/lmtp/lmtp-proxy.h, src/login-common/client-common.c, src/login-
	common/client-common.h, src/login-common/login-proxy.c, src/login-
	common/login-proxy.h, src/pop3-login/client.c,
	src/pop3-login/pop3-proxy.c:
	imap/pop3/lmtp proxy: Implemented detection of proxy loops with TTL.
	If proxying tries to continue after 5 forward connections, it fails.
	The limit of 5 is hard coded currently.
	[ba06ea38c722]

	* src/pop3-login/pop3-proxy.c:
	pop3 proxy: Fixed previous change not to hang.
	[f534ed81bce4]

	* src/pop3-login/client.h, src/pop3-login/pop3-proxy.c:
	pop3 proxy: Fixed handling XCLIENT reply.
	[9b79d71bff4e]

	* src/auth/auth-request.c, src/auth/auth-settings.c, src/auth/auth-
	settings.h, src/config/settings-get.pl:
	auth: Added auth_proxy_self setting to specify IPs that are
	considered as "self" for proxy_maybe.
	[98d696965c91]

	* src/dns/dns-client-settings.c:
	dns: Removed login/dns-client socket, since it's no longer
	necessary.
	[fb972ad3213d]

	* src/login-common/Makefile.am, src/login-common/client-common-auth.c,
	src/login-common/login-proxy.c, src/login-common/login-proxy.h:
	login proxy: Removed host DNS lookup code, since auth does it now.
	[da36d22ab37a]

	* src/auth/auth-request.c:
	auth: Use proxy_timeout as DNS lookup timeout, if available. Warn if
	lookup takes >0.5s.
	[8e2f395cf86c]

	* src/auth/Makefile.am, src/auth/auth-master-connection.c, src/auth
	/auth-request-handler.c, src/auth/auth-request.c, src/auth/auth-
	request.h:
	auth: Handle proxy_maybe=yes with host=hostname properly.
	[da43dc494753]

	* src/auth/auth-stream.c:
	auth: auth_stream_reply_remove() left extra TABs to stream. Normally
	this wouldn't really affect anything, except log some extra debug
	messages.
	[52e8a1346d2e]

	* src/login-common/client-common.c, src/login-common/client-common.h:
	login-common: Code cleanup
	[ce1fd6eefeff]

	* src/pop3-login/client.c, src/pop3-login/client.h,
	src/pop3-login/pop3-proxy.c:
	pop3-login: Implemented XCLIENT command for forwarding client
	ip/port from proxy.
	[eb1aecd05cea]

2012-02-23  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-proxy.h:
	lmtp proxy: Send client's IP/port to destination server via XCLIENT
	if possible.
	[1bc56eec3f8e]

	* src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h:
	smtp/lmtp client: Send XCLIENT ADDR+PORT when possible.
	[3144001fae84]

	* src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c,
	src/lmtp/commands.h, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
	settings.h:
	lmtp: Implemented Postfix-compatible XCLIENT extension for changing
	client's ip/port.
	[1af2a0497f3f]

2012-02-16  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/Makefile.am:
	man/Makefile: Use SUFFIXES to reduce the number of targets.
	[ac4eed7bef23]

2012-02-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-mail/message-parser.c, src/lib-mail/message-parser.h:
	message parser: Added MESSAGE_PARSER_FLAG_INCLUDE_MULTIPART_BLOCKS.
	Patch by Stephan Bosch.
	[e7854f8d7213]

	* src/imap-login/client-authenticate.c, src/imap-login/client-
	authenticate.h, src/imap-login/client.c, src/imap-login/client.h,
	src/imap-login/imap-proxy.c, src/imap-login/imap-proxy.h, src/login-
	common/client-common-auth.c, src/login-common/client-common.c, src
	/login-common/client-common.h, src/pop3-login/client-authenticate.c,
	src/pop3-login/client-authenticate.h, src/pop3-login/client.c,
	src/pop3-login/client.h, src/pop3-login/pop3-proxy.c,
	src/pop3-login/pop3-proxy.h:
	login-common API made more extensible for different kinds of
	protocols. Patch by Stephan Bosch.
	[e456e1bce47f]

2012-02-12  Timo Sirainen  <tss@iki.fi>

	* configure.in:
	Updated version number to v2.2.UNSTABLE and added a warning to
	configure.
	[8457e41b634b]

	* README:
	README: Added missing RFC to list.
	[9574963a16f7]

	* TODO:
	TODO updated
	[d58b721e751b]

	* .hgsigs:
	Added signature for changeset 481860782250
	[90f8af1f4af7]

	* .hgtags:
	Added tag 2.1.rc6 for changeset 481860782250
	[e407fea7dcbc]

	* NEWS, TODO, configure.in:
	Released v2.1.rc6.
	[481860782250] [2.1.rc6]

	* configure.in:
	IMAP capabilities: s/FUZZY/SEARCH=FUZZY/ I mistakenly used wrong
	one..
	[e3565b3f9efe]

	* src/doveadm/doveadm-mail-mailbox.c:
	doveadm mailbox delete: Don't crash when namespace for mailbox isn't
	found.
	[669f09337a23]

	* src/doveadm/Makefile.am, src/doveadm/client-connection.c,
	src/doveadm/doveadm-auth.c, src/doveadm/doveadm-director.c,
	src/doveadm/doveadm-dump.c, src/doveadm/doveadm-instance.c,
	src/doveadm/doveadm-kick.c, src/doveadm/doveadm-log.c, src/doveadm
	/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-expunge.c,
	src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail-import.c,
	src/doveadm/doveadm-mail-index.c, src/doveadm/doveadm-mail-iter.c,
	src/doveadm/doveadm-mail-iter.h, src/doveadm/doveadm-mail-list-
	iter.c, src/doveadm/doveadm-mail-list-iter.h, src/doveadm/doveadm-
	mail-mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c,
	src/doveadm/doveadm-mail-move.c, src/doveadm/doveadm-mail-search.c,
	src/doveadm/doveadm-mail-server.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h, src/doveadm/doveadm-mailbox-list-iter.c,
	src/doveadm/doveadm-mailbox-list-iter.h, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/main.c, src/plugins/acl/doveadm-acl.c, src/plugins/fts
	/doveadm-fts.c, src/plugins/quota/doveadm-quota.c:
	doveadm: Improved error handling. Failures should now always have
	non-zero exit code. doveadm now uses sysexits.h exit codes in most
	places, although there are still a lot of places where it simply
	returns EX_TEMPFAIL even though something else might be better.
	[0a5951b08478]

	* src/doveadm/doveadm-pw.c:
	doveadm pw: Use i_error()/i_fatal() instead of fprintf(stderr)
	[7c36dea5605a]

	* src/plugins/acl/acl-mailbox.c:
	acl: After checking we have rights to create mailbox, ignore any
	further ACL checks.
	[ccad37bc242f]

	* doc/example-config/conf.d/20-imap.conf:
	example-config: Updated tb-extra-mailbox-sep comment.
	[1a0ab868957b]

	* src/anvil/anvil-connection.c, src/anvil/anvil-settings.c, src/anvil
	/connect-limit.c, src/anvil/main.c, src/anvil/penalty.c, src/anvil
	/test-penalty.c, src/auth/auth-cache.c, src/auth/auth-client-
	connection.c, src/auth/auth-master-connection.c, src/auth/auth-
	penalty.c, src/auth/auth-postfix-connection.c, src/auth/auth-
	request-handler.c, src/auth/auth-request.c, src/auth/auth-
	settings.c, src/auth/auth-stream.c, src/auth/auth-worker-client.c,
	src/auth/auth-worker-server.c, src/auth/auth.c, src/auth/db-
	checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd-file.c,
	src/auth/db-sql.c, src/auth/main.c, src/auth/mech-anonymous.c,
	src/auth/mech-cram-md5.c, src/auth/mech-digest-md5.c, src/auth/mech-
	external.c, src/auth/mech-plain.c, src/auth/mech.c, src/auth/passdb-
	blocking.c, src/auth/passdb-bsdauth.c, src/auth/passdb-cache.c,
	src/auth/passdb-checkpassword.c, src/auth/passdb-imap.c, src/auth
	/passdb-ldap.c, src/auth/passdb-passwd-file.c, src/auth/passdb-
	passwd.c, src/auth/passdb-shadow.c, src/auth/passdb-sql.c, src/auth
	/passdb-static.c, src/auth/passdb-template.c, src/auth/passdb-
	vpopmail.c, src/auth/passdb.c, src/auth/password-scheme-crypt.c,
	src/auth/password-scheme.c, src/auth/userdb-blocking.c, src/auth
	/userdb-checkpassword.c, src/auth/userdb-ldap.c, src/auth/userdb-
	nss.c, src/auth/userdb-passwd-file.c, src/auth/userdb-passwd.c,
	src/auth/userdb-prefetch.c, src/auth/userdb-sql.c, src/auth/userdb-
	static.c, src/auth/userdb-template.c, src/auth/userdb-vpopmail.c,
	src/auth/userdb.c, src/config/config-connection.c, src/config
	/config-filter.c, src/config/config-parser.c, src/config/config-
	request.c, src/config/config-settings.c, src/config/doveconf.c,
	src/config/main.c, src/config/old-set-parser.c, src/config/sysinfo-
	get.c, src/dict/dict-commands.c, src/dict/dict-connection.c,
	src/dict/dict-settings.c, src/dict/main.c, src/director/auth-
	connection.c, src/director/director-connection.c, src/director
	/director-host.c, src/director/director-request.c, src/director
	/director-settings.c, src/director/director-test.c,
	src/director/director.c, src/director/doveadm-connection.c,
	src/director/login-connection.c, src/director/mail-host.c,
	src/director/main.c, src/director/notify-connection.c, src/director
	/user-directory.c, src/dns/dns-client-settings.c, src/dns/dns-
	client.c, src/doveadm/client-connection.c, src/doveadm/doveadm-
	auth.c, src/doveadm/doveadm-director.c, src/doveadm/doveadm-dump-
	dbox.c, src/doveadm/doveadm-dump-index.c, src/doveadm/doveadm-dump-
	log.c, src/doveadm/doveadm-dump-mailboxlog.c, src/doveadm/doveadm-
	dump-thread.c, src/doveadm/doveadm-dump.c, src/doveadm/doveadm-
	kick.c, src/doveadm/doveadm-log.c, src/doveadm/doveadm-mail-
	altmove.c, src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-
	mail-fetch.c, src/doveadm/doveadm-mail-import.c, src/doveadm
	/doveadm-mail-index.c, src/doveadm/doveadm-mail-iter.c, src/doveadm
	/doveadm-mail-list-iter.c, src/doveadm/doveadm-mail-mailbox-
	status.c, src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-
	mail-move.c, src/doveadm/doveadm-mail-search.c, src/doveadm/doveadm-
	mail-server.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-
	master.c, src/doveadm/doveadm-mutf7.c, src/doveadm/doveadm-
	penalty.c, src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-
	print-pager.c, src/doveadm/doveadm-print-server.c, src/doveadm
	/doveadm-print-tab.c, src/doveadm/doveadm-print-table.c, src/doveadm
	/doveadm-print.c, src/doveadm/doveadm-proxy.c, src/doveadm/doveadm-
	settings.c, src/doveadm/doveadm-sis.c, src/doveadm/doveadm-stats.c,
	src/doveadm/doveadm-util.c, src/doveadm/doveadm-who.c,
	src/doveadm/doveadm.c, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/dsync/dsync-brain-msgs-new.c, src/doveadm/dsync/dsync-
	brain-msgs.c, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync
	/dsync-data.c, src/doveadm/dsync/dsync-proxy-client.c,
	src/doveadm/dsync/dsync-proxy-server-cmd.c, src/doveadm/dsync/dsync-
	proxy-server.c, src/doveadm/dsync/dsync-proxy.c, src/doveadm/dsync
	/dsync-worker-local.c, src/doveadm/dsync/dsync-worker.c,
	src/doveadm/dsync/test-dsync-brain-msgs.c, src/doveadm/dsync/test-
	dsync-brain.c, src/doveadm/dsync/test-dsync-common.c,
	src/doveadm/dsync/test-dsync-proxy-server-cmd.c, src/doveadm/dsync
	/test-dsync-proxy.c, src/doveadm/dsync/test-dsync-worker.c,
	src/doveadm/main.c, src/doveadm/server-connection.c, src/imap-login
	/client-authenticate.c, src/imap-login/client.c, src/imap-login
	/imap-login-settings.c, src/imap-login/imap-proxy.c, src/imap/cmd-
	append.c, src/imap/cmd-cancelupdate.c, src/imap/cmd-capability.c,
	src/imap/cmd-check.c, src/imap/cmd-close.c, src/imap/cmd-copy.c,
	src/imap/cmd-create.c, src/imap/cmd-delete.c, src/imap/cmd-enable.c,
	src/imap/cmd-examine.c, src/imap/cmd-expunge.c, src/imap/cmd-
	fetch.c, src/imap/cmd-id.c, src/imap/cmd-idle.c, src/imap/cmd-
	list.c, src/imap/cmd-logout.c, src/imap/cmd-lsub.c, src/imap/cmd-
	namespace.c, src/imap/cmd-noop.c, src/imap/cmd-rename.c, src/imap
	/cmd-search.c, src/imap/cmd-select.c, src/imap/cmd-sort.c, src/imap
	/cmd-status.c, src/imap/cmd-store.c, src/imap/cmd-subscribe.c,
	src/imap/cmd-thread.c, src/imap/cmd-uid.c, src/imap/cmd-unselect.c,
	src/imap/cmd-unsubscribe.c, src/imap/cmd-x-cancel.c, src/imap/imap-
	client.c, src/imap/imap-commands-util.c, src/imap/imap-commands.c,
	src/imap/imap-expunge.c, src/imap/imap-fetch-body.c, src/imap/imap-
	fetch.c, src/imap/imap-search-args.c, src/imap/imap-search.c,
	src/imap/imap-settings.c, src/imap/imap-status.c, src/imap/imap-
	sync.c, src/imap/mail-storage-callbacks.c, src/imap/main.c,
	src/indexer/indexer-client.c, src/indexer/indexer-queue.c,
	src/indexer/indexer-settings.c, src/indexer/indexer-worker-
	settings.c, src/indexer/indexer-worker.c, src/indexer/indexer.c,
	src/indexer/master-connection.c, src/indexer/worker-connection.c,
	src/indexer/worker-pool.c, src/ipc/client.c, src/ipc/ipc-
	connection.c, src/ipc/ipc-group.c, src/ipc/ipc-settings.c,
	src/ipc/main.c, src/lda/main.c, src/lib-auth/auth-client-request.c,
	src/lib-auth/auth-client.c, src/lib-auth/auth-master.c, src/lib-auth
	/auth-server-connection.c, src/lib-charset/charset-iconv.c, src/lib-
	charset/charset-utf8.c, src/lib-dict/dict-client.c, src/lib-dict
	/dict-db.c, src/lib-dict/dict-file.c, src/lib-dict/dict-sql-
	settings.c, src/lib-dict/dict-sql.c, src/lib-dict/dict.c, src/lib-
	dict/test-dict.c, src/lib-dns/dns-lookup.c, src/lib-fs/fs-api.c, src
	/lib-fs/fs-posix.c, src/lib-fs/fs-sis-common.c, src/lib-fs/fs-sis-
	queue.c, src/lib-fs/fs-sis.c, src/lib-fs/ostream-cmp.c, src/lib-
	imap-client/imapc-client.c, src/lib-imap-client/imapc-connection.c,
	src/lib-imap-client/imapc-msgmap.c, src/lib-imap/imap-arg.c, src
	/lib-imap/imap-base-subject.c, src/lib-imap/imap-bodystructure.c,
	src/lib-imap/imap-date.c, src/lib-imap/imap-envelope.c, src/lib-imap
	/imap-id.c, src/lib-imap/imap-match.c, src/lib-imap/imap-parser.c,
	src/lib-imap/imap-quote.c, src/lib-imap/imap-seqset.c, src/lib-imap
	/imap-utf7.c, src/lib-imap/imap-util.c, src/lib-imap/test-imap-
	match.c, src/lib-imap/test-imap-parser.c, src/lib-imap/test-imap-
	utf7.c, src/lib-imap/test-imap-util.c, src/lib-index/mail-cache-
	compress.c, src/lib-index/mail-cache-decisions.c, src/lib-index
	/mail-cache-fields.c, src/lib-index/mail-cache-lookup.c, src/lib-
	index/mail-cache-sync-update.c, src/lib-index/mail-cache-
	transaction.c, src/lib-index/mail-cache.c, src/lib-index/mail-index-
	alloc-cache.c, src/lib-index/mail-index-dummy-view.c, src/lib-index
	/mail-index-fsck.c, src/lib-index/mail-index-lock.c, src/lib-index
	/mail-index-map-hdr.c, src/lib-index/mail-index-map-read.c, src/lib-
	index/mail-index-map.c, src/lib-index/mail-index-modseq.c, src/lib-
	index/mail-index-strmap.c, src/lib-index/mail-index-sync-ext.c, src
	/lib-index/mail-index-sync-keywords.c, src/lib-index/mail-index-
	sync-update.c, src/lib-index/mail-index-sync.c, src/lib-index/mail-
	index-transaction-export.c, src/lib-index/mail-index-transaction-
	finish.c, src/lib-index/mail-index-transaction-sort-appends.c, src
	/lib-index/mail-index-transaction-update.c, src/lib-index/mail-
	index-transaction-view.c, src/lib-index/mail-index-transaction.c,
	src/lib-index/mail-index-util.c, src/lib-index/mail-index-view-
	sync.c, src/lib-index/mail-index-view.c, src/lib-index/mail-index-
	write.c, src/lib-index/mail-index.c, src/lib-index/mail-transaction-
	log-append.c, src/lib-index/mail-transaction-log-file.c, src/lib-
	index/mail-transaction-log-view.c, src/lib-index/mail-transaction-
	log.c, src/lib-index/mailbox-log.c, src/lib-index/test-mail-index-
	sync-ext.c, src/lib-index/test-mail-index-transaction-finish.c, src
	/lib-index/test-mail-index-transaction-update.c, src/lib-index/test-
	mail-transaction-log-append.c, src/lib-index/test-mail-transaction-
	log-view.c, src/lib-lda/duplicate.c, src/lib-lda/lda-settings.c, src
	/lib-lda/lmtp-client.c, src/lib-lda/mail-deliver.c, src/lib-lda
	/mail-send.c, src/lib-lda/smtp-client.c, src/lib-mail/istream-dot.c,
	src/lib-mail/istream-header-filter.c, src/lib-mail/mbox-from.c, src
	/lib-mail/message-address.c, src/lib-mail/message-date.c, src/lib-
	mail/message-decoder.c, src/lib-mail/message-header-decode.c, src
	/lib-mail/message-header-encode.c, src/lib-mail/message-header-
	parser.c, src/lib-mail/message-id.c, src/lib-mail/message-parser.c,
	src/lib-mail/message-part-serialize.c, src/lib-mail/message-
	search.c, src/lib-mail/message-send.c, src/lib-mail/message-size.c,
	src/lib-mail/quoted-printable.c, src/lib-mail/rfc2231-parser.c, src
	/lib-mail/rfc822-parser.c, src/lib-mail/test-istream-dot.c, src/lib-
	mail/test-istream-header-filter.c, src/lib-mail/test-mbox-from.c,
	src/lib-mail/test-message-address.c, src/lib-mail/test-message-
	date.c, src/lib-mail/test-message-decoder.c, src/lib-mail/test-
	message-header-decode.c, src/lib-mail/test-message-header-encode.c,
	src/lib-mail/test-message-header-parser.c, src/lib-mail/test-
	message-id.c, src/lib-mail/test-message-parser.c, src/lib-mail/test-
	quoted-printable.c, src/lib-mail/test-rfc2231-parser.c, src/lib-
	master/anvil-client.c, src/lib-master/ipc-client.c, src/lib-master
	/ipc-server.c, src/lib-master/master-auth.c, src/lib-master/master-
	login-auth.c, src/lib-master/master-login.c, src/lib-master/master-
	service-settings-cache.c, src/lib-master/master-service-settings.c,
	src/lib-master/master-service.c, src/lib-master/syslog-util.c, src
	/lib-settings/settings-parser.c, src/lib-settings/settings.c, src
	/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql
	/driver-sqlpool.c, src/lib-sql/sql-api.c, src/lib-sql/sql-db-
	cache.c, src/lib-ssl-iostream/iostream-openssl-context.c, src/lib-
	ssl-iostream/iostream-openssl-params.c, src/lib-ssl-iostream
	/iostream-openssl.c, src/lib-ssl-iostream/iostream-ssl-none.c, src
	/lib-ssl-iostream/istream-openssl.c, src/lib-ssl-iostream/ostream-
	openssl.c, src/lib-storage/fail-mail-storage.c, src/lib-storage
	/fail-mail.c, src/lib-storage/fail-mailbox.c, src/lib-
	storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir-
	save.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox-common
	/dbox-attachment.c, src/lib-storage/index/dbox-common/dbox-file-
	fix.c, src/lib-storage/index/dbox-common/dbox-file.c, src/lib-
	storage/index/dbox-common/dbox-mail.c, src/lib-storage/index/dbox-
	common/dbox-save.c, src/lib-storage/index/dbox-common/dbox-
	storage.c, src/lib-storage/index/dbox-common/dbox-sync-rebuild.c,
	src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index
	/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-multi/mdbox-
	map.c, src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-
	storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-
	multi/mdbox-settings.c, src/lib-storage/index/dbox-multi/mdbox-
	storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c,
	src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index
	/dbox-single/sdbox-copy.c, src/lib-storage/index/dbox-single/sdbox-
	file.c, src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-
	storage/index/dbox-single/sdbox-save.c, src/lib-storage/index/dbox-
	single/sdbox-storage.c, src/lib-storage/index/dbox-single/sdbox-
	sync-rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync.c, src
	/lib-storage/index/imapc/imapc-list.c, src/lib-storage/index/imapc
	/imapc-mail-fetch.c, src/lib-storage/index/imapc/imapc-mail.c, src
	/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc/imapc-
	settings.c, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
	storage/index/imapc/imapc-sync.c, src/lib-storage/index/index-
	attachment.c, src/lib-storage/index/index-mail-headers.c, src/lib-
	storage/index/index-mail.c, src/lib-storage/index/index-mailbox-
	check.c, src/lib-storage/index/index-search-result.c, src/lib-
	storage/index/index-search.c, src/lib-storage/index/index-sort-
	string.c, src/lib-storage/index/index-sort.c, src/lib-storage/index
	/index-status.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-sync-changes.c, src/lib-storage/index/index-
	sync-search.c, src/lib-storage/index/index-sync.c, src/lib-
	storage/index/index-thread-finish.c, src/lib-storage/index/index-
	thread-links.c, src/lib-storage/index/index-thread.c, src/lib-
	storage/index/index-transaction.c, src/lib-storage/index/istream-
	attachment.c, src/lib-storage/index/istream-mail.c, src/lib-
	storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir
	/maildir-filename-flags.c, src/lib-storage/index/maildir/maildir-
	filename.c, src/lib-storage/index/maildir/maildir-keywords.c, src
	/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-settings.c, src/lib-storage/index/maildir/maildir-
	storage.c, src/lib-storage/index/maildir/maildir-sync-index.c, src
	/lib-storage/index/maildir/maildir-sync.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox
	/istream-raw-mbox.c, src/lib-storage/index/mbox/mbox-file.c, src
	/lib-storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox
	/mbox-mail.c, src/lib-storage/index/mbox/mbox-md5-all.c, src/lib-
	storage/index/mbox/mbox-md5-apop3d.c, src/lib-storage/index/mbox
	/mbox-save.c, src/lib-storage/index/mbox/mbox-settings.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox-
	sync-parse.c, src/lib-storage/index/mbox/mbox-sync-rewrite.c, src
	/lib-storage/index/mbox/mbox-sync-update.c, src/lib-
	storage/index/mbox/mbox-sync.c, src/lib-storage/index/pop3c/pop3c-
	client.c, src/lib-storage/index/pop3c/pop3c-mail.c, src/lib-
	storage/index/pop3c/pop3c-settings.c, src/lib-storage/index/pop3c
	/pop3c-storage.c, src/lib-storage/index/pop3c/pop3c-sync.c, src/lib-
	storage/index/raw/raw-mail.c, src/lib-storage/index/raw/raw-
	storage.c, src/lib-storage/index/raw/raw-sync.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/index/shared
	/shared-storage.c, src/lib-storage/list/mailbox-list-delete.c, src
	/lib-storage/list/mailbox-list-fs-flags.c, src/lib-storage/list
	/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-list-fs.c, src
	/lib-storage/list/mailbox-list-index-iter.c, src/lib-storage/list
	/mailbox-list-index-status.c, src/lib-storage/list/mailbox-list-
	index-sync.c, src/lib-storage/list/mailbox-list-index.c, src/lib-
	storage/list/mailbox-list-maildir-iter.c, src/lib-storage/list
	/mailbox-list-maildir.c, src/lib-storage/list/mailbox-list-none.c,
	src/lib-storage/list/mailbox-list-subscriptions.c, src/lib-
	storage/list/subscription-file.c, src/lib-storage/mail-copy.c, src
	/lib-storage/mail-error.c, src/lib-storage/mail-namespace.c, src
	/lib-storage/mail-search-build.c, src/lib-storage/mail-search-
	parser-cmdline.c, src/lib-storage/mail-search-parser-imap.c, src
	/lib-storage/mail-search-parser.c, src/lib-storage/mail-search-
	register-human.c, src/lib-storage/mail-search-register-imap.c, src
	/lib-storage/mail-search-register.c, src/lib-storage/mail-search.c,
	src/lib-storage/mail-storage-hooks.c, src/lib-storage/mail-storage-
	service.c, src/lib-storage/mail-storage-settings.c, src/lib-storage
	/mail-storage.c, src/lib-storage/mail-thread.c, src/lib-storage
	/mail-user.c, src/lib-storage/mail.c, src/lib-storage/mailbox-get.c,
	src/lib-storage/mailbox-guid-cache.c, src/lib-storage/mailbox-
	header.c, src/lib-storage/mailbox-keywords.c, src/lib-storage
	/mailbox-list-iter.c, src/lib-storage/mailbox-list.c, src/lib-
	storage/mailbox-search-result.c, src/lib-storage/mailbox-tree.c, src
	/lib-storage/mailbox-uidvalidity.c, src/lib-storage/test-mailbox-
	get.c, src/lib-test/test-common.c, src/lib/abspath.c,
	src/lib/aqueue.c, src/lib/array.c, src/lib/askpass.c, src/lib
	/backtrace-string.c, src/lib/base64.c, src/lib/bsearch-insert-pos.c,
	src/lib/buffer.c, src/lib/child-wait.c, src/lib/close-keep-errno.c,
	src/lib/compat.c, src/lib/crc32.c, src/lib/data-stack.c, src/lib
	/eacces-error.c, src/lib/env-util.c, src/lib/execv-const.c,
	src/lib/failures.c, src/lib/fd-close-on-exec.c, src/lib/fd-set-
	nonblock.c, src/lib/fdatasync-path.c, src/lib/fdpass.c, src/lib
	/file-cache.c, src/lib/file-copy.c, src/lib/file-dotlock.c, src/lib
	/file-lock.c, src/lib/file-set-size.c, src/lib/guid.c, src/lib/hash-
	format.c, src/lib/hash-method.c, src/lib/hash.c, src/lib/hash2.c,
	src/lib/hex-binary.c, src/lib/hex-dec.c, src/lib/home-expand.c,
	src/lib/hostpid.c, src/lib/imem.c, src/lib/ioloop-notify-dn.c,
	src/lib/ioloop-notify-fd.c, src/lib/ioloop-notify-inotify.c, src/lib
	/ioloop-notify-none.c, src/lib/ioloop-poll.c, src/lib/ioloop-
	select.c, src/lib/ioloop.c, src/lib/iostream-rawlog.c,
	src/lib/iostream.c, src/lib/ipwd.c, src/lib/istream-
	base64-encoder.c, src/lib/istream-concat.c, src/lib/istream-crlf.c,
	src/lib/istream-data.c, src/lib/istream-file.c, src/lib/istream-
	limit.c, src/lib/istream-mmap.c, src/lib/istream-rawlog.c, src/lib
	/istream-seekable.c, src/lib/istream-tee.c, src/lib/istream.c,
	src/lib/lib-signals.c, src/lib/lib.c, src/lib/mempool-alloconly.c,
	src/lib/mempool-datastack.c, src/lib/mempool-system.c, src/lib
	/mempool-unsafe-datastack.c, src/lib/mempool.c, src/lib/mkdir-
	parents.c, src/lib/mmap-anon.c, src/lib/mmap-util.c, src/lib/module-
	dir.c, src/lib/mountpoint.c, src/lib/network.c, src/lib/nfs-
	workarounds.c, src/lib/ostream-buffer.c, src/lib/ostream-file.c,
	src/lib/ostream-rawlog.c, src/lib/ostream.c, src/lib/printf-format-
	fix.c, src/lib/priorityq.c, src/lib/process-title.c,
	src/lib/randgen.c, src/lib/read-full.c, src/lib/restrict-access.c,
	src/lib/restrict-process-size.c, src/lib/safe-memset.c, src/lib
	/safe-mkdir.c, src/lib/safe-mkstemp.c, src/lib/sendfile-util.c,
	src/lib/seq-range-array.c, src/lib/str-find.c, src/lib/str-
	sanitize.c, src/lib/str.c, src/lib/strescape.c, src/lib/strfuncs.c,
	src/lib/strnum.c, src/lib/test-aqueue.c, src/lib/test-array.c,
	src/lib/test-base64.c, src/lib/test-bsearch-insert-pos.c, src/lib
	/test-buffer.c, src/lib/test-crc32.c, src/lib/test-hash-format.c,
	src/lib/test-hex-binary.c, src/lib/test-istream-base64-encoder.c,
	src/lib/test-istream-concat.c, src/lib/test-istream-crlf.c, src/lib
	/test-istream-seekable.c, src/lib/test-istream-tee.c, src/lib/test-
	lib.c, src/lib/test-llist.c, src/lib/test-mempool-alloconly.c,
	src/lib/test-network.c, src/lib/test-ostream-file.c, src/lib/test-
	primes.c, src/lib/test-priorityq.c, src/lib/test-seq-range-array.c,
	src/lib/test-str-find.c, src/lib/test-str-sanitize.c, src/lib/test-
	strescape.c, src/lib/test-strfuncs.c, src/lib/test-time-util.c,
	src/lib/test-utc-mktime.c, src/lib/test-var-expand.c, src/lib/time-
	util.c, src/lib/unichar.c, src/lib/unix-socket-create.c, src/lib
	/unlink-directory.c, src/lib/unlink-old-files.c, src/lib/utc-
	mktime.c, src/lib/utc-offset.c, src/lib/var-expand.c, src/lib/write-
	full.c, src/lmtp/client.c, src/lmtp/commands.c, src/lmtp/lmtp-
	proxy.c, src/lmtp/lmtp-settings.c, src/lmtp/main.c, src/log/log-
	connection.c, src/log/log-settings.c, src/log/main.c, src/login-
	common/access-lookup.c, src/login-common/client-common-auth.c, src
	/login-common/client-common.c, src/login-common/login-proxy-state.c,
	src/login-common/login-proxy.c, src/login-common/login-settings.c,
	src/login-common/main.c, src/login-common/sasl-server.c, src/login-
	common/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c, src
	/login-common/ssl-proxy.c, src/master/dup2-array.c,
	src/master/main.c, src/master/master-settings.c, src/master/service-
	anvil.c, src/master/service-listen.c, src/master/service-log.c,
	src/master/service-monitor.c, src/master/service-process-notify.c,
	src/master/service-process.c, src/master/service.c, src/plugins/acl
	/acl-api.c, src/plugins/acl/acl-backend-vfile-acllist.c,
	src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-backend.c,
	src/plugins/acl/acl-cache.c, src/plugins/acl/acl-lookup-dict.c,
	src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-mailbox.c,
	src/plugins/acl/acl-plugin.c, src/plugins/acl/acl-shared-storage.c,
	src/plugins/acl/acl-storage.c, src/plugins/acl/doveadm-acl.c,
	src/plugins/autocreate/autocreate-plugin.c, src/plugins/expire
	/doveadm-expire.c, src/plugins/expire/expire-plugin.c,
	src/plugins/expire/expire-set.c, src/plugins/fts-lucene/doveadm-fts-
	lucene.c, src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins
	/fts-lucene/fts-lucene-plugin.c, src/plugins/fts-solr/fts-backend-
	solr-old.c, src/plugins/fts-solr/fts-backend-solr.c, src/plugins
	/fts-solr/fts-solr-plugin.c, src/plugins/fts-solr/solr-connection.c,
	src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts-squat
	/fts-squat-plugin.c, src/plugins/fts-squat/squat-test.c, src/plugins
	/fts-squat/squat-trie.c, src/plugins/fts-squat/squat-uidlist.c,
	src/plugins/fts/doveadm-dump-fts-expunge-log.c, src/plugins/fts
	/doveadm-fts.c, src/plugins/fts/fts-api.c, src/plugins/fts/fts-
	build-mail.c, src/plugins/fts/fts-expunge-log.c, src/plugins/fts
	/fts-indexer.c, src/plugins/fts/fts-parser-html.c, src/plugins/fts
	/fts-parser-script.c, src/plugins/fts/fts-parser.c, src/plugins/fts
	/fts-plugin.c, src/plugins/fts/fts-search-serialize.c,
	src/plugins/fts/fts-search.c, src/plugins/fts/fts-storage.c,
	src/plugins/fts/xml2text.c, src/plugins/imap-acl/imap-acl-plugin.c,
	src/plugins/imap-quota/imap-quota-plugin.c, src/plugins/imap-stats
	/imap-stats-plugin.c, src/plugins/imap-zlib/imap-zlib-plugin.c,
	src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log
	/mail-log-plugin.c, src/plugins/quota/doveadm-quota.c,
	src/plugins/quota/quota-count.c, src/plugins/quota/quota-dict.c,
	src/plugins/quota/quota-dirsize.c, src/plugins/quota/quota-fs.c,
	src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-plugin.c,
	src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c,
	src/plugins/snarf/snarf-plugin.c, src/plugins/stats/stats-
	connection.c, src/plugins/stats/stats-plugin.c, src/plugins/trash
	/trash-plugin.c, src/plugins/virtual/virtual-config.c,
	src/plugins/virtual/virtual-mail.c, src/plugins/virtual/virtual-
	plugin.c, src/plugins/virtual/virtual-save.c, src/plugins/virtual
	/virtual-search.c, src/plugins/virtual/virtual-storage.c,
	src/plugins/virtual/virtual-sync.c, src/plugins/virtual/virtual-
	transaction.c, src/plugins/zlib/doveadm-zlib.c, src/plugins/zlib
	/istream-bzlib.c, src/plugins/zlib/istream-zlib.c, src/plugins/zlib
	/ostream-bzlib.c, src/plugins/zlib/ostream-zlib.c, src/plugins/zlib
	/zlib-plugin.c, src/pop3-login/client-authenticate.c,
	src/pop3-login/client.c, src/pop3-login/pop3-login-settings.c,
	src/pop3-login/pop3-proxy.c, src/pop3/main.c,
	src/pop3/pop3-client.c, src/pop3/pop3-commands.c,
	src/pop3/pop3-settings.c, src/ssl-params/main.c, src/ssl-params/ssl-
	params-openssl.c, src/ssl-params/ssl-params-settings.c, src/ssl-
	params/ssl-params.c, src/stats/client-export.c, src/stats/client.c,
	src/stats/global-memory.c, src/stats/mail-command.c, src/stats/mail-
	domain.c, src/stats/mail-ip.c, src/stats/mail-server-connection.c,
	src/stats/mail-session.c, src/stats/mail-stats.c, src/stats/mail-
	user.c, src/stats/main.c, src/stats/stats-settings.c,
	src/util/gdbhelper.c, src/util/maildirlock.c, src/util/rawlog.c,
	src/util/script-login.c, src/util/script.c, src/util/tcpwrap-
	settings.c, src/util/tcpwrap.c:
	Updated copyright notices to include year 2012.
	[ba770cba5598]

	* src/lda/main.c, src/lib-lda/mail-deliver.h, src/lib-lda/mail-send.c:
	lib-lda: Send DSN only for out-of-quota errors. Send MDN for Sieve
	rejects.
	[ad5298ba3229]

	* doc/example-config/dovecot.conf:
	example-config: Updated instance_name setting's comments.
	[b9e74767cd39]

	* src/lib-storage/index/index-thread-finish.c:
	Make static analyzer happier.
	[996a03279431]

	* src/lda/main.c, src/lib-lda/mail-deliver.h, src/lib-lda/mail-send.c:
	lda: If DSN is sent because user is out of quota, send 5.2.2 as
	Status.
	[ee060d756630]

	* src/lib-lda/mail-send.c:
	lib-lda: Send DSN instead of MDN for rejections. I had just
	copy&pasted the MDN sending from Cyrus..
	[264821ba38a8]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: "Invalid userdb input" showed wrong input in the error
	message.
	[731d9f2cd25d]

	* src/lib-storage/index/dbox-single/sdbox-storage.c:
	sdbox: Fixed sdbox_read_header() randomly failing.
	[7517c752f2f5]

	* src/lib-storage/fail-mailbox.c:
	lib-storage: Error handling fix.
	[e778e2c76f6f]

	* src/doveadm/dsync/dsync-worker-local.c:
	dsync: Don't assert-crash if saving a message fails.
	[57c735865b19]

	* src/director/auth-connection.c:
	director: Log an error if auth connection disconnects unexpectedly.
	[9b70d164e974]

	* src/doveadm/doveadm-mail.c:
	doveadm: Changes for previous expire plugin changes to actually
	work.
	[b77aa92e3931]

	* src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c:
	sdbox: Don't assert-crash on index rebuild if u.X file exists in
	both primary and alt storage.
	[5f96fb9f079b]

	* src/plugins/expire/doveadm-expire.c:
	expire: Only go through users listed by userdb iteration. Delete
	dict rows for nonexistent users, unless
	expire_keep_nonexistent_users=yes.
	[f889e25711a1]

	* src/plugins/acl/doveadm-acl.c:
	doveadm acl: Added "add" and "remove" commands.
	[845c3045f45c]

	* src/plugins/acl/doveadm-acl.c:
	doveadm acl set: Replace both positive and negative rights, not just
	one of them.
	[dbff71f51507]

	* src/doveadm/doveadm-mail-mailbox.c:
	doveadm mailbox delete: Added -r parameter to recursively delete
	mailboxes.
	[4bc781a27f54]

	* src/doveadm/doveadm-mail-mailbox.c:
	doveadm mailbox delete: Sort the mailbox parameters so that children
	are deleted first.
	[711c122aa253]

	* src/lib-mail/message-id.c, src/lib-mail/test-message-id.c:
	message_id_get_next(): Fixed parsing message-ids with no-fold-
	quotes.
	[53929042d73e]

	* src/lib-ssl-iostream/iostream-openssl-context.c, src/login-common
	/ssl-proxy-openssl.c:
	SSL: Enable SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS flag for extra
	security. This is to counter the "BEAST SSL" attack, although I
	don't think it's practical to implement against IMAP/POP3/LMTP
	protocols. There's really no way for attackers to inject any evil
	data before authentication, so the password is safe. Post-
	authentication attacker could cause clients to download evil emails,
	but even then clients don't typically redownload some specific mail,
	so there's really no way to extract anything useful.
	[8d90de706bd2]

	* src/doveadm/doveadm-mail-list-iter.c:
	doveadm: Use MAILBOX_LIST_ITER_LIST_PREFIXES when iterating through
	mailboxes. This means that if there exists a mailbox in namespace
	prefix itself, those mailboxes can be accessed. Also "doveadm
	mailbox list" shows all namespace prefixes.

	Note that wildcards match only within namespace, so e.g. '*' will
	never match any namespace prefix, because it works within the
	prefix="" namespace.
	[6420d63e7570]

	* src/lib-storage/mailbox-list-iter.c, src/lib-storage/mailbox-list.h:
	lib-storage: Added MAILBOX_LIST_ITER_LIST_PREFIXES flag.
	[f5353573d3a0]

	* src/doveadm/doveadm-mail-list-iter.c:
	doveadm: Removed unnecessary code. "mailbox/" is no longer included
	in listing by default.
	[53cf118fd16c]

	* src/doveadm/doveadm-pw.c:
	doveadm pw: Added -t <hash> parameter to test if a hash matches to
	given plaintext. Based on patch by Jimmy Thrasibule
	[fffa4d53e901]

2012-02-09  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/shared/shared-storage.c:
	shared: Allocate mailbox as fail_mailbox. This fixes crashes when a
	mailbox is attempted to be allocated from the shared namespace
	itself (e.g. the "shared" prefix).
	[a927b41bf699]

	* src/lib-storage/Makefile.am, src/lib-storage/fail-mail-storage.c,
	src/lib-storage/fail-mail-storage.h, src/lib-storage/fail-mail.c,
	src/lib-storage/fail-mailbox.c, src/lib-storage/test-mail-storage.c,
	src/lib-storage/test-mail-storage.h, src/lib-storage/test-mail.c,
	src/lib-storage/test-mailbox.c:
	lib-storage: Renamed test-mail/mailbox/storage to fail-*
	[6a285db79b76]

	* src/plugins/virtual/virtual-storage.c:
	Increased initial memory pool size.
	[f9b78a17018c]

	* src/doveadm/dsync/dsync-worker-local.c:
	dsync: Fixed a potential assert crash when saving mails.
	[e29bc3eb0ba6]

	* src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
	/dbox-single/sdbox-save.c:
	dbox: If saving is aborted, don't add a broken record about it to
	index.
	[98a59ac1f3d0]

	* src/plugins/quota/quota.c:
	quota: If "quota" setting's value is empty, assume quota is wanted
	to be disabled.
	[dc674f4577af]

	* src/plugins/snarf/snarf-plugin.c:
	snarf: Keep the mailbox locked during snarfing to avoid duplicates.
	[28b73743c36f]

	* src/imap/cmd-append.c:
	imap: Handle invalid APPEND parameters a little nicer.
	[665bb4bc72ca]

	* configure.in:
	configure: Avoid some unnecessary warnings with clang.
	[671b637e20db]

	* src/auth/password-scheme.c:
	auth: password_verify() now returns error string also for password
	mismatches.
	[aea4151da8f6]

	* src/doveadm/doveadm-pw.c:
	doveadm pw: Minor code cleanups.
	[12579e53f575]

	* src/doveadm/doveadm-pw.c:
	doveadm pw: Improved error messages.
	[75d6cd91fabe]

	* src/doveadm/doveadm-proxy.c:
	doveadm proxy list: Avoid hanging if we can't connect to ipc socket.
	[f2b7e8d8dcb3]

	* src/lib-master/master-service.c:
	lib-master no longer uses 's' option, but it wasn't removed from
	getopt string.
	[dd4626a996b6]

	* INSTALL:
	INSTALL: Updated outdated documentation.
	[5ea2e9b93fe3]

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Avoid assert-crashing when trying to access invalid mailbox
	names.
	[95a9428fe68b]

	* src/doveadm/doveadm-mail-index.c:
	doveadm index: Changed help text to make it clear that mailbox can
	have wildcards.
	[4ced8d2b4a3b]

	* src/doveadm/doveadm-mail.c:
	doveadm force-resync: Support wildcards in mailbox names.
	[e004b6a89869]

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Trying to access shared mailboxes of nonexistent users
	crashed. This was broken by commit 18078d6cce84.
	[f2d5a1efdda2]

	* src/doveadm/doveadm-mail-list-iter.c:
	doveadm mailbox list without pattern shows now all shared and public
	mailboxes also. doveadm mailbox list '*' shows only the one matching
	namespace.
	[b600af017598]

	* src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index
	/dbox-multi/mdbox-map.c:
	mdbox: Fixed finding appendable m.* files in alt storage.
	[6881d8c59d9f]

	* doc/example-config/conf.d/10-mail.conf, src/lib-
	storage/index/mbox/Makefile.am, src/lib-storage/index/mbox/mbox-
	md5-all.c, src/lib-storage/index/mbox/mbox-md5-apop3d.c, src/lib-
	storage/index/mbox/mbox-md5.c, src/lib-storage/index/mbox/mbox-
	md5.h, src/lib-storage/index/mbox/mbox-save.c, src/lib-
	storage/index/mbox/mbox-settings.c, src/lib-storage/index/mbox/mbox-
	settings.h, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-storage.h, src/lib-storage/index/mbox/mbox-
	sync-parse.c:
	mbox: Added mbox_md5 setting to select headers for MD5 generation.
	[2500de8f1f51]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Detect duplicate GUIDs for different messages. Don't delete
	these duplicates. Only the message size is used for detecting if
	they are duplicates or not, but since this shouldn't normally happen
	anyway this is good enough.
	[408350532a18]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Small code cleanup to storage rebuild.
	[e4272971f86f]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Avoid deferencing NULL pointer in specific corrupted
	mailboxes.
	[69bb267956a2]

	* src/lib-storage/index/dbox-common/dbox-sync-rebuild.c, src/lib-
	storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-sync-rebuild.c:
	dbox: Index rebuild now preserves caching decisions.
	[d8d214cc1936]

	* src/lib-index/mail-cache-private.h, src/lib-index/mail-cache.h:
	lib-index: mail_cache_open_and_verify() is now public.
	[21c3ce1b21cd]

	* src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index
	/dbox-single/sdbox-file.c:
	dbox: Never rename() mail files over existing files. If such a file
	exists, rebuild indexes.
	[09db0f7aa6ce]

	* src/lib-storage/index/dbox-multi/mdbox-map.c:
	mdbox: Fixed initial mailbox creation to work again without errors.
	[41bd2d4c013d]

	* src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.h, src/lib-storage/index
	/dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/index-storage.h:
	sdbox: Use mail_index_set_ext_init_data() to simplify opening
	mailboxes. Now the initial mailbox index can be created with the
	necessary sdbox header. If the header doesn't exist when opening a
	mailbox, it's guaranteed to be corrupted.
	[1e2e69ea3095]

	* src/lib-index/mail-index-private.h, src/lib-index/mail-index.c, src
	/lib-index/mail-index.h, src/lib-index/mail-transaction-log-file.c:
	lib-index: Added mail_index_set_ext_init_data() for adding data to
	index on creation. This can be used to avoid race conditions on
	mailbox creation for mailbox formats that require this (sdbox).
	[2ab26bb55346]

	* src/lib-index/mail-cache.c, src/lib-master/mountpoint-list.c:
	Increase initial memory pool sizes.
	[f6102f0af71d]

2012-02-08  Timo Sirainen  <tss@iki.fi>

	* src/director/main.c:
	director: Fixed potential assert crash when moving a user to another
	backend.
	[24eec256a761]

	* src/lib/istream.c, src/lib/ostream.c:
	iostreams: Set errno to stream_errno when exiting from failing
	functions.
	[d4e7052af42a]

	* src/doveadm/doveadm-instance.c:
	doveadm instance remove: Allow removing using name as well as base
	dir.
	[448c48968174]

	* src/imap/imap-fetch-body.c, src/imap/imap-fetch.h:
	Removed unnecessary code.
	[06c9a46f35a8]

2012-02-06  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-single/sdbox-storage.c:
	sdbox: Fix a corrupted mailbox when opening it, instead of losing
	all of its contents.
	[a765e0a895a9]

	* src/doveadm/doveadm-instance.c:
	doveadm instance list: Show the last used field.
	[833ac7b1d58b]

	* src/lib-master/master-instance.c, src/lib-master/master-instance.h:
	lib-master: Removed code to auto-drop instances from the list. There
	couldn't be any empty named instances, so it was a bit pointless.
	[51c4e336c872]

	* src/master/main.c:
	master: If instance_name doesn't begin with "dovecot", add
	"dovecot-" prefix to process names.
	[26885fe20e1f]

	* src/lib-master/Makefile.am, src/lib-master/master-service-private.h,
	src/lib-master/master-service.c:
	lib-master: Added -i parameter to read config by instance name
	rather than path.
	[3fa544e4f26b]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-instance.c,
	src/doveadm/doveadm.c, src/doveadm/doveadm.h, src/lib-
	master/Makefile.am, src/lib-master/master-instance.c, src/lib-master
	/master-instance.h, src/master/main.c:
	Keep track of what Dovecot instances have been executed and their
	instance_name. doveadm instance command can be used to list/remove
	them.
	[5f60958926e1]

	* src/log/doveadm-connection.c, src/log/doveadm-connection.h, src/log
	/log-error-buffer.c, src/log/log-error-buffer.h:
	log: Forgot to add new files to recent commit.
	[6cd1b564fcc2]

	* src/util/rawlog.c:
	rawlog: Renamed -i / -o parameters to "-f in", "-f out" This is
	mainly to get give the -i parameter to lib-master.
	[664778adec21]

	* src/doveadm/doveadm-log.c, src/log/Makefile.am, src/log/log-
	connection.c, src/log/log-connection.h, src/log/log-settings.c,
	src/log/main.c:
	log: Keep track of last 1000 errors/warnings. "doveadm log errors"
	shows them.
	[66f875b5102b]

	* src/lib/failures.c, src/lib/failures.h:
	liblib: Added failure_log_type_names[] array.
	[0d224f2c3152]

2012-02-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/pop3c/pop3c-client.c, src/lib-
	storage/index/pop3c/pop3c-mail.c:
	pop3c: Fixes to handling filter streams for mail.
	[fa7e1246e0e2]

	* src/lib/istream-seekable.c:
	istream-seekable: If we panic about stream not being seekable, log
	the stream name/offset.
	[f31a227ae381]

	* src/lib-storage/index/pop3c/pop3c-client.c:
	pop3c: Last message wasn't visible.
	[a5aac072bf38]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: If base_dir isn't set, do a blocking DNS lookup. This is
	mostly a workaround for being able to run imapc from standalone
	programs (e.g. doveadm) without running Dovecot.
	[47072538ff11]

	* src/lib-imap-client/imapc-connection.c:
	lib-imap-client: If dns_client_socket_path isn't given, do a
	blocking lookup.
	[9d031f0b613d]

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: Added support for hdr.*.utf8 fields.
	[ceadfe9009aa]

	* src/lib-storage/mail-storage.c:
	lib-storage: One more crashfix for recent
	maildir_name/mailbox_dir_name change.
	[ba48de993c8e]

	* src/auth/db-ldap.c:
	auth: Get LDAP attribute names automatically from template's
	%{ldap:attr} variables.
	[d29d119192c1]

	* src/lib/var-expand.c:
	var_expand*(): Allow table to be NULL (when using only func_table).
	[56c3a6c1d187]

	* src/auth/db-ldap.c:
	auth: LDAP fields can now access any returned LDAP attribtes with
	%{ldap:name}
	[ab58022f934f]

	* src/lib/var-expand.c, src/lib/var-expand.h:
	liblib: Added var_expand_with_funcs() to expand variables with
	function callbacks.
	[ba86a60e3059]

	* src/auth/db-ldap.c, src/auth/db-ldap.h:
	ldap: Crashfixes to previous change.
	[7edafe5c43da]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Crashfix related to recent maildir_name/mailbox_dir_name
	changes.
	[adb1ac9a9b82]

	* src/config/config-parser.c:
	config: In "key=<path" path is now relative to config file's
	directory.
	[901ce18fbfcb]

	* src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/passdb-ldap.c,
	src/auth/userdb-ldap.c:
	ldap: Support using the same LDAP attribute in multiple fields.
	[6734aa225b4f]

2012-02-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-single/sdbox-sync.c:
	sdbox: Fixed moving files from alt storage to primary storage.
	[fb659472b2a2]

	* src/plugins/stats/stats-plugin.c:
	stats plugin disabled calling other plugins' user.deinit() method.
	[b82a3149f45e]

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/mailbox-
	list.c:
	lib-storage: And another fix to previous
	maildir_name/mailbox_dir_name changes.
	[db8c1dde0b41]

	* src/lib/ioloop-private.h, src/lib/ioloop.c, src/lib/ioloop.h:
	ioloop: I/O and timeout leak messages now include the
	io_add()/timeout_add() source line number. This helps figuring out
	the leak especially when using ASLR. Also in 64bit systems there's
	no increased memory usage, because the line number replaces only
	padding.
	[0308a33d9f99]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Crashfix to previous change.
	[e3c4a86fb63b]

	* src/lib-master/mountpoint-list.c, src/lib-master/mountpoint-list.h,
	src/lib-storage/mail-user.c, src/lib-storage/mail-user.h, src/lib-
	storage/mailbox-list.c:
	lib-storage: Abort index/control/alt root dir creation if mountpoint
	isn't mounted.
	[d01932c7828a]

	* src/doveadm/doveadm-mount.c:
	doveadm mount: Renamed "status" command to "list".
	[cf34d9fc5cec]

	* src/doveadm/doveadm-mount.c:
	doveadm mount remove: Allow removing a wildcard path with the '*'
	suffix.
	[f9a4404f2316]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mount.c,
	src/doveadm/doveadm.c, src/doveadm/doveadm.h, src/lib-
	master/Makefile.am, src/lib-master/mountpoint-list.c, src/lib-master
	/mountpoint-list.h, src/master/main.c:
	Keep track of seen mountpoints and warn at startup if one is
	missing. doveadm mount commands can be used to manipulate the list.

	The list is kept in $rundir/mounts, but since it may be deleted
	after a reboot a copy is kept also in $statedir/mounts. If it's not
	found from $rundir at startup, it's copied there from $statedir.
	(The reason why only $statedir isn't used is because it's often not
	world-readable.)
	[51324056af4f]

	* src/doveadm/doveadm-director.c, src/doveadm/doveadm-print-table.c,
	src/doveadm/doveadm-print.h, src/doveadm/doveadm-proxy.c,
	src/doveadm/doveadm-stats.c, src/doveadm/doveadm-who.c:
	doveadm: Added flag to specify which column table formatter expands.
	The default also was changed to last column, not first.
	[56ff22125b7d]

	* configure.in:
	configure: Added getmntinfo() check for BSD mountpoint iteration.
	[4b783711a22e]

	* src/lib-storage/index/dbox-common/dbox-sync-rebuild.c, src/lib-
	storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index/maildir
	/maildir-util.c, src/lib-storage/mail-storage.c, src/lib-storage
	/mailbox-list.c, src/lib-storage/mailbox-list.h, src/plugins/fts-
	lucene/fts-backend-lucene.c:
	lib-storage: mailbox_list_mkdir_root() API changed. Use it now for
	creating mail root dir. It was supposed to be used for it
	previously, but wasn't..
	[aed3379df476]

	* src/lib/guid.c:
	guid_128_generate(): Use 32bit sha1(host@domain) instead of
	crc32(hostname)
	[acc60bd684fb]

2012-01-30  Timo Sirainen  <tss@iki.fi>

	* src/lib/mountpoint.c, src/lib/mountpoint.h:
	Added mountpoint_iter_*() for iterating mounted filesystems.
	[8be75a2ea2dd]

2012-01-29  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveconf.1.in:
	man: Added descriptions of -d and -S options to doveconf.1.
	[cc533cbd77b0]

2012-01-29  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream-seekable.c:
	istream-concat: If EOF is already reached, use that size for
	stat().st_size
	[15bcb5616717]

	* src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib/ostream-zlib.c:
	zlib: zlib/bzlib ostreams no longer assert-crash if parent stream
	becomes full. This fixes assert-crashes with IMAP COMPRESS
	extension.
	[3c0bd1fd035b]

	* src/lib-storage/index/pop3c/pop3c-mail.c:
	pop3c: mail.istream_opened() method wasn't being called.
	[397224940894]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Don't lose save_dates when rebuilding indexes.
	[47018c625680]

	* src/plugins/zlib/zlib-plugin.c:
	zlib+mbox: Fixed error handling when opening nonexistent/directory
	mailbox.
	[dd2f85009ba0]

2012-01-28  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-search.c:
	imap: CONTEXT search return option wasn't handled at all.
	[7a1e2cb5c13c]

	* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
	/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-sync.c,
	src/lib-storage/index/dbox-multi/mdbox-sync.h:
	mdbox: Check that m.X file doesn't have garbage at end of file when
	saving new data to it.
	[bde005e302e0]

	* src/doveadm/dsync/dsync-worker-local.c:
	dsync: Fixed handling non-ASCII characters in mailbox names.
	[ef6f3b7f6038]

	* src/config/config-parser-private.h, src/config/config-parser.c,
	src/config/doveconf.c:
	doveconf: Added -d parameter for dumping default settings.
	[41cb0217b7c3]

	* src/lib-sql/driver-sqlpool.c:
	sql: Fixed retrying query when multiple hosts were specified and all
	of them got disconnected.
	[6b902f2be944]

	* src/lib-storage/index/index-thread-finish.c:
	lib-storage: Thread iteration no longer returns dummy nodes without
	children. This fixes returning (0) nodes to IMAP client.
	[67972d72b55c]

	* src/lib/restrict-access.c:
	restrict_access(): If privileged and primary GIDs are the same,
	ignore privileged GID.
	[9b8657a98e2e]

	* src/doveadm/dsync/dsync-brain.c:
	dsync: If brain fails but workers don't, exit without assert-
	crashing.
	[2a4b425b05dc]

	* src/doveadm/dsync/dsync-worker-local.c:
	dsync: Don't crash if one source has indexes disabled.
	[7b94d1c8a6e7]

	* src/lib-lda/smtp-client.c:
	smtp client: Do DNS blocking lookups. We don't currently have access
	to base_dir, so we can't know what the path to dns-client is. Also
	smtp client is a blocking operation anyway, so doing a blocking DNS
	lookup isn't a problem.
	[32318f1588d4]

	* src/lib-lda/lmtp-client.c:
	smtp/lmtp client: If dns-client socket path isn't given, use
	blocking lookup.
	[bc2eea348f55]

	* src/lib-storage/list/mailbox-list-fs.c:
	fs layout: Handle properly returning path when there is no root dir.
	[5a14f5ddd1a2]

2012-01-27  Timo Sirainen  <tss@iki.fi>

	* src/master/service-monitor.c, src/master/service.h:
	master: Throttle rapid exit failures only if there have never been
	any exit successes. This should still catch buggy services without
	allowing intentional DoSing.
	[85a9b5236b6c]

	* src/master/service-monitor.c, src/master/service.c,
	src/master/service.h:
	master: Make service throttling seconds incremental, starting from 2
	secs.
	[c553725d57bb]

	* src/master/service-monitor.c, src/master/service.h:
	master: If 10 service processes die within a second with no
	successes inbetween, throttle the service.
	[300736775b89]

	* src/auth/userdb-passwd.c:
	auth: Monitor how fast userdb passwd lookups are. If they're too
	slow, suggest blocking=yes
	[c9b5ea1b9709]

	* src/auth/db-passwd-file.c:
	auth: If parsing passwd-file takes a long time, log a warning.
	[e9a816eaa0e2]

	* src/imap-login/imap-proxy.c, src/login-common/client-common.c, src
	/login-common/client-common.h, src/pop3-login/pop3-proxy.c:
	login proxy: If remote auth fails, say so in disconnect message
	instead of "internal failure".
	[cb344eb79daa]

	* dovecot-config.in.in:
	dovecot-config: Added missing lib-dns and lib-fs to
	LIBDOVECOT_INCLUDE
	[7767d168c994]

	* src/lib-storage/index/dbox-single/sdbox-file.c:
	sdbox: Preserve file's atime/mtime when moving it to alt storage.
	[10320252b521]

	* src/lib-imap-client/imapc-connection.c:
	imapc: If imapc_host is IP, don't look it up via dns-client service.
	[6e6c20ab1ed1]

	* doc/example-config/conf.d/10-mail.conf:
	example-config: mdbox_rotate_interval default was wrong.
	[c330960e6bcb]

	* src/imap-login/imap-proxy.c, src/pop3-login/client-authenticate.c,
	src/pop3-login/pop3-proxy.c:
	login: More verbose_auth -> auth_verbose changes.
	[d88f58c6fd21]

	* src/login-common/login-settings.c, src/login-common/login-
	settings.h:
	login: If auth_debug_passwords=yes, assume
	auth_debug/auth_verbose=yes
	[520fcb49c939]

	* src/login-common/client-common-auth.c, src/login-common/login-
	settings.c, src/login-common/login-settings.h, src/login-common
	/sasl-server.c, src/login-common/ssl-proxy-openssl.c:
	login process wasn't logging all intended messages with
	auth_verbose=yes It was named verbose_auth setting accidentally.
	[581aaea8569c]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: If server doesn't support GUIDs, return empty GUID rather
	than fail. This is how other backends do it as well.
	[f3e000992f61]

2012-01-26  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch hdr.*.adddress*: Don't crash when printing groups.
	[afeabe28a499]

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: hdr.*.address and hdr.*.address_name expand to parsed
	mail addresses.
	[a6a787f0aba1]

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch text.utf8: Don't return failure on success.
	[2418871d09f5]

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: Added text.utf8 field, which translates headers/body
	to UTF-8.
	[89a637820edd]

	* src/auth/password-scheme.c:
	auth: Added PLAIN-TRUNC password schmee. The idea is to allow
	successful authentication when the original plaintext password was
	stored truncated in the database. So e.g. user gave 123456789 as
	password, but database truncated it to 12345678. To make this
	authentication work, {PLAIN-TRUNC}8-12345678 password allows
	successful authentication with any password that begins with
	12345678. With the "8-" prefix this prefix matching is done only
	when the password after it is exactly 8 characters.
	[3235e903dc97]

	* src/lib/Makefile.am:
	Makefile: Added UnicodeData.txt dependency to unicodemap.c.
	[b2a2036bad3a]

	* .hgsigs:
	Added signature for changeset 0f10b3ed5c18
	[de09157961d6]

	* .hgtags:
	Added tag 2.1.rc5 for changeset 0f10b3ed5c18
	[67f12146691c]

	* NEWS, configure.in:
	Released v2.1.rc5.
	[0f10b3ed5c18] [2.1.rc5]

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: When saving mails compressed, make sure ,S=size gets added
	to the filename.
	[8f25ff7e0e78]

2012-01-25  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-mail.c:
	lib-storage: Message size lookups from cache was broken if fields
	weren't in "normal" order in file.
	[cfc395ee6be1]

2012-01-24  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset a20a99b8815d
	[d01c46b6b5bb]

	* .hgtags:
	Added tag 2.1.rc4 for changeset a20a99b8815d
	[844294bc4b32]

	* NEWS, TODO, configure.in:
	Released v2.1.rc4.
	[a20a99b8815d] [2.1.rc4]

	* src/lib-storage/list/mailbox-list-index.c:
	Dead code removal.
	[077b09204860]

	* src/lib-index/mail-index-sync-ext.c:
	lib-index: Handle broken ext-header updates without crashing.
	[b4d8e950eb9d]

	* src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c:
	zlib: Getting stream's size failed in some situations. This could
	have caused other trouble, such as with dbox + mail_attachment_dir.
	[c464072d05e0]

	* src/lib-storage/index/dbox-common/dbox-attachment.c:
	dbox: Minor code correctness fix.
	[096c12e69fd6]

	* src/lib-storage/index/istream-mail.c:
	istream-mail: Skip checking if cached message size is wrong if
	parent stream returns error. An error is not the same as EOF.
	[4e3f2ee77b37]

	* src/lib/istream-concat.c:
	istream-concat: If looking up stream's size fails, log an error and
	handle it as error, not EOF.
	[5c1471ae3005]

2012-01-22  Timo Sirainen  <tss@iki.fi>

	* src/login-common/client-common-auth.c, src/login-common/client-
	common.h:
	login: Make SASL auth buffer size define public.
	[83a2e1ba3ab6]

2012-01-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/pop3c/pop3c-settings.c:
	pop3c: Change the default port to 110, not 143.
	[8f5cdb88d047]

	* src/lib-storage/index/pop3c/pop3c-storage.c:
	pop3c: Fixed to work without indexes.
	[b6f9fa12dca6]

	* src/imap-login/client-authenticate.c, src/imap-login/client-
	authenticate.h, src/imap-login/client.c, src/imap-login/client.h,
	src/login-common/client-common-auth.c:
	imap-login: Fixed handling second AUTHENTICATE command when the
	first one failed.
	[32cf5ed72e2d]

	* src/lmtp/client.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
	settings.h:
	lmtp: Fixed assert-crashing on 3rd client connection.
	[e9f68fdf6967]

	* src/lmtp/commands.c, src/lmtp/main.c, src/lmtp/main.h:
	lmtp: Make core dumping work also after the first mail delivery.
	[d5ba2d63ed6d]

2012-01-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	fs layout: Fixed listing child mailboxes when children flags weren't
	requested.
	[54e74090fb42]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	fs layout: Don't list subscriptions file as a mailbox.
	[958ef86e7f5b]

	* src/plugins/notify/notify-plugin.c:
	notify plugin: Don't crash if user-plugin didn't set mailbox_rename.
	Patch by Ewald Dieterich.
	[62c33ed5e357]

	* src/plugins/notify/notify-plugin-private.h, src/plugins/notify
	/notify-plugin.c, src/plugins/notify/notify-plugin.h,
	src/plugins/notify/notify-storage.c:
	notify plugin: Added mailbox_update and mailbox_set_subscribed
	notifications.
	[eaf3152a33d6]

	* doc/example-config/dovecot.conf, src/master/main.c, src/master
	/master-settings.c, src/master/master-settings.h:
	master: Added instance_name setting, which is used to prefix
	processes in ps output.
	[e1f21a4ef417]

	* src/lib-sql/driver-mysql.c:
	mysql: If query fails with "MySQL server gone away", log also how
	long it idled.
	[a817cfc3979d]

	* src/auth/auth-common.h, src/auth/auth-worker-client.c, src/auth
	/auth-worker-client.h, src/auth/auth-worker-server.c,
	src/auth/main.c, src/auth/passdb-pam.c:
	auth: Make idle_kill work with auth worker processes.
	[58556a90259f]

	* src/lib-master/master-interface.h, src/lib-master/master-service-
	private.h, src/lib-master/master-service.c, src/lib-master/master-
	service.h, src/master/service-process.c:
	lib-master: Send service's idle_kill value to process in
	environment.
	[3963862a4086]

	* src/master/service-process.c:
	Typofix.
	[a6a53c658cab]

	* src/plugins/fts/fts-parser-script.c:
	fts: Run decoder script with 10 second alarm.
	[01480afe283f]

	* src/util/script.c:
	script: Set alarm() for the script being run only if alarm=<secs>
	parameter is given.
	[5f33a67d5e25]

	* src/plugins/fts/decode2text.sh:
	decode2text.sh: Hide catdoc/catppt/xls2csv segmentation faults. We
	can't do anything about them anyway.
	[4d60dcf35bbe]

	* src/imap/main.c, src/lib-master/master-login.c, src/lib-master
	/master-login.h, src/pop3/main.c:
	imap, pop3: Added -t parameter to specify post-login script timeout.
	[9015f0b8fa4d]

	* src/util/script-login.c:
	script-login: If we fail to finish, exit with 0 to avoid master
	logging error unnecessarily.
	[db37a5818b92]

	* src/plugins/quota/quota-maildir.c:
	Maildir++ quota: Close maildirsize file after writing to it to force
	NFS to write it. This should fix the "Stale NFS file handle" errors
	with maildirsize.
	[00a27339f541]

	* src/lib/eacces-error.c:
	eacces_error(): Removed bogus message about UNIX perms appearing to
	be ok.
	[8714ccb35848]

	* src/lib-auth/auth-server-connection.c:
	lib-auth: Don't log the "auth connection closed" warning if there
	were 0 non-aborted requests.
	[569e1fd8d97e]

	* src/lib-auth/auth-client-request.c, src/lib-auth/auth-client-
	request.h, src/lib-auth/auth-client.c, src/lib-auth/auth-client.h,
	src/lib-auth/auth-server-connection.c, src/lib-auth/auth-server-
	connection.h, src/login-common/client-common.c, src/login-
	common/main.c:
	lib-auth: Improved warning message about aborting auth requests.
	[3dae51fd4565]

2012-01-19  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-settings.c, src/auth/auth-worker-client.c, src/auth
	/auth-worker-client.h, src/auth/auth-worker-server.c, src/auth/db-
	sql.c, src/auth/db-sql.h, src/auth/main.c, src/auth/passdb-sql.c,
	src/auth/userdb-sql.c:
	auth: Throttle SQL auth worker process creation if they can't
	connect to database.
	[7175320feafc]

	* src/auth/auth-common.h, src/auth/auth-worker-client.c, src/auth
	/auth-worker-client.h, src/auth/main.c:
	auth: Show a better auth worker process title.
	[1fa75cada826]

	* src/auth/auth-request.c:
	auth: Avoid adding duplicate extra fields to auth replies. This
	especially fixes default_fields/override_fields.
	[05940646a0f4]

	* src/auth/auth-stream.c, src/auth/auth-stream.h, src/auth/userdb-
	blocking.c:
	auth: Minor optimization.
	[057477461add]

	* src/auth/passdb-template.c:
	auth: Don't crash when setting valueless default/override_fields to
	passdb.
	[234de9c2240f]

	* src/imap-login/client-authenticate.c, src/imap-login/client-
	authenticate.h, src/imap-login/client.c, src/imap-login/client.h,
	src/lib-master/master-auth.h, src/login-common/client-common-auth.c,
	src/login-common/client-common.h:
	imap-login: Handle SASL-IR without overflowing master_auth_request's
	buffer.
	[b86f7dd170c6]

	* src/lib-auth/auth-client-request.c:
	lib-auth: Treat cert_username="" and initial_resp_base64="" the same
	as NULLs.
	[141d1e26b13a]

2012-01-18  Timo Sirainen  <tss@iki.fi>

	* src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/passdb-ldap.c,
	src/auth/userdb-ldap.c:
	auth: Log a warning if userdb ldap isn't used, but user_* or
	iterate_* aren't defaults. This is intended to stop people from
	wondering why their changes don't do anything.
	[826ac15f8a13]

	* src/auth/db-sql.c, src/auth/db-sql.h, src/auth/passdb-sql.c,
	src/auth/userdb-sql.c:
	auth: Log a warning if userdb sql isn't used, but user_query or
	iterate_query isn't default. This is intended to stop people from
	wondering why user_query doesn't do anything.
	[8822aeae8d82]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	fs layout: Don't crash in mailbox listing if there are only invalid
	patterns.
	[99ea6da7dc99]

	* src/lib-lda/mail-deliver.c:
	lib-lda: Added %e / %{from_envelope} variable to deliver_log_format.
	[08cc9d2a79e6]

	* src/lib-storage/index/index-mail.c, src/lib-storage/index/index-
	mail.h, src/lib-storage/index/index-storage.c:
	lib-storage: Preserve from_envelope in save context's dest_mail even
	if it's temporary. This allows looking it up while the mail is being
	saved.
	[7ee2cfbcae2e]

	* src/master/service-monitor.c:
	master: Show the process_limit / client_limit value when logging
	that it's been reached.
	[a4e61c99c7eb]

2012-01-17  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/lmtp-proxy.c:
	lmtp: Removed unnecessary code.
	[bb848036f1b4]

	* src/lib-lda/lmtp-client.c:
	lib-lda: Fixed LMTP client hanging on sending large mails.
	[8a9a803f8af4]

	* src/lmtp/client.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
	settings.h:
	lmtp: Get banner text from login_greeting setting.
	[05434bef2492]

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	lib-storage: Added mail_storage_service_get_var_expand_table().
	[ded87d81fc74]

	* src/director/director-connection.c, src/director/director.c,
	src/director/director.h:
	director: Added timeout to syncing to make sure we don't hang if it
	somehow gets lost.
	[493ebb2cfc73]

	* src/director/director-connection.c:
	director: Make sure ring syncing doesn't get lost when directors get
	disconnected.
	[9e43af01f147]

	* src/auth/mech-digest-md5.c:
	auth: DIGEST-MD5 supports authorization id now. Patch by Yubao Liu.
	[c9c271502b32]

	* src/auth/mech-digest-md5.c:
	auth: DIGEST-MD5 didn't read nonce-count parameter correctly. Patch
	by Yubao Liu.
	[387707dc020e]

	* src/director/main.c:
	director: Drop privileges only after adding hosts. This allows
	reading files from /etc/ before chrooting.
	[1d54d2963392]

	* src/auth/passdb.c, src/auth/userdb.c:
	auth: Fixed loading passdb/userdb plugins. Patch by Stephan Bosch.
	[352d3f2f8bb7]

	* src/director/director.c, src/director/director.h,
	src/director/main.c:
	director: Find director's own IP earlier in init.
	[b8fa70a81c8c]

2012-01-12  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/doveadm-dsync.c:
	dsync: Fixed handling -u parameter in backwards compatibility dsync
	mode.
	[1a722c7676bb]

	* src/login-common/client-common-auth.c, src/login-common/client-
	common.c, src/login-common/client-common.h:
	login: Added logging if auth process doesn't respond fast enough for
	greeting.
	[957e74f0d60f]

	* doc/example-config/conf.d/10-master.conf:
	example-config: Updated vsz_limit default values.
	[1c77891b754b]

2012-01-11  Timo Sirainen  <tss@iki.fi>

	* src/login-common/client-common-auth.c:
	login proxy: Added extra logging for bug detection.
	[d72db2acf75b]

	* configure.in:
	configure: Add -fno-builtin-strftime flag with gcc to avoid warning.
	[e0ff21d73630]

2012-01-10  Timo Sirainen  <tss@iki.fi>

	* src/lib/iostream-rawlog.c:
	Compiler warning fix.
	[19700d683144]

	* src/plugins/fts/decode2text.sh:
	decode2text.sh: Exit with 0 even if the decoding failed. There's
	nothing to be done anyway, since they are external programs. These
	errors just flood the error log unnecessarily.
	[24d79a3708c6]

	* src/lib-mail/message-search.c, src/lib-mail/message-search.h, src
	/lib-storage/index/index-search.c:
	Don't assert-crash on mail search if decomposed titlecase of search
	key is empty.
	[bc3b343b1999]

	* src/plugins/quota/quota-maildir.c:
	quota: Try to avoid logging NFS stale fhandle errors when closing
	maildirsize file.
	[0cd33404a201]

	* src/imap-login/client-authenticate.c, src/pop3-login/client-
	authenticate.c:
	imap/pop3-login: Include hostname and timestamp in "temporary auth
	failure" message.
	[81fa0597b8b6]

	* src/doveadm/doveadm-util.c, src/lib-storage/mail-storage.c, src/lib-
	storage/mailbox-list.c, src/lib/iostream-rawlog.c,
	src/util/rawlog.c:
	Use t_strflocaltime() where possible.
	[d4c506d8f534]

	* src/lib/macros.h, src/lib/time-util.c, src/lib/time-util.h:
	Added t_strflocaltime().
	[22cfba724675]

	* src/master/master-settings.c:
	master: default_idle_kill setting wasn't "time" type.
	[1362d8bda03c]

	* src/director/director-connection.c, src/director/director-request.c,
	src/director/director-request.h, src/director/director.c,
	src/director/director.h, src/director/login-connection.c:
	director: If request is timed out, log an error.
	[c70965e8b27d]

	* src/auth/auth-request.c:
	s/Fallbacking/Falling back/
	[ee7b18b1fc00]

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Make sure header name is lowercased in search queries.
	[075591a4b6a8]

	* src/login-common/client-common-auth.c:
	login proxy: If server disconnects during auth, log the connection
	duration.
	[dd48e9094efb]

2012-01-09  Timo Sirainen  <tss@iki.fi>

	* src/master/service-process.c:
	master: "Out of memory" message shows now the service {} block
	around vsz_limit.
	[16d32dda723c]

	* src/lib-storage/index/imapc/imapc-settings.c, src/lib-
	storage/index/imapc/imapc-settings.h, src/lib-storage/index/imapc
	/imapc-storage.c:
	imapc: Added imapc_master_user setting.
	[b860d38f6b9e]

	* src/lib-imap-client/imapc-client.c:
	imapc: Treat master_user="" the same as NULL.
	[43aa5c4f0bfd]

	* src/auth/auth.c:
	auth: Check also masterdbs when checking if auth mechanism can be
	used. Patch by Yubao Liu
	[32f61c8498a4]

	* src/lib-lda/lmtp-client.c:
	lib-lda: Make lmtp_client_state_to_string() more verbose.
	[7c39b94ded90]

	* src/auth/Makefile.am, src/auth/auth-postfix-connection.c, src/auth
	/auth-postfix-connection.h, src/auth/main.c:
	auth: Implemented support for Postfix's "TCP map" sockets for user
	existence lookups.
	[f562bcaca215]

	* src/auth/auth-client-connection.c, src/auth/auth-client-
	connection.h, src/auth/auth-master-connection.c, src/auth/auth-
	master-connection.h, src/auth/main.c:
	auth: Use linked list instead of array for storing list of auth
	connections. With arrays the removal was slower than necessary.
	[fd8fc3b7615e]

2012-01-07  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c:
	Removed unnecessary code.
	[5173218ff7fe]

2012-01-06  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 5398bdb8613f
	[a0f9887133e6]

	* .hgtags:
	Added tag 2.1.rc3 for changeset 5398bdb8613f
	[f1a1941bbf5a]

	* NEWS, TODO, configure.in:
	Released v2.1.rc3.
	[5398bdb8613f] [2.1.rc3]

	* src/lib-storage/mail-storage.c:
	Compiler warning fix.
	[4c06fb461cd4]

	* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-proxy.c:
	Make static analyzer happier.
	[3dc9c253880d]

	* src/master/service-process.c:
	master: log/anvil listener names weren't set correctly. Also this
	fixes a long standing static analyzer "error".
	[326b05f0246b]

	* src/doveadm/dsync/Makefile.am:
	Makefile: added missing file
	[5f4b1539b406]

	* .hgsigs:
	Added signature for changeset a14b7333ae45
	[3f96b6427e69]

	* .hgtags:
	Added tag 2.1.rc2 for changeset a14b7333ae45
	[18d201efd02e]

	* NEWS, TODO, configure.in:
	Released v2.1.rc2.
	[a14b7333ae45] [2.1.rc2]

	* src/log/log-connection.c:
	log: Removed unnecessary code.
	[66facb0594a1]

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: Log all mail deliveries with "save" event, even if it
	happened via copying.
	[e749d3171acd]

	* src/lib-lda/mail-deliver.c:
	lib-lda: Use mailbox_save_using_mail() instead of mailbox_copy() for
	saving mails.
	[dfe7158a48ff]

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Added mailbox_save_using_mail()
	[1e58372ee6f0]

	* src/lib-storage/mail-copy.c, src/lib-storage/mail-storage-private.h,
	src/plugins/notify/notify-storage.c, src/plugins/quota/quota-
	storage.c:
	lib-storage: Renamed mail_save_context.copying to copying_via_save.
	[7f549b7eb77f]

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h,
	src/doveadm/dsync/doveadm-dsync.c:
	doveadm: Hide "dsync-server" from list of commands.
	[08e5bc9cd64a]

	* src/doveadm/dsync/doveadm-dsync.c:
	doveadm: Renamed dsync commands.
	[383286ae9071]

	* src/auth/auth-request-handler.c:
	auth: If master_user is specified by userdb, don't add another one
	to reply. The one specified by userdb should have overridden the
	other one though.
	[f0d11bd4e5f5]

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Avoid using too much memory unnecessarily. Log a warning
	about huge headers.
	[380b0667e0a5]

	* src/lib/istream-data.c:
	istream-data: Avoid assert crashing due to recently added assert.
	[899a2359450a]

2012-01-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-sync-keywords.c, src/lib-index/mail-index-
	sync.c, src/lib-index/mail-transaction-log-view.c:
	lib-index: Avoid assert-crashing on keyword-update record with empty
	keyword.
	[931436c5f2cc]

	* src/doveadm/dsync/dsync-worker-local.c:
	dsync: Don't remove other namespaces entirely, just skip the
	unwanted ones. This fixes incorrectly removing subscriptions=no
	namespaces entries from subscriptions.
	[4f995c6e971b]

	* src/plugins/imap-acl/imap-acl-plugin.c:
	imap-acl: Don't log errors when trying to change ACLs for
	nonexistent mailboxes.
	[11a5bb865eba]

	* src/imap/cmd-list.c, src/lib-storage/mailbox-list-iter.c, src/lib-
	storage/mailbox-list.h:
	Added MAILBOX_LIST_ITER_SELECT_SPECIALUSE option and enable it for
	IMAP. RECURSIVEMATCH option doesn't currently work properly with it.
	[0aa94d55dcff]

	* src/lib/file-copy.c, src/lib/istream.c, src/plugins/fts-squat/squat-
	test.c:
	istream: Don't treat max_block_size=0 as unlimited.
	[59f5238c6e61]

2012-01-03  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/dsync/dsync-worker-local.c:
	dsync: Don't log unnecessary errors about not being able to delete
	\Noselect mailbox dirs.
	[997a2855fd74]

	* src/doveadm/dsync/dsync-worker-local.c:
	dsync: Previous commit did too many changes, reverting.
	[ea9ab24972ed]

	* src/doveadm/dsync/dsync-worker-local.c:
	dsync: Don't log unnecessary errors about not being able to delete
	\Noselect mailbox dirs.
	[12e59954a23f]

	* src/login-common/client-common.h:
	imap-login: LOGIN_MAX_INBUF_SIZE was too small, because of SASL-IR
	extension
	[614422fbbe8b]

2012-01-02  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/lib-storage/index/Makefile.am, src/lib-
	storage/index/pop3c/Makefile.am, src/lib-storage/index/pop3c/pop3c-
	client.c, src/lib-storage/index/pop3c/pop3c-client.h, src/lib-
	storage/index/pop3c/pop3c-mail.c, src/lib-storage/index/pop3c/pop3c-
	settings.c, src/lib-storage/index/pop3c/pop3c-settings.h, src/lib-
	storage/index/pop3c/pop3c-storage.c, src/lib-storage/index/pop3c
	/pop3c-storage.h, src/lib-storage/index/pop3c/pop3c-sync.c, src/lib-
	storage/index/pop3c/pop3c-sync.h:
	lib-storage: Added initial support for pop3c backend.
	[d4c909d2306f]

2011-12-30  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-stats.c:
	doveadm stats top: Added -b parameter to use read_bytes/write_bytes
	fields for disk io. This is useful when the kernel doesn't support
	the actual disk IO fields.
	[193c66096bb3]

	* src/auth/main.c, src/director/main.c, src/ipc/main.c:
	Use master_service_connection.name for determining listener type.
	[5df67a23afb9]

	* src/lib-master/master-service-private.h, src/lib-master/master-
	service.c, src/lib-master/master-service.h, src/master/service-
	process.c, src/master/service.c, src/master/service.h:
	Listener names are now in struct master_service_connection.name This
	allows service to use the names to figure out what type the listener
	is.
	[cdf2c63ece6a]

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/imapc/imapc-storage.c, src
	/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw/raw-
	storage.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.c, src/lib-storage/test-mailbox.c, src/plugins/virtual
	/virtual-storage.c:
	lib-storage: Added struct mailbox.set_subscribed() virtual method.
	[bc9217cb0193]

2011-12-29  Timo Sirainen  <tss@iki.fi>

	* .hgignore, configure.in, src/Makefile.am, src/doveadm/Makefile.am,
	src/doveadm/client-connection.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h, src/doveadm/doveadm-settings.c,
	src/doveadm/doveadm-settings.h, src/doveadm/doveadm.c,
	src/doveadm/dsync/Makefile.am, src/doveadm/dsync/doveadm-dsync.c,
	src/doveadm/dsync/doveadm-dsync.h, src/doveadm/dsync/dsync-brain-
	msgs-new.c, src/doveadm/dsync/dsync-brain-msgs.c, src/doveadm/dsync
	/dsync-brain-private.h, src/doveadm/dsync/dsync-brain.c,
	src/doveadm/dsync/dsync-brain.h, src/doveadm/dsync/dsync-data.c,
	src/doveadm/dsync/dsync-data.h, src/doveadm/dsync/dsync-proxy-
	client.c, src/doveadm/dsync/dsync-proxy-server-cmd.c,
	src/doveadm/dsync/dsync-proxy-server.c, src/doveadm/dsync/dsync-
	proxy-server.h, src/doveadm/dsync/dsync-proxy.c, src/doveadm/dsync
	/dsync-proxy.h, src/doveadm/dsync/dsync-worker-local.c,
	src/doveadm/dsync/dsync-worker-private.h, src/doveadm/dsync/dsync-
	worker.c, src/doveadm/dsync/dsync-worker.h, src/doveadm/dsync/test-
	dsync-brain-msgs.c, src/doveadm/dsync/test-dsync-brain.c,
	src/doveadm/dsync/test-dsync-common.c, src/doveadm/dsync/test-dsync-
	common.h, src/doveadm/dsync/test-dsync-proxy-server-cmd.c,
	src/doveadm/dsync/test-dsync-proxy.c, src/doveadm/dsync/test-dsync-
	worker.c, src/doveadm/dsync/test-dsync-worker.h,
	src/dsync/Makefile.am, src/dsync/dsync-brain-msgs-new.c, src/dsync
	/dsync-brain-msgs.c, src/dsync/dsync-brain-private.h, src/dsync
	/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync-data.c,
	src/dsync/dsync-data.h, src/dsync/dsync-proxy-client.c, src/dsync
	/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.c, src/dsync
	/dsync-proxy-server.h, src/dsync/dsync-proxy.c, src/dsync/dsync-
	proxy.h, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker-
	private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h,
	src/dsync/dsync.c, src/dsync/test-dsync-brain-msgs.c, src/dsync
	/test-dsync-brain.c, src/dsync/test-dsync-common.c, src/dsync/test-
	dsync-common.h, src/dsync/test-dsync-proxy-server-cmd.c, src/dsync
	/test-dsync-proxy.c, src/dsync/test-dsync-worker.c, src/dsync/test-
	dsync-worker.h:
	Merged dsync into "doveadm dsync". dsync symlink is installed for
	backwards compatibility.
	[4c827134997f]

	* src/plugins/mail-log/Makefile.am, src/plugins/mail-log/mail-log-
	plugin.c:
	mail-log: Removed unnecessary code.
	[3c7e01a5c7b7]

2011-12-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: When searching for unused index dirs, ignore any ACLs. This
	also fixes a crash.
	[056934abd2ef]

2011-12-20  Timo Sirainen  <tss@iki.fi>

	* src/util/script-login.c:
	script-login -d: Ignore chrooting, we can't exec anything inside
	chroot.
	[73fbc40b860f]

	* src/util/script-login.c:
	script-login: Close extra fds to avoid failing with --enable-devel-
	checks.
	[477106b6f4c7]

	* src/lib-dict/dict-file.c:
	dict-file: Updated dotlock settings.
	[53114d335053]

2011-12-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-single/sdbox-storage.c:
	sdbox: Added support for autodetection.
	[1d73272eba6c]

2011-12-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	FS layout: Mark memory pool growing to avoid warnings with devel-
	checks.
	[103ecbf3d5c7]

	* src/lib-storage/index/index-storage.c:
	FS layout: When deleting a mailbox, don't give an error if mailbox
	has children. The mailbox got successfully deleted, but it still
	gave an error.
	[6ded89937e98]

	* configure.in:
	--enable-devel-checks: Use -fcatch-undefined-behavior -ftrapv with
	clang.
	[c682a5bf3de7]

	* src/plugins/fts/fts-expunge-log.c:
	fts: Expunging could have expunged indexed FTS mail from wrong
	mailbox.
	[01ddcf7cf568]

	* src/lib-storage/mailbox-list.c:
	lib-storage: mailbox_list_get_permissions() didn't properly erase
	the full return struct. This shouldn't have caused any bugs
	currently.
	[15c3002755de]

2011-12-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-client/imapc-connection.c:
	imapc: Assert crashfix.
	[d5eaa0c56b1e]

2011-12-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-client/imapc-client-private.h, src/lib-imap-client
	/imapc-client.c, src/lib-imap-client/imapc-connection.c:
	imapc: Try to avoid crashes on deinit/disconnection.
	[1e8523481d89]

	* src/lib/istream.c, src/lib/istream.h:
	Added i_stream_unset_destroy_callback()
	[46a1f211ef84]

	* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/index-mail.c:
	imapc: Avoid assert-crashing when replacing mail stream with a new
	one.
	[efb48f4e40a6]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Fixed missing BODY[]/INTERNALDATE to handle actual failures
	again.
	[96ce297561a0]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Handle missing INTERNALDATE reply by returning an empty mail
	instead of disconnecting.
	[20ccdd42c14a]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Handle missing BODY[] reply by returning an empty mail
	instead of disconnecting.
	[69f388aa7ce9]

	* src/auth/db-passwd-file.c:
	auth: Don't die if passwd-file can't open the file. The file is
	parsed after we already sent "we're ok" reply to master, so dying
	triggers infinite restarts.
	[e7ec5649655a]

2011-12-12  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/imapc/imapc-mail.c, src/lib-storage/index/imapc/imapc-
	storage.c, src/lib-storage/index/imapc/imapc-storage.h:
	imapc: Added support for fetching GUID from remote server, if
	supported. Currently this is only done for GMail.
	[0bdbb8d99492]

	* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
	client.h:
	imapc: Added X-GM-EXT-1 and CONDSTORE to capabilities.
	[31810fed489d]

	* src/lib-imap-client/imapc-connection.c:
	imapc: Don't crash if we receive tagged BAD reply.
	[6c1080148739]

	* src/imap/imap-fetch.c:
	imap: When fetching X-GUID, set MAIL_FETCH_GUID also as "wanted
	fields" for optimization.
	[8dc4ffcc3b83]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Removed HIGHESTMODSEQ handling from STATUS command. We don't
	currently even attempt to handle remote modseqs, so HIGHESTMODSEQ
	shouldn't be used either.
	[6fb8b5bd2541]

	* src/auth/auth-master-connection.c:
	auth: Handle proxy_maybe=yes for PASS lookups. (Fixes it for LMTP.)
	[672f2737f596]

	* src/imap/cmd-list.c:
	imap: Convert LIST/LSUB patterns from mUTF-7 to UTF-8 for internal
	representation.
	[b9fcac239aed]

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-user.c,
	src/lib-storage/mail-user.h:
	lib-storage: Handle %{uid} and %{gid} expansion without relying on
	process's euid/egid.
	[9352c4ccb1f9]

	* src/lib-storage/mail-user.c:
	lib-storage: Previously added %{gid} variable didn't actually work.
	[3c5fda349c1f]

2011-12-10  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-proxy.h:
	lmtp: Simplify LMTP proxying by first reading the whole input to
	memory/disk. This hopefully fixes problems related to LMTP proxying,
	at the cost of having to write large mails to temp directory.
	[51d87deb5c26]

	* src/auth/passdb-imap.c:
	passdb imap: Log about failures.
	[9d1336b40592]

	* src/dsync/dsync-data.c, src/dsync/dsync-data.h, src/dsync/dsync-
	proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-
	proxy.c, src/dsync/dsync-proxy.h, src/dsync/dsync-worker-local.c,
	src/dsync/dsync-worker-private.h, src/dsync/test-dsync-common.c,
	src/dsync/test-dsync-proxy.c, src/dsync/test-dsync-worker.c,
	src/dsync/test-dsync-worker.h, src/lib-storage/index/dbox-multi
	/mdbox-storage.c, src/lib-storage/index/dbox-single/sdbox-storage.c,
	src/lib-storage/index/index-status.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/index-storage.h, src/lib-storage
	/mail-storage.h:
	dsync: Update cache fields' decision and last_used fields
	explicitly. This makes v2.1's dsync incompatible with v2.0's when
	used in different servers.
	[3830d5a57fd4]

	* src/doveadm/doveadm-dump-index.c:
	doveadm: Compile fix for previous lib-index change.
	[186f2f5ee1c3]

	* src/lib-index/mail-cache-compress.c, src/lib-index/mail-cache-
	decisions.c, src/lib-index/mail-cache-fields.c, src/lib-index/mail-
	cache-private.h, src/lib-index/mail-cache.h:
	lib-index: Allow updating cache's last_used field with
	mail_cache_register_fields()
	[ce29836e369e]

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-user.c,
	src/lib-storage/mail-user.h:
	lib-storage: Added separate %{gid} expansion to mail_user. The
	default %{gid} probably works also, but it's more reliable to do
	this explicitly.
	[499e4916bed5]

	* src/lib-index/mail-cache-decisions.c:
	lib-index: If cache field's decision is forced no, don't update the
	field's last_used.
	[95524ab3469f]

	* src/lib-fs/fs-posix.c:
	lib-fs: Added "mode" parameter to "posix" backend to specify mode
	for created files/dirs.
	[fcceee891448]

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: If saving fails, don't bother trying to flush the file's
	ostream.
	[97af1836ea72]

	* src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib/ostream-zlib.c:
	zlib: Avoid assert-crashing if parent ostream's write had failed
	earlier.
	[aefc17d5b99e]

	* src/config/old-set-parser.c:
	config: Don't warn that ssl_parameters_regenerate=0 should have
	"hours" suffix.
	[e28736bc8e09]

	* src/lib-storage/list/mailbox-list-fs-flags.c, src/lib-storage/list
	/mailbox-list-fs-iter.c:
	lib-storage: FS layout mailbox list iteration code rewrite. This
	fixes listing non-ASCII mailboxes. Also the new way no longer keeps
	more than one file descriptor open.
	[ab696ead12cc]

	* src/lib-storage/mailbox-list.c:
	lib-storage: mailbox_list_get_vname() no longer treats INBOX case
	insensitively. The INBOX vname is case sensitive, the INBOX
	storage_name isn't, otherwise it's not possible to access <ns
	prefix>/inBox cased mailboxes.
	[5366e59d573f]

2011-12-09  Timo Sirainen  <tss@iki.fi>

	* src/lib/var-expand.c:
	var_expand(): Added %{uid} and %{gid} variables.
	[8a63f621bd2e]

	* src/lib-storage/index/index-search.c:
	lib-storage: Fixed search when mail prefetching is enabled.
	[5c2ef2374848]

	* src/lib-storage/index/dbox-multi/mdbox-map-private.h, src/lib-
	storage/index/dbox-multi/mdbox-map.c:
	mdbox: Make sure m.* files aren't overwritten when storage index
	isn't found. This mainly helps to avoid situations where m.1 is
	replaced by mail delivery when index directory has been (wrongly)
	changed.
	[31825aab83f6]

2011-12-08  Timo Sirainen  <tss@iki.fi>

	* src/auth/main.c:
	auth: If verbose_proctitle=yes, show which processes are auth
	workers.
	[ec3714f01ef2]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	lib-storage: Reverted the last INBOX children listing change after
	all.
	[b5056baa6193]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	lib-storage: Fixed listing INBOX's children with layout=fs and non-
	mbox format.
	[9336f4968beb]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Crashfix on error conditions.
	[94e32772e593]

	* src/lib-storage/index/index-mail-headers.c, src/lib-storage/index
	/index-mail.c, src/lib-storage/mailbox-header.c:
	lib-storage: Code cleanup.
	[ddfe3a0f75e6]

	* src/lib/strnum.c, src/lib/strnum.h:
	liblib: Added str_to_time()
	[d9acfebce2c9]

	* src/lib-storage/index/index-transaction.c:
	lib-storage: Removed unnecessarily duplicated code.
	[ad58a2d5a290]

	* src/lib-storage/mail-search-build.c:
	lib-storage: Fixed assert-crash when search query contained ().
	[338c8d9abba5]

	* src/plugins/fts-lucene/Makefile.am:
	fts-lucene: Fixed Makefile.am
	[9cf6bb5fe98d]

	* src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c:
	lib-sql: If mysql/pgsql commit fails due to server disconnection,
	reconnect and retry.
	[782f09d13ece]

	* src/lib-storage/mail-user.c:
	lib-storage: Fixed assert-crash in user deinit with some
	installations.
	[3b70254e0596]

	* src/login-common/main.c:
	login: Send the last connected client's IP address to log process.
	[d9ad41825a34]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: If client_limit=1, send user's log prefix to log
	process.
	[45bc88eba07a]

	* src/lib/failures.c, src/lib/failures.h:
	Added i_set_failure_send_prefix() and renamed i_set_failure_ip() to
	_send_ip().
	[618d3937f511]

	* src/log/log-connection.c, src/master/service-process.c:
	Added a new "FATAL" log command, which master uses to log all
	abnormal process exits. The log process adds the process's log
	prefix or IP address to the message if available.
	[e534d2bfda7f]

	* src/log/log-connection.c:
	log: Removed slightly confusing code. A log client always receives a
	BYE, so don't free it earlier.
	[279a48aa9dc6]

	* src/lmtp/commands.c:
	lmtp: If lmtp_save_to_detail_mailbox=yes and there was no detail,
	mail was logged as saved to "".
	[8c803201651e]

	* src/stats/stats-settings.c:
	stats: Chroot to empty directory by default.
	[13fb5fa91ed9]

	* src/config/old-set-parser.c, src/ssl-params/ssl-params-settings.c,
	src/ssl-params/ssl-params.c:
	ssl_parameters_regenerate setting is now "time" type, as it should
	have been.
	[ed9f4e03c2f9]

	* src/indexer/indexer-worker-settings.c:
	indexer: Use stricter permissions for indexer-worker socket.
	[55a70ae49cb7]

	* src/director/director-settings.c:
	director: chroot to base_dir by default.
	[eebee8a4d486]

	* src/director/Makefile.am, src/director/director-settings.c,
	src/director/director-settings.h, src/director/director.c,
	src/director/main.c:
	director: Don't explicitly use base_dir. We're already chdired
	there, use relative paths.
	[ddf28d10ff0f]

	* src/director/director-test.sh:
	director-test.sh script fixed to use a working path for director-
	test binary.
	[3027626f7239]

2011-12-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
	/dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox-single/sdbox-
	sync.c:
	dbox: If index was fscked, rebuild indexes to make sure no mails got
	lost.
	[1e118913348b]

	* src/lib-index/mail-index-fsck.c, src/lib-index/mail-index-private.h,
	src/lib-index/mail-index.h:
	lib-index: Added mail_index_reset_fscked()
	[8535def4ad01]

	* src/lib-storage/mailbox-list-iter.c:
	lib-storage: MAILBOX_LIST_ITER_RETURN_SPECIALUSE was checked wrong
	[b6083d4d77d5]

	* doc/example-config/conf.d/15-mailboxes.conf, doc/example-
	config/conf.d/Makefile.am:
	example-config: Added example mailboxes.
	[9b9a206395f7]

	* src/config/config-parser.c, src/config/doveconf.c, src/lib-settings
	/settings-parser.c:
	config: Allow section names to contain spaces.
	[2adcc2b87117]

2011-12-06  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/10-mail.conf:
	example-config: Use a default uncommented "namespace inbox".
	[2c8d39467f21]

	* src/lib-storage/mail-namespace.h, src/lib-storage/mail-storage-
	settings.c, src/lib-storage/mail-storage-settings.h, src/lib-storage
	/mail-storage.c, src/lib-storage/mailbox-list-iter.c,
	src/plugins/autocreate/autocreate-plugin.c:
	Moved mailbox {} settings inside namespace {} and no longer require
	ns prefix in name. This allows specifying mailboxes more easily with
	per-user namespace prefixes.
	[867f06516121]

	* src/lib-storage/mailbox-list-iter.c:
	lib-storage: Avoid crashes if listing subscriptions for a namespace
	that can't have any. i.e. the namespace and its parents all have
	subscriptions=no
	[85f33815c5e7]

	* src/master/master-settings.c:
	master: Be more relaxed about giving service auth's client_limit
	being too low. imap/pop3/lmtp processes with service_count=1 use up
	a client only for a very short time. Don't count them.
	[24fe54f2cfcb]

2011-12-05  Timo Sirainen  <tss@iki.fi>

	* src/plugins/autocreate/autocreate-plugin.c:
	autocreate: Make sure we don't crash if there are no mailbox{}es.
	[3054d73cf293]

	* src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list-iter.c:
	lib-storage: Don't crash when no there are no mailbox {} sections.
	[272b705f0938]

2011-12-02  Timo Sirainen  <tss@iki.fi>

	* src/auth/passdb-vpopmail.c:
	auth: Fixed vpopmail to work again after recent change.
	[c067025026ed]

	* README:
	README: Added SPECIAL-USE RFC
	[092d55003a7b]

	* configure.in, src/imap/cmd-list.c, src/lib-storage/mail-storage-
	settings.c, src/lib-storage/mail-storage-settings.h, src/lib-storage
	/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-storage
	/mailbox-list-iter.c, src/lib-storage/mailbox-list-private.h, src
	/lib-storage/mailbox-list.h:
	Implemented IMAP SPECIAL-USE extension.
	[32d1a903d42d]

	* src/config/settings-get.pl, src/lib-storage/mail-storage-private.h,
	src/lib-storage/mail-storage-settings.c, src/lib-storage/mail-
	storage-settings.h, src/lib-storage/mail-storage.c, src/lib-storage
	/mailbox-list-iter.c, src/lib-storage/mailbox-list-private.h,
	src/plugins/autocreate/autocreate-plugin.c:
	Moved autocreate plugin functionality into lib-storage. The
	autocreate plugin is still used for backwards compatibility.

	Mailboxes can be configured like:

	mailbox Sent { auto = subscribe } mailbox Spam { auto = create }
	[ee783a878120]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
	list-fs-iter.c, src/lib-storage/list/mailbox-list-index-iter.c, src
	/lib-storage/list/mailbox-list-maildir-iter.c, src/lib-storage/list
	/mailbox-list-none.c, src/lib-storage/list/mailbox-list-
	subscriptions.c, src/lib-storage/mailbox-list-private.h,
	src/plugins/acl/acl-mailbox-list.c:
	lib-storage: Added pool to struct mailbox_list_iterate_context.
	[b48fb6a08389]

	* src/lib-storage/Makefile.am, src/lib-storage/mailbox-list-iter.c,
	src/lib-storage/mailbox-list.c:
	lib-storage: Moved mailbox list iteration functions to a separate
	file.
	[37c2348b67f5]

	* src/lib-imap-client/imapc-connection.c:
	imapc: Check for when to prefer LOGIN to AUTHENTICATE was wrong.
	[6591f7783d55]

2011-12-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-client/imapc-connection.c:
	imapc: If remote server disconnects, log the reason.
	[8e5c9f3ca158]

	* src/auth/Makefile.am:
	auth: Fixed loading authdb_imap plugin when Dovecot is configured
	--without-shared-libs
	[e99c65be76f7]

2011-11-30  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-worker-server.c:
	auth: Mention auth_worker_max_count in warning message about worker
	queue being slow.
	[9fa7c1b2c2ee]

2011-11-25  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Fixed search when all terms were MUST_NOT.
	[1753a762b56f]

2011-11-24  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-settings.c:
	auth: Dropped default client_limit back to default_client_limit.
	Having it above 1024 logs an annoying warning at startup. Also in
	most cases the auth process wouldn't have nearly that many clients.
	If about 1000 imap/pop3 processes were logging in at the exact same
	time, the limit would be reached, but that's a bit unlikely.
	[8c8dd04b8496]

	* NEWS, README:
	NEWS, README: Added SCRAM-SHA-1 support.
	[f6069185b418]

	* .hgsigs:
	Added signature for changeset 18f32bf70fac
	[34436a5a01e7]

	* .hgtags:
	Added tag 2.1.rc1 for changeset 18f32bf70fac
	[7256163465c5]

	* NEWS, configure.in:
	Released v2.1.rc1.
	[18f32bf70fac] [2.1.rc1]

	* doc/man/doveadm-search-query.7:
	man: mailbox[-guid] doesn't need to be first parameter in search
	query.
	[7894c74cb740]

	* src/lib/Makefile.am:
	Makefile: Added missing hmac-sha1.h
	[f33c1462bf80]

	* src/lib-lda/lmtp-client.c:
	lib-lda: Use ostream corking better in LMTP/SMTP client.
	[31bce737a64b]

	* TODO:
	TODO updated
	[79bae0318b46]

	* doc/example-config/conf.d/10-ssl.conf:
	example-config: Added ssl_crypto_device.
	[a4e44005ee58]

	* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
	client.h, src/lib-storage/index/imapc/imapc-settings.c, src/lib-
	storage/index/imapc/imapc-settings.h, src/lib-storage/index/imapc
	/imapc-storage.c:
	imapc: Pass ssl_crypto_device setting to lib-ssl-iostream.
	[e8c6ff480a18]

	* src/lib-ssl-iostream/iostream-openssl-context.c, src/lib-ssl-
	iostream/iostream-ssl.h:
	lib-ssl-iostream: Added crypto_device setting to set OpenSSL engine.
	Multiple engines aren't supported, so the first crypto_device value
	gets used for all SSL connections.
	[e56409d9615c]

	* src/login-common/ssl-proxy-openssl.c:
	login: Do engine cleanups _after_ finishing the used engine.
	[9a474b7934c9]

	* src/login-common/login-settings.c, src/login-common/login-
	settings.h, src/login-common/ssl-proxy-openssl.c:
	login: Added ssl_crypto_device setting to set OpenSSL engine.
	[ca49f570f0c1]

	* src/login-common/client-common.h, src/login-common/sasl-server.c:
	login: Save final SASL reply to client struct.
	[cc497af529cd]

	* src/lib-ssl-iostream/iostream-openssl-context.c:
	lib-ssl-iostream: Call OpenSSL_add_all_algorithms() to make some
	OpenSSL versions happy.
	[733ac4aba089]

	* src/auth/userdb-ldap.c:
	auth: LDAP iterate's debug message didn't use expanded base string.
	[1fed3c1c166e]

	* src/lib-storage/index/index-mail-headers.c:
	lib-storage: Getting headers as UTF-8 could have returned garbage
	for multi-line headers.
	[40aba52a4386]

	* src/imap-login/client.c, src/login-common/login-common.h, src/login-
	common/sasl-server.c, src/pop3-login/client.c:
	login: Use AUTH_REQUEST_FLAG_SUPPORT_FINAL_RESP if protocol supports
	it.
	[4ecb77154ac7]

	* src/lib-auth/auth-client-request.c, src/lib-auth/auth-client.h:
	lib-auth: Added AUTH_REQUEST_FLAG_SUPPORT_FINAL_RESP flag.
	[a19fb078a259]

	* src/auth/auth-request.c, src/auth/auth-request.h, src/auth/mech-
	digest-md5.c, src/auth/mech-scram-sha1.c:
	auth: If client gives "final-resp-ok" parameter, send it in OK reply
	with DIGEST-MD5, SCRAM-SHA-1
	[f2608c3a64ee]

2011-11-23  Timo Sirainen  <tss@iki.fi>

	* src/auth/mech-scram-sha1.c:
	auth: Cleanups, fix and Dovecot code-stylifications to SCRAM-SHA-1.
	[34b3655ca484]

2011-09-16  Florian Zeitz  <florob@babelmonkeys.de>

	* src/auth/Makefile.am, src/auth/mech-scram-sha1.c, src/auth/mech.c:
	auth: Implement the SCRAM-SHA-1 SASL mechanism
	[c69790ad93c1]

	* src/lib/Makefile.am, src/lib/hmac-sha1.c, src/lib/hmac-sha1.h:
	lib: Add hmac-sha1 adapted from hmac-md5
	[4d56549a5505]

2011-11-23  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-auth.c, src/doveadm/doveadm-director.c, src/lib-
	auth/auth-master.c, src/lib-auth/auth-master.h, src/lib-storage
	/mail-storage-service.c:
	lib-auth: auth_master_user_list_init() now takes user_mask and info
	parameters. These are passed to auth process, which may use them to
	limit what usernames are returned.
	[59e25ebc976f]

	* src/auth/auth-master-connection.c, src/auth/auth-settings.c,
	src/auth/auth-worker-client.c, src/auth/userdb-blocking.c, src/auth
	/userdb-blocking.h, src/auth/userdb-ldap.c, src/auth/userdb-passwd-
	file.c, src/auth/userdb-passwd.c, src/auth/userdb-sql.c,
	src/auth/userdb.h:
	auth: Support passing regular %variables to sql/ldap iterate
	queries.
	[acfe332f9aeb]

	* src/auth/main.c:
	auth: Don't leak memory in deinit.
	[35764175dc92]

	* src/master/master-settings.c:
	Compiler warning fix
	[b8e1c9685c69]

	* src/lib-auth/auth-server-connection.c:
	lib-auth: Log a warning about auth disconnection only if there are
	pending requests.
	[49044b7cfa3d]

	* src/master/master-settings.c:
	master: Log a warning at startup if fd limit is too low.
	[540d9d296dc9]

	* src/lib/restrict-process-size.c, src/lib/restrict-process-size.h:
	Added restrict_get_fd_limit()
	[0644361ca409]

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.c:
	lib-storage: Track storage's all mailboxes to make it easier to
	debug if one isn't closed.
	[deaebb4dc98c]

	* src/anvil/anvil-connection.c:
	Compile fix for some compilers.
	[4f1d20b57c04]

	* src/lib-index/mail-index-sync.c:
	lib-index: Make sure we never go to infinite loop if fsck can't fix
	syncing problem.
	[b9c4a7e4a27f]

	* src/lib/file-cache.c:
	file_cache_set_size(): Cleanup properly after mmap() failure.
	[db51a627d726]

	* src/lib-index/mail-index-modseq.c, src/lib-index/mail-index-sync.c,
	src/lib-index/mail-index-view-sync.c, src/lib-index/mail-
	transaction-log.h:
	lib-index: Handle transaction log read errors separately from log
	corruption.
	[fb0ffce5a0ba]

	* src/plugins/fts-lucene/fts-lucene-plugin.c:
	fts-lucene: Crashfix when compiled without stemmer.
	[90ecb83a9ca7]

	* src/lib-imap-client/imapc-client.h, src/lib-storage/index/imapc
	/imapc-storage.c:
	Compile fixes.
	[bfcd0bed5a9e]

	* src/lib-imap-client/imapc-connection.c:
	Compiling fix for non-gcc.
	[1cdd39d11ce4]

2011-11-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-client/imapc-connection.c:
	imapc: Added assert to make sure callback is never NULL.
	[3501e62284dc]

	* src/lib-imap-client/imapc-connection.c:
	imapc: Crashfix after having idled for 29 mins without IDLE.
	[da07002ca0d4]

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: Don't assert-crash when having to open mail file during
	specific copying situations.
	[8132fb8ee3eb]

2011-11-21  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-dump-dbox.c,
	src/doveadm/doveadm-dump.c, src/doveadm/doveadm-dump.h:
	doveadm dump: Added support for dumping dbox headers/metadata.
	[5bc3ea6ebbed]

	* src/lib-storage/index/dbox-common/dbox-file.h:
	dbox: Compiler warning fix if trying to include dbox-file.h
	directly.
	[4411f7434d19]

	* src/lib/hex-dec.c:
	hex2dec(): Allow data to contain also lowercase hex characters.
	[38846458ef78]

	* src/lib-storage/index/dbox-common/dbox-file.h:
	dbox: Removed unused message type from header.
	[c89dec41ad69]

2011-11-19  Timo Sirainen  <tss@iki.fi>

	* src/login-common/main.c:
	login: Moved all i_fatal()s to preinit stage. This avoids a wrongly
	configured login process from rapidly respawning.
	[1827699b8156]

	* src/director/main.c:
	director: Moved all i_fatal()s to preinit stage. This avoids a
	wrongly configured director process from rapidly respawning.
	[5ce2123d24ed]

	* src/auth/auth.c, src/auth/passdb-passwd.c, src/auth/passdb-shadow.c:
	auth: Moved all i_fatal()s to preinit stage. This avoids a wrongly
	configured auth process from rapidly respawning.
	[ffb2993c99cf]

	* src/auth/auth-worker-server.c:
	auth: Handle auth worker creation failure without killing the whole
	auth process.
	[6b62d786fdc4]

	* src/login-common/client-common.c:
	login: Show empty username in disconnect message.
	[6e87e399ccd7]

	* src/auth/auth-request-handler.c:
	auth: If auth fails due to invalid username, send the username in
	the FAIL message.
	[b1955fdf2ef8]

	* src/login-common/client-common-auth.c, src/login-common/client-
	common.c, src/login-common/client-common.h, src/login-common/sasl-
	server.c:
	login: Log a different disconnect message if client didn't finish
	SASL auth.
	[679837ca1c95]

	* src/lib/env-util.c:
	env_clean(): Previous OSX compile fix broke the function completely.
	[9d022d3fba42]

	* src/lib/env-util.c:
	Compile fix for OSX.
	[b2c9298e981a]

	* doc/Makefile.am:
	doc: Removed auth-protocol.txt from Makefile.
	[338f35625e06]

2011-11-18  Timo Sirainen  <tss@iki.fi>

	* doc/auth-protocol.txt:
	doc: Removed auth-protocol.txt. A more up to date version is in wiki
	docs.
	[46b07e8dca14]

	* src/auth/auth-master-connection.c, src/auth/auth-request-handler.c,
	src/auth/auth-request.c, src/auth/auth-request.h:
	auth: Don't allow auth clients to set internal auth request fields.
	This could have allowed attacker to bypass authentication if login
	process was first successfully attacked to allow arbitrary code
	execution.
	[9a6aa717bc46]

	* src/login-common/main.c:
	login: Call master_service_init_finish() later. This prevents
	automatic infinite process respawns if SSL initialization fails.
	[ba1f99456742]

	* src/lib-master/master-service.c:
	lib-master: Set service/client limits already in
	master_service_init()
	[c6f5203bf59f]

	* src/login-common/login-settings.c, src/login-common/login-
	settings.h, src/login-common/ssl-proxy-openssl.c:
	login proxy: Added ssl_client_cert/key settings. The client cert is
	used sent to proxy destination server when SSL is used.
	[700e92b43c74]

	* src/login-common/main.c:
	login: Added assert.
	[dafa6dc27398]

	* src/lib-auth/auth-client-request.c, src/lib-auth/auth-client.h, src
	/lib-auth/auth-server-connection.c, src/login-common/client-
	common.c, src/login-common/client-common.h, src/login-common/sasl-
	server.c:
	login: Differentiate between auth failure and auth process
	communication failure. Log a warning if auth connection dies.
	[dd66ea0e7d00]

	* src/auth/auth-client-connection.c, src/auth/auth-request-handler.c,
	src/auth/auth-request-handler.h:
	auth: Log a warning if auth client disconnects while it still has
	pending requests.
	[2ecd0e90402a]

	* src/login-common/client-common.c, src/login-common/login-common.h,
	src/login-common/main.c:
	login: Minor potential authentication fix when service_count>1
	[80558d1b7040]

2011-11-17  Timo Sirainen  <tss@iki.fi>

	* src/login-common/ssl-proxy-openssl.c:
	login: Fixed a memory leak when SSL client connection was closed
	uncleanly.
	[81eff56d8bc1]

	* src/auth/passdb-vpopmail.c:
	passdb vpopmail: Fix to handling mixed cleartext/crypt passwords.
	[c4ecdea00e4d]

	* src/login-common/ssl-proxy-openssl.c:
	login proxy: Don't fail connection if CRL isn't found for some
	certificate.
	[f986b56d8e2a]

2011-11-16  Timo Sirainen  <tss@iki.fi>

	* src/lib/ipwd.c:
	i_getgr*(): Use a generic workaround for all OSes that report too
	small grbuf size.
	[b0c0d11792fc]

	* src/auth/db-checkpassword.c:
	checkpassword: Export all auth %variables to AUTH_* environment.
	[0a94dfe6ac92]

	* src/lmtp/commands.c:
	lmtp: Include local/remote port in userdb lookups.
	[9ead5aea2ce4]

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	lib-storage: Added local/remote port to struct
	mail_storage_service_input for userdb lookups.
	[bca3950cad53]

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	lib-storage: Fixed listing subscriptions from prefix!="" namespace
	[16024d03f66e]

	* src/lib-storage/mail-storage.c:
	lib-storage: Fixed error handling for mailbox_set_subscribed()
	[4bdfe947a0b2]

	* src/lib-storage/index/shared/shared-storage.c, src/lib-
	storage/index/shared/shared-storage.h:
	lib-storage: Fixed using "auto" driver with shared namespaces.
	[e0556ffd1527]

	* src/lib-storage/mail-storage.c:
	lib-storage: Improved storage creation failure error message for
	"auto" driver.
	[f11ce0efa6a8]

	* src/lib-storage/mail-storage.c:
	lib-storage: Crashfix for "auto" driver in some situations.
	[e5fb66051028]

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-storage.c:
	lib-storage: Use namespace owner user's home dir for autodetection
	(for shared namespaces).
	[7559768b1491]

	* doc/man/doveadm-altmove.1.in, doc/man/doveadm-auth.1.in, doc/man
	/doveadm-director.1.in, doc/man/doveadm-dump.1.in, doc/man/doveadm-
	expunge.1.in, doc/man/doveadm-fetch.1.in, doc/man/doveadm-force-
	resync.1.in, doc/man/doveadm-help.1.in, doc/man/doveadm-import.1.in,
	doc/man/doveadm-index.1.in, doc/man/doveadm-kick.1.in, doc/man
	/doveadm-log.1.in, doc/man/doveadm-mailbox.1.in, doc/man/doveadm-
	move.1.in, doc/man/doveadm-penalty.1.in, doc/man/doveadm-purge.1.in,
	doc/man/doveadm-pw.1.in, doc/man/doveadm-quota.1.in, doc/man
	/doveadm-search-query.7, doc/man/doveadm-search.1.in, doc/man
	/doveadm-user.1.in, doc/man/doveadm-who.1.in, doc/man/doveadm.1.in,
	doc/man/doveconf.1.in, doc/man/dovecot-lda.1.in,
	doc/man/dovecot.1.in, doc/man/dsync.1.in:
	man: Dovecot version numbers updated.
	[a695e124e62f]

	* src/config/config-parser.c:
	config: Skip spaces between '<' and value in "key=< value"
	[3368f9b3c8df]

	* src/master/service-monitor.c:
	master: Don't log errors at shutdown about services' "command
	startup failed".
	[ba5d4c918842]

	* src/login-common/client-common.c, src/login-common/client-common.h,
	src/login-common/sasl-server.c:
	login: Improved auth failed log messages.
	[346c022df7af]

	* doc/man/doveadm-search-query.7:
	man: Fixes to previous doveadm-search-query.7 change.
	[5fefb7f1e6c4]

2011-11-15  Timo Sirainen  <tss@iki.fi>

	* doc/man/doveadm-search-query.7:
	man: Updated doveadm-search-query.7 to include MAILBOX[-GUID] as
	search keys.
	[857d4c45588f]

	* src/master/service-monitor.c:
	master: Don't throttle successfully started services just because
	their processes didn't have clients.
	[3dc1806bd27e]

	* src/stats/mail-session.c:
	stats: If process has crashed/restarted, hide initial "missing
	session GUID" warnings.
	[6b9f7cb07c8f]

	* configure.in:
	configure: Don't reorder --with-storages values. The ordering is
	used for storage autodetection.
	[500bf1444ad6]

	* src/lib-storage/index/dbox-multi/mdbox-storage.c:
	mdbox: Added support for autodetection of ~/mdbox/ as mdbox storage.
	[bcb20d216edd]

	* src/lib-storage/mail-storage.c:
	lib-storage: Added "auto" mail storage driver for forcing
	autodetection.
	[ad0136b56d6e]

	* src/stats/mail-user.c:
	stats: Freeing a user didn't remove it from hash table, leading to
	crash later.
	[c8076e71c849]

	* doc/example-config/conf.d/10-mail.conf, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
	/maildir-settings.c, src/lib-storage/index/maildir/maildir-
	settings.h:
	maildir: Added maildir_broken_filename_sizes setting.
	[3c5d3d618c76]

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: When noticing invalid 'S' in filename, replace it with the
	correct one instead of removing it.
	[466badb63c0b]

2011-11-14  Timo Sirainen  <tss@iki.fi>

	* src/plugins/imap-stats/imap-stats-plugin.c:
	imap-stats: Don't send IDLE command updates to stats service.
	[a538eec53922]

	* src/stats/mail-command.c:
	stats: Forcibly free command after running for 15 minutes without
	updates.
	[1cda9fe6d7fa]

2011-11-09  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-maildir-iter.c:
	maildir++: If listing finds non-mUTF7/UTF8 mailbox dir, rename it
	instead of assert-crashing later.
	[4d49122ba42a]

	* src/master/main.c:
	master: Increase process count limit (ulimit -u) at startup high
	enough that we don't reach it.
	[eace12589314]

	* src/lib/restrict-process-size.c, src/lib/restrict-process-size.h,
	src/login-common/main.c, src/master/service-process.c:
	restrict_process_size() API changes.
	[523f34bffc94]

	* src/lib/restrict-access.c:
	restrict_access*(): If setuid() fails with EAGAIN, suggest ulimit -u
	being the problem.
	[33ecba7f10cc]

	* src/imap-login/imap-login-settings.c, src/pop3-login/pop3-login-
	settings.c:
	imap/pop3-login: Use default_vsz_limit instead of adding our own.
	There's not a huge difference between 64 MB and the default 256 MB,
	and this change makes it easier to change the default limit
	globally.
	[9bdc40e2d1c6]

	* src/master/service-process.c:
	master: vsz_limit enforcement was done for 1024 times too much
	memory.
	[94c95853f25c]

	* src/lmtp/lmtp-settings.c:
	lmtp: Default vsz_limit wasn't used for lmtp service.
	[011f10758702]

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: When fixing broken size in filename, try harder to find the
	latest filename.
	[a155105e298e]

	* src/lib-storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-uidlist.h, src/lib-
	storage/index/maildir/maildir-util.c:
	maildir: Whenever we're guessing a filename correctly, remember it
	in uidlist.
	[b29d9d98f5c0]

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: When renaming filename due to broken size, don't forget
	message flags.
	[0a3eafad58c0]

	* .hgsigs:
	Added signature for changeset 437ae2c24872
	[12bd19be1315]

	* .hgtags:
	Added tag 2.1.beta1 for changeset 437ae2c24872
	[255f39b1e8ba]

	* NEWS, configure.in:
	Released v2.1.beta1.
	[437ae2c24872] [2.1.beta1]

	* src/lib-storage/list/mailbox-list-index-sync.c:
	Make static analyzer happier.
	[b43bbf9b705d]

2011-11-08  Timo Sirainen  <tss@iki.fi>

	* TODO:
	TODO updated
	[825a122eb9d3]

	* README:
	README: Added FUZZY RFC.
	[72e894a8d267]

	* configure.in, src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-
	iostream/iostream-openssl.h, src/login-common/Makefile.am, src
	/login-common/login-proxy.c, src/login-common/ssl-proxy-openssl.c,
	src/login-common/ssl-proxy.c, src/login-common/ssl-proxy.h:
	login proxy: Verify that remote hostname matches SSL cert, unless
	ssl=any-cert
	[7e3afd2252fd]

	* src/lib/eacces-error.c:
	eacces_error_get*(): Crashfix for recent change.
	[439ba86c91fc]

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: Log less lines when removing broken sizes from filenames.
	[762b31157c42]

	* src/master/service-process.c:
	master: Never create new processes for services that are being
	destroyed (reload, deinit)
	[96e469ea4fc8]

	* src/login-common/client-common.c, src/login-common/client-common.h,
	src/login-common/sasl-server.c:
	login: If login fails for some reason, but auth was successful,
	don't log "auth failed". For example if proxy fails to connect to
	remote server.
	[d03524bfcf16]

	* src/login-common/login-proxy.c:
	login proxy: Always log the username in the error messages.
	[d9b89af302e7]

2011-11-07  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-master-connection.c:
	auth: When complaining about auth-userdb permission errors, log also
	the wanted UID's name.
	[08afc14abc21]

	* src/indexer/master-connection.c:
	indexer-worker: If indexes are disabled for a mailbox, do nothing
	but log a message.
	[d0a071b6847c]

	* src/master/service-process.c:
	master: Fixed giving config socket path to anvil process.
	[9da49294f49d]

2011-11-05  Timo Sirainen  <tss@iki.fi>

	* configure.in:
	configure: Use libtool's -no-undefined flag instead of attempting it
	ourself. Patch by Brad.
	[3ecd119bd63b]

	* src/doveadm/doveadm-mail-import.c:
	doveadm import: Added -s parameter to subscribe to created
	mailboxes.
	[afec4ceda8e1]

	* src/dsync/dsync.c:
	dsync: Set user to be admin to ignore quota limits.
	[3248730d84ae]

	* src/plugins/quota/quota.c:
	quota: Ignore quota limits for admin users.
	[131e44d50d35]

	* src/master/main.c, src/master/service-monitor.c, src/master/service-
	monitor.h, src/master/service.c, src/master/service.h:
	master: Wait for services to stop listening before unlinking the pid
	file.
	[6894298ae5fd]

	* src/plugins/fts-lucene/fts-backend-lucene.c:
	fts-lucene: Use FTS_BACKEND_FLAG_BUILD_FULL_WORDS flag.
	[21145b853d64]

	* src/plugins/fts/fts-api-private.h, src/plugins/fts/fts-build-mail.c:
	fts: Added FTS_BACKEND_FLAG_BUILD_FULL_WORDS for sending data to
	backends only in full words.
	[f4a95383ea8a]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Optimize searching for existence of an indexed header.
	[efe369e2885d]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Index the header name tokenized, or we can't search it.
	[6e7658437688]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Fixed handling "maybe" queries (unindexed headers)
	[c700ff42a6cc]

2011-11-04  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm-user.1.in:
	man: Added -f option to doveadm-user.1.
	[5cf885412627]

2011-11-05  Timo Sirainen  <tss@iki.fi>

	* src/login-common/ssl-proxy-openssl.c:
	Use SSL_MODE_RELEASE_BUFFERS if available to keep memory usage low.
	Based on patch by Cristian Rodríguez.
	[88d5239c0d9a]

	* src/lmtp/lmtp-settings.c:
	lmtp: Changed default client_limit to 1. LMTP processes can wait a
	long time on disk I/O, so a single process will be busy waiting long
	before it reaches default_client_limit (100).
	[b5d4b4e43840]

2011-11-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: When doing a LIST, delete any extra local mailbox (index)
	directories.
	[0103b917fa0c]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h, src/lib-storage/list/mailbox-list-fs.c, src/lib-
	storage/list/mailbox-list-maildir.c, src/lib-storage/mailbox-list.c,
	src/lib-storage/mailbox-list.h:
	imapc: Don't use separate indexes/ directory anymore. Fixes/cleanups
	to make it possible.
	[7e1981ecbe40]

	* src/lib-imap-client/imapc-connection.c:
	imapc: If rawlog directory doesn't exist, silently ignore it.
	[ebdb1d51ea14]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Index files weren't deleted when mailbox was deleted.
	[a79c256b361e]

	* src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list
	/mailbox-list-maildir.c, src/lib-storage/mailbox-list.h:
	lib-storage: Added MAILBOX_LIST_FLAG_OPTIONAL_BOXES flag.
	[64ca27392217]

	* src/anvil/anvil-connection.c, src/anvil/common.h, src/anvil/main.c,
	src/master/service-anvil.c, src/master/service-anvil.h, src/master
	/service-process.c:
	anvil: Handle crash restarts without failing completely.
	[926a7ceeaa10]

	* src/doveadm/doveadm-dump-index.c:
	doveadm dump index: Dump also mime.parts decoded.
	[9f739df97593]

	* src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins/fts-lucene
	/fts-lucene-plugin.h, src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Added whitespace_chars subsetting to fts_lucene. A value
	of "@." could be useful so that user@domain.tld allows searching
	user, domain and tld separately instead of requiring the whole
	string to match.
	[6d483a22134e]

	* src/lib/eacces-error.c:
	eacces_error_get*(): Log if group has r/w permissions, but we don't
	belong to it.
	[b6e5cf112b3e]

2011-10-25  Timo Sirainen  <tss@iki.fi>

	* src/master/service-monitor.c:
	master: Assert-crashfix when service process limit was reached.
	Introduced by commit fddbb26400d0.
	[1dd992f75906]

	* src/login-common/client-common.h, src/login-common/ssl-proxy-
	openssl.c:
	login: When renegotiating SSL handshake, don't reread settings when
	TLS SNI is used.
	[c9ef7a0f9b44]

	* src/login-common/main.c:
	login: Increased client's initial memory pool size.
	[402cff03919a]

2011-10-20  Timo Sirainen  <tss@iki.fi>

	* src/master/service-monitor.c, src/master/service.h:
	master: When process_limit fills up, wait 10s before closing pending
	connections. It might have only been a temporary burst that gets
	resolved quickly enough.
	[fddbb26400d0]

	* src/master/service-monitor.c:
	master: Reset service's listen_pending flag when it gets a new
	available process.
	[a95bb5877f00]

	* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
	connection.c, src/lib-imap-client/imapc-connection.h:
	imapc: Fixed reopening a mailbox.
	[221ec0404d8e]

2011-10-19  Timo Sirainen  <tss@iki.fi>

	* src/auth/passdb-static.c:
	auth: passdb static crashed if no password was given
	[809944f5015a]

2011-10-18  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: If maildir filename has broken W/S size, rename the file to
	drop them.
	[e3d2262e995a]

	* src/lib-storage/index/istream-mail.c:
	istream-mail: Call mail_cache_set_corrupted() properly
	[fb22546542a5]

2011-10-17  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
	client.h, src/lib-imap-client/imapc-connection.c, src/lib-
	storage/index/imapc/imapc-settings.c, src/lib-storage/index/imapc
	/imapc-settings.h, src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Added imapc_ssl_verify setting.
	[63ac3b1c2950]

2011-10-12  Timo Sirainen  <tss@iki.fi>

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: Use mail_log_update_wanted_fields() to avoid parsing
	message multiple times.
	[381555875651]

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index
	/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-
	mail.c, src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/imapc/imapc-mail.c, src/lib-storage/index/index-mail-
	headers.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-mail.h, src/lib-storage/index/maildir/maildir-mail.c, src
	/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.h, src/lib-storage/mail.c, src/lib-storage/test-
	mail.c, src/plugins/virtual/virtual-mail.c:
	lib-storage: Added mail_log_update_wanted_fields()
	[e77601949937]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox rebuild: Log an error whenever opening a mailbox fails.
	[fad85406a088]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Mail body wasn't always prefetched when it should have been.
	[d2608fc3c9e2]

2011-10-09  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-client/imapc-client.c:
	imapc: When asking for capabilities, try to ask from a logged in
	connection.
	[337f4e427bb1]

	* src/lib-imap-client/imapc-connection.c:
	imapc: Post-login capabilities weren't detected/used.
	[8a2ec8284b61]

	* src/lib-imap-client/imapc-client-private.h, src/lib-imap-client
	/imapc-client.c, src/lib-imap-client/imapc-connection.c, src/lib-
	imap-client/imapc-connection.h, src/lib-storage/index/imapc/imapc-
	mail-fetch.c, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
	storage/index/imapc/imapc-storage.h, src/lib-storage/index/imapc
	/imapc-sync.c, src/lib-storage/index/imapc/imapc-sync.h:
	imapc: Support retrying some IMAP commands if we get disconnected.
	[c9594ff166a9]

	* src/director/director-test.c, src/imap-login/client.c, src/imap/cmd-
	append.c, src/imap/imap-client.c, src/lib-imap-client/imapc-
	connection.c, src/lib-imap/imap-bodystructure.c, src/lib-imap/imap-
	envelope.c, src/lib-imap/imap-id.c, src/lib-imap/imap-parser.c, src
	/lib-imap/imap-parser.h, src/lib-imap/test-imap-parser.c,
	src/plugins/virtual/virtual-config.c:
	lib-imap: Added reference counting to imap parser.
	[f63f2b2217c3]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Mailbox reopening fix.
	[2dbc6108f090]

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: Fixed expunging too many messages from index.
	[d8ba3f6d1b9d]

	* src/lib-storage/index/imapc/imapc-sync.c:
	imapc: Better implementation of checking if index is missing
	messages.
	[2ecf19d88f8e]

	* src/lib-imap-client/imapc-connection.c:
	imapc: Fixes to sending commands.
	[256b9b32b242]

	* src/lib-storage/index/imapc/imapc-mail.c, src/lib-
	storage/index/imapc/imapc-mailbox.c, src/lib-storage/index/imapc
	/imapc-storage.c, src/lib-storage/index/imapc/imapc-storage.h, src
	/lib-storage/index/imapc/imapc-sync.c:
	imapc: Fixed detecting when messages are missing from index.
	[305ca9c93dd7]

	* src/lib-imap-client/imapc-client-private.h, src/lib-imap-client
	/imapc-client.c, src/lib-imap-client/imapc-client.h, src/lib-imap-
	client/imapc-connection.c, src/lib-imap-client/imapc-connection.h,
	src/lib-imap-client/imapc-msgmap.c, src/lib-imap-client/imapc-
	msgmap.h, src/lib-storage/index/imapc/imapc-mail.c, src/lib-
	storage/index/imapc/imapc-mailbox.c, src/lib-storage/index/imapc
	/imapc-storage.c, src/lib-storage/index/imapc/imapc-storage.h:
	imapc: Initial support for automatically reconnecting to remote
	server.
	[8fdd22504aab]

2011-10-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: Fixed updating message flags from another session.
	[7e0bdfa76f12]

2011-10-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	imapc: Fixed handling keywords. The status->keywords must point to
	mail_index's keywords.
	[92dd30cf0d22]

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: Detect when message has been unexpectedly expunged from
	index.
	[aaa0463aa66f]

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: IDLE didn't notify immediately about new mails.
	[3058a10313bd]

	* src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	imapc: Code cleanup: avoid unnecessarily accessing imapc-client-
	private.h
	[cd4a65125c84]

	* src/lib-imap-client/imapc-client-private.h, src/lib-imap-client
	/imapc-client.c, src/lib-imap-client/imapc-client.h, src/lib-imap-
	client/imapc-connection.c:
	imapc: Removed unused "stop now" functionality.
	[4f305d785bc7]

	* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
	client.h, src/lib-imap-client/imapc-connection.c, src/lib-imap-
	client/imapc-connection.h, src/lib-storage/index/imapc/imapc-
	storage.c:
	imapc: Changed mailbox opening API to be more extensible.
	[c358b13e32cc]

	* src/lib-imap-client/imapc-client-private.h, src/lib-imap-client
	/imapc-client.c, src/lib-imap-client/imapc-client.h, src/lib-imap-
	client/imapc-connection.c, src/lib-imap-client/imapc-connection.h,
	src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-mail-fetch.c, src/lib-storage/index/imapc
	/imapc-mail.c, src/lib-storage/index/imapc/imapc-save.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-sync.c:
	imapc: Command sending API changed to be more extensible.
	[e0a339d677cb]

	* src/auth/auth-master-connection.c:
	auth: Don't re-add IO to master connection input. This fixes a panic
	crash in some situations.
	[21566f1780ef]

	* src/auth/auth-master-connection.c, src/auth/auth-master-
	connection.h, src/auth/main.c:
	auth: Improved "auth client doesn't have permissions to do .."
	errors.
	[99ff7bf3c490]

2011-10-05  Timo Sirainen  <tss@iki.fi>

	* src/pop3/pop3-client.c:
	pop3: When pop3_fast_size_lookups=yes, don't assume we need to fetch
	virtual size. This fixes prefetch unnecessarily opening mail files.
	[a70f6f04f1fe]

	* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	imapc: Fixed fetching data for a saved, but uncommitted, mail.
	[09707b608d8d]

	* src/lib-storage/index/index-mail.c:
	lib-storage: Fixed reopening a mail stream.
	[fab95106bcd6]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-mail-fetch.c:
	imapc: Memory leak fixes.
	[186910f65582]

	* src/lib-storage/index/imapc/imapc-mail.c, src/lib-storage/index
	/index-mail.c, src/lib-storage/index/index-mail.h:
	imapc: Fixed closing mail properly.
	[e026ff4467a8]

	* src/lib-storage/index/imapc/imapc-save.c:
	imapc: Fixed potential assert-crash when saving a mail.
	[0602a0d36164]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Fixed "Bad file descriptor" errors after mail was closed.
	[f2732fa01394]

	* src/lib-storage/index/raw/raw-storage.c:
	raw storage: Don't crash with mailbox_get_metadata()
	[ae1f8bae28eb]

2011-10-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/Makefile.am, src/lib-storage/index/imapc
	/imapc-mail-fetch.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-mail.h, src/lib-storage/index/istream-mail-
	stats.c, src/lib-storage/index/istream-mail-stats.h, src/lib-
	storage/index/istream-mail.c, src/lib-storage/index/istream-mail.h:
	lib-storage: Verify that cached message size matches actually read
	size.
	[75f044354386]

	* src/doveadm/doveadm-mail-fetch.c, src/imap/imap-fetch-body.c, src
	/lib-lda/mail-send.c, src/lib-storage/index/cydir/cydir-mail.c, src
	/lib-storage/index/dbox-common/dbox-mail.c, src/lib-storage/index
	/dbox-common/dbox-mail.h, src/lib-storage/index/imapc/imapc-mail.c,
	src/lib-storage/index/index-mail-headers.c, src/lib-storage/index
	/index-mail.c, src/lib-storage/index/index-search.c, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/index/mbox
	/mbox-mail.c, src/lib-storage/index/raw/raw-mail.c, src/lib-storage
	/mail-storage-private.h, src/lib-storage/mail-storage.h, src/lib-
	storage/mail.c, src/lib-storage/test-mail.c, src/plugins/virtual
	/virtual-mail.c:
	lib-storage: Added mail_get_hdr_stream() and use it where possible.
	This makes it clearer for backends when it needs a message body
	instead of only message header.
	[276a39ebda4d]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Mail body caching should be done at close(), not at free().
	This cached wrong mail bodies when fetching multiple mails.
	[d3b30b82a225]

2011-10-03  Timo Sirainen  <tss@iki.fi>

	* src/util/script-login.c:
	script-login: Disable alarm after input has been read.
	[6d1c20b1936c]

2011-10-02  Timo Sirainen  <tss@iki.fi>

	* src/auth/passdb-vpopmail.c:
	passdb vpopmail: Always prefer to lookup plaintext password if it
	exists. This is important when multiple auth mechanisms are used and
	the password is cached.
	[423cf2ccd1f1]

	* src/lib-storage/list/mailbox-list-index-status.c:
	mailbox list indexes: Get mailbox_get_metadata(guid) from index if
	possible.
	[341174c093ee]

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/index-
	status.c, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/mail-storage.c,
	src/plugins/virtual/virtual-storage.c:
	lib-storage: mailbox_get_metadata() no longer always opens mailbox.
	[b7e58d26393f]

	* src/lib-storage/mail-storage.c:
	lib-storage: Compile fix for recent change.
	[c2a173716500]

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Maildir list index change check should always check index
	log changes. (Not only when maildir_very_dirty_syncs=no)
	[65696275eaa6]

	* src/lib-storage/list/mailbox-list-index-sync.c, src/lib-storage/list
	/mailbox-list-index.c:
	mailbox list indexes: Handle name="" mailboxes.
	[37c078f1745c]

	* src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/index-sync.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-storage/mail-
	storage-private.h:
	lib-storage: Mailbox list index's ext_id shouldn't be cached in
	mail_storage. It's mailbox_list-specific, not mail_storage-specific.
	The easiest fix was to just cache it into mailbox rather than create
	a new index_mailbox_list.
	[d9b0cd5b77b5]

	* src/lib-storage/list/mailbox-list-index.h:
	mailbox list indexes: Added comment.
	[612b8a73ada7]

	* src/lib-storage/list/mailbox-list-index-sync.c, src/lib-storage/list
	/mailbox-list-index.c, src/lib-storage/list/mailbox-list-index.h:
	mailbox list indexes: Code cleanups.
	[6912969d94e8]

	* src/lib-storage/list/mailbox-list-index-status.c, src/lib-
	storage/list/mailbox-list-index-sync.c, src/lib-storage/list
	/mailbox-list-index.c, src/lib-storage/list/mailbox-list-index.h:
	mailbox list indexes: Error handling fixes.
	[75679aca405a]

	* src/lib-storage/list/Makefile.am, src/lib-storage/list/mailbox-list-
	index-sync.c, src/lib-storage/list/mailbox-list-index.c, src/lib-
	storage/list/mailbox-list-index.h:
	mailbox list indexes: Moved syncing code to separate file.
	[940ddec22822]

	* src/lib-storage/list/Makefile.am, src/lib-storage/list/mailbox-list-
	index-iter.c, src/lib-storage/list/mailbox-list-index.c, src/lib-
	storage/list/mailbox-list-index.h:
	mailbox list indexes: Moved iteration code to separate file.
	[cd7b56e965d2]

	* src/lib-storage/list/Makefile.am, src/lib-storage/list/index-
	mailbox-list-status.c, src/lib-storage/list/index-mailbox-list.c,
	src/lib-storage/list/index-mailbox-list.h, src/lib-storage/list
	/mailbox-list-index-status.c, src/lib-storage/list/mailbox-list-
	index.c, src/lib-storage/list/mailbox-list-index.h, src/lib-
	storage/register/Makefile.am:
	Renamed index-mailbox-list* to mailbox-list-index*
	[8800d0429b7c]

	* src/lib-storage/list/index-mailbox-list.c:
	mailbox list indexes: Disable index files for shared/public
	namespaces.
	[37c4e282a605]

	* src/lib-storage/list/index-mailbox-list-status.c, src/lib-
	storage/list/index-mailbox-list.c, src/lib-storage/list/index-
	mailbox-list.h:
	mailbox list indexes: Use storage names instead of virtual names.
	[e06e178c8fd1]

	* src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c:
	lmtp: Code cleanup.
	[93cba8e84546]

	* src/lda/main.c:
	lda: Code cleanups
	[020d2092f2f7]

	* src/lda/main.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/raw/raw-storage.h, src/lmtp/commands.c:
	lda/lmtp: Moved common raw mailbox allocation code to raw-storage.
	[ac9fecc9202e]

	* src/lib-storage/mail-storage.c:
	lib-storage: Keep mail_user referenced while storage objects exist.
	This allows unreferencing mail_user after mailbox_alloc() and having
	it freed on mailbox_free().
	[b7995a25c052]

	* src/lib/ioloop.c:
	ioloop: Memory leak fix on ioloop destroy.
	[f41a3dd03be2]

	* src/lib/istream-seekable.c:
	istream-seekable: Memory leak fix.
	[7f7724f28d78]

	* src/lda/main.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/raw/raw-storage.h, src/lmtp/client.c:
	lda/lmtp: Moved raw user creation code to common
	raw_storage_create_from_set()
	[5bd6c0fbfef1]

	* src/lib-storage/list/index-mailbox-list-status.c:
	mailbox list index: Minor code cleanup.
	[967ad9ad37ff]

2011-10-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
	client.h, src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/imapc/imapc-mail.c, src/lib-storage/index/imapc/imapc-
	storage.c, src/lib-storage/index/imapc/imapc-sync.c:
	imapc: Changed imapc_client_mailbox_cmd() parameter order to be same
	as in _cmdf().
	[a418589173c8]

	* src/lib-imap-client/imapc-connection.c:
	imapc: Don't assert-crash when receiving 0 size literal.
	[037e963c9a34]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Make sure "is mail expunged?" NOOP is sent to correct
	connection. (Although currently there are never more than a single
	connection.)
	[4cfe3f14bb46]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Make sure mail cache is freed when mailbox is closed.
	[967a53c3ef5e]

	* src/auth/auth-common.h, src/auth/main.c, src/auth/mech.c,
	src/auth/passdb.c, src/auth/userdb.c:
	auth: Lazily load authdb_* and mech_* plugins only when they're
	needed.
	[695e9d58ed17]

	* src/auth/Makefile.am, src/auth/passdb-imap.c:
	auth: Renamed passdb_imap plugin to authdb_imap.
	[f53cf5670adf]

	* src/lib/module-dir.c, src/lib/module-dir.h:
	module_dir_load*(): Support filtering and ignoring missing modules.
	[976e414d5bf4]

	* doc/example-config/conf.d/10-ssl.conf, src/login-common/login-
	settings.c, src/login-common/login-settings.h, src/login-common/ssl-
	proxy-openssl.c:
	Added ssl_protocols setting.
	[406a1d52390b]

	* src/doveadm/doveadm-pw.c:
	doveadm: Compile fix for previous auth change.
	[c126a88546f8]

	* src/auth/auth-request.c, src/auth/passdb.c, src/auth/password-
	scheme.c, src/auth/password-scheme.h:
	auth: If password data isn't valid for specified scheme, give a
	better error message.
	[c9894346b1a3]

2011-09-30  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-copy.c, src/imap/cmd-expunge.c, src/imap/cmd-store.c,
	src/imap/imap-search-args.c:
	imap: Memory leak fixes for invalid parameter handling.
	[1fd1321e55f4]

	* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/imapc/imapc-mail.c, src/lib-storage/index/imapc/imapc-
	mail.h, src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	imapc: Keep the last fetched message body cached until mailbox is
	closed. This primarily helps partial IMAP fetches so each partial
	fetch doesn't redownload the message body.
	[5726f89486a0]

	* src/imap/imap-client.h, src/imap/imap-fetch-body.c:
	imap: Moved partial fetch cache from static variable into struct
	client.
	[690f60827f59]

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: Handle open() failing with ESTALE.
	[64d3f748a612]

2011-09-27  Timo Sirainen  <tss@iki.fi>

	* src/stats/client-export.c, src/stats/mail-command.c, src/stats/mail-
	command.h:
	stats: Mail commands were sorted in wrong order, so they were never
	removed from memory.
	[e62621d28591]

	* src/pop3/pop3-client.c:
	pop3: Fixed POP3-order sorting.
	[69826dc7a959]

	* src/stats/mail-command.c, src/stats/mail-domain.c, src/stats/mail-
	ip.c, src/stats/mail-session.c, src/stats/mail-user.c:
	stats: Compiler warning fixes.
	[b36ad0f9b3cf]

	* src/stats/mail-stats.c:
	stats: Error message fix.
	[4538030286f6]

	* src/lib/network.c:
	Compile fix for Solaris.
	[b020b9f7aa54]

2011-09-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-single/sdbox-sync.c:
	sdbox: Memory leak fix.
	[415aa8e92203]

	* src/auth/Makefile.am, src/auth/auth-settings.c, src/auth/auth-
	settings.h, src/auth/passdb-imap.c:
	auth: Added passdb imap plugin.
	[fe89e95867a4]

	* configure.in, src/Makefile.am, src/lib-imap-client/Makefile.am, src
	/lib-imap-client/imapc-client-private.h, src/lib-imap-client/imapc-
	client.c, src/lib-imap-client/imapc-client.h, src/lib-imap-client
	/imapc-connection.c, src/lib-imap-client/imapc-connection.h, src
	/lib-imap-client/imapc-msgmap.c, src/lib-imap-client/imapc-msgmap.h,
	src/lib-storage/index/imapc/Makefile.am, src/lib-storage/index/imapc
	/imapc-client-private.h, src/lib-storage/index/imapc/imapc-client.c,
	src/lib-storage/index/imapc/imapc-client.h, src/lib-
	storage/index/imapc/imapc-connection.c, src/lib-storage/index/imapc
	/imapc-connection.h, src/lib-storage/index/imapc/imapc-msgmap.c, src
	/lib-storage/index/imapc/imapc-msgmap.h:
	Moved imapc-client into its own lib-imap-client library.
	[743ebecc1224]

2011-09-25  Pascal Volk  <user@localhost.localdomain.org>

	* .hgignore, doc/man/Makefile.am, doc/man/doveadm-move.1.in,
	doc/man/doveadm.1.in:
	man: Added doveadm move.
	[af13ef62d083]

2011-09-23  Timo Sirainen  <tss@iki.fi>

	* src/stats/mail-command.c:
	stats: Make sure unfinished commands get freed when their session
	disconnects.
	[67a545272b3f]

	* src/lib/file-dotlock.c:
	file_dotlock: And fix to previous change..
	[df74f0052707]

	* src/lib/file-dotlock.c:
	file_dotlock: Don't warn about changed mtime when it's 1 second.
	This is mainly to avoid bogus warnings with NFS and its caching.
	[fecd095394b6]

	* src/lib-storage/index/maildir/maildir-util.c:
	maildir: Improved guessing filename when it's still in new/ dir.
	[b3111bbbaf22]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Don't always drop new flag from files when syncing.
	[f24550491039]

	* src/lib-storage/mail-namespace.c:
	lib-storage: mail_namespace_find_unalias() crashed when namespace
	wasn't found.
	[ed97724884a2]

	* src/doveadm/server-connection.c:
	doveadm server: Previous non-authentication fix broken
	authentication.
	[46e90b44d378]

	* src/plugins/fts/fts-parser-script.c:
	fts: Support also RFC 2231 style parsing when finding the attachment
	filename.
	[e932f81eba48]

2011-09-22  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts/fts-parser-script.c:
	fts: Fixed running attachment decoder scripts.
	[2b219b549007]

	* src/lib-storage/index/imapc/imapc-save.c:
	imapc: Fix to previous message saving change.
	[43df6495edb8]

	* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/imapc/imapc-mail.c, src/lib-storage/index/imapc/imapc-
	mail.h, src/lib-storage/index/imapc/imapc-save.c:
	imapc: Allow accessing a mail that is being saved without crashing.
	This fixes crashes with LDA, LMTP, mail_log plugin, etc.
	[b6633cb57814]

	* src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	iampc: Small code cleanup.
	[645a56f9d8ee]

	* src/lib-mail/rfc822-parser.c:
	lib-mail: Added broken input workaround to
	rfc822_parse_content_param().
	[00b6848a5a63]

	* src/login-common/client-common.c, src/login-common/login-common.h,
	src/login-common/main.c:
	login: Added -R <dir> parameter to write pre-login rawlogs to given
	directory.
	[1ff636720b9f]

	* src/login-common/client-common.c:
	login: "cert required, client didn't start TLS" error could have
	been logged wrongly.
	[e19a3a2d554d]

2011-09-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
	Added new mail_location setting "UTF8" to use UTF-8 instead of
	mUTF-7 in storage names. This basically changes mailbox names to be
	UTF-8 everywhere where they are mUTF-7 currently (filesystem,
	subscriptions, etc.)
	[fbbf2802e11f]

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: Don't try to send literal stream output until its '+' has
	been received.
	[9a42e3690b1b]

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-client.h, src/lib-storage/index/imapc
	/imapc-connection.c, src/lib-storage/index/imapc/imapc-settings.c,
	src/lib-storage/index/imapc/imapc-settings.h, src/lib-
	storage/index/imapc/imapc-storage.c:
	imapc: Added imapc_rawlog_dir setting.
	[87662d9ceff8]

	* src/lib/Makefile.am, src/lib/iostream-rawlog-private.h, src/lib
	/iostream-rawlog.c, src/lib/iostream-rawlog.h, src/lib/istream-
	rawlog.c, src/lib/istream-rawlog.h, src/lib/ostream-rawlog.c,
	src/lib/ostream-rawlog.h:
	Added rawlog i/ostreams.
	[0860ac364dec]

	* src/lib-ssl-iostream/ostream-openssl.c:
	lib-ssl-iostream: If flush wants to read, make sure the flush
	callback isn't being called again.
	[e0bee6c56a05]

	* src/lib/ostream.c:
	ostream: Keep track of flush callback for filter ostreams as well.
	[62e1c575b16a]

	* src/lib/istream.c:
	i_stream_next_line(): Don't fail if stream doesn't have write
	buffer, we can handle it.
	[0fb296c11edc]

	* src/lib-fs/ostream-cmp.c, src/lib-ssl-iostream/ostream-openssl.c,
	src/lib/ostream-buffer.c, src/lib/ostream-file.c, src/lib/ostream-
	private.h, src/lib/ostream.c, src/plugins/zlib/ostream-bzlib.c,
	src/plugins/zlib/ostream-zlib.c:
	Simplified creating filter ostreams.
	[8c3c0e01e00d]

	* src/lib-fs/ostream-cmp.c, src/lib-mail/istream-dot.c, src/lib-mail
	/istream-header-filter.c, src/lib-ssl-iostream/istream-openssl.c,
	src/lib-ssl-iostream/ostream-openssl.c, src/lib-storage/index
	/istream-attachment.c, src/lib-storage/index/istream-mail-stats.c,
	src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib-test/test-
	common.c, src/lib/Makefile.am, src/lib/ioloop-epoll.c, src/lib
	/ioloop-internal.h, src/lib/ioloop-iolist.c, src/lib/ioloop-
	kqueue.c, src/lib/ioloop-notify-dn.c, src/lib/ioloop-notify-fd.c,
	src/lib/ioloop-notify-inotify.c, src/lib/ioloop-notify-kqueue.c,
	src/lib/ioloop-notify-none.c, src/lib/ioloop-poll.c, src/lib/ioloop-
	private.h, src/lib/ioloop-select.c, src/lib/ioloop.c, src/lib
	/iostream-internal.h, src/lib/iostream-private.h,
	src/lib/iostream.c, src/lib/istream-base64-encoder.c, src/lib
	/istream-concat.c, src/lib/istream-crlf.c, src/lib/istream-data.c,
	src/lib/istream-file.c, src/lib/istream-internal.h, src/lib/istream-
	limit.c, src/lib/istream-mmap.c, src/lib/istream-private.h, src/lib
	/istream-seekable.c, src/lib/istream-tee.c, src/lib/istream.c,
	src/lib/ostream-buffer.c, src/lib/ostream-file.c, src/lib/ostream-
	internal.h, src/lib/ostream-private.h, src/lib/ostream.c, src/lib
	/test-istream-base64-encoder.c, src/lib/test-istream-concat.c,
	src/lib/test-istream-crlf.c, src/lib/test-istream-seekable.c,
	src/lib/test-istream-tee.c, src/plugins/zlib/istream-bzlib.c,
	src/plugins/zlib/istream-zlib.c, src/plugins/zlib/ostream-bzlib.c,
	src/plugins/zlib/ostream-zlib.c:
	Renamed lib/*-internal.h files to lib/*-private.h for consistency.
	[cf77e448295c]

2011-09-19  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/server-connection.c:
	doveadm: Fixed sending commands to doveadm server when it didn't
	require authentication.
	[1d8009c7b67e]

2011-09-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
	/iostream-openssl.h, src/lib-ssl-iostream/ostream-openssl.c:
	lib-ssl-iostream: Don't require SSL ostream to always have unlimited
	buffer size. It's important when reading/handshaking wants to write
	to output buffer, but writing itself can safely have zero sized
	buffer (e.g. while sending a large input stream).
	[b97c53c54f72]

2011-09-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-msgmap.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	imapc: Added more checks to catch buggy IMAP server responses.
	[d174fa047d56]

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: When remote IMAP server becomes confused, don't mark our
	indexes corrupted. Mark them corrupted only when after a
	reconnection the initial mailbox sync doesn't work.
	[1dcc1ebe9516]

	* src/lib-storage/index/imapc/imapc-mail-fetch.c:
	imapc: Filter out X-Message-Flag: header from incoming mails. This
	is only added by MS Exchange when \Flagged flag is set, so it could
	be made optional, but it probably doesn't really hurt to just make
	it unconditional to ease the configuration.
	[501b33c4aa28]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: If FETCH is missing a reply, but we haven't seen EXPUNGE for
	it, do NOOP and check again. This fixes checking if message is
	expunged with servers that don't immediately send EXPUNGE during UID
	FETCH.
	[a15a1b1994cc]

	* src/lib-storage/index/imapc/imapc-storage.c, src/lib-storage/mail-
	storage-service.c:
	Increased initial memory pool sizes.
	[bed9bc9b9e22]

	* src/lib-storage/index/imapc/imapc-sync.c:
	imapc: If mailbox sync fails, don't mark index corrupted. The sync
	could have failed because of disconnection. The failure will just
	cause the sync to be rollbacked and retried later. No need to delete
	the whole index.
	[c9b758cd6c43]

	* src/lib-storage/index/imapc/imapc-sync.c:
	imapc: next_uid was sometimes lowered.
	[5a27ac58db25]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: When IMAP server unexpectedly doesn't send a reply, log also
	the mailbox name.
	[60f31136af52]

	* src/lib/ioloop-notify-inotify.c:
	inotify: If read() fails with EAGAIN, ignore it instead of dying.
	[803979bc30ab]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Handle disconnection better when fetching a mail.
	[25f9856be51e]

2011-09-19  Timo Sirainen  <tss@iki.fi>

	* configure.in:
	Enable --no-undefined linker flag only for Linux. BSDs don't seem to
	be happy with it.
	[7d9163ce4253]

	* src/plugins/fts-lucene/fts-lucene-plugin.c:
	fts-lucene: Fixed to work without stemmer support.
	[02c84406c661]

	* src/lib/network.c:
	Compile fix for OpenBSD.
	[97135a53951e]

	* src/doveadm/doveadm-mail-move.c:
	doveadm: Typofix s/messsage/message/
	[ee36cef69246]

2011-09-16  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset f9e744ffe021
	[823b7ab2e1d7]

	* .hgtags:
	Added tag 2.1.alpha2 for changeset f9e744ffe021
	[9b2c23b63474]

	* configure.in:
	Released v2.1.alpha2.
	[f9e744ffe021] [2.1.alpha2]

	* .hgsigs, .hgtags, NEWS, configure.in, src/auth/main.c, src/auth
	/passdb-ldap.c, src/doveadm/doveadm-mail-altmove.c, src/doveadm
	/doveadm-mail-iter.c, src/dsync/dsync-worker-local.c,
	src/dsync/dsync.c, src/lib-index/mail-cache.h, src/lib-index/mail-
	index-transaction-update.c, src/lib-index/mail-index-view.c, src
	/lib-index/mail-index.h, src/lib-lda/mail-deliver.c, src/lib-sql
	/driver-mysql.c, src/lib-sql/driver-sqlpool.c, src/lib-storage/index
	/dbox-common/dbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-sync.c, src/lib-storage/index/index-
	transaction.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/shared
	/shared-storage.c, src/lib-storage/mail-copy.c, src/lib-storage
	/mail-storage-service.c, src/lib-storage/mail-storage.c, src/lib-
	storage/mail-storage.h, src/lib-storage/mailbox-list.c,
	src/lib/ioloop.c, src/lib/ioloop.h:
	Merged changes from v2.0.15.
	[490a85b869e0]

	* .hgsigs:
	Added signature for changeset 11ef52450096
	[22858efc84bb]

	* .hgtags:
	Added tag 2.0.15 for changeset 11ef52450096
	[48395777f852]

	* NEWS, configure.in:
	Released v2.0.15.
	[11ef52450096] [2.0.15]

	* src/auth/main.c:
	auth: Use "auth-worker:" log prefix for auth worker processes.
	[8379707478d7]

	* src/lib-storage/mail-storage.c:
	lib-storage: Improved debug logging messages.
	[19086b0d53f4]

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: If shared namespace prefix doesn't end with hierarchy
	separator, fail.
	[ea657df52a85]

	* src/lib-storage/mail-storage.c:
	lib-storage: If mailbox_rename() isn't possible and mail_debug=yes,
	log the reason why.
	[e57bd3e2ec27]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Changed debug message to sound less like an error
	message.
	[99e1a9aa03f7]

	* src/lib-sql/driver-sqlpool.c:
	lib-sql: Fixed load balancing between multiple SQL hosts to actually
	work.
	[327698228158]

	* src/doveadm/doveadm-mail-iter.c, src/lib-index/mail-index-
	transaction-update.c, src/lib-storage/index/index-sync.c:
	s/commiting/committing/ Caught by Marco Nenciarini.
	[79d54b6ccfe1]

	* src/config/config-parser.c:
	config: Don't crash strlist section contains a subsection.
	[1a57526721d7]

	* doc/man/dsync.1.in:
	man: Escape fix.
	[2795be14f37f]

2011-09-15  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm-altmove.1.in:
	man: Added -r option to doveadm-altmove.1.
	[85853915c8c0]

2011-09-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/sql-api-private.h:
	lib-sql: Dropped connect timeout to 5 seconds. Postfix is using 10
	second auth timeout and this needs to be less than that.
	[20a901f1de31]

	* src/lib-sql/driver-sqlpool.c:
	lib-sql: Don't try to connect to connections that are going to be
	reconnected later. This avoids unnecessarily trying to connect to
	failing connections.
	[3955a5b2a917]

	* src/lib-sql/driver-sqlpool.c:
	lib-sql: Connect to all configured hosts immediately. This makes
	load balancing between them actually work always.
	[55552b4e8c65]

	* src/lib-sql/driver-sqlpool.c:
	lib-sql: When escaping a string, use the first ready connection (if
	any). This avoids unnecessarily trying to reconnect to a failing
	connection.
	[1b829680dce4]

	* src/lib-sql/driver-mysql.c:
	lib-sql: If MySQL connect takes more than 1 sec, don't try to
	reconnect for that many secs.
	[11273f581686]

	* src/lib-sql/driver-mysql.c:
	lib-sql: If MySQL connect fails, update ioloop times so later
	timeouts get added properly.
	[c056bd23fdcc]

	* src/lib/ioloop.c, src/lib/ioloop.h:
	liblib: Added io_loop_time_refresh()
	[3334c12a2b1a]

	* src/auth/auth-request-handler.c:
	auth: Don't assert-crash if login client disconnects during multi-
	reply mechanism.
	[0dffdc3bfad1]

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: mailbox_get_guid() works now without trying to sync the opened
	mailbox. This fixes assert-crash when LDA was trying to get mailbox
	GUID during save.
	[0264ac68c770]

	* src/doveadm/doveadm-mail-altmove.c:
	doveadm altmove: Added -r parameter to move mails back to primary
	storage.
	[1910c76a6cc9]

2011-09-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c:
	Removed unnecessary code.
	[d635bcf35df7]

	* src/dsync/dsync.c:
	dsync: Ignore SIGHUP
	[41dd8f4d44d5]

	* src/lib-index/mail-index-view.c:
	lib-index: mail_index_view_clone() didn't properly clear all fields
	in the destination view. The only caller already had it cleared
	though. Patch by Mike Abbott / Apple.
	[df8bd044a47d]

2011-09-12  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-worker-local.c:
	dsync: If mailbox can't be opened, log an error but continue anyway.
	[3c8b44bb1974]

	* src/lib-storage/index/mbox/mbox-mail.c:
	mbox: Fixed fetching last message from compressed mboxes.
	[a930318a74a1]

	* src/plugins/quota/quota-dirsize.c:
	quota-dirsize: Get the quota from "mail root dir", not "mailboxes
	dir". Normally they are different only with dbox (~/dbox vs.
	~/dbox/mailboxes). This mainly fixes using dirsize with mdbox, where
	the mail data is in ~/dbox/storage/ directory. Patch by Роман
	Захров.
	[9ea79795088d]

	* src/auth/passdb-ldap.c:
	ldap: Fixed auth binds for nonexistent users with some LDAP servers.
	[d00c95f33643]

2011-09-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Error handling fix for key+=value when key isn't of
	string type.
	[0f63b7c5dd7c]

	* src/lmtp/lmtp-proxy.c:
	lmtp: Improved "DATA output timeout" error message.
	[8de8752b2e94]

	* src/lib-lda/mail-deliver.c:
	lib-lda: Log message improvement to differentiate mailbox open vs.
	save error.
	[323ab62983b6]

	* src/lib-storage/mail-copy.c:
	lib-storage: Fixed mail_storage_copy() error handling.
	[858298eb101f]

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/index-storage.c:
	lib-storage: Minor error handling cleanups.
	[1903d5fd7e76]

2011-09-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index-
	view-sync.c:
	lib-index: Make sure mail_index_sync_record() doesn't waste data
	stack.
	[1a6528646e11]

2011-08-30  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-sync.c, src/lib-storage/index/index-
	transaction.c, src/lib-storage/mail-storage.h:
	lib-storage: Added MAILBOX_TRANSACTION_FLAG_NO_CACHE_DEC and use it
	when precaching. The result is that "doveadm index" no longer
	changes caching decisions.
	[5320315600a4]

	* src/lib-index/mail-cache-decisions.c, src/lib-index/mail-cache-
	private.h, src/lib-index/mail-cache.c, src/lib-index/mail-cache.h:
	lib-index: Added mail_cache_view_update_cache_decisions()
	[efedf0644da8]

2011-09-16  Timo Sirainen  <tss@iki.fi>

	* TODO:
	TODO updated
	[6a918d40d6f7]

	* src/plugins/acl/acl-plugin.h, src/plugins/acl/acl-shared-storage.c:
	acl: Fixed listing multiple shared namespaces.
	[4552430ae44e]

	* src/lib-storage/mail-storage.c:
	lib-storage: Don't try to use the same mail_storage for shared
	storages. This fixes having multiple independent shared namespaces.
	[cfbca51c0ade]

	* src/imap/cmd-list.c, src/lib-storage/index/shared/shared-list.c, src
	/lib-storage/list/mailbox-list-subscriptions.c:
	Fixes to listing mailboxes/subscriptions in shared namespaces.
	[080c8f9521d2]

	* src/plugins/quota/quota.c:
	quota: When matching mailbox names in quota rules, unalias
	namespaces first.
	[7f7dc4c89d04]

	* src/lib-storage/mail-namespace.c, src/lib-storage/mail-namespace.h:
	lib-storage: Added mail_namespace_find_unalias()
	[ff6272a52f0d]

2011-09-15  Timo Sirainen  <tss@iki.fi>

	* src/stats/client-export.c:
	stats: Export also username for commands.
	[61d3544f8fdf]

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	lib-storage: Fixed listing subscriptions in shared namespaces.
	[309a707c22c0]

2011-09-13  Timo Sirainen  <tss@iki.fi>

	* src/auth/main.c:
	auth: Use auth-worker(pid) prefix for auth processes.
	[667f604e79c5]

	* src/lib-storage/mail-storage.c:
	lib-storage: Make sure status/metadata structs are cleared when
	they're looked up.
	[8eea5682ac5b]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Handle \Noselect flag properly for untagged LSUB replies.
	[50d0906b556f]

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	lib-storage: Fixed handling subscriptions when they were saved to
	prefix!="" namespace.
	[f3eb6cc4b627]

	* src/lib-storage/index/imapc/imapc-client.c:
	imapc: Crashfix when sometimes closing mailbox.
	[e60a3b29117c]

2011-09-12  Timo Sirainen  <tss@iki.fi>

	* src/plugins/stats/stats-plugin.c, src/plugins/stats/stats-plugin.h,
	src/stats/client-export.c, src/stats/mail-stats.c, src/stats/mail-
	stats.h:
	stats: Track [rw]char and sysc[rw] fields in /proc/self/io (with
	Linux).
	[835891cf2eef]

	* src/plugins/stats/stats-plugin.c, src/stats/client-export.c,
	src/stats/mail-stats.c, src/stats/mail-stats.h:
	stats: Added mail_ prefix to mail transaction statistics. Also added
	"m" prefix for them in the internal protocol.
	[b1870cf2d3ff]

	* src/dsync/dsync-worker-local.c:
	dsync: If mailbox can't be opened, log an error but continue anyway.
	[74e945315e2c]

	* src/plugins/fts-squat/fts-backend-squat.c:
	fts-squat: Crashfixes on indexing.
	[ddb5c2a8f3d2]

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Don't break when there are duplicate From/To/Subject/etc.
	fields.
	[600034b77a1c]

	* src/stats/mail-session.c:
	stats: Increased idle timeout to 15 minutes.
	[502b794f654b]

	* src/stats/mail-command.c, src/stats/mail-session.c, src/stats/mail-
	session.h:
	stats: Avoid duplicate "Couldn't find session GUID" warnings. When
	it happens, just create a dummy session for it and log a warning
	once.
	[2492161a87f5]

	* src/plugins/virtual/virtual-storage.c:
	virtual: Compile fix for recent mailbox_exists() change.
	[a2c62701a1c4]

	* src/indexer/master-connection.c:
	indexer: Fixed assert-crash when number of indexed messages was
	divisible by 100.
	[f4899179ad4c]

	* src/lib-storage/index/mbox/mbox-mail.c:
	mbox: Fixed fetching last message from compressed mboxes.
	[ea8f667ac6ef]

	* src/plugins/quota/quota-dirsize.c:
	quota-dirsize: Get the quota from "mail root dir", not "mailboxes
	dir". Normally they are different only with dbox (~/dbox vs.
	~/dbox/mailboxes). This mainly fixes using dirsize with mdbox, where
	the mail data is in ~/dbox/storage/ directory. Patch by Роман
	Захров.
	[1a39f7648c9d]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-list.h, src/lib-storage/index/imapc/imapc-
	storage.c:
	imapc: Fixed mailbox_exists() to actually work. This fixes problems
	with subscribing to mailboxes.
	[cc9332de9982]

	* src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/mail-storage.c:
	lib-storage: Handle INBOX in the common mailbox_exists() code.
	[3844653d483a]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-storage.c:
	imapc: Fixes to handling non-empty imapc namespace prefix.
	[59c7b30973cf]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Fixed mailbox_list_mailbox() for backends without
	get_mailbox_flags().
	[84e31a32293e]

	* src/lib-storage/list/mailbox-list-fs-flags.c, src/lib-storage/list
	/mailbox-list-fs.h:
	lib-storage: Finished previous get_mailbox_flags() change.
	[7669862d95e7]

	* src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
	/mailbox-list-maildir-iter.c, src/lib-storage/list/mailbox-list-
	maildir.h, src/lib-storage/list/mailbox-list-none.c, src/lib-storage
	/mailbox-list-private.h, src/lib-storage/mailbox-list.c:
	lib-storage: Removed unused struct stat parameter from
	mailbox_list.get_mailbox_flags()
	[896ed71917aa]

2011-09-09  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-storage.c:
	imapc: More fixes to listing mailbox names.
	[3e1aad7bfd97]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc/imapc-
	storage.c, src/lib-storage/index/imapc/imapc-storage.h:
	imapc: Another try at fixing mUTF-7 mailbox names.
	[0801852b2156]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc/imapc-
	storage.c, src/lib-storage/index/imapc/imapc-storage.h:
	imapc: Use mUTF-7 for mailbox names.
	[92ab9fa4ec36]

2011-09-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-mail-fetch.c:
	imapc: If mail prefetching fails because of disconnection, don't log
	about it again.
	[ec947cc9c9c7]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: If NOOP fails with disconnection, set "internal error" to
	storage.
	[960907bfc29e]

	* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
	/fts-backend-solr.c:
	fts-solr: Fixed indexing messages with multiple MIME body parts.
	[283e08771d92]

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-connection.c:
	imapc: Send NOOP command every 29 minutes to remote server. This
	avoids server idle-disconnecting us after doing nothing for 30
	minutes.
	[1aa51cd11614]

	* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
	/iostream-openssl.h:
	lib-ssl-iostream: If plain stream disconnects, disconnect SSL stream
	also.
	[c53f15aab7aa]

	* src/lib-lda/mail-deliver.c:
	lib-lda: Log message improvement to differentiate mailbox open vs.
	save error.
	[2d82377dc855]

	* src/lib-storage/mail-copy.c:
	lib-storage: Fixed mail_storage_copy() error handling.
	[b69feb0352f1]

	* src/lib-storage/mail-storage.c:
	lib-storage: Code cleanup to mail_storage_set_critical()
	[84bce2c8626f]

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/index-storage.c:
	lib-storage: Minor error handling cleanups.
	[bba92468b051]

2011-09-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index-
	view-sync.c:
	lib-index: Make sure mail_index_sync_record() doesn't waste data
	stack.
	[ad9b826df5a2]

2011-09-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-connection.c, src/lib-storage/index/imapc
	/imapc-connection.h:
	imapc: When closing mailbox, don't abort any pending non-mailbox
	commands.
	[d3335654e9a7]

	* src/auth/auth.c:
	auth: Don't crash when using default static userdb.
	[fdca1c2cce01]

	* src/lib-ssl-iostream/iostream-openssl.c:
	lib-ssl-iostream: Some tweaks to BIO handling.
	[9380133c8531]

	* src/lib-storage/index/imapc/imapc-sync.c:
	imapc: Fixed assert-crashing when deleting a mailbox
	[f7de547a54d5]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Place index files under root_dir/indexes/ directory.
	[c943580d3a1b]

	* src/lib-index/mail-index-sync.c:
	lib-index: Don't allow syncing to begin if index is marked
	corrupted.
	[9815d3292470]

	* src/lib-ssl-iostream/ostream-openssl.c:
	lib-ssl-iostream: Handle flush_pending and set_max_buffer_size
	properly.
	[4b707b98176e]

	* src/lib-ssl-iostream/ostream-openssl.c:
	lib-ssl-iostream: Fixed ostream to preserve/use flush callback
	correctly.
	[de7f3810589a]

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: Switch connection output streams' ioloop when needed. This
	fixes hangs when output stream got full.
	[31471ce338ab]

	* src/lib-ssl-iostream/iostream-openssl.c:
	lib-ssl-iostream: When plain_output's buffer is full, set it flush-
	pending. This fixes hangs when the output buffer got full.
	[d96c03d7eeef]

	* src/lib-ssl-iostream/ostream-openssl.c, src/lib/ostream-file.c,
	src/lib/ostream-internal.h, src/lib/ostream.c, src/lib/ostream.h,
	src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib/ostream-zlib.c:
	Added o_stream_switch_ioloop() and implemented it to all ostreams.
	[977dcd541f69]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-list.h, src/lib-storage/index/imapc/imapc-
	storage.c:
	imapc: Connect to server immediately at startup and lookup hierarchy
	separator. If connecting to server fails, this makes it fail
	earlier. Also we don't have to worry about what to do later if
	hierarchy separator lookup fails.
	[e5570ee5d695]

	* src/lib-ssl-iostream/istream-openssl.c, src/lib-ssl-iostream
	/ostream-openssl.c:
	lib-ssl-iostream: When SSL i/ostream is closed, close also the plain
	stream.
	[0e1a65d30964]

	* src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h, src/lib-storage/index/imapc/imapc-sync.c:
	imapc: Don't crash if a newly seen uncommitted message is expunged.
	[3ae5d7e0a4b4]

	* src/lib-storage/index/imapc/imapc-mail.c, src/lib-
	storage/index/imapc/imapc-mailbox.c:
	imapc: Removed accidentally committed debug sleeps.
	[3828fa3b8fd4]

	* src/lib-ssl-iostream/iostream-ssl-none.c:
	lib-ssl-iostream: Fixed compiling when SSL is disabled.
	[513802d016a0]

	* src/lib-ssl-iostream/ostream-openssl.c:
	lib-ssl-iostream: Compiler warning fix.
	[fb03574ddd34]

2011-09-06  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Don't crash when trying to use imapc's subscription list for
	another namespace.
	[7ae9c4aa5edb]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: When mail_debug=yes logs userdb fields, hide values of
	all whose key contains "pass".
	[af6a6da91978]

	* src/lib-auth/auth-master.c:
	lib-auth: When debug logging auth input, hide values of all fields
	containing "pass" in key.
	[1180505cdcdb]

	* src/auth/auth-master-connection.c:
	auth: If auth_debug_passwords=no, hide values of userdb keys
	containing "pass" string.
	[7b115033405d]

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: Error logging fix when SSL handshake fails.
	[991ce1aed5f7]

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: Verify that SSL certificate matches the connected hostname.
	[e40d6b5ef97e]

	* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
	/iostream-ssl.h:
	lib-ssl-iostream: Added ssl_iostream_cert_match_name()
	[c3dc563c9800]

	* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
	/iostream-openssl.h, src/lib-ssl-iostream/istream-openssl.c, src
	/lib-ssl-iostream/ostream-openssl.c:
	lib-ssl-iostream: Code cleanups, fixes, asserts and comments.
	[6a3f3a5ad9a5]

2011-09-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-ssl-iostream/iostream-openssl.c:
	lib-ssl-iostream: Avoid assert-crashing when remote disconnects
	during write.
	[44bbbb238f2a]

	* src/lib-storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/maildir/maildir-sync.c:
	maildir: Avoid refreshing uidlist unnecessarily. Even if the uidlist
	itself wasn't read, it was still stat()ed.
	[4124c28db2a4]

	* src/lib-storage/index/maildir/maildir-sync.c:
	maildir: When logging "scanning took n secs" warning, log also why
	scan was done. This could help debugging why cur/ directory is
	sometimes scanned with maildir_very_dirty_syncs=yes (if the previous
	commit didn't fully solve it).
	[ae7a7282af83]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Drop internal new-flag from mails that have been moved from
	new/ to cur/. This avoids unnecessary cur/ directory scans.
	[ed8ed96cc828]

	* src/stats/mail-session.c:
	stats: Don't crash at deinit if there are still connected sessions.
	[361aafbd448c]

	* src/stats/mail-session.c:
	stats: If forcibly disconnecting a session, show the session's
	username also.
	[7669b0fbada5]

	* src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	imapc: mailbox_status now returns permanent flags/keywords as they
	are on remote server.
	[4ddbbfa1c515]

	* src/lib-storage/mailbox-keywords.c:
	lib-storage: mailbox_keyword_is_valid() returns now FALSE if keyword
	can't be created.
	[a5e47ce5a5a0]

	* src/lib-storage/index/index-status.c, src/lib-storage/mail-storage-
	private.h:
	lib-storage: Added mailbox.disallow_new_keywords and use it for
	mailbox_status.
	[d15b173688f9]

2011-09-04  Timo Sirainen  <tss@iki.fi>

	* src/stats/stats-settings.c:
	stats: Add stats_ prefix to all settings.
	[c979efcc13cf]

	* src/master/service-listen.c:
	master: fifos weren't created with correct user/group.
	[667b3e80acf5]

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: Another compiler warning fix.
	[7d1260ab78ac]

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: Compiler warning fix.
	[d504c507ba2f]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Fixed checking if mail is expunged.
	[5e3d217ceedf]

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: Syncing fixes
	[581597411f6b]

	* src/lib-storage/index/imapc/Makefile.am, src/lib-storage/index/imapc
	/imapc-client-private.h, src/lib-storage/index/imapc/imapc-client.c,
	src/lib-storage/index/imapc/imapc-client.h, src/lib-
	storage/index/imapc/imapc-connection.c, src/lib-storage/index/imapc
	/imapc-mail.c, src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-msgmap.c, src/lib-storage/index/imapc
	/imapc-msgmap.h, src/lib-storage/index/imapc/imapc-seqmap.c, src
	/lib-storage/index/imapc/imapc-seqmap.h, src/lib-storage/index/imapc
	/imapc-storage.h, src/lib-storage/index/imapc/imapc-sync.c, src/lib-
	storage/index/imapc/test-imapc-seqmap.c:
	imapc: Redesigned remote sequence <-> index file record mapping is
	done. The previous code didn't work when multiple connections
	modified the same index files.
	[26c38da7b7fc]

	* src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h, src/lib-storage/index/imapc/imapc-sync.c:
	imapc: Delay handling new messages and setting uidvalidity/uidnext
	until sync.
	[1da4bc23d4dc]

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: Never use box->view for syncing related purposes. The view
	isn't up to date when MAILBOX_SYNC_FLAG_NO_EXPUNGES is used to sync
	it. Instead always use a separate sync view.
	[5dac75d12c59]

	* src/lib-index/mail-index.c:
	lib-index: Fixed reopening index file that was marked as corrupted.
	[33dc66d4286d]

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-client.h, src/lib-storage/index/imapc
	/imapc-mail-fetch.c, src/lib-storage/index/imapc/imapc-mail.c, src
	/lib-storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc
	/imapc-storage.c, src/lib-storage/index/imapc/imapc-storage.h, src
	/lib-storage/index/imapc/imapc-sync.c:
	imapc: Fixed handling immediate changes when starting IDLE.
	[e404a1bef6bc]

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: Avoid assert-crashing if a new message's UID is smaller than
	next_uid.
	[b9c967c7d66b]

	* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h, src/lib-storage/index/imapc/imapc-sync.c:
	imapc: Error logging cleanups. Don't bother to log disconnection
	errors for NOOP.
	[7db3ed5e17ed]

	* src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	imapc: Fixed error handling while opening mailbox.
	[0b786a676453]

	* src/lib-index/mail-index.c, src/lib-index/mail-transaction-log.c,
	src/lib-index/mail-transaction-log.h:
	lib-index: When marking index corrupted, delete also transaction log
	file.
	[7b240ecc37b5]

	* src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.h:
	imapc: Fixed syncing external changes to mailbox when opening it.
	[f8d5f872498d]

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-client.h, src/lib-storage/index/imapc
	/imapc-storage.c:
	imapc: Added assert.
	[44e3c053f9f8]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Fixed IDLE handling.
	[e1a8ad9c83cd]

	* src/stats/mail-session.c:
	stats: Minor error message fix.
	[583023c4db60]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Use EXAMINE command when possible.
	[54318eaada67]

	* src/stats/mail-command.c:
	stats: Don't increase session stats based on command stats. This was
	buggy because the session stats were now increased twice. It could
	have been possible to keep doing this and on UPDATE-SESSION simply
	replace the old session stats, but that might still have caused the
	session stats to temporarily go too high and then drop down.
	[9434093229aa]

	* src/anvil/anvil-connection.c:
	anvil: Assert-crashfix at exit when there were fifo connections.
	[66453d942761]

	* src/stats/mail-command.c:
	stats: Don't assert-crash at exit if there are unfinished commands.
	[ddcf7d2f109a]

2011-09-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/Makefile.am:
	lib-sql: Don't link sql libraries to libdovecot-sql.so when building
	them as plugins.
	[d2b27eae9221]

2011-09-02  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Don't send delete to Solr if we're quite sure it doesn't
	exist.
	[338ba56340c0]

2011-09-01  Timo Sirainen  <tss@iki.fi>

	* src/stats/mail-command.c, src/stats/mail-session.c, src/stats/mail-
	stats.c, src/stats/mail-stats.h:
	stats: Log more verbosely what happened if stats shrink.
	[1c2d8da38a06]

	* src/plugins/stats/stats-plugin.c:
	stats plugin: Get disk I/O from getrusage(), not from /proc/self/io.
	They're pretty much the same values anyway, and getrusage() is more
	portable.
	[ea0b4da3ceef]

	* .hgsigs:
	Added signature for changeset 8ae243558677
	[c05ac0650e23]

	* .hgtags:
	Added tag 2.1.alpha1 for changeset 8ae243558677
	[0308a068353e]

	* configure.in:
	Released v2.1.alpha1.
	[8ae243558677] [2.1.alpha1]

	* src/lib/network.c:
	Make static analyzer happy.
	[7b293478f609]

	* src/doveadm/doveadm-stats.c:
	doveadm: Error handling fix
	[f4082acf2e5a]

	* NEWS:
	NEWS updated
	[3a4bc00b7027]

	* TODO:
	TODO updated
	[f0fb3cede05c]

	* src/plugins/stats/stats-connection.c, src/stats/client-export.c,
	src/stats/mail-session.c, src/stats/mail-stats.h:
	stats: Keep track of session's PIDs.
	[07f02f421588]

	* src/stats/client-export.c, src/stats/mail-command.c, src/stats/mail-
	domain.c, src/stats/mail-ip.c, src/stats/mail-session.c, src/stats
	/mail-stats.h, src/stats/mail-user.c:
	stats: Keep track of last_update in microsecond precision and export
	it as such.
	[fd68963a7add]

	* src/doveadm/doveadm-print.h, src/doveadm/doveadm-stats.c:
	doveadm: Change "stats dump" default formatter to "tab".
	[03ad86ec4ebd]

	* src/doveadm/doveadm-stats.c, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h:
	doveadm: Initial implementation of "stats top" command. Currently
	it's hard coded to assume ANSI compatible terminal.
	[0b7ab4965c91]

	* src/doveadm/doveadm-print-table.c:
	Increased initial memory pool size.
	[87ce8bba8731]

	* src/plugins/stats/stats-plugin.c, src/plugins/stats/stats-plugin.h:
	stats plugin: Send one no-change session update after changes. This
	tells the stats client that the session is idle now.
	[b595afb1338e]

	* src/stats/client-export.c:
	stats: Export CPU usecs prefixed with right number of zeros.
	[b43fe57b2de7]

	* src/doveadm/doveadm-stats.c:
	doveadm stats: Renamed "top" command to "dump" and allow giving any
	parameters to it.
	[55d34ec2e8ac]

	* src/stats/client-export.c:
	stats: Fixed dumping command stats.
	[5bd2deb87ccf]

	* src/stats/client-export.c, src/stats/mail-session.c,
	src/stats/main.c:
	stats: Fixed handling IP address stats.
	[f77ee6f0c42a]

	* src/plugins/imap-stats/imap-stats-plugin.c,
	src/plugins/stats/Makefile.am, src/plugins/stats/stats-plugin.c,
	src/plugins/stats/stats-plugin.h:
	stats plugin: Added stats_refresh and stats_track_cmds settings. The
	stats plugin is enabled only when refresh is set to non-zero. The
	imap_stats plugin tracks commands only when stats_track_cmds=yes.
	[ec6d171a54bd]

	* src/plugins/stats/stats-plugin.c:
	stats plugin: Optimized to lookup statistics only when necessary.
	[fafbd108008c]

	* src/plugins/stats/stats-plugin.c:
	stats: Don't attempt to track stats for autocreated users.
	[4d8cec7a7496]

	* src/lda/main.c, src/lib-storage/index/shared/shared-storage.c, src
	/lib-storage/mail-user.h, src/lmtp/client.c:
	lib-storage: Set struct mail_users.autocreated for raw/shared users.
	[f7f75a5a6abf]

	* src/plugins/stats/stats-plugin.c, src/plugins/stats/stats-plugin.h,
	src/stats/client-export.c, src/stats/mail-stats.c, src/stats/mail-
	stats.h:
	stats: Added more statistics fields (syscpu, page faults, context
	switches).
	[2211371a3de5]

	* src/doveadm/doveadm-stats.c:
	doveadm stats top: Don't hang if stats server doesn't send any
	statistics.
	[f5f7f7b48b6c]

2011-08-31  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-status.c:
	lib-storage: Recognize "flags" cache field in
	MAILBOX_METADATA_PRECACHE_FIELDS.
	[ceed6275222b]

	* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
	/fts-backend-solr.c:
	fts-solr: Fixed updating last indexed uid in fts header.
	[4a993091dcc7]

	* src/plugins/fts/fts-api-private.h, src/plugins/fts/fts-storage.c:
	fts: Removed unused code.
	[cb6fea1d6d07]

	* src/plugins/fts-lucene/fts-backend-lucene.c:
	fts-lucene: Fixed checking if optimize should be done directly or
	via indexer.
	[6c6834984a42]

	* src/doveadm/doveadm-dump-index.c, src/lib-index/mail-cache-
	compress.c, src/lib-index/mail-cache.c, src/lib-index/mail-cache.h,
	src/lib-storage/index/index-status.c, src/lib-storage/index/index-
	transaction.c:
	lib-index: Changed mail_cache_view_close() API to take pointer-to-
	pointer.
	[b355309955f4]

	* src/indexer/indexer-queue.c, src/indexer/master-connection.c,
	src/indexer/worker-connection.c:
	indexer: Send completion% status updates to clients.
	[986fdb5deb7a]

	* src/doveadm/doveadm-mail-index.c, src/indexer/master-connection.c,
	src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index
	/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-
	mail.c, src/lib-storage/index/imapc/imapc-mail.c, src/lib-
	storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src
	/lib-storage/index/index-status.c, src/lib-storage/index/index-
	sync.c, src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.h, src/lib-storage/mail.c, src/lib-storage/test-
	mail.c, src/plugins/fts-lucene/fts-backend-lucene.c,
	src/plugins/fts/Makefile.am, src/plugins/fts/fts-api-private.h,
	src/plugins/fts/fts-build-indexer.c, src/plugins/fts/fts-build-
	mail.c, src/plugins/fts/fts-build-mail.h, src/plugins/fts/fts-build-
	mailbox.c, src/plugins/fts/fts-build-private.h, src/plugins/fts/fts-
	build-virtual.c, src/plugins/fts/fts-build.c, src/plugins/fts/fts-
	build.h, src/plugins/fts/fts-indexer.c, src/plugins/fts/fts-
	indexer.h, src/plugins/fts/fts-storage.c, src/plugins/fts/fts-
	storage.h, src/plugins/virtual/virtual-mail.c, src/plugins/virtual
	/virtual-storage.c:
	Redesigned mail precaching APIs. There's no longer a one monolithic
	mailbox_sync(MAILBOX_SYNC_FLAG_PRECACHE) call, but rather one
	mail_precache() call for each mail to be precached. This allows the
	callers to show the progress and in general is cleaner.
	[51e9b2fb0596]

	* src/plugins/fts/fts-api.c:
	fts: Fixed checking settings compatibility with non-INBOX
	namespaces.
	[1a27e3a83f1e]

	* src/lib-index/mail-cache.c, src/lib-index/mail-cache.h:
	lib-index: Added mail_cache_exists()
	[11ff6a7eb576]

2011-08-30  Timo Sirainen  <tss@iki.fi>

	* src/auth/passdb-template.c, src/auth/passdb-template.h, src/auth
	/userdb-template.c, src/auth/userdb-template.h:
	auth: Added missing files from recent commit.
	[60f3d0b8900d]

	* src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-solr
	/fts-backend-solr-old.c, src/plugins/fts-solr/fts-backend-solr.c,
	src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts/fts-api-
	private.h, src/plugins/fts/fts-api.c, src/plugins/fts/fts-api.h,
	src/plugins/fts/fts-search.c:
	fts: Added lookup_done() API call. Lucene uses it to close the
	index. This way it Lucene doesn't keep the index files unnecessarily
	open forever.
	[31c8b0f1dbfd]

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: mailbox_get_guid() does now better error handling when read-
	only mbox doesn't have GUID.
	[8f22713b21cc]

	* src/plugins/fts-lucene/lucene-wrapper.cc, src/plugins/fts-solr/fts-
	backend-solr.c:
	fts-lucene, fts-solr: Try to optimize searching for existence of
	header name.
	[a9389aed85e5]

	* doc/example-config/conf.d/auth-ldap.conf.ext, doc/example-
	config/conf.d/auth-passwdfile.conf.ext, doc/example-config/conf.d
	/auth-system.conf.ext, src/auth/Makefile.am, src/auth/auth-
	request.c, src/auth/auth-settings.c, src/auth/auth-settings.h,
	src/auth/auth.c, src/auth/passdb-static.c, src/auth/passdb.c,
	src/auth/passdb.h, src/auth/userdb-passwd.c, src/auth/userdb-
	static.c, src/auth/userdb-static.h, src/auth/userdb.c,
	src/auth/userdb.h:
	auth: Added default_fields and override_fields settings to all
	passdbs and userdbs.
	[83ac50d3b76f]

	* src/lib-storage/index/index-sync.c, src/lib-storage/index/index-
	transaction.c, src/lib-storage/mail-storage.h:
	lib-storage: Added MAILBOX_TRANSACTION_FLAG_NO_CACHE_DEC and use it
	when precaching. The result is that "doveadm index" no longer
	changes caching decisions.
	[096406c67288]

	* src/lib-index/mail-cache-decisions.c, src/lib-index/mail-cache-
	private.h, src/lib-index/mail-cache.c, src/lib-index/mail-cache.h:
	lib-index: Added mail_cache_view_update_cache_decisions()
	[4a19aea565f7]

	* NEWS, TODO, configure.in, src/doveadm/doveadm-mail-list-iter.c,
	src/doveadm/server-connection.c, src/lib-index/mail-index.c, src
	/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-storage/index
	/dbox-single/sdbox-mail.c, src/lib-storage/index/mbox/mbox-mail.c,
	src/lib-storage/mailbox-list.c, src/login-common/client-common-
	auth.c:
	Merged changes from v2.0 tree.
	[548ef72c942f]

2011-08-29  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset aa68f38c04f0
	[e01c9f89b0b0]

	* .hgtags:
	Added tag 2.0.14 for changeset aa68f38c04f0
	[d30a79f4b5a4]

	* NEWS, TODO, configure.in:
	Released v2.0.14.
	[aa68f38c04f0] [2.0.14]

	* src/doveadm/doveadm-mail-server.c:
	doveadm: Proxying fix
	[3b7ef442595d]

	* src/doveadm/server-connection.c:
	doveadm: Fixed authentication with remote doveadm server.
	[c7dccec3eaa4]

	* src/doveadm/doveadm-director.c:
	doveadm: Added "director ring status" command.
	[00f9dd706a90]

	* src/director/doveadm-connection.c:
	director: Updated DIRECTOR-LIST doveadm command.
	[63680f6e21a2]

	* src/doveadm/doveadm-mail-list-iter.c:
	doveadm: Skip mailbox optimizations under OR search terms. This
	fixes problem with e.g. "mailbox foo or seen".
	[24516f31a75d]

	* src/lib-index/mail-index-write.c:
	lib-index: Error logging fix to previous commit.
	[32eb50cc35d4]

2011-08-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-write.c:
	lib-index: When creating dovecot.index.backup files, fdatasync()
	them first. Otherwise if the dovecot.index file had been written to
	recently, it could lose both the new and the old backup data.
	[f08bf97278ac]

	* src/lib-storage/index/dbox-single/sdbox-mail.c:
	sdbox: Avoid assert-crashing if mail being saved suddenly became
	corrupted.
	[de0ea56932e5]

	* src/lib-master/ipc-server.c:
	lib-master: Make sure ipc server fd isn't tried to be accessed after
	it's closed.
	[eaeb7bcfb51e]

	* src/util/rawlog.c:
	rawlog: Use the lib-master API calls.
	[d4effbfae49c]

	* src/lib-storage/index/mbox/mbox-mail.c:
	mbox: Avoid crashing when getting GUID or header-md5 in some
	conditions. mbox file can be opened and locked (especially with
	pop3_lock_session=yes) without actually creating a stream for it.
	[030394c74f54]

	* src/plugins/zlib/istream-zlib.c:
	zlib: Fixed reading concatenated .gz files.
	[35e4a547231c]

	* src/login-common/client-common-auth.c:
	login proxy: Fixed assert-crash on io_add() when client disconnects
	at a bad time.
	[39655869f2ee]

	* src/lib-lda/lmtp-client.c:
	lib-lda: Don't crash if remote disconnects during sending mail via
	LMTP.
	[2f988e370a41]

2011-08-18  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-purge.c:
	mdbox: Remove refcount=0 records from map index on the first purge
	(not second).
	[1449a2e2c1f5]

2011-08-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mailbox-list.c:
	lib-storage: Log alt path when mail_debug=yes
	[46bf11666cdd]

	* src/lib-index/mail-index-sync-update.c:
	lib-index: Optimized handling MAIL_TRANSACTION_EXPUNGE_GUID records
	in large index.
	[17d7aceda8ba]

2011-08-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index.c:
	mail_index_get_keywords() / status.keywords weren't actually
	guaranteed to be NULL terminated This could have caused crashes or
	garbage keywords be presented to clients in some situations.
	[ba03935cc599]

2011-08-28  Timo Sirainen  <tss@iki.fi>

	* configure.in:
	configure: Added --with-stemmer and output which fts backends are
	compiled.
	[57aeda3d94ad]

	* src/doveadm/doveadm-mail-import.c, src/doveadm/doveadm-mail-index.c,
	src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-mail-move.c,
	src/doveadm/doveadm-mail.c, src/dsync/dsync-worker-local.c, src/imap
	/cmd-select.c, src/imap/imap-commands-util.c, src/imap/imap-
	status.c, src/indexer/master-connection.c, src/lib-lda/mail-
	deliver.c, src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c,
	src/lib-storage/index/index-sync.c, src/lib-storage/index/maildir
	/maildir-save.c, src/lib-storage/index/maildir/maildir-sync.c, src
	/lib-storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox
	/mbox-sync.c, src/lib-storage/list/index-mailbox-list.c, src/lib-
	storage/list/mailbox-list-fs-iter.c, src/lib-storage/mail-storage.h,
	src/lib-storage/mailbox-guid-cache.c, src/lib-storage/mailbox-
	list.c, src/plugins/acl/doveadm-acl.c, src/plugins/fts-lucene
	/lucene-wrapper.cc, src/plugins/fts/fts-api.c, src/plugins/imap-acl
	/imap-acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c,
	src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/quota
	/quota-count.c, src/plugins/snarf/snarf-plugin.c, src/plugins/trash
	/trash-plugin.c, src/plugins/virtual/virtual-storage.c,
	src/plugins/virtual/virtual-sync.c, src/pop3/pop3-client.c:
	lib-storage: Replaced MAILBOX_FLAG_KEEP_RECENT flag with reverse
	MAILBOX_FLAG_DROP_RECENT. Very few places actually want to drop
	recent flags, so this way is easier.
	[9d152c0388ee]

	* src/plugins/stats/stats-plugin.c:
	stats plugin: Fixed stats connection reference counting.
	[1d93d6eb3958]

	* src/doveadm/doveadm-dump-index.c:
	doveadm dump: Updated fts_index_header.
	[89fe41c4fbfd]

	* src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-lucene
	/fts-lucene-plugin.c, src/plugins/fts-lucene/fts-lucene-plugin.h,
	src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: If default_language changes, reindex mailbox.
	[1f71afc29810]

	* src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-solr
	/fts-backend-solr-old.c, src/plugins/fts-solr/fts-backend-solr.c,
	src/plugins/fts/fts-api-private.h, src/plugins/fts/fts-api.c:
	fts: Changed private fts_index_header accessing APIs
	[9fa11cecd8c8]

	* src/plugins/stats/stats-plugin.c:
	stats plugin: Don't crash if stats collecting is disabled.
	[0b99dd56ebb1]

	* src/lib-storage/mail-user.c:
	lib-storage: Default mail_user.service (from NULL) to
	master_service.name.
	[58bfb3744ccc]

2011-08-27  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Error logging fix.
	[9b6580e9e26b]

2011-08-26  Timo Sirainen  <tss@iki.fi>

	* src/stats/mail-session.c:
	stats: Refresh idle timeout whenever session is updated.
	[dc5f038da30f]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-stats.c,
	src/doveadm/doveadm.c, src/doveadm/doveadm.h:
	doveadm: Added initial implementation of "stats top" command.
	[34e2190a56c6]

	* .hgignore, configure.in, src/Makefile.am, src/plugins/Makefile.am,
	src/plugins/imap-stats/Makefile.am, src/plugins/imap-stats/imap-
	stats-plugin.c, src/plugins/imap-stats/imap-stats-plugin.h,
	src/plugins/stats/Makefile.am, src/plugins/stats/stats-connection.c,
	src/plugins/stats/stats-connection.h, src/plugins/stats/stats-
	plugin.c, src/plugins/stats/stats-plugin.h, src/stats/Makefile.am,
	src/stats/client-export.c, src/stats/client-export.h,
	src/stats/client.c, src/stats/client.h, src/stats/global-memory.c,
	src/stats/global-memory.h, src/stats/mail-command.c, src/stats/mail-
	command.h, src/stats/mail-domain.c, src/stats/mail-domain.h,
	src/stats/mail-ip.c, src/stats/mail-ip.h, src/stats/mail-server-
	connection.c, src/stats/mail-server-connection.h, src/stats/mail-
	session.c, src/stats/mail-session.h, src/stats/mail-stats.c,
	src/stats/mail-stats.h, src/stats/mail-user.c, src/stats/mail-
	user.h, src/stats/main.c, src/stats/stats-settings.c, src/stats
	/stats-settings.h:
	Initial implementation of statistics gathering daemon and plugins to
	feed it. Some statistics are still missing, some of the code is a
	bit ugly and the internal protocols will probably still change.
	[c51fbe64eae1]

	* src/director/notify-connection.c, src/lib-master/master-service.c,
	src/log/log-connection.c:
	lib-master: Don't count FIFOs as clients anymore. We never see them
	disconnected. This fixes a problem with shutdown_clients=no when a
	closed director process could hang around forever waiting for the
	FIFO to close.
	[076a71f9a154]

	* src/master/service-listen.c:
	master: If fifo already exists, replace it to be sure it has proper
	permissions.
	[78f9f28b5d24]

	* src/imap/cmd-append.c, src/imap/cmd-uid.c, src/imap/imap-client.c,
	src/imap/imap-commands.c, src/imap/imap-commands.h:
	imap: Added hooks that can be run always before/after any command
	handler.
	[6eb42d5d0ce3]

	* src/lib/network.c, src/lib/network.h:
	liblib: Added IPADDR_BITS() macro.
	[d473660bc54d]

2011-08-25  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index
	/dbox-common/dbox-mail.c, src/lib-storage/index/dbox-multi/mdbox-
	mail.c, src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-
	storage/index/index-mail-headers.c, src/lib-storage/index/index-
	mail.c, src/lib-storage/index/index-search.c, src/lib-storage/index
	/istream-mail-stats.c, src/lib-storage/index/maildir/maildir-mail.c,
	src/lib-storage/index/raw/raw-mail.c, src/lib-storage/mail-storage-
	private.h:
	lib-storage: Moved all transaction stats_* to struct
	mailbox_transaction_stats.
	[4317429862e1]

	* src/lib/llist.h:
	liblib: Added _FULL versions of all linked list handling macros with
	prev and next params. This allows putting structs into multiple
	linked lists.
	[eaee3b8a98cf]

	* src/doveadm/doveadm-dump-index.c, src/doveadm/doveadm-mail-fetch.c,
	src/doveadm/doveadm-mail-mailbox-status.c, src/doveadm/doveadm-mail-
	search.c, src/dsync/dsync-brain-msgs.c, src/dsync/dsync-data.c,
	src/dsync/dsync-data.h, src/dsync/dsync-worker-local.c, src/dsync
	/test-dsync-brain-msgs.c, src/dsync/test-dsync-common.c, src/dsync
	/test-dsync-common.h, src/dsync/test-dsync-proxy-server-cmd.c,
	src/dsync/test-dsync-proxy.c, src/imap/imap-status.c, src/lib-index
	/mail-index-transaction-update.c, src/lib-index/mail-index.h, src
	/lib-index/mail-transaction-log.h, src/lib-index/mailbox-log.h, src
	/lib-index/test-mail-index-transaction-finish.c, src/lib-index/test-
	mail-index-transaction-update.c, src/lib-lda/mail-deliver.c, src
	/lib-lda/mail-deliver.h, src/lib-mail/mail-types.h, src/lib-
	storage/index/dbox-common/dbox-file-fix.c, src/lib-storage/index
	/dbox-common/dbox-save.c, src/lib-storage/index/dbox-common/dbox-
	save.h, src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-
	storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.h, src/lib-storage/index/dbox-multi/mdbox-
	sync.c, src/lib-storage/index/dbox-single/sdbox-copy.c, src/lib-
	storage/index/dbox-single/sdbox-file.c, src/lib-storage/index/dbox-
	single/sdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
	storage.c, src/lib-storage/index/dbox-single/sdbox-storage.h, src
	/lib-storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
	storage/index/index-attachment.c, src/lib-storage/index/index-
	mail.c, src/lib-storage/index/index-search.c, src/lib-storage/index
	/index-storage.c, src/lib-storage/index/index-sync-changes.c, src
	/lib-storage/index/index-sync-changes.h, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-uidlist.h, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/mbox/mbox-storage.h, src/lib-
	storage/index/mbox/mbox-sync.c, src/lib-storage/list/index-mailbox-
	list-status.c, src/lib-storage/list/index-mailbox-list.h, src/lib-
	storage/list/mailbox-list-fs.c, src/lib-storage/mail-storage.c, src
	/lib-storage/mail-storage.h, src/lib-storage/mail.c, src/lib-storage
	/mailbox-guid-cache.c, src/lib-storage/mailbox-guid-cache.h, src
	/lib-storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c,
	src/lib-storage/mailbox-list.h, src/lib-storage/test-mailbox-get.c,
	src/lib/Makefile.am, src/lib/guid.c, src/lib/guid.h,
	src/lmtp/client.c, src/plugins/fts-lucene/doveadm-fts-lucene.c,
	src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-lucene
	/lucene-wrapper.cc, src/plugins/fts-lucene/lucene-wrapper.h,
	src/plugins/fts/doveadm-dump-fts-expunge-log.c, src/plugins/fts/fts-
	api-private.h, src/plugins/fts/fts-api.c, src/plugins/fts/fts-
	expunge-log.c, src/plugins/fts/fts-expunge-log.h:
	Moved GUID code to liblib. Use guid_128_t type consistently
	everywhere.
	[957060ca5b69]

	* src/lib/ioloop.c, src/lib/ioloop.h:
	liblib: Added io_loop_get_current_context()
	[b6b16c9eb3d5]

	* src/lib-storage/mail-storage-service.c, src/lib/ioloop.c,
	src/lib/ioloop.h:
	liblib: io_loop_context_remove_callbacks() now requires also
	callbacks.
	[c17e4f8ddc81]

2011-08-24  Timo Sirainen  <tss@iki.fi>

	* NEWS:
	NEWS updated
	[a5edd3fe466b]

	* configure.in:
	configure: Removed accidentally committed stats directory.
	[12b70c1819a9]

	* configure.in, src/plugins/fts-lucene/Makefile.am, src/plugins/fts-
	lucene/doveadm-fts-lucene.c, src/plugins/fts-lucene/fts-backend-
	lucene.c, src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins
	/fts-lucene/fts-lucene-plugin.h, src/plugins/fts-lucene/lucene-
	wrapper.cc, src/plugins/fts-lucene/lucene-wrapper.h:
	fts-lucene: Added default_language setting and separated
	stemmer/textcat support.
	[c5bb5db9f541]

2011-08-23  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Add '/' suffix to textcat_dir if it's not already there.
	[f0e415c46490]

	* src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins/fts-lucene
	/lucene-wrapper.cc, src/plugins/fts-lucene/lucene-wrapper.h:
	fts-lucene: Free all Lucene's memory on plugin deinit.
	[0e2b79d2be59]

	* src/plugins/fts-lucene/Snowball.cc, src/plugins/fts-
	lucene/SnowballAnalyzer.h:
	fts-lucene: Fixed memory leak in snowball analyzer.
	[7d4e9c85ff2d]

	* src/indexer/worker-pool.c:
	indexer: Treat worker connections as client connections to avoid
	early idle-kills.
	[fa2425fd9cf4]

	* src/lib-master/master-service.c, src/lib-master/master-service.h:
	lib-master: Added master_service_client_connection_created()
	[030e33bde821]

2011-08-18  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-purge.c:
	mdbox: Remove refcount=0 records from map index on the first purge
	(not second).
	[c7fa03ee87c8]

	* src/lib-storage/mail-storage-service.c:
	Increased initial memory pool size.
	[e538fa0bdcbb]

	* src/indexer/worker-pool.c:
	indexer: Code cleanup
	[887bf77ae6f5]

2011-08-16  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Use TermQuery instead of PrefixQuery for searches.
	Although PrefixQuery gives a more IMAP-like result, it's slower and
	can fail if the prefix string is small.
	[38e333c52d99]

	* src/plugins/fts-lucene/doveadm-fts-lucene.c, src/plugins/fts-lucene
	/fts-backend-lucene.c, src/plugins/fts-lucene/lucene-wrapper.cc,
	src/plugins/fts-lucene/lucene-wrapper.h:
	fts-lucene: Automatically delete corrupted indexes and mark all
	mailboxes unindexed.
	[d4b6b0ebb200]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: doveadm fts rescan now resets "last indexed uid" for all
	mailboxes.
	[ff263750ce71]

	* src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-lucene
	/lucene-wrapper.cc:
	fts-lucene: Avoid unnecessarily creating the lucene-indexes
	directory.
	[4dff29fbc78d]

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-common/dbox-storage.h:
	dbox: Create symlink to alt root dir, and warn whenever it changes.
	[8aeeaf770612]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Don't crash on getting alt root dir, when no alt dir is
	specified.
	[da8da4a11039]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Log alt path when mail_debug=yes
	[1a40ebfedaa2]

	* src/lib-index/mail-index-sync-update.c:
	lib-index: Optimized handling MAIL_TRANSACTION_EXPUNGE_GUID records
	in large index.
	[ee151b7e0d5a]

	* src/plugins/fts-lucene/fts-backend-lucene.c:
	fts-lucene: Don't add messages to expunge log that aren't even in
	the index.
	[2d4175c9ff52]

	* src/plugins/fts-lucene/fts-backend-lucene.c:
	fts-lucene: Once enough messages have been deleted, trigger optimize
	via indexer.
	[86d752132290]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Yet another (final!) attempt at avoiding "Too Many
	Clauses" error.
	[8d38b23d77f8]

	* src/plugins/fts/fts-api-private.h, src/plugins/fts/fts-build-
	indexer.c:
	fts: Added fts_indexer_cmd() for easily sending commands to indexer.
	[c664dd8e248b]

	* src/indexer/indexer-client.c, src/indexer/indexer-queue.c,
	src/indexer/indexer-queue.h, src/indexer/indexer.c, src/indexer
	/master-connection.c, src/indexer/worker-connection.c, src/indexer
	/worker-connection.h:
	indexer: Added OPTIMIZE command to optimize fts index.
	[ad429a8311f4]

	* src/lib-storage/mail-storage.h, src/plugins/fts/fts-storage.c:
	lib-storage: Added MAILBOX_SYNC_FLAG_OPTIMIZE flag for triggering
	fts optimize. This is a pretty ugly kludge, since it does nothing
	when FTS isn't enabled..
	[bd0e2c2d0f1d]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Another attempt to avoid "Too Many Clauses" error by not
	using ? wildcard.
	[b0777f44c999]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Fix to previous change: actually use WildcardQuery, not
	TermQuery..
	[6b8ef63846d7]

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge: Avoid crashing if user init fails.
	[cddc09ae5e1d]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Use WildcardQuery rather than RangeQuery to limit what
	UIDs to fetch.
	[16d8a1c1543f]

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge: Fixed assert-crash when trying to open lazy-expunge
	mailbox.
	[f6c534c1baee]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: MAIL_STORAGE_SERVICE_FLAG_NO_LOG_INIT crashed after
	previous ioloop change.
	[9c76b6239fff]

	* src/plugins/fts/fts-parser-html.c:
	fts: Assert-crashfix to HTML parsing if the document ends with a
	small tag.
	[69cf3bb0b8e8]

	* src/lib-storage/mail-storage-service.c, src/lib/ioloop-internal.h,
	src/lib/ioloop-notify-dn.c, src/lib/ioloop-notify-inotify.c, src/lib
	/ioloop-notify-kqueue.c, src/lib/ioloop.c, src/lib/ioloop.h:
	Replaced "ioloop log" with a more generic "ioloop context". The
	context can call multiple callbacks that can do anything they want,
	including setting the log prefix.
	[32315c24992c]

	* src/lib-storage/index/index-search.c:
	lib-storage: Fixed assert-crash caused by previous stats change.
	[390f69281fb8]

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index
	/dbox-common/dbox-mail.c, src/lib-storage/index/dbox-multi/mdbox-
	mail.c, src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-
	storage/index/index-mail-headers.c, src/lib-storage/index/index-
	mail.c, src/lib-storage/index/index-search.c, src/lib-storage/index
	/istream-mail-stats.c, src/lib-storage/index/istream-mail-stats.h,
	src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/raw/raw-mail.c, src/lib-storage/mail-storage-
	private.h:
	lib-storage: Moved stats_* from mail to transaction. With the API
	changes to search, having them in mail doesn't make sense anymore,
	since mailbox_search_next() can return multiple different mails with
	different stats.
	[b7a6573dacca]

	* src/lib-storage/mail-storage.c:
	Compiler warning fix.
	[3936152ecc03]

2011-08-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Assert-crashfix when reading transaction log header fails
	with ESTALE.
	[e17f48dc9fc6]

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Avoid crashing when dealing with duplicate transaction
	log sequences.
	[d2890dd972ae]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Don't crash if expunging didn't actually do anything.
	[282bd80ce7b2]

	* doc/example-config/conf.d/10-auth.conf:
	example-config: Updated auth_username_format default to match
	reality.
	[717af808a752]

	* src/lib-storage/mail-copy.c:
	lib-storage: Fixed mail_storage_copy_can_use_hardlink() for
	mode=0600 with different uids.
	[3439fc65838a]

	* src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list
	/mailbox-list-maildir.c, src/lib-storage/mail-storage-private.h, src
	/lib-storage/mail-storage.c, src/lib-storage/mailbox-list.c, src
	/lib-storage/mailbox-list.h, src/plugins/acl/acl-backend-vfile.c:
	lib-storage: mailbox_list_get_permissions() now returns struct
	mailbox_permissions. Also added new file_uid and file_gid fields to
	the mailbox_permissions.
	[cc7cef1f6a21]

	* src/lib-storage/mail.c:
	Compiler warning fix.
	[584557ef2965]

	* src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-sync-private.h, src/lib-storage/index/mbox
	/mbox-sync.c:
	mbox: Generate mailbox GUID without syncing the mbox, locking it is
	enough.
	[e2379af31de1]

	* src/lib-storage/index/mbox/mbox-lock.c:
	mbox: Fixed crashing with pop3_lock_session=yes
	[68c7faa869f8]

2011-08-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage.c:
	lib-storage: Don't crash if INBOX is in a namespace with non-""
	non-"INBOX/" prefix.
	[5aee3be80d10]

	* src/plugins/fts-lucene/fts-backend-lucene.c:
	fts-lucene: doveadm fts rescan now also optimizes the index at the
	end.
	[e3337e8acbaf]

	* src/plugins/fts-solr/Makefile.am, src/plugins/fts-solr/fts-backend-
	solr-old.c:
	fts-solr-old: Mailbox names are mUTF-7 in the Solr index, not UTF-8.
	[d54365f9863b]

	* src/lib-imap/imap-utf7.c, src/lib-imap/imap-utf7.h:
	lib-imap: Added t_imap_utf8_to_utf7()
	[1a2ad02123f1]

	* src/indexer/indexer.c, src/indexer/worker-pool.c, src/indexer
	/worker-pool.h:
	indexer: Don't die on "idle kill signal" if workers are still busy.
	[221d159befec]

	* src/indexer/worker-connection.c:
	indexer: Potential crashfix on deinit.
	[0ef83aa215d3]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Actually delete messages from index on expunge/rescan.
	[956b19efefc4]

	* src/plugins/fts/fts-expunge-log.c:
	fts: fts_expunge_log_uid_count() returned garbage on nonexistent
	log.
	[3680e4a0ca95]

	* src/plugins/fts/fts-storage.c:
	fts: Memory leak fix
	[5d56c327752f]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Avoid crashing on doveadm dump.
	[8e57be54d45b]

	* src/plugins/fts-lucene/doveadm-fts-lucene.c:
	fts-lucene: Fixed doveadm dump's lucene-index detection.
	[7c088e4d56de]

2011-08-12  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-lucene
	/lucene-wrapper.cc, src/plugins/fts-lucene/lucene-wrapper.h:
	fts-lucene: Use fts expunge log instead of scanning the entire index
	for expunged mails.
	[bed970b4ca5e]

	* src/plugins/fts/doveadm-fts.c:
	fts: Added "doveadm fts rescan" command.
	[f4b565b76827]

	* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
	/fts-backend-solr.c, src/plugins/fts-squat/fts-backend-squat.c,
	src/plugins/fts/fts-api-private.h, src/plugins/fts/fts-api.c,
	src/plugins/fts/fts-api.h:
	fts: Added fts_backend_rescan()
	[fd2e6a08052a]

	* src/plugins/fts/Makefile.am, src/plugins/fts/doveadm-dump-fts-
	expunge-log.c, src/plugins/fts/doveadm-fts.c, src/plugins/fts
	/doveadm-fts.h, src/plugins/fts/fts-expunge-log.c, src/plugins/fts
	/fts-expunge-log.h:
	fts: Added generic "fts expunge log". This is intended to be used by
	fts backends that can't directly expunge from the index, but rather
	need to log the expunges and do the actual expunging later.

	Added also "doveadm dump" support for the log.
	[046090da4aaf]

	* src/plugins/fts-lucene/Makefile.am, src/plugins/fts-lucene/doveadm-
	fts-lucene.c, src/plugins/fts-lucene/lucene-wrapper.cc, src/plugins
	/fts-lucene/lucene-wrapper.h:
	fts-lucene: Added "doveadm dump" support for lucene index.
	[a50ac3a840a9]

	* src/lib-storage/mail-storage.h, src/lib-storage/mail.c, src/lib-
	storage/mailbox-guid-cache.c:
	lib-storage: Added mail_guid_128_hash/cmp()
	[271bbac3047d]

	* src/lib/hash.c, src/lib/hash.h:
	liblib: Added generic mem_hash()
	[83699b38229b]

2011-08-11  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts/Makefile.am, src/plugins/fts/doveadm-fts.c,
	src/plugins/fts/fts-storage.c, src/plugins/fts/fts-storage.h:
	fts: Added "doveadm fts optimize" command.
	[bf55c954ba3b]

	* src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-lucene
	/lucene-wrapper.cc, src/plugins/fts-lucene/lucene-wrapper.h:
	fts-lucene: Several fixes and improvements.
	[19d8ec0db2e3]

	* src/lib-storage/Makefile.am, src/lib-storage/mail-storage-private.h,
	src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h, src
	/lib-storage/mailbox-guid-cache.c, src/lib-storage/mailbox-guid-
	cache.h, src/lib-storage/mailbox-list-private.h, src/lib-storage
	/mailbox-list.c:
	lib-storage: Added mailbox_alloc_guid() for opening mailbox by its
	GUID.
	[7098642a0374]

	* src/lib-storage/index/index-storage.c, src/lib-storage/mail-storage-
	private.h:
	lib-storage: Added struct mailbox.generation_sequence. This can be
	used for caching struct mailbox pointers and checking later if two
	struct mailboxes + their generation sequences match. If they do,
	it's the same struct mailbox.
	[bd0e7cdbb6b2]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Store indexed header names lowercased so they can
	actually be searched.
	[a29438231cd2]

2011-08-10  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-squat/squat-trie.c:
	fts-squat: Assert-crashfix on indexing
	[0c60f139b09f]

	* src/imap/imap-status.c, src/lib-storage/index/imapc/imapc-seqmap.c,
	src/lib-storage/list/index-mailbox-list-status.c, src/lib-
	storage/list/index-mailbox-list.c:
	Removed dead code.
	[2c75688d093b]

	* src/lib-ssl-iostream/iostream-openssl.c:
	lib-ssl-iostream: ssl_iostream_get_security_string() didn't return
	compression.
	[074d564f9054]

	* src/plugins/fts-lucene/Makefile.am, src/plugins/fts/Makefile.am:
	Makefile fixes to include everything in dist
	[df09f521a972]

	* src/plugins/fts/fts-storage.c:
	fts: Increased initial memory pool size
	[8095a30c8ee2]

	* configure.in, src/lib-ssl-iostream/Makefile.am, src/lib-ssl-iostream
	/iostream-ssl-none.c:
	Fixed compiling without OpenSSL.
	[eb6d2fcca15b]

	* src/plugins/fts-lucene/textcat.conf:
	fts-lucene: Added missing textcat.conf
	[f7b10bfa6bbf]

	* src/lib-storage/index/index-status.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/index-sync.c:
	lib-storage: Fixed getting recent count for mailbox when it wasn't
	synced.
	[1fb6cc545575]

	* src/doveadm/doveadm-mail-index.c, src/indexer/master-connection.c:
	doveadm index -n: Don't sync mailbox when checking the recent count.
	The syncing alone can take a long time with huge maildirs. Better to
	be slightly wrong than waste a lot of time all the time.
	[e6eaf803ce09]

	* src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list.c:
	lib-storage: Fixes to handling INBOX/ namespace prefix.
	[076673c45e58]

	* src/indexer/indexer.c:
	indexer: Deinitialize without crashing when there are requests.
	[513ec6bf3fab]

	* src/indexer/worker-connection.c:
	indexer: Fix to handling disconnected worker.
	[f7c5ee1ef0c0]

	* src/plugins/fts/fts-parser-html.c:
	fts: Assert-crashfix to HTML parsing.
	[e2c6a2535b55]

	* src/plugins/fts/fts-parser-script.c:
	fts: Don't crash if application/octet-stream attachment doesn't have
	filename.
	[04d35b8bc764]

	* src/indexer/worker-connection.c:
	indexer: If worker disconnects, log whose requests were discarded.
	[0cc1cd6f9406]

	* src/indexer/worker-connection.c:
	indexer: Handle unexpected worker disconnections better.
	[fdd1599b5072]

	* src/doveadm/doveadm-mail-index.c:
	doveadm: The actual doveadm part of the previous commit..
	[3087d25c2f6b]

	* src/indexer/indexer-client.c, src/indexer/indexer-queue.c,
	src/indexer/indexer-queue.h, src/indexer/indexer.c, src/indexer
	/master-connection.c, src/indexer/worker-connection.c, src/indexer
	/worker-connection.h:
	doveadm index: Added -n parameter to specify max number of recent
	msgs to perform indexing. The idea is that if a user hasn't opened
	the mailbox for a long time (or ever), there's not much point in
	wasting time on doing indexing.
	[8dcb7c7f66d5]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Crashfix for handling header searches with stop words
	(etc).
	[753a8346e1ba]

2011-08-09  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota.c, src/util/script.c:
	script: Be sure to handle LF+LF properly.
	[048cb694759a]

	* src/util/script.c:
	script: Comment update
	[9a8c6cdcd5ca]

	* src/indexer/master-connection.c:
	indexer-worker: verbose_proctitle=yes now shows username+mailbox.
	[699d0cebaaa7]

	* src/plugins/fts/fts-search.c:
	fts: Data stack access fix.
	[3c4e3451fd2a]

	* src/indexer/indexer.c:
	indexer: Read configuration earlier while we still have privileges.
	[63ce98c611e4]

	* src/indexer/indexer-client.c, src/indexer/indexer-client.h,
	src/indexer/indexer-queue.c, src/indexer/indexer-queue.h,
	src/indexer/indexer.c, src/indexer/indexer.h:
	indexer: If verbose_proctitle=yes, show how many clients/requests
	there are.
	[af8c5e56d098]

	* src/plugins/fts-lucene/Makefile.am, src/plugins/fts-lucene/lucene-
	wrapper.cc:
	fts-lucene: Fixed compiling without textcat/snowball
	[c705f4fa7a77]

	* src/plugins/fts/fts-build-private.h, src/plugins/fts/fts-build.c:
	fts: Log how many messages were indexed.
	[8e0fb1d59be6]

	* src/lib-index/mail-index.h:
	lib-index: MAIL_INDEX_SYNC_FLAG_DELETING_INDEX comment updated
	[916974b550a3]

	* src/lib-index/mail-index-sync.c, src/lib-index/mail-index-
	transaction-private.h, src/lib-index/mail-index-transaction.c:
	lib-index: MAIL_INDEX_SYNC_FLAG_DELETING_INDEX now allows committing
	changes to deleted index. This fixes deleting mailboxes.
	[6db2f76bc493]

	* src/plugins/fts-lucene/fts-backend-lucene.c:
	fts-lucene: Crashfix when textcat wasn't enabled.
	[1de8c2e4adb2]

	* configure.in, src/plugins/fts-lucene/Makefile.am, src/plugins/fts-
	lucene/Snowball.cc, src/plugins/fts-lucene/SnowballAnalyzer.h,
	src/plugins/fts-lucene/SnowballFilter.h, src/plugins/fts-lucene/fts-
	backend-lucene.c, src/plugins/fts-lucene/fts-lucene-plugin.c,
	src/plugins/fts-lucene/fts-lucene-plugin.h, src/plugins/fts-lucene
	/lucene-wrapper.cc, src/plugins/fts-lucene/lucene-wrapper.h:
	fts-lucene: Added initial support for language detection and
	stemming. This requires textcat and snowball (libstemmer) libraries.
	This can be enabled by setting: fts_lucene =
	textcat_dir=/usr/share/libtextcat \
	textcat_conf=/etc/dovecot/textcat.conf

	I'm not yet sure how good of an idea it is to actually use this, so
	it needs some testing.. For example how bad is it if language is
	detected incorrectly?
	[b099ac847f86]

	* src/indexer/indexer-worker.c:
	indexer-worker: Added -D parameter to enable core dumps.
	[9d784aab6398]

	* src/plugins/fts/decode2text.sh:
	decode2text: If unzip fails, just ignore the attachment silently.
	[42cbd3f2e585]

	* src/plugins/fts/fts-parser-html.c:
	fts html parser: Assert-crashfix when parsing entities.
	[8608630a672e]

	* src/plugins/fts/decode2text.sh:
	decode2text: Ignore any errors from pdftotext
	[883e76d90355]

	* src/lib-storage/index/index-mail.c:
	Compile fix for CentOS 4.9 (and maybe others).
	[4996e834139f]

2011-08-07  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/client-connection.c, src/doveadm/doveadm-mail.c:
	doveadm-server: More fixes
	[c0b7dde5b193]

	* src/doveadm/client-connection.c, src/doveadm/doveadm-mail-server.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/doveadm
	/doveadm-print-server.c, src/doveadm/server-connection.c:
	doveadm-server: Many fixes to make it actually work properly.
	[09eb79247e71]

	* src/doveadm/doveadm-mail-index.c:
	doveadm index -q: Delay connecting to indexer.
	[4babc93e87ea]

	* src/doveadm/client-connection.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h:
	doveadm server: Fixed handling command parameters
	[8d25026689ca]

2011-08-05  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts/decode2text.sh:
	fts: decode2text.sh now ignores any errors from doc/xls/ppt
	decoders.
	[7dfa0ad16fa7]

2011-08-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/ipc-server.c:
	ipc client: Fixed crashing on ipc server disconnection.
	[b9b9d0711780]

	* src/lib-index/mail-index.c:
	mail_index_get_keywords() / status.keywords weren't actually
	guaranteed to be NULL terminated This could have caused crashes or
	garbage keywords be presented to clients in some situations.
	[bc4249cdf6d9]

	* src/pop3/pop3-commands.c:
	pop3: Fixed RETR/TOP commands.
	[083328ee8fcc]

	* src/plugins/fts-lucene/fts-backend-lucene.c:
	fts-lucene: Several fixes to avoid opening index during expunging.
	[e953b1e3a6ad]

	* src/plugins/fts/fts-api-private.h, src/plugins/fts/fts-storage.c:
	fts: Tell backends if we're currently in the code because we're
	syncing. That basically means it's either indexer process or doveadm
	index.
	[9eade7fa1dcb]

	* src/plugins/fts/fts-storage.c:
	fts: Maildir workaround to avoid assert-crash during indexing. This
	should be fixed by simply not having Maildir do a full sync when
	it's trying to find some file.
	[0360c990c397]

	* src/plugins/fts/fts-build.c:
	fts: Don't fail index build if trying to index a message that is
	already expunged.
	[5ddba16842c7]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Don't crash when trying to search an unsearchable word.
	[a767969ac1c8]

	* src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-lucene
	/lucene-wrapper.cc:
	fts-lucene: Fixed checking if we need to track expunges or optimize.
	[558a50f1c593]

	* src/plugins/fts-lucene/fts-backend-lucene.c:
	fts-lucene: Fixed handling expunges
	[5bd585b6f34d]

	* src/plugins/fts/fts-api.c:
	fts: Clear updating flag on update deinit.
	[43d77c1bf237]

	* src/plugins/fts/Makefile.am:
	fts: Define pkglibexecdir explicitly in Makefile.am, since older
	automakes don't.
	[0d6c7ef08ddf]

	* src/plugins/fts/decode2text.sh:
	fts: Added a bit more error checking to decode2text.sh
	[5d17181b1a2e]

	* src/plugins/fts/fts-storage.c:
	fts: force-resync now calls optimize on the backend. This mainly
	works with Lucene backend to recheck what messages actually exist.
	[216710c3736e]

	* src/plugins/fts/fts-build.c:
	fts: NULs weren't still handled correctly in message headers.
	[7481ea45b95f]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Don't crash if optimize can't open the index.
	[ed4f9475fa32]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: If optimize doesn't find an index, set all UIDs as
	missing.
	[4a537b1c32d4]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Delete stale write locks.
	[8e3c5e8d8de9]

	* src/plugins/fts/Makefile.am, src/plugins/fts/decode2text.sh:
	fts: Install decode2text to libexecdir.
	[84fbe111ff90]

	* src/plugins/fts/decode2text.sh:
	fts: decode2text added support for openxml and opendocument formats
	[43bf1283df78]

	* .hgignore, src/plugins/fts/Makefile.am, src/plugins/fts/xml2text.c:
	fts: Added xml2text binary
	[f89d7ac7bbcd]

	* src/plugins/fts/fts-parser-html.c:
	fts: HTML parser now makes sure space is added for each <tag> This
	could be smarter though, like not doing this for <span>, but it gets
	a bit complex..
	[81e6ba752d98]

2011-08-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	lib-storage: Don't crash listing subscription entry of "ns prefix"
	without separator.
	[9dccd061a8d9]

	* src/doveadm/doveadm-mail-server.c:
	doveadm server: Non-proxying mode may not have worked.
	[ddc99ce81343]

	* src/lib/eacces-error.c:
	eacces_error_get*(): Handle non-int struct stat.st_mode properly.
	[8aeff3210f8d]

	* src/imap/cmd-select.c, src/imap/imap-fetch-body.c, src/lib-lda/mail-
	deliver.c, src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-
	storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index/index-
	search.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/list/mailbox-list-fs.c, src/lib-storage/mail-namespace.c,
	src/lmtp/client.c, src/lmtp/commands.c, src/plugins/acl/doveadm-
	acl.c, src/plugins/imap-quota/imap-quota-plugin.c:
	Merged changes from v2.0 tree.
	[3b4612e2a25a]

2011-08-02  Timo Sirainen  <tss@iki.fi>

	* src/lib/ipwd.c:
	i_getgr*(): OpenBSD workaround is now only used for <5.0. Patch by
	Brad.
	[d7f76c266657]

2011-07-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-fs.c:
	lib-storage: renaming mailboxes under different parent was broken in
	fs layout If alt storage was used with sdbox or if index or control
	dirs were used, renaming "foo" to "bar/foo" would result "foo" not
	being renamed for those directories.
	[f42aac06a3df]

	* src/lib-storage/index/index-storage.c, src/lib-storage/mail-
	namespace.c:
	lib-storage: Removed unnecessary NULL checks.
	[94c6e1cd58f1]

2011-07-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-search.c:
	lib-storage: Fixed crashing on "NOT <nonexistent sequence>" search.
	[0e64f0217feb]

	* src/imap/imap-fetch-body.c:
	imap: FETCH BODY[HEADER.FIELDS (..)] may have tried to fetch garbage
	field names. Such situations were quite likely to cause a crash
	though.
	[a77d53d40ea3]

2011-07-27  Timo Sirainen  <tss@iki.fi>

	* src/plugins/imap-quota/imap-quota-plugin.c:
	imap-quota: Don't crash if invalid mailbox name is given to
	GETQUOTAROOT.
	[b383271890fe]

2011-07-12  Timo Sirainen  <tss@iki.fi>

	* src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h:
	lib-lda: Do INBOX GUID deduplication based on mailbox GUID, not
	username. This should be a bit more reliable.
	[e6300c6a5814]

	* src/lib-mail/mail-types.h:
	lib-mail: Make a mail_guid_128_t typedef.
	[aaffc1bf6c65]

2011-06-30  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/client.c:
	lmtp: Error message update
	[537d4b6d9a7a]

	* src/lib-lda/lmtp-client.c:
	lmtp client: Do corking when sending message data.
	[36e7ded2ef0b]

	* src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c:
	lmtp: Log the current state in disconnect message.
	[1b1fc681a277]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Fixed /chroot/./home style chrooting from userdb home.
	[1d78d2a4e8d1]

	* src/lib/failures.c:
	liblib: Don't try to send a log prefix to log process if there is
	none.
	[ed0688858e59]

2011-06-28  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-server.c:
	doveadm: Fixed displaying output when using -A or -u wildcards.
	[02d97fb66047]

	* src/plugins/acl/doveadm-acl.c:
	doveadm acl: Updated usage string.
	[aa9b50f6a92b]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Changed userdb +key=value to key+=value
	[4285147ed694]

	* src/lib-lda/smtp-client.c:
	lib-lda: waitpid() for executed sendmail binary wasn't called
	correctly. It may have failed with -ECHILD, if the sendmail binary
	itself forked other processes.
	[748b0fd169d1]

	* src/imap/cmd-select.c:
	imap: Don't crash if mailbox UIDVALIDITY is zero when SELECTing a
	mailbox.
	[0535d79ea686]

	* src/lib-storage/index/dbox-multi/mdbox-mail.c:
	mdbox: Minor code cleanup.
	[01d43e0b2420]

	* src/lib-storage/index/dbox-multi/mdbox-sync.c:
	mdbox: Log an error if uidvalidity=0 unexpectedly.
	[028b953e7040]

2011-08-03  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts/fts-build.c, src/plugins/fts/fts-parser.c,
	src/plugins/fts/fts-parser.h:
	fts: Don't pass NUL bytes to FTS backend. It can confuse them.
	[4ed44f06c54c]

	* src/plugins/fts/fts-parser-html.c:
	fts: Fixed a crash in HTML parser.
	[62c8eadd09d2]

	* src/plugins/fts/fts-parser-script.c:
	fts: Crashfix.
	[5b7cc753f7c8]

2011-07-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mailbox-list.c:
	lib-storage: mailbox_list_mailbox() now returns INBOX as nonexistent
	if it physically doesn't exist. This is important for
	MAILBOX_LIST_ITER_NO_AUTO_BOXES to work correctly with Maildir++
	layout INBOX.
	[0a0f962c1a6f]

	* src/imap/cmd-subscribe.c, src/lib-storage/index/index-storage.c, src
	/lib-storage/index/index-storage.h, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/list/mailbox-list-fs-iter.c, src
	/lib-storage/mail-storage-private.h, src/lib-storage/mail-storage.c,
	src/lib-storage/mail-storage.h, src/lib-storage/test-mailbox.c,
	src/plugins/acl/acl-mailbox.c, src/plugins/autocreate/autocreate-
	plugin.c, src/plugins/virtual/virtual-storage.c:
	lib-storage: Added auto_boxes parameter to mailbox_exists().
	[4dca25ea4a1c]

	* src/lib-storage/test-mail.c:
	lib-storage: Unit test fix
	[45e3d5be6ed8]

	* src/dsync/dsync-worker-local.c:
	dsync: Crashfix
	[6f43ee658efb]

2011-07-28  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts/Makefile.am, src/plugins/fts/decode2text.sh,
	src/plugins/fts/fts-build.c, src/plugins/fts/fts-parser-html.c,
	src/plugins/fts/fts-parser-script.c, src/plugins/fts/fts-parser.c,
	src/plugins/fts/fts-parser.h:
	fts: Added attachment decoding via an external script.
	[bbb023aa1efd]

	* src/lib-mail/message-decoder.c, src/lib-mail/message-decoder.h:
	lib-mail: Added message_decoder_set_return_binary()
	[15082db3225a]

	* src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index
	/dbox-common/dbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	save.c, src/lib-storage/index/dbox-single/sdbox-copy.c, src/lib-
	storage/index/imapc/imapc-mail.c, src/lib-storage/index/index-
	mail.c, src/lib-storage/index/index-mail.h, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/mbox
	/mbox-mail.c, src/lib-storage/index/mbox/mbox-save.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail.c,
	src/plugins/virtual/virtual-mail.c:
	lib-storage: mail->saving was set too late, which could have caused
	crashes.
	[06873db0bfef]

	* src/lmtp/client.c:
	lmtp: Crashfix
	[222cc828c31f]

	* src/plugins/quota/quota.c, src/util/script.c:
	"script" service API changed to provide more functionality.
	[7440d6e1577f]

	* src/lib-storage/index/dbox-multi/mdbox-map.c:
	mdbox: Crashfix
	[3156e6616e83]

2011-07-27  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts/Makefile.am, src/plugins/fts/fts-build-private.h,
	src/plugins/fts/fts-build.c, src/plugins/fts/fts-parser-html.c,
	src/plugins/fts/fts-parser.c, src/plugins/fts/fts-parser.h,
	src/plugins/fts/html-entities.h:
	fts: Strip text/html mails to plaintext before sending them to FTS
	backend.
	[f4a5e66be05b]

	* doc/solr-schema.xml:
	solr-schema: Version number is Solr's schema version, not Dovecot
	version.
	[fa852748e601]

2011-07-26  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/imap/imap-search.c, src/imap/imap-search.h:
	IMAP: Implemented the rest of FUZZY extension.
	[04716e20f44f]

	* src/lib-storage/index/index-sort.c:
	lib-storage: Sorting by relevancy returned messages in reverse
	order.
	[2e15e70f5f2d]

	* src/imap/cmd-sort.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-sort.c, src/lib-storage/mail-storage.h,
	src/plugins/fts/fts-storage.c:
	s/search score/search relevancy/
	[10dcd83cd77d]

	* src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Added fuzzy search support.
	[7417163fada0]

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Added fuzzy search support.
	[2beef586a46a]

	* src/lib-storage/mail-search-register-imap.c, src/lib-storage/mail-
	search.h:
	lib-storage: Added FUZZY search key that adds fuzzy=TRUE to its
	child args.
	[2ab237202629]

	* src/lib-storage/mail-search-build.c, src/lib-storage/mail-search-
	build.h, src/lib-storage/mail-search-register-imap.c:
	lib-storage: Search query building no longer converts strings to
	decomposed titlecase.
	[a16971f5937b]

	* src/plugins/fts-squat/fts-backend-squat.c:
	fts-squat: Convert search key to decomposed titlecase instead of
	assuming it is.
	[254bcfcb64b1]

	* src/lib-mail/message-search.c, src/lib-mail/message-search.h:
	lib-mail: message_search_init() now converts search key to
	decomposed titlecase.
	[87430246c3e1]

	* src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts/fts-api-
	private.h, src/plugins/fts/fts-build-private.h, src/plugins/fts/fts-
	build.c:
	fts: Convert input text to decomposed titlecase only for Squat
	backend. Lucene and Solr can handle case-insensitivity internally.
	[e6eac5f1e21b]

2011-07-22  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-dump-index.c:
	doveadm dump: Added fts support.
	[2224c74b0187]

	* src/plugins/fts/fts-build.c:
	fts: Make sure build_more() is called at least once, even when
	message is 0 bytes.
	[88f1c971f3a9]

	* src/plugins/fts/fts-api.c:
	fts: Make sure fts_index_get_last_uid() gets the latest value from
	index.
	[ed7f134a9429]

	* configure.in, doc/solr-schema.xml, src/plugins/fts-lucene/fts-
	backend-lucene.c, src/plugins/fts-lucene/lucene-wrapper.cc,
	src/plugins/fts-lucene/lucene-wrapper.h, src/plugins/fts-
	solr/Makefile.am, src/plugins/fts-solr/fts-backend-solr-old.c,
	src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts-solr/fts-
	solr-plugin.c, src/plugins/fts-solr/fts-solr-plugin.h, src/plugins
	/fts-solr/solr-connection.c, src/plugins/fts-solr/solr-connection.h,
	src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts-squat
	/squat-test.c, src/plugins/fts-squat/squat-trie.c, src/plugins/fts-
	squat/squat-trie.h, src/plugins/fts/Makefile.am, src/plugins/fts
	/fts-api-private.h, src/plugins/fts/fts-api.c, src/plugins/fts/fts-
	api.h, src/plugins/fts/fts-build-indexer.c, src/plugins/fts/fts-
	build-mailbox.c, src/plugins/fts/fts-build-private.h,
	src/plugins/fts/fts-build-virtual.c, src/plugins/fts/fts-build.c,
	src/plugins/fts/fts-build.h, src/plugins/fts/fts-mailbox.c,
	src/plugins/fts/fts-mailbox.h, src/plugins/fts/fts-plugin.c,
	src/plugins/fts/fts-plugin.h, src/plugins/fts/fts-search-
	serialize.c, src/plugins/fts/fts-search-serialize.h, src/plugins/fts
	/fts-search.c, src/plugins/fts/fts-storage.c, src/plugins/fts/fts-
	storage.h, src/plugins/virtual/virtual-storage.c,
	src/plugins/virtual/virtual-storage.h:
	fts: Redesigned/enhanced FTS API and how virtual plugin works with
	it. The changes include:

	 - Only indexer process and "doveadm index" do FTS indexing now.
	Other processes connect to the indexer process via UNIX socket and
	request indexing a specific mailbox.

	 - FTS backends can now index/search any search key. Current
	backends implement indexing for some specific header fields
	(Subject, From, To, Cc, Bcc), but it would also be possible to add
	indexing for e.g. message size or date.

	 - CLucene support is fixed and fully functional.

	 - Solr is split to "solr" and "solr_old" backends. The new "solr"
	backend supports the new header fields. It also uses mailbox GUIDs
	as mailbox identifiers, so that renaming a mailbox doesn't require
	reindexing. The "solr_old" uses the old Solr schema and doesn't
	support any new features.
	[7b9978eb6f91]

	* src/lib/unichar.c, src/lib/unichar.h:
	Added uni_utf8_strlen().
	[fbd680c37b6a]

	* src/lib-storage/mail-storage.c:
	lib-storage: mailbox_exists() now returns NOSELECT for invalid
	mailbox names instead of error.
	[3a12ac2413e2]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	lib-storage: Error handling fix for FS layout.
	[c2aec00f40c5]

	* src/lib-mail/message-address.c, src/lib-mail/message-address.h:
	lib-mail: Added message_header_is_address()
	[e07c5cb0ae60]

	* src/indexer/Makefile.am:
	indexer: Fixed loading some plugins when using configure --without-
	shared-libs.
	[e2b6f9cb6e2a]

	* src/indexer/indexer-client.c:
	indexer: Send OK reply to client with the given tag.
	[268f76a75e51]

	* src/indexer/worker-connection.c:
	indexer: When worker disconnects, forget which user it was attached
	to. This fixes an assert crash.
	[4049efa22afa]

2011-07-02  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-list-iter.c, src/imap/imap-search-args.c,
	src/lib-storage/index/index-search.c, src/lib-storage/mail-search-
	build.c, src/lib-storage/mail-search-register-imap.c, src/lib-
	storage/mail-search.c, src/lib-storage/mail-search.h,
	src/plugins/fts/fts-search.c:
	lib-storage: Renamed mail_search_arg.not to match_not. C++ compilers
	don't like the "not".
	[252f64964403]

	* src/lib-storage/mailbox-list-private.h, src/lib-storage/mailbox-
	list.h:
	lib-storage: Made mailbox_list_mkdir_root() public
	[ea794250b826]

	* src/lib-storage/index/dbox-common/dbox-sync-rebuild.c, src/lib-
	storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index/maildir
	/maildir-util.c, src/lib-storage/list/subscription-file.c, src/lib-
	storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src
	/lib-storage/mailbox-list.h, src/plugins/acl/acl-backend-vfile-
	acllist.c:
	lib-storage: mkdir APIs changed.
	[c4bac1e48611]

2011-06-30  Timo Sirainen  <tss@iki.fi>

	* src/auth/Makefile.am, src/lib-sql/Makefile.am:
	Fixed compiling ldap/sql/gssapi plugins. I couldn't figure out any
	way to disable NOPLUGIN_FLAGS only for those plugins, so those flags
	are now always disabled for lib-sql library and auth binaries.
	[b4e3875772f7]

2011-06-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-sync.c:
	imapc: Fixed previous UID EXPUNGE fix.
	[e849081d732e]

	* src/lib-storage/index/imapc/imapc-sync.c:
	imapc: Fixed using UID EXPUNGE for multiple messages
	[60dd5c629c84]

2011-06-27  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-solr
	/fts-backend-solr.c, src/plugins/fts-solr/fts-solr-plugin.c,
	src/plugins/fts-solr/fts-solr-plugin.h, src/plugins/fts-squat/fts-
	backend-squat.c, src/plugins/fts-squat/squat-trie.c, src/plugins
	/fts-squat/squat-trie.h, src/plugins/fts/fts-api-private.h,
	src/plugins/fts/fts-api.c, src/plugins/fts/fts-api.h,
	src/plugins/fts/fts-search.c, src/plugins/fts/fts-storage.h:
	fts: Replaced unnecessary lock()/unlock() from API with refresh()
	[2f11a7252816]

	* src/lib-storage/index/index-search.c, src/lib-storage/mail-search-
	register-imap.c, src/lib-storage/mail-search.c, src/lib-storage
	/mail-search.h, src/plugins/fts/fts-search.c, src/plugins/fts/fts-
	storage.c, src/plugins/fts/fts-storage.h:
	fts: Removed the separation of "substring" and "fast" fts backends
	and search keys. No one wants to use two separate backends and it
	just makes the code more difficult.
	[afacdeddfbec]

	* src/doveadm/doveadm-mail-index.c:
	doveadm index: Added -q option to do indexing via the new indexer
	service.
	[683751c6357e]

	* .hgignore, configure.in, src/Makefile.am, src/indexer/Makefile.am,
	src/indexer/indexer-client.c, src/indexer/indexer-client.h,
	src/indexer/indexer-queue.c, src/indexer/indexer-queue.h,
	src/indexer/indexer-settings.c, src/indexer/indexer-worker-
	settings.c, src/indexer/indexer-worker.c, src/indexer/indexer.c,
	src/indexer/indexer.h, src/indexer/master-connection.c, src/indexer
	/master-connection.h, src/indexer/worker-connection.c, src/indexer
	/worker-connection.h, src/indexer/worker-pool.c, src/indexer/worker-
	pool.h:
	Added "indexer" service, which uses worker processes to perform
	queued mailbox indexing. Only a single worker process will index the
	same user at the same time. This avoids lock waits, especially when
	doing full text search indexing with backends that require locking.
	[0faaceb2f83c]

	* src/lib/strescape.c, src/lib/strescape.h:
	liblib: Added [tp]_strsplit_tabescaped()
	[e07d2e37053d]

	* src/lib-master/master-service-private.h, src/lib-master/master-
	service.c, src/lib-master/master-service.h:
	lib-master: Added master_service_set_idle_die_callback()
	[c55ea4fc3344]

	* src/lib-master/master-interface.h, src/lib-master/master-service-
	private.h, src/lib-master/master-service.c, src/lib-master/master-
	service.h, src/master/service-process.c:
	master process now tells its children their service's process_limit.
	[a5ab569ee4cd]

2011-06-26  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-index.c, src/lib-storage/index/index-sync-
	private.h, src/lib-storage/index/index-sync.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.h, src/plugins/fts
	/fts-storage.c:
	Merged changes from v2.0 tree.
	[f97a4ef02d6b]

	* src/doveadm/doveadm-mail-index.c:
	doveadm: Minor code cleanup
	[0adf8c1731e6]

2011-06-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Fixed +key=value support to actually work.
	[3d07ab746a67]

	* src/lib-storage/index/index-sync.c:
	lib-storage: MAILBOX_SYNC_FLAG_PRECACHE did nothing when
	mail_debug=yes
	[fcc4ff5b83c4]

2011-06-16  Timo Sirainen  <tss@iki.fi>

	* src/ssl-params/main.c:
	ssl-params: Make sure we don't leak a timeout.
	[327486d79620]

2011-06-14  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-index.c, src/lib-storage/index/index-
	sync.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.h, src/plugins/fts/fts-storage.c:
	Moved the main functionality from "doveadm index" to
	MAILBOX_SYNC_FLAG_PRECACHE This also allows plugins to hook into the
	sync and implement their own precaching easily. fts indexing is now
	done this way rather than kludging.
	[8c76426a9e53]

2011-06-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage.c:
	lib-storage: Error message fix.
	[79002b020df2]

	* src/lib-storage/mail-storage.c:
	lib-storage: Treat "INBOX" in INBOX/children also case-
	insensitively.
	[e8313c6b839b]

2011-06-14  Timo Sirainen  <tss@iki.fi>

	* NEWS, configure.in, src/Makefile.am, src/auth/db-ldap.c, src/config
	/old-set-parser.c, src/doveadm/Makefile.am, src/doveadm/doveadm-
	mail-index.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-
	mail.h, src/imap/cmd-append.c, src/imap/cmd-delete.c, src/imap/cmd-
	rename.c, src/imap/imap-commands-util.c, src/lda/main.c, src/lib-
	storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox-multi
	/mdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-mail.c, src
	/lib-storage/index/imapc/imapc-mail.c, src/lib-storage/index/index-
	mail.c, src/lib-storage/index/index-mail.h, src/lib-storage/index
	/index-sort.c, src/lib-storage/index/index-sync.c, src/lib-
	storage/index/index-transaction.c, src/lib-storage/index/maildir
	/maildir-mail.c, src/lib-storage/index/maildir/maildir-uidlist.h,
	src/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw
	/raw-mail.c, src/lib-storage/list/mailbox-list-none.c, src/lib-
	storage/list/mailbox-list-subscriptions.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.h, src/lib-
	storage/mail.c, src/lib-storage/test-mail.c, src/lmtp/commands.c,
	src/login-common/login-proxy.c, src/login-common/login-settings.c,
	src/master/main.c, src/master/master-settings.c, src/plugins/acl
	/acl-mailbox-list.c, src/plugins/acl/doveadm-acl.c, src/plugins/fts-
	lucene/Makefile.am, src/plugins/fts/fts-storage.c,
	src/plugins/virtual/virtual-mail.c, src/pop3/pop3-client.c,
	src/pop3/pop3-commands.c:
	Merged changes from v2.0 tree.
	[d686decbc1a4]

2011-06-13  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/commands.c:
	lmtp: Fixed parsing quoted strings with spaces as local-part for
	MAIL FROM and RCPT TO.
	[09b8701362a4]

2011-06-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-sync.c:
	lib-storage: When "Recent flags state corrupted" happens, avoid
	assert-crashing afterwards.
	[3e1ee816271d]

2011-06-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Allow appending to existing settings via userdb extra
	fields. "foo=bar" replaces the setting, while "+foo=bar" appends to
	the setting.
	[778067e9ccc2]

	* src/auth/passdb-vpopmail.c:
	vpopmail: Fixed opening SMTP relays. Also don't even try to open
	IPv6 relays, since vpopmail becomes an open relay then. Based on
	patch by Matt Brookings.
	[8e5d8c4b103d]

2011-06-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Fixed mail_chroot to work when process was already
	chrooted there.
	[ed05316ed441]

	* src/auth/db-ldap.c:
	ldap: Fixed random assert-crashing with with sasl_bind=yes.
	[c0734f08b3f3]

2011-06-06  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-cache.c, src/auth/mech-winbind.c, src/doveadm/doveadm-
	mail.c, src/lib-master/master-service.c, src/lib/child-wait.c,
	src/log/main.c, src/master/main.c, src/ssl-params/main.c,
	src/util/maildirlock.c:
	Use SA_RESTART flag for signals wherever possible. Only SIGTERM (and
	SIGINT for standalone programs) shouldn't use it.
	[6fdee880c5dc]

	* src/lib/lib-signals.c, src/lib/lib-signals.h:
	lib_signals_set_handler(): Changed API to take flags instead of
	boolean. This is still compatible with the old API, because using
	FALSE/TRUE as the flags still maps to the same behavior.
	[86e4023d08e4]

	* src/lib/lib-signals.c:
	lib-signals: Removed unnecessary code.
	[0c6a9b907656]

2011-06-03  Timo Sirainen  <tss@iki.fi>

	* src/util/script-login.c:
	script-login: When not using "-d" parameter, don't do unnecessary
	config lookup.
	[a2d57b43ccb2]

	* src/plugins/acl/doveadm-acl.c:
	doveadm acl debug: Show also path to mailbox if it doens't exist.
	[5b03ca65f4ed]

	* src/config/settings-get.pl, src/master/master-settings.c:
	master: Fail at startup if default_login_user or
	default_internal_user doesn't exist.
	[99da5f4f375d]

	* src/lib/eacces-error.c:
	eacces_get_error(): Give even better error message for directory
	permission errors.
	[d339aeb782ed]

	* src/lib/eacces-error.c:
	eaccess_get_error(): Show also directory mode.
	[17d8e1f12901]

	* src/lib/eacces-error.c:
	eaccess_get_error(): Fixes to reporting dir permissions. Also fixed
	an infinite loop if stat("/") fails.
	[12e3e8570d77]

	* src/imap/imap-commands-util.c:
	IMAP: Treat also "inbox/" case-insensitively as invalid mailbox
	name.
	[1c9b54de43f2]

	* src/imap/imap-commands-util.c:
	IMAP: Treat "namespace prefix/" as invalid mailbox name.
	[e371cb27c5b6]

	* .hgignore:
	.hgignore updated
	[4bc98c94883f]

	* src/director/director-connection.c:
	Compiler warning fix.
	[66e3cc789efb]

	* src/doveadm/doveadm-print.c:
	doveadm -A: Crashfix for doveadm server when using commands that
	print nothing.
	[0e1254dcf86b]

2011-05-31  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-lucene/Makefile.am, src/plugins/fts-lucene/fts-
	backend-lucene.c, src/plugins/fts-lucene/lucene-wrapper.cc:
	fts-lucene: Fixes to work with CLucene v2.3.3.4 and new FTS API.
	It's still not recommended to actually use this.
	[9ae30e5d6935]

	* src/lib/unichar.c, src/lib/unichar.h:
	liblib: Added uni_utf8_to_ucs4_n().
	[7a7c22755b7a]

2011-05-24  Timo Sirainen  <tss@iki.fi>

	* src/director/director.c, src/doveadm/doveadm-proxy.c, src/login-
	common/login-proxy.c:
	doveadm proxy: s/kill/kick/ and related internal code changes.
	Mainly for consistency, because "doveadm kick" already existed.
	[936f6c2ddfdd]

2011-05-23  Timo Sirainen  <tss@iki.fi>

	* configure.in:
	configure: Added missing ipc
	[9127a988acb8]

	* src/director/director.c:
	director: Changed the "user killed" delay from 12 secs to 2 secs. It
	was 12 secs only for testing.
	[2bfdd566c149]

	* src/ipc/client.c, src/ipc/ipc-group.c, src/ipc/ipc-group.h:
	ipc: Fixes when sending commands to an empty group.
	[6bb200302acd]

	* src/director/director-connection.c, src/director/director-request.c,
	src/director/director-test.sh, src/director/director.c,
	src/director/director.h, src/director/doveadm-connection.c,
	src/director/user-directory.c, src/director/user-directory.h,
	src/doveadm/doveadm-director.c, src/login-common/login-proxy.c:
	director: Added support for moving user to another server with
	"doveadm director move".
	[79f9dce5d5fd]

2011-05-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-mail/message-header-parser.c:
	message header parser: Allow NULs in header name also when header is
	missing ':'. This doesn't fix any crashes/corruption unlike the
	earlier fix, but it makes the code more correct. Although it might
	help with mbox rewriting seeing some size mismatches (or might not).
	[f8c378e8b461]

	* src/login-common/login-proxy.c:
	login proxy: Show in disconnect reason who did the disconnection and
	possible error.
	[d1c2cc4c513d]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-proxy.c,
	src/doveadm/doveadm.c, src/doveadm/doveadm.h:
	doveadm: Added "proxy list" and "proxy kill" commands.
	[f2874eef6b0b]

	* src/login-common/login-proxy.c:
	login proxy: Connect to IPC server and implement KILL and LIST
	commands.
	[e4f7fb3b5a9c]

	* src/Makefile.am, src/ipc/Makefile.am, src/ipc/client.c,
	src/ipc/client.h, src/ipc/ipc-connection.c, src/ipc/ipc-
	connection.h, src/ipc/ipc-group.c, src/ipc/ipc-group.h, src/ipc/ipc-
	settings.c, src/ipc/main.c, src/lib-master/Makefile.am, src/lib-
	master/ipc-client.c, src/lib-master/ipc-client.h, src/lib-master
	/ipc-server.c, src/lib-master/ipc-server.h:
	Added support for a simplified IPC infrastructure. The idea is that
	you have one "ipc" proxy process, where all server processes connect
	to. IPC clients can then connect to the proxy and ask it to forward
	commands to either a specific server or all servers. The proxy does
	this, and forwards back any replies from the server.
	[bf5c8ee58e5e]

	* src/doveadm/client-connection.c, src/doveadm/doveadm-settings.c,
	src/doveadm/doveadm-settings.h:
	doveadm: Added doveadm_allowed_commands setting, which is used by
	doveadm server.
	[c67ba5bf1ba9]

	* src/doveadm/client-connection.c, src/doveadm/doveadm-mail-server.c:
	doveadm server: Fixed running multiple commands without crashing.
	[c46b1ce45cd1]

	* src/doveadm/client-connection.c, src/doveadm/doveadm-mail-server.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added support for using local/remote {} settings.
	[b6568a36ecf9]

	* src/doveadm/client-connection.c, src/doveadm/doveadm-settings.c,
	src/doveadm/doveadm-settings.h, src/doveadm/server-connection.c:
	doveadm: Added simple PLAIN authentication for remote connections.
	Currently clients are required to use "doveadm" as the username and
	the password must match doveadm_password setting. When using doveadm
	as a client, it automatically uses these settings when connecting to
	remote servers.
	[6604f80abb02]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-server.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/doveadm
	/doveadm-settings.c, src/doveadm/doveadm-settings.h,
	src/doveadm/main.c:
	doveadm: Added doveadm_proxy_port setting to make it work with
	proxying.
	[9c9f81ad0111]

	* src/doveadm/doveadm-mail.c:
	doveadm: Set service=doveadm for userdb lookup.
	[d20588657ddc]

2011-05-16  Timo Sirainen  <tss@iki.fi>

	* src/pop3/main.c:
	pop3: If mail storage couldn't be initialized, send -ERR to client
	before disconnecting.
	[ac006833cd66]

	* src/pop3/pop3-client.c:
	pop3: Add [IN-USE] to all login -ERR replies.
	[f786d95dc5c0]

	* src/imap/cmd-append.c:
	imap: If client disconnects in APPEND, log more about what it did
	before that.
	[53fed82f8013]

	* src/director/user-directory.c:
	Compiler warning fix on 32bit systems. Patch by Mike Abbott / Apple
	[d9d5759196ee]

2011-05-11  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm-index.1.in:
	man: Corrected cmd name in doveadm-index.1.
	[e76a3313a46c]

2011-05-11  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-index.c:
	doveadm: Code correctness fix.
	[b72d72ae9bd6]

	* .hgsigs:
	Added signature for changeset aa8dfa085a99
	[72c2784fcbc9]

	* .hgtags:
	Added tag 2.0.13 for changeset aa8dfa085a99
	[5a9adcae1a0e]

	* NEWS, configure.in:
	Released v2.0.13.
	[aa8dfa085a99] [2.0.13]

	* .hgignore, doc/man/Makefile.am, doc/man/doveadm-index.1.in,
	doc/man/doveadm.1.in:
	man: Added doveadm index.
	[822bd4936d46]

	* doc/man/doveadm-director.1.in:
	man: Added doveadm director dump.
	[a410f68c5fba]

	* src/lib/lib-signals.c:
	Increased highest signal number limit. HP-UX can use at least 44.
	[a32debbe3496]

	* src/lib/compat.h:
	Compile fix for HP-UX
	[39389620ace4]

	* doc/example-config/conf.d/10-auth.conf:
	example-config: Updated auth_krb5_keytab comment.
	[b41ff254e1d6]

	* src/config/old-set-parser.c:
	config: Updated obsolete protocol warning messages.
	[7f88557102c3]

	* src/director/user-directory.c:
	director: Avoid potential problems by making sure users list is
	always sorted by timestamp.
	[dab7043e8263]

	* doc/man/doveconf.1.in:
	man: Updated doveconf.
	[a6db801253c6]

	* src/plugins/fts/fts-storage.c:
	fts: Added assert to make sure all header data is valid UTF-8.
	[5e5daccf1de3]

	* src/lib-mail/message-decoder.c, src/lib-mail/message-header-
	decode.c:
	message [header] decoder: Output only valid UTF-8 data.
	[c392158f374d]

	* src/lib-mail/message-header-parser.c:
	message header parser: Fixed handling NUL characters in header
	names. line->name_len was too large and line->middle pointer may
	have pointed past allocated memory. These may have caused
	crashes/corruption (fts, mbox at least).
	[cef76cf2cec9]

	* src/lda/main.c:
	lda: Log destination address and its source with mail_debug=yes
	[8f605efb15ce]

	* doc/example-config/conf.d/10-auth.conf:
	example-config: Updated auth_gssapi_hostname comment.
	[370bf3d2d54f]

2011-05-10  Timo Sirainen  <tss@iki.fi>

	* src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c:
	zlib: Don't unnecessarily reset istream caches.
	[66ec075a49d3]

	* src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c:
	istream-[b]zlib: stat(exact=FALSE) should always return the same
	value if file hasn't changed.
	[15a0687ec9d0]

	* src/doveadm/doveadm-mail.c:
	doveadm mailbox status: Don't assert-crash at exit if syncing a
	mailbox fails.
	[b74dfa49692b]

	* src/plugins/acl/acl-mailbox-list.c:
	acl: Don't waste time doing ACL checks for IMAP LSUB command.
	[a7f1980d250c]

	* src/login-common/login-settings.c, src/login-common/login-
	settings.h:
	Removed ssl_parameters_file setting. It wasn't used by anything.
	[40a5f8f07bd2]

2011-05-09  Timo Sirainen  <tss@iki.fi>

	* src/util/script-login.c:
	script-login: When -d isn't given, drop privileges as specified by
	the service settings.
	[25a452227a09]

	* src/util/script-login.c:
	script-login: Reverted last change.
	[56a1b3082b4b]

	* src/util/script-login.c:
	script-login: Changed default behavior to be to drop privileges.
	Also since the default is to run as root, allow that. There is now
	"-n" parameter to avoid dropping privileges.
	[1bbb45a97cc1]

	* src/plugins/lazy-expunge/lazy-expunge-plugin.h:
	Minor typofix.
	[4e99454e2c7c]

	* src/lib-settings/settings-parser.c:
	lib-settings: Crashfix for broken settings under strlist.
	[74248914cf40]

	* src/auth/db-ldap.c:
	auth: Added assert.
	[3ada82147977]

	* src/master/master-settings.c:
	master: Warn if service's vsz_limit < 1 MB It's unlikely anyone
	wants it to be smaller, and small values give random errors/crashes.
	[c3f4201f9818]

	* src/imap/cmd-delete.c, src/imap/cmd-rename.c:
	imap: RENAME and DELETE wasn't replying with NONEXISTENT resp code.
	[6790433a1e77]

	* src/lib-storage/list/mailbox-list-none.c:
	lib-storage: Fixed LIST/LSUB with LAYOUT=none. It shouldn't have
	listed INBOX if it didn't match the given patterns.
	[78286b1a0a16]

	* src/lmtp/commands.c:
	lmtp: With lmtp_save_to_detail_mailbox=yes, save mail to <inbox ns
	prefix>detail. The previous behavior required using prefix=""
	namespace to work.
	[622d42376fe0]

2011-05-05  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-index.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added "index" command to add unindexed messages into
	index/cache/fts. The caching adds only the fields that were
	previously added to the mailbox's caching decisions, so it won't do
	anything useful for mailboxes that user's client hasn't accessed
	yet.
	[840e27a52e51]

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index
	/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-
	mail.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-mail.h, src/lib-storage/index/maildir/maildir-mail.c, src
	/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.h, src/lib-storage/mail.c, src/lib-storage/test-
	mail.c, src/plugins/virtual/virtual-mail.c:
	lib-storage: Added mail_parse().
	[e9918fd289f3]

	* src/lib-storage/index/index-transaction.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.h, src/lib-
	storage/mail.c:
	lib-storage: Added mail_is_cached()
	[55ff92050bd7]

	* src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache.h:
	lib-index: Added mail_cache_field_exists_any()
	[45f6d523b1a1]

2011-05-04  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-auth.c:
	doveadm user: Added -f parameter to show only the specified extra
	field's value.
	[23b6234ce0ae]

	* src/doveadm/doveadm-auth.c:
	doveadm cleanup: Don't try to keep auth/user comand handlers in same
	function.
	[d0f54521bb3b]

	* src/pop3/pop3-client.c, src/pop3/pop3-client.h,
	src/pop3/pop3-commands.c:
	pop3: Added support for showing messages in "pop3 order".
	[c9b7e829c6a9]

	* src/lib-storage/index/index-sort.c, src/lib-storage/mail-storage.h:
	lib-storage: Added MAIL_SORT_POP3_ORDER
	[fac2d4fe86b1]

	* src/lib-storage/index/index-mail.c, src/lib-storage/index/maildir
	/maildir-mail.c, src/lib-storage/index/maildir/maildir-uidlist.h,
	src/lib-storage/mail-storage.h:
	lib-storage: Added MAIL_FETCH_POP3_ORDER special field and
	implemented for Maildir. The idea is that this specifies the order
	of messages when accessing via POP3. This is useful when migrating
	both POP3 and IMAP users from servers where their message ordering
	differes and they still want to be preserved.
	[bf0a80c91536]

	* src/pop3/pop3-client.h, src/pop3/pop3-commands.c:
	pop3: Small code cleanup.
	[869795a295b5]

2011-05-03  Timo Sirainen  <tss@iki.fi>

	* src/director/doveadm-connection.c, src/doveadm/doveadm-director.c:
	doveadm: Added "director dump" command. It outputs doveadm director
	commands to add/remove the current host configuration, so if all
	directors are stopped, their state can be easily restored by running
	the commands.
	[c838d40bd38e]

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Try to avoid duplicate "duplicate transaction log
	sequence" errors.
	[036260ae0261]

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	lib-storage: Remove invalid subscription file entries instead of
	only ignoring them.
	[490a81fe688f]

2011-06-07  Timo Sirainen  <tss@iki.fi>

	* NEWS, src/auth/auth-settings.c:
	auth_username_format default changed to %Lu
	[c0b40ebc527d]

2011-06-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage.c:
	lib-storage: Treat "namespace prefix/" as invalid mailbox name.
	[c22e5e7c0dcd]

2011-05-23  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-commands-util.c, src/lib-storage/index/cydir/cydir-
	storage.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src
	/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/index-
	status.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
	/lib-storage/index/raw/raw-storage.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail-
	storage.h, src/lib-storage/test-mailbox.c, src/plugins/acl/acl-
	mailbox.c, src/plugins/virtual/virtual-storage.c:
	lib-storage: Export a list of permanent flags via mailbox_status().
	Removed mailbox_allow_new_keywords(), since it's now included in the
	status structure. ACL plugin may limit what flags are permanent
	according to ACLs.
	[189c9baf840a]

	* src/doveadm/doveadm-pw.c:
	doveadm: Compile fix for recent auth change.
	[6ec2a6d229ec]

	* src/plugins/acl/acl-mailbox.c:
	acl: ACLs apply to private flags as well. Fixed returning READ-ONLY
	resp-code.
	[93c41a60f894]

	* src/auth/password-scheme-otp.c, src/auth/password-scheme.c, src/auth
	/password-scheme.h:
	auth: Don't log warnings/errors when guessing a password's scheme.
	[62945c9d6b47]

	* src/auth/auth-request.c:
	auth: Give password scheme suggestions also when passdb data is
	invalid for scheme.
	[9490d57d2f7b]

2011-05-16  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-settings.c:
	imap: Changed default imap_logout_format.
	[1e1674cedf2d]

2011-05-11  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-mail.c:
	lib-storage: Fixed checking if mail's virtual size is cached.
	[cd811a24652a]

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: Fix for 32bit systems.
	[9f2fb7da9501]

	* src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail-iter.c,
	src/doveadm/doveadm-mail-iter.h:
	doveadm: doveadm_mail_iter_init() API change to fix "doveadm fetch"
	crash.
	[24a983a9ff6f]

	* src/doveadm/doveadm-mail-search.c:
	doveadm search crashfix
	[2cf6ade3e42e]

	* src/lib-storage/list/index-mailbox-list.c:
	Compiler warning fixes
	[4d976ed1c3d5]

2011-04-30  Timo Sirainen  <tss@iki.fi>

	* TODO:
	TODO updated
	[ec7462da501a]

	* NEWS, configure.in, src/auth/auth-request.c, src/auth/db-ldap.c,
	src/doveadm/Makefile.am, src/doveadm/doveadm-mail-altmove.c,
	src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-mail-
	import.c, src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-mail-
	iter.h, src/doveadm/doveadm-mail-move.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h, src/dsync/dsync-worker-local.c, src
	/imap-login/client.c, src/imap/imap-fetch.c, src/lda/main.c, src
	/lib-index/mail-index.c, src/lib-lda/mail-deliver.c, src/lib-
	storage/index/dbox-common/dbox-file.c, src/lib-storage/index/dbox-
	multi/mdbox-mail.c, src/lib-storage/index/dbox-multi/mdbox-purge.c,
	src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single
	/sdbox-sync.c, src/lib-storage/index/index-attachment.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/maildir
	/maildir-mail.c, src/lib-storage/index/maildir/maildir-uidlist.c,
	src/lib-storage/index/maildir/maildir-uidlist.h, src/lib-
	storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox/mbox-
	storage.c, src/lib-storage/mail-namespace.c, src/lib-storage/mail-
	namespace.h, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-storage
	/mailbox-get.c, src/lib-storage/mailbox-list.c, src/lib-storage
	/test-mailbox-get.c, src/lib-storage/test-mailbox.c,
	src/plugins/autocreate/Makefile.am, src/plugins/autocreate
	/autocreate-plugin.c, src/plugins/fts/fts-storage.c,
	src/plugins/quota/quota.c:
	Merged changes from v2.0 tree.
	[80eef14e9e15]

	* src/lib-storage/index/dbox-single/sdbox-storage.c:
	sdbox: In-memory mailbox GUID differed from on-index GUID after
	mailbox_create().
	[663528c5c799]

2011-04-29  Timo Sirainen  <tss@iki.fi>

	* src/master/service-listen.c:
	master: Increased max. listen() backlog 128 -> 511 (by copying
	Apache)
	[bf8c2edfbc3e]

	* doc/example-config/conf.d/10-logging.conf:
	example-config: Removed plugin/mail_log_group_events since it no
	longer exists.
	[46aed30670bb]

2011-04-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-common/dbox-file.c:
	dbox: If file can't be opened read-write, fallback to read-only.
	[de7c0d84c560]

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: If .log file can't be opened read-write, fallback to
	read-only indexes.
	[5429f41aa6c1]

	* src/lib-settings/settings-parser.c:
	Compiler warning fix.
	[dfd7df8cd214]

	* src/lib-storage/index/dbox-multi/mdbox-purge.c:
	mdbox purge: Fixed warning about corrupted extrefs.
	[bb0bd8cb6f68]

	* src/lib-storage/index/mbox/mbox-mail.c:
	mbox: Looking up GUID/MD5(header) more than once was broken.
	[36025cbfec3b]

	* src/doveadm/doveadm-mail-altmove.c, src/lib-storage/index/index-
	sync-changes.c:
	Compiler warning fixes about enums.
	[c2f81056d38f]

2011-04-27  Timo Sirainen  <tss@iki.fi>

	* src/lib/ipwd.c:
	i_getgr*(): OpenBSD workaround.
	[127b4e08d3c0]

2011-04-20  Timo Sirainen  <tss@iki.fi>

	* src/config/config-parser.c, src/config/doveconf.c:
	config: Avoid growing data stack / memory pools.
	[b8fa3171f6d7]

	* src/config/config-parser.c:
	doveconf: Fixed a broken "subsection has ssl=yes" warning.
	[7d60cd847c70]

	* src/lib-lda/mail-deliver.c:
	lib-lda: If deliver_log_format setting is empty, don't log anything.
	Patch by Joseph Tam.
	[0e406e7cb609]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Added asserts to make sure invalid extension records aren't
	written to uidlist.
	[fa2e92526716]

	* src/lib-storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-uidlist.h:
	maildir: Remove invalid extension records from dovecot-uidlist. For
	now we'll assume that if the key is outside A..Z it's invalid. Since
	only 4 keys are used currently, there is still a lot of letters
	available for future use.
	[4fe53879ceb1]

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: If uidlist has an empty GUID entry, log an error and remove
	it. This fixes an assert-crash in dsync.
	[d3d635ee3016]

2011-04-13  Timo Sirainen  <tss@iki.fi>

	* src/config/doveconf.c:
	doveconf: Added -S parameter to dump a simplified machine readable
	config. This should make it slightly easier for external
	programs/scripts to call doveconf and parse its output.
	[811a6d173bb2]

	* src/config/config-parser.c:
	config: Abort local/remote block DNS lookups after 30s and warn
	after 5s.
	[cf9c2252a3ea]

	* src/lib/ipwd.c:
	Compiling fix for Solaris.
	[b60d73301c08]

2011-04-12  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 606faab2b896
	[fef40f957c11]

	* .hgtags:
	Added tag 2.0.12 for changeset 606faab2b896
	[a957418b55af]

	* NEWS, configure.in:
	Released v2.0.12.
	[606faab2b896] [2.0.12]

	* src/lib-storage/index/test-index-fetch.c:
	test-index-fetch unit test fixed.
	[8101b70e4a27]

	* src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c:
	sdbox: When rebuilding index, don't unnecessarily change mailbox's
	GUID.
	[bdd5a26ee180]

	* src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-storage.h:
	sdbox: If message file is unexpectedly lost, rebuild index.
	[d4945c93c33b]

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-single/sdbox-sync.c, src/lib-storage/index/dbox-single/sdbox-
	sync.h:
	sdbox: Commit expunges to index first before unlinking the files.
	[edf79127fccd]

	* src/lib-storage/index/dbox-multi/mdbox-mail.c:
	mdbox: Fixed mail_get_save_date() returning wrong return value. This
	broke expire plugin.
	[2269cea521b6]

	* src/auth/auth-request.c:
	auth: Export/import auth_request->successful for auth workers.
	[bbcef91eac7e]

	* src/auth/db-ldap.c, src/auth/db-ldap.h:
	auth: Removed max. request queue limit from LDAP. Old requests get
	dropped after 60 seconds, but other than that there is probably not
	much point in having a hard coded limit.
	[56616bad7310]

2011-04-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Fixed crash in mail_storage_service_all_init() (doveadm
	.. -A)
	[475e6633b1d7]

2011-04-08  Timo Sirainen  <tss@iki.fi>

	* src/imap-login/client.c:
	imap-login: Reduced the max. number of allowed bad commands. This
	makes it even more sure that we won't reply with anything dangerous
	when attempting to access us with HTTP client.
	[a0c1c6f7cf6e]

	* src/imap-login/client.c:
	imap-login: Don't allow IMAP command tags that have invalid
	characters. This simply attempts to prevent HTTP requests from
	replying with any potentially danerous data that some web browsers
	might execute, e.g.:

	curl --request POST -F 'x="<script>alert(1)</script>"'
	http://localhost:143/

	The above command probably doesn't work, because max. bad commands
	is reached earlier. But if it isn't, this change makes sure it
	doesn't return back anything, because '"' and '(' aren't allowed
	characters. Even if '"' weren't required, there hopefully isn't much
	to be done without being able to call any functions.
	[9b94597c3f02]

	* src/lib-index/mail-cache.c, src/lib-index/mail-index-map-read.c, src
	/lib-index/mail-index-strmap.c, src/lib-index/mail-index.c, src/lib-
	index/mail-transaction-log-file.c, src/lib-index/mailbox-list-
	index.c, src/lib/compat.h:
	Linux NFS: fstat() may return ENOENT instead of ESTALE in some
	kernel versions.
	[d14b0fd0a423]

	* src/director/director-connection.c, src/director/director.c:
	director: Improved debug/error logging.
	[e9139f74c451]

	* src/director/director-connection.c, src/director/director.c:
	director: Reset hosts' last_failed timestamps when they're suspected
	to be working again. This should fix some problems during director
	removals and additions.
	[2b7af3a16521]

	* src/doveadm/doveadm-mail-import.c:
	doveadm import: Initialize the import user properly.
	[e2b747f88e54]

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	lib-storage: Allow each user lookup to override global
	mail_storage_service_flags.
	[1f545a4a1ffb]

	* src/lib-storage/mail-namespace.c, src/lib-storage/mail-namespace.h:
	lib-storage: Added mail_namespaces_init_location() for creating a
	single namespace for user.
	[dafc2dcc1a64]

	* src/config/config-parser.c:
	config: Log a warning if global ssl=no, but some section has
	ssl=yes/required. Actually supporting per-protocol (or even worse,
	per-ip) SSL would be too much trouble.
	[18e87d50a10a]

	* src/lib/eacces-error.c:
	eperm_error_get_chgrp(): Changed wiki link.
	[ab12bc9fcc21]

	* src/lib/eacces-error.c:
	eperm_error_get_chgrp(): Improved error message and added a link to
	wiki.
	[1319931cfda0]

	* doc/documentation.txt:
	Updated main documentation.txt index.
	[0b8f3ddbe29f]

	* INSTALL, README, doc/documentation.txt, doc/example-config/dovecot-
	ldap.conf.ext, doc/example-config/dovecot-sql.conf.ext, doc/example-
	config/dovecot.conf, src/lda/main.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/mail-storage-service.c:
	Changed wiki.dovecot.org links to wiki2.dovecot.org
	[b6a705c42001]

2011-04-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-sync.c:
	sdbox: Added more error message logging.
	[654b5a2fc926]

	* src/lib-index/mail-index-map.c:
	lib-index: Fix to previous check.
	[699d181a5578]

	* src/lib-index/mail-index-map.c:
	lib-index: Added extra checks against broken extension record
	introductions.
	[64f354128f4e]

	* src/plugins/quota/quota.c:
	quota: Fixed the quota limit check changes in previous commit.
	Casting (uint64_t)-1 to (int64_t) isn't a good idea.
	[6cc356a5d0a5]

2011-04-04  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
	quota: Code cleanup.
	[230458801916]

	* src/plugins/quota/quota.c:
	quota: Fixed checking message count limit when saving multiple mails
	in transaction.
	[618f610c7c67]

	* src/plugins/quota/quota.c:
	quota: Set quota limit correctly (for code path that doesn't exist).
	quota_alloc() followed by quota_test/try_alloc() set the "quota
	left" limit wrong. But this is only a theoretical problem, because
	nothing actually calls quota_alloc() currently.
	[8fa544520413]

	* src/lib-storage/index/index-attachment.c:
	dbox: External attachment's size was set wrong if base64 MIME part
	ended unexpectedly.
	[10ea7f598e11]

	* src/auth/db-ldap.c:
	auth: If initial binding to LDAP server hangs, detect it and abort.
	[cef23de90ff1]

2011-04-03  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/auth-vpopmail.conf.ext:
	example-config: Fixed vpopmail config.
	[0ce50c22f84c]

2011-03-31  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c:
	auth: Mention auth_username_chars in log when disallowing username
	because of it.
	[3eaf0d3a38d4]

2011-03-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-settings/settings-parser.c:
	lib-settings: Fixed crash when trying treat strlist as having a
	subsection. For example "plugin/foo/bar=yes" crashed, while it
	should have been just ignored.
	[746b4e9e7015]

	* src/lib-index/mail-transaction-log-private.h:
	lib-index: Delete dovecot.index.log.2 files after 2 days, not after
	30 mins.
	[0d437e2e6949]

	* src/dsync/dsync-worker-local.c:
	dsync: Fixed handling expunges of last message when it didn't have a
	known GUID.
	[e0f13d7510ef]

	* src/imap/imap-fetch.c:
	imap: Use mailbox_get_expunged_uids() for QRESYNC code.
	[e5547c86528f]

	* src/lib-storage/index/index-fetch.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/test-index-fetch.c, src/lib-storage
	/mail-storage-private.h, src/lib-storage/mail-storage.c, src/lib-
	storage/mail-storage.h, src/lib-storage/test-mailbox.c:
	lib-storage: Fixed mailbox_get_expunges() to return GUIDs with all
	mailbox formats. Also added mailbox_get_expunged_uids() for use
	cases that don't really need GUIDs.
	[99e3209fc78d]

2011-03-24  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/Makefile.am:
	lmtp: Fixed loading Sieve plugin when configuring --without-shared-
	libs
	[8c409049402c]

	* src/plugins/autocreate/Makefile.am, src/plugins/autocreate
	/autocreate-plugin.c:
	autocreate: Disable plugin when running from dsync.
	[4242a7bf8918]

	* src/lib-storage/mail-storage.c:
	lib-storage: Removed extra "don't allow INBOX to be deleted" check.
	It's already checked in places where it could cause actual harm
	(accidentally deleting other mailboxes) and where it's not allowed
	(IMAP). This allows dsync backup to delete unwanted INBOX if the
	mail location settings allow it.
	[84354efc93bd]

	* src/dsync/dsync-worker-local.c:
	dsync backup: Handle better deletion of mailboxes from destination.
	[65f4791d0eb4]

2011-03-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-namespace.c:
	lib-storage: When mail_location is looked up from environment, set
	its unexpanded string properly. This fixes a crash when creating
	index directories and mail location was autodetected.
	[a5f9264674fb]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-expunge.c,
	src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-mail-iter.h,
	src/doveadm/doveadm-mail-move.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h:
	doveadm: Added "move" command for moving mails between mailboxes.
	[d7a02077d91f]

2011-03-22  Timo Sirainen  <tss@iki.fi>

	* src/config/config-request.c, src/config/doveconf.c:
	doveconf: Fixed showing plugin {} section.
	[a94abbccea0f]

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	lib-storage: Added MAIL_STORAGE_SERVICE_FLAG_NO_NAMESPACES flag.
	[b5768d835e79]

2011-03-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mailbox-list.c:
	lib-storage: Don't try to create /dovecot.mailbox.index when indexes
	are disabled.
	[4f1b77b81cf3]

	* doc/example-config/dovecot.conf:
	example-config: Uncommented !include_try local.conf At least one
	Linux distro wants this.
	[0dcbd2357451]

	* src/lib-lda/lmtp-client.c:
	lmtp/smtp client: Crashfix if remote returned failure to RCPT TO.
	[31b3f1819c89]

2011-03-17  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts/fts-storage.c:
	fts: Don't notify storage about finishing indexing if notify_ok
	callback is NULL.
	[3d48418b0501]

2011-04-30  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-storage/index
	/index-storage.c, src/lib-storage/index/shared/shared-list.c, src
	/lib-storage/list/mailbox-list-delete.c, src/lib-storage/list
	/mailbox-list-delete.h, src/lib-storage/list/mailbox-list-fs.c, src
	/lib-storage/list/mailbox-list-maildir.c, src/lib-storage/list
	/mailbox-list-none.c, src/lib-storage/mailbox-list-private.h, src
	/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
	lib-storage: mailbox_delete() for a symlink now removes the symlink
	instead of expunging mails.
	[9949b7987409]

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/index-storage.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/quota/quota-storage.c:
	lib-storage: mailbox_delete() now always first expunges all mails
	before trying deletion. If any new mails are added during expunging,
	the mailbox deletion fails. This behavior allows removing basically
	duplicated code where this is done for mdbox, sdbox with external
	attachments, quota updates and lazy-expunge.
	[a8fe529ea72b]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Fixed storage rebuild
	[5f0ed47db523]

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge: Removed support for more than one lazy-expunge
	namespace. More than one is conceptually difficult to understand,
	complicates the code and after the next change it wouldn't even work
	anymore.
	[efc0eea75258]

	* configure.in, src/plugins/acl/Makefile.am,
	src/plugins/autocreate/Makefile.am, src/plugins/expire/Makefile.am,
	src/plugins/fts-lucene/Makefile.am, src/plugins/fts-
	solr/Makefile.am, src/plugins/fts-squat/Makefile.am,
	src/plugins/fts/Makefile.am, src/plugins/imap-acl/Makefile.am,
	src/plugins/imap-quota/Makefile.am, src/plugins/imap-
	zlib/Makefile.am, src/plugins/lazy-expunge/Makefile.am,
	src/plugins/listescape/Makefile.am, src/plugins/mail-
	log/Makefile.am, src/plugins/notify/Makefile.am,
	src/plugins/quota/Makefile.am, src/plugins/snarf/Makefile.am,
	src/plugins/trash/Makefile.am, src/plugins/virtual/Makefile.am,
	src/plugins/zlib/Makefile.am:
	Use -Wl,--as-needed -Wl,--no-undefined GNU ld flags for non-plugins.
	[0be58f3930b2]

	* src/lib-ssl-iostream/Makefile.am:
	Compile fix for previous change.
	[2956ccf6c4bf]

	* src/lib-sql/Makefile.am, src/lib-ssl-iostream/Makefile.am, src
	/login-common/Makefile.am:
	Makefile: Fixes to compiling with LDFLAGS="-Wl,--as-needed -Wl,--no-
	undefined"
	[385664bd01be]

	* src/imap-login/client.c, src/login-common/client-common-auth.c, src
	/login-common/client-common.c, src/login-common/client-common.h, src
	/login-common/login-common.h, src/login-common/login-settings.c, src
	/login-common/main.c, src/login-common/sasl-server.c,
	src/pop3-login/client.c:
	login-common API redesign so that the library doesn't refer to
	nonexistent variables.
	[6f0396e35fd9]

2011-04-05  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/10-master.conf, src/auth/auth-settings.c:
	Changed auth-userdb socket's default permissions to 0666.
	[bd869a7053c5]

	* src/auth/auth-master-connection.c, src/auth/auth-master-
	connection.h, src/auth/main.c:
	auth: If auth-userdb socket is 0666, allow peer to do only USER
	lookups whose uid matches its. Anything else results in failure. If
	userdb doesn't return uid, the lookups also fail. To truly give full
	permissions for everyone, use 0777 mode.
	[03b8a8fe1959]

	* configure.in, src/lib/network.c, src/lib/network.h:
	Added net_getunixcred() to get UNIX socket peer process's UID and
	GID.
	[352999078d83]

2011-04-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-search.c:
	lib-storage: Request sort program's all fields, not just the first
	one.
	[1ff458ba2e4b]

	* src/lib-storage/index/index-mail-headers.c, src/lib-storage/index
	/index-search.c, src/lib-storage/index/index-thread.c, src/lib-
	storage/mail-storage-private.h:
	lib-storage: Removed struct mail_private.extra_* fields. There isn't
	much point in keeping them separated.
	[2c04c3dcd544]

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: Minor code cleanup.
	[f051c326463e]

	* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/imapc/imapc-mail.c, src/lib-storage/index/imapc/imapc-
	mailbox.c:
	imapc: Fixes to handling expunges.
	[0dec197d1bb7]

	* src/lib-ssl-iostream/iostream-openssl.c:
	Compiler warning fix for newer OpenSSL library.
	[dc0d02efe64b]

	* src/lib-storage/index/imapc/imapc-save.c, src/lib-
	storage/index/imapc/imapc-storage.c:
	imapc: Make sure we wait for SELECT/APPEND/COPY commands to finish.
	[b3392b09623a]

	* src/lib-storage/index/imapc/imapc-client-private.h, src/lib-
	storage/index/imapc/imapc-client.c, src/lib-storage/index/imapc
	/imapc-client.h, src/lib-storage/index/imapc/imapc-mail-fetch.c, src
	/lib-storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc
	/imapc-storage.c, src/lib-storage/index/imapc/imapc-storage.h:
	imapc: Removed support for connection locking and multiple
	connections to mailbox. If needed they can be added back by
	reversing this change, but for now they're no longer needed.
	[6a9348fb2253]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Don't log an error message about missing BODY[] if message
	was already expunged.
	[939e0fccd517]

	* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/imapc/imapc-mail.c:
	imapc: Stop FETCH wait after untagged reply is received, don't wait
	for tagged reply.
	[194855240d31]

	* src/lib-storage/index/index-mail.h, src/lib-storage/index/index-
	search.c, src/lib-storage/mail-search.c, src/lib-storage/mail-
	search.h:
	lib-storage: Added mail prefetching support for searching.
	[51ef5ffea07f]

	* configure.in, src/doveadm/Makefile.am:
	doveadm: Don't link with all AUTH_LIBS, only -lcrypt is needed.
	[b93d45b71332]

	* src/plugins/autocreate/autocreate-plugin.c:
	Compile warning fix.
	[ac8a28a8b5c0]

2011-03-31  Timo Sirainen  <tss@iki.fi>

	* configure.in, doc/example-config/conf.d/10-mail.conf, src/lib-
	storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir-
	storage.c, src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-
	storage/index/dbox-single/sdbox-mail.c, src/lib-storage/index/dbox-
	single/sdbox-storage.c, src/lib-storage/index/imapc/Makefile.am, src
	/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
	storage/index/imapc/imapc-mail.c, src/lib-storage/index/imapc/imapc-
	mail.h, src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-search.c, src/lib-storage/index/imapc
	/imapc-storage.c, src/lib-storage/index/imapc/imapc-storage.h, src
	/lib-storage/index/index-mail.c, src/lib-storage/index/index-mail.h,
	src/lib-storage/index/index-search-private.h, src/lib-storage/index
	/index-search.c, src/lib-storage/index/maildir/maildir-mail.c, src
	/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage-settings.c, src/lib-storage/mail-storage-settings.h,
	src/lib-storage/mail.c, src/lib-storage/test-mail.c,
	src/plugins/virtual/virtual-mail.c, src/plugins/virtual/virtual-
	search.c:
	Search supports now prefetching data for returned mails. Dropped
	imapc's own prefetching. mail_prefetch_count specifies how many
	mails can be kept open and issue a prefetch.

	This works using posix_fadvise(POSIX_FADV_WILLNEED) for maildir,
	sdbox and cydir backends. Apparently only Linux supports this.

	imapc backend also implements this internally by sending wanted IMAP
	commands to remote server. The command pipelining helps with
	latency. This change also makes it actually possible for imapc
	backend to first check if wanted data is already cached in local
	index and avoid sending unnecessary IMAP commands to remote server.
	[0461e23ae57c]

	* src/lib-storage/index/index-search.c, src/lib-storage/index/index-
	sort.c, src/lib-storage/index/index-sort.h:
	lib-storage: Search code cleanup.
	[b47f17b173f5]

	* src/lib-storage/mail-search-build.c, src/lib-storage/mail-search-
	build.h:
	lib-storage: Fail mail_search_build() if charset is unknown, even if
	it's not used. For example this causes "SEARCH CHARSET foo ALL"
	command to fail.
	[b131b89f5e20]

	* src/doveadm/doveadm-mail.c, src/imap/imap-search-args.c, src/lib-
	mail/message-search.c, src/lib-mail/message-search.h, src/lib-
	storage/Makefile.am, src/lib-storage/index/index-search-private.h,
	src/lib-storage/index/index-search.c, src/lib-storage/mail-search-
	build.c, src/lib-storage/mail-search-build.h, src/lib-storage/mail-
	search-register-imap.c, src/lib-storage/mail-search.c, src/lib-
	storage/mail-search.h, src/lib-storage/mail-storage.h,
	src/plugins/fts/Makefile.am, src/plugins/fts/fts-search.c,
	src/plugins/virtual/virtual-config.c:
	Changed header/body searching to do search key charset translation
	earlier. This cleans up and simplifies error handling.
	[d399d5c65aca]

2011-03-29  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
	expunge.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-
	mail-import.c, src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-
	mail-iter.h, src/doveadm/doveadm-mail-search.c, src/dsync/dsync-
	worker-local.c, src/imap/cmd-copy.c, src/imap/cmd-store.c, src/imap
	/imap-expunge.c, src/imap/imap-fetch-body.c, src/imap/imap-fetch.c,
	src/imap/imap-fetch.h, src/imap/imap-search.c, src/imap/imap-
	search.h, src/lib-storage/index/dbox-single/sdbox-storage.c, src
	/lib-storage/index/imapc/imapc-search.c, src/lib-storage/index/imapc
	/imapc-storage.h, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-mail.h, src/lib-storage/index/index-search-
	private.h, src/lib-storage/index/index-search-result.c, src/lib-
	storage/index/index-search.c, src/lib-storage/index/index-status.c,
	src/lib-storage/index/index-storage.h, src/lib-storage/index/index-
	thread.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-storage
	/test-mailbox.c, src/plugins/fts-squat/fts-backend-squat.c,
	src/plugins/fts/fts-storage.c, src/plugins/lazy-expunge/lazy-
	expunge-plugin.c, src/plugins/quota/quota-count.c, src/plugins/quota
	/quota-storage.c, src/plugins/snarf/snarf-plugin.c,
	src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
	search.c, src/plugins/virtual/virtual-storage.h, src/plugins/virtual
	/virtual-sync.c, src/pop3/pop3-client.c, src/pop3/pop3-commands.c:
	lib-storage: Changed mailbox_search_*() API to return pointer struct
	mail. This reduces the flexibility, because now different
	mailbox_search_next() calls can't have different mail parameters
	with possibly different wanted_fields settings. This flexibility was
	never used though, and removing it gives a couple of benefits:

	 * it's now easier for backends to implement prefetch and parallel
	search
	 * usage is easier since mail_alloc()/mail_free() is no longer needed
	[1fbd59c48414]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Try to get received date first from cache.
	[1473b5b24b8b]

	* src/lib-storage/index/imapc/imapc-mail.c:
	imapc: Try to get physical/virtual size first from cache.
	[d81878a21d57]

	* src/lib-storage/index/index-mail.c, src/lib-storage/index/index-
	mail.h, src/lib-storage/index/maildir/maildir-mail.c:
	lib-storage: Small optimizations to setting mail's access_parts.
	[80e1881d1d8b]

2011-03-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/imapc/imapc-storage.c, src
	/lib-storage/index/index-storage.h, src/lib-storage/index/index-
	transaction.c, src/lib-storage/index/maildir/maildir-storage.c, src
	/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw
	/raw-storage.c, src/lib-storage/mail-storage-private.h, src/lib-
	storage/test-mailbox.c, src/plugins/virtual/virtual-storage.c:
	lib-storage: Moved index_mailbox_context.save_*() methods to
	mailbox_vfuncs.
	[59e4c0d1457b]

	* src/lib-storage/index/index-storage.h:
	lib-storage: Removed unused index_mailbox_context.notify_last_check
	[1543f3af1d5d]

	* src/lib-storage/index/index-mail.c, src/lib-storage/index/index-
	mail.h:
	lib-storage: Removed unused index_mail.uid_validity.
	[8c7d3ec506f4]

2011-03-23  Timo Sirainen  <tss@iki.fi>

	* src/plugins/autocreate/autocreate-plugin.c:
	autocreate: Don't list autocreate mailboxes with
	MAILBOX_LIST_ITER_NO_AUTO_BOXES.
	[b16512b60808]

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
	expunge.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-
	mail-import.c, src/doveadm/doveadm-mail-mailbox-status.c,
	src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail-
	search.c, src/dsync/dsync-worker-local.c, src/lib-storage/list
	/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-list-maildir-
	iter.c, src/lib-storage/mailbox-list.h:
	lib-storage: Renamed MAILBOX_LIST_ITER_NO_AUTO_INBOX to
	_NO_AUTO_BOXES.
	[d805c7ce8d67]

2011-03-17  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: Fixed setting flags for newly seen messages.
	[2db1d9cbc334]

	* NEWS, TODO, configure.in, src/auth/auth-penalty.c, src/auth/auth-
	request.c, src/auth/db-ldap.c, src/auth/passdb-ldap.c, src/auth
	/userdb-ldap.c, src/config/old-set-parser.c, src/doveadm/doveadm-
	dump-index.c, src/doveadm/doveadm-dump-log.c, src/doveadm/doveadm-
	mail-fetch.c, src/doveadm/doveadm-mail-import.c, src/doveadm
	/doveadm-mail-iter.c, src/doveadm/doveadm-mail-list-iter.c,
	src/doveadm/doveadm-mail-mailbox-status.c, src/doveadm/doveadm-mail-
	mailbox.c, src/doveadm/doveadm-mail-search.c, src/doveadm/doveadm-
	mail.c, src/dsync/dsync-worker-local.c, src/dsync/dsync.c, src/imap
	/cmd-append.c, src/imap/cmd-copy.c, src/imap/cmd-create.c, src/imap
	/cmd-delete.c, src/imap/cmd-enable.c, src/imap/cmd-fetch.c, src/imap
	/cmd-list.c, src/imap/cmd-namespace.c, src/imap/cmd-rename.c,
	src/imap/cmd-select.c, src/imap/cmd-status.c, src/imap/cmd-store.c,
	src/imap/cmd-subscribe.c, src/imap/imap-client.c, src/imap/imap-
	commands-util.c, src/imap/imap-fetch.c, src/imap/imap-search.c,
	src/imap/imap-status.c, src/imap/imap-sync.c, src/lda/main.c, src
	/lib-auth/auth-client-request.c, src/lib-charset/charset-iconv.c,
	src/lib-imap/imap-bodystructure.c, src/lib-imap/imap-envelope.c, src
	/lib-imap/imap-parser.c, src/lib-index/mail-index-transaction.c, src
	/lib-index/mail-index-view.c, src/lib-index/mail-index.c, src/lib-
	index/mail-transaction-log-append.c, src/lib-index/mail-transaction-
	log-view.c, src/lib-index/mail-transaction-log.c, src/lib-
	lda/duplicate.c, src/lib-lda/mail-deliver.c, src/lib-master/anvil-
	client.c, src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c,
	src/lib-sql/driver-sqlpool.c, src/lib-storage/index/cydir/cydir-
	storage.c, src/lib-storage/index/dbox-common/dbox-file.c, src/lib-
	storage/index/dbox-common/dbox-mail.c, src/lib-storage/index/dbox-
	common/dbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-
	storage/index/dbox-multi/mdbox-purge.c, src/lib-storage/index/dbox-
	multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-storage-
	rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src
	/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index
	/dbox-single/sdbox-file.c, src/lib-storage/index/dbox-single/sdbox-
	save.c, src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-sync.c, src/lib-storage/index/index-
	attachment.c, src/lib-storage/index/index-mail-headers.c, src/lib-
	storage/index/index-mail.c, src/lib-storage/index/index-search.c,
	src/lib-storage/index/index-sort.c, src/lib-storage/index/index-
	status.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-sync.c, src/lib-storage/index/index-thread.c,
	src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir
	/maildir-filename.c, src/lib-storage/index/maildir/maildir-
	keywords.c, src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/maildir/maildir-sync-
	index.c, src/lib-storage/index/maildir/maildir-sync.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox
	/mbox-file.c, src/lib-storage/index/mbox/mbox-lock.c, src/lib-
	storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox/mbox-
	save.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/index/shared
	/shared-storage.c, src/lib-storage/list/index-mailbox-list.c, src
	/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
	/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir-
	iter.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/list/mailbox-list-none.c, src/lib-storage/list/mailbox-list-
	subscriptions.c, src/lib-storage/list/subscription-file.c, src/lib-
	storage/mail-copy.c, src/lib-storage/mail-namespace.c, src/lib-
	storage/mail-search-register-human.c, src/lib-storage/mail-search-
	register-imap.c, src/lib-storage/mail-search.c, src/lib-storage
	/mail-storage-private.h, src/lib-storage/mail-storage-settings.c,
	src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h, src
	/lib-storage/mailbox-list.c, src/lib-storage/mailbox-tree.c, src
	/lib-storage/mailbox-uidvalidity.c, src/lib-storage/test-mailbox.c,
	src/lib/ioloop.c, src/lib/lib.c, src/lib/printf-format-fix.c,
	src/lib/process-title.c, src/lmtp/client.c, src/lmtp/commands.c, src
	/login-common/sasl-server.c, src/master/main.c, src/master/master-
	settings.c, src/master/service-monitor.c, src/master/service-
	process.c, src/master/service.c, src/plugins/acl/acl-backend-vfile-
	acllist.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-
	mailbox-list.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl
	/doveadm-acl.c, src/plugins/autocreate/autocreate-plugin.c,
	src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts-squat/fts-
	backend-squat.c, src/plugins/fts/fts-storage.c, src/plugins/imap-acl
	/imap-acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c,
	src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/listescape/listescape-plugin.c, src/plugins/quota/quota-
	count.c, src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-
	storage.c, src/plugins/quota/quota.c, src/plugins/snarf/snarf-
	plugin.c, src/plugins/trash/trash-plugin.c, src/plugins/virtual
	/virtual-config.c, src/plugins/virtual/virtual-mail.c,
	src/plugins/virtual/virtual-save.c, src/plugins/virtual/virtual-
	storage.c, src/plugins/virtual/virtual-storage.h,
	src/plugins/virtual/virtual-sync.c, src/plugins/virtual/virtual-
	transaction.c, src/plugins/zlib/zlib-plugin.c,
	src/pop3/pop3-client.c, src/util/script.c:
	Merged changes from v2.0 tree.
	[3984231cd873]

	* src/auth/passdb-bsdauth.c, src/auth/passdb-passwd.c, src/auth
	/userdb-passwd.c, src/auth/userdb.c, src/lda/main.c, src/lib-
	storage/index/mbox/mbox-lock.c, src/lib-storage/mail-storage-
	service.c, src/lib/eacces-error.c, src/lib/home-expand.c, src/lib
	/ioloop-notify-inotify.c, src/lib/lib.c, src/lib/mkdir-parents.c,
	src/lib/restrict-access.c, src/master/main.c, src/master/service-
	process.c:
	Replaced all getpw/gr*() to use i_getpw/gr*() with improved error
	handling.
	[02829f7f79c7]

	* src/lib/Makefile.am, src/lib/ipwd.c, src/lib/ipwd.h:
	Added i_getpw*() and i_getgr*() wrappers for getpw*()/getgr*().
	These functions make error handling easier.
	[7f5735ab7c35]

2011-03-16  Timo Sirainen  <tss@iki.fi>

	* src/master/main.c:
	master: Don't close stderr if logging goes there.
	[26d5351649ac]

	* src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual-
	storage.c, src/plugins/virtual/virtual-storage.h:
	virtual: Support +mailbox entries that clear \Recent flag from
	messages.
	[be0f0de75e34]

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c:
	dbox: Fixed crash on creation of a new mailbox. Broken by recent
	changes.
	[310f2784de31]

	* src/lib/eacces-error.c:
	eacces_error_get*(): Handle errors to / directory better.
	[46d46fa3929f]

	* src/lib-auth/auth-master.c:
	lib-auth: If connection to auth-master gets lost, reconnect.
	[7d9db422549a]

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-storage
	/mail-storage.c:
	lib-storage: Moved mailbox_update() assert check from mdbox to
	common, plus fixed it.
	[18d801449444]

	* src/dsync/dsync-brain.c, src/dsync/dsync-data.h, src/dsync/dsync-
	proxy.c, src/dsync/dsync-worker-local.c, src/dsync/test-dsync-
	brain.c, src/dsync/test-dsync-proxy-server-cmd.c:
	dsync: Preserve \Recent flags state (instead of setting everything
	\Recent).
	[ad393de782ce]

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/index-storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Added min_first_recent_uid to struct mailbox_update.
	Implemented for dbox. Maildir/mbox needs some more code to make this
	work correctly.
	[08e4c5d0dc9b]

	* src/lib-storage/index/index-status.c, src/lib-storage/mail-
	storage.h:
	lib-storage: Added first_recent_uid to struct mailbox_status.
	[4baca6914518]

2011-03-15  Timo Sirainen  <tss@iki.fi>

	* src/imap-login/client.c:
	imap-login: Changed CAPABILITY's tagged OK reply to say post-login
	capabilities have more.
	[31d8d43fa6b5]

2011-03-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-common/dbox-attachment.c:
	dbox: Fixed wrong error check while reading external attachments.
	[890a46b3ab63]

2011-03-12  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain.c:
	dsync: When showing mailbox names, show also their GUIDs.
	[0a1a0d33c1b2]

	* src/lib-storage/index/dbox-common/dbox-attachment.c:
	dbox: Give more verbose error message about broken attachment ext-
	refs.
	[d3d6ed6d268b]

	* src/lib-storage/index/dbox-single/sdbox-save.c, src/lib-
	storage/index/maildir/maildir-save.c:
	maildir, sdbox: If committed transaction has only aborted msg saves,
	don't assert-crash.
	[b896d72d7fa7]

	* src/dsync/dsync-proxy-client.c:
	dsync: If remote dsync times out, log a more verbose reason.
	[4b537650b4de]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: When uid/gid is invalid, tell if it's from setting or
	userdb lookup.
	[e83eec6d0126]

	* doc/example-config/conf.d/20-imap.conf, src/imap/cmd-list.c,
	src/imap/imap-settings.c, src/imap/imap-settings.h:
	imap: Added tb-lsub-flags to imap_client_workarounds. Patch by Bruno
	Tréguier.
	[0405f4c507c9]

2011-03-10  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-proxy-server.c:
	dsync: Reset idle timeouts at the end of i/o callbacks, not
	beginning. This could make a difference if the callback runs for a
	long time.
	[2ac35ed2f943]

2011-03-09  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap/imap-id.c:
	IMAP: Fixed ID command to log the parameters properly. Patch by Mike
	Abbott / Apple.
	[3b2c301ab31f]

	* src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server.c,
	src/dsync/dsync-proxy.h:
	dsync: Use a smaller idle timeout value for client than for server.
	[60c5cf26c3dd]

2011-03-07  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-proxy-client.c:
	dsync: Avoid hanging when saving messages.
	[33cd03255c94]

	* src/plugins/expire/expire-plugin.c:
	expire: Fixed mail_debug logging when same transaction expunged all
	messages and saved new.
	[2cb0fb910441]

	* src/plugins/expire/expire-plugin.c:
	expire: Added more debugging with mail_debug=yes
	[63ed0d3f4f52]

	* src/plugins/expire/expire-plugin.c:
	expire: When saving first message to expire mailbox, use the oldest
	message's save-time. This makes it easier to enable and test expire
	plugin. This also changes how expire dict is used: previously when
	all messages were expunged in a mailbox its entry was deleted in
	dict, but now its value is set to 0.
	[eac54c2dc98b]

	* .hgsigs:
	Added signature for changeset 3355b4bbd4ac
	[47279462da5a]

	* .hgtags:
	Added tag 2.0.11 for changeset 3355b4bbd4ac
	[4f76b03db4cd]

	* NEWS, configure.in:
	Released v2.0.11.
	[3355b4bbd4ac] [2.0.11]

	* src/lib-storage/mail-storage-settings.c:
	lib-storage: dotlock_use_excl default was accidentally set to "no".
	[61ed55d1c870]

	* src/dsync/dsync-proxy-client.c:
	dsync: Fixed a timeout/crash when saving messages to remote dsync.
	[5767657f0170]

2011-03-06  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-map.c:
	mdbox: Avoid leaking fds when saving many messages larger than
	mdbox_rotate_size.
	[d1f30e375f40]

2011-03-05  Timo Sirainen  <tss@iki.fi>

	* src/auth/db-ldap.c:
	auth: Fixed ldap assert-crash.
	[b44ec48d9425]

2011-03-04  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/doveadm-acl.c:
	doveadm acl set: Require non-standard rights to be prefixed with ':'
	char.
	[d757b13d84ff]

	* .hgsigs:
	Added signature for changeset 755c63ff089f
	[81d799f52912]

	* .hgtags:
	Added tag 2.0.10 for changeset 755c63ff089f
	[58039a22d17f]

	* NEWS, TODO, configure.in:
	Released v2.0.10.
	[755c63ff089f] [2.0.10]

	* src/anvil/anvil-connection.c, src/anvil/anvil-settings.c, src/anvil
	/connect-limit.c, src/anvil/main.c, src/anvil/penalty.c, src/anvil
	/test-penalty.c, src/auth/auth-cache.c, src/auth/auth-client-
	connection.c, src/auth/auth-master-connection.c, src/auth/auth-
	penalty.c, src/auth/auth-request-handler.c, src/auth/auth-request.c,
	src/auth/auth-settings.c, src/auth/auth-stream.c, src/auth/auth-
	worker-client.c, src/auth/auth-worker-server.c, src/auth/auth.c,
	src/auth/db-checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd-
	file.c, src/auth/db-sql.c, src/auth/main.c, src/auth/mech-
	anonymous.c, src/auth/mech-cram-md5.c, src/auth/mech-digest-md5.c,
	src/auth/mech-external.c, src/auth/mech-plain.c, src/auth/mech.c,
	src/auth/passdb-blocking.c, src/auth/passdb-bsdauth.c, src/auth
	/passdb-cache.c, src/auth/passdb-checkpassword.c, src/auth/passdb-
	ldap.c, src/auth/passdb-passwd-file.c, src/auth/passdb-passwd.c,
	src/auth/passdb-shadow.c, src/auth/passdb-sql.c, src/auth/passdb-
	static.c, src/auth/passdb-vpopmail.c, src/auth/passdb.c, src/auth
	/password-scheme-crypt.c, src/auth/password-scheme.c, src/auth
	/userdb-blocking.c, src/auth/userdb-checkpassword.c, src/auth
	/userdb-ldap.c, src/auth/userdb-nss.c, src/auth/userdb-passwd-
	file.c, src/auth/userdb-passwd.c, src/auth/userdb-prefetch.c,
	src/auth/userdb-sql.c, src/auth/userdb-static.c, src/auth/userdb-
	vpopmail.c, src/auth/userdb.c, src/config/config-connection.c,
	src/config/config-filter.c, src/config/config-parser.c, src/config
	/config-request.c, src/config/config-settings.c,
	src/config/doveconf.c, src/config/main.c, src/config/old-set-
	parser.c, src/config/sysinfo-get.c, src/dict/dict-commands.c,
	src/dict/dict-connection.c, src/dict/dict-settings.c,
	src/dict/main.c, src/director/auth-connection.c, src/director
	/director-connection.c, src/director/director-host.c, src/director
	/director-request.c, src/director/director-settings.c, src/director
	/director-test.c, src/director/director.c, src/director/doveadm-
	connection.c, src/director/login-connection.c, src/director/mail-
	host.c, src/director/main.c, src/director/notify-connection.c,
	src/director/user-directory.c, src/dns/dns-client-settings.c,
	src/dns/dns-client.c, src/doveadm/client-connection.c, src/doveadm
	/doveadm-auth.c, src/doveadm/doveadm-director.c, src/doveadm
	/doveadm-dump-index.c, src/doveadm/doveadm-dump-log.c, src/doveadm
	/doveadm-dump-mailboxlog.c, src/doveadm/doveadm-dump-thread.c,
	src/doveadm/doveadm-dump.c, src/doveadm/doveadm-kick.c, src/doveadm
	/doveadm-log.c, src/doveadm/doveadm-mail-altmove.c, src/doveadm
	/doveadm-mail-expunge.c, src/doveadm/doveadm-mail-fetch.c,
	src/doveadm/doveadm-mail-import.c, src/doveadm/doveadm-mail-iter.c,
	src/doveadm/doveadm-mail-list-iter.c, src/doveadm/doveadm-mail-
	mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c, src/doveadm
	/doveadm-mail-search.c, src/doveadm/doveadm-mail-server.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-master.c,
	src/doveadm/doveadm-mutf7.c, src/doveadm/doveadm-penalty.c,
	src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-pager.c,
	src/doveadm/doveadm-print-server.c, src/doveadm/doveadm-print-tab.c,
	src/doveadm/doveadm-print-table.c, src/doveadm/doveadm-print.c,
	src/doveadm/doveadm-settings.c, src/doveadm/doveadm-sis.c,
	src/doveadm/doveadm-util.c, src/doveadm/doveadm-who.c,
	src/doveadm/doveadm.c, src/doveadm/main.c, src/doveadm/server-
	connection.c, src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-
	brain-msgs.c, src/dsync/dsync-brain.c, src/dsync/dsync-data.c,
	src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c,
	src/dsync/dsync-proxy-server.c, src/dsync/dsync-proxy.c, src/dsync
	/dsync-worker-local.c, src/dsync/dsync-worker.c, src/dsync/dsync.c,
	src/dsync/test-dsync-brain-msgs.c, src/dsync/test-dsync-brain.c,
	src/dsync/test-dsync-common.c, src/dsync/test-dsync-proxy-server-
	cmd.c, src/dsync/test-dsync-proxy.c, src/dsync/test-dsync-worker.c,
	src/imap-login/client-authenticate.c, src/imap-login/client.c, src
	/imap-login/imap-login-settings.c, src/imap-login/imap-proxy.c,
	src/imap/cmd-append.c, src/imap/cmd-cancelupdate.c, src/imap/cmd-
	capability.c, src/imap/cmd-check.c, src/imap/cmd-close.c, src/imap
	/cmd-copy.c, src/imap/cmd-create.c, src/imap/cmd-delete.c, src/imap
	/cmd-enable.c, src/imap/cmd-examine.c, src/imap/cmd-expunge.c,
	src/imap/cmd-fetch.c, src/imap/cmd-id.c, src/imap/cmd-idle.c,
	src/imap/cmd-list.c, src/imap/cmd-logout.c, src/imap/cmd-lsub.c,
	src/imap/cmd-namespace.c, src/imap/cmd-noop.c, src/imap/cmd-
	rename.c, src/imap/cmd-search.c, src/imap/cmd-select.c, src/imap
	/cmd-sort.c, src/imap/cmd-status.c, src/imap/cmd-store.c, src/imap
	/cmd-subscribe.c, src/imap/cmd-thread.c, src/imap/cmd-uid.c,
	src/imap/cmd-unselect.c, src/imap/cmd-unsubscribe.c,
	src/imap/cmd-x-cancel.c, src/imap/imap-client.c, src/imap/imap-
	commands-util.c, src/imap/imap-commands.c, src/imap/imap-expunge.c,
	src/imap/imap-fetch-body.c, src/imap/imap-fetch.c, src/imap/imap-
	search-args.c, src/imap/imap-search.c, src/imap/imap-settings.c,
	src/imap/imap-status.c, src/imap/imap-sync.c, src/imap/mail-storage-
	callbacks.c, src/imap/main.c, src/lda/main.c, src/lib-auth/auth-
	client-request.c, src/lib-auth/auth-client.c, src/lib-auth/auth-
	master.c, src/lib-auth/auth-server-connection.c, src/lib-charset
	/charset-iconv.c, src/lib-charset/charset-utf8.c, src/lib-dict/dict-
	client.c, src/lib-dict/dict-db.c, src/lib-dict/dict-file.c, src/lib-
	dict/dict-sql-settings.c, src/lib-dict/dict-sql.c, src/lib-
	dict/dict.c, src/lib-dict/test-dict.c, src/lib-dns/dns-lookup.c, src
	/lib-fs/fs-api.c, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-common.c,
	src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c, src/lib-fs/ostream-
	cmp.c, src/lib-imap/imap-arg.c, src/lib-imap/imap-base-subject.c,
	src/lib-imap/imap-bodystructure.c, src/lib-imap/imap-date.c, src
	/lib-imap/imap-envelope.c, src/lib-imap/imap-id.c, src/lib-imap
	/imap-match.c, src/lib-imap/imap-parser.c, src/lib-imap/imap-
	quote.c, src/lib-imap/imap-seqset.c, src/lib-imap/imap-utf7.c, src
	/lib-imap/imap-util.c, src/lib-imap/test-imap-match.c, src/lib-imap
	/test-imap-parser.c, src/lib-imap/test-imap-utf7.c, src/lib-imap
	/test-imap-util.c, src/lib-index/mail-cache-compress.c, src/lib-
	index/mail-cache-decisions.c, src/lib-index/mail-cache-fields.c, src
	/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache-sync-
	update.c, src/lib-index/mail-cache-transaction.c, src/lib-index
	/mail-cache.c, src/lib-index/mail-index-alloc-cache.c, src/lib-index
	/mail-index-dummy-view.c, src/lib-index/mail-index-fsck.c, src/lib-
	index/mail-index-lock.c, src/lib-index/mail-index-map-hdr.c, src
	/lib-index/mail-index-map-read.c, src/lib-index/mail-index-map.c,
	src/lib-index/mail-index-modseq.c, src/lib-index/mail-index-
	strmap.c, src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-
	index-sync-keywords.c, src/lib-index/mail-index-sync-update.c, src
	/lib-index/mail-index-sync.c, src/lib-index/mail-index-transaction-
	export.c, src/lib-index/mail-index-transaction-finish.c, src/lib-
	index/mail-index-transaction-sort-appends.c, src/lib-index/mail-
	index-transaction-update.c, src/lib-index/mail-index-transaction-
	view.c, src/lib-index/mail-index-transaction.c, src/lib-index/mail-
	index-util.c, src/lib-index/mail-index-view-sync.c, src/lib-index
	/mail-index-view.c, src/lib-index/mail-index-write.c, src/lib-index
	/mail-index.c, src/lib-index/mail-transaction-log-append.c, src/lib-
	index/mail-transaction-log-file.c, src/lib-index/mail-transaction-
	log-view.c, src/lib-index/mail-transaction-log.c, src/lib-index
	/mailbox-list-index-sync.c, src/lib-index/mailbox-list-index.c, src
	/lib-index/mailbox-log.c, src/lib-index/test-mail-index-sync-ext.c,
	src/lib-index/test-mail-index-transaction-finish.c, src/lib-index
	/test-mail-index-transaction-update.c, src/lib-index/test-mail-
	transaction-log-append.c, src/lib-index/test-mail-transaction-log-
	view.c, src/lib-lda/duplicate.c, src/lib-lda/lda-settings.c, src
	/lib-lda/lmtp-client.c, src/lib-lda/mail-deliver.c, src/lib-lda
	/mail-send.c, src/lib-lda/smtp-client.c, src/lib-mail/istream-dot.c,
	src/lib-mail/istream-header-filter.c, src/lib-mail/mbox-from.c, src
	/lib-mail/message-address.c, src/lib-mail/message-date.c, src/lib-
	mail/message-decoder.c, src/lib-mail/message-header-decode.c, src
	/lib-mail/message-header-encode.c, src/lib-mail/message-header-
	parser.c, src/lib-mail/message-id.c, src/lib-mail/message-parser.c,
	src/lib-mail/message-part-serialize.c, src/lib-mail/message-
	search.c, src/lib-mail/message-send.c, src/lib-mail/message-size.c,
	src/lib-mail/quoted-printable.c, src/lib-mail/rfc2231-parser.c, src
	/lib-mail/rfc822-parser.c, src/lib-mail/test-istream-dot.c, src/lib-
	mail/test-istream-header-filter.c, src/lib-mail/test-mbox-from.c,
	src/lib-mail/test-message-address.c, src/lib-mail/test-message-
	date.c, src/lib-mail/test-message-decoder.c, src/lib-mail/test-
	message-header-decode.c, src/lib-mail/test-message-header-encode.c,
	src/lib-mail/test-message-header-parser.c, src/lib-mail/test-
	message-id.c, src/lib-mail/test-message-parser.c, src/lib-mail/test-
	quoted-printable.c, src/lib-mail/test-rfc2231-parser.c, src/lib-
	master/anvil-client.c, src/lib-master/master-auth.c, src/lib-master
	/master-login-auth.c, src/lib-master/master-login.c, src/lib-master
	/master-service-settings-cache.c, src/lib-master/master-service-
	settings.c, src/lib-master/master-service.c, src/lib-master/syslog-
	util.c, src/lib-settings/settings-parser.c, src/lib-
	settings/settings.c, src/lib-sql/driver-mysql.c, src/lib-sql/driver-
	pgsql.c, src/lib-sql/driver-sqlpool.c, src/lib-sql/sql-api.c, src
	/lib-sql/sql-db-cache.c, src/lib-storage/index/cydir/cydir-mail.c,
	src/lib-storage/index/cydir/cydir-save.c, src/lib-
	storage/index/cydir/cydir-storage.c, src/lib-storage/index/cydir
	/cydir-sync.c, src/lib-storage/index/dbox-common/dbox-attachment.c,
	src/lib-storage/index/dbox-common/dbox-file-fix.c, src/lib-
	storage/index/dbox-common/dbox-file.c, src/lib-storage/index/dbox-
	common/dbox-mail.c, src/lib-storage/index/dbox-common/dbox-save.c,
	src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-common/dbox-sync-rebuild.c, src/lib-storage/index
	/dbox-multi/mdbox-file.c, src/lib-storage/index/dbox-multi/mdbox-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-
	storage/index/dbox-multi/mdbox-purge.c, src/lib-storage/index/dbox-
	multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	settings.c, src/lib-storage/index/dbox-multi/mdbox-storage-
	rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src
	/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index
	/dbox-single/sdbox-copy.c, src/lib-storage/index/dbox-single/sdbox-
	file.c, src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-
	storage/index/dbox-single/sdbox-save.c, src/lib-storage/index/dbox-
	single/sdbox-storage.c, src/lib-storage/index/dbox-single/sdbox-
	sync-rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync.c, src
	/lib-storage/index/index-attachment.c, src/lib-storage/index/index-
	fetch.c, src/lib-storage/index/index-mail-headers.c, src/lib-
	storage/index/index-mail.c, src/lib-storage/index/index-mailbox-
	check.c, src/lib-storage/index/index-search-result.c, src/lib-
	storage/index/index-search.c, src/lib-storage/index/index-sort-
	string.c, src/lib-storage/index/index-sort.c, src/lib-storage/index
	/index-status.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-sync-changes.c, src/lib-storage/index/index-
	sync-search.c, src/lib-storage/index/index-sync.c, src/lib-
	storage/index/index-thread-finish.c, src/lib-storage/index/index-
	thread-links.c, src/lib-storage/index/index-thread.c, src/lib-
	storage/index/index-transaction.c, src/lib-storage/index/istream-
	attachment.c, src/lib-storage/index/istream-mail-stats.c, src/lib-
	storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir
	/maildir-filename.c, src/lib-storage/index/maildir/maildir-
	keywords.c, src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-settings.c, src/lib-storage/index/maildir/maildir-
	storage.c, src/lib-storage/index/maildir/maildir-sync-index.c, src
	/lib-storage/index/maildir/maildir-sync.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox
	/istream-raw-mbox.c, src/lib-storage/index/mbox/mbox-file.c, src
	/lib-storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox
	/mbox-mail.c, src/lib-storage/index/mbox/mbox-md5.c, src/lib-
	storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox-
	settings.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-sync-parse.c, src/lib-storage/index/mbox
	/mbox-sync-rewrite.c, src/lib-storage/index/mbox/mbox-sync-update.c,
	src/lib-storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw
	/raw-mail.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/raw/raw-sync.c, src/lib-storage/index/shared/shared-
	list.c, src/lib-storage/index/shared/shared-storage.c, src/lib-
	storage/index/test-index-fetch.c, src/lib-storage/list/index-
	mailbox-list-sync.c, src/lib-storage/list/index-mailbox-list.c, src
	/lib-storage/list/mailbox-list-delete.c, src/lib-storage/list
	/mailbox-list-fs-flags.c, src/lib-storage/list/mailbox-list-fs-
	iter.c, src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list
	/mailbox-list-maildir-iter.c, src/lib-storage/list/mailbox-list-
	maildir.c, src/lib-storage/list/mailbox-list-none.c, src/lib-
	storage/list/mailbox-list-subscriptions.c, src/lib-storage/list
	/subscription-file.c, src/lib-storage/mail-copy.c, src/lib-storage
	/mail-error.c, src/lib-storage/mail-namespace.c, src/lib-storage
	/mail-search-build.c, src/lib-storage/mail-search-parser-cmdline.c,
	src/lib-storage/mail-search-parser-imap.c, src/lib-storage/mail-
	search-parser.c, src/lib-storage/mail-search-register-human.c, src
	/lib-storage/mail-search-register-imap.c, src/lib-storage/mail-
	search-register.c, src/lib-storage/mail-search.c, src/lib-storage
	/mail-storage-hooks.c, src/lib-storage/mail-storage-service.c, src
	/lib-storage/mail-storage-settings.c, src/lib-storage/mail-
	storage.c, src/lib-storage/mail-thread.c, src/lib-storage/mail-
	user.c, src/lib-storage/mail.c, src/lib-storage/mailbox-list.c, src
	/lib-storage/mailbox-search-result.c, src/lib-storage/mailbox-
	tree.c, src/lib-storage/mailbox-uidvalidity.c, src/lib-storage/test-
	mail-storage.c, src/lib-storage/test-mail.c, src/lib-storage/test-
	mailbox.c, src/lib-test/test-common.c, src/lib/abspath.c,
	src/lib/aqueue.c, src/lib/array.c, src/lib/askpass.c, src/lib
	/backtrace-string.c, src/lib/base64.c, src/lib/bsearch-insert-pos.c,
	src/lib/buffer.c, src/lib/child-wait.c, src/lib/close-keep-errno.c,
	src/lib/compat.c, src/lib/crc32.c, src/lib/data-stack.c, src/lib
	/eacces-error.c, src/lib/env-util.c, src/lib/execv-const.c,
	src/lib/failures.c, src/lib/fd-close-on-exec.c, src/lib/fd-set-
	nonblock.c, src/lib/fdatasync-path.c, src/lib/fdpass.c, src/lib
	/file-cache.c, src/lib/file-copy.c, src/lib/file-dotlock.c, src/lib
	/file-lock.c, src/lib/file-set-size.c, src/lib/hash-format.c,
	src/lib/hash-method.c, src/lib/hash.c, src/lib/hash2.c, src/lib/hex-
	binary.c, src/lib/hex-dec.c, src/lib/home-expand.c,
	src/lib/hostpid.c, src/lib/imem.c, src/lib/ioloop-notify-dn.c,
	src/lib/ioloop-notify-fd.c, src/lib/ioloop-notify-inotify.c, src/lib
	/ioloop-notify-none.c, src/lib/ioloop-poll.c, src/lib/ioloop-
	select.c, src/lib/ioloop.c, src/lib/iostream.c, src/lib/istream-
	base64-encoder.c, src/lib/istream-concat.c, src/lib/istream-crlf.c,
	src/lib/istream-data.c, src/lib/istream-file.c, src/lib/istream-
	limit.c, src/lib/istream-mmap.c, src/lib/istream-seekable.c, src/lib
	/istream-tee.c, src/lib/istream.c, src/lib/lib-signals.c,
	src/lib/lib.c, src/lib/mempool-alloconly.c, src/lib/mempool-
	datastack.c, src/lib/mempool-system.c, src/lib/mempool-unsafe-
	datastack.c, src/lib/mempool.c, src/lib/mkdir-parents.c, src/lib
	/mmap-anon.c, src/lib/mmap-util.c, src/lib/module-dir.c,
	src/lib/mountpoint.c, src/lib/network.c, src/lib/nfs-workarounds.c,
	src/lib/ostream-buffer.c, src/lib/ostream-file.c, src/lib/ostream.c,
	src/lib/printf-format-fix.c, src/lib/priorityq.c, src/lib/process-
	title.c, src/lib/randgen.c, src/lib/read-full.c, src/lib/restrict-
	access.c, src/lib/restrict-process-size.c, src/lib/safe-memset.c,
	src/lib/safe-mkdir.c, src/lib/safe-mkstemp.c, src/lib/sendfile-
	util.c, src/lib/seq-range-array.c, src/lib/str-find.c, src/lib/str-
	sanitize.c, src/lib/str.c, src/lib/strescape.c, src/lib/strfuncs.c,
	src/lib/strnum.c, src/lib/test-aqueue.c, src/lib/test-array.c,
	src/lib/test-base64.c, src/lib/test-bsearch-insert-pos.c, src/lib
	/test-buffer.c, src/lib/test-crc32.c, src/lib/test-hash-format.c,
	src/lib/test-hex-binary.c, src/lib/test-istream-base64-encoder.c,
	src/lib/test-istream-concat.c, src/lib/test-istream-crlf.c, src/lib
	/test-istream-seekable.c, src/lib/test-istream-tee.c, src/lib/test-
	lib.c, src/lib/test-llist.c, src/lib/test-mempool-alloconly.c,
	src/lib/test-network.c, src/lib/test-ostream-file.c, src/lib/test-
	primes.c, src/lib/test-priorityq.c, src/lib/test-seq-range-array.c,
	src/lib/test-str-find.c, src/lib/test-str-sanitize.c, src/lib/test-
	strescape.c, src/lib/test-strfuncs.c, src/lib/test-time-util.c,
	src/lib/test-utc-mktime.c, src/lib/test-var-expand.c, src/lib/time-
	util.c, src/lib/unichar.c, src/lib/unix-socket-create.c, src/lib
	/unlink-directory.c, src/lib/unlink-old-files.c, src/lib/utc-
	mktime.c, src/lib/utc-offset.c, src/lib/var-expand.c, src/lib/write-
	full.c, src/lmtp/client.c, src/lmtp/commands.c, src/lmtp/lmtp-
	proxy.c, src/lmtp/lmtp-settings.c, src/lmtp/main.c, src/log/log-
	connection.c, src/log/log-settings.c, src/log/main.c, src/login-
	common/access-lookup.c, src/login-common/client-common-auth.c, src
	/login-common/client-common.c, src/login-common/login-proxy-state.c,
	src/login-common/login-proxy.c, src/login-common/login-settings.c,
	src/login-common/main.c, src/login-common/sasl-server.c, src/login-
	common/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c, src
	/login-common/ssl-proxy.c, src/master/dup2-array.c,
	src/master/main.c, src/master/master-settings.c, src/master/service-
	anvil.c, src/master/service-listen.c, src/master/service-log.c,
	src/master/service-monitor.c, src/master/service-process-notify.c,
	src/master/service-process.c, src/master/service.c, src/plugins/acl
	/acl-api.c, src/plugins/acl/acl-backend-vfile-acllist.c,
	src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-backend.c,
	src/plugins/acl/acl-cache.c, src/plugins/acl/acl-lookup-dict.c,
	src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-mailbox.c,
	src/plugins/acl/acl-plugin.c, src/plugins/acl/acl-shared-storage.c,
	src/plugins/acl/acl-storage.c, src/plugins/autocreate/autocreate-
	plugin.c, src/plugins/expire/doveadm-expire.c, src/plugins/expire
	/expire-plugin.c, src/plugins/expire/expire-set.c, src/plugins/fts-
	lucene/fts-backend-lucene.c, src/plugins/fts-lucene/fts-lucene-
	plugin.c, src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts-
	solr/fts-solr-plugin.c, src/plugins/fts-solr/solr-connection.c,
	src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts-squat
	/fts-squat-plugin.c, src/plugins/fts-squat/squat-test.c, src/plugins
	/fts-squat/squat-trie.c, src/plugins/fts-squat/squat-uidlist.c,
	src/plugins/fts/fts-api.c, src/plugins/fts/fts-plugin.c,
	src/plugins/fts/fts-search.c, src/plugins/fts/fts-storage.c,
	src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap-
	quota-plugin.c, src/plugins/imap-zlib/imap-zlib-plugin.c,
	src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log
	/mail-log-plugin.c, src/plugins/quota/doveadm-quota.c,
	src/plugins/quota/quota-count.c, src/plugins/quota/quota-dict.c,
	src/plugins/quota/quota-dirsize.c, src/plugins/quota/quota-fs.c,
	src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-plugin.c,
	src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c,
	src/plugins/snarf/snarf-plugin.c, src/plugins/trash/trash-plugin.c,
	src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual-
	mail.c, src/plugins/virtual/virtual-plugin.c, src/plugins/virtual
	/virtual-save.c, src/plugins/virtual/virtual-search.c,
	src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-
	sync.c, src/plugins/virtual/virtual-transaction.c, src/plugins/zlib
	/doveadm-zlib.c, src/plugins/zlib/istream-bzlib.c, src/plugins/zlib
	/istream-zlib.c, src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib
	/ostream-zlib.c, src/plugins/zlib/zlib-plugin.c, src/pop3-login
	/client-authenticate.c, src/pop3-login/client.c, src/pop3-login/pop3
	-login-settings.c, src/pop3-login/pop3-proxy.c, src/pop3/main.c,
	src/pop3/pop3-client.c, src/pop3/pop3-commands.c,
	src/pop3/pop3-settings.c, src/ssl-params/main.c, src/ssl-params/ssl-
	params-openssl.c, src/ssl-params/ssl-params-settings.c, src/ssl-
	params/ssl-params.c, src/util/gdbhelper.c, src/util/listview.c,
	src/util/maildirlock.c, src/util/rawlog.c, src/util/script-login.c,
	src/util/script.c, src/util/tcpwrap-settings.c, src/util/tcpwrap.c:
	Updated copyright notices to include year 2011.
	[44d0474a451e]

	* src/lib-master/anvil-client.c:
	lib-master: Added reconnection timeout to anvil client. Previously
	if anvil kept disconnecting, the client was rapidly flooding the
	logs with errors.
	[54e354cbf061]

	* src/master/master-settings.c:
	master: Allow protocols value to be empty (= same as "none")
	[a6382acebe7e]

	* src/master/common.h, src/master/main.c, src/master/service-
	monitor.c, src/master/service-process.c, src/master/service.c,
	src/master/service.h:
	master: Use per-services_list "master is dead" fd, so services know
	when config is reload.
	[539da23bff31]

	* src/master/service.c:
	master: Memory leak fix if services couldn't be initialized. (On
	config reload.)
	[65e943eafe8b]

	* src/lib-sql/driver-sqlpool.c:
	lib-sql: When adding more connections to sql pool, connect to them
	immediately.
	[e758f10f40c1]

	* src/lib-sql/driver-pgsql.c:
	pgsql: Don't assert-crash if query fails when trying to send it.
	[f95b1e26f1f2]

	* src/lib-sql/driver-pgsql.c:
	pgsql: If host isn't given, don't show pgsql((null)) as log prefix
	(or crash).
	[27ee65dc87c2]

	* doc/example-config/dovecot.conf:
	example-config: Added import_environment.
	[dfd5a2efd7df]

	* src/login-common/sasl-server.c:
	login: Skip auth penalty checks from IPs in login_trusted_networks.
	[73cad87e2045]

	* src/auth/auth-penalty.c, src/auth/auth-request.c, src/auth/auth-
	request.h, src/lib-auth/auth-client-request.c, src/lib-auth/auth-
	client.h:
	auth: Allow clients to specify that they want to skip auth penalty
	check. This is "safe", because the clients specify the IP for the
	penalty check anyway.
	[bf6749d4db08]

	* src/plugins/virtual/virtual-config.c:
	virtual: Allow search rule continuation lines to begin with tab as
	well as space.
	[d32a23fa160d]

	* src/lib-imap/imap-parser.c:
	lib-imap: imap_parser_finish_line() didn't return failure on invalid
	input.
	[3f21260a72ce]

	* src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.h, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.c:
	sdbox: Fixed creating mailbox with given GUID.
	[1ffeb083c993]

	* src/plugins/acl/doveadm-acl.c:
	doveadm acl debug: If any errors are noticed, fix them.
	[325e163a6f84]

	* src/plugins/acl/acl-api-private.h, src/plugins/acl/acl-api.c,
	src/plugins/acl/acl-api.h, src/plugins/acl/acl-backend-vfile-
	acllist.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-
	backend-vfile.h:
	acl: Added acl_backend_nonowner_lookups_rebuild()
	[313e9af474a4]

	* src/plugins/acl/doveadm-acl.c:
	doveadm: Added acl delete command.
	[20b173d061d9]

	* src/plugins/acl/doveadm-acl.c:
	doveadm acl debug: Show also if mailbox has private flags.
	[6c4f67202ebf]

	* src/plugins/acl/Makefile.am, src/plugins/acl/acl-api-private.h,
	src/plugins/acl/acl-api.c, src/plugins/acl/acl-backend-vfile.c,
	src/plugins/acl/acl-backend.c, src/plugins/acl/acl-lookup-dict.c,
	src/plugins/acl/acl-lookup-dict.h, src/plugins/acl/doveadm-acl.c:
	acl: Added doveadm plugin supporting acl get/set/rights/debug
	commands.
	[a2120ee55303]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: MAIL_STORAGE_SERVICE_FLAG_DEBUG didn't do anything.
	[35577e832d5a]

	* src/plugins/acl/acl-lookup-dict.c:
	acl: Fixed crash when acl_lookup_dict was disabled and user belonged
	to groups.
	[c0203b7923d3]

2011-03-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-purge.c:
	mdbox purge: Fixes to handling corrupted mdbox files.
	[989f3990b254]

	* src/lib-storage/index/dbox-common/dbox-file.c:
	mdbox: Storage rebuilding may have skipped over messages if the file
	was already at EOF. Probably didn't happen except when purging
	noticed corruption and triggered index rebuild.
	[fe144ecec678]

	* src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c:
	mysql/pgsql: Log prefixes now contain also the hostname. This is
	useful when there are multiple hosts in use.
	[965b9019ef2e]

2011-02-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-charset/charset-iconv.c:
	lib-charset: Skip over only invalid characters, not entire buffers
	around them.
	[b6f8d4bee20d]

	* src/doveadm/doveadm-mail-import.c:
	doveadm import: Fixed potential memory corruption.
	[2ab52f478b72]

	* src/doveadm/doveadm-mail.c:
	doveadm: Unload plugins only after calling command's deinit()
	function. This fixes a crash on deinit when using a plugin that
	hooks into user.deinit().
	[60daca1d28c7]

	* src/doveadm/doveadm-mail.c:
	doveadm: Memory leak fix.
	[f7cb34c45864]

	* src/auth/auth-request.c, src/auth/auth-request.h, src/auth/db-
	ldap.c, src/auth/db-ldap.h, src/auth/passdb-ldap.c, src/auth/userdb-
	ldap.c:
	auth: Log a warning if ldap attribute has unexpectedly multiple
	values.
	[946d1cd3300b]

	* src/lib-storage/index/index-thread.c:
	lib-storage: Failures when building thread index were hidden.
	[067f038ded8b]

2011-02-25  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-transaction-export.c:
	lib-index: If keyword is added and remove within transaction, don't
	write a broken keyword update. This could have caused "No UID ranges
	(type=0x400)" errors.
	[2762bb5a7481]

	* HEAD branch somehow came back. Removing it again.
	[679a1fa26479] <HEAD>

2011-02-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-transaction-export.c:
	lib-index: If keyword is added and remove within transaction, don't
	write a broken keyword update. This could have caused "No UID ranges
	(type=0x400)" errors.
	[b492ad185b53] <HEAD>

2011-02-22  Timo Sirainen  <tss@iki.fi>

	* src/config/old-set-parser.c:
	config: Fixed converting old auth/mail_process_size settings.
	[2480413a80fb]

2011-03-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: When unselecting a mailbox, send DONE to stop IDLE.
	[6c4a2ca946f3]

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: If server sends BAD, disconnect from it.
	[598bc0b91855]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-list.h, src/lib-storage/index/imapc/imapc-
	mailbox.c, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
	storage/index/imapc/imapc-storage.h, src/lib-storage/index/imapc
	/imapc-sync.c, src/lib-storage/index/imapc/imapc-sync.h:
	imapc: Initial support for local index files.
	[934c529052eb]

	* src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list.c, src
	/lib-storage/mailbox-list.h:
	lib-storage: Allow creating a secondary mailbox_list for a
	namespace.
	[395af848ec10]

	* src/plugins/quota/quota-fs.c:
	quota-fs: Don't log error if storage doesn't have a root directory.
	[5086e1504e28]

	* src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list.c, src
	/lib-storage/mailbox-list.h, src/plugins/listescape/listescape-
	plugin.c:
	Moved most of listescape plugin functionality directly to lib-
	storage. This fixes actually opening escaped mailboxes. The plugin
	may eventually be removed and replaced with a setting.
	[1421c354ced7]

2011-03-04  Timo Sirainen  <tss@iki.fi>

	* src/anvil/anvil-connection.c, src/anvil/anvil-settings.c, src/anvil
	/connect-limit.c, src/anvil/main.c, src/anvil/penalty.c, src/anvil
	/test-penalty.c, src/auth/auth-cache.c, src/auth/auth-client-
	connection.c, src/auth/auth-master-connection.c, src/auth/auth-
	penalty.c, src/auth/auth-request-handler.c, src/auth/auth-request.c,
	src/auth/auth-settings.c, src/auth/auth-stream.c, src/auth/auth-
	worker-client.c, src/auth/auth-worker-server.c, src/auth/auth.c,
	src/auth/db-checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd-
	file.c, src/auth/db-sql.c, src/auth/main.c, src/auth/mech-
	anonymous.c, src/auth/mech-cram-md5.c, src/auth/mech-digest-md5.c,
	src/auth/mech-external.c, src/auth/mech-plain.c, src/auth/mech.c,
	src/auth/passdb-blocking.c, src/auth/passdb-bsdauth.c, src/auth
	/passdb-cache.c, src/auth/passdb-checkpassword.c, src/auth/passdb-
	ldap.c, src/auth/passdb-passwd-file.c, src/auth/passdb-passwd.c,
	src/auth/passdb-shadow.c, src/auth/passdb-sql.c, src/auth/passdb-
	static.c, src/auth/passdb-vpopmail.c, src/auth/passdb.c, src/auth
	/password-scheme-crypt.c, src/auth/password-scheme.c, src/auth
	/userdb-blocking.c, src/auth/userdb-checkpassword.c, src/auth
	/userdb-ldap.c, src/auth/userdb-nss.c, src/auth/userdb-passwd-
	file.c, src/auth/userdb-passwd.c, src/auth/userdb-prefetch.c,
	src/auth/userdb-sql.c, src/auth/userdb-static.c, src/auth/userdb-
	vpopmail.c, src/auth/userdb.c, src/config/config-connection.c,
	src/config/config-filter.c, src/config/config-parser.c, src/config
	/config-request.c, src/config/config-settings.c,
	src/config/doveconf.c, src/config/main.c, src/config/old-set-
	parser.c, src/config/sysinfo-get.c, src/dict/dict-commands.c,
	src/dict/dict-connection.c, src/dict/dict-settings.c,
	src/dict/main.c, src/director/auth-connection.c, src/director
	/director-connection.c, src/director/director-host.c, src/director
	/director-request.c, src/director/director-settings.c, src/director
	/director-test.c, src/director/director.c, src/director/doveadm-
	connection.c, src/director/login-connection.c, src/director/mail-
	host.c, src/director/main.c, src/director/notify-connection.c,
	src/director/user-directory.c, src/dns/dns-client-settings.c,
	src/dns/dns-client.c, src/doveadm/client-connection.c, src/doveadm
	/doveadm-auth.c, src/doveadm/doveadm-director.c, src/doveadm
	/doveadm-dump-index.c, src/doveadm/doveadm-dump-log.c, src/doveadm
	/doveadm-dump-mailboxlog.c, src/doveadm/doveadm-dump-thread.c,
	src/doveadm/doveadm-dump.c, src/doveadm/doveadm-kick.c, src/doveadm
	/doveadm-log.c, src/doveadm/doveadm-mail-altmove.c, src/doveadm
	/doveadm-mail-expunge.c, src/doveadm/doveadm-mail-fetch.c,
	src/doveadm/doveadm-mail-import.c, src/doveadm/doveadm-mail-iter.c,
	src/doveadm/doveadm-mail-list-iter.c, src/doveadm/doveadm-mail-
	mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c, src/doveadm
	/doveadm-mail-search.c, src/doveadm/doveadm-mail-server.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-master.c,
	src/doveadm/doveadm-mutf7.c, src/doveadm/doveadm-penalty.c,
	src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-pager.c,
	src/doveadm/doveadm-print-server.c, src/doveadm/doveadm-print-tab.c,
	src/doveadm/doveadm-print-table.c, src/doveadm/doveadm-print.c,
	src/doveadm/doveadm-settings.c, src/doveadm/doveadm-sis.c,
	src/doveadm/doveadm-util.c, src/doveadm/doveadm-who.c,
	src/doveadm/doveadm.c, src/doveadm/main.c, src/doveadm/server-
	connection.c, src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-
	brain-msgs.c, src/dsync/dsync-brain.c, src/dsync/dsync-data.c,
	src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c,
	src/dsync/dsync-proxy-server.c, src/dsync/dsync-proxy.c, src/dsync
	/dsync-worker-local.c, src/dsync/dsync-worker.c, src/dsync/dsync.c,
	src/dsync/test-dsync-brain-msgs.c, src/dsync/test-dsync-brain.c,
	src/dsync/test-dsync-common.c, src/dsync/test-dsync-proxy-server-
	cmd.c, src/dsync/test-dsync-proxy.c, src/dsync/test-dsync-worker.c,
	src/imap-login/client-authenticate.c, src/imap-login/client.c, src
	/imap-login/imap-login-settings.c, src/imap-login/imap-proxy.c,
	src/imap/cmd-append.c, src/imap/cmd-cancelupdate.c, src/imap/cmd-
	capability.c, src/imap/cmd-check.c, src/imap/cmd-close.c, src/imap
	/cmd-copy.c, src/imap/cmd-create.c, src/imap/cmd-delete.c, src/imap
	/cmd-enable.c, src/imap/cmd-examine.c, src/imap/cmd-expunge.c,
	src/imap/cmd-fetch.c, src/imap/cmd-id.c, src/imap/cmd-idle.c,
	src/imap/cmd-list.c, src/imap/cmd-logout.c, src/imap/cmd-lsub.c,
	src/imap/cmd-namespace.c, src/imap/cmd-noop.c, src/imap/cmd-
	rename.c, src/imap/cmd-search.c, src/imap/cmd-select.c, src/imap
	/cmd-sort.c, src/imap/cmd-status.c, src/imap/cmd-store.c, src/imap
	/cmd-subscribe.c, src/imap/cmd-thread.c, src/imap/cmd-uid.c,
	src/imap/cmd-unselect.c, src/imap/cmd-unsubscribe.c,
	src/imap/cmd-x-cancel.c, src/imap/imap-client.c, src/imap/imap-
	commands-util.c, src/imap/imap-commands.c, src/imap/imap-expunge.c,
	src/imap/imap-fetch-body.c, src/imap/imap-fetch.c, src/imap/imap-
	search-args.c, src/imap/imap-search.c, src/imap/imap-settings.c,
	src/imap/imap-status.c, src/imap/imap-sync.c, src/imap/mail-storage-
	callbacks.c, src/imap/main.c, src/lda/main.c, src/lib-auth/auth-
	client-request.c, src/lib-auth/auth-client.c, src/lib-auth/auth-
	master.c, src/lib-auth/auth-server-connection.c, src/lib-charset
	/charset-iconv.c, src/lib-charset/charset-utf8.c, src/lib-dict/dict-
	client.c, src/lib-dict/dict-db.c, src/lib-dict/dict-file.c, src/lib-
	dict/dict-sql-settings.c, src/lib-dict/dict-sql.c, src/lib-
	dict/dict.c, src/lib-dict/test-dict.c, src/lib-dns/dns-lookup.c, src
	/lib-fs/fs-api.c, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-common.c,
	src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c, src/lib-fs/ostream-
	cmp.c, src/lib-imap/imap-arg.c, src/lib-imap/imap-base-subject.c,
	src/lib-imap/imap-bodystructure.c, src/lib-imap/imap-date.c, src
	/lib-imap/imap-envelope.c, src/lib-imap/imap-id.c, src/lib-imap
	/imap-match.c, src/lib-imap/imap-parser.c, src/lib-imap/imap-
	quote.c, src/lib-imap/imap-seqset.c, src/lib-imap/imap-utf7.c, src
	/lib-imap/imap-util.c, src/lib-imap/test-imap-match.c, src/lib-imap
	/test-imap-parser.c, src/lib-imap/test-imap-utf7.c, src/lib-imap
	/test-imap-util.c, src/lib-index/mail-cache-compress.c, src/lib-
	index/mail-cache-decisions.c, src/lib-index/mail-cache-fields.c, src
	/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache-sync-
	update.c, src/lib-index/mail-cache-transaction.c, src/lib-index
	/mail-cache.c, src/lib-index/mail-index-alloc-cache.c, src/lib-index
	/mail-index-dummy-view.c, src/lib-index/mail-index-fsck.c, src/lib-
	index/mail-index-lock.c, src/lib-index/mail-index-map-hdr.c, src
	/lib-index/mail-index-map-read.c, src/lib-index/mail-index-map.c,
	src/lib-index/mail-index-modseq.c, src/lib-index/mail-index-
	strmap.c, src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-
	index-sync-keywords.c, src/lib-index/mail-index-sync-update.c, src
	/lib-index/mail-index-sync.c, src/lib-index/mail-index-transaction-
	export.c, src/lib-index/mail-index-transaction-finish.c, src/lib-
	index/mail-index-transaction-sort-appends.c, src/lib-index/mail-
	index-transaction-update.c, src/lib-index/mail-index-transaction-
	view.c, src/lib-index/mail-index-transaction.c, src/lib-index/mail-
	index-util.c, src/lib-index/mail-index-view-sync.c, src/lib-index
	/mail-index-view.c, src/lib-index/mail-index-write.c, src/lib-index
	/mail-index.c, src/lib-index/mail-transaction-log-append.c, src/lib-
	index/mail-transaction-log-file.c, src/lib-index/mail-transaction-
	log-view.c, src/lib-index/mail-transaction-log.c, src/lib-index
	/mailbox-log.c, src/lib-index/test-mail-index-sync-ext.c, src/lib-
	index/test-mail-index-transaction-finish.c, src/lib-index/test-mail-
	index-transaction-update.c, src/lib-index/test-mail-transaction-log-
	append.c, src/lib-index/test-mail-transaction-log-view.c, src/lib-
	lda/duplicate.c, src/lib-lda/lda-settings.c, src/lib-lda/lmtp-
	client.c, src/lib-lda/mail-deliver.c, src/lib-lda/mail-send.c, src
	/lib-lda/smtp-client.c, src/lib-mail/istream-dot.c, src/lib-mail
	/istream-header-filter.c, src/lib-mail/mbox-from.c, src/lib-mail
	/message-address.c, src/lib-mail/message-date.c, src/lib-mail
	/message-decoder.c, src/lib-mail/message-header-decode.c, src/lib-
	mail/message-header-encode.c, src/lib-mail/message-header-parser.c,
	src/lib-mail/message-id.c, src/lib-mail/message-parser.c, src/lib-
	mail/message-part-serialize.c, src/lib-mail/message-search.c, src
	/lib-mail/message-send.c, src/lib-mail/message-size.c, src/lib-mail
	/quoted-printable.c, src/lib-mail/rfc2231-parser.c, src/lib-
	mail/rfc822-parser.c, src/lib-mail/test-istream-dot.c, src/lib-mail
	/test-istream-header-filter.c, src/lib-mail/test-mbox-from.c, src
	/lib-mail/test-message-address.c, src/lib-mail/test-message-date.c,
	src/lib-mail/test-message-decoder.c, src/lib-mail/test-message-
	header-decode.c, src/lib-mail/test-message-header-encode.c, src/lib-
	mail/test-message-header-parser.c, src/lib-mail/test-message-id.c,
	src/lib-mail/test-message-parser.c, src/lib-mail/test-quoted-
	printable.c, src/lib-mail/test-rfc2231-parser.c, src/lib-master
	/anvil-client.c, src/lib-master/master-auth.c, src/lib-master
	/master-login-auth.c, src/lib-master/master-login.c, src/lib-master
	/master-service-settings-cache.c, src/lib-master/master-service-
	settings.c, src/lib-master/master-service.c, src/lib-master/syslog-
	util.c, src/lib-settings/settings-parser.c, src/lib-
	settings/settings.c, src/lib-sql/driver-mysql.c, src/lib-sql/driver-
	pgsql.c, src/lib-sql/driver-sqlpool.c, src/lib-sql/sql-api.c, src
	/lib-sql/sql-db-cache.c, src/lib-storage/index/cydir/cydir-mail.c,
	src/lib-storage/index/cydir/cydir-save.c, src/lib-
	storage/index/cydir/cydir-storage.c, src/lib-storage/index/cydir
	/cydir-sync.c, src/lib-storage/index/dbox-common/dbox-attachment.c,
	src/lib-storage/index/dbox-common/dbox-file-fix.c, src/lib-
	storage/index/dbox-common/dbox-file.c, src/lib-storage/index/dbox-
	common/dbox-mail.c, src/lib-storage/index/dbox-common/dbox-save.c,
	src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-common/dbox-sync-rebuild.c, src/lib-storage/index
	/dbox-multi/mdbox-file.c, src/lib-storage/index/dbox-multi/mdbox-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-
	storage/index/dbox-multi/mdbox-purge.c, src/lib-storage/index/dbox-
	multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	settings.c, src/lib-storage/index/dbox-multi/mdbox-storage-
	rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src
	/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index
	/dbox-single/sdbox-copy.c, src/lib-storage/index/dbox-single/sdbox-
	file.c, src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-
	storage/index/dbox-single/sdbox-save.c, src/lib-storage/index/dbox-
	single/sdbox-storage.c, src/lib-storage/index/dbox-single/sdbox-
	sync-rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync.c, src
	/lib-storage/index/imapc/imapc-sync.c, src/lib-storage/index/index-
	attachment.c, src/lib-storage/index/index-mail-headers.c, src/lib-
	storage/index/index-mail.c, src/lib-storage/index/index-mailbox-
	check.c, src/lib-storage/index/index-search-result.c, src/lib-
	storage/index/index-search.c, src/lib-storage/index/index-sort-
	string.c, src/lib-storage/index/index-sort.c, src/lib-storage/index
	/index-status.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-sync-changes.c, src/lib-storage/index/index-
	sync-search.c, src/lib-storage/index/index-sync.c, src/lib-
	storage/index/index-thread-finish.c, src/lib-storage/index/index-
	thread-links.c, src/lib-storage/index/index-thread.c, src/lib-
	storage/index/index-transaction.c, src/lib-storage/index/istream-
	attachment.c, src/lib-storage/index/istream-mail-stats.c, src/lib-
	storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir
	/maildir-filename-flags.c, src/lib-storage/index/maildir/maildir-
	filename.c, src/lib-storage/index/maildir/maildir-keywords.c, src
	/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-settings.c, src/lib-storage/index/maildir/maildir-
	storage.c, src/lib-storage/index/maildir/maildir-sync-index.c, src
	/lib-storage/index/maildir/maildir-sync.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox
	/istream-raw-mbox.c, src/lib-storage/index/mbox/mbox-file.c, src
	/lib-storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox
	/mbox-mail.c, src/lib-storage/index/mbox/mbox-md5.c, src/lib-
	storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox-
	settings.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-sync-parse.c, src/lib-storage/index/mbox
	/mbox-sync-rewrite.c, src/lib-storage/index/mbox/mbox-sync-update.c,
	src/lib-storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw
	/raw-mail.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/raw/raw-sync.c, src/lib-storage/index/shared/shared-
	list.c, src/lib-storage/index/shared/shared-storage.c, src/lib-
	storage/list/mailbox-list-delete.c, src/lib-storage/list/mailbox-
	list-fs-flags.c, src/lib-storage/list/mailbox-list-fs-iter.c, src
	/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-
	list-maildir-iter.c, src/lib-storage/list/mailbox-list-maildir.c,
	src/lib-storage/list/mailbox-list-none.c, src/lib-storage/list
	/mailbox-list-subscriptions.c, src/lib-storage/list/subscription-
	file.c, src/lib-storage/mail-copy.c, src/lib-storage/mail-error.c,
	src/lib-storage/mail-namespace.c, src/lib-storage/mail-search-
	build.c, src/lib-storage/mail-search-parser-cmdline.c, src/lib-
	storage/mail-search-parser-imap.c, src/lib-storage/mail-search-
	parser.c, src/lib-storage/mail-search-register-human.c, src/lib-
	storage/mail-search-register-imap.c, src/lib-storage/mail-search-
	register.c, src/lib-storage/mail-search.c, src/lib-storage/mail-
	storage-hooks.c, src/lib-storage/mail-storage-service.c, src/lib-
	storage/mail-storage-settings.c, src/lib-storage/mail-storage.c, src
	/lib-storage/mail-thread.c, src/lib-storage/mail-user.c, src/lib-
	storage/mail.c, src/lib-storage/mailbox-get.c, src/lib-storage
	/mailbox-header.c, src/lib-storage/mailbox-keywords.c, src/lib-
	storage/mailbox-list.c, src/lib-storage/mailbox-search-result.c, src
	/lib-storage/mailbox-tree.c, src/lib-storage/mailbox-uidvalidity.c,
	src/lib-storage/test-mail-storage.c, src/lib-storage/test-mail.c,
	src/lib-storage/test-mailbox-get.c, src/lib-storage/test-mailbox.c,
	src/lib-test/test-common.c, src/lib/abspath.c, src/lib/aqueue.c,
	src/lib/array.c, src/lib/askpass.c, src/lib/backtrace-string.c,
	src/lib/base64.c, src/lib/bsearch-insert-pos.c, src/lib/buffer.c,
	src/lib/child-wait.c, src/lib/close-keep-errno.c, src/lib/compat.c,
	src/lib/crc32.c, src/lib/data-stack.c, src/lib/eacces-error.c,
	src/lib/env-util.c, src/lib/execv-const.c, src/lib/failures.c,
	src/lib/fd-close-on-exec.c, src/lib/fd-set-nonblock.c, src/lib
	/fdatasync-path.c, src/lib/fdpass.c, src/lib/file-cache.c, src/lib
	/file-copy.c, src/lib/file-dotlock.c, src/lib/file-lock.c, src/lib
	/file-set-size.c, src/lib/hash-format.c, src/lib/hash-method.c,
	src/lib/hash.c, src/lib/hash2.c, src/lib/hex-binary.c, src/lib/hex-
	dec.c, src/lib/home-expand.c, src/lib/hostpid.c, src/lib/imem.c,
	src/lib/ioloop-notify-dn.c, src/lib/ioloop-notify-fd.c, src/lib
	/ioloop-notify-inotify.c, src/lib/ioloop-notify-none.c, src/lib
	/ioloop-poll.c, src/lib/ioloop-select.c, src/lib/ioloop.c,
	src/lib/iostream.c, src/lib/istream-base64-encoder.c, src/lib
	/istream-concat.c, src/lib/istream-crlf.c, src/lib/istream-data.c,
	src/lib/istream-file.c, src/lib/istream-limit.c, src/lib/istream-
	mmap.c, src/lib/istream-seekable.c, src/lib/istream-tee.c,
	src/lib/istream.c, src/lib/lib-signals.c, src/lib/lib.c, src/lib
	/mempool-alloconly.c, src/lib/mempool-datastack.c, src/lib/mempool-
	system.c, src/lib/mempool-unsafe-datastack.c, src/lib/mempool.c,
	src/lib/mkdir-parents.c, src/lib/mmap-anon.c, src/lib/mmap-util.c,
	src/lib/module-dir.c, src/lib/mountpoint.c, src/lib/network.c,
	src/lib/nfs-workarounds.c, src/lib/ostream-buffer.c, src/lib
	/ostream-file.c, src/lib/ostream.c, src/lib/printf-format-fix.c,
	src/lib/priorityq.c, src/lib/process-title.c, src/lib/randgen.c,
	src/lib/read-full.c, src/lib/restrict-access.c, src/lib/restrict-
	process-size.c, src/lib/safe-memset.c, src/lib/safe-mkdir.c, src/lib
	/safe-mkstemp.c, src/lib/sendfile-util.c, src/lib/seq-range-array.c,
	src/lib/str-find.c, src/lib/str-sanitize.c, src/lib/str.c,
	src/lib/strescape.c, src/lib/strfuncs.c, src/lib/strnum.c, src/lib
	/test-aqueue.c, src/lib/test-array.c, src/lib/test-base64.c, src/lib
	/test-bsearch-insert-pos.c, src/lib/test-buffer.c, src/lib/test-
	crc32.c, src/lib/test-hash-format.c, src/lib/test-hex-binary.c,
	src/lib/test-istream-base64-encoder.c, src/lib/test-istream-
	concat.c, src/lib/test-istream-crlf.c, src/lib/test-istream-
	seekable.c, src/lib/test-istream-tee.c, src/lib/test-lib.c, src/lib
	/test-llist.c, src/lib/test-mempool-alloconly.c, src/lib/test-
	network.c, src/lib/test-ostream-file.c, src/lib/test-primes.c,
	src/lib/test-priorityq.c, src/lib/test-seq-range-array.c, src/lib
	/test-str-find.c, src/lib/test-str-sanitize.c, src/lib/test-
	strescape.c, src/lib/test-strfuncs.c, src/lib/test-time-util.c,
	src/lib/test-utc-mktime.c, src/lib/test-var-expand.c, src/lib/time-
	util.c, src/lib/unichar.c, src/lib/unix-socket-create.c, src/lib
	/unlink-directory.c, src/lib/unlink-old-files.c, src/lib/utc-
	mktime.c, src/lib/utc-offset.c, src/lib/var-expand.c, src/lib/write-
	full.c, src/lmtp/client.c, src/lmtp/commands.c, src/lmtp/lmtp-
	proxy.c, src/lmtp/lmtp-settings.c, src/lmtp/main.c, src/log/log-
	connection.c, src/log/log-settings.c, src/log/main.c, src/login-
	common/access-lookup.c, src/login-common/client-common-auth.c, src
	/login-common/client-common.c, src/login-common/login-proxy-state.c,
	src/login-common/login-proxy.c, src/login-common/login-settings.c,
	src/login-common/main.c, src/login-common/sasl-server.c, src/login-
	common/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c, src
	/login-common/ssl-proxy.c, src/master/dup2-array.c,
	src/master/main.c, src/master/master-settings.c, src/master/service-
	anvil.c, src/master/service-listen.c, src/master/service-log.c,
	src/master/service-monitor.c, src/master/service-process-notify.c,
	src/master/service-process.c, src/master/service.c, src/plugins/acl
	/acl-api.c, src/plugins/acl/acl-backend-vfile-acllist.c,
	src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-backend.c,
	src/plugins/acl/acl-cache.c, src/plugins/acl/acl-lookup-dict.c,
	src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-mailbox.c,
	src/plugins/acl/acl-plugin.c, src/plugins/acl/acl-shared-storage.c,
	src/plugins/acl/acl-storage.c, src/plugins/autocreate/autocreate-
	plugin.c, src/plugins/expire/doveadm-expire.c, src/plugins/expire
	/expire-plugin.c, src/plugins/expire/expire-set.c, src/plugins/fts-
	lucene/fts-backend-lucene.c, src/plugins/fts-lucene/fts-lucene-
	plugin.c, src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts-
	solr/fts-solr-plugin.c, src/plugins/fts-solr/solr-connection.c,
	src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts-squat
	/fts-squat-plugin.c, src/plugins/fts-squat/squat-test.c, src/plugins
	/fts-squat/squat-trie.c, src/plugins/fts-squat/squat-uidlist.c,
	src/plugins/fts/fts-api.c, src/plugins/fts/fts-mailbox.c,
	src/plugins/fts/fts-plugin.c, src/plugins/fts/fts-search.c,
	src/plugins/fts/fts-storage.c, src/plugins/imap-acl/imap-acl-
	plugin.c, src/plugins/imap-quota/imap-quota-plugin.c, src/plugins
	/imap-zlib/imap-zlib-plugin.c, src/plugins/lazy-expunge/lazy-
	expunge-plugin.c, src/plugins/listescape/listescape-plugin.c,
	src/plugins/mail-log/mail-log-plugin.c, src/plugins/quota/doveadm-
	quota.c, src/plugins/quota/quota-count.c, src/plugins/quota/quota-
	dict.c, src/plugins/quota/quota-dirsize.c, src/plugins/quota/quota-
	fs.c, src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-
	plugin.c, src/plugins/quota/quota-storage.c,
	src/plugins/quota/quota.c, src/plugins/snarf/snarf-plugin.c,
	src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
	config.c, src/plugins/virtual/virtual-mail.c, src/plugins/virtual
	/virtual-plugin.c, src/plugins/virtual/virtual-save.c,
	src/plugins/virtual/virtual-search.c, src/plugins/virtual/virtual-
	storage.c, src/plugins/virtual/virtual-sync.c, src/plugins/virtual
	/virtual-transaction.c, src/plugins/zlib/doveadm-zlib.c,
	src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c,
	src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib/ostream-zlib.c,
	src/plugins/zlib/zlib-plugin.c, src/pop3-login/client-
	authenticate.c, src/pop3-login/client.c, src/pop3-login/pop3-login-
	settings.c, src/pop3-login/pop3-proxy.c, src/pop3/main.c,
	src/pop3/pop3-client.c, src/pop3/pop3-commands.c,
	src/pop3/pop3-settings.c, src/ssl-params/main.c, src/ssl-params/ssl-
	params-openssl.c, src/ssl-params/ssl-params-settings.c, src/ssl-
	params/ssl-params.c, src/util/gdbhelper.c, src/util/maildirlock.c,
	src/util/rawlog.c, src/util/script-login.c, src/util/script.c,
	src/util/tcpwrap-settings.c, src/util/tcpwrap.c:
	Updated copyright notices to include year 2011.
	[447bce266022]

	* src/plugins/virtual/virtual-config.c:
	virtual: Allow search rule continuation lines to begin with tab as
	well as space.
	[991d1dfa88d4]

	* src/lib-imap/imap-parser.c:
	lib-imap: imap_parser_finish_line() didn't return failure on invalid
	input.
	[92212cdfb962]

	* src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.h, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.c:
	sdbox: Fixed creating mailbox with given GUID.
	[6f0321a9dce7]

	* src/plugins/acl/doveadm-acl.c:
	doveadm acl debug: If any errors are noticed, fix them.
	[a177e4f3ee2e]

	* src/plugins/acl/acl-api-private.h, src/plugins/acl/acl-api.c,
	src/plugins/acl/acl-api.h, src/plugins/acl/acl-backend-vfile-
	acllist.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-
	backend-vfile.h:
	acl: Added acl_backend_nonowner_lookups_rebuild()
	[988e363ac17d]

	* src/plugins/acl/doveadm-acl.c:
	doveadm acl debug: Compile fix for earlier change.
	[6b0f4dc0fac6]

	* src/plugins/acl/doveadm-acl.c:
	doveadm: Added acl delete command.
	[5dea44b3d133]

	* src/plugins/acl/doveadm-acl.c:
	doveadm acl debug: Show also if mailbox has private flags.
	[cb393d8a1fd7]

	* src/lib-storage/index/shared/shared-list.c:
	lib-storage: Fixed accessing shared mailboxes.
	[a121592817ba]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: MAIL_STORAGE_SERVICE_FLAG_DEBUG didn't do anything.
	[e26af53b6b40]

	* src/plugins/acl/acl-lookup-dict.c, src/plugins/acl/acl-lookup-
	dict.h, src/plugins/acl/doveadm-acl.c:
	acl: Added doveadm acl debug command.
	[a868f845cd40]

	* src/plugins/acl/acl-lookup-dict.c:
	acl: Fixed crash when acl_lookup_dict was disabled and user belonged
	to groups.
	[d03bdf2bf709]

	* src/plugins/acl/Makefile.am, src/plugins/acl/acl-api-private.h,
	src/plugins/acl/acl-api.c, src/plugins/acl/acl-backend-vfile.c,
	src/plugins/acl/acl-backend.c, src/plugins/acl/doveadm-acl.c:
	acl: Added doveadm plugin supporting acl get/set/rights commands.
	[5b16b5436e4e]

2011-02-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-thread.c:
	lib-storage: Crashfix on thread handling.
	[0a8ed89df696]

	* src/lib-storage/index/imapc/imapc-client-private.h, src/lib-
	storage/index/imapc/imapc-client.c, src/lib-storage/index/imapc
	/imapc-client.h, src/lib-storage/index/imapc/imapc-connection.c, src
	/lib-storage/index/imapc/imapc-connection.h, src/lib-
	storage/index/imapc/imapc-list.c, src/lib-storage/index/imapc/imapc-
	save.c, src/lib-storage/index/imapc/imapc-search.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	imapc: Use multiple client connections when necessary. Some other
	fixes.
	[c5816dd58dcf]

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: Fixed sending large streams in commands (APPEND)
	[c23cd8a92661]

2011-02-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-search.c:
	imapc: Don't try to wait for FETCH to return messages that are known
	to be expunged.
	[b36c14a5d680]

	* src/lib-storage/index/imapc/imapc-mail.c, src/lib-
	storage/index/imapc/imapc-search.c:
	imapc: Fixes to handling FETCH commands.
	[0c1e221fc140]

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-client.h, src/lib-storage/index/imapc
	/imapc-connection.c, src/lib-storage/index/imapc/imapc-connection.h,
	src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc/imapc-
	seqmap.c, src/lib-storage/index/imapc/imapc-seqmap.h, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h, src/lib-storage/index/imapc/imapc-sync.c, src/lib-
	storage/index/imapc/imapc-sync.h:
	imapc: Many fixes related to syncing and error handling.
	[345100da8c67]

	* src/lib-index/mail-index-private.h, src/lib-index/mail-index-view.c,
	src/lib-index/mail-index.c, src/lib-index/mail-transaction-log-
	view.c, src/lib-index/mail-transaction-log.c, src/lib-index/mail-
	transaction-log.h:
	lib-index: Give better assert-crashes if view or log view isn't
	closed. Earlier it should have also assert-crashed with "log->files
	== NULL", which didn't make it clear enough why the files aren't
	NULL.
	[74300385cce0]

	* src/lib/ioloop.c:
	ioloop: Memory leak fix.
	[3e8ee35da672]

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: Fixed crashing in IDLE handling when server got disconnected.
	[8e222035b6e9]

	* src/imap/imap-sync.c, src/lib-index/mail-index-transaction.c,
	src/lib/process-title.c:
	Avoid unnecessary data stack leaks.
	[ea1c0e39f794]

	* src/lib-index/mail-index-transaction-export.c:
	lib-index: If keyword is added and remove within transaction, don't
	write a broken keyword update. This could have caused "No UID ranges
	(type=0x400)" errors.
	[99b340a4c747]

2011-02-22  Timo Sirainen  <tss@iki.fi>

	* NEWS:
	NEWS updated with initial list of new features.
	[a9162e7c3574]

	* TODO:
	TODO updated
	[04073884748a]

	* TODO, configure.in, src/doveadm/doveadm-mail-import.c, src/doveadm
	/doveadm-mail.c, src/dsync/dsync-worker-local.c, src/imap/cmd-
	copy.c, src/imap/imap-client.c, src/imap/imap-client.h,
	src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib-storage/index
	/dbox-common/dbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-
	map.c, src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-
	storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
	storage.c, src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c,
	src/lib-storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/list/mailbox-list-maildir.c, src/lib-storage/list/mailbox-
	list-none.c, src/lib-storage/mail-storage.c, src/lib-storage/mail-
	storage.h, src/lib-storage/mailbox-list.c, src/lib/ioloop.c,
	src/lmtp/client.c, src/lmtp/commands.c, src/plugins/virtual/virtual-
	save.c, src/util/script.c:
	Merged changes from v2.0 tree.
	[baa0314ed610]

	* src/config/config-request.c:
	config: Previous commit allows removing "0" from strlist/0/key=value
	output.
	[e7fa2906f875]

	* src/lib-settings/settings-parser.c:
	lib-settings: Fixed setting "strlist/key=value" when strlist hadn't
	been initialized yet. This happened when using -O parameter.
	[bc77e80947c0]

	* doc/example-config/conf.d/15-lda.conf, src/lib-lda/lda-settings.c,
	src/lib-lda/lda-settings.h, src/lib-lda/smtp-client.c:
	lib-lda: Added submission_host setting to send mails via SMTP
	instead of sendmail.
	[be78b9fd88e7]

	* src/imap/imap-client.c, src/imap/imap-client.h:
	imap: Fixed infinite loop / memory eating with SEARCHRES +
	pipelining $. If SEARCH RETURN (SAVE) command was running long
	enough so that Dovecot started executing the next command, and if
	that command used $ in messageset, Dovecot went into infinite
	function recursion.
	[3053befe6a64]

2011-02-22  Mike Kazantsev (sacrilege)  <mk.fraggod@gmail.com>

	* dovecot.service.in:
	systemd service: added [Install] section, so it can be used
	independently from dovecot.socket
	[324f9ca60539]

2011-02-22  Timo Sirainen  <tss@iki.fi>

	* src/plugins/expire/doveadm-expire.c:
	doveadm expire: Added more error and debug messages.
	[9862e8388a1c]

	* src/doveadm/doveadm-mail-import.c:
	doveadm import: Settings weren't correctly used for the import
	storage. For example plugins weren't loaded, causing problems with
	zlib compressed messages.
	[dc4e0320c087]

	* src/lib-index/mail-transaction-log-view.c:
	lib-index: Verify that expunge-guid records have valid UID.
	[9a4c198597d8]

2011-02-18  Timo Sirainen  <tss@iki.fi>

	* src/plugins/zlib/doveadm-zlib.c:
	Compiler warning fix.
	[cce208f9b393]

	* src/lib/unichar.c, src/lib/unichar.h:
	Added uni_utf8_data_is_valid().
	[35c6df7f6144]

2011-02-17  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm-quota.1.in:
	man: Storage quota values are reported in kilobytes.
	[206cc9b37215]

2011-02-17  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain-msgs-new.c:
	dsync: Flush workers' output earlier when saving messages.
	[b48c31797b93]

	* src/dsync/dsync-proxy-client.c:
	dsync: Error handling fix to "proxy client timed out".
	[b1992c77e9d2]

	* src/dsync/dsync-proxy-client.c:
	dsync: Fixed somewhat random failures with saving messages to remote
	dsync.
	[7ce47a476656]

	* src/lib-storage/index/dbox-common/dbox-sync-rebuild.c, src/lib-
	storage/index/dbox-common/dbox-sync-rebuild.h, src/lib-storage/index
	/dbox-multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-
	single/sdbox-sync-rebuild.c:
	dbox index rebuild: If alt dir isn't mounted (can't be mkdir()ed),
	abort rebuild.
	[159605040ec0]

	* src/lib-storage/index/dbox-common/dbox-attachment.c:
	dbox: Check that attachment extref parts won't point outside
	message.
	[c9af551124fb]

	* src/lib/istream-limit.c:
	istream-limit: Allow seeking past limit without assert-crashing. The
	next read() will simply return EOF.
	[7705bd04924c]

	* doc/example-config/conf.d/20-pop3.conf:
	example-config: mail_max_userip_connections default is 10, even for
	pop3. 3 would probably be better, but there's no way to set per-
	protocol defaults currently.
	[db7abf4a29e5]

	* src/lib-sql/driver-pgsql.c:
	pgsql: Added assert.
	[b3cb10df15e6]

	* src/lib-sql/driver-pgsql.c:
	pgsql: Don't assert-crash on "query timed out" error.
	[7d265040cd02]

	* src/lib-storage/mail-storage.c:
	lib-storage: Fixed renaming mailboxes in a non-private namespace.
	[3c61817f30bb]

	* src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c:
	lmtp: Don't forget LHLO host when sending multiple messages in
	session.
	[aba5a6a24b99]

2011-02-11  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c:
	auth: If username contains invalid chars, log sanitized username
	even without auth_debug.
	[049a922c193c]

	* src/doveadm/doveadm-mail.c:
	doveadm: Previous mailbox create -s fix broke -A/-u parameters.
	Fixed now properly the root cause: -S parameter was handled as -s by
	getopt.
	[775a3a64ea74]

2011-02-10  Dennis Schridde  <devurandom@gmx.net>

	* src/lib/module-dir.c:
	Put modulename in quotes when complaining about its non-existence
	[723a26a7d328]

2011-02-10  Timo Sirainen  <tss@iki.fi>

	* src/master/main.c:
	master: Change stderr to /dev/null just before forking.
	[08e4280e5bfd]

	* src/lib-mail/istream-header-filter.c:
	istream-header-filter: Fixes handling HEADER_FILTER_END_BODY_WITH_LF
	correctly.
	[079a81fb5117]

	* src/lib-storage/list/mailbox-list-maildir.c:
	Maildir++: Fixed crash when listing subscriptions for a
	subscriptions=no namespace from LAYOUT=fs namespace.
	[4374ae187075]

	* src/doveadm/doveadm.c, src/lib-lda/smtp-client.c, src/lib-master
	/master-interface.h, src/lib-master/master-service-settings.c, src
	/lib-master/master-service-settings.h, src/lib-master/master-
	service.c, src/lib-master/master-service.h, src/lib-storage/mail-
	storage-service.c, src/master/main.c, src/master/master-settings.c,
	src/master/master-settings.h, src/master/service-process.c,
	src/master/service.c, src/master/service.h:
	Added import_environment setting. This also cleans up different
	places in code where TZ and other environments are preserved. If
	it's not in the import_environment setting, it's not preserved.
	[cec7fa92ff48]

	* src/doveadm/doveadm-mail.c:
	doveadm: Fixed giving parameters to mail commands.
	[98f13cc1e649]

2011-02-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-auth.c:
	lib-master: If post-login socket disconnects unexpectedly, suggest
	process_limit being the reason.
	[443cc3044d91]

	* src/master/service-monitor.c:
	master: If process limit is reached, just accept and close the
	client connection. This makes it a bit clearer what the problem is,
	so that client can log a better error message.
	[b399f91ae660]

2011-02-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Give restrict_access() uid/gid source (userdb or
	mail_u/gid setting).
	[888999441619]

	* src/lib/restrict-access.c, src/lib/restrict-access.h:
	restrict_access(): Show uid/gid source in setuid()/setgid() failure
	messages if given.
	[cb2c008ae3e8]

2011-02-04  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/commands.c:
	lmtp: Fixed handling recipient_delimiter when it was found from
	domain name.
	[c34d871a7bb6]

2011-02-02  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-copy.c:
	imap: Fixed a hang when trying to COPY to a nonexistent mailbox.
	[826981b2c5c4]

2011-01-31  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/driver-mysql.c:
	lib-sql: Implemented sql_result_get_field_value_binary() for MySQL.
	[5a6e44ca5825]

2011-01-30  Timo Sirainen  <tss@iki.fi>

	* dovecot-config.in.in, dovecot.m4:
	dovecot-config, dovecot.m4: Export SQL_LIBS as DOVECOT_SQL_LIBS
	[816a6e69d4b5]

	* src/lib-sql/Makefile.am:
	lib-sql: Install libdovecot-sql.so as well.
	[f57d19f262a5]

	* src/lib-storage/list/mailbox-list-none.c:
	lib-storage: layout=noop now shows INBOX as existing if namespace
	has inbox=yes. It also shows INBOX as always being subscribed.
	[ff73c325ff01]

	* src/util/script.c:
	script: Root permissions weren't being dropped before executing the
	script.
	[7ec1982fb275]

2011-01-26  Timo Sirainen  <tss@iki.fi>

	* src/lib/ioloop.c:
	ioloop: Use -1 for infinite poll/epoll timeout rather than INT_MAX.
	Should improve performance a tiny bit and also works around a CPU
	eater bug in Linux 2.6.37.
	[16ce45dbcb53]

2011-01-25  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mailbox-list.c:
	lib-storage: Give a better error message if mail_location has INBOX
	but no mail root dir.
	[fc02e620204d]

	* src/lib/file-dotlock.c:
	dotlocks: When locking using hard links, make sure the dotlock's
	timestamp is new enough.
	[3582271a897e]

2011-01-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-storage.c:
	dbox: mailbox_create/update() might not have updated index header
	correctly.
	[42ca32299617]

2011-01-21  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-idle.c:
	IDLE: Don't assert-crash if IDLE+DONE is sent in same TCP packet.
	[4741f1b4f9b3]

	* src/plugins/zlib/Makefile.am, src/plugins/zlib/doveadm-zlib.c:
	Added doveadm zlibconnect command for testing IMAP COMPRESS.
	[108754651836]

	* src/plugins/zlib/ostream-zlib.c:
	zlib: Make sure output stream flushes the stream automatically when
	not corked. Fixes hangs with IMAP COMPRESS extension.
	[b71834419ea3]

2011-01-20  Timo Sirainen  <tss@iki.fi>

	* src/lib/file-dotlock.c:
	dotlocks: Refresh current time after having waited for a lock.
	[5a3c87124066]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Fixed handling chroot/home for services that don't
	really chroot (lmtp).
	[0fc2d00f83df]

2011-01-19  Pascal Volk  <user@localhost.localdomain.org>

	* src/lmtp/commands.c:
	lmtp: Write "+ext" part to Delivered-To: header. (reverted changeset
	19231e3585db)
	[a3a7cc0172fd]

2011-01-19  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c:
	auth: Logging improvement for nopassword=y.
	[4b16a5b1da62]

2011-01-17  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index.c:
	lib-index: Avoid corrupting dovecot.index file when recreating it
	even in case of broken file locking.
	[7ecc5e10da57]

2011-01-16  Christian Wiese  <chris@opensde.org>

	* src/auth/mech-winbind.c:
	auth: Fixed mech_winbind_ntlm by using mech_winbind_auth_initial()
	In changeset 9002 a new function named mech_winbind_auth_initial()
	was introduced, but only the mech_winbind_spnego module part was
	changed to finally use this function. The mech_winbind_ntlm module
	part was not properly adapted which leads to a non functioning NTLM
	authentication mechanism while using winbind, because it will never
	call the `ntlm_auth` helper.

	The simple fix is to replace mech_generic_auth_initial() with
	mech_winbind_auth_initial() as auth_initial "hook" when setting up
	the mech_winbind_ntlm module, like it is done in the
	mech_winbind_spnego module.

	References:

	- Changeset 9002:
	http://hg.dovecot.org/dovecot-2.0/diff/9d0037a997f4/src/auth/mech-
	winbind.c
	--- src/auth/mech-winbind.c | 2 +- 1 files changed, 1
	insertions(+), 1 deletions(-)
	[d8179b523116]

2011-01-16  Timo Sirainen  <tss@iki.fi>

	* doc/man/dsync.1.in:
	man: Updated dsync.1's -o parameter description.
	[31ffb4e631ab]

	* doc/man/dovecot-lda.1.in:
	man: Added -o parameter to dovecot-lda.1
	[9d111f5b22e2]

	* src/lib/mkdir-parents.c:
	mkdir_*chown/chgrp(): If chown() fails, rmdir() the directory.
	[c75a13e5b678]

	* src/dsync/dsync-data.c:
	dsync: Fixed crash when mailbox had zero cache_fields but its array
	was initialized.
	[113b54dcb950]

2011-01-13  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 440fcf8cb338
	[af92646d36d6]

	* .hgtags:
	Added tag 2.0.9 for changeset 440fcf8cb338
	[fc4cbc255691]

	* NEWS, TODO, configure.in:
	Released v2.0.9.
	[440fcf8cb338] [2.0.9]

2011-01-09  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream.c:
	i_stream_read(): Added extra assert.
	[fdb79a873e37]

	* src/lib/istream-seekable.c:
	istream-seekable: Minor code cleanup.
	[80c055dbea89]

	* src/auth/passdb.c:
	auth: Don't give an error if doing a passdb lookup and the result
	has NULL password.
	[ed675e34dfa7]

	* src/lib-sql/driver-pgsql.c:
	pgsql: When executing synchronous queries, don't wrongly add a
	connect timeout.
	[f043ef71b936]

	* src/lib-storage/index/cydir/cydir-mail.c:
	cydir: Minor code fix.
	[73a889098495]

2011-01-08  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream-seekable.c:
	istream-seekable: Minor code cleanup.
	[5f49aebe8120]

2011-01-05  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-worker-local.c:
	dsync: Don't crash if message can't be saved to destination mailbox.
	[7bdd06de6f5a]

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-file.h, src/lib-storage/index/dbox-multi/mdbox-
	map.c, src/lib-storage/index/dbox-single/sdbox-save.c:
	mdbox: Don't leave partially written messages to mdbox files.
	[39f5ef8d612c]

	* src/dsync/dsync-brain-msgs.c:
	dsync: Fixed iterating through mailboxes when using proxy. This
	fixes "Unexpected reply from server: +" errors.
	[b32e7bc87a09]

2011-01-04  Timo Sirainen  <tss@iki.fi>

	* src/config/config-parser.c:
	config: Give clear error that auth settings aren't supported inside
	local/remote blocks.
	[89f4e4cdbeac]

	* src/login-common/client-common.c, src/login-common/login-settings.c,
	src/login-common/login-settings.h:
	login: ssl_require_client_cert and ssl_username_from_cert settings
	should have had auth_ prefix. The actual functionality was provided
	by the auth_* settings, but with these duplicated settings login
	process didn't give as good error messages.
	[fd9c01323475]

	* src/auth/passdb-cache.c:
	auth: Minor code cleanup, use PASSWORD_HIDDEN_STR macro.
	[8e84c40b7a67]

	* src/lib-storage/list/mailbox-list-maildir.c:
	maildir: Fixed renaming child mailboxes when using a namespace
	prefix.
	[6e95552439e1]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Getting mailbox GUID unnecessarily rewrote the uidlist.
	[af5903102d38]

	* configure.in:
	IDLE was listed twice in capabilities.
	[d607cdd33f0c]

	* src/dsync/dsync-worker-local.c:
	dsync: Saved messages' save-date was set to 1970-01-01.
	[a45ce2faf82a]

	* src/plugins/virtual/virtual-save.c:
	virtual: Fixed saving multiple mails in a transaction (e.g. copy
	multiple messages).
	[3216c3883a7b]

	* src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql
	/driver-sqlite.c:
	lib-sql: Include Dovecot version number check when loading SQL
	plugins.
	[b8896cfa38cb]

2011-01-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h:
	lib-lda: Simplified mail_deliver_deduplicate_guid_if_needed() API.
	[48fa29e1c34b]

	* src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Added mailbox_save_get_transaction().
	[048d7025c89f]

	* src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib-lda/mail-
	deliver.h, src/lmtp/commands.c:
	lmtp: If delivering duplicate messages to same user's INBOX, use
	different GUIDs. This is to avoid POP3 clients getting confused with
	duplicate UIDLs, when using GUIDs as UIDLs.
	[2b8d7b6bcfc7]

	* src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
	/dbox-single/sdbox-copy.c:
	dbox: If mail GUID is changed for copied mail, create a new copy of
	it so it changes.
	[384d8615039f]

2011-02-19  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/lib-storage/register/Makefile.am:
	Fixed compiling with configure --with-storages when imapc wasn't
	listed.
	[437e24ac6303]

	* src/lib-storage/mailbox-list.c:
	fs layout: Fixed crash on listing % when namespace had a prefix.
	[bd780e7bdba6]

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-client.h, src/lib-storage/index/imapc
	/imapc-connection.c, src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Added more debugging output with mail_debug=yes
	[ce7b1fa63f2f]

2011-02-17  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/Makefile.am:
	Makefile: Added missing imapc-client*.h
	[4363f0b68031]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: When local IDLE is started, force remote server to first
	check changes with NOOP. This is makes clicking Thunderbird's "get
	mail" button to check for new mails with servers that don't notify
	about them immediately after they arrive.
	[ceab4f233bff]

2011-02-12  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/Makefile.am, src/lib-storage/index/imapc
	/imapc-list.c, src/lib-storage/index/imapc/imapc-list.h:
	imapc: Mailbox listing code works now perfectly.
	[0af45e821da1]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Fixes to mailbox_list_iter_update()
	[440a1a3660ba]

	* src/lib-storage/mailbox-list.c:
	lib-storage: mailbox_list_mailbox() should have replaced info flags,
	not updated them. Many callers didn't have the flags cleared before
	calling it.
	[47b4b5a12335]

	* src/lib-storage/mailbox-tree.c, src/lib-storage/mailbox-tree.h:
	lib-storage: Added mailbox_tree_set_separator()
	[f11870d3db09]

	* src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
	/mailbox-list-maildir-iter.c:
	lib-storage: Minor code cleanup.
	[0393b95d3289]

	* src/lib-storage/list/mailbox-list-subscriptions.c, src/lib-storage
	/mailbox-list.c, src/lib-storage/mailbox-list.h:
	lib-storage: When listing subscriptions, make sure children flags
	are returned if requested.
	[59748a023cc4]

	* src/lib/printf-format-fix.c:
	printf_format_fix*() assert-crashed if the format ended with "%%".
	[43edb481978f]

	* src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/list/mailbox-list-fs-iter.c, src/plugins/virtual/virtual-
	storage.c:
	lib-storage: layout=fs now uses mailbox_exists() instead of
	requiring storage hooks.
	[c65dc5f520f8]

	* src/lib-storage/mail-storage.c:
	lib-storage: mailbox_create() failed if it was done to \noselect
	mailbox.
	[078419bc739a]

	* src/lib-storage/list/index-mailbox-list.c:
	lib-storage: mailbox_list_index setting meaning was reversed.
	[03a8767cb9e5]

	* src/imap/cmd-subscribe.c, src/lib-storage/index/index-storage.c, src
	/lib-storage/index/index-storage.h, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail-
	storage.h, src/lib-storage/test-mailbox.c, src/plugins/acl/acl-
	mailbox.c, src/plugins/autocreate/autocreate-plugin.c:
	lib-storage: mailbox_exists() can now return if it's selectable or
	non-selectable.
	[b281619735c6]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
	list-none.c, src/lib-storage/list/mailbox-list-subscriptions.c, src
	/lib-storage/list/mailbox-list-subscriptions.h, src/lib-storage
	/mailbox-list-private.h, src/lib-storage/mailbox-list.c:
	lib-storage: Changed mailbox_list.subscriptions_refresh() API to be
	more flexible. The new API makes it easier implement
	subscriptions=no to a backend that doesn't use the regular
	subscriptions file.
	[28f43332ba12]

	* src/lib-storage/list/index-mailbox-list.c:
	lib-storage: Mailbox list indexes are now enabled also for in-memory
	indexes.
	[87a75628c8f5]

	* src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list
	/mailbox-list-maildir.c:
	lib-storage: Don't allow renaming mailbox under another one with
	different permissions. This is mainly to avoid any weird situations
	arising with shared mailboxes.
	[e2605d2d6b33]

	* src/lib-storage/list/index-mailbox-list.c:
	lib-storage: Crashfix to removing deleted mailboxes from mailbox
	list index.
	[31b633336ab5]

	* src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list
	/mailbox-list-maildir.c, src/lib-storage/mailbox-list.c:
	lib-storage: When creating a new mailbox, get permissions from its
	parent mailbox, not root.
	[238bafcca676]

2011-02-09  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/index-mailbox-list-status.c, src/lib-
	storage/list/index-mailbox-list.c, src/lib-storage/list/index-
	mailbox-list.h:
	lib-storage: Use RECENT count in mailbox list index to set \Marked
	and \UnMarked LIST flag.
	[0cadba9597cb]

	* src/lib-storage/list/index-mailbox-list-status.c:
	lib-storage: Update mailbox list indexes also after each transaction
	commit. Fixed RECENT counter.
	[c296f95b856c]

	* src/lmtp/client.c:
	lmtp: Fixed crash at startup.
	[47ce7fec6f22]

	* src/lda/main.c:
	lda: Fixed crash at startup.
	[f02d429ff6bd]

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/index-sync.c, src/lib-storage/index/maildir/maildir-
	sync-index.c, src/lib-storage/index/maildir/maildir-sync.h, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw/raw-
	storage.c, src/lib-storage/list/index-mailbox-list-status.c, src
	/lib-storage/mail-storage-private.h, src/lib-storage/mail-storage.c:
	lib-storage: Return STATUS replies from mailbox list index only when
	it's fully up-to-date.
	[87f84a76fb1e]

2011-02-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/index-mailbox-list-status.c, src/lib-
	storage/list/index-mailbox-list.c, src/lib-storage/list/index-
	mailbox-list.h:
	lib-storage: Mailbox list indexes now refresh the index on
	create/delete/rename.
	[d3d5f104ca40]

	* src/doveadm/doveadm-dump-index.c, src/doveadm/doveadm-dump-log.c,
	src/lib-index/mail-index.h:
	lib-index: sync_stamp and sync_size fields are unused, mark them as
	such.
	[13fdb8fed8bc]

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: No longer try to preserve sync stamps from v1.0 mbox index
	files. The worst that can happen is if a v1.0 user upgrades to v2.1,
	an mbox gets resynced unnecessarily.
	[f5f877ecd7f6]

	* src/lib-index/Makefile.am, src/lib-index/mailbox-list-index-
	private.h, src/lib-index/mailbox-list-index-sync.c, src/lib-index
	/mailbox-list-index.c, src/lib-index/mailbox-list-index.h,
	src/util/Makefile.am, src/util/listview.c:
	lib-index: Removed the old "mailbox list" type index, which is no
	longer used. It was rather overdesigned and fragile.
	[46dc31d8769f]

	* src/lib-storage/list/Makefile.am, src/lib-storage/list/index-
	mailbox-list-status.c, src/lib-storage/list/index-mailbox-list-
	sync.c, src/lib-storage/list/index-mailbox-list.c, src/lib-
	storage/list/index-mailbox-list.h, src/lib-storage/mail-storage-
	settings.c, src/lib-storage/mail-storage-settings.h, src/lib-storage
	/mail-storage.c:
	lib-storage: Initial commit for rewritten mailbox list indexes code.
	They're only enabled with mailbox_list_index=yes setting (default is
	no). They can also get out of sync pretty easily currently.
	[ad002fdc6a6c]

	* src/lib-index/mail-transaction-log-append.c:
	lib-index: Avoid writing tail offset unnecessarily to transaction
	log file. This could have happened with
	MAIL_INDEX_TRANSACTION_FLAG_AVOID_FLAG_UPDATES when all flag updates
	were cancelled and no other changes were done.
	[19ffd1889f40]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	lib-storage: Crashfix to layout=fs.
	[96c284f7548f]

2011-02-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-subscriptions.c, src/lib-storage
	/mailbox-list.c:
	lib-storage: Crashfix.
	[951d89021e5f]

2011-02-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/list/index-
	mailbox-list.c, src/lib-storage/list/mailbox-list-fs-iter.c, src
	/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-
	list-maildir-iter.c, src/lib-storage/list/mailbox-list-maildir.c,
	src/lib-storage/list/mailbox-list-none.c, src/lib-storage/list
	/mailbox-list-subscriptions.c, src/lib-storage/list/mailbox-list-
	subscriptions.h, src/lib-storage/list/subscription-file.c, src/lib-
	storage/list/subscription-file.h, src/lib-storage/mailbox-list-
	private.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
	tree.c, src/lib-storage/mailbox-tree.h:
	lib-storage: Cleaned up subscription listing internally. The
	subscription listing code is now mostly separated from the mailbox
	listing code.
	[4e4c7f982fd5]

	* src/imap/cmd-list.c:
	IMAP LIST: Never return subscribed children state if RECURSIVEMATCH
	isn't specified. Not even when backends give it automatically.
	[fa4b84059ae2]

	* src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	imapc: Support IDLE even if remote IMAP server doesn't support it.
	[4fdf3084f74f]

	* src/plugins/autocreate/Makefile.am, src/plugins/autocreate
	/autocreate-plugin.c:
	autocreate: Redesigned autocreate plugin to create/subscribe
	mailboxes lazily. Mailboxes are listed as if they existed, but
	they're not created until the mailbox is opened for the first time.
	Mailboxes are autosubscribed only during mailbox creation, so
	subscription file isn't unnecessarily being read all the time
	either.

	This lazy creation also means that if autocreate mailbox is removed
	from configuration and it was never opened by the client, it was
	also never physically created.
	[431430c43aec]

	* src/lib-storage/list/mailbox-list-maildir-iter.c:
	lib-storage: Fixed mailbox listing with Maildir++ layout
	[1c8cc9bdb141]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
	list-fs-iter.c, src/lib-storage/list/mailbox-list-maildir-iter.c,
	src/lib-storage/list/mailbox-list-none.c, src/lib-storage/mailbox-
	list-private.h:
	lib-storage: Made struct mailbox_list_iterate_context usable for
	plugins.
	[2c599f0eab69]

2011-02-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-storage.c:
	maildir: Avoid stat()ing dovecot-shared unnecessarily.
	[7701fb66d82a]

	* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/list
	/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src
	/lib-storage/list/subscription-file.c, src/lib-storage/mail-
	storage.c, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
	list.h, src/lib-storage/mailbox-uidvalidity.c, src/plugins/acl/acl-
	backend-vfile-acllist.c, src/plugins/acl/acl-backend-vfile.c,
	src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/quota
	/quota-maildir.c:
	lib-storage: Merged returning dir mode into
	mailbox_list_get_[root_]permissions().
	[82f984d7a241]

	* src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail-mailbox-
	status.c, src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-
	mail.c, src/doveadm/doveadm-mail.h, src/imap/cmd-list.c, src/imap
	/cmd-subscribe.c, src/imap/imap-commands-util.c, src/imap/imap-
	fetch.c, src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib-storage
	/mail-search-register-human.c, src/lib-storage/mail-search-register-
	imap.c, src/lib-storage/mail-storage.c, src/lib-storage/mailbox-
	list.c, src/plugins/autocreate/autocreate-plugin.c,
	src/plugins/snarf/snarf-plugin.c, src/plugins/trash/trash-plugin.c,
	src/plugins/virtual/virtual-config.c:
	lib-storage: Mailbox virtual names are now in UTF-8 format, not IMAP
	mUTF-7. Plugins that use mailbox names in configuration now take
	them also as UTF-8 rather than mUTF-7.
	[02370eda76f8]

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: Don't use uninitialized variable.
	[49f487b435bd]

	* src/lib-storage/index/imapc/imapc-settings.c, src/lib-
	storage/index/imapc/imapc-storage.c:
	imapc: Default imapc_user to %u.
	[e945bf4f1e59]

	* src/lib-storage/index/imapc/imapc-list.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c:
	imapc: Don't force a root directory to exist.
	[aa131065b53d]

	* src/lib-storage/index/imapc/Makefile.am, src/lib-storage/index/imapc
	/imapc-settings.c, src/lib-storage/index/imapc/imapc-settings.h, src
	/lib-storage/index/imapc/imapc-storage.c, src/lib-
	storage/index/imapc/imapc-storage.h:
	imapc: Moved settings from plugin {} section to proper imapc_*
	settings.
	[495fb0e9f7cc]

2011-01-31  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-client.h, src/lib-storage/index/imapc
	/imapc-connection.c:
	imapc: Added support for STARTTLS.
	[893e0738733b]

	* src/lib-ssl-iostream/iostream-openssl.c:
	lib-ssl-iostream: Don't hang if given output stream is in corked
	state.
	[dab0e52eb294]

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: Avoid hanging with SSL
	[31eb7db0c4b9]

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-client.h, src/lib-storage/index/imapc
	/imapc-connection.c:
	imapc: Don't use AUTHENTICATE PLAIN if server doesn't advertise
	AUTH=PLAIN capability.
	[4244c828b59d]

	* src/lib-storage/index/imapc/imapc-list.c:
	imapc: Fixed LIST/LSUB handling.
	[b9baa9db8950]

	* src/lib-storage/index/imapc/imapc-storage.c:
	imapc: Fixed sending STATUS command.
	[c83cdf089725]

	* src/Makefile.am:
	Makefile: Build lib-ssl-iostream earlier
	[ac84693374ad]

	* configure.in, src/lib-storage/index/imapc/Makefile.am, src/lib-
	storage/index/imapc/imapc-client-private.h, src/lib-
	storage/index/imapc/imapc-client.c, src/lib-storage/index/imapc
	/imapc-client.h, src/lib-storage/index/imapc/imapc-connection.c, src
	/lib-storage/index/imapc/imapc-storage.c:
	imapc: Added initial support for SSL.
	[7b7434fef6ff]

	* configure.in, src/Makefile.am, src/lib-ssl-iostream/Makefile.am, src
	/lib-ssl-iostream/iostream-openssl-context.c, src/lib-ssl-iostream
	/iostream-openssl-params.c, src/lib-ssl-iostream/iostream-openssl.c,
	src/lib-ssl-iostream/iostream-openssl.h, src/lib-ssl-iostream
	/iostream-ssl.h, src/lib-ssl-iostream/istream-openssl.c, src/lib-
	ssl-iostream/ostream-openssl.c:
	Added lib-ssl-iostream for handling SSL connections more easily.
	[bd23d4e10fa1]

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-client.h, src/lib-storage/index/imapc
	/imapc-connection.c, src/lib-storage/index/imapc/imapc-mail.c, src
	/lib-storage/index/imapc/imapc-mail.h, src/lib-storage/index/imapc
	/imapc-mailbox.c, src/lib-storage/index/imapc/imapc-save.c, src/lib-
	storage/index/imapc/imapc-search.c, src/lib-storage/index/imapc
	/imapc-storage.c, src/lib-storage/index/imapc/imapc-storage.h:
	imapc: Write large message bodies to temp files rather than keeping
	in memory.
	[3dde816d945d]

	* src/lib-imap/imap-arg.h, src/lib-imap/imap-parser.c:
	lib-imap: struct imap_arg.str_size now contains the string value
	lengths. This is especially useful for literals that might contain
	NUL bytes.
	[1e88287fc721]

	* src/lib-storage/index/index-thread.c:
	lib-storage: Threading code uses now separate extra_wanted_headers
	also.
	[cecc6c28ce0e]

	* src/lib-storage/index/imapc/imapc-mail.h, src/lib-
	storage/index/imapc/imapc-search.c:
	imapc: Fixed sending single FETCH queries.
	[676b6d931624]

	* src/imap/imap-search.c, src/lib-storage/index/index-mail-headers.c,
	src/lib-storage/index/index-search-private.h, src/lib-storage/index
	/index-search.c, src/lib-storage/index/index-sort.c, src/lib-storage
	/mail-storage-private.h:
	lib-storage: Moved setting "wanted fields/headers" fields for sort
	program from imap-specific code. Also separate between fields that
	are actually wanted to be fetched from the fields that sorting wants
	to temporarily use.
	[16a541057e88]

	* src/lib-storage/index/imapc/imapc-search.c:
	imapc: Minor code cleanup
	[4964b39c6ae4]

2011-01-30  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/Makefile.am, src/lib-storage/index/imapc
	/imapc-client-private.h, src/lib-storage/index/imapc/imapc-client.c,
	src/lib-storage/index/imapc/imapc-client.h, src/lib-
	storage/index/imapc/imapc-connection.c, src/lib-storage/index/imapc
	/imapc-connection.h, src/lib-storage/index/imapc/imapc-mail.c, src
	/lib-storage/index/imapc/imapc-mail.h, src/lib-storage/index/imapc
	/imapc-mailbox.c, src/lib-storage/index/imapc/imapc-search.c, src
	/lib-storage/index/imapc/imapc-storage.c, src/lib-
	storage/index/imapc/imapc-storage.h, src/lib-storage/index/index-
	mail.c, src/lib-storage/index/index-mail.h:
	imapc: Send UID FETCH commands with larger uidset parameter if
	possible. This code assumes that server doesn't reorganize FETCH
	replies when it's given an increasing UID range, which in theory
	IMAP server would be allowed to do, but I doubt there are any.
	[391ba80cb125]

	* src/lib-storage/index/Makefile.am, src/lib-storage/index/index-
	search-private.h, src/lib-storage/index/index-search.c:
	lib-storage: Index search context is now more accessible by
	backends. Moved struct index_search_context to index-search-
	private.h and added recheck_index_args flag that backends can set.
	[b96efbad2fa4]

	* src/util/script.c:
	script: Root permissions weren't being dropped before executing the
	script.
	[40f668d36547]

2011-01-28  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota.c, src/util/script.c:
	script utility now supports the script using stdio/stdout for
	communication.
	[54bcc1728a43]

	* src/lib-storage/index/imapc/imapc-mail.c, src/lib-
	storage/index/imapc/imapc-search.c:
	imapc: If mail's input stream is changed, don't assume virtual size
	= physical size.
	[d675c0264190]

	* src/lib-storage/index/imapc/imapc-connection.c, src/lib-
	storage/index/imapc/imapc-mailbox.c, src/lib-storage/index/imapc
	/imapc-save.c, src/lib-storage/index/imapc/imapc-search.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	imapc: Added support for saving and copying messages.
	[0e5c36a54ce8]

2011-01-26  Timo Sirainen  <tss@iki.fi>

	* src/lib/ioloop.c:
	ioloop: Use -1 for infinite poll/epoll timeout rather than INT_MAX.
	Should improve performance a tiny bit and also works around a CPU
	eater bug in Linux 2.6.37.
	[0c8fb305df30]

2011-01-25  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-sync.c:
	imapc: Syncing optimization: Don't wait for STOREs to complete
	before sending EXPUNGE.
	[3136e78751f7]

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-client.h, src/lib-storage/index/imapc
	/imapc-connection.c, src/lib-storage/index/imapc/imapc-sync.c, src
	/lib-storage/index/imapc/imapc-sync.h:
	imapc: Added support for changing flags and expunging.
	[1413a0fa9ae7]

	* src/lib-storage/index/imapc/imapc-mailbox.c:
	imapc: Added support for keywords.
	[ba3c0ee558f5]

2011-01-24  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-worker-local.c, src/dsync/dsync.c:
	dsync: Changes to make it work with imapc storage.
	[513e6e0b27ed]

	* src/lib-storage/index/imapc/imapc-mail.c, src/lib-
	storage/index/imapc/imapc-search.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	imapc: Fixed mail_set_seq/uid() to work.
	[360af3cc616b]

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-storage.c:
	dbox: mailbox_create/update() might not have updated index header
	correctly.
	[a349c50cddaa]

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-connection.c, src/lib-storage/index/imapc
	/imapc-connection.h, src/lib-storage/index/imapc/imapc-storage.c,
	src/lib-storage/index/imapc/imapc-storage.h:
	imapc: Implemented more methods.
	[d75d4841c890]

2011-01-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-connection.c, src/lib-storage/index/imapc
	/imapc-connection.h, src/lib-storage/index/imapc/imapc-list.c, src
	/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-sync.c:
	imapc: Fixed mailbox deletion and some error handling. Code
	cleanups.
	[5d97dfa9d86c]

	* src/lib-storage/index/index-storage.c:
	lib-storage: Don't fail mailbox deletion if backend doesn't support
	mailbox GUIDs.
	[f7e4d46e980f]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Recent changes accidentally made INBOX case-sensitive.
	[ad3abe06954b]

	* src/lib-storage/index/imapc/imapc-client.c, src/lib-
	storage/index/imapc/imapc-client.h, src/lib-storage/index/imapc
	/imapc-connection.c, src/lib-storage/index/imapc/imapc-connection.h,
	src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h, src/lib-storage/index/imapc/imapc-sync.c:
	imapc: Handle properly mailbox changes while it's selected. Added
	support for IDLE.
	[475050722f54]

	* src/lib-storage/index/imapc/Makefile.am, src/lib-storage/index/imapc
	/imapc-seqmap.c, src/lib-storage/index/imapc/test-imapc-seqmap.c:
	imapc: Fixed seqmap to work. The algorithm is a bit slow, could be
	improved. But probably won't make much of a difference in real life.
	[868f2de3898b]

2011-01-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/Makefile.am, src/lib-storage/index/imapc
	/imapc-client.h, src/lib-storage/index/imapc/imapc-connection.c, src
	/lib-storage/index/imapc/imapc-list.c, src/lib-storage/index/imapc
	/imapc-list.h, src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h:
	imapc: Code cleanups and fixes.
	[9e471f267fb4]

	* src/lib-storage/index/imapc/imapc-search.c:
	imapc: Call istream_opened() method if it's set for mail.
	[2fd54529e7d6]

2011-01-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/Makefile.am, src/lib-storage/index/imapc
	/imapc-list.c, src/lib-storage/index/imapc/imapc-list.h, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
	/imapc-storage.h, src/lib-storage/register/Makefile.am:
	imapc: Added support for LIST/LSUB.
	[1b8fb4ff2bb3]

	* src/lib-storage/index/imapc/imapc-search.c:
	imapc: Don't send broken FETCH command when we don't actually have
	to fetch anything.
	[c3a258ee96c4]

	* TODO, src/doveadm/doveadm-mail-import.c, src/doveadm/doveadm-mail-
	iter.c, src/doveadm/doveadm-mail-list-iter.c, src/doveadm/doveadm-
	mail-mailbox.c, src/doveadm/doveadm-mail.c, src/dsync/dsync-worker-
	local.c, src/imap/cmd-create.c, src/imap/cmd-delete.c, src/imap/cmd-
	list.c, src/imap/cmd-namespace.c, src/imap/cmd-rename.c, src/imap
	/cmd-select.c, src/imap/cmd-status.c, src/imap/cmd-subscribe.c,
	src/imap/imap-commands-util.c, src/imap/imap-commands-util.h, src
	/lib-lda/mail-deliver.c, src/lib-storage/index/cydir/cydir-
	storage.c, src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c,
	src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.h, src/lib-storage/index
	/dbox-single/sdbox-storage.c, src/lib-storage/index/imapc/imapc-
	storage.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
	/lib-storage/index/raw/raw-storage.c, src/lib-storage/index/shared
	/shared-list.c, src/lib-storage/index/shared/shared-storage.c, src
	/lib-storage/list/index-mailbox-list.c, src/lib-storage/list
	/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-list-fs.c, src
	/lib-storage/list/mailbox-list-maildir-iter.c, src/lib-storage/list
	/mailbox-list-maildir.c, src/lib-storage/list/mailbox-list-
	maildir.h, src/lib-storage/list/mailbox-list-none.c, src/lib-
	storage/list/mailbox-list-subscriptions.c, src/lib-storage/mail-
	namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage/mail-
	search.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-storage
	/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src/lib-
	storage/mailbox-list.h, src/lib-storage/test-mail-storage.h, src
	/lib-storage/test-mailbox.c, src/plugins/acl/acl-backend-vfile-
	acllist.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-
	mailbox-list.c, src/plugins/autocreate/autocreate-plugin.c,
	src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts/fts-
	storage.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-
	quota/imap-quota-plugin.c, src/plugins/listescape/listescape-
	plugin.c, src/plugins/quota/quota-count.c, src/plugins/quota/quota-
	maildir.c, src/plugins/quota/quota-storage.c,
	src/plugins/quota/quota.c, src/plugins/snarf/snarf-plugin.c,
	src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
	config.c, src/plugins/virtual/virtual-storage.c,
	src/pop3/pop3-client.c:
	lib-storage: mailbox_alloc() now takes a virtual mailbox name and
	other related API changes. All storage_name <-> vname conversions
	now go through the same two mailbox_list methods. This has many
	benefits, such as:

	 * listescape plugin is now much simpler and bugfree
	 * allows changing lib-storage API to use UTF-8 mailbox names in future
	 * allows creation of "mailbox aliases" plugin
	[a2780b694b2d]

	* src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail-import.c,
	src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-mail-mailbox.c,
	src/doveadm/doveadm-mail.c, src/dsync/dsync-worker-local.c, src/imap
	/cmd-fetch.c, src/imap/imap-commands-util.c, src/imap/imap-status.c,
	src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib-storage/index
	/dbox-multi/mdbox-storage-rebuild.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/mail-storage.c, src/lib-storage
	/mail-storage.h, src/lmtp/commands.c, src/plugins/autocreate
	/autocreate-plugin.c, src/plugins/lazy-expunge/lazy-expunge-
	plugin.c, src/plugins/quota/quota-count.c, src/plugins/snarf/snarf-
	plugin.c, src/plugins/virtual/virtual-storage.c,
	src/pop3/pop3-client.c:
	lib-storage: Added mailbox_get_last_*error() wrappers and use them.
	[b748c622e896]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Crashfix on trying to create index root dir.
	[8dbcf27f7c08]

	* src/imap/cmd-subscribe.c, src/lib-storage/index/cydir/cydir-
	storage.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src
	/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/imapc/imapc-storage.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
	list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/list/mailbox-list-none.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail-
	storage.h, src/lib-storage/mailbox-list-private.h, src/lib-storage
	/mailbox-list.c, src/lib-storage/mailbox-list.h, src/lib-storage
	/test-mailbox.c, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl
	/acl-mailbox.c, src/plugins/listescape/listescape-plugin.c,
	src/plugins/virtual/virtual-storage.c:
	lib-storage: Replaced mailbox_list_get_name_status() with
	mailbox_exists().
	[4073ccc8123f]

2011-01-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: Fixed authenticating with AUTHENTICATE command without SASL-
	IR.
	[3949d0091a44]

	* src/lib-storage/index/imapc/imapc-connection.c:
	imapc: Fixed sending non-syncing literals.
	[9db6762167fb]

2011-01-16  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/lib-storage/index/Makefile.am, src/lib-
	storage/index/imapc/Makefile.am, src/lib-storage/index/imapc/imapc-
	client-private.h, src/lib-storage/index/imapc/imapc-client.c, src
	/lib-storage/index/imapc/imapc-client.h, src/lib-storage/index/imapc
	/imapc-connection.c, src/lib-storage/index/imapc/imapc-connection.h,
	src/lib-storage/index/imapc/imapc-mail.c, src/lib-
	storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc/imapc-
	search.c, src/lib-storage/index/imapc/imapc-seqmap.c, src/lib-
	storage/index/imapc/imapc-seqmap.h, src/lib-storage/index/imapc
	/imapc-storage.c, src/lib-storage/index/imapc/imapc-storage.h, src
	/lib-storage/index/imapc/imapc-sync.c, src/lib-storage/index/imapc
	/imapc-sync.h, src/lib-storage/index/index-sync-private.h, src/lib-
	storage/index/index-sync.c:
	Added initial implementation of "imapc" storage. It can be used to
	create a "smart IMAP proxy" where Dovecot uses remote IMAP server as
	a mail storage.

	This is a very rough early implementation. Performance isn't good,
	many required features are missing, error handling is lacking and
	code needs de-uglification. Still, it should be enough for selecting
	INBOX and accessing mails in it.
	[7dd1e45721ae]

2011-01-13  Timo Sirainen  <tss@iki.fi>

	* TODO:
	TODO updated
	[e1f0f4798b5e]

	* src/lib/ioloop.c, src/lib/ioloop.h:
	Added io_loop_move_io() and io_loop_move_timeout().
	[7785af0ca36e]

	* src/lib-storage/index/cydir/cydir-mail.c:
	cydir: Minor fix.
	[a0ad3fbc3b0b]

2011-01-01  Timo Sirainen  <tss@iki.fi>

	* configure.in:
	configure: Added a note that this is the UNSTABLE branch.
	[1e425fe18dea]

	* TODO, src/imap/imap-search.c, src/lib-storage/index/maildir/maildir-
	sync.c, src/lib-storage/mail-storage.h, src/plugins/acl/acl-mailbox-
	list.c:
	Merged fixes from v2.0 tree.
	[c39557b7662d]

	* src/lib-storage/mail-storage.h:
	lib-storage: Added warning comments about mail_get_*header*utf8().
	[c1e71f579adc]

	* src/lib-storage/index/index-sort.c:
	lib-storage: Don't double-demimefy headers when
	DISPLAYFROM/DISPLAYTO sorting.
	[6813e76eb29e]

2010-12-30  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-delete.c, src/lib-storage/list
	/mailbox-list-delete.h, src/lib-storage/list/mailbox-list-maildir-
	iter.c:
	lib-storage: Fixed deleting symlinked mailbox.
	[b78e772cf1d2]

	* src/lib/unlink-directory.c:
	unlink_directory(): Return ELOOP for unexpected symlinks also when
	O_NOFOLLOW isn't supported.
	[c67f4a2a2253]

	* src/plugins/quota/doveadm-quota.c:
	doveadm quota: Don't crash if quota isn't enabled.
	[a293626e09e2]

	* src/doveadm/doveadm-mail-list-iter.c:
	doveadm: Fixed mailbox-guid search key to work with shared/public
	mailboxes.
	[15c32384817b]

	* src/auth/passdb-vpopmail.c:
	vpopmail: "Service disabled" check wasn't being done correctly.
	[9216e5c861ee]

	* src/doveadm/doveadm-auth.c:
	doveadm user: If user isn't found, exit with status 2.
	[c9b3716e56f7]

2010-12-17  Timo Sirainen  <tss@iki.fi>

	* src/lda/main.c:
	lda: Removed optimization of not creating temp files for large mails
	when not using Sieve. The backwards seeking was still needed if
	bouncing the mail because of out of quota.
	[89936539e3b8]

	* src/plugins/snarf/snarf-plugin.c:
	snarf: Make sure destination mailbox is open when syncing it.
	[b7dd7a966a3a]

2010-12-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-interface.h, src/lib-master/master-service.c,
	src/master/common.h, src/master/main.c, src/master/service-
	process.c:
	master-child API change: Use a separate fd for tracking when master
	dies. This works around a Linux performance problem where when one
	process writes to status fd all the other processes of the same
	service type wake up.
	[b0ec48006d57]

2010-12-13  Timo Sirainen  <tss@iki.fi>

	* src/lib/network.c:
	net_listen(): If IPv6 isn't supported, don't fallback to IPv4 if
	my_ip is given.
	[cde0d403c6ff]

	* src/plugins/quota/quota.c:
	quota: Quota warnings could have been executed at incorrect times
	with some configs. If target mailbox had quota ignored, the warning
	was sent if the mail would have otherwise exceeded the warning
	threshold. Same when using multiple quota roots where all of the
	roots weren't used for the target mailbox.
	[f3d42a99ce44]

2010-12-09  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-search.c:
	imap: Fixed a memory leak in ESEARCH
	[e030df616faf]

	* src/lib-storage/index/index-mailbox-check.c:
	lib-storage: Added assert check to make sure we never do
	timeout_add(0)
	[694ef2d76d51]

2010-12-08  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/acl-mailbox-list.c:
	acl: Crashfix at deinit in some configurations.
	[7353e3253840]

2010-12-07  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c:
	auth: Master user login + prefetch userdb changed username to master
	user.
	[f9d34d929c3f]

	* src/auth/passdb-checkpassword.c:
	auth: Checkpassword's output fields are now logged with
	auth_debug=yes
	[6a48a361c63f]

2010-12-06  Timo Sirainen  <tss@iki.fi>

	* TODO, src/auth/auth-request-handler.c:
	auth: When logging in as anonymous user, return "anonymous" userdb
	extra field.
	[c41ba33b8e16]

	* src/lib-storage/index/maildir/maildir-sync.c:
	maildir: Avoid harder to unnecessarily read uidlist when syncing
	mailbox.
	[b7a8d2a357a8]

	* src/lib-storage/index/maildir/maildir-sync.c:
	maildir: Avoid unnecessarily reading uidlist when opening mailbox.
	[8afad3c2928d]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Mailbox directory creation didn't properly enforce that
	the name was valid. The name was checked against "valid existing
	name" rather than "valid create name", which mainly meant that the
	name could have contained control characters and other things that
	weren't really intended. This couldn't be used to cause any security
	holes though.
	[4b084f357db1]

2010-12-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-login-auth.c:
	lib-master: Error message typofix.
	[6a0f3010d592]

2011-01-01  Timo Sirainen  <tss@iki.fi>

	* TODO:
	TODO updated.
	[917f3699af5b]

	* src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail-mailbox-
	status.c, src/doveadm/doveadm-mail-search.c, src/doveadm/doveadm-
	mail.c, src/doveadm/doveadm-mail.h, src/dsync/dsync-worker-local.c,
	src/imap/cmd-enable.c, src/imap/cmd-select.c, src/imap/cmd-store.c,
	src/imap/imap-client.c, src/imap/imap-client.h, src/imap/imap-
	commands-util.c, src/imap/imap-fetch.c, src/imap/imap-search.c,
	src/imap/imap-status.c, src/imap/imap-status.h, src/imap/imap-
	sync.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/index-search.c, src/lib-storage/index/index-status.c, src/lib-
	storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/list/index-
	mailbox-list-sync.c, src/lib-storage/mail-storage-private.h, src
	/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h,
	src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts-squat/fts-
	backend-squat.c, src/plugins/fts/fts-storage.c, src/plugins/virtual
	/virtual-save.c, src/plugins/virtual/virtual-storage.c,
	src/plugins/virtual/virtual-sync.c, src/pop3/pop3-client.c:
	lib-storage: Moved some items from mailbox_get_status() to a new
	mailbox_get_metadata(). The idea is now that all status items are
	tracked all the time after mailbox is opened and they can always be
	looked up without failure. The metadata items are looked up lazily
	and the lookups may fail at any time.

	mailbox_get_status() can be used after mailbox_alloc() to indicate
	that the mailbox doesn't necessarily have to be opened, just that
	the status fields get returned.

	If mailbox is already known to be open, mailbox_get_open_status()
	can be used. It never fails.
	[2c299c0e3bc8]

2010-12-29  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-mailbox-status.c, src/dsync/dsync-worker-
	local.c, src/imap/cmd-select.c, src/imap/imap-client.c, src/imap
	/imap-status.c, src/imap/imap-sync.c, src/lib-storage/index/index-
	status.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/list/index-mailbox-list-sync.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.c, src/lib-storage
	/mail-storage.h, src/lib-storage/test-mailbox.c:
	lib-storage: mailbox_get_status() can now fail. It might have failed
	earlier also, but the errors were hidden from caller.
	[bbfa924bc4bc]

	* src/lib-storage/index/index-storage.c:
	lib-storage: Crashfix for opening sdbox/mdbox mailbox.
	[832d77536f07]

2010-12-06  Timo Sirainen  <tss@iki.fi>

	* TODO, src/auth/auth-request-handler.c:
	auth: When logging in as anonymous user, return "anonymous" userdb
	extra field.
	[e6a9bf26ad1e]

	* TODO:
	TODO updated.
	[ab30580b88d9]

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/index-attachment.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/test-mailbox.c,
	src/plugins/virtual/virtual-storage.c:
	lib-storage: Moved mailbox.save_is_attachment() to
	mail_save_context.part_is_attachment()
	[9507a067233b]

	* src/lib-storage/Makefile.am, src/lib-storage/index/cydir/cydir-
	storage.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src
	/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/index-mail-headers.c, src/lib-storage/index/index-
	mail.c, src/lib-storage/index/index-mail.h, src/lib-storage/index
	/index-storage.h, src/lib-storage/index/maildir/maildir-storage.c,
	src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw
	/raw-storage.c, src/lib-storage/mail-storage-private.h, src/lib-
	storage/mail-storage.c, src/lib-storage/mailbox-header.c, src/lib-
	storage/test-mailbox.c, src/plugins/virtual/virtual-mail.c,
	src/plugins/virtual/virtual-storage.c:
	lib-storage: Unvirtualized mailbox_header_lookup_*()
	[dc3b59b71fca]

	* src/lib-storage/Makefile.am, src/lib-storage/index/Makefile.am, src
	/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/index-fetch.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/index-
	transaction.c, src/lib-storage/index/maildir/maildir-storage.c, src
	/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw
	/raw-storage.c, src/lib-storage/index/test-index-fetch.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src
	/lib-storage/mailbox-get.c, src/lib-storage/test-mailbox-get.c, src
	/lib-storage/test-mailbox.c, src/plugins/virtual/virtual-storage.c:
	lib-storage: Unvirtualized some methods from struct mailbox. There
	was never any point in overriding or hooking into them.
	[c7e607631eec]

	* src/lib-storage/mailbox-keywords.c:
	lib-storage: Added missing mailbox-keywords.c for recent commit.
	[8d27401008c9]

	* src/plugins/fts/fts-mailbox.c, src/plugins/fts/fts-mailbox.h:
	fts: Added missing new files for last commit.
	[5815ff80f198]

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/maildir/maildir-storage.c,
	src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw
	/raw-storage.c, src/lib-storage/mail-storage-private.h, src/lib-
	storage/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-
	storage/test-mailbox.c, src/plugins/fts-solr/fts-backend-solr.c,
	src/plugins/fts/Makefile.am, src/plugins/fts/fts-storage.c,
	src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-
	storage.h:
	Moved fts/virtual plugin communication functions away from lib-
	storage.
	[3c883e0dcb31]

	* src/lib-lda/duplicate.c, src/lib-lda/duplicate.h:
	lib-lda: duplicate_check() should return bool, not int.
	[d0a24521d13f]

	* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/list
	/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src
	/lib-storage/list/subscription-file.c, src/lib-storage/mail-
	storage.c, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
	list.h, src/lib-storage/mailbox-uidvalidity.c, src/plugins/acl/acl-
	backend-vfile-acllist.c, src/plugins/lazy-expunge/lazy-expunge-
	plugin.c, src/plugins/quota/quota-maildir.c:
	lib-storage: Added mailbox_list_get_root_[dir_]permissions() They
	should be used instead of mailbox_list_get_[dir_]permissions() with
	name=NULL parameter.
	[57d7ea7fa5f6]

	* src/dsync/dsync-worker-local.c, src/imap/cmd-append.c, src/imap/cmd-
	store.c, src/lib-lda/mail-deliver.c, src/lib-storage/Makefile.am,
	src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
	/lib-storage/index/raw/raw-storage.c, src/lib-storage/mail-copy.c,
	src/lib-storage/mail-search.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail-
	storage.h, src/lib-storage/test-mailbox.c, src/plugins/acl/acl-
	mailbox.c, src/plugins/virtual/virtual-save.c, src/plugins/virtual
	/virtual-storage.c, src/plugins/virtual/virtual-sync.c:
	lib-storage: Simplified mailbox_keyword*() APIs. They are no longer
	struct mailbox methods, because they're always implemented as being
	wrappers to lib-index APIs anyway.

	Also mailbox_keywords_ref/unref() no longer take mailbox parameter.
	[16929d83a00c]

	* src/lib-storage/index/index-storage.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/maildir/maildir-storage.h,
	src/lib-storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox/mbox-
	lock.c, src/lib-storage/index/mbox/mbox-save.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox-
	storage.h, src/lib-storage/index/mbox/mbox-sync.c, src/lib-storage
	/mail-storage-private.h, src/lib-storage/mail-storage.c:
	lib-storage: Removed mailbox.backend_readonly. Backends set it
	internally lazily now.
	[9d947390a875]

	* src/lib-storage/index/maildir/maildir-sync.c:
	maildir: Avoid harder to unnecessarily read uidlist when syncing
	mailbox.
	[b399c8dd1650]

	* src/lib-storage/index/maildir/maildir-sync.c:
	maildir: Avoid unnecessarily reading uidlist when opening mailbox.
	[059277ba8a75]

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw/raw-
	storage.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-storage
	/test-mailbox.c, src/plugins/acl/acl-mailbox.c, src/plugins/virtual
	/virtual-storage.c:
	lib-storage: Moved box->private_flags_mask to
	mailbox_get_private_flags_mask() This allows getting it lazily only
	when it's actually needed.
	[67257180c7ea]

	* src/imap/cmd-subscribe.c, src/lib-storage/mailbox-list.c:
	lib-storage: Removed subscription name validity check from lib-
	storage after all. It could have broken when subscriptions were
	being set for subscriptions=no namespace.
	[565351636cd7]

	* src/plugins/acl/acl-mailbox-list.c:
	acl: Make the mailbox visible only when it has l/r/i right. This
	change only affects the ability to SUBSCRIBE to a mailbox.
	Previously it was allowed when user had any rights at all to
	mailbox.
	[ecf551a5fe86]

	* src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list
	/mailbox-list-maildir.c, src/lib-storage/list/mailbox-list-none.c,
	src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h,
	src/plugins/acl/acl-mailbox-list.c:
	lib-storage: Removed unused mailbox_list_get_mailbox_name_status()
	status codes.
	[9185c2a88291]

	* src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap-
	quota-plugin.c:
	imap-acl, imap-quota: Compile fix for last change.
	[35625c2d01a2]

	* src/imap/cmd-append.c, src/imap/cmd-copy.c, src/imap/cmd-create.c,
	src/imap/cmd-delete.c, src/imap/cmd-rename.c, src/imap/cmd-select.c,
	src/imap/cmd-status.c, src/imap/cmd-subscribe.c, src/imap/imap-
	commands-util.c, src/imap/imap-commands-util.h:
	imap: Avoid using mailbox_list_get_mailbox_name_status() The
	validity checks should already be done by the actual commands in
	most cases (if they didn't, there would be race condition bugs). The
	only exception is SUBSCRIBE. It doesn't require that the mailbox
	exists, but we want to enforce that anyway via IMAP.
	[4d276dc712eb]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Don't allow subscribing to invalid mailbox names.
	[c6a2ae813dd0]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Mailbox directory creation didn't properly enforce that
	the name was valid. The name was checked against "valid existing
	name" rather than "valid create name", which mainly meant that the
	name could have contained control characters and other things that
	weren't really intended. This couldn't be used to cause any security
	holes though.
	[ab7deaefa2f5]

2010-12-05  Timo Sirainen  <tss@iki.fi>

	* src/lib/macros.h:
	Removed unused BITS_IN_UINT and CLAMP macros.
	[f3979da99d5f]

	* src/lib/lib.c, src/lib/macros.h:
	Unexpand BITS_IN_SIZE_T in the only place it's used and remove the
	macro.
	[12e89e04d690]

	* src/lib-imap/imap-bodystructure.c, src/lib-imap/imap-envelope.c,
	src/lib/macros.h:
	Moved a global NVL() macro to the few places in lib-imap where it
	was actually used.
	[25958384d938]

	* src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list
	/mailbox-list-maildir.c:
	lib-storage: Fixed error handling when trying to delete mailbox
	under noinferiors mailbox.
	[a4e683282d1a]

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-common/dbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-
	storage.c, src/lib-storage/index/dbox-single/sdbox-storage.c, src
	/lib-storage/index/index-storage.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
	/lib-storage/mail-storage-private.h, src/lib-storage/mail-storage.c:
	lib-storage: Don't allocate index until mailbox_open()
	[b22766c1aa51]

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-common/dbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox-single/sdbox-
	file.c, src/lib-storage/index/dbox-single/sdbox-save.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single
	/sdbox-sync.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir
	/maildir-keywords.c, src/lib-storage/index/maildir/maildir-mail.c,
	src/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-util.c,
	src/lib-storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox
	/mbox-lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox-
	storage.c, src/lib-storage/index/mbox/mbox-sync.c, src/lib-
	storage/index/raw/raw-mail.c, src/lib-storage/index/raw/raw-
	storage.c, src/lib-storage/mail-copy.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.c, src/plugins/fts-
	squat/fts-backend-squat.c, src/plugins/virtual/virtual-config.c,
	src/plugins/virtual/virtual-sync.c, src/plugins/zlib/zlib-plugin.c:
	lib-storage: Lazily look up mailbox path and permissions. Added
	functions to get them.
	[b26d6da05d48]

	* src/lib-storage/mail-storage.c:
	lib-storage: mailbox_create_fd() handles "no inferior mailboxes
	allowed" error now.
	[b63ff46f82ee]

	* src/lib-storage/index/dbox-common/dbox-mail.c, src/lib-storage/index
	/index-mail-headers.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-mail.h, src/lib-storage/index/index-storage.c,
	src/lib-storage/index/index-storage.h, src/lib-storage/index/index-
	transaction.c, src/lib-storage/index/maildir/maildir-save.c, src
	/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox
	/mbox-save.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-storage.h, src/lib-storage/mail-storage-
	private.h, src/plugins/virtual/virtual-mail.c, src/plugins/virtual
	/virtual-save.c, src/plugins/virtual/virtual-transaction.c,
	src/plugins/virtual/virtual-transaction.h:
	lib-storage: Removed struct index_transaction_context. All of its
	contents are now in struct mailbox_transaction_context.
	[88577ccb1380]

	* src/lib-storage/index/maildir/maildir-sync.h:
	Compiler warning fix.
	[7c147f053c9b]

2010-09-06  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/Makefile.am, src/lib-
	storage/index/maildir/maildir-filename-flags.c, src/lib-
	storage/index/maildir/maildir-filename-flags.h, src/lib-
	storage/index/maildir/maildir-filename.c, src/lib-
	storage/index/maildir/maildir-filename.h, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-sync-index.c, src/lib-storage/index/maildir/maildir-util.c:
	maildir: Moved maildir_filename_flags_*() to a separate file.
	[dc75c71b4671]

2010-12-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: uidlist code cleanup.
	[820d370eb2fe]

	* src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-sync.h, src/lib-storage/index/maildir/maildir-uidlist.c,
	src/lib-storage/index/maildir/maildir-uidlist.h, src/lib-
	storage/index/maildir/maildir-util.c:
	maildir: maildir_uidlist_lookup() -> maildir_sync_lookup()
	refactoring.
	[a803cd10b19c]

2010-12-03  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 51e41fcc7856
	[485ed7702ce2]

	* .hgtags:
	Added tag 2.0.8 for changeset 51e41fcc7856
	[6c86c1d5a740]

	* NEWS, TODO, configure.in:
	Released v2.0.8.
	[51e41fcc7856] [2.0.8]

	* doc/example-config/conf.d/10-master.conf:
	example-config: Added comments to default_vsz_limit.
	[7dda7d20b04c]

	* src/lib-index/mail-index-sync-keywords.c:
	lib-index: Make static analyzer happier.
	[0e72f1629096]

	* src/lib/test-istream-base64-encoder.c:
	Dead code removal.
	[383b3acff1ee]

	* src/lib-storage/mail-copy.c:
	lib-storage: mail_storage_copy_can_use_hardlink() was always
	returning TRUE.
	[2ec2fde979be]

	* src/lib-storage/index/dbox-common/dbox-attachment.c:
	dbox: Fixed reading attachments for compressed mails.
	[235383a75fc7]

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-file.h, src/lib-storage/index/dbox-common/dbox-
	mail.c:
	dbox: Added dbox_file_get_plaintext_size() for easily getting it.
	[251612ef4186]

	* src/lib-master/master-login-auth.c, src/login-common/client-
	common.c:
	Log login pid/id for internal failures to allow matching errors
	between processes.
	[c6b0e643d2dc]

	* src/lib-storage/index/index-attachment.c:
	lib-storage: Fixed storing newlines at the end of base64
	attachments.
	[4455f79f964d]

	* src/lib/istream-base64-encoder.c:
	istream-base64-encoder: Fixed reading when parent stream returned
	little data.
	[e5dcc12f8dba]

	* src/auth/userdb-passwd.c, src/lib-fs/fs-posix.c:
	Compiler warning fixes.
	[014a6a0a93cf]

	* src/lib/ioloop.c:
	ioloop: Don't leak memory when detecting a leaked timeout.
	[8fa2c23e9256]

	* src/lib/ioloop.c:
	ioloop log: Added asserts
	[23eb7ec9c37d]

	* src/lib-storage/mail-storage-service.c:
	mail storage service: Use ioloop log prefix automation. This
	properly fixes imap/pop3 when using with client_limit>1.
	[1d1cd60d5429]

	* src/lib/ioloop-epoll.c, src/lib/ioloop-internal.h, src/lib/ioloop-
	kqueue.c, src/lib/ioloop-poll.c, src/lib/ioloop-select.c,
	src/lib/ioloop.c, src/lib/ioloop.h:
	ioloop: Added support for per-io/timeout callback log prefix
	automation.
	[1bac1c09201a]

	* src/imap/cmd-append.c, src/imap/cmd-idle.c, src/imap/imap-client.c,
	src/imap/imap-client.h, src/imap/imap-search.c,
	src/pop3/pop3-client.c:
	imap, pop3: Removed previous log prefix hack.
	[841f56ea9d54]

	* src/imap/imap-client.c, src/pop3/pop3-client.c:
	imap, pop3: Small optimization to last logging change. Also added
	FIXMEs. This is an ugly way to change log prefixes.
	[c9c9ea2bdec9]

	* src/imap/cmd-append.c, src/imap/cmd-idle.c, src/imap/imap-client.c,
	src/imap/imap-client.h, src/imap/imap-search.c,
	src/pop3/pop3-client.c:
	imap, pop3: Try to use the correct log prefix when service_count!=1.
	[8ebf513b875c]

	* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-sync-
	update.c, src/lib-index/mail-transaction-log-append.c, src/lib-index
	/mail-transaction-log-file.c, src/lib-index/mail-transaction-log.h:
	lib-index: Added "transaction boundary" record for future
	compatibility.
	[b7d13ee51aa4]

2010-12-02  Timo Sirainen  <tss@iki.fi>

	* src/lib/lib.c:
	lib_init(): Call srand() with a bit better seed.
	[8e30a07d8dd0]

	* src/auth/auth-request-handler.c:
	auth: Fail if auth client tries to use a duplicate ID.
	[6c9bc37fcf41]

	* src/lib-master/master-login-auth.c:
	lib-master: Try to use auth request ID numbers from wider range to
	ease debugging.
	[16dbbb57a4b2]

	* src/auth/auth-request.c, src/auth/auth-request.h:
	auth: passdb credentials lookup fix when using multiple passdbs. If
	at least one passdb returns "user unknown" and the last passdb
	returns "credential lookup not supported", the proper return value
	is still "user unknown".
	[627aeadb0955]

	* src/lib-master/master-login-auth.c:
	lib-master: Added extra debug info for a "user not found" error
	message.
	[4113324354f5]

	* src/lib-index/mail-index-sync-update.c:
	lib-index: Added a missing sanity check for expunge-guid record's
	uid. This fixes a non-self healing assert-crash.
	[e12572ca4454]

2010-11-30  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/20-lmtp.conf, src/lmtp/commands.c,
	src/lmtp/lmtp-settings.c, src/lmtp/lmtp-settings.h:
	lmtp: Added lmtp_save_to_detail_mailbox setting.
	[d7886c6d9ba5]

	* src/master/service-process.c:
	master: Fixed crash due to recent SSL key password askpass change.
	[6e6d3a1cf799]

	* src/lib/askpass.c:
	askpass: Removed unnecessary code.
	[a131a498731f]

	* src/lib/askpass.c:
	askpass: Allow reading password from stdin even if it's not a tty.
	[719ce27f9955]

	* src/master/common.h, src/master/main.c:
	master: Use t_askpass() for getting the manual SSL key password.
	[28db9b177087]

	* src/lib/askpass.c:
	t_askpass(): Removed a limit of 1024 bytes for the password.
	[6ea1671108f1]

2010-11-29  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c, src/lmtp
	/lmtp-settings.c, src/lmtp/lmtp-settings.h:
	lmtp: Recent change broke accessing mail_temp_dir. Also when it
	happened, an error message wasn't always logged.
	[77d582b2dc51]

	* src/lib-fs/fs-sis.c:
	fs-sis: Memory leak fix.
	[5e82c5b1b4a9]

	* src/doveadm/doveadm-mail-import.c:
	doveadm import: Free memory used by source storage at deinit.
	[97b3d4b714cf]

2010-11-26  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm-import.1.in:
	man: doveadm-import.1: Added missing argument descriptions.
	[9e54d61d57fb]

2010-11-26  Timo Sirainen  <tss@iki.fi>

	* TODO:
	TODO updated
	[0757f4f5b882]

	* src/auth/userdb-ldap.c, src/auth/userdb-sql.c:
	auth sql/ldap: Allow using global %variables in
	iterate_query/filter. No per-query %variables are defined, but e.g.
	%{hostname} or %{env:*} can be used.
	[8ca8de045df1]

	* src/login-common/client-common-auth.c:
	login: Fixed potential assert-crash during failed proxy
	authentication.
	[e9b90ff13910]

	* src/auth/main.c:
	auth: Assume inet_listeners are auth client listeners if they exist.
	[fe8e82b5bff9]

	* src/auth/main.c:
	auth: Minor error message fix.
	[3abefa63b8e7]

2010-11-25  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/Makefile.am, doc/man/doveadm-altmove.1.in, doc/man/doveadm-
	expunge.1.in, doc/man/doveadm-fetch.1.in, doc/man/doveadm-force-
	resync.1.in, doc/man/doveadm-import.1.in, doc/man/doveadm-
	mailbox.1.in, doc/man/doveadm-purge.1.in, doc/man/doveadm-
	quota.1.in, doc/man/doveadm-search.1.in, doc/man/doveadm.1.in,
	doc/man/global-options-formatter.inc, doc/man/global-options.inc,
	doc/man/option-S-socket.inc, doc/man/sed.sh:
	man: Added "-S socket_path" description.
	[fee02c0565e7]

2010-11-24  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail.c:
	doveadm: -s was already used by some mailbox commands, renamed to
	-S. Also added -S to usage output.
	[17a67be8edb5]

2010-11-24  Pascal Volk  <user@localhost.localdomain.org>

	* src/doveadm/doveadm.c:
	doveadm: Removed -s option from the usage message (according to
	66428c763354)
	[a9bf33946acf]

2010-11-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-settings.c:
	lib-storage: mail_temp_dir setting should have done %variable
	expansion.
	[0bc3751c6657]

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-settings.c,
	src/doveadm/doveadm-settings.h, src/doveadm/doveadm.c:
	doveadm: Moved -s parameter among -u/-A parameters, since it's only
	used by mail commands.
	[66428c763354]

2010-11-23  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm.1.in, doc/man/global-options-formatter.inc, doc/man
	/global-options.inc:
	man: Added -s parameter.
	[21966f298a3c]

2010-11-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-transaction-log.c:
	lib-index: Don't try to stat() in-memory index.
	[e6076467fbf0]

2010-11-23  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm-import.1.in:
	man: *roff syntax-fix.
	[464fe0e62078]

	* src/doveadm/doveadm.c:
	doveadm: Added -s parameter to the usage message.
	[9c2e49d13fd3]

2010-11-23  Timo Sirainen  <tss@iki.fi>

	* doc/man/doveadm-import.1.in:
	man: Make it clear that doveadm-import allows dest_parent to be ""
	[16338d5462ba]

	* doc/man/doveadm.1.in:
	man: Added pointer to doveadm-import from doveadm main man page.
	[ef24f74f32d7]

	* src/lib-storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-sync.h:
	maildir: Log a warning if scanning new/ or cur/ takes over 60s.
	[69efe4b2bc80]

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h:
	lib-master: Added missing master_service_get_settings_parser()
	required by recent change.
	[94fd6fee57a1]

	* src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
	/dbox-single/sdbox-copy.c, src/lib-storage/index/maildir/maildir-
	copy.c, src/lib-storage/mail-copy.c, src/lib-storage/mail-copy.h,
	src/lib-storage/mail-storage-private.h:
	lib-storage: If disable_reflink_copy_to=TRUE, disable
	hardlink/refcount copying.
	[10c2540e91b9]

	* src/doveadm/doveadm-mail-server.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h, src/doveadm/main.c:
	doveadm server: Fixes to command/parameter handling.
	[490138318288]

	* src/doveadm/doveadm.c:
	doveadm: Added -s parameter to execute mail command via given
	doveadm socket.
	[8c14551c5e26]

	* src/doveadm/client-connection.c:
	doveadm-server: Don't disconnect client after each command.
	[8b82ccf48f32]

2010-11-22  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-idle.c:
	imap: Make sure IDLE isn't broken too early if DONE is sent in
	multiple packets.
	[66a523135836]

	* src/plugins/quota/quota.c:
	quota: If user has unlimited quota, ignore any specific quota rules.
	[3a93121f652a]

	* src/doveadm/client-connection.c:
	doveadm-server: Fixed command parameter handling.
	[b724ef3bdc0a]

2010-11-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/anvil-client.c, src/lib-master/anvil-client.h:
	lib-master: Added missing anvil_client_is_connected()
	[f5bec4e94b55]

	* src/imap/main.c, src/pop3/main.c:
	imap, pop3: Fixed giving any -parameters.
	[0d455d1a9ea6]

2010-11-18  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-penalty.c:
	auth: If we get disconnected from anvil and can't reconnect, die.
	[3e4a65a74c40]

	* src/auth/auth-client-connection.c:
	auth: Fixed assert-crash at deinit if there were clients left with
	pending auth requests.
	[9a9f65bcbe19]

	* src/plugins/snarf/Makefile.am, src/plugins/snarf/snarf-plugin.c:
	snarf: Added mbox_snarf setting to enable snarfing only optionally.
	[8adacd9c03b2]

	* configure.in, src/plugins/Makefile.am, src/plugins/mbox-
	snarf/Makefile.am, src/plugins/mbox-snarf/mbox-snarf-plugin.c,
	src/plugins/mbox-snarf/mbox-snarf-plugin.h,
	src/plugins/snarf/Makefile.am, src/plugins/snarf/snarf-plugin.c,
	src/plugins/snarf/snarf-plugin.h:
	Replaced broken mbox-snarf plugin with a more generic snarf plugin.
	[7446b066fc75]

	* src/pop3/pop3-client.c:
	pop3: Avoid crash when updating proctitle if client init fails.
	[9c96b54c8a76]

	* src/lib-storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox
	/mbox-storage.c:
	mbox: Allow mail_privileged_group locking for INBOXes also in
	inbox=no namespaces.
	[1afad049f37f]

	* configure.in:
	configure: And small fix to previous --with-systemdsystemunitdir
	fix.
	[94c5d2189006]

	* configure.in:
	configure: --with-systemdsystemunitdir wasn't working right.
	[e0b42fcf31a1]

	* configure.in:
	configure: Use AS_HELP_STRING() macro.
	[ae5b5961a6a7]

	* src/master/service-listen.c:
	master: Compiling fix when systemd is enabled.
	[36c80d0bdd8a]

2010-11-17  Timo Sirainen  <tss@iki.fi>

	* Makefile.am, configure.in, dovecot.service.in, dovecot.socket, src
	/lib-master/master-service.c, src/master/Makefile.am,
	src/master/main.c, src/master/sd-daemon.c, src/master/sd-daemon.h,
	src/master/service-listen.c:
	Added support for systemd. Based on patch by Christophe Fergeau
	[84eb4afebc95]

	* configure.in:
	configure: Use PKG_PROG_PKG_CONFIG to find pkg-config binary.
	[c1d8fb31c1ad]

	* src/lib-mail/istream-header-filter.c:
	istream-header-filter: Fixed header name validation to use case-
	insensitive comparison.
	[e7299f187938]

	* src/lib-master/master-login-auth.c:
	lib-master: If auth master login fails, make sure error message is
	logged.
	[aec1f1614028]

	* src/lib-sql/driver-mysql.c:
	mysql: When using multiple hosts, it never connected to more than
	the first one.
	[666fd046ab7f]

	* src/lib-sql/driver-sqlpool.c:
	lib-sql: Connect earlier to fallback host when using multiple hosts
	and primary fails.
	[990abbb6d3dd]

	* src/master/master-settings.c:
	master: Allow services' vsz_limit to be 0 (unlimited)
	[2456cd0917d3]

2010-11-16  Timo Sirainen  <tss@iki.fi>

	* src/anvil/anvil-settings.c, src/auth/auth-settings.c, src/config
	/config-settings.c, src/dict/dict-settings.c, src/director/director-
	settings.c, src/dns/dns-client-settings.c, src/doveadm/doveadm-
	settings.c, src/imap/imap-settings.c, src/log/log-settings.c,
	src/pop3/pop3-settings.c, src/ssl-params/ssl-params-settings.c,
	src/util/tcpwrap-settings.c:
	Services' default vsz_limit wasn't actually using default_vsz_limit
	but rather 4 GB.
	[8793036f6de8]

	* src/lib-storage/mail-storage-service.c:
	Fixed home=/home/./user style chrooting to work again.
	[eeaf30cfad36]

	* src/master/master-settings.c:
	master: Fail if service's vsz_limit is less than 1 kB
	[f78260c108b0]

	* src/imap-login/imap-login-settings.c, src/pop3-login/pop3-login-
	settings.c:
	imap/pop3-login: Default vsz_limit=64 caused it to be unlimited, not
	64 MB.
	[ddd929c68c0f]

	* src/lib-storage/index/mbox/mbox-file.c:
	mbox: Another utime()=EPERM log message hiding.
	[586d549732f5]

	* src/lib-storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox
	/mbox-sync.c:
	mbox: Ignore utime()=EPERM failures when trying to set atime back.
	This happens with shared mboxes when file's owner isn't the
	process's euid.
	[3daec8435d29]

2010-11-15  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream-base64-encoder.c:
	istream-base64-encoder: Set the stream seekable if parent stream is
	seekable.
	[3aced5ececd7]

	* src/imap/main.c, src/lib-master/master-interface.h, src/lmtp/main.c,
	src/master/service-process.c, src/pop3/main.c, src/util/script-
	login.c:
	"Running standalone?" check now uses a new DOVECOT_CHILD_PROCESS
	environment rather than GENERATION. The GENERATION environment was
	already set in some systems for Java.
	[10c163bb5e22]

	* src/lib-settings/settings-parser.c:
	lib-settings: Improved performance of previous duplicate key parsing
	change.
	[172942ae0b58]

	* src/lib-settings/settings-parser.c:
	lib-settings: Fixed parsing settings when the key was duplicated to
	multiple roots. Previously only the first one got the value set, now
	all of them get it.
	[656da7e0d6b9]

	* src/imap/imap-settings.c, src/imap/imap-settings.h, src/master
	/master-settings.c, src/master/master-settings.h,
	src/pop3/pop3-settings.c, src/pop3/pop3-settings.h:
	Removed unused auth/mail_debug settings from structs.
	[d9913925a111]

	* src/lib/istream-file.c:
	istream-file: Minor error message fix.
	[8a28deb29320]

	* src/lib/Makefile.am, src/lib/test-istream-base64-encoder.c, src/lib
	/test-lib.c, src/lib/test-lib.h:
	Added unit test for istream-base64-encoder.
	[bb6fc4e13bc9]

	* src/lib/istream-base64-encoder.c:
	istream-base64-encoder: Fixed seeking to beginning of stream.
	[b1d946388d9b]

	* src/lib/istream-base64-encoder.c:
	istream-base64-encoder: Don't add unwanted trailing [CR]LF
	[3f19e7e43506]

	* src/lib-storage/index/dbox-common/dbox-mail.c:
	dbox: dbox file could have been closed too early in some situations,
	causing EBADF errors.
	[967de059f94d]

	* src/lib/istream-base64-encoder.c:
	stream-base64-encoder: Added support for seeking backwards in
	stream.
	[eb08ed7c6a7b]

	* src/lib/istream-internal.h, src/lib/istream.c:
	istream: Exported i_stream_default_seek()
	[236ed6d5b391]

	* src/lib-storage/index/dbox-single/sdbox-storage.c:
	sdbox: Fixed race condition when one session opens a mailbox while
	another is still creating it. This happened mostly when nonexistent
	INBOX was being opened by multiple sessions at the same time.
	[dbcbf6a46710]

2010-11-10  Timo Sirainen  <tss@iki.fi>

	* src/anvil/main.c:
	anvil: Don't die until all of our clients have gone.
	[67fbf09d3fa5]

2010-11-09  Timo Sirainen  <tss@iki.fi>

	* src/lib-settings/settings-parser.c, src/lib/env-util.c, src/lib/env-
	util.h, src/lib/process-title.c:
	Added env_get_environ_p() as more portable way of accessing environ
	variable. Implemented with OS X using _NSGetEnviron().
	[e60061623012]

	* doc/example-config/conf.d/15-lda.conf:
	example-config: sendmail_path defaults to /usr/sbin/sendmail, not
	/usr/lib/sendmail
	[f89b4de6688d]

	* doc/example-config/dovecot.conf:
	example-config: Moved include conf.d/*.conf last in dovecot.conf.
	This fixes problems where conf.d/ files try to modify settings in
	dovecot.conf, especially managesieve adding itself to protocols
	setting.
	[638db56a53ec]

	* src/dsync/dsync-worker-local.c:
	dsync: Don't assert-crash if trying to convert mailbox whose name is
	too long.
	[fa62e1a578a0]

	* src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib/ostream-zlib.c:
	istream-[b]zlib: Corking now affects also the parent stream.
	[631e0d846e57]

	* src/lib/failures.c:
	liblib: Delay sending log prefix updates until it's needed. This
	avoids sending them unnecessarily.
	[e2a880387cca]

	* src/imap/cmd-logout.c, src/imap/imap-client.c:
	imap: Uncork at logout a bit later.
	[fa911bf1cbee]

	* src/lib-master/master-login-auth.c:
	lib-master: Don't wait for handshake before sending auth-master
	request.
	[e72ab743b8df]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Fixed expanding "~" (without '/' afterwards) in
	mail_location
	[d1cf770dbef5]

2010-11-08  Timo Sirainen  <tss@iki.fi>

	* NEWS:
	NEWS: Split too long line.
	[f859a6e06b62]

	* .hgsigs:
	Added signature for changeset d0d3aca1c958
	[27fce4d468e9]

	* .hgtags:
	Added tag 2.0.7 for changeset d0d3aca1c958
	[bd36f254bcac]

	* NEWS, TODO, configure.in:
	Released v2.0.7.
	[d0d3aca1c958] [2.0.7]

	* src/lmtp/commands.c:
	lmtp: Don't allow mixed proxy/non-proxy RCPT TO destinations.
	Although the code attempts to handle this case already, the DATA
	replies aren't sent in correct order.
	[97e60c1a4f8d]

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: Don't internally finish proxying before client has even
	sent DATA command. This fixes some crashes when all recipients were
	invalid.
	[748e613fd73a]

	* src/lib/istream-tee.c:
	istream-tee: Fixed to work right when input stream didn't start from
	offset 0.
	[2a252c9cda5e]

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: p_strdup() GUID and UIDL_BACKEND to make sure they don't
	change unexpectedly.
	[11169c6c6e8d]

2010-11-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Fixed another transaction log read optimization. Buffer's
	size should always be the same as sync_offset, otherwise some
	optimizations could think that the data doesn't have to be re-read
	even though it was updated in disk already.
	[878746da7992]

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Fix to transaction log read optimization. The log wasn't
	always refreshed while locked when it should have.
	[7f8f73bed7f9]

	* src/lib-auth/auth-master.c:
	lib-auth: Less leaky fix to previous auth_master_*() bugfix.
	[57477db05aff]

	* src/lib-auth/auth-master.c:
	lib-auth: Don't crash in auth_master_*() lookups if caller hasn't
	created ioloop.
	[55d144a33e62]

2010-11-04  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-
	storage.c, src/plugins/quota/quota.c:
	quota: Better fix to avoid counting quota for virtual mailboxes.
	[5a10aaf6f510]

	* src/lib-storage/mail-storage-private.h, src/plugins/virtual/virtual-
	storage.c:
	virtual: Set MAIL_STORAGE_CLASS_FLAG_NOQUOTA to storage's
	class_flags.
	[37833c393ef8]

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Minor error message improvement.
	[16abe905f897]

	* src/lib-fs/fs-posix.c:
	lib-fs / posix: If create/link/rename fails with ENOENT, try
	creating parent dir multiple times. This avoids random failures when
	the parent dir happens to be removed at just the right time.
	[952dc335eb75]

	* src/lib-storage/index/dbox-common/dbox-storage.c:
	dbox: Minor optimization when creating a mailbox when its alt dir
	already existed. Patch by DINH Viêt Hoà
	[ed94f6d615ef]

	* src/login-common/ssl-proxy-openssl.c:
	ssl: Call OpenSSL_add_all_algorithms() to make some OpenSSL versions
	happy.
	[8fed40bfaaba]

	* src/lib-storage/index/istream-attachment.c:
	istream-attachment: Error handling improvements.
	[455bea720c13]

	* src/lib/istream-concat.c:
	istream-concat: Fixed error handling when one of the stream read()s
	failed.
	[71e13b4a44d4]

	* src/config/config-parser-private.h, src/config/config-parser.c:
	config parser: Log an error about missing '}'.
	[e57054f88e66]

	* src/lib/istream-base64-encoder.c:
	istream-base64-encoder: Panic if stat() is tried to be called with
	exact size.
	[af252c044393]

	* src/lib-storage/index/istream-attachment.c:
	istream-attachment: Removed parent stream's size sanity check. It
	didn't work right with base64 streams.
	[29c71b6e354e]

2010-11-03  Timo Sirainen  <tss@iki.fi>

	* src/lda/main.c:
	lda: If Sieve is disabled, don't create temp files for large mails.
	[fd44ba1fa729]

	* src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h:
	lib-lda: mail_deliver_save() tries now to avoid re-parsing message
	header when logging the result.
	[b9487d271b72]

	* src/plugins/zlib/Makefile.am, src/plugins/zlib/doveadm-zlib.c:
	doveadm dump: Added imapzlib type to uncompress IMAP's COMPRESS
	DEFLATE I/O traffic.
	[e21d08bf5e9d]

	* src/doveadm/doveadm-dump.c, src/doveadm/doveadm-dump.h,
	src/doveadm/doveadm.c:
	doveadm dump: Allow plugins to add more dump types
	[708fd6faca39]

	* src/master/master-settings.c:
	master: Log a warning at startup if anvil's client_limit is too low.
	[97b286b6ec45]

	* src/lmtp/lmtp-settings.c:
	lmtp: Minor code cleanup: s/lmtp_login_/lmtp_/
	[d3d07da70102]

	* src/director/main.c:
	director: Show number of connections in process title if
	verbose_proctitle=yes
	[a69ad6b69481]

	* src/anvil/main.c:
	anvil: Show number of connections in process title if
	verbose_proctitle=yes
	[7b1aae5f7bd5]

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h, src/lib-master/master-service.c, src/lib-master
	/master-service.h:
	lib-master: Added MASTER_SERVICE_FLAG_UPDATE_PROCTITLE for showing
	number of connections in ps. The title is still only updated if
	verbose_proctitle=yes, so this allows binaries to easily just set
	the flag and lib-master handles the rest.
	[4d91cec713cf]

	* src/auth/main.c:
	auth workers: Don't unnecessary connect to anvil.
	[3ce7879e3ac0]

	* src/master/master-settings.c, src/master/service.c:
	master: default_process_limit wasn't actually used anywhere, rather
	the default was unlimited.
	[b4b6bf889044]

2010-11-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-maildir-iter.c:
	lib-storage: Maildir++ mailbox listing could have given wrong flags
	to parent mailboxes.
	[eb72f2523ffa]

	* src/imap/imap-client.c:
	imap: Removed accidentally commited debug code.
	[055e5206b836]

	* src/lib-master/master-login-auth.c:
	lib-master: Stop accepting new connections after auth-master gets
	disconnected.
	[9f179255b796]

	* src/imap/main.c, src/pop3/main.c:
	imap, pop3: Use absolute path to auth-master socket.
	[0b77044fbdd4]

	* src/auth/db-ldap.c:
	ldap auth: Hide password_noscheme from debug logs unless
	auth_debug_passwords=yes
	[1fab347c4b94]

	* src/auth/passdb-sql.c:
	sql auth: Fixed using password_noscheme
	[840a488289ac]

	* src/auth/auth-request.c, src/auth/passdb-cache.c:
	auth: Disable auth caching entirely for master users. The cache key
	contains only the master username, without the logged-in username,
	so wrong data could be looked up from cache.
	[075963b71b94]

	* src/imap/cmd-select.c, src/imap/imap-client.c, src/imap/main.c:
	imap: Fixed SELECT QRESYNC not to crash on mailbox close if a lot of
	changes were being sent.
	[1d381325a973]

	* src/auth/passdb-vpopmail.c, src/auth/userdb-vpopmail.c:
	auth: vpopmail passdb/userdb uses now auth-worker processes by
	default. Adding blocking=no parameter disables this.
	[5a8533404979]

	* src/lib-storage/index/dbox-common/dbox-file.h:
	dbox: Comment update.
	[2b709ff27b3a]

	* src/imap/cmd-list.c:
	imap: Fixed LIST-STATUS when listing subscriptions with
	subscriptions=no namespaces.
	[3e59dbe29f81]

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log plugin: Log mailbox name as virtual name rather than
	physical name.
	[4ee632794f0b]

	* src/director/main.c:
	director: inet_listener port finder should ignore doveadm's port.
	[f55b91aaddfe]

2010-11-01  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-storage.c:
	quota: Added a temporary hack to avoid virtual mailboxes being
	counted in quota.
	[b7511f567d2e]

2010-10-25  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-proxy-server-cmd.c:
	dsync: Make sure MSG-GET command doesn't hang.
	[601065674f74]

	* src/dsync/dsync-proxy-client.c:
	dsync: Added more idle timeout resets to proxying.
	[a408c08784bc]

	* src/lib-storage/index/dbox-common/dbox-mail.c:
	dbox: mail_get_special() for POP3 UIDL or GUID return value wasn't
	permanent enough. Another call to mail_get_*() could have caused the
	string to point to some garbage.
	[94be7b193c48]

	* src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server.c,
	src/dsync/dsync-worker-local.c:
	dsync: Error handling fixes.
	[f52d4d77f16f]

	* src/dsync/dsync-worker-local.c:
	dsync: If msg input reading fails, don't also log a wrong "Unknown
	internal error" line.
	[d46a3fca7259]

	* src/lib-storage/mail-storage.h:
	lib-storage: Comment update to mail_get_stream()
	[1b2caff94b49]

	* src/master/main.c:
	master: Use env_clean_except() instead of doing it ourself.
	[d1fd5b84d410]

	* src/lib-master/master-service.c:
	lib-master: Use env_clean_except() for master_service_env_clean()
	[e0a97842182f]

	* src/lib/env-util.c, src/lib/env-util.h:
	Added env_clean_except()
	[fe72469ccdf5]

	* src/lib-master/master-service.c:
	lib-master: Code cleanup for master_service_env_clean()
	[7cf8e3094b39]

	* src/doveadm/doveadm-mail-expunge.c:
	doveadm expunge: Sync mailbox after commit to make sure messages get
	physically expunged.
	[d991b5c99397]

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: Duplicate GUIDs during a single save transaction weren't
	handled correctly.
	[c8eb81e1b5d6]

2010-10-21  Timo Sirainen  <tss@iki.fi>

	* src/lib/file-set-size.c:
	file_preallocate(): Don't ignore ENOSPC with OSX either, caller will
	check it.
	[aaca506ea33b]

	* src/lib/file-set-size.c:
	file_preallocate(): Added support for OS X.
	[f6e45e83796b]

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: Added support for pop3.uidl field.
	[3b13bd2d64f4]

	* NEWS:
	NEWS: mdbox_preallocate_space is for ext4, not ext3.
	[9aa158bd50eb]

	* configure.in:
	configure: Use sdbox name instead of dbox in the help.
	[a7d99b69523a]

	* .hgsigs:
	Added signature for changeset 8a838dcf8e76
	[ece681b7bb4e]

	* .hgtags:
	Added tag 2.0.6 for changeset 8a838dcf8e76
	[bc4baed68068]

	* NEWS, TODO, configure.in:
	Released v2.0.6.
	[8a838dcf8e76] [2.0.6]

	* src/doveadm/doveadm-sis.c:
	Static analyzer warning fix.
	[a6eb233ac3ba]

	* src/doveadm/doveadm-mail-import.c:
	doveadm import: Code correctness fix (wasn't visible to users)
	[d9a66fa6e206]

	* src/lib-fs/fs-posix.c:
	lib-fs: Fixed error handling for posix.write_stream_finish()
	[75cc38d62711]

	* src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index
	/dbox-multi/mdbox-file.h, src/lib-storage/index/dbox-multi/mdbox-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-
	storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-file.c, src/lib-storage/index/dbox-
	single/sdbox-file.h, src/lib-storage/index/dbox-single/sdbox-mail.c,
	src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-sync.c:
	dbox: Reverted the "check if altpath is mounted" change for now. If
	alt path didn't yet exist, it reported bogus errors. It should
	somehow check if there is anything under the alt root dir.
	[9e400f6963eb]

	* src/dsync/dsync-worker-local.c:
	dsync: Make sure POP3 UIDL string isn't corrupted while saving it.
	[4f90256c0e9c]

	* src/lib-storage/index/dbox-common/dbox-save.c, src/lib-storage/mail-
	storage.c:
	lib-storage: Make sure POP3 UIDLs aren't tried to be saved with LFs.
	[3959ddbc633c]

	* src/lib-master/master-login-auth.c:
	Compiler warning fix.
	[f38e4e1465c8]

	* src/auth/auth-settings.c, src/auth/auth-settings.h, src/auth/userdb-
	passwd.c:
	auth: userdb passwd iteration now lists only users within
	first_valid_uid..last_valid_uid range.
	[745ef289b0ea]

	* src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index
	/dbox-multi/mdbox-file.h, src/lib-storage/index/dbox-multi/mdbox-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-
	storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-file.c, src/lib-storage/index/dbox-
	single/sdbox-file.h, src/lib-storage/index/dbox-single/sdbox-mail.c,
	src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-sync.c:
	dbox: If alt path is lost, fail with an error rather than rebuilding
	indexes. This could be simply because alt storage is unmounted at
	the time and rebuilding would just lose messages. If this error
	happens unintentionally, it's still possible to fix it with "doveadm
	force-resync".
	[099925543768]

	* src/dsync/dsync.c:
	dsync: Don't crash if USER environment isn't set and -u parameter
	isn't given.
	[760d84e274ad]

2010-10-20  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/10-mail.conf:
	example-config: Added a warning about mail_attachment* being
	experimental.
	[ca2f5af61e7d]

	* doc/example-config/conf.d/10-mail.conf:
	example-config: Added mail_attachment_* settings.
	[d55afae11f89]

	* src/plugins/zlib/zlib-plugin.c:
	zlib: Hook into mail.istream_opened() method rather than
	mail.get_stream() This fixes zlib plugin to work with mail
	attachments.
	[82a1bdac2e4e]

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index
	/dbox-common/dbox-attachment.c, src/lib-storage/index/dbox-common
	/dbox-attachment.h, src/lib-storage/index/dbox-common/dbox-file.c,
	src/lib-storage/index/dbox-common/dbox-file.h, src/lib-storage/index
	/dbox-common/dbox-mail.c, src/lib-storage/index/dbox-multi/mdbox-
	mail.c, src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-
	storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src
	/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/test-mail.c, src/plugins/virtual/virtual-mail.c:
	lib-storage: Added istream_opened() method to struct mail. This can
	be hooked into by plugins that want to do something with the
	message's stream in the message file, rather than the virtual
	resulting stream visible to client. For example when using dbox
	attachments, this stream contains only the data in the dbox files
	without any external attachments.
	[d94957cafd3e]

	* src/lib/istream-concat.c:
	istream-concat: Avoid assert-crashing.
	[90fb346baeb2]

	* doc/example-config/conf.d/10-mail.conf, src/lib-storage/index/dbox-
	multi/mdbox-file.c, src/lib-storage/index/dbox-multi/mdbox-
	settings.c, src/lib-storage/index/dbox-multi/mdbox-settings.h, src
	/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.h:
	mdbox: Added mdbox_preallocate_space setting to preallocate size for
	newly created files.
	[b884441a713f]

	* configure.in, src/lib/file-set-size.c, src/lib/file-set-size.h:
	Added file_preallocate() to preallocate space to a file without
	changing its size. Implemented for Linux. Doesn't look like other
	OSes support this.
	[22c81f884032]

	* src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
	/dbox-single/sdbox-copy.c, src/lib-storage/index/index-storage.c,
	src/lib-storage/index/index-storage.h, src/lib-storage/index/maildir
	/maildir-copy.c, src/lib-storage/index/maildir/maildir-save.c, src
	/lib-storage/index/maildir/maildir-storage.h:
	dbox, maildir: When copying messages, copy the cached fields also.
	Copy only fields whose caching decision is not "no" in the
	destination mailbox.
	[8ccf177754b3]

	* src/lib-storage/index/index-status.c:
	lib-storage: mailbox_get_status(): return cache fields allocated
	from data stack. Allocating them from mailbox's pool just wastes
	memory if it's called multiple times for same mailbox.
	[8a6cdefd829a]

	* src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache.h:
	lib-index: Added mail_cache_register_get_field().
	[f170b3e39a34]

2010-10-19  Timo Sirainen  <tss@iki.fi>

	* src/pop3/pop3-client.c:
	pop3: Don't crash if client disconnects in output handler.
	[5f9919f9e321]

	* src/lib/ioloop-iolist.c:
	ioloop: If io_add() is called twice for same fd, give a bit more
	informative panic message.
	[f7f2edaf6dca]

	* src/lib-mail/istream-header-filter.c:
	istream-header-filter: Fix to previous change.
	[0ac9af7f7d5b]

	* src/config/settings-get.pl, src/lib-storage/index/Makefile.am, src
	/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-common/Makefile.am, src/lib-storage/index/dbox-common/dbox-
	attachment.c, src/lib-storage/index/dbox-common/dbox-attachment.h,
	src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-save.c, src/lib-storage/index/dbox-common/dbox-
	storage.c, src/lib-storage/index/dbox-common/dbox-storage.h, src
	/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-
	single/Makefile.am, src/lib-storage/index/dbox-single/sdbox-copy.c,
	src/lib-storage/index/dbox-single/sdbox-file.c, src/lib-
	storage/index/dbox-single/sdbox-file.h, src/lib-storage/index/dbox-
	single/sdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
	storage.c, src/lib-storage/index/dbox-single/sdbox-storage.h, src
	/lib-storage/index/dbox-single/sdbox-sync.c, src/lib-storage/index
	/index-attachment.c, src/lib-storage/index/index-attachment.h, src
	/lib-storage/index/index-storage.c, src/lib-storage/index/istream-
	attachment.c, src/lib-storage/index/istream-attachment.h, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage-
	settings.c, src/lib-storage/mail-storage-settings.h, src/lib-storage
	/test-mailbox.c, src/plugins/virtual/virtual-storage.c:
	lib-storage: Added support for saving mail attachments separately
	via filesystem API. Currently this works only with sdbox and mdbox
	backends.
	[28eaaa23f2c6]

	* src/lib/Makefile.am, src/lib/istream-base64-encoder.c, src/lib
	/istream-base64-encoder.h:
	liblib: Added istream for reading binary data as base64-encoded.
	[ce5bb3246ffb]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-sis.c,
	src/doveadm/doveadm.c, src/doveadm/doveadm.h:
	doveadm: Added commands for managing SiS directories.
	[21c70ff6b344]

	* configure.in, src/Makefile.am, src/lib-dovecot/Makefile.am, src/lib-
	fs/Makefile.am, src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c,
	src/lib-fs/fs-api.h, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-
	common.c, src/lib-fs/fs-sis-common.h, src/lib-fs/fs-sis-queue.c, src
	/lib-fs/fs-sis.c, src/lib-fs/ostream-cmp.c, src/lib-fs/ostream-
	cmp.h:
	Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS
	and SiS-queue backends.
	[e3fe87b855ef]

	* src/lib/Makefile.am, src/lib/hash-format.c, src/lib/hash-format.h,
	src/lib/test-hash-format.c, src/lib/test-lib.c, src/lib/test-lib.h:
	liblib: Added API for easily building hash strings based on given
	format string and input.
	[22689f4ceecb]

	* src/lib/Makefile.am, src/lib/hash-method.c, src/lib/hash-method.h,
	src/lib/md4.c, src/lib/md4.h, src/lib/md5.c, src/lib/md5.h,
	src/lib/sha1.c, src/lib/sha1.h, src/lib/sha2.c, src/lib/sha2.h:
	liblib: Added a common API for accessing all hash methods.
	[368fd1cce4d6]

	* src/lib-mail/istream-header-filter.c:
	istream-header-filter: Drop duplicate headers instead of assert-
	crashing with them.
	[d95510ee0c8f]

2010-10-18  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/acl-mailbox.c:
	acl: Recent change broke setting acls.
	[0908326bf4b9]

	* .hgignore, doc/man/Makefile.am, doc/man/doveadm-import.1.in,
	src/doveadm/Makefile.am, src/doveadm/doveadm-mail-import.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added import command for importing mails from other
	storages.
	[6c2d5ed0b664]

	* src/doveadm/client-connection.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h:
	doveadm: Call mail command's init() only after service storage is
	initialized.
	[507d4c4859cf]

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	lib-storage: Added no_userdb_lookup flag to storage service lookups.
	[27289650ed4c]

	* src/lib/Makefile.am, src/lib/ostream-file.c, src/lib/test-lib.c,
	src/lib/test-lib.h, src/lib/test-ostream-file.c:
	ostream-file: Fixed potential crash in write_at() and also fixed
	attempted optimization.
	[17957b5082cd]

	* src/lib-index/mail-index-lock.c:
	lib-index: More undoing of locking code changes.
	[0dae63c1af96]

	* src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-mailbox.c:
	acl: Fixed memory leaks.
	[7b47c5a321b9]

	* src/auth/auth-settings.c:
	auth: Default for auth_cache_negative_ttl was supposed to be 1 hour,
	not disabled.
	[94608c2debe2]

	* src/auth/auth-request.c:
	auth: Log userdb cache hits and misses with auth_debug=yes
	[b0ef4e803b1a]

	* src/lib-storage/mail-storage.c:
	lib-storage: Log a debug message if shared user's storage root
	doesn't exist with mail_debug=yes
	[953e7c6e546b]

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Avoid passing NULL parameter to printf %s when mail_debug=yes
	[00637db0e54c]

2010-10-16  Timo Sirainen  <tss@iki.fi>

	* src/pop3/pop3-client.c:
	pop3: Recent corking change caused hangs.
	[b8803a1e2dc2]

	* src/lib-index/mail-index-sync-ext.c, src/lib-mail/istream-header-
	filter.c, src/plugins/acl/acl-backend-vfile.c:
	Removed some dead code.
	[794f09e5571d]

	* src/lib-index/mail-index-sync-update.c:
	lib-index: Work around clang static analyzer's false positive "dead
	code" issue.
	[84a9dc26108f]

	* src/lib-lda/duplicate.c:
	lib-lda: Make sure duplicate_init() handles non-existent home
	correctly. With previous change mail_user_get_home() always set
	home, but this is good anyway.
	[0521ab2380cf]

	* src/lib-storage/mail-user.c:
	lib-storage: mail_user_get_home(): Make sure user_r is always set.
	[811e49651662]

	* src/lib-storage/mail-storage.c:
	lib-storage: mailbox_get_guid() crashed if storage didn't support
	GUIDs.
	[092d5ba2dcfa]

	* src/lib/istream-concat.c:
	istream-concat: Fixed another memory leak.
	[cc81de55245f]

	* src/lmtp/commands.c:
	lmtp: Don't access freed memory if input couldn't be opened as raw
	mail. This shouldn't really have ever happened.
	[d44e64390bdd]

2010-10-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-mail/istream-header-filter.c, src/lib-mail/test-istream-
	header-filter.c:
	istream-header-filter: Assert-crash if headers aren't given sorted.
	[0d689c112c6e]

	* src/master/main.c:
	Compiler warning/error fix to recent logging API changes.
	[9dd776345b22]

	* src/lmtp/commands.c:
	lmtp: Reverted last change after all. Besides, the error code was
	wrong.
	[a771ccba0c31]

	* src/lmtp/commands.c:
	lmtp: Don't allow saving zero byte sized messages.
	[2c364acbc293]

	* src/lib/ioloop-epoll.c:
	epoll: Suggest not-so-UUOC if epoll_ctl() fails for stdin
	[7a839a028dfa]

	* src/lib/istream-concat.c:
	istream-concat: Fixed a memory leak.
	[f48b52b9427e]

	* src/lib-storage/index/index-transaction.c:
	lib-storage: Added assert to transaction rollback to make sure all
	mails are freed. The same assert was already in commit, so this
	should be fine.
	[d2910cd43d1d]

	* src/auth/auth-penalty.c:
	auth: Make sure auth request is kept referenced during the lookup.
	[0b509f1ee95c]

	* src/lib-master/master-service.c:
	lib-master: Properly fixed accepting FIFO connections with BSDI.
	[3385e9028410]

	* src/log/log-connection.c:
	log: Avoid calling time() unnecessary when logging multiple lines.
	[80097e5c38e9]

	* src/lib/failures.c, src/lib/failures.h:
	Failure logging supports now getting timestamp as parameter.
	[e68366e88099]

	* src/doveadm/doveadm-log.c, src/lib-test/test-common.c,
	src/lib/failures.c, src/lib/failures.h, src/log/log-connection.c,
	src/master/main.c:
	Cleaned up log callbacks and made them more extensible.
	fatal_failure_callback_t type is now gone, there's only
	failure_callback_t left that has a struct pointer as parameter. More
	parameters can be easily added to the struct in future.
	[4933c3095ee2]

	* src/plugins/acl/acl-mailbox-list.c:
	acl: Log mailbox names that are skipped due to missing lookup right
	with mail_debug=yes
	[b0e4edc4d79a]

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Log attempted accesses to nonexistent users' mails with
	mail_debug=yes.
	[b277b71fb57f]

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Use MAIL_STORAGE_FLAG_NO_AUTOVERIFY for creating shared
	namespace storages. This avoids failing storage creation for
	nonexistent users. Previous failure made it possible for logged in
	users to figure out what other usernames existed on the system.
	[2d6396330099]

	* src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Added MAIL_STORAGE_FLAG_NO_AUTOVERIFY to skip checking
	storage root dir existence.
	[0cc916fc09f9]

	* src/auth/passdb-ldap.c, src/auth/userdb-ldap.c:
	ldap: Compare LDAP attribute names case-insensitively.
	[a8b9d7fdc646]

	* src/auth/userdb-ldap.c:
	ldap: Log a warning if iterate_attrs has other fields than 'user'.
	[5cc31ecf199e]

2010-10-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-util.c:
	maildir: Check correctly if file is a symlink. Patch by Mike Abbott
	/ Apple.
	[df6f5d270a46]

	* src/lib-index/mail-index-lock.c:
	lib-index: Put back some of the removed locking complexity. This
	fixes a crash when mmap_disable=no and a index was mmap()ed (which
	keeps the index locked) and later its read-lock was tried to be
	changed to write-lock.
	[ff1ac6f22ba1]

	* src/login-common/client-common.c:
	*-login: If client didn't log in, don't log mpid in logout message.
	[c38f630dae09]

	* src/imap/imap-client.c, src/pop3/pop3-client.c:
	imap, pop3: Cork TCP connection before trying to flush output in
	output callback.
	[f3aa8be626fa]

	* src/lib-storage/mail-storage.c:
	lib-storage: If mailbox deletion failed, we crashed while trying to
	write undelete record to index.
	[a3e40c6b14fe]

	* src/lib-index/mailbox-log.c:
	lib-index: Don't reopen mailbox log file too often.
	[03ac8057710d]

	* src/lib-index/mailbox-log.c:
	lib-index: Mailbox log writing was trying to write to a closed log
	file fd.
	[80a080814041]

	* src/auth/auth-request.c:
	auth: Give a better error message if pass=yes can't be used in
	master passdb.
	[f451ffa51772]

2010-10-06  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-maildir.c:
	quota: Log a warning if Maildir++ quota is enabled for non-Maildir
	storage.
	[6ea01abfaea9]

	* src/master/main.c:
	master: Parse and check full config at startup.
	[092c39cf86b9]

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h:
	lib-master: Added support for parse_full_config input option for
	settings parsing.
	[d63b48a452f1]

	* src/config/doveconf.c:
	doveconf: Added -p parameter to parse full config even if -m module
	is given.
	[8d36d8f5fcef]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Write only base filenames to uidlist. Previously the old
	filename was used to guess the initial filename, but nowadays we do
	that by building the filename based on flags in index.
	[cc969ee7074b]

	* src/lib-storage/mail-search-register-imap.c:
	imap search: Fixed YOUNGER/OLDER
	[84014f0baaf4]

	* src/lib-storage/index/index-search.c:
	search: If body search fails due to I/O error, keep the result as
	"unknown". Found by Vadim Okun
	[41454ed5a3eb]

	* src/lda/main.c:
	lda: -m parameter's UTF-8 validity wasn't checked correctly. Found
	by Vadim Okun
	[c4f91b9acb01]

	* src/lib-lda/mail-deliver.c:
	lib-lda: Fixed error handling if newly delivered mail couldn't be
	opened. Found by Vadim Okun.
	[74ede782269d]

	* src/lib-index/mail-index-transaction-finish.c, src/lib-index/mail-
	index-transaction-private.h, src/lib-index/mail-index-transaction.c:
	lib-index: Always update index map while committing a transaction.
	The previous code was doing this only in some situations, which was
	probably enough, except maybe in some special cases. The log file
	was also read until EOF always anyway, so the only thing this was
	saving was some CPU. With the new behavior the committing stage
	should be more reliable, and also makes it easier to do changes
	without accidentally breaking it.
	[ab2222fd3f5d]

	* src/lib-index/mail-cache-transaction.c, src/lib-index/mail-index-
	transaction-private.h, src/lib-index/mail-index-transaction-
	update.c:
	lib-index: Cache offsets were sometimes written pointing to an older
	cache file.
	[d0ddc30f0eef]

	* src/lib-index/mail-index-fsck.c, src/lib-index/mail-index-private.h,
	src/lib-index/mail-index-transaction.c, src/lib-index/mail-index-
	write.c, src/lib-index/mail-index.c, src/lib-index/mail-transaction-
	log-append.c, src/lib-index/mail-transaction-log-file.c, src/lib-
	index/mail-transaction-log-private.h, src/lib-index/mail-
	transaction-log.c, src/lib-index/test-mail-transaction-log-view.c:
	lib-index: Avoid unnecessary pread()s at end of transaction log
	file. If we've already read until EOF while the file has been
	locked, there's no need to do it again. Previously this worked while
	index was being synced, but not while committing a transaction.
	[41e99ee5c1dd]

	* src/lib-index/mail-index-lock.c:
	lib-index: Removed unnecessary code from lock handling. The code was
	intended only for blocking write-locks, but those haven't been used
	for a long time now.
	[814adaed5b00]

	* src/lib-dict/dict-client.c:
	lib-dict: If connect() to dict socket fails, log an error, but don't
	die.
	[c61cc8fd42ef]

	* src/plugins/quota/quota.c:
	quota: Give better error message for connect() EACCES failure to
	quota-warning socket.
	[93fe557c0f7b]

2010-10-05  Timo Sirainen  <tss@iki.fi>

	* src/auth/passdb-static.c:
	auth: Added lookup_credentials() support for passdb static
	[e92d2aaab3e4]

	* src/imap/cmd-idle.c:
	imap IDLE: Don't send "Still here" notifications if there is already
	data in output buffer.
	[73c6b077bcba]

	* src/master/main.c:
	master: Get only master-related configuration from doveconf at
	startup.
	[760e584b352b]

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: Don't assert-crash when saving a message without locking
	uidlist.
	[e2f9baa436f2]

2010-10-04  Timo Sirainen  <tss@iki.fi>

	* src/lib/priorityq.c:
	priority queue: Set item's idx value to invalid when it's removed
	from queue. This should assert-crash on double-removes more
	reliably.
	[4db5123f91e4]

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: Avoid hanging at the end of message input.
	[1f784904111b]

	* src/lib-storage/list/subscription-file.c, src/lib-storage/list
	/subscription-file.h, src/lib-storage/mailbox-list.c:
	lib-storage: Don't write to dovecot.mailbox.log if setting
	subscription didn't actually change anything.
	[45812039b7ce]

	* src/lib-index/mailbox-log.c:
	lib-index: Fixed leaking fds when writing to dovecot.mailbox.log
	[2b8b2875af26]

	* src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap-
	quota-plugin.c, src/plugins/imap-zlib/imap-zlib-plugin.c:
	imap-* plugins: Use the new imap_client_created_hook_set() to set
	the hook. This avoids accessing variables directly, which allows
	Dovecot to give better error messages if imap-* plugins are tried to
	be loaded by non-imap binary.
	[1df6a392a613]

	* src/imap/imap-common.h, src/imap/main.c:
	imap: Added imap_client_created_hook_set() to update the hook.
	[31a34cff1ebe]

	* configure.in:
	configure: Added IDLE to banner CAPABILITY to make Blackberry happy.
	[b63b6ad01448]

	* src/login-common/ssl-proxy-openssl.c:
	login: Give a better error message if ssl_cert=path is attempted
	without '<'
	[a508ff1db74c]

2010-10-01  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 2690facaa927
	[b0e0dc5c3dd3]

	* .hgtags:
	Added tag 2.0.5 for changeset 2690facaa927
	[7bf1818ff32b]

	* NEWS, TODO, configure.in:
	Released v2.0.5.
	[2690facaa927] [2.0.5]

	* src/lmtp/commands.c:
	lmtp: Make sure we partial messages aren't saved if client
	disconnects during DATA.
	[a75e62340aa5]

	* src/lib-storage/list/mailbox-list-subscriptions.c, src/lib-
	storage/list/subscription-file.c:
	lib-storage: Don't wrongly ignore subscriptions=no namespace
	entries.
	[da9185d1309c]

	* src/dsync/dsync.c:
	dsync: Fail if both source and destination mail location point to
	same directory. This should prevent some accidents.
	[39ef52bc4999]

	* src/config/config-request.c:
	config: Show time/size setting values as more human readable.
	[7c4e4a6b1714]

	* src/imap/imap-client.c, src/plugins/imap-zlib/imap-zlib-plugin.c:
	imap: Don't reset input/output byte counters when COMPRESS is
	started.
	[766564bb051f]

	* src/lib/istream.c, src/lib/istream.h:
	Added i_stream_get_absolute_offset().
	[0c82fe7ce578]

	* src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c:
	zlib: eof_offset wasn't always set right, causing assert-crashes.
	[e7768ec9d3de]

	* src/plugins/zlib/istream-bzlib.c:
	zlib: Fixed istream-bzlib also with mark=TRUE seeking
	[138d848b1e22]

	* src/plugins/zlib/istream-zlib.c:
	zlib: Fixed istream-zlib when using seeking with mark=TRUE (i.e.
	mbox)
	[ab24859c3527]

	* doc/example-config/conf.d/20-pop3.conf, src/pop3/pop3-client.c,
	src/pop3/pop3-settings.c, src/pop3/pop3-settings.h:
	pop3: Added pop3_fast_size_lookups setting.
	[c172f2a384f5]

	* src/lib-storage/mail-storage.h:
	mail-storage.h comments updated.
	[d48456c46a49]

	* src/pop3/pop3-client.c:
	pop3: Code cleanup for mailbox opening code.
	[0da6f86c0ef5]

	* src/plugins/acl/acl-api.h, src/plugins/acl/acl-backend-vfile.c,
	src/plugins/acl/acl-backend.c, src/plugins/acl/acl-cache.c:
	acl: Fixed the logic of merging multiple ACLs.
	[90642b388d7e]

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Reverted last change. It still allows reading the default ACL
	from .DEFAULT file.
	[ef94878e8573]

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Avoid extra open() on a directory for default acl.
	[e12b7ee0a9dc]

2010-09-30  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/acl-lookup-dict.c:
	acl: Avoid opening two dict iterators at the same time.
	[ecc0bc80288c]

	* configure.in, src/lib-dict/Makefile.am:
	dict: Support file backend also with dict proxy.
	[e3fbe13c0eab]

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: Fixed fetching uid field.
	[d6582f3ee54d]

	* src/auth/auth-client-connection.c, src/auth/auth-request-handler.c,
	src/auth/auth-request-handler.h:
	auth: Don't assert-crash if a request still succeeds after its
	client connection is gone.
	[bc782780d0fe]

	* src/auth/auth-request-handler.c, src/auth/auth-request.h:
	auth: Avoid crashing when finishing failed requests that already
	timed out.
	[dfa2b49d8298]

	* src/plugins/virtual/virtual-storage.c:
	virtual: Allow opening virtual mailboxes that refer to non-existing
	mailboxes. It could be intentional that not everyone has the same
	set of mailboxes always.
	[32f68d621f1d]

	* src/lib-index/mail-index-sync.c:
	lib-index: If mail_index_sync_begin() fails, don't assert-crash
	[a7a953486a0b]

	* src/director/director-connection.c:
	director: Properly detect invalid command parameters in
	director<->director connections. Found by Paul E. Black.
	[a224997afefd]

2010-09-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Avoid recreating uidlist all the time when indexes are
	disabled. This code originally existed because old records weren't
	removed from uidlist->records and so this compression would never
	have been done, but 0818f0a49704 changed this behavior.
	[10544c9cd8e8]

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: Avoid opening cache file when getting physical message
	size.
	[dd53d1a27358]

	* src/lib-storage/index/index-mail.c, src/lib-storage/index/index-
	mail.h, src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-uidlist.h:
	Maildir: If mail's virtual size can be found from filename/uidlist,
	do it instead of using cache. This is especially useful with POP3 to
	avoid opening cache file.
	[906746b4f383]

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: If transaction log file is small enough, just read all of
	it to memory immediately.
	[062da0b83c01]

	* src/lib-index/mail-index-sync.c, src/lib-storage/index/maildir
	/maildir-storage.h, src/lib-storage/index/maildir/maildir-sync.c:
	maildir: Avoid refreshing transaction log immediately on first sync.
	[49bd77c018bd]

	* src/lib-index/mail-index.c, src/lib-index/mail-transaction-log.c:
	lib-index: Avoid refreshing transaction log immediately after it was
	opened.
	[8af455e61dad]

	* src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual-
	storage.c:
	virtual: Don't unnecessarily stat() the virtual directory. Its
	existence is checked automatically when trying to open dovecot-
	virtual file.
	[e140d7aab969]

	* src/pop3/Makefile.am:
	pop3: Fixed virtual plugin when compiling --without-shared-libs
	[5db6b49f31c4]

	* src/lib-index/mail-transaction-log-private.h, src/lib-index/mail-
	transaction-log.c:
	lib-index: Don't waste time on every mailbox open checking if .log.2
	should be deleted.
	[e670e8a97a8f]

	* src/lib-storage/list/mailbox-list-maildir.c:
	Maildir++: When opening namespace prefix as mailbox, don't add extra
	'/' to path names.
	[c992b1942e08]

2010-09-28  Timo Sirainen  <tss@iki.fi>

	* src/config/doveconf.c, src/lda/main.c, src/lib-master/master-
	service-settings.c, src/lib-master/master-service-settings.h, src
	/lib-storage/mail-storage-service.c, src/lib-storage/mail-storage-
	service.h:
	lda: If doveconf fails, make it exit with EX_TEMPFAIL.
	[002a702cf06a]

	* src/login-common/client-common.h, src/login-common/sasl-server.c:
	login: If master login fails, tell auth process to free the auth
	request.
	[9939f0565916]

	* src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-util.c:
	maildir: If we see unwanted non-empty directories in new/ or cur/,
	move them to ../extra-*
	[cf1e5238f747]

	* src/config/config-parser.c:
	config: Don't even try to open <file settings for modules we don't
	care about.
	[2bfe672e7c8a]

	* src/config/config-parser.c:
	doveconf: Skip verifying settings for modules we don't care about.
	This was done sometimes, but not always.
	[65855df71cf4]

	* src/lib-index/mailbox-log.c:
	lib-index: Try to keep writing to latest mailbox log. Fixes a
	problem where a long running session keeps writing to a rotate log
	that has already been deleted.
	[431dff6a6ae7]

	* src/plugins/quota/quota-storage.c:
	quota: Don't crash if user has quota disabled.
	[e5f0231b7a40]

2010-09-27  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-single/sdbox-copy.c:
	sdbox: Fixed memory leak when copying messages with hard links.
	[d75a01131ddc]

	* src/config/config-parser.c:
	config: Verify settings plugins' versions are valid if they're
	specified.
	[81a3da7f6413]

	* src/config/config-parser.c:
	doveconf: Expand "key=$key" variable even without -x parameter.
	Without this expansion it hides what the settings actually contain.
	[1c3d9244f248]

	* src/lib-storage/list/subscription-file.c:
	lib-storage: Buffer writes to subscriptions file.
	[432208994270]

	* src/lib-storage/list/subscription-file.c:
	lib-storage: Avoid fsyncing subscriptions file when it doesn't
	change or if mail_fsync=never.
	[4959db811d29]

	* src/plugins/zlib/Makefile.am, src/plugins/zlib/zlib-plugin.c:
	zlib: Avoid using hardcoded storage name strings.
	[a3c8026d0305]

	* src/plugins/zlib/zlib-plugin.c:
	zlib: dbox storage is now called sdbox.
	[c359ee549df7]

2010-09-26  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 7f5c5778c4b9
	[3b2dada4ba64]

	* .hgtags:
	Added tag 2.0.4 for changeset 7f5c5778c4b9
	[ceecb0f6a790]

	* NEWS, TODO, configure.in:
	Released v2.0.4.
	[7f5c5778c4b9] [2.0.4]

	* src/lib-storage/index/maildir/maildir-storage.c:
	Maildir: Fixed accessing INBOX whose tmp/ directory was lost.
	[5b0a1974fc6f]

	* src/imap/imap-commands-util.c:
	imap: Give better error message for "Unknown namespace"
	[45a62c8637e8]

2010-09-24  Timo Sirainen  <tss@iki.fi>

	* src/lib/module-dir.c:
	module_dir_load(): Make it clearer that "Skipping module" debug
	message is normal.
	[bac6907a14a8]

	* src/lib-storage/index/dbox-multi/mdbox-storage.c:
	mdbox: Removed unused code.
	[b2e9ecbc82fe]

	* src/lib-sql/driver-pgsql.c:
	pgsql: Avoid epoll_ctl() errors when closing connection.
	[68c44e8740a2]

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: Another assert for saving messages.
	[c7a5d25dceb6]

	* src/lib-storage/index/dbox-single/sdbox-storage.c:
	sdbox: Use "sdbox" name in the internal storage structure. This
	fixes copying with hard links.
	[1070b54b9471]

	* src/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c:
	maildir: Added extra asserts.
	[c2d50bd35dc4]

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: Don't waste time stat()ing if generated filename is in
	tmp/.
	[aa18316e271d]

	* src/lib-storage/list/subscription-file.c:
	lib-storage: Check valid subscriptions list entries with
	_is_valid_existing_name()
	[9e8e18e4072c]

2010-09-23  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota.c:
	quota: When logging about obsolete rule, log the full rule string.
	[a15b0d032c27]

	* src/plugins/quota/quota.c:
	quota: When logging about obsolete rule, log also the quota root
	name.
	[8e057c95e44e]

	* src/config/old-set-parser.c:
	config: Added conversion support for obsolete sieve/sieve_storage
	settings.
	[0569f9f5b754]

	* src/lib-storage/list/subscription-file.c:
	lib-storage: Log and hide invalid entries in subscriptions file.
	[5b83114df036]

	* src/anvil/anvil-settings.c, src/auth/auth-settings.c, src/director
	/director-settings.c, src/lib-master/service-settings.h, src/log
	/log-settings.c, src/master/master-settings.c:
	Fail at startup if process_limit>1 for services that don't support
	it.
	[ce75971127a2]

	* src/lib-master/master-login-auth.c:
	lib-master: If auth server is restarted, still log a warning about
	aborted auth request.
	[acd30d4601f9]

	* src/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.h:
	maildir: Log a warning if mailbox synchronization takes longer than
	1 min.
	[41b3ab0a3241]

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Use correct enum for getting uidlist record GUID.
	[62d3c2dfee6d]

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: Fixed a race condition in getting a new message's GUID.
	[9d9cb38f1b5d]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Code cleanup: Use MAILDIR_UIDLIST_HDR_EXT_* when building
	the header string.
	[24b84a62d8fe]

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Don't add GUIDs to "external expunge" records. There's no
	point.
	[48567ea799ba]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: When uidlist file is recreated and reread, clear old
	records from memory. This should avoid wasting some memory and also
	fix "Duplicate file entry" errors.
	[0818f0a49704]

	* src/lib-storage/index/maildir/maildir-copy.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-storage.h:
	maildir: Cleaned up filename/guid preserving code on save/copy.
	[77e71551fe55]

	* src/dsync/dsync-worker-local.c:
	dsync: Avoid assert-crashing when trying to create a reserved
	mailbox name (e.g. dbox-Mails)
	[4a753371ae73]

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Fixed expunging messages with GUIDs in uidlist.
	[c24206d083e8]

	* src/lib-lda/duplicate.c:
	lib-lda: Fixed handling duplicate database when user has no home
	dir. Now it gives a clear error message and doesn't crash with some
	OSes.
	[75e466740c57]

	* src/lib-index/mail-transaction-log-file.c, src/lib-index/mail-
	transaction-log-private.h:
	lib-index: Log a warning if transaction log lock is kept over 3
	minutes.
	[6d6d9f49f61b]

2010-09-22  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/auth/passdb-vpopmail.c:
	Attempt to fix vpopmail support.
	[02a9cf90ad02]

	* src/lib-dict/dict-file.c:
	dict-file: Don't leak fd on deinit.
	[7cf2b8b8a720]

2010-09-21  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-count.c, src/plugins/quota/quota-private.h:
	dict quota: Avoid crashing if quota recalculation tries to recurse.
	[ee91aee81d0d]

	* src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c,
	src/plugins/quota/quota.h:
	quota: Avoid calling i_fatal() on initialization errors, plus some
	other fixes.
	[3780caa2a6f2]

	* src/lib-storage/mail-user.c, src/lib-storage/mail-user.h:
	lib-storage: If user->error is set during initialization, fail user
	creation.
	[7dd6ff192718]

	* src/ssl-params/ssl-params-settings.c:
	ssl-params: Don't start it at startup if Dovecot is compiled without
	SSL support.
	[c758655c6270]

	* src/lib-storage/index/maildir/maildir-save.c:
	Maildir: If POP3 UIDL is specified for saved message, add it to
	uidlist.
	[3f04426b00fb]

	* src/lib-storage/mail-storage.c:
	lib-storage: Added assert against empty UIDL in
	mailbox_save_set_pop3_uidl().
	[ad81284d43ff]

	* src/dsync/dsync-worker-local.c:
	dsync: Don't set POP3 UIDLs to empty values.
	[8b1ec21f50e6]

	* src/lib-auth/auth-client-request.c:
	lib-auth: Last change broke multi-step auth mechanisms.
	[0d101d089b5b]

	* src/lib-dict/dict-client.c:
	dict client: If connect to server socket fails with EACCES, give
	better error message.
	[c6783cbd0235]

	* src/plugins/expire/doveadm-expire.c:
	doveadm-expire: Improved debug logging.
	[0c22286d5fc7]

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added iterate_single_user mail context field.
	[dc98970aef85]

	* src/lda/main.c:
	lda: If mail_debug=yes and no -d parameter is given, log where
	username is taken from.
	[942bb9258e49]

2010-09-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-auth/auth-client-request.c:
	lib-auth: Make sure auth request isn't tried to be double-freed on
	error conditions. This could have happened if auth server crashed.
	[af45e2f36059]

	* src/lib/network.c:
	Make sure no data is leaked across processes via struct ip_addr
	fields.
	[e403f4dc95ea]

	* src/lib-master/master-login-auth.c:
	lib-master: When finishing auth, don't send REQUEST if auth process
	has restarted. This avoids unnecessary "Master requested auth for
	nonexistent client" errors when auth process restarts (crashes).
	[16330c0c8ef4]

	* src/lib-lda/Makefile.am, src/lib-storage/Makefile.am:
	lda, storage .so libs: Added explicit linking against other .so libs
	they require Based on patch by Funda Wang
	[26e88084bbc0]

	* src/lib-storage/index/dbox-multi/mdbox-map-private.h, src/lib-
	storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-
	multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox-storage.c:
	mdbox: If :INDEX=path is specified, keep storage indexes there also.
	[012a1773ebfd]

2010-09-17  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset a475e8d4eb21
	[b44b8ba23c5c]

	* .hgtags:
	Added tag 2.0.3 for changeset a475e8d4eb21
	[b153157e4e73]

	* NEWS, TODO, configure.in:
	Released v2.0.3.
	[a475e8d4eb21] [2.0.3]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	lib-storage: If subscriptions contains an invalid entry, don't crash
	with fs layout.
	[f7bd4059c6af]

	* src/lib/fdpass.c:
	fdpass: Use memcpy() to access data in CMSG_DATA(). This fixes at
	least AIX where the previous way was broken for some reason.
	[bdf922d26534]

	* src/lib/ioloop-poll.c:
	poll: Added a workaround for AIX to get it to notice IO_ERRORs
	[4a5e2be6e112]

2010-09-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-uidlist.h:
	maildir: uidlist can now override message's GUID
	[b93405cdd4e9]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Use array_bsearch() in uidlist instead of reimplementing
	it.
	[6a99212b636d]

	* src/lib-storage/list/mailbox-list-fs.c:
	lib-storage: Recent change broke creating mailboxes with fs layout.
	[0540815363b6]

	* src/doveadm/doveadm-mail.c:
	doveadm: Give binary name to plugin loading code so it can give
	better error messages.
	[7000a9833b19]

2010-09-15  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync.c:
	dsync: Don't crash/hang if syncing fails before ioloop is started.
	[eb5adb193064]

	* src/master/service-monitor.c:
	master: Fixed previous "client/process_limit reached" log change.
	[f026e809113d]

	* src/lib-storage/mail-namespace.c:
	lib-storage: Fail if list=yes namespace prefix starts with hierarchy
	separator.
	[c39dcf0504e6]

	* src/lib-mail/message-parser.c:
	lib-mail: Previous message parser optimization caused infinite
	looping with some mails.
	[14a6e526900d]

2010-09-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-transaction-update.c:
	lib-index: day_first_uid[] array wasn't kept properly up to date.
	The result was that caching decisions could have been sometimes
	slightly wrong. Based on patch by Paul E. Black.
	[8b6b0412dc18]

	* src/master/service-monitor.c:
	master: If service with process_limit=1 reaches client_limit, log it
	better.
	[fac83abe8aaf]

	* src/lib/failures.c:
	When writing to logs, ignore write()=EINTR failures from non-
	terminal signals. The previous code failed after 3 successive
	EINTRs, which was possible if the process got a lot of signals (e.g.
	master process getting lots of SIGCHLD signals).
	[5626fee3b7b9]

	* src/lib/lib-signals.c, src/lib/lib-signals.h:
	Added signal_term_counter that keeps track of how many terminal
	signals have been received.
	[7f364dafc675]

	* src/dsync/dsync-worker-local.c:
	dsync: Fixed creating \noselect mailboxes.
	[02d78c4a0a51]

	* src/dsync/dsync-worker-local.c:
	dsync: Don't create \Noselect mailboxes as selectable mailboxes,
	rather just don't create them. This fixes creating extra empty
	mailboxes when mirroring mbox+fs layout and maildir++ layout.
	[7305a7787536]

	* src/lib-storage/index/shared/shared-list.c, src/lib-storage/list
	/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src
	/lib-storage/list/mailbox-list-none.c, src/lib-storage/mail-
	storage.c, src/lib-storage/mailbox-list-private.h, src/lib-storage
	/mailbox-list.c, src/lib-storage/mailbox-list.h, src/plugins/acl
	/acl-mailbox-list.c:
	lib-storage: Added mailbox_list_create_dir()
	[ba924e3ee4ae]

	* src/lib/istream-crlf.c:
	istream-crlf: Fixed assert-crash.
	[2e1226259979]

	* src/lib-settings/settings-parser.c:
	lib-settings: Give a better error message for invalid boolean values
	[2d80fc07124a]

	* doc/example-config/conf.d/15-lda.conf, src/lda/main.c, src/lib-lda
	/lda-settings.c, src/lib-lda/lda-settings.h, src/lmtp/commands.c:
	Added lda_original_recipient_header setting. Removed non-standard
	use of Envelope-To: header.
	[8bd2bd410c73]

	* src/lda/main.c, src/lib-lda/mail-deliver.h, src/lmtp/commands.c:
	lda: Added -r parameter to specify final recipient address. (As
	opposed to -a which specifies original recipient address.) This is
	going to be used by Sieve checks.
	[d56a28e83f32]

	* src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
	quota: Added support for reverse quota warnings. Based on patch by
	Jeroen Koekkoek
	[d6dc68825427]

2010-09-13  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/doveadm-quota.c:
	doveadm quota: Removed unused search_args. This fixes a crash when
	used with doveadm_expire plugin.
	[4a67c3a3ec6f]

	* src/login-common/client-common-auth.c:
	*-login: Ignore ENOTCONN error for shutdown() It's probably just a
	duplicate of a previous read() failure.
	[babeebf041c4]

	* src/lib/iostream.c:
	iostream: Call destroy callback after the destroy() method is
	called.
	[18ab89f4d6a1]

	* src/lib-sql/driver-mysql.c:
	mysql: When sql_exec() fails, log an error.
	[90bdbeb132a7]

	* src/lib-sql/driver-mysql.c:
	mysql: When query fails because connection gets lost, use MySQL
	failure message instead of generic one.
	[bcb61478f04d]

	* src/plugins/acl/acl-mailbox-list.c:
	acl: Don't break if mailbox listing returns an empty name.
	[4fc447d1281e]

	* src/login-common/login-proxy-state.c:
	login proxy: If proxy-login pipe isn't found, don't log an error.
	The pipe exists only when director is enabled.
	[7b629b219be5]

	* src/lib-index/mail-index-fsck.c:
	lib-index: fsck shouldn't assert-crash when no .log file exists
	[f97b0b163e01]

	* src/lib-index/mail-index-map-read.c:
	lib-index: readonly status was checked wrong when deleting corrupted
	index files.
	[39fef730dec3]

	* src/lib-master/master-service-settings.c:
	lib-master: If config file can't be even stat()ed (e.g. permission
	error), give better error msg.
	[c98cdeb2c67a]

	* src/lda/main.c:
	lda: If destination user isn't found, exit with EX_NOUSER, not
	EX_TEMPFAIL.
	[69a3dfe6dba3]

2010-09-08  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset f4eb53065879
	[0003c55ccb75]

	* .hgtags:
	Added tag 2.0.2 for changeset f4eb53065879
	[643b2fb14b55]

	* NEWS, TODO, configure.in:
	Released v2.0.2.
	[f4eb53065879] [2.0.2]

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Make sure acl-list and dict is rebuild when replacing/clearing
	ACLs
	[cbc30c72b3ce]

	* src/plugins/acl/acl-lookup-dict.c:
	acl: Fixed removing entries from shared dict when rebuilding
	[d377c610b19d]

	* configure.in, dovecot.m4:
	dovecot.m4: Added --with-moduledir and export dovecotdir
	[711b5f193f04]

	* src/lmtp/main.c:
	lmtp: Read initial settings with service=lmtp
	[7fef89fea00e]

	* src/auth/userdb-static.c:
	auth: If no passdb is specified, don't fail when userdb static tries
	to verify user existence.
	[e392f5f65cd8]

	* src/auth/auth-settings.c, src/config/old-set-parser.c:
	Don't fail with auth_cache_size=0
	[52e197994a55]

	* src/config/old-set-parser.c:
	config: Automatically convert old-style auth_cache_size value.
	[77075d202fc1]

	* src/auth/auth-settings.c:
	auth: Fail if auth_cache_size value is too small.
	[27d235096cca]

	* src/auth/auth-cache.c:
	auth: Don't crash if auth_cache_size has a very small value.
	[9dc3c6de6e82]

	* src/login-common/client-common-auth.c:
	login: Crashfix when client disconnects before auth process has
	started.
	[af71d71e4b88]

2010-09-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/driver-sqlpool.c:
	sql pool: Delay creating a transaction until commit is called.
	Otherwise sql connection is reserved for the duration of the
	transaction.
	[902f008f17cf]

	* src/lib-master/master-auth.c, src/lib-storage/index/index-mail.c,
	src/lib/fdpass.c, src/login-common/ssl-proxy-openssl.c:
	Compiler warning fixes.
	[d72b4a74a992]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Avoid unnecessary uidlist recreation during mail delivery.
	[c7e1c71c5ec5]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: If uidlist isn't read, don't mark its UIDs as being known
	when saving.
	[65b0e7b4eda9]

2010-09-06  Timo Sirainen  <tss@iki.fi>

	* src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c:
	zlib: Potential assert-crashfix.
	[0d5f21aeda68]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Don't fail with "maildir_name not supported" when using
	empty DIRNAME=
	[b00d3a367d79]

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Minor code cleanup.
	[ab72c0760133]

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: If we see duplicate file with retry_rewind set, try
	rewinding first.
	[e2a267b64619]

2010-09-03  Timo Sirainen  <tss@iki.fi>

	* src/config/config-parser.c:
	config: Give an error if "block {" continues with non-whitespace.
	[a05834588ffb]

	* src/lib/mempool-alloconly.c:
	alloconly mempool: Clear pool with memset(), not safe_memset().
	[124dd0840ed8]

	* src/lib/Makefile.am, src/lib/mempool-alloconly.c, src/lib/mempool-
	system-clean.c, src/lib/mempool.h:
	liblib: Removed unused system-clean and alloconly-clean mempools.
	They're just making the code messier and slower.
	[0b1c1db31387]

	* src/lib-imap/test-imap-match.c:
	test-imap-match: Don't use "clean" alloconly mempool, there's no
	point.
	[fef504af51b1]

2010-09-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: If save fails due to lock failure, don't assert-crash
	[c24b0dd6e3ac]

	* src/lib-index/mail-index-lock.c, src/lib-index/mail-transaction-log-
	file.c, src/lib-index/mail-transaction-log-private.h, src/lib-index
	/mail-transaction-log.c:
	lib-index: Lock timeout setting wasn't actually used in all places.
	[2dca300aee5c]

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Fail earlier if shared namespace prefix contains
	modifiers.
	[2c4bdec44065]

	* src/lib-storage/mail-namespace.c:
	lib-storage: Minor namespace error handling cleanup.
	[6812a4bf6566]

	* src/lib-storage/mail-namespace.c:
	lib-storage: Give an error about duplicate namespace prefixes.
	[a3f016b7b914]

	* src/config/config-parser.c, src/config/config-parser.h,
	src/config/doveconf.c:
	doveconf: Quote output values when necessary.
	[31387c9d5b88]

	* src/lib-storage/mail-namespace.c:
	lib-storage: If shared namespace uses %% in location, but not in
	prefix, fail with error.
	[4d8b54fc4ef5]

	* src/director/director-connection.c:
	director: If outgoing connection dies soon, mark the host as failed
	to avoid immediate reconnect.
	[ff5a47012287]

	* src/plugins/fts/fts-storage.c:
	fts: More percentage counter calculation fixes. Patch by William
	Blunn
	[d55d6a72a043]

2010-09-01  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts/fts-storage.c:
	fts: Removed float calculations from "Indexed n% of the mailbox"
	message.
	[1012052e2e85]

	* src/doveadm/doveadm-mail-list-iter.c:
	doveadm: Support accessing mailboxes in non-private namespaces. The
	default is still the same as "*", and wildcards won't cross
	namespace boundaries so unless the namespace prefix is explicitly
	used non-private namespaces are still invisible.
	[267385a0ccd3]

	* src/imap/cmd-idle.c:
	imap: Don't hang if client sends IDLE + DONE pipelined.
	[c7b351d415d9]

	* src/imap/cmd-idle.c:
	imap: Make sure we don't crash when client disconnects during IDLE
	with lots of changes.
	[4d9768fd1a55]

	* src/imap/imap-commands-util.c:
	imap: Fixed a crash with tb-extra-mailbox-sep workaround and
	selecting "ns-prefix/" box.
	[75611e9088b6]

	* src/lib-storage/mail-storage.c:
	lib-storage: If mailbox deletion fails, mark the index back as
	undeleted.
	[eecc2fda78c1]

	* src/lib/istream.c:
	i_stream_next_line(): Fix for the previous optimization.
	[0c73829cd1f8]

	* src/master/master-settings.c:
	master: Make sure base_dir has at least 0755 permissions.
	[bc5c9bd4bc7e]

	* src/imap/cmd-select.c:
	imap: If selecting a mailbox fails, close the already selected
	mailbox.
	[a428dd6fe3e7]

	* src/lib/istream-crlf.c:
	istream-crlf optimization. Based on patch by Len7hir
	[5163d94d4272]

	* src/lib/istream.c:
	istream_next_line() optimization. Based on patch by Len7hir
	[e9358064c45e]

	* src/lib-mail/message-parser.c:
	lib-mail: Optimized message parser code. Based on patch by Len7hir
	[e275c4f02501]

2010-08-31  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-worker-server.c:
	auth: Give better EACCES error if we can't connect to auth-worker.
	[1d895c7a753d]

	* src/lib/eacces-error.c:
	access_get_error(): Fixed to give better error messages with
	relative paths.
	[8db227a70bec]

	* configure.in:
	configure: vpopmail is broken, fail configure if --with-vpopmail is
	used.
	[f90590836165]

	* src/lib/restrict-access.c:
	Fixed setgid() failure error message. Based on patch by Clint Adams
	[1cb0325ff6df]

2010-08-26  Timo Sirainen  <tss@iki.fi>

	* src/config/old-set-parser.c:
	doveconf: When logging an obsolete warning, log a note about using
	doveconf.
	[c5111fb65b0b]

2010-08-24  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 8baa8ccb4021
	[e7dd800e1e3c]

	* .hgtags:
	Added tag 2.0.1 for changeset 8baa8ccb4021
	[4d9ab55954ad]

	* NEWS, configure.in:
	Released v2.0.1.
	[8baa8ccb4021] [2.0.1]

	* src/lib-storage/index/dbox-common/dbox-storage.h:
	dbox: Create dbox temp files with ".temp." prefix, not "temp." This
	makes it consistent with the rest of the created temp files and also
	gets any stale temp files deleted.
	[c562721dff2d]

	* src/lib-storage/mail-storage-service.c:
	lda: Don't fail with "mail_uid/mail_gid not set" error when running
	without -u.
	[14190cceb903]

	* src/plugins/quota/quota-storage.c:
	quota: Mark the mailbox deleted before starting to reduce quota.
	This fixes race conditions with another process modifying the same
	mailbox at the same time.
	[6933cfa5315a]

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.c:
	lib-storage: Allow mailbox_mark_index_deleted() to be called
	multiple times within same mailbox alloc.
	[72b5a0af6e4e]

2010-08-23  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Fixes to previous data encoding changes. Patch by Erik
	Hetzner
	[0f6e3c9037d5]

	* src/lib/base64.c, src/lib/base64.h:
	Added base64_is_valid_char()
	[f0d3d7eb0604]

	* src/lib/buffer.c:
	liblib: Don't segfault if write is attempted beyond non-dynamic
	buffer's bounds.
	[edb490f2ad6a]

	* src/dsync/dsync-proxy-client.c:
	dsync: Assert-crashfix with remote dsyncing.
	[f5e8fffacc92]

	* src/auth/auth-request-handler.c:
	auth: Crashfix when aborting auth request doing async passdb/userdb
	lookup.
	[d2b49c7d4046]

	* src/auth/db-sql.c:
	auth: Abort any pending SQL requests earler to avoid crashes.
	[8b85c3b89343]

	* src/lib-sql/driver-pgsql.c, src/lib-sql/driver-sqlpool.c, src/lib-
	sql/sql-api.h:
	lib-sql: sql_disconnect() now aborts all pending requests.
	[b88b207b79b2]

	* src/imap/cmd-select.c:
	imap: Fixed parsing SELECT QRESYNC parameters
	[17174c55008b]

	* src/imap/cmd-select.c:
	imap: Fail if QRESYNC seqset parameters use '*'
	[04fc57a7a425]

	* src/lib-imap/imap-seqset.c, src/lib-imap/imap-seqset.h:
	lib-imap: Added imap_seq_set_nostar_parse()
	[cd0e0e44d4eb]

	* doc/man/dsync.1.in:
	man: Updated dsync man page.
	[c0ea2ceae362]

	* src/dsync/dsync-brain.c:
	dsync: If worker fails, abort earlier.
	[6ef21adeb61d]

	* src/dsync/dsync.c:
	dsync: Execute remote dsync binary before dropping privileges.
	[83f98d61bea2]

	* configure.in:
	configure: --with-ssl=gnutls gives error now immediately
	[ab75eff633aa]

2010-08-20  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Replace characters not valid for XML with replacement
	char.
	[38674aff6956]

	* src/lib/unichar.c, src/lib/unichar.h:
	Added a global utf8_replacement_char variable.
	[6105706de7b6]

	* src/master/service-process.c:
	master: Fixed log_path=/dev/stderr
	[d7a3abc9e0e0]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Don't complain about missing UID/GID when running as
	root is allowed (standalone).
	[807bc9ea1411]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Give better error message if user is missing UID/GID
	[53e74e057506]

	* doc/example-config/conf.d/10-master.conf:
	example-config: Added example dict service
	[bb69d9d96b88]

	* src/imap/imap-settings.c, src/lmtp/lmtp-settings.c, src/master
	/master-settings.c, src/master/master-settings.h,
	src/pop3/pop3-settings.c:
	Reverted previous commit. It's a stupid feature: mail_access_groups
	already exists.
	[a8397390075d]

	* src/imap/imap-settings.c, src/lmtp/lmtp-settings.c, src/master
	/master-settings.c, src/master/master-settings.h,
	src/pop3/pop3-settings.c:
	Added default_mail_extra_groups setting. imap/pop3/lmtp services'
	extra_groups defaults to it. For now this default is empty to make
	sure existing installations don't break.
	[2735d9afd842]

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Preserve permission settings in master's service
	blocks. Most importantly preserve extra_groups setting.
	[d6f387fe1275]

	* src/master/service-process.c:
	master: Set RESTRICT_* environment even when
	drop_priv_before_exec=yes Otherwise the executed process could still
	try to drop some of the privileges (groups).
	[77a043a1ddb5]

	* src/lib-storage/mail-namespace.c:
	lib-storage: Log namespace location with mail_debug=yes
	[892f0db489cd]

2010-08-19  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/dovecot-ldap.conf.ext:
	doc: Updated tls_cert/key_file comment in dovecot-ldap.conf.ext
	[539da76585cc]

	* src/imap/imap-fetch.c:
	imap: Don't crash with QRESYNC SELECT specifying sequences larger
	than mailbox's message count.
	[83c0e7687e5e]

	* src/pop3-login/client.c:
	pop3: Show APOP challenge only when APOP auth mechanism is enabled.
	[eed1426f55a9]

	* src/lib-master/master-service.c:
	lib-master: Fixed accepting FIFO connections with BSDI.
	[565f18727209]

	* src/lib/unichar.c, src/lib/unichar.h:
	UTF-8 string validity was still checked incorrectly.
	[a83963495e55]

2010-08-18  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index.c:
	lib-index: Give a clearer error message for syscall failing with
	EFBIG.
	[706f30fa4028]

	* src/lib-index/mail-index.c:
	lib-index: Put all syscall error logging through one function.
	[038f25c02bb7]

	* src/lib/unichar.c:
	UTF-8 string validity was checked incorrectly.
	[8c46bf2c5176]

2010-08-17  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-request.c:
	auth: Pass requested_login_user to auth worker processes.
	[3ba227176cde]

	* src/auth/auth-request.c:
	auth: Added more master user login debugging.
	[7428338c8df2]

2010-08-16  Timo Sirainen  <tss@iki.fi>

	* src/lib/eacces-error.c:
	eaccess_error_get(): If UID/GID doesn't have name, show it as
	<unknown>
	[4f90b4114450]

	* src/lib-master/service-settings.h, src/master/master-settings.c,
	src/master/service.c:
	master: Give better error messages for unknown users/groups.
	[a2e60bd5d9a7]

	* configure.in:
	configure: v2.0.0 is no longer UNSTABLE development branch.
	[2156583b00e2]

	* .hgsigs:
	Added signature for changeset d0d3ba81d205
	[30dee90dca5e]

	* .hgtags:
	Added tag 2.0.0 for changeset d0d3ba81d205
	[aa40b9d5699c]

	* NEWS, configure.in:
	Released v2.0.0.
	[d0d3ba81d205] [2.0.0]

2010-08-13  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset c5de2eb14a97
	[4cebeefc617c]

	* .hgtags:
	Added tag 2.0.rc6 for changeset c5de2eb14a97
	[2a59fef6863d]

	* NEWS, configure.in:
	Released v2.0.rc6.
	[c5de2eb14a97] [2.0.rc6]

	* configure.in, src/login-common/ssl-proxy-openssl.c:
	Compile fix for some OpenSSL version.
	[53147e8bdaf9]

2010-08-12  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-purge.c:
	mdbox: Use unlimited buffer size when copying metadata while
	purging.
	[a56e9deffa54]

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-mail.c:
	dbox: Don't allow unlimited buffer size when reading message body.
	[ae4a82ced01e]

	* src/lib/istream.c, src/lib/istream.h:
	Added i_stream_get_max_buffer_size().
	[136ce9b2e039]

	* src/lib-sql/sql-api.c:
	lib-sql: Fail if trying to register a duplicate sql driver.
	[11538925cbbb]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	lib-storage: Fixed listing shared INBOX with FS layout
	[4d8ae218af73]

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-sync-rebuild.c:
	dbox: Reset cache files when rebuilding indexes. This is especially
	important if there are broken cached GUIDs for messages, which will
	cause GUID mismatches when trying to expunge messages.
	[ab8ca4ded5ac]

	* src/lib-index/mail-cache.c, src/lib-index/mail-cache.h:
	lib-index: Added mail_cache_reset().
	[117053f20528]

	* src/lib-storage/index/maildir/maildir-mail.c:
	Maildir: If trying to open a directory as message, try to rmdir it.
	[651e51de34b7]

	* src/lib/istream-file.c:
	i_stream_create_fd(): If opening a directory, set
	stream_errno=EISDIR
	[faac0d16d141]

	* src/lib-storage/list/mailbox-list-delete.c:
	lib-storage: When trying to delete "trash" directory, ignore EBUSY
	errors.
	[25f401276f9b]

	* src/lib/unlink-directory.c:
	unlink_directory(): Don't log EBUSY error for unlink(.nfs*)
	directly. The caller can decide if it wants to log it.
	[2aec6c74902c]

	* src/lib-master/master-login.c:
	lib-master: Prefix log messages with username during auth/post-login
	lookups.
	[6f2c1fb1b7f1]

	* src/imap-login/imap-proxy.c, src/login-common/client-common-auth.c,
	src/login-common/client-common.h, src/pop3-login/client.h,
	src/pop3-login/pop3-proxy.c:
	login proxy: Show proxy state in "disconnected" error message.
	[c27bca966b54]

	* src/login-common/client-common-auth.c, src/login-common/login-
	proxy.c:
	login proxy: Error message improvements.
	[b9bdcfd6eaa7]

	* src/lib/module-dir.c:
	module_dir_load(): Support multiple binaries for checking dependency
	[4b59b19628b1]

	* src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h:
	lib-lda: Added mail_deliver_hook_set()
	[a75589746450]

2010-08-11  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-storage.c:
	quota: Fixed updating quota when sync_notify() had been called
	outside regular syncing.
	[8c6912bc0db0]

	* src/lib/ioloop-notify-inotify.c:
	Improved "Inotify instance limit exceeded" error message.
	[6b22e2a8c534]

2010-08-10  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 4a2d840a80bb
	[8ad06727a77f]

	* .hgtags:
	Added tag 2.0.rc5 for changeset 4a2d840a80bb
	[0585c67fd78a]

	* NEWS, TODO, configure.in:
	Released v2.0.rc5.
	[4a2d840a80bb] [2.0.rc5]

	* src/auth/db-ldap.h:
	ldap: Reduce max. queued request count to 8. OpenLDAP seems to
	default to 16 worker threads.
	[3cda9f2f48bd]

	* src/lib/strfuncs.c:
	p_strdup(): Small optimization. Patch by Len7hir
	[7f550a7bd9d7]

2010-08-09  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain.c, src/dsync/dsync-proxy-server.c, src/dsync
	/dsync-worker.c:
	dsync: Error handling fixes. Mainly fixes quota of quota error while
	saving.
	[88309dcfdab5]

	* src/ssl-params/main.c:
	ssl-params: Comment update.
	[59b0e70c8f14]

	* src/ssl-params/main.c, src/ssl-params/ssl-params-settings.c:
	ssl-params: Generate missing SSL parameters immediately at Dovecot
	startup. (Instead of waiting until the first SSL client connection
	arrives.)
	[b8a09fa4acc4]

	* src/lib-master/service-settings.h, src/master/master-settings.c,
	src/master/service-monitor.c, src/master/service-process.c,
	src/master/service.c, src/master/service.h:
	master: Added service type=startup for starting one service process
	at startup.
	[351948b4dc6c]

	* src/plugins/listescape/listescape-plugin.c:
	listescape: Crashfix for some configurations.
	[ed61aee681b8]

	* src/lib/mountpoint.c:
	mountpoint_get(): Skip rootfs mounts with Linux. Fixes fs quota for
	such systems. Patch by Patrick McLean.
	[3f5c53f84d0a]

	* src/plugins/listescape/listescape-plugin.c:
	listescape: Fixed listing for namespaces whose prefixes had
	escapeable chars. Based on patch by Samuel Kvasnica
	[18d95a2d0aba]

	* src/plugins/imap-acl/imap-acl-plugin.c:
	imap-acl: Initial SETACL box owner +rights should apply on top of
	default rights, not empty rights. So typically this should be a no-
	op when mailbox doesn't yet have explicit rights for owner.
	[bbfe3a00bc74]

	* src/plugins/imap-acl/imap-acl-plugin.c:
	imap-acl: Don't allow ACL commands for mailboxes that don't exist.
	[8814ced6d012]

2010-08-06  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-map.c:
	mdbox: Make sure we don't try to append to a file we already closed.
	[874422af78b1]

	* src/plugins/acl/acl-mailbox-list.c:
	acl: Crashfix when using namespaces without ACLs.
	[1aa2ccceacb9]

	* src/plugins/listescape/listescape-plugin.c:
	listescape: Crashfix for listing subscriptions for subscriptions=no
	namespaces.
	[3fc1f263827c]

	* src/lib-mail/istream-header-filter.c:
	istream-header-filter: Another assert crashfix.
	[f7b5732820dd]

	* configure.in:
	configure: Recent change broke getting libcurl cflags/libs.
	[1f817738b093]

	* src/lib-mail/istream-header-filter.c:
	istream-header-filter: Fixed assert
	[dd3e70c85d43]

	* src/doveadm/doveadm-util.c:
	doveadm -D: Log module dlopen() failures as debug messages, not
	errors.
	[41e6ffa319b7]

	* src/lib/module-dir.c:
	module_dir_load(): If ignore_dlopen_errors and debug is set, still
	log a debug message about failure.
	[99996236fa51]

	* src/lib-storage/mail-storage-hooks.c:
	lib-storage: Another fix for handling hooks with multiple plugins.
	[e54df5af98ac]

	* src/plugins/quota/quota-count.c:
	dict quota: Don't fail quota recalculation if mailbox syncing fails
	with non-temp error. This could happen e.g. with mbox if a file
	isn't in a valid mbox.
	[a933f7db45f9]

	* src/lib-storage/index/index-mail.c:
	lib-storage: Fixed mbox/cydir crashing on cache parsing deinit.
	[4ef2280ee490]

	* src/lib-storage/index/cydir/cydir-save.c:
	cydir: Fixed crashing when saving was aborted early (e.g. by out of
	quota)
	[b38708f38e6c]

	* AUTHORS:
	AUTHORS: There's no more dovecotpw.c
	[a30a30d1e25a]

2010-08-05  Timo Sirainen  <tss@iki.fi>

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge: Don't crash when using shared users.
	[641e86843234]

	* configure.in:
	configure: AC_CHECK_PROG() calls now allow specifying full path to
	prog via environment. For example MYSQL_CONFIG=/foo/mysql_config
	allows overriding mysql_config path.
	[ebb4362b6d0d]

	* src/plugins/listescape/listescape-plugin.c:
	listescape: Fixed to support multiple simultaneous mailbox list
	iterators.
	[e77310eedfbb]

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge: Use mailbox_list_created hook to override list
	methods.
	[756752d91378]

	* src/plugins/quota/quota-plugin.c, src/plugins/quota/quota-plugin.h,
	src/plugins/quota/quota-storage.c:
	quota: Use mailbox_list_created hook to override list methods.
	[c92414173290]

	* src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-plugin.c,
	src/plugins/acl/acl-plugin.h:
	acl: Override mailbox list functions in mailbox_list_created hook.
	[2311b5ca4d3f]

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Crashfix for handling namespaces that don't have a paths.
	[ddf343de34a4]

	* src/imap/cmd-subscribe.c, src/imap/imap-commands-util.c, src/lib-
	storage/mail-namespace.c, src/lib-storage/mailbox-list.c, src/lib-
	storage/mailbox-list.h, src/plugins/acl/acl-backend-vfile.c:
	lib-storage: Removed mailbox_list_get_hierarchy_sep(). Its usage
	wasn't correct. Especially with listescape plugin loaded the
	function was returning the wrong separator. list->ns->real_sep
	should be used instead.
	[827ebadc5995]

	* src/plugins/listescape/listescape-plugin.c:
	listescape: Use mailbox_list_created hook for overriding its
	methods.
	[415151aaa6de]

	* src/doveadm/Makefile.am:
	doveadm: Fixed linking with --as-needed flag. Patch by Eray Aslan
	[335434b424b8]

	* configure.in:
	configure: Reverted last change, it doesn't work like that..
	[6eb1311ac8e2]

	* configure.in:
	configure: Use the detected mysql_config location. Patch by Bradley
	Giesbrecht
	[d54444b8f539]

2010-08-04  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 71b2cb9895d9
	[9f00b538de1b]

	* .hgtags:
	Added tag 2.0.rc4 for changeset 71b2cb9895d9
	[4d35c0fe08ca]

	* NEWS, configure.in:
	Released v2.0.rc4.
	[71b2cb9895d9] [2.0.rc4]

	* src/doveadm/doveadm-mail-server.c:
	doveadm: Removed unnecessary code.
	[f980dcbe3b51]

	* src/doveadm/client-connection.c:
	doveadm: Doveadm server may have messed up print output with extra
	username strings.
	[3e0fb1a07ff1]

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Give a better error message when trying to update ACLs for
	object without local path.
	[ad0ef9c40381]

	* src/plugins/imap-acl/imap-acl-plugin.c:
	imap-acl: Don't allow accessing "" as mailbox.
	[85bdc6f6ff30]

	* src/plugins/virtual/virtual-storage.c:
	virtual: Added support for IDLE notifications.
	[eb1f471a924d]

	* src/dsync/dsync-brain-msgs.c:
	dsync backup: Don't go to infinite loop when mailbox needs to be
	recreated.
	[e9cc262e4bbb]

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: When copying can't preserve filename, preserve S/W sizes
	anyway.
	[33ea7477c6a9]

	* src/plugins/quota/quota-maildir.c:
	quota-maildir: Avoid leaving maildirsize deleted when quota
	recalculation is wanted.
	[353d73775b69]

	* src/lib/network.c, src/lib/network.h:
	net_accept(), net_getsock/peername(): Return UNIX sockets with
	family=port=0. A lot of checks inside our code assumes that family
	is either AF_INET, AF_INET6 or 0. struct ip_addr doesn't support
	anything else either, so having AF_UNIX as family but without a way
	to get the socket name from the struct isn't very helpful either.
	[10c4c9d5fb5b]

	* src/doveadm/doveadm-director.c:
	doveadm director map/add/remove: Fixed handling IP address as
	parameter. Only host names were working correctly.
	[9cf0d33f3fe9]

2010-08-03  Timo Sirainen  <tss@iki.fi>

	* dovecot-config.in.in:
	dovecot-config: Include SSL_LIBS as part of LIBDOVECOT_LOGIN.
	[7edfd661cbfa]

	* src/imap-login/Makefile.am, src/pop3-login/Makefile.am:
	Makefile: imap/pop3-login now links SSL_LIBS explicitly. This fixes
	compiling in some systems where they didn't get included
	automatically (or the automatic linking used wrong libraries).
	[b45e0637a5ef]

	* src/dsync/dsync-worker-local.c:
	dsync: Handle syncing subscriptions correctly for subscriptions=no
	namespaces.
	[62abbfe45cde]

	* src/lib-sql/driver-pgsql.c:
	pgsql: Changed the way IO handlers are added/removed. Remove IO
	handlers before calling any pgsql functions, so that if it closes
	the socket, we don't later try to remove IO for already closed
	socket.
	[e31570bccb92]

	* src/plugins/quota/quota-storage.c:
	quota: Fixed ns=prefix to work for private namespaces.
	[7c4b4f07d64e]

2010-08-02  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/20-imap.conf, src/imap-login/client-
	authenticate.c, src/imap-login/client-authenticate.h, src/imap-
	login/client.c, src/imap/imap-client.c:
	imap: imap_capability = +foo only adds new capabilities instead of
	replacing everything.
	[ac31be20d279]

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: Added support for mailbox_create event
	[59af5fd42221]

	* src/plugins/notify/notify-plugin-private.h, src/plugins/notify
	/notify-plugin.c, src/plugins/notify/notify-plugin.h,
	src/plugins/notify/notify-storage.c:
	notify: Added support for mailbox_create
	[1d3de1178b93]

	* src/plugins/notify/Makefile.am, src/plugins/notify/notify-noop.c,
	src/plugins/notify/notify-plugin.h:
	notify: Removed noop functions, they're no longer needed.
	[de24228a6a5b]

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: Register only the notify callbacks we actually care about,
	leave rest NULL.
	[ca8ec8456cb1]

	* src/plugins/notify/notify-plugin.c:
	notify: Ignore notify callbacks that are NULL.
	[61de50936fcd]

	* src/auth/auth-request.c:
	auth: Support "username" and "domain" extra fields also for userdb.
	[63124518977a]

2010-07-31  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Fixed setting refcount to autocreated shared namespace.
	[85f3420afb7c]

	* src/lib-storage/mail-namespace.c:
	lib-storage: Added assert.
	[65c26f530d3c]

	* src/lib-storage/index/index-status.c:
	lib-storage: Don't fail if messages are expunged during counting
	mailbox's virtual size.
	[662e0bce9de0]

2010-07-30  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/mbox/mbox-save.c:
	mbox: Use HEADER_FILTER_END_BODY_WITH_LF flag with input stream
	filter. This fixes a bug where wrong message size was cached while
	saving messages that didn't end with LF.
	[e9f24817d472]

	* src/lib-mail/istream-header-filter.c, src/lib-mail/istream-header-
	filter.h, src/lib-mail/test-istream-header-filter.c:
	istream-header-filter: Added HEADER_FILTER_END_BODY_WITH_LF flag. If
	body doesn't end with LF character, it adds it automatically.
	[22e20ccc14bc]

	* src/lib-storage/index/mbox/mbox-save.c:
	mbox: Fields weren't being added to cache file during message
	saving.
	[b43c8d765d44]

	* src/lib-storage/mail-storage-service.c, src/lib/module-dir.c,
	src/lib/module-dir.h:
	If module can't be loaded due to missing dependency, suggest a
	setting how to do it.
	[02c9154efe81]

2010-07-28  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/Makefile.am:
	Makefile: Fixed compiling dsync with older automake versions. Patch
	by Naresh.
	[d5a923df60d4]

2010-07-26  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync.c:
	dsync: When using -u parameter, chdir() to user's home.
	[716b77e16d39]

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Fixed assert-crashing on failures with read-only mboxes
	[4d5158130e2c]

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge: Keep internal namespaces referenced. Fixes crash with
	dsync.
	[bab22fff6d25]

	* src/lib-storage/mail-namespace.c, src/lib-storage/mail-namespace.h:
	lib-storage: Added refcounting support for namespaces
	[edb8f06c7346]

	* src/lib-storage/mail-storage.c:
	lib-storage: Don't crash in mailbox_transaction_commit() if plugin
	aborts transaction.
	[25a1c1739a63]

2010-07-23  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/acl-backend-vfile.c:
	acl: If ACL file exists in mail root directory, use it as
	namespace's default ACLs.
	[636d34f650c2]

	* src/director/main.c:
	director: Fixed director_doveadm_port setting to actually work.
	[3ef50adb7abf]

	* .hgignore, doc/example-config/dovecot.conf, src/doveadm/Makefile.am,
	src/doveadm/client-connection.c, src/doveadm/client-connection.h,
	src/doveadm/doveadm-mail-server.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h, src/doveadm/doveadm-print-server.c,
	src/doveadm/doveadm-print.c, src/doveadm/doveadm-print.h,
	src/doveadm/doveadm-server.h, src/doveadm/doveadm-settings.c,
	src/doveadm/doveadm-settings.h, src/doveadm/doveadm-util.c,
	src/doveadm/doveadm-util.h, src/doveadm/main.c, src/doveadm/server-
	connection.c, src/doveadm/server-connection.h, src/lib-master
	/master-service-private.h, src/lib-master/master-service.c, src/lib-
	master/master-service.h, src/plugins/expire/doveadm-expire.c:
	doveadm: Added client/server architecture support for running mail
	commands. This is done when doveadm_worker_count is non-zero.
	[b60e225386bf]

	* src/doveadm/doveadm.c:
	doveadm: Duplicate settings so they won't be corrupted by user
	settings lookup.
	[158be8d93ddc]

	* src/doveadm/doveadm-print.c:
	doveadm: Fixed printing sticky headers when stream printing was also
	used.
	[1cfbdcfc7676]

	* src/director/doveadm-connection.c:
	director: If doveadm connection disconnects before handshake, don't
	loop forever.
	[06a7435b6f53]

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Make a couple of functions global for future use.
	[839469d13df3]

	* src/doveadm/doveadm-print.c, src/doveadm/doveadm-print.h,
	src/doveadm/doveadm.c:
	doveadm: Moved print formatters list to doveadm.c
	[00033e2470ec]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail.h, src/doveadm
	/doveadm-util.c, src/doveadm/doveadm-util.h, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h:
	doveadm: Code cleanup: Moved some functions to doveadm-util.[ch]
	[19574f77a021]

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-mailbox.c,
	src/doveadm/doveadm-mutf7.c:
	doveadm: Code cleanup: Moved "mailbox mutf7" command to separate
	file. It's not really a "mail command", so it shouldn't be in the
	same file as them.
	[43804bdf697e]

	* src/doveadm/doveadm-print-tab.c:
	doveadm: Tab formatter was printing extra spaces.
	[45473cd0e3e6]

2010-07-22  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-expunge.c:
	doveadm expunge: Check if search query is ok only once, not for each
	user.
	[4513949b26b3]

	* doc/example-config/conf.d/15-lda.conf, src/auth/auth-master-
	connection.c, src/auth/db-passwd-file.c, src/lib-dict/dict.h, src
	/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/index-mail-headers.c, src/lib-storage/index/index-
	mail.c, src/lib-storage/index/index-search.c, src/lib-storage/index
	/index-thread.c, src/lib-storage/index/maildir/maildir-keywords.h,
	src/lib-storage/index/maildir/maildir-util.c, src/lib-
	storage/index/shared/shared-storage.c, src/lib-storage/list/mailbox-
	list-maildir.c, src/lib-storage/mail-storage.h, src/lib-storage
	/mailbox-list.c, src/plugins/fts-solr/fts-backend-solr.c,
	src/plugins/virtual/virtual-sync.c:
	Fixing my english: s/non-?existing/nonexistent/
	[05031751cc21]

	* src/doveadm/doveadm-mail-mailbox-status.c:
	doveadm mailbox status: Show mailbox name in UTF8 in output.
	[93aee2609041]

	* src/doveadm/doveadm-mail-mailbox-status.c:
	doveadm mailbox status: Fixed listing non-ASCII mailbox names.
	[f4c8ca0bfd6d]

	* src/lib-storage/mailbox-list.c:
	lib-storage: Fixed mailbox_list_mailbox() for INBOX in under non-
	root mail dir.
	[459bd9621197]

	* doc/example-config/conf.d/10-director.conf, src/director/director-
	settings.c, src/director/director-settings.h, src/director/main.c:
	director: Added director_doveadm_port for accepting doveadm TCP
	connections.
	[ab85d17947db]

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm.c:
	doveadm: When priting help to some command, exit with status 1.
	[ec35e240db6c]

2010-07-21  Timo Sirainen  <tss@iki.fi>

	* src/auth/db-sql.c, src/auth/db-sql.h, src/auth/passdb-sql.c,
	src/auth/userdb-sql.c:
	auth: If built-in SQL query fails, log it clearly that it was using
	built-in one.
	[584957cba877]

	* src/dsync/dsync-worker-local.c:
	dsync: Queue local msg-get requests instead of assert-crashing.
	[e3519ec18f03]

	* src/lib/network.c:
	net_connect_ip*(): Fixed FreeBSD kludging.
	[4fb7e5327efc]

2010-07-20  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset a15b694f1d64
	[4ffc063a5eff]

	* .hgtags:
	Added tag 2.0.rc3 for changeset a15b694f1d64
	[4dc4ef1fcf38]

	* NEWS, configure.in:
	Released v2.0.rc3.
	[a15b694f1d64] [2.0.rc3]

	* src/config/doveconf.c:
	doveconf: Removed unnecessary code.
	[50b34366038d]

	* src/doveadm/doveadm-director.c:
	Make static analyzer happier.
	[1412056b5ab6]

	* src/doveadm/doveadm-director.c:
	doveadm director map: Print also records for unknown users.
	[25113ae51940]

	* src/lmtp/commands.c:
	lmtp: Don't write "+ext" part to Delivered-To: header.
	[19231e3585db]

	* configure.in:
	configure: Make sure mysql libs/cflags aren't used if they don't
	work.
	[45b835e6f59c]

	* src/lib-storage/mail-storage-hooks.c:
	lib-storage: Fixed hooks with plugins that didn't override any
	vfuncs
	[5b3202a069fa]

	* src/lib-auth/auth-master.c:
	lib-auth: Don't abort userdb iteration if it takes longer than 1
	minute.
	[fd4cf27c179b]

	* src/auth/userdb-ldap.c:
	auth: Make sure ldap userdb iteration request isn't aborted too
	early.
	[d8af22b91beb]

	* src/auth/userdb-blocking.c:
	auth: Fixed a crash on cancelled userdb iteration.
	[8424d5efa6ad]

	* src/lib-storage/mail-storage-hooks.c:
	lib-storage: Fix to hooks with multiple plugins
	[5179e8f41cf4]

	* src/dsync/dsync-brain-msgs-new.c:
	dsync: Fixed potential crash with remote syncing.
	[a109e140bdf5]

	* src/lmtp/client.c:
	lmtp: Increased client idle timeout to 5 minutes. Some MTAs can
	spend a while doing DNS lookups during the LMTP session.
	[cfda26381f58]

	* autogen.sh:
	autogen.sh: If wiki docs can't be downloaded/uncompressed, fail
	early.
	[598b1334fbba]

2010-07-19  Timo Sirainen  <tss@iki.fi>

	* src/master/service.c:
	master: Fixed dropping pending listener connections when throttling
	a service.
	[8da0bbb53e7d]

	* src/config/config-parser.c, src/config/old-set-parser.c:
	config: Handle obsolete imap_client_workarounds
	[d26cf5445598]

	* src/doveadm/doveadm-director.c:
	doveadm director: Give up waiting for handshake after 5 seconds.
	[be3663900ea8]

	* src/auth/userdb-blocking.c:
	auth: Make sure userdb iteration doesn't free memory too early if
	it's aborted.
	[f178792fb820]

	* src/dsync/dsync-proxy-client.c:
	dsync: Fixed potential assert crashes with remote dsyncing.
	[e6f376a1c755]

	* src/lib-index/mailbox-log.c:
	lib-index: Fixed reading mailbox logs larger than 128 records.
	[204eaf35e144]

	* src/lib-storage/index/dbox-multi/mdbox-purge.c:
	mdbox: Fixed some race condition problems with purging.
	[e4d870bed095]

	* src/lib-storage/mail-storage-hooks.c:
	Increased initial memory pool size
	[6217bc3589b8]

	* src/lib-storage/index/dbox-multi/mdbox-map.c:
	mdbox: Handle better trying to copy an already purged message. It
	shouldn't log "refcount update lost map_uid" error.
	[39d3894dc2f9]

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: Copying wasn't locking map index early enough.
	[1e0916e4700c]

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: Small code cleanup.
	[bb2c6be5be5c]

	* src/doveadm/doveadm-dump-index.c:
	doveadm dump: Fixed dumping sdbox/mdbox fields.
	[39b33769614b]

2010-07-17  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-worker-server.c:
	auth: Fixed a potential crash on deinit.
	[cfd15170dff7]

2010-07-16  Pascal Volk  <user@localhost.localdomain.org>

	* src/doveadm/doveadm-auth.c, src/doveadm/doveadm-director.c,
	src/doveadm/doveadm-dump.c, src/doveadm/doveadm-kick.c, src/doveadm
	/doveadm-log.c, src/doveadm/doveadm-mail-mailbox.c, src/doveadm
	/doveadm-master.c, src/doveadm/doveadm-penalty.c, src/doveadm
	/doveadm-pw.c, src/doveadm/doveadm-who.c, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h:
	doveadm: Removed long usage from doveadm commands. It's no longer
	needed since manual pages are displayed.
	[875598cd7e26]

2010-07-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-hooks.c:
	lib-storage: Fixed handling hooks when more than 2 were used.
	[6b66aad2a997]

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: Add dummy events only for copy/save events, not others
	[f590e5a76d7d]

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: Fixed logging save/copy
	[222472f295f3]

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: Fixed to actually read plugin settings.
	[e827618654ec]

	* dovecot.m4:
	dovecot.m4: Don't use grep -e, it's not standard.
	[b8c4316a5d40]

	* src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h:
	lib-lda: mail_deliver_save_open() API changed to return also error
	code.
	[db22952d406a]

	* src/dsync/dsync-proxy-client.c:
	dsync: Fixed a potential assert-crash with remote dsyncing.
	(worker->msg_get_data.input == NULL)
	[ff034cc11785]

	* src/lib-settings/settings-parser.c:
	lib-settings: Do proper alignment for dynamically added structs.
	Fixes a crash with some CPUs.
	[ba76cf7467c4]

	* src/dsync/dsync-proxy-client.c, src/dsync/dsync-worker-local.c:
	dsync: Added more asserts to dsync_worker_finish() handling
	[38fcf81cc9e0]

	* configure.in:
	configure: If fd passing check fails, abort
	[8cf47a359213]

	* src/lib/fdpass.c:
	configure wasn't compiling fd pass checking program correctly.
	[fd79394f7652]

	* src/doveadm/doveadm-director.c:
	doveadm director map: Fixed -f parameter crash
	[d0f032ea0aec]

	* src/lmtp/commands.c:
	lmtp: Removed FIXME comment
	[b3f88a516a49]

	* src/lmtp/client.h:
	lmtp: Reverted accidentally committed debug code
	[bbbb542f1e2d]

2010-07-16  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm-director.1.in:
	man/doveadm-director.1: Added description of "director map"'s -f
	option.
	[26936bdd3801]

2010-07-16  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-worker-server.c:
	auth worker: Reset lookup timeout each time a line is received for a
	multi-line lookup.
	[d13c1043096e]

	* src/doveadm/doveadm-director.c:
	doveadm director map: Added -f parameter to alternatively get a list
	of usernames.
	[2d6bac30ea75]

2010-07-15  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/option-A.inc:
	man/option-A: Mention userdb/LDAP iterate_attrs and iterate_filter
	settings.
	[e58a270a6287]

	* doc/man/Makefile.am:
	man/Makefile: Made manpages depend on includes.
	[dc670a1914b7]

2010-07-15  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream-file.c, src/lib/istream.h:
	Added i_stream_create_file() for creating istream from lazily opened
	file.
	[b7d98c5db865]

2010-07-15  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm-director.1.in:
	man/doveadm-director.1: Added description of command "director map"
	[6e0a2ce2910c]

2010-07-15  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-director.c:
	doveadm director map: Support looking up a hostname. Also fixed
	director remove to work properly with multiple IPs.
	[cd1dbde147cd]

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-file.h, src/lib-storage/index/dbox-common/dbox-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-
	storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-sync-rebuild.c:
	dbox: Split dbox_file_seek() from dbox_file_get_mail_stream()
	[7520b31ea95b]

	* doc/example-config/conf.d/10-mail.conf:
	example-config: Added mail_temp_dir.
	[b6693d570960]

	* src/lib-storage/index/dbox-single/sdbox-storage.c:
	sdbox: Removed flock() check. It's not used by sdbox.
	[8af3e40dd614]

	* src/director/doveadm-connection.c, src/doveadm/doveadm-director.c:
	doveadm: Added "director map" command to list user -> host mappings.
	[4138737f41e6]

	* src/lda/main.c, src/lib-storage/mail-storage-settings.c, src/lib-
	storage/mail-storage-settings.h, src/lib-storage/mail-user.c, src
	/lib-storage/mail-user.h, src/lmtp/client.c, src/lmtp/client.h,
	src/lmtp/commands.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
	settings.h, src/plugins/quota/quota-fs.c:
	Added mail_temp_dir setting, used by deliver and lmtp for creating
	temp mail files.
	[7a6cf8dae9bf]

2010-07-14  Timo Sirainen  <tss@iki.fi>

	* doc/man/doveadm-altmove.1.in, doc/man/doveadm-dump.1.in, doc/man
	/doveadm-force-resync.1.in, doc/man/doveadm-user.1.in:
	man: Also renamed "dbox" to "sdbox"
	[0d16970d9df3]

	* configure.in, src/lib-storage/index/dbox-single/sdbox-storage.c, src
	/lib-storage/index/dbox-single/sdbox-storage.h, src/lib-
	storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-sync.c:
	Renamed "dbox" to "sdbox". Keep also dbox as an alias for it.
	[76ee1fa16012]

	* src/director/notify-connection.c:
	director: Log an error if read() fails for notify fifo
	[8fed05799c00]

	* src/master/service-listen.c:
	master: Open FIFO listeners as RDWR, so if the last writer goes away
	we won't get EOFs.
	[510b627687f8]

	* src/login-common/login-proxy-state.c:
	login proxy: Set notify fd nonblocking.
	[65cda5124e99]

	* src/director/director-connection.c:
	director: Fixed handling HOST-FLUSH commands.
	[9e41df232dd6]

	* src/doveadm/doveadm-director.c:
	doveadm director flush: Fixed giving correct usage.
	[75441abd8d6f]

	* src/lib-lda/mail-deliver.c:
	lib-lda: If FROM envelope is known, tell about it to lib-storage
	when saving mail
	[8af852eb3277]

	* src/lib-storage/index/mbox/mbox-save.c:
	mbox: Write empty From_-line envelope as MAILER-DAEMON
	[14ac329dcba1]

	* src/lib-storage/index/mbox/mbox-save.c:
	mbox: When generating envelope to From_-line, don't append a second
	@owndomain if username already has one.
	[c34681558f46]

2010-07-13  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-list.c:
	imap: Fixed checking if list=children namespace has children.
	[3972e896865d]

	* src/util/rawlog.c:
	rawlog: Don't steal -options from the program that's going to be
	run.
	[14132e025946]

	* doc/solr-schema.xml:
	solr-schema: Removed all references to unused "any" field.
	[3e70abe7ee36]

2010-07-13  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/option-A.inc:
	man: Use pkgsysconfdir instead of sysconfdir also in included files.
	[9ffa8d9a2ee3]

2010-07-12  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-client-connection.c:
	auth: Changed "new auth connection" debug message
	[ba450b2dcffa]

	* src/imap/cmd-list.c, src/lib-storage/list/mailbox-list-fs-iter.c,
	src/lib-storage/mailbox-list.h:
	lib-storage: Show "foo/" style replies only for IMAP LIST command.
	Internally those replies just mess up things.
	[9ccfbed9c570]

	* src/lib-storage/index/dbox-common/dbox-file.c:
	dbox: Added a sanity check so that too small dbox files won't be
	appended to.
	[0a2dc81ed513]

	* src/dsync/dsync-brain.c, src/dsync/dsync-worker.c:
	dsync: Don't give errors when doing a remote sync and there are no
	changes.
	[5e285530914c]

	* src/dsync/dsync-proxy-client.c:
	dsync: Added assert
	[fa883e27a6de]

	* src/dsync/dsync-proxy-client.c:
	dsync: Log an error if dsync server sends invalid reply for FINISH.
	[95de0b0b6171]

	* src/doveadm/doveadm.c:
	doveadm: Give a better error message if we can guess that unknown
	command is due to unloaded plugin.
	[490500f0c09b]

	* src/lib-storage/list/mailbox-list-delete.c, src/lib-storage/list
	/mailbox-list-fs.c, src/lib/unlink-directory.c:
	Handle rmdir() failing with EEXIST the same as failing with
	ENOTEMPTY. This is allowed by POSIX, and at least Solaris does that.
	[6ebe8d8fd1fd]

	* src/dsync/dsync-worker-local.c:
	dsync: Added a comment.
	[30317b89b101]

	* doc/man/Makefile.am, doc/man/doveadm-altmove.1.in, doc/man/doveadm-
	auth.1.in, doc/man/doveadm-director.1.in, doc/man/doveadm-kick.1.in,
	doc/man/doveadm-log.1.in, doc/man/doveadm-penalty.1.in, doc/man
	/doveadm-quota.1.in, doc/man/doveadm-user.1.in, doc/man/doveadm-
	who.1.in, doc/man/doveadm.1.in, doc/man/doveconf.1.in, doc/man
	/dovecot-lda.1.in, doc/man/dovecot.1.in, doc/man/dsync.1.in,
	doc/man/sed.sh:
	man: Use pkgsysconfdir instead of explicit sysconfdir/dovecot
	[a2bbd6c3624a]

	* doc/example-config/Makefile.am:
	doc Makefile: Define and use pkgsysconfdir instead of dovecotconfdir
	[ca5cea0c614a]

2010-07-12  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm-director.1.in, doc/man/doveadm-penalty.1.in, doc/man
	/doveadm-who.1.in:
	man/doveadm-{who,penalty,director}.1: Added -a host:port
	description.
	[e546af72d6bb]

2010-07-12  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-director.c, src/doveadm/doveadm-penalty.c,
	src/doveadm/doveadm-who.c, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h:
	doveadm director/penalty/who: Support also communicating via TCP
	sockets.
	[16db2af2b831]

	* src/lib/network.c, src/lib/network.h:
	liblib: Added net_connect_ip_blocking().
	[5ea9394b5ced]

	* src/doveadm/doveadm-director.c:
	doveadm director status: "users" column header was wrong.
	[24e92489d7b7]

2010-07-11  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-director.c:
	doveadm director status: Print output using the print API, not
	printf.
	[243e01c2d7ba]

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs: Fixed checking if pattern was valid with hierarchy
	separator wasn't the default '/' For example if separator was ';',
	which the code internally converted to '/', it would have been
	possible to try to list e.g. ";*", which could have been translated
	to "/*". Luckily this wasn't actually working, but it could have
	caused other broken replies and possibly some problems with ACL
	plugin.
	[fec7013c628b]

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
	expunge.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-
	mail-list-iter.c, src/doveadm/doveadm-mail-mailbox-status.c,
	src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail-
	search.c, src/dsync/dsync-worker-local.c, src/imap/cmd-list.c, src
	/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
	list-fs-iter.c, src/lib-storage/list/mailbox-list-maildir-iter.c,
	src/lib-storage/list/mailbox-list-maildir.c, src/lib-storage
	/mailbox-list.c, src/lib-storage/mailbox-list.h, src/plugins/acl
	/acl-backend-vfile-acllist.c, src/plugins/acl/acl-mailbox-list.c,
	src/plugins/acl/acl-shared-storage.c, src/plugins/listescape
	/listescape-plugin.c, src/plugins/quota/quota-count.c,
	src/plugins/quota/quota-maildir.c, src/plugins/virtual/virtual-
	config.c:
	lib-storage: Removed code related to listing mailboxes with non-
	virtual names. The non-virtual listing code would have already
	crashed with assert.
	[b25a30644e68]

	* src/plugins/acl/acl-mailbox-list.c:
	acl: Fixed crashing on FS layout with non-default hierarchy
	separator.
	[54807112d1d6]

	* src/lib-storage/index/index-fetch.c:
	lib-storage: mailbox_get_expunges() didn't return any expunges if
	modseq was too low. This fixes problems with dsync creating back
	expunged messages.
	[486754f4f2ea]

	* src/dsync/test-dsync-brain.c:
	dsync: Fixed unit tests
	[cd4db940dcbf]

	* src/dsync/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync.c,
	src/dsync/test-dsync-brain.c:
	dsync: Fixed brain unit test not to crash at deinit.
	[fd33ccbf235e]

	* Merge heads
	[d2b09976c704]

2010-07-10  Timo Sirainen  <tss@iki.fi>

	* src/lib/process-title.c:
	process_title_init(): Don't assert-crash with empty environment.
	[77f244924009]

	* Branch merging.. Something weird's going on.
	[068c54732c96]

	* src/dsync/dsync-proxy-client.c:
	dsync: Fixed a potential hang with remote syncing.
	[67445c0f55c0]

2010-07-10  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/Makefile.am:
	man/Makefile: Eliminated $< and $@.
	[96baed198b27]

2010-07-10  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain-msgs-new.c:
	dsync: Fixed accidentally committed broken code (also in default
	branch now)
	[94c5bfb31951]

	* Another try at closing HEAD branch, which accidentally opened with
	last commit..
	[7dd7adba1c9e] <HEAD>

	* src/dsync/dsync-brain-msgs-new.c:
	dsync: Fixed accidentally committed broken code.
	[3613b4d996ba] <HEAD>

	* Closing HEAD branch.
	[bac0353c53c4] <HEAD>

	* src/lib/process-title.c:
	Make static analyzer happier.
	[def45252ab48]

	* src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-brain-private.h,
	src/dsync/dsync-brain.c, src/dsync/dsync-worker-local.c:
	dsync: Fixed flushing asserts
	[d9d1272d99b7] <HEAD>

	* src/dsync/dsync.c:
	dsync: Fixed giving dsync command as a path to a binary without
	parameters.
	[1f9080e9a530] <HEAD>

	* src/lda/main.c:
	lda: Don't set mail_full_filesystem_access=yes internally. It's not
	necessary. Also it probably wasn't even working.
	[f93507788bc3] <HEAD>

	* src/dsync/dsync-worker-local.c:
	dsync: Added extra assert
	[06e4a422aa91] <HEAD>

	* src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-proxy-client.c,
	src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.h,
	src/dsync/dsync-worker-local.c, src/dsync/dsync-worker-private.h,
	src/dsync/dsync-worker.c, src/dsync/dsync-worker.h, src/dsync/test-
	dsync-worker.c:
	dsync: Fixed assert-crashing when messages couldn't be sent fast
	enough to remote
	[56cf4f6261dd] <HEAD>

2010-07-09  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset fd0497f5a496
	[02447bd723e8] <HEAD>

	* .hgtags:
	Added tag 2.0.rc2 for changeset fd0497f5a496
	[b6821e44bed8] <HEAD>

	* NEWS, configure.in:
	Released v2.0.rc2.
	[fd0497f5a496] [2.0.rc2] <HEAD>

2010-07-09  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/Makefile.am:
	man/Makefile: Made targets more explicit to fix building with some
	versions make.
	[c1f72627d246] <HEAD>

2010-07-09  Timo Sirainen  <tss@iki.fi>

	* doc/man/doveadm-search-query.7:
	man: Updated HEADER explanation in doveadm-search-query.7
	[531ad5c449d1] <HEAD>

	* TODO:
	TODO updated.
	[23daee5d8496] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-file.h, src/lib-storage/index/dbox-single/sdbox-
	file.c, src/lib-storage/index/dbox-single/sdbox-file.h, src/lib-
	storage/index/dbox-single/sdbox-sync.c:
	dbox: dbox_file_move() was used by only single-dbox, so moved it
	there.
	[8ec35eb6d7b3] <HEAD>

	* src/dsync/dsync-brain.c, src/dsync/dsync-proxy.c:
	dsync: Fixed creating mailboxes with remote dsync.
	[0ece958ef45b] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-user.c:
	Increased some initial mempool sizes.
	[065ff4f1c504] <HEAD>

2010-07-08  Timo Sirainen  <tss@iki.fi>

	* src/dsync/Makefile.am:
	dsync: Fixed loading virtual plugin when compiled --without-shared-
	libs
	[ba60cc0b58df] <HEAD>

	* src/plugins/virtual/virtual-storage.h, src/plugins/virtual/virtual-
	sync.c:
	virtual: If non-matching messages weren't expunged within same
	session, they never got expunged.
	[00a7d6624657] <HEAD>

	* src/director/mail-host.c:
	director: director_mail_servers setting can now contain host names.
	[065c414a5c07] <HEAD>

	* src/director/director-connection.c:
	director: Avoid "Received SYNC while already synced" error.
	[2060d3d08702] <HEAD>

	* src/director/director-connection.c, src/director/director-
	connection.h, src/director/director.c:
	director: Make sure all director connections are deinitialized at
	exit.
	[ea4701f11668] <HEAD>

	* src/lib/mountpoint.c:
	mountpoint_get()+Solaris: Reset mnttab before each lookup. Patch by
	Juergen Obermann
	[5113bada22b2] <HEAD>

	* src/plugins/quota/quota-fs.c:
	quota-fs: With mail_debug=yes, log also additional mount points that
	are added. Based on patch by Juergen Obermann.
	[4db139722e4f] <HEAD>

2010-07-07  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm.c:
	doveadm: With GLIBC allow subcommand -options to be anywhere in
	command line.
	[dcd740f453a4] <HEAD>

	* src/doveadm/doveadm-mail.c:
	doveadm: Changed "user doesn't exist" error message.
	[bff3789b8953] <HEAD>

	* src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/mailbox-list-private.h, src/lib-storage
	/mailbox-list.c:
	lib-storage: Make sure index directory is created early enough for
	mailbox.log For example if subscriptions were added before any
	mailbox was opened, the index dir may not have been created yet.
	[6571b3a9c44f] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
	/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox-
	storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-sync.c:
	mdbox: Storage rebuild changes weren't actually being committed to
	disk.
	[668e810e6578] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail-storage-service: Initialize logging with proper settings a bit
	earlier.
	[b0e0d4537496] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/plugins/imap-acl/imap-
	acl-plugin.c, src/plugins/imap-acl/imap-acl-plugin.h, src/plugins
	/imap-quota/imap-quota-plugin.c, src/plugins/imap-quota/imap-quota-
	plugin.h, src/plugins/imap-zlib/imap-zlib-plugin.c, src/plugins
	/imap-zlib/imap-zlib-plugin.h:
	imap plugins now give a nicer error if tried to be loaded for non-
	imap binary.
	[c53fb625b07e] <HEAD>

	* src/lib/module-dir.c, src/lib/module-dir.h:
	module_dir_load(): Added support for checking binary name
	dependency.
	[10ff5c7e7f40] <HEAD>

	* src/auth/auth-master-connection.c:
	auth: Add "user" field to all PASS lookup replies.
	[4db258f7ce91] <HEAD>

	* src/dsync/test-dsync-brain.c:
	dsync: Another unit test fix.
	[7ebbd6925c41] <HEAD>

	* src/dsync/test-dsync-brain.c:
	dsync: Fixed unit test to not access freed memory.
	[056c3240a912] <HEAD>

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Compiling fix. Patch by nareshov.
	[912a11f476cc] <HEAD>

2010-07-06  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync.c:
	dsync: Refuse to run if we detect virtual hierarchy separators
	differ for mail locations. The real separators can differ, but to
	work properly there must be a default namespace with a separator
	defined.
	[cd0d3392366e] <HEAD>

	* src/plugins/zlib/istream-zlib.c:
	istream zlib: Change "unexpected EOF" errno from EINVAL to EPIPE.
	This should give at least a bit nicer logout reasons when imap-zlib
	is used and connection is closed.
	[ab2670833cb7] <HEAD>

	* src/lib-index/mail-index-transaction-finish.c:
	lib-index: Crashfix in some cases when flags unexpectedly weren't
	changed
	[962c9144a31d] <HEAD>

	* src/imap/cmd-list.c, src/lib-lda/mail-deliver.c, src/lib-
	storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/index-storage.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/mbox/mbox-lock.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/shared
	/shared-storage.c, src/lib-storage/list/mailbox-list-delete.c, src
	/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
	/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir-
	iter.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-storage
	/mail-namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage
	/mail-storage-private.h, src/lib-storage/mail-storage.c, src/lib-
	storage/mailbox-list.c, src/plugins/acl/acl-mailbox-list.c,
	src/plugins/fts/fts-storage.c, src/plugins/listescape/listescape-
	plugin.c, src/plugins/quota/quota-maildir.c:
	Fixes to INBOX sharing. NAMESPACE_FLAG_INBOX was split to two flags:
	_FLAG_INBOX_USER (this namespace has the user's own INBOX) and
	_FLAG_INBOX_ANY (namespace has INBOX, either user's own or another
	user's).
	[07353259bb41] <HEAD>

	* src/lib-settings/settings-parser.c:
	lib-settings: settings_parse_unalias() crashed if given strlist key.
	[c52acd672735] <HEAD>

	* src/lib-index/mail-index-sync-update.c:
	lib-index: Minor code cleanup / commenting.
	[0ffb55c4d323] <HEAD>

	* src/lib-storage/mail-search-register-imap.c:
	lib-storage: Don't crash if invalid parameter is given to SEARCH
	OLDER.
	[b9a5ad0324c8] <HEAD>

2010-07-05  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync.c:
	dsync: Log "changes caused a desync" as a warning, not as verbose
	info.
	[2f290e28283a] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: Removed -s parameter handler. It existed only for kind-
	of-compatibility between Postfix master. If someone actually wants
	such compatibility, a wrapper script would work too.
	[5738c65ad037] <HEAD>

	* src/dsync/dsync-brain.c, src/dsync/dsync-worker-local.c, src/dsync
	/dsync-worker-private.h, src/dsync/dsync-worker.c, src/dsync/dsync-
	worker.h, src/dsync/dsync.c:
	dsync: If verbosity is enabled, log why desyncing was caused.
	[ba9f33f9c6c3] <HEAD>

	* src/dsync/dsync-worker-local.c:
	dsync: Detect duplicate mailbox GUIDs and fail if it happens.
	[529e85c548a9] <HEAD>

	* src/config/old-set-parser.c:
	config: v1.x parser failed with some settings if pigeonhole wasn't
	installed.
	[8f6703ce6528] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox rebuild: Fixed looking up original mailbox name for mails.
	[d464e23e357c] <HEAD>

	* src/plugins/quota/quota-fs.c:
	quota-fs/rquota: If soft limit is zero, fallback to returning hard
	limits.
	[ec62342fa241] <HEAD>

	* src/plugins/quota/quota-fs.c:
	quota-fs: Added support for NFSv4 rquota. Based on patch by Martin
	Schanzenbach, which also borrowed comment from linuxquota.
	[4f4096096364] <HEAD>

	* src/plugins/quota/quota-fs.c:
	quota-fs: Removed rq_active check from rquota usage. Apparently it's
	not set by all implementations, and other tools also ignore it. If
	it actually is necessary in some systems, this could be added back
	and enabled optionally.
	[c187993c96f2] <HEAD>

	* src/dsync/dsync-brain.c:
	dsync backup: Fail if it looks like backup is running in wrong
	direction.
	[42dfcf9c896b] <HEAD>

	* src/dsync/dsync-brain-msgs.c:
	dsync: If msg iteration fails, don't crash.
	[18bebc4faa6b] <HEAD>

	* src/lib/module-dir.c:
	module_dir_load(): Don't crash with "" plugin list. Patch by Stephan
	Bosch.
	[bc35bf7f7502] <HEAD>

2010-07-03  Timo Sirainen  <tss@iki.fi>

	* dovecot-config.in.in:
	dovecot-config: Don't include iconv in LIBDOVECOT_DEPS
	[4a4f7add34d9] <HEAD>

	* doc/man/Makefile.am:
	Makefile: Include dovecot-config.1 in distribution.
	[019aae896f03] <HEAD>

2010-07-02  Pascal Volk  <user@localhost.localdomain.org>

	* doc/dovecot-initd.sh:
	doc/dovecot-initd.sh: Updated base_dir detection.
	[9b9d6a596688] <HEAD>

2010-07-02  Timo Sirainen  <tss@iki.fi>

	* doc/man/Makefile.am, doc/man/doveadm-config.1,
	src/doveadm/Makefile.am, src/doveadm/doveadm.c:
	doveadm config is now alias for doveconf.
	[c1546ed8ddb6] <HEAD>

	* .hgsigs:
	Added signature for changeset d4d6ebad3d33
	[44be8496bc19] <HEAD>

	* .hgtags:
	Added tag 2.0.rc1 for changeset d4d6ebad3d33
	[e3e837b088ba] <HEAD>

	* NEWS, configure.in:
	Released v2.0.rc1.
	[d4d6ebad3d33] [2.0.rc1] <HEAD>

	* src/director/director-test.c:
	director-test: Make static analyzer happy.
	[11472e64ea7d] <HEAD>

	* autogen.sh:
	autogen.sh: Use wiki2-export for docs for now.
	[3d737e1ed65e] <HEAD>

	* src/lib/module-dir.c:
	module_dir_load(): Ignore duplicates in module names.
	[e586c030e430] <HEAD>

	* doc/example-config/conf.d/10-director.conf, src/director/login-
	connection.c, src/director/login-connection.h, src/director/main.c:
	director: Added support for LMTP proxying.
	[1683324ac632] <HEAD>

2010-07-02  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/dsync.1.in:
	man: dsync.1: Added link to "dsync design".
	[eaa42f370481] <HEAD>

2010-07-02  Timo Sirainen  <tss@iki.fi>

	* src/config/old-set-parser.c:
	config: Fixed converting some managesieve settings.
	[c83071fc50e6] <HEAD>

	* doc/man/doveadm.1.in:
	man: Updated doveadm exit status info.
	[79db41b9e1a0] <HEAD>

	* src/config/old-set-parser.c:
	config: Handle protocols=managesieve as protocols=sieve
	[4cec50afed94] <HEAD>

	* src/lib-storage/list/mailbox-list-fs.c:
	mbox: Support deleting a directory if it contains an empty .imap/
	directory.
	[737ee10e8104] <HEAD>

	* src/lib/module-dir.c:
	openbsd: Hide errors written by dlopen() if we wanted to ignore
	them. doveadm loads all plugins at startup that it can. It shouldn't
	be printing unnecessary error messages to stderr.
	[d52e9033c3bf] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/index-storage.c:
	lib-storage: When mailbox_update() sets highest-modseq, make sure
	modseqs are enabled.
	[3f9435c616e4] <HEAD>

	* src/dsync/dsync-brain-msgs-new.c:
	dsync: Removed the new message counter. It wasn't working very well.
	Especiall with remote connections it went quickly through, even
	though it could still take minutes to actually transfer all the
	data.
	[8384ba48ecf6] <HEAD>

2010-07-02  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/dovecot.1.in, doc/man/dsync.1.in:
	man: dovecot.1: Added AUTHOR section. dsync.1: Indented lists in
	EXAMPLE section. Added missing escape.
	[a34f5f7b17a2] <HEAD>

2010-07-02  Timo Sirainen  <tss@iki.fi>

	* Makefile.am:
	Makefile: Stop generated ChangeLog at v1.2.rc1. If someone wants
	full history, they can get it from hg.
	[0ca72121aa46] <HEAD>

2010-07-01  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm.c:
	doveadm help: Fixed crash.
	[4dd679310f12] <HEAD>

	* doc/man/dsync.1.in:
	man: Fixed previous dsync man page commit
	[2162b9082283] <HEAD>

2010-07-01  Pascal Volk  <user@localhost.localdomain.org>

	* doc/man/doveadm.1.in:
	man/doveadm.1: Typo fix.
	[3ae1c14a8c06] <HEAD>

2010-07-01  Timo Sirainen  <tss@iki.fi>

	* doc/man/dsync.1.in:
	man: dsync man page updated.
	[2676d86d3286] <HEAD>

	* dovecot.m4:
	dovecot.m4: Added LIBDOVECOT_CONFIG_INCLUDE
	[211aa7bab239] <HEAD>

	* src/dsync/dsync-proxy.c:
	dsync: More fixes to parsing proxied mailbox deletion records.
	[2996ff9d2779] <HEAD>

	* .hgignore:
	Removed old binaries from .hgignore
	[9605c74b1f19] <HEAD>

	* src/dsync/test-dsync-proxy-server-cmd.c:
	dsync: Fixed unit test.
	[e0c52292b586] <HEAD>

	* src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c:
	dsync: Fixed proxying protocol to handle sending deleted mailboxes
	without failing.
	[54c3d17a4038] <HEAD>

	* src/dsync/dsync-proxy.c:
	dsync: Fixed assert-crashing on exporting a "deleted mailbox" record
	to proxy.
	[d701f254ca4e] <HEAD>

	* src/dsync/dsync-brain-msgs-new.c:
	dsync: Fixed assert-crash with remote syncing.
	[be38abc90df3] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
	/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox-
	save.c:
	mdbox: If one save fails, but others succeed, don't assert-crash at
	commit.
	[3bc1cef3ac4c] <HEAD>

	* doc/man/doveadm-dump.1.in, doc/man/doveadm-purge.1.in, doc/man
	/doveadm-pw.1.in, doc/man/dsync.1.in:
	man pages: Use wiki2.dovecot.org links until wiki2 becomes the
	default.
	[245cd41837ff] <HEAD>

	* src/dsync/dsync.c:
	dsync: Removed -r parameter. dsync backup should be used instead.
	[b8a74b3fb16d] <HEAD>

	* src/dsync/dsync-brain-msgs-new.c:
	dsync -v: Make sure the n/m message counter is flushed to stdout.
	[3c7d3258ac1d] <HEAD>

	* src/dsync/dsync-brain.c:
	dsync: Changed verbose "xx changed" messages to be clearer what they
	mean.
	[b94e6bf6b9c9] <HEAD>

	* src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-brain-private.h,
	src/dsync/dsync-brain.c:
	dsync: When -v parameter is given, show progress counter of saving
	new messages.
	[b37c85676f8e] <HEAD>

	* src/dsync/dsync-brain-msgs-new.c:
	dsync: Fixes to handling copying.
	[cfee7da47bf0] <HEAD>

	* src/plugins/quota/quota-fs.c:
	quota-fs: Compiler warning fix on some OSes.
	[c27e9a035b67] <HEAD>

	* src/dsync/dsync-brain.c:
	dsync: Potential crashfix, plus some compiler warning fixes.
	[9798d57644ba] <HEAD>

	* TODO:
	TODO updated
	[148fccbe9f32] <HEAD>

	* src/dsync/dsync.c:
	dsync backup: Added -R parameter to reverse backup direction.
	[c36dbec5cb9f] <HEAD>

	* src/dsync/dsync-brain.c, src/dsync/dsync-data.h, src/dsync/dsync-
	proxy.c, src/dsync/dsync-worker-local.c, src/dsync/test-dsync-
	brain.c, src/dsync/test-dsync-proxy-server-cmd.c:
	dsync: Find changed mailboxes also based on number of messages in
	them.
	[28639e01a479] <HEAD>

	* src/dsync/dsync-brain.c:
	dsync: Another try at not increasing mailbox uidnext/highestmodseq
	on failure
	[49b226835cd2] <HEAD>

	* src/lib-storage/list/mailbox-list-delete.c, src/lib-storage/list
	/mailbox-list-delete.h, src/lib-storage/list/mailbox-list-fs.c:
	lib-storage: When renaming a mailbox, make sure any unnecessary
	directories get deleted.
	[f4b809b83a13] <HEAD>

	* src/lib-storage/list/mailbox-list-fs.c:
	lib-storage: MAILBOX_LIST_PATH_TYPE_ALT_DIR path lookups weren't
	returning NULL with non-dbox.
	[636fb64394a5] <HEAD>

	* src/dsync/dsync-brain.c:
	dsync: If dsync fails in any way, don't increase mailboxes'
	next_uid/highestmodseq.
	[b4f029f7793a] <HEAD>

	* src/dsync/dsync-brain-msgs.c, src/dsync/dsync-brain-private.h,
	src/dsync/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync.c:
	dsync: Added backup command, which syncs source to destination,
	discarding any changes in dest. It doesn't work perfectly in all
	situations. Especially if destination had saved/expunged mails in
	INBOX, dsync can't resolve it. For non-INBOXes it deletes the
	mailbox and fails a bit later, so that the next dsync can do a full
	resync for the mailbox.
	[cf7f6912af02] <HEAD>

	* src/dsync/dsync-worker-local.c:
	dsync: Log an error if saving mail fails (e.g. because of quota)
	[f319af83ae36] <HEAD>

	* src/lib-storage/index/dbox-single/sdbox-save.c:
	single-dbox: Also some error handling fixing.
	[220e7b0f03c2] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: More error handling fixing.
	[7bd8464ef333] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
	/dbox-multi/mdbox-save.c:
	mdbox: Error handling fixes.
	[16e0992583e2] <HEAD>

	* src/master/service-process.c:
	master: Compile fix for non-Linux OSes
	[451852aa0200] <HEAD>

	* src/config/old-set-parser.c:
	config: Rename protocol managesieve {} to protocol sieve {}
	[7d418cc60853] <HEAD>

	* src/dsync/test-dsync-brain-msgs.c:
	dsync: Fixed unit test to work again.
	[6ef22459c39f] <HEAD>

2010-06-30  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync.c:
	dsync mirror: If arg has '/', assume it's a script.
	[26faf8ae5024] <HEAD>

	* src/dsync/dsync.c:
	dsync: Merged convert and mirror commands, parameter autodetection
	figures out what to do.
	[78b4cf49d3cd] <HEAD>

	* src/master/service-process.c:
	master: Improved core dump error messages.
	[e350532d8ce0] <HEAD>

	* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-sync-
	update.c, src/lib-index/mail-index-transaction-export.c, src/lib-
	index/mail-index-transaction-finish.c, src/lib-index/mail-index-
	transaction-private.h, src/lib-index/mail-index-transaction-
	update.c, src/lib-index/mail-index.h, src/lib-index/mail-
	transaction-log-file.c, src/lib-index/mail-transaction-log.h, src
	/lib-index/test-mail-index-transaction-finish.c, src/lib-index/test-
	mail-index-transaction-update.c, src/lib-storage/index/cydir/cydir-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-
	storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-
	single/sdbox-mail.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-mail.h, src/lib-storage/index/index-
	transaction.c, src/lib-storage/index/maildir/maildir-mail.c, src
	/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-storage/index/mbox
	/mbox-mail.c, src/lib-storage/index/raw/raw-mail.c, src/lib-storage
	/mail-storage-private.h, src/lib-storage/mail-storage.h, src/lib-
	storage/mail.c, src/lib-storage/test-mail.c, src/plugins/virtual
	/virtual-mail.c:
	Removed mail_update_uid() / mail_index_update_uid(). It was working
	properly only with mdbox and there wasn't really a need for it.
	[b265dee142a6] <HEAD>

	* src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-brain-msgs.c,
	src/dsync/dsync-brain-private.h, src/dsync/dsync-worker-local.c,
	src/dsync/test-dsync-brain.c:
	dsync: Rewrote copying and uid conflict resolution code. Added tons
	of comments. The uid conflict resolution is now done using
	copy+expunge, without needing a special "change uid" feature from
	lib-storage.
	[372af44dca85] <HEAD>

	* src/plugins/quota/quota.c:
	quota: With mail_debug=yes, show the non-default rule bytes/messages
	with "+" prefix.
	[b09638ebb87d] <HEAD>

	* src/doveadm/doveadm.c:
	doveadm help: Don't read settings (doveconf seems to mess up
	terminal)
	[8468998b98ab] <HEAD>

2010-06-30  Pascal Volk  <user@localhost.localdomain.org>

	* src/imap/main.c, src/pop3/main.c:
	imap, pop3: Added an assert to client_connected().
	[1799fbbd104b] <HEAD>

2010-06-30  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/Makefile.am, src/doveadm/doveadm.c:
	doveadm help: Show man pages instead of small usage strings.
	[b07bb05789cf] <HEAD>

2010-06-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-sync-update.c:
	lib-index: Added a missing error logging.
	[3156315704ef] <HEAD>

	* src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.h, src/lib-storage/index
	/dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single
	/sdbox-sync.c, src/lib-storage/index/dbox-single/sdbox-sync.h:
	single-dbox: Fixed broken mailbox handling.
	[9d9be6aa3a55] <HEAD>

	* src/lib-storage/index/dbox-single/Makefile.am, src/lib-storage/index
	/dbox-single/sdbox-sync-file.c, src/lib-storage/index/dbox-single
	/sdbox-sync.c, src/lib-storage/index/dbox-single/sdbox-sync.h:
	single-dbox: Simplified syncing code.
	[4e5032891954] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-single/sdbox-sync-file.c:
	single-dbox: Fixed moving mails to alt storage.
	[a195689c4d38] <HEAD>

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-iter.c,
	src/doveadm/doveadm-mail-iter.h:
	doveadm altmove: Sync all mailboxes after moving mails.
	[077fb09819e2] <HEAD>

	* src/lib-sql/driver-pgsql.c:
	pgsql: Fixes for errors handling with synchronous sql queries.
	[2167bea550e1] <HEAD>

2010-06-29  Pascal Volk  <user@localhost.localdomain.org>

	* doc/example-config/dovecot.conf:
	example-config: Mention `doveconf -n` instead of `dovecot -n`
	[8c52ebde02a6] <HEAD>

2010-06-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-common/dbox-storage.h, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/list/mailbox-list-fs.c:
	[m]dbox: If alt-dir exists for a mailbox while trying to create it,
	rebuild mailbox indexes. This makes sure that if there are any mails
	in the alt-dir, they become visible rather than be overwritten.
	[ad122febbf26] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Don't fail storage rebuild just because storage/ directory
	doesn't exist. It may be an account for a new user that doesn't yet
	have any mails.
	[243166e7dd2d] <HEAD>

	* src/lib-storage/index/index-mail.c, src/lib-storage/index/maildir
	/maildir-mail.c, src/plugins/zlib/zlib-plugin.c:
	lib-storage: Use mail->saving, not mail->uid==0 to check if mail is
	being saved. The uid may be non-zero when saving with dsync.
	[267ad2b32276] <HEAD>

	* doc/example-config/Makefile.am:
	example-config: Don't include README file in distribution tarball.
	[6cce8b2a9121] <HEAD>

2010-06-28  Pascal Volk  <user@localhost.localdomain.org>

	* doc/example-config/conf.d/Makefile.am:
	example-config: Added missing config files to the Makefile.
	[de800a774943] <HEAD>

2010-06-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-map-private.h, src/lib-
	storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-
	multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox-purge.c,
	src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
	/dbox-multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-
	multi/mdbox-storage-rebuild.h, src/lib-storage/index/dbox-multi
	/mdbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-sync.c, src
	/lib-storage/index/dbox-multi/mdbox-sync.h:
	mdbox: Modified map locking behavior to avoid deadlocks when
	rebuilding storage. If both mailbox and map index need to be locked,
	the map index must now be locked first. Mailbox syncing
	optimistically tries to first sync without map locking, but if it
	sees expunges, it restarts with the map lock.

	The map lock is held now slightly longer during sync than before,
	but it shouldn't be noticeable.
	[612df9b3df83] <HEAD>

	* src/lib-index/mail-index-sync.c, src/lib-index/mail-index.h:
	lib-index: Added mail_index_sync_has_expunges()
	[b2aca3e50f44] <HEAD>

	* src/imap/imap-client.c, src/pop3/pop3-client.c:
	imap, pop3: Forced disconnection of client didn't always close
	connection immediately.
	[f4238836c566] <HEAD>

2010-06-28  Pascal Volk  <user@localhost.localdomain.org>

	* .hgignore, Makefile.am, configure.in, doc/Makefile.am,
	doc/man/Makefile.am, doc/man/deliver.1, doc/man/doveadm-
	altmove.1.in, doc/man/doveadm-auth.1.in, doc/man/doveadm-
	director.1.in, doc/man/doveadm-dump.1.in, doc/man/doveadm-
	expunge.1.in, doc/man/doveadm-fetch.1.in, doc/man/doveadm-force-
	resync.1.in, doc/man/doveadm-help.1.in, doc/man/doveadm-kick.1.in,
	doc/man/doveadm-log.1.in, doc/man/doveadm-mailbox.1.in, doc/man
	/doveadm-penalty.1.in, doc/man/doveadm-purge.1.in, doc/man/doveadm-
	pw.1.in, doc/man/doveadm-quota.1.in, doc/man/doveadm-reload.1,
	doc/man/doveadm-search-query.7, doc/man/doveadm-search.1.in, doc/man
	/doveadm-stop.1, doc/man/doveadm-user.1.in, doc/man/doveadm-
	who.1.in, doc/man/doveadm.1.in, doc/man/doveconf.1.in, doc/man
	/dovecot-lda.1.in, doc/man/dovecot.1.in, doc/man/dsync.1.in, doc/man
	/global-options-formatter.inc, doc/man/global-options.inc,
	doc/man/option-A.inc, doc/man/option-u-user.inc, doc/man/reporting-
	bugs.inc, doc/man/sed.sh:
	doc: added manual pages
	[be2b7d2901a0] <HEAD>

2010-06-28  Timo Sirainen  <tss@iki.fi>

	* dovecot-config.in.in:
	dovecot-config: Added LIBDOVECOT_CONFIG_INCLUDE
	[9be162cc2c52] <HEAD>

	* src/master/service-monitor.c:
	master: Most service processes were being idle-killed much too
	quickly.
	[59c952713e94] <HEAD>

	* src/plugins/quota/quota.c:
	quota: Fixed a potential crash with dict quota at deinit.
	[3de690764509] <HEAD>

	* src/dict/main.c:
	dict: Unregister modules after unregistering dict drivers. Fixes a
	crash at deinit when sql drivers were built as plugins.
	[a1daaaa5d1f5] <HEAD>

2010-06-27  Pascal Volk  <user@localhost.localdomain.org>

	* doc/auth-protocol.txt:
	doc/auth-protocol.txt: fixed encoding failure.
	[c4194f5e3934] <HEAD>

2010-06-25  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/10-auth.conf, doc/example-
	config/dovecot.conf:
	example-config: Moved disable_plaintext_auth to 10-auth.conf
	[5326d6b2f36e] <HEAD>

	* src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h:
	lib-lda: Added mail_deliver_save_open() for merging code with sieve.
	[c8b6dd6d86d1] <HEAD>

	* src/lib-sql/sql-db-cache.c:
	sql cache: Free all unused connections at deinit.
	[9086b081c339] <HEAD>

	* src/lib-index/mail-transaction-log.c:
	lib-index: fsync change broke .newlock dotlock for transaction log.
	[9127a9f4a020] <HEAD>

	* doc/example-config/conf.d/10-mail.conf, src/config/old-set-parser.c,
	src/config/settings-get.pl, src/lib-index/mail-cache-compress.c, src
	/lib-index/mail-cache-transaction.c, src/lib-index/mail-cache.c, src
	/lib-index/mail-index-private.h, src/lib-index/mail-index-write.c,
	src/lib-index/mail-index.c, src/lib-index/mail-index.h, src/lib-
	index/mail-transaction-log-append.c, src/lib-index/mail-transaction-
	log-file.c, src/lib-index/mail-transaction-log-private.h, src/lib-
	index/mail-transaction-log.c, src/lib-index/mailbox-list-index-
	sync.c, src/lib-index/mailbox-list-index.c, src/lib-
	storage/index/cydir/cydir-save.c, src/lib-storage/index/cydir/cydir-
	storage.c, src/lib-storage/index/dbox-common/dbox-file.c, src/lib-
	storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-
	multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	storage.c, src/lib-storage/index/dbox-single/sdbox-save.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/index-storage.c, src/lib-storage/index/maildir/maildir-save.c, src
	/lib-storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/mbox/mbox-save.c, src/lib-storage/mail-storage-
	settings.c, src/lib-storage/mail-storage-settings.h,
	src/lib/Makefile.am, src/lib/fsync-mode.h:
	Renamed fsync_disable to mail_fsync=optimized|always|never.
	[7f19062f58fd] <HEAD>

	* src/lib-storage/mail-user.c:
	lib-storage: Call settings_check() after duplicating settings
	struct. Fixes lock_method setting. lock_method was always ignored
	and the default fcntl was used.
	[0dc6f14c271d] <HEAD>

	* src/lib-settings/settings-parser.c:
	lib-settings: settings_check() now also checks dynamic parsers.
	[8d76b2cef0b5] <HEAD>

	* src/anvil/anvil-settings.c, src/auth/auth-settings.c, src/config
	/config-settings.c, src/dict/dict-settings.c, src/director/director-
	settings.c, src/dns/dns-client-settings.c, src/imap-login/imap-
	login-settings.c, src/imap/imap-settings.c, src/lib-master/service-
	settings.h, src/lmtp/lmtp-settings.c, src/log/log-settings.c,
	src/master/master-settings.c, src/master/master-settings.h,
	src/master/service-monitor.c, src/master/service.c,
	src/master/service.h, src/pop3-login/pop3-login-settings.c,
	src/pop3/pop3-settings.c, src/ssl-params/ssl-params-settings.c,
	src/util/tcpwrap-settings.c:
	Added support for per-service idle kill timeout. Director and anvil
	services are by default never killed. This also fixes the errors
	about idling director process not dying.
	[d41694c931d0] <HEAD>

2010-06-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Shared namespaces shouldn't have NAMESPACE_FLAG_INBOX
	set. There is only one namespace with INBOX.
	[c9a62b0d9d36] <HEAD>

	* src/director/auth-connection.c, src/director/auth-connection.h,
	src/director/director-connection.c, src/director/director-
	connection.h, src/director/director-host.h, src/director/director-
	request.c, src/director/director-test.c, src/director/director-
	test.sh, src/director/director.c, src/director/director.h,
	src/director/doveadm-connection.c, src/director/main.c:
	director: Lots of fixes. It should be pretty stable now.
	[a07aa85f68c9] <HEAD>

	* src/config/config-parser-private.h, src/config/config-parser.c:
	config: Added hook_config_parser_begin so plugins can change default
	settings.
	[7885030184ab] <HEAD>

	* src/config/Makefile.am:
	config: Install all useful config*.h files.
	[661b2138cb7b] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: MASTER_SERVICE_FLAG_NO_IDLE_DIE wasn't actually working.
	[c9e8144974f1] <HEAD>

	* src/director/main.c:
	director: Compiling fix for Solaris.
	[c5e78bd1d758] <HEAD>

2010-06-23  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/client.h, src/lmtp/commands.c:
	lmtp: BODY=* setting wasn't reset with RSET
	[c237fcea3f0c] <HEAD>

	* src/doveadm/doveadm-dump-index.c, src/lib-index/mail-cache.c, src
	/lib-index/mail-index-lock.c, src/lib-index/mail-index-private.h,
	src/lib-index/mail-index-strmap.c, src/lib-index/mail-index.c, src
	/lib-index/mail-index.h, src/lib-index/mail-transaction-log-file.c,
	src/lib-index/mail-transaction-log.c, src/lib-storage/index/dbox-
	common/dbox-sync-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-
	map.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/maildir/maildir-keywords.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-storage/index/mbox
	/mbox-lock.c, src/lib-storage/list/index-mailbox-list.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage-
	settings.c, src/lib-storage/mail-storage-settings.h, src/lib-storage
	/mail-storage.c:
	Added mail_max_lock_timeout setting. This could be useful inside
	lda/lmtp protocol sections to avoid them from spending too much time
	waiting for locks, since they can easily just return "try again
	later".
	[c3ee4421e86a] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Fixed assert-crash on storage rebuild if file got lost.
	[182d1834f643] <HEAD>

	* src/lib-storage/mail-search-build.c:
	lib-storage: Changed error message.
	[1cc5486f466b] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Storage rebuild handles now duplicate file ids (in
	primary+alt storage) correctly. If a duplicate file is found, it's
	given a new file id and the file is renamed.
	[b4c88ba95a6f] <HEAD>

	* src/lib-storage/index/index-mail-headers.c:
	lib-storage: When getting decoded headers, don't fail when MIME
	encoded-words expand to LFs. This fixes errors like: Corrupted index
	cache file dovecot.index.cache: Broken header Subject for mail UID 1
	[f0e077c5c5f3] <HEAD>

	* src/plugins/quota/quota-storage.c:
	quota: Fixed a memory leak on deinit. Based on patch by Mike Abbott
	/ Apple.
	[37df22ecd572] <HEAD>

2010-06-22  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Previous change wasn't complete.
	[29178cec0506] <HEAD>

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Fixed handling indexing for multiple body parts.
	[776e2d96f6bb] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Removed broken optimization from storage rebuild, possibly
	causing broken results.
	[7ad62742116d] <HEAD>

	* src/plugins/fts/fts-api-private.h, src/plugins/fts/fts-storage.c:
	fts: Give binary MIME part data only to FTS backends that support
	it.
	[6fca3a8622f8] <HEAD>

	* src/lib-storage/index/shared/shared-list.c:
	shared storage: Fixed handling LIST reference string.
	[86665b63c70b] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-purge.c:
	mdbox: Previous change was broken, fixed now properly to make purge
	fail early.
	[754edf799dac] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-purge.c:
	mdbox: When purging finds that mailbox is corrupted, stop going
	through other files.
	[be6931536ee0] <HEAD>

	* src/doveadm/doveadm-dump-index.c:
	doveadm dump: Detect also if directory has dovecot.map.index
	[280fe153a7ba] <HEAD>

2010-06-21  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail.c:
	doveadm: Mail commands assert-crashed when using -u wildcards.
	[407e7ff098ca] <HEAD>

	* src/doveadm/doveadm-print-pager.c:
	doveadm: Minor code cleanup to print formatter.
	[d78370005268] <HEAD>

	* src/doveadm/doveadm-print-pager.c:
	doveadm: Added LF after ^L in pager so that the output is nicer to
	look at with "less".
	[15a6c64df84a] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: Removed some unnecessary code.
	[a3face3fd1d0] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: Write output using formatter. Use pager as default.
	[bc03e6443ca7] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-print-flow.c,
	src/doveadm/doveadm-print-pager.c, src/doveadm/doveadm-print-
	private.h, src/doveadm/doveadm-print-tab.c, src/doveadm/doveadm-
	print-table.c, src/doveadm/doveadm-print.c, src/doveadm/doveadm-
	print.h:
	doveadm: Added "pager" formatter and a function to output streamed
	output values.
	[c4e906be2ca3] <HEAD>

	* src/lib-charset/charset-iconv.c:
	lib-charset: Don't assert-crash when iconv() skips lots of invalid
	input.
	[28cfb347296a] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch hdr.*: Show the hdr.name prefix even if the header
	doestn't exist.
	[172a0c7cebbb] <HEAD>

	* src/lib-storage/mail-search-register-human.c:
	lib-storage: Human search parser crashed if mailbox name was
	missing.
	[52e2f3a8054f] <HEAD>

	* src/doveadm/doveadm-print.c:
	doveadm: Don't crash with tab formatter at deinit.
	[c23ca08ca085] <HEAD>

	* src/director/user-directory.c:
	director: Minor code cleanup.
	[e5730fb45680] <HEAD>

	* src/director/director-connection.c:
	director: Don't send expired user records to remote servers.
	[d3dfe9c271bc] <HEAD>

	* src/director/main.c:
	director: Don't kill ourself when idling.
	[01c148824d52] <HEAD>

	* src/lib-master/master-service.c, src/lib-master/master-service.h:
	lib-master: Added MASTER_SERVICE_FLAG_NO_IDLE_DIE.
	[11cb0e93ff32] <HEAD>

	* src/auth/auth-master-connection.c:
	auth: Fixed sending "userdb iteration not supported" failure to
	client.
	[585318bf974d] <HEAD>

	* src/master/main.c:
	master: Don't try to parse -options if they're not the first
	parameters.
	[1d5cd1d835a1] <HEAD>

	* src/plugins/virtual/virtual-config.c:
	virtual: Fixed a crash when freeing an allocated, but unopened
	mailbox. Based on patch by e-frog.
	[7d05cef711bb] <HEAD>

	* src/doveadm/doveadm-mail-list-iter.c, src/doveadm/doveadm-mail-list-
	iter.h, src/doveadm/doveadm-mail-mailbox.c:
	doveadm: Ignore non-selectable mailboxes for most commands.
	[08b879b79236] <HEAD>

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-print-flow.c,
	src/doveadm/doveadm-print-private.h, src/doveadm/doveadm-print-
	tab.c, src/doveadm/doveadm-print-table.c, src/doveadm/doveadm-
	print.c, src/doveadm/doveadm-print.h:
	doveadm: Output flushing fixes.
	[4e54843f11d0] <HEAD>

	* src/doveadm/doveadm-print-table.c:
	doveadm: Table formatter crashed with large output.
	[542d859f0223] <HEAD>

2010-06-19  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail-list-
	iter.c:
	doveadm: Fixed assert-crash with mailbox foo/* in all commands, not
	just fetch.
	[573cb66e9180] <HEAD>

2010-06-18  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm: Fixed assert-crash when listing mailbox foo/*
	[9a852084bbeb] <HEAD>

	* src/director/director.c:
	director: Debug logging crashfix.
	[47c1329e4e65] <HEAD>

	* src/director/director-connection.c:
	director: Send PINGs every 15 seconds for idling director
	connections.
	[e75dab14bb2f] <HEAD>

	* src/director/director-connection.c, src/director/director-
	connection.h, src/director/director-request.c,
	src/director/director.c, src/director/director.h, src/director
	/doveadm-connection.c, src/director/mail-host.c,
	src/director/main.c:
	director: A lot of fixes.
	[f0fb8151c6b4] <HEAD>

	* src/director/director-test.c:
	director-test: Some fixes
	[e6f15ba78007] <HEAD>

	* src/director/director-test.sh:
	director-test.sh: Removed absolute path from director-test
	executable
	[da7a307ab4f1] <HEAD>

	* src/director/director-test.sh:
	director-test: Added a script that generates test config files and
	other necessary info.
	[fb917e3a8f07] <HEAD>

	* src/director/director-connection.c:
	director: If same user gets redirected to two hosts, don't crash
	later.
	[ecf195115922] <HEAD>

	* src/director/director-test.c:
	director-test improvements.
	[6aa749b789ef] <HEAD>

	* src/director/director-connection.c:
	director: Debug message improvements.
	[61708c33154d] <HEAD>

	* src/lib/buffer.c:
	DEBUG: Removed buffer's tests against overflows. It slows down too
	much.
	[2e686a6403e3] <HEAD>

	* src/master/service.c:
	master: Fixed crash on deinit (maybe also on reload).
	[334d9b18f437] <HEAD>

2010-06-17  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-list.c, src/lib-storage/index/dbox-multi/mdbox-storage-
	rebuild.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/mailbox-list.c, src/plugins/acl/acl-backend-vfile-acllist.c,
	src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-shared-
	storage.c:
	mailbox list iter: Require MAILBOX_LIST_ITER_VIRTUAL_NAMES flag. The
	backend code will be simplified later by removing two code paths for
	virtual/non-virtual names.
	[99d56a37edd0] <HEAD>

	* src/plugins/quota/quota-count.c, src/plugins/quota/quota-maildir.c:
	quota: Consistently assume that mailbox names in quota rules are
	virtual names. The previous code mixed virtual/real name lookups.
	[6d0b4dfc0829] <HEAD>

	* src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
	/mailbox-list-maildir-iter.c:
	lib-storage: Fixed listing mailbox flags for subscriptions=no
	namespaces.
	[7330bb240c75] <HEAD>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	lib-storage: Fixed getting flags for subscribed mailboxes with non-
	default namespace settings.
	[3128f592ef5c] <HEAD>

	* .hgignore, src/director/Makefile.am, src/director/director-
	connection.c, src/director/director-test.c, src/director/director.c,
	src/director/director.h, src/director/main.c:
	director: Added initial testing framework and some debugging output.
	[659bb1a26da4] <HEAD>

	* src/director/director-connection.c, src/director/director-host.c,
	src/director/director-host.h:
	director: Handle CONNECT commands (properly).
	[75d5e31ea8cc] <HEAD>

	* src/director/mail-host.c:
	director: director_mail_servers setting now allows ip1-ip2 ranges.
	[870cd20ada71] <HEAD>

	* src/director/director-connection.c:
	director: Outgoing director connections shouldn't be counted as
	master clients.
	[467ca06a7dbe] <HEAD>

	* src/doveadm/doveadm-print.c:
	doveadm: Another -A crashfix for mail commands that don't print
	anything.
	[81e496a5b412] <HEAD>

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-print.c, src/doveadm
	/doveadm-print.h:
	doveadm: Don't crash when mail command that doesn't print anything
	uses -A.
	[c9b793187ca6] <HEAD>

	* src/doveadm/doveadm-director.c:
	doveadm director: Make sure write()s send everything.
	[744638eb4c1a] <HEAD>

	* src/imap/imap-client.c, src/lmtp/client.c, src/pop3/pop3-client.c:
	imap, pop3, lmtp: Close network sockets with net_disconnect().
	[b2ffb6846973] <HEAD>

	* src/lib/network.c:
	net_disconnect(): Ignore ECONNRESET error.
	[c24ee1ebb159] <HEAD>

	* src/imap/cmd-uid.c:
	imap: UID commands could have written garbage to process title.
	Patch by Mike Abbott / Apple
	[c03424ecf8e5] <HEAD>

2010-06-16  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/10-master.conf:
	example-config: Updated LMTP listeners.
	[9eee74e3c6c5] <HEAD>

	* doc/example-config/conf.d/10-logging.conf:
	example-config: Updated log_path comment to include syslog.
	[08523562c134] <HEAD>

	* doc/example-config/conf.d/10-master.conf:
	example-config: Show "user" field for service auth/auth-worker
	[a55da849216c] <HEAD>

	* src/doveadm/doveadm-log.c:
	doveadm log find: Avoid printing "syslog" as log path.
	[a05e3bbc4e46] <HEAD>

	* src/lib-storage/index/index-search.c:
	lib-storage: Fixed header searches to work correctly when there are
	multiple headers with same name.
	[3e50223d0014] <HEAD>

	* src/doveadm/doveadm-log.c, src/lib-master/master-service-settings.c,
	src/lib-master/master-service.c:
	Log paths now support "syslog" string.
	[3edf323da761] <HEAD>

	* src/doveadm/doveadm-log.c:
	doveadm log find: Find the log more reliably.
	[dd1f0a7127a9] <HEAD>

	* src/doveadm/doveadm-mail-mailbox-status.c:
	doveadm mailbox status: Added "all" field as an alias for showing
	everything.
	[33f9b211f213] <HEAD>

	* src/plugins/quota/doveadm-quota.c:
	doveadm quota get: Report quota percentage more accurately. The *100
	can't overflow quota, since quota is reported in kilobytes.
	[dec8986d33ea] <HEAD>

	* src/plugins/quota/quota-dict.c:
	dict quota: Quota recalculation always doubled the quota with pgsql.
	[7a7bfdd708ff] <HEAD>

2010-06-15  Timo Sirainen  <tss@iki.fi>

	* src/auth/main.c:
	auth: Fixed crash when a plugin was trying to register password
	scheme.
	[a74f743e2c56] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: Flush dbox file's input buffer after writing to the file.
	[26594f6d784a] <HEAD>

	* src/plugins/expire/doveadm-expire.c:
	Compile fix.
	[d1f7b5e17252] <HEAD>

2010-06-14  Timo Sirainen  <tss@iki.fi>

	* src/auth/userdb-nss.c:
	userdb nss: Default to blocking=yes.
	[7b497f801178] <HEAD>

	* src/auth/mech-plain.c:
	auth: Fixed code comment.
	[d15d5d828d6b] <HEAD>

	* src/lib-storage/mailbox-list.c:
	lib-storage: Use macros instead of magic '0' and '1' characters.
	[d24cd07babb6] <HEAD>

	* src/lib-storage/mailbox-list.c:
	mailbox_list_get_unexpanded_path(): Don't crash if namespace
	location is already expanded.
	[6e1247609440] <HEAD>

	* src/config/doveconf.c:
	doveconf: Support listing multiple specified keys. Support listing
	specified sections.
	[d110c46e6936] <HEAD>

	* src/config/doveconf.c:
	doveconf: Config file warning check should use base_dir, not
	PKG_RUNDIR.
	[1f006c9e5795] <HEAD>

	* src/lib-master/master-login.c:
	lib-master: Post-login scripts can now exit to prevent user from
	logging in, without logging error.
	[356afa6263d4] <HEAD>

	* src/login-common/sasl-server.c:
	login: Fixed crash with service_count=1 and when reaching max number
	of connections from user+ip.
	[05700fe85e22] <HEAD>

	* src/lib-storage/mail-storage-hooks.c:
	lib-storage: Fixed handling mail_allocated hook.
	[07a7d352af66] <HEAD>

	* src/lib-imap/imap-match.c:
	lib-imap: Compiler warning fix.
	[88b6665b48da] <HEAD>

2010-06-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-map.c:
	mdbox: Fixed crashing when marking mdbox corrupted and mdbox map had
	open transactions.
	[b6163de8dffa] <HEAD>

	* src/lib-index/mail-index-view.c, src/lib-index/mail-index.h:
	lib-index: Added mail_index_view_get_transaction_count().
	[aa66db4073c5] <HEAD>

2010-06-12  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-print-table.c:
	doveadm: Include termios.h, not sys/termios.h..
	[7a02b84ad7f5] <HEAD>

	* src/doveadm/doveadm-print-table.c:
	doveadm: Compile fix for Solaris.
	[c50d42277cc3] <HEAD>

	* src/doveadm/doveadm-print-table.c:
	doveadm: Use struct winsize, not struct ttysize to get the terminal
	width.
	[c55de307d9f9] <HEAD>

	* src/doveadm/doveadm-print-table.c:
	doveadm: Use actual terminal width for table formatter if possible.
	[2f3ce92f53ff] <HEAD>

	* src/doveadm/doveadm-who.c:
	doveadm who: s/service/proto/ in header name.
	[f35949b56863] <HEAD>

	* .hgsigs:
	Added signature for changeset 0c23ff04394f
	[f972a82055c1] <HEAD>

	* .hgtags:
	Added tag 2.0.beta6 for changeset 0c23ff04394f
	[e2b5dcb6c5a1] <HEAD>

	* configure.in:
	Released v2.0.beta6.
	[0c23ff04394f] [2.0.beta6] <HEAD>

	* src/lib/module-context.h:
	MODULE_CONTEXT() now avoids directly returning NULL to make static
	analyzer happier.
	[aec2a41abe4a] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Make static analyzer happier.
	[0565807f7ca1] <HEAD>

	* src/login-common/sasl-server.c:
	login: Removed dead code.
	[e3881b95a93d] <HEAD>

	* src/doveadm/doveadm.c, src/doveadm/doveadm.h:
	doveadm: Marked help() with noreturn attribute.
	[8f0eef1c6f17] <HEAD>

2010-06-11  Timo Sirainen  <tss@iki.fi>

	* TODO:
	TODO updated.
	[93c3d6a46446] <HEAD>

	* src/dsync/dsync-brain.c, src/dsync/dsync-data.c, src/dsync/dsync-
	data.h, src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-
	server-cmd.c, src/dsync/dsync-worker-local.c, src/dsync/dsync-
	worker-private.h, src/dsync/dsync-worker.c, src/dsync/dsync-
	worker.h, src/dsync/test-dsync-worker.c, src/dsync/test-dsync-
	worker.h:
	dsync: Fixed syncing \noselect mailboxes.
	[c955d4789553] <HEAD>

	* src/doveadm/doveadm.c:
	doveadm: Renamed -F to -f.
	[b135e13f42b2] <HEAD>

	* src/lib-storage/mailbox-list.c:
	mailbox_list_get_unexpanded_path(): Don't crash with -o
	mail_location=..
	[ed156c989067] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-mailbox-status.c,
	src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail-
	search.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h,
	src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-
	private.h, src/doveadm/doveadm-print-tab.c, src/doveadm/doveadm-
	print-table.c, src/doveadm/doveadm-print.c, src/doveadm/doveadm-
	print.h, src/doveadm/doveadm-who.c, src/doveadm/doveadm.c,
	src/plugins/quota/doveadm-quota.c:
	doveadm: Output is now written via "formatter" interface. The
	default can be changed with -f parameter. Currently implemented 3
	formatters: flow, tab and table.
	[c4fdccf298bf] <HEAD>

	* src/lib-storage/index/shared/shared-storage.c, src/lib-
	storage/index/shared/shared-storage.h:
	lib-storage: Fixed crashing on accessing shared mailboxes.
	[f37d19f1c0a3] <HEAD>

	* src/plugins/quota/quota-fs.c:
	quota-fs, Solaris: Don't try to open quotas file with NFS mounts.
	[e6185d7c9732] <HEAD>

	* src/lib/failures.c:
	Logging lines longer than PIPE_BUF caused an extra empty line to be
	logged.
	[5ede18fe35fa] <HEAD>

2010-06-09  Timo Sirainen  <tss@iki.fi>

	* src/master/service-monitor.c, src/master/service-process.h:
	master: If an idling process seems stuck, log an error and disable
	it.
	[3fa10300c70c] <HEAD>

	* src/lib-master/master-service-private.h, src/lib-master/master-
	service.c:
	lib-master: Try to send master status more reliably.
	[67b8de25154c] <HEAD>

	* src/doveadm/doveadm-mail-mailbox-status.c, src/doveadm/doveadm-
	mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Don't fail immediately if some mailbox can't be opened.
	[e3d2d9427d3d] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-mailbox-status.c,
	src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h:
	doveadm: Added mailbox status command.
	[9c4b07e13cd2] <HEAD>

	* src/imap/imap-status.c:
	imap: STATUS (X-GUID) added extra space to result.
	[425f635ebaa9] <HEAD>

	* src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail-
	search.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h,
	src/plugins/quota/doveadm-quota.c:
	doveadm: Mail commands now prefix each line with username if -A
	parameter is given.
	[3dfe1690b568] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: Added "user" field.
	[9f9f9d9e4a79] <HEAD>

	* src/config/config-parser.c, src/config/config-parser.h,
	src/config/doveconf.c:
	doveconf: Renamed lip/rip filters to local/remote, which also
	support DNS lookups now.
	[c147a2653f9c] <HEAD>

	* src/config/config-parser.c:
	doveconf: Show local, remote name/bits {} blocks with the /bits
	part.
	[cc6ebfa394d3] <HEAD>

	* src/lib-storage/mail-storage-hooks.c:
	lib-storage: Fixes to recent plugin API change.
	[6d32cf98b5f3] <HEAD>

	* src/lib-master/master-auth.c:
	lib-master: Error logging fix for 64bit systems.
	[e85e6b1df82f] <HEAD>

	* src/lib-master/master-auth.c:
	lib-master: Added timeout to master login attempts and improved
	error logging.
	[7385d8090890] <HEAD>

	* src/login-common/client-common-auth.c:
	login: If master login fails, make sure the client gets
	disconnected.
	[a859ab0d760e] <HEAD>

	* src/login-common/client-common-auth.c, src/login-common/sasl-
	server.c, src/login-common/sasl-server.h:
	login: Master login internal failures weren't handled correctly.
	[279bf7435603] <HEAD>

	* src/config/config-connection.c, src/config/config-filter.c,
	src/config/config-filter.h, src/config/config-parser.c,
	src/config/doveconf.c, src/lib-master/master-service-settings-
	cache.c, src/lib-master/master-service-settings.c, src/lib-master
	/master-service-settings.h, src/lib/network.h, src/login-common
	/login-settings.c, src/login-common/login-settings.h:
	config: local_name foo {} is now for TLS SNI. local foo {} only
	resolves foo to its IP.
	[b7fadc4eac7a] <HEAD>

2010-06-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-map.c:
	mdbox: stat() storage directory first before trying to mkdir it.
	[1aaa4b51cb14] <HEAD>

	* src/auth/auth-request-handler.c, src/auth/main.c:
	auth: Abort pending penalty lookups earlier in deinit.
	[149d57c1a9c0] <HEAD>

	* src/auth/auth-penalty.c:
	auth: Fixed a memory leak when looking up penalty value from anvil.
	[6f85840f8171] <HEAD>

	* src/lib-storage/mail-namespace.c:
	lib-storage: Set mail_namespace.unexpanded_set also when no
	namespaces are defined.
	[9f546fe13fc5] <HEAD>

	* src/auth/auth-client-connection.c, src/auth/auth-master-
	connection.c, src/auth/auth-request-handler.c, src/auth/auth-
	request-handler.h, src/auth/auth-request.c, src/auth/auth-request.h,
	src/auth/auth.c, src/auth/auth.h, src/auth/main.c,
	src/auth/passdb.c, src/auth/userdb.c:
	auth: Changed how auth deinitilization works.
	[190a5278e58b] <HEAD>

	* src/auth/auth-request-handler.c, src/auth/auth-request-handler.h,
	src/auth/auth-request.c, src/auth/auth-request.h, src/auth/mech-
	cram-md5.c, src/auth/mech-digest-md5.c, src/auth/mech-gssapi.c,
	src/auth/mech-login.c, src/auth/mech-ntlm.c, src/auth/mech-otp.c,
	src/auth/mech-rpa.c, src/auth/mech-skey.c, src/auth/mech-winbind.c,
	src/auth/mech.c, src/auth/mech.h:
	auth: Removed unnecessary auth_request callback and context uses.
	[94f78f415811] <HEAD>

2010-06-07  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: Fixed 30 second delay after finishing DATA.
	[2d6cf78982dc] <HEAD>

	* src/lmtp/commands.c:
	lmtp proxy: Fixed passdb username change.
	[d2037445feed] <HEAD>

	* src/auth/auth-request-handler.c:
	auth: More async auth request deinit fixing.
	[68287c257c0a] <HEAD>

	* src/master/main.c:
	master: Small code cleanup.
	[cf496a6d669e] <HEAD>

	* src/auth/auth-request-handler.c:
	auth: Another attempt in trying to fix crashed at deinit on pending
	async auth request lookups.
	[fd447208ccb9] <HEAD>

	* src/login-common/main.c:
	login: Deinit auth socket after destroying clients to avoid crash.
	[2f084e625f09] <HEAD>

	* src/auth/auth-request.c:
	auth: Fixed prefetch userdb interaction with passdb changing
	username. If userdb_* fields were set before user was changed,
	prefetch returned the unchanged username.
	[48ac56ad4768] <HEAD>

	* src/doveadm/doveadm.c:
	doveadm: stop and reload commands now run with minimal
	initialization code. This allows them to work even if there is
	something wrong with config file.
	[c73ddaa39ca4] <HEAD>

	* src/lib-storage/mail-storage-hooks.c, src/lib-storage/mail-storage-
	hooks.h, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-user.h, src/lib-storage/mail.c, src/lib-storage/mailbox-list-
	private.h, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-
	mailbox.c, src/plugins/acl/acl-plugin.c, src/plugins/acl/acl-
	plugin.h, src/plugins/acl/acl-storage.c, src/plugins/expire/expire-
	plugin.c, src/plugins/fts-solr/fts-solr-plugin.c, src/plugins/fts
	/fts-plugin.c, src/plugins/fts/fts-plugin.h, src/plugins/fts/fts-
	storage.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/listescape/listescape-plugin.c, src/plugins/mbox-snarf
	/mbox-snarf-plugin.c, src/plugins/notify/notify-storage.c,
	src/plugins/quota/quota-plugin.c, src/plugins/quota/quota-plugin.h,
	src/plugins/quota/quota-storage.c, src/plugins/trash/trash-plugin.c,
	src/plugins/virtual/virtual-storage.c, src/plugins/zlib/zlib-
	plugin.c:
	lib-storage: Plugin API changed to run plugin functions in correct
	order. Previously the hooks were run in correct order, but the
	functions they overrode were run in reverse order. This caused
	problems when multiple plugins were used.
	[4b20e692c606] <HEAD>

	* src/lib-storage/index/index-storage.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/plugins/lazy-expunge
	/lazy-expunge-plugin.c:
	Mailbox deletion: Delay marking its index deleted until ACL has had
	a chance to abort the deletion.
	[3a0601cb9e67] <HEAD>

2010-06-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-map.c:
	mdbox: Removed unnecessary code line.
	[6f5d3e035652] <HEAD>

2010-06-04  Timo Sirainen  <tss@iki.fi>

	* TODO:
	TODO updated.
	[e9fed6359699] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-common/dbox-storage.h, src/lib-storage/index
	/dbox-multi/mdbox-map-private.h, src/lib-storage/index/dbox-multi
	/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-map.h, src/lib-
	storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox-single/sdbox-
	storage.c:
	dbox, mdbox: Fixed race conditions when creating mailboxes.
	[7fc5db26f6eb] <HEAD>

	* src/util/rawlog.c:
	rawlog: Rewrote timestamp handling. Now with -t parameter each line
	begins with timestamp.
	[6b35189988dc] <HEAD>

	* src/util/script-login.c, src/util/script.c:
	script, script-login: Tell GNU getopt() not to access -parameters
	after first non-parameter.
	[7567896556bd] <HEAD>

	* src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index
	/dbox-common/dbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-
	storage/index/dbox-single/sdbox-copy.c, src/lib-storage/index/dbox-
	single/sdbox-mail.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
	/maildir-save.c, src/lib-storage/index/mbox/mbox-save.c, src/lib-
	storage/mail-storage.h:
	lib-storage: Fixed accessing uncommitted saved mails with dsync
	dsync preserves uids, so uid==0 check won't work for detecting such
	mails.
	[b5d8a7a8695e] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Compile fix.
	[0602b39ff3ce] <HEAD>

	* src/dsync/Makefile.am:
	dsync: Fixed loading plugins when built --without-shared-libs
	[5d2715ae9068] <HEAD>

	* src/lib-dict/dict-client.c:
	dict client: Allow connecting to server multiple times in a second.
	[24caf08ae7af] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index
	/dbox-multi/mdbox-map-private.h, src/lib-storage/index/dbox-multi
	/mdbox-map.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/maildir/maildir-util.c, src/lib-storage/mail-
	namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage
	/mailbox-list-private.h, src/lib-storage/mailbox-list.c:
	When creating shared directories, preserve parent dir's permissions
	if it has setgid bit enabled. This works only if location path uses
	%variables. The directories up to last variable are created by
	preserving parent directory's modes, while the rest of the
	directories are created with 0700. For example with
	"/var/mail/%d/%2n/%n/Maildir", "/var/mail/domain/nn" preserves
	/var/mail's permissions, while the "username/Maildir" directories
	have 0700 mode.
	[0dfd28b930b3] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/cydir/cydir-storage.h, src/lib-storage/index/dbox-
	multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-multi
	/mdbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-storage.h,
	src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.h, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-storage/index/mbox
	/mbox-save.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-storage.h, src/lib-storage/index/raw/raw-
	storage.c, src/lib-storage/index/raw/raw-storage.h, src/lib-
	storage/index/shared/shared-storage.c, src/lib-storage/index/shared
	/shared-storage.h, src/plugins/virtual/virtual-config.c,
	src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-
	storage.h:
	Avoid including mailbox-list-private.h everywhere.
	[3e51c846f293] <HEAD>

	* src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list
	/mailbox-list-maildir.c, src/lib-storage/mailbox-list-private.h, src
	/lib-storage/mailbox-list.c:
	lib-storage: Added mailbox_list_get_root_path() to reduce code
	duplication.
	[e747257bc382] <HEAD>

	* src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list-
	private.h, src/lib-storage/mailbox-list.c:
	lib-storage: Code cleanup.
	[e056d42c9711] <HEAD>

	* src/auth/main.c:
	auth: Deinit auth request handler before pass/userdbs
	[b578861bfa40] <HEAD>

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: If saved uid isn't available, log an error instead of
	crashing. This shouldn't happen, except when saving to virtual
	mailbox.
	[e575fd47c3a5] <HEAD>

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: Code cleanup.
	[57723949babb] <HEAD>

	* src/plugins/mail-log/mail-log-plugin.c:
	mail-log: Show lda/lmtp deliveries as "save", not "copy from Dovecot
	Delivery Mail".
	[1c2d74e3e312] <HEAD>

	* src/auth/main.c:
	auth: When stopping, try to wait for auth clients to disconnect.
	This should avoid auth failures during config reloads.
	[5260724def1f] <HEAD>

	* src/util/script.c:
	script: Clear environment before running the script.
	[c7ab127fe8ae] <HEAD>

2010-06-02  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/doveadm-quota.c:
	doveadm quota get: Avoid integer overflows with really high quota
	usage.
	[3b25ca20f005] <HEAD>

	* src/auth/auth-request.c:
	auth: Added %{login_user}, %{login_username} and %{login_domain}
	variables that are set for master logins.
	[5ae4a5c14f5b] <HEAD>

	* src/plugins/quota/doveadm-quota.c:
	doveadm quota get: Print usage also in percentages.
	[49b3a9e170be] <HEAD>

	* doc/example-config/conf.d/90-acl.conf, doc/example-
	config/conf.d/90-plugin.conf:
	example-config: Moved ACL settings to a separate .conf file.
	[1f8251fc8db5] <HEAD>

	* doc/example-config/conf.d/90-plugin.conf, doc/example-
	config/conf.d/90-quota.conf:
	example-config: Moved quota configuration to a separate .conf file
	and improved the comments.
	[913e8d4d07b9] <HEAD>

	* src/plugins/quota/quota.c:
	quota: Use the new "script" service for executing quota warnings.
	This improves the performance, especially when the process is
	handling multiple users, because it no longer has to fork a process
	and wait for the script to finish.

	Example configuration:

	plugin { quota_warning = storage=90%% quota-warning 90 %u }
	service quota-warning { executable = script /usr/local/bin/quota-
	warning.sh user = vmail unix_listener quota-warning { } }

	The quota-warning.sh will be executed with parameters 90 and
	username.
	[a179fcbbf960] <HEAD>

	* .hgignore, src/util/Makefile.am, src/util/script.c:
	Added "script" service that can be used to easily execute programs
	via UNIX socket.
	[19c661891964] <HEAD>

	* src/lib-master/master-login.c, src/util/script-login.c:
	script-login: Added version check to the protocol.
	[3ac8c5dd9c30] <HEAD>

	* src/util/script-login.c:
	script-login: Error message fix.
	[c86b90148906] <HEAD>

	* src/anvil/anvil-connection.c, src/auth/auth-worker-client.c,
	src/config/config-connection.c, src/director/doveadm-connection.c,
	src/doveadm/doveadm-director.c, src/lib-master/master-service.c, src
	/lib-master/master-service.h:
	Added version_string_verify() and removed code duplication with it.
	[4274d1549fa0] <HEAD>

	* .hgignore, src/util/Makefile.am, src/util/script-login.c,
	src/util/script.c:
	Renamed "script" binary to "script-login".
	[addb2c6c1dfb] <HEAD>

	* src/auth/auth-master-connection.c, src/auth/auth-master-
	connection.h, src/auth/auth-request-handler.c, src/auth/auth-
	request-handler.h, src/auth/auth-request.c, src/auth/auth-request.h:
	auth: Fixes to destroying pending async userdb requests at deinit.
	[1e890076c4e9] <HEAD>

	* src/lib-dict/dict-client.c:
	lib-dict: Changed proxy client's idle timeout from 1 second to 0.
	[50a0c05fb4e7] <HEAD>

	* configure.in, doc/example-config/conf.d/10-auth.conf, doc/example-
	config/conf.d/auth-static.conf.ext, src/auth/Makefile.am, src/auth
	/passdb-static.c, src/auth/passdb.c:
	auth: Added passdb static.
	[df93f0c290ea] <HEAD>

	* configure.in, src/auth/userdb-static.c:
	auth: Removed USERDB_STATIC macro. It's always built anyway.
	[d8a801d2d3f1] <HEAD>

	* src/auth/auth-request.c:
	auth: Recent change caused userdb lookups to crash. The deinit bug
	that it tried to fix isn't fixed yet.
	[dc94f9240ec1] <HEAD>

2010-06-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: When rebuilding storage, don't use map records that have
	wrong size.
	[1b45f9641924] <HEAD>

	* doc/example-config/conf.d/10-mail.conf:
	example-config: Updated global mail_plugins comment.
	[1afb59ce219b] <HEAD>

	* src/config/old-set-parser.c:
	config: Fixed handling obsolete [ipv6addr]:port listen setting.
	[9952cbe2f839] <HEAD>

	* src/config/old-set-parser.c, src/lib/network.c,
	src/master/service.c:
	Added support for [] around ipv6 addresses everywhere.
	[bdb46ba87203] <HEAD>

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Allow tabs between extended acl names.
	[484eb8f1f074] <HEAD>

	* configure.in:
	configure: Don't use spaces after -I and -L compiler flags.
	Apparently they break in some setups. Patch by Ben DJ.
	[044589aca7c6] <HEAD>

	* src/lib/lib-signals.c:
	Compile fix for OSX 10.3.
	[785f1507fed8] <HEAD>

	* src/plugins/virtual/virtual-config.c:
	virtual: Fixed looking up namespace for save-destination mailbox
	(!ns/box)
	[9bd63ce9db85] <HEAD>

	* src/imap/imap-settings.c:
	imap: Removed a no-op outlook-idle imap client workaround.
	[d4b29a288fa1] <HEAD>

	* doc/example-config/conf.d/20-imap.conf, src/imap/imap-fetch-body.c,
	src/imap/imap-settings.c, src/imap/imap-settings.h:
	imap: Removed netscape-eoh (Netscape 4.x) from imap client
	workarounds. This client should be long dead by now. Also the
	workaround causes Dovecot to violate IMAP RFC, so it's not really
	recommended anyway.
	[22699553569f] <HEAD>

	* src/auth/auth-client-connection.c, src/auth/auth-request-handler.c,
	src/auth/auth-request-handler.h, src/auth/auth-request.c:
	auth: Aborting pending async requests on deinit caused crashes.
	[3ef582c3fb72] <HEAD>

	* src/lib-mail/istream-header-filter.c:
	header filter istream: Avoid seeking backwards when caller just
	wants to reset the stream buffers.
	[941608f8b3fb] <HEAD>

2010-05-31  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/commands.c:
	lmtp: Fixes to seteuid calls. When delivering to multiple users, the
	first user's mail should be deinitialized with that user's effective
	uid. Also there's no point in setting uid to 0 between deliveries to
	multiple users.
	[55b8480849b0] <HEAD>

	* src/lib-index/mail-cache.c:
	lib-index: If index is read-only, always fail when trying to lock
	cache file.
	[7adc45a6da2e] <HEAD>

	* src/imap/cmd-idle.c:
	imap: Fixed previous idle change more correctly. The previous way
	could have crashed in some situations.
	[ba9d1b490bc3] <HEAD>

	* src/imap/cmd-idle.c:
	imap: If client was disconnected while IDLEing (e.g. storage error),
	it got stuck instead.
	[38ce28c0bca3] <HEAD>

	* src/lib-index/mail-transaction-log.c:
	lib-index: Try to handle index directory deletion more nicely.
	[3efe9dcbed3e] <HEAD>

	* src/lib-storage/mailbox-uidvalidity.c:
	lib-storage: Don't log rename() error if dovecot-uidvalidity didn't
	contain valid value.
	[2bb7ce1fb8a0] <HEAD>

	* src/lib-lda/mail-deliver.c:
	lib-lda: If two LDAs try to autocreate the same mailbox at the same
	time, don't fail the other one.
	[c4f56ed9dae0] <HEAD>

	* src/auth/db-passwd-file.c:
	auth: Improved passwd-file's EACCES error messages.
	[dcfabc2e2143] <HEAD>

	* src/doveadm/doveadm-mail-mailbox.c:
	doveadm: Removed an unnecessary code line.
	[eac68d311ce3] <HEAD>

	* src/director/login-connection.c:
	director: Update connection counts also on login connection deinit.
	[c82a7922fca9] <HEAD>

	* src/lib-storage/index/index-mail.c:
	lib-storage: mail_get_stream() no longer sets stream_r if it returns
	failure. This fixes e.g. FETCH RFC822.* commands when input couldn't
	be read.
	[4199565b9ce2] <HEAD>

	* src/imap/imap-fetch-body.c, src/lib-storage/index/index-mail.c:
	If read() from a mail stream fails, log the stream name (filename
	typically).
	[e5b491043b5e] <HEAD>

2010-05-28  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-list.c:
	imap: LIST now handles better if INBOX is in a different namespace
	than prefix=""
	[4faaf5b037d5] <HEAD>

	* src/doveadm/doveadm-log.c:
	doveadm log find: Wait 1 second after logging, to give syslog time
	to write to files.
	[f9d1059f81ce] <HEAD>

	* src/plugins/quota/quota.c:
	quota: Non-default quota rules should now have '+' before the limit
	value. This should make it clearer what it means. The obsolete way
	without '+' might be changed in future to actually mean an absolute
	quota limit.
	[e61c783ab241] <HEAD>

	* src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h:
	doveadm mailbox convert renamed to doveadm mailbox mutf7.
	[4d3be20243c2] <HEAD>

	* src/plugins/quota/quota-fs.c:
	quota-fs: Log also mountpoint type with mail_debug=yes.
	[e502f52f160c] <HEAD>

	* src/doveadm/doveadm-auth.c, src/doveadm/doveadm-mail.c:
	doveadm: Detect '?' also as wildcard character in usernames.
	[e7b0366f9cfb] <HEAD>

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h,
	src/doveadm/doveadm.c:
	doveadm: Group subcommands into a single line in usage output.
	[cfa4a9dcb832] <HEAD>

	* src/doveadm/doveadm.c:
	doveadm help <cmd> now also outputs to stdout.
	[425823ba9fcb] <HEAD>

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h,
	src/doveadm/doveadm.c:
	doveadm help and without parameters now writes output to stdout,
	otherwise stderr.
	[c3f1a15f50ca] <HEAD>

	* src/master/main.c:
	master: dovecot --log-error now internally calls doveadm log test.
	[8f63f17fdb0c] <HEAD>

	* src/master/main.c:
	master: Added reload and stop back to usage help string.
	[e420e196f80a] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-log.c, src/doveadm
	/doveadm-master.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h:
	doveadm: Added log test|reopen|find commands.
	[86fd141577c3] <HEAD>

	* src/master/main.c:
	dovecot: Removed reload and stop handlers. "dovecot arg" now execs
	"doveadm arg".
	[257eb30cc529] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-master.c,
	src/doveadm/doveadm.c, src/doveadm/doveadm.h:
	doveadm: Added stop and reload commands.
	[c740a50ab676] <HEAD>

	* src/doveadm/doveadm-mail.c:
	doveadm: force-resync now fails if mailbox name isn't valid UTF-8
	[b6c027d9631f] <HEAD>

	* src/lib-storage/mail-search-register-human.c:
	lib-storage: Human search parser now fails if given mailbox name
	isn't valid UTF8.
	[046948ccdbfb] <HEAD>

	* src/doveadm/doveadm-mail.c:
	doveadm force-resync: Get mailbox name as UTF-8.
	[6f4bfa83aabd] <HEAD>

	* src/doveadm/doveadm-mail-mailbox.c:
	doveadm mailbox *: Removed -7 and -8 parameters from most commands,
	UTF-8 is used always.
	[2127b6e9096d] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: mailbox field value is printed as UTF-8, not mUTF-7.
	[93eaae8617c8] <HEAD>

	* src/lib-storage/mail-search-register-human.c:
	lib-storage: human search arg parser now gets mailbox name using
	UTF-8.
	[15cda53f4e79] <HEAD>

	* src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql
	/driver-sqlite.c, src/lib-sql/driver-sqlpool.c, src/lib-sql/sql-api-
	private.h:
	lib-sql: Don't try to reconnect on deinit or intentional disconnect.
	Fixes a timeout leak.
	[f9e5c73a988b] <HEAD>

	* src/lib-sql/driver-mysql.c, src/lib-sql/driver-sqlite.c:
	mysql, sqlite: Update db state to disconnected on deinit.
	[8c521fd311c6] <HEAD>

	* src/master/service.c:
	master: Make sure throttle timeout isn't added for already destroyed
	services.
	[bd0088e294ec] <HEAD>

2010-05-27  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-director.c:
	doveadm: Minor help text change.
	[515a8cbd3d1e] <HEAD>

	* src/master/service-monitor.c:
	master: Fixed crash on config reload.
	[9bb17fe5465f] <HEAD>

	* src/doveadm/doveadm-mail.c:
	doveadm: -u parameter now allows wildcards for usernames.
	[6ac0459a6f0e] <HEAD>

	* src/doveadm/doveadm-settings.c:
	doveadm: Added config dependency to mail_user settings. If doveadm
	gets the configuration by execing doveconf, it won't get these
	settings without the dependency.
	[d7b9712d1dfc] <HEAD>

	* src/doveadm/doveadm.c:
	doveadm: Preserve $HOME when execing doveconf.
	[34621611fb33] <HEAD>

	* src/doveadm/doveadm-auth.c:
	doveadm user: User listing is done now by using wildcards in
	usernames.
	[ca0503623ff2] <HEAD>

	* src/plugins/expire/Makefile.am, src/plugins/expire/doveadm-expire.c,
	src/plugins/expire/expire-env.c, src/plugins/expire/expire-env.h,
	src/plugins/expire/expire-plugin.c, src/plugins/expire/expire-set.c,
	src/plugins/expire/expire-set.h, src/plugins/expire/expire-tool.c:
	expire: Rewrote expire-tool as a plugin for doveadm. Whenever using
	some doveadm mail command with -A parameter, the plugin checks if it
	can get the list of potentially matching users from the expire
	database.

	Currently only the list of users is filtered based on expire
	database, list of mailboxes could also be filtered but this isn't
	supported (yet).
	[da750dc62c14] <HEAD>

	* src/plugins/quota/doveadm-quota.c:
	doveadm quota: Fixed to work with new doveadm API
	[caecf9866909] <HEAD>

	* src/lib-storage/mail-search-register-human.c:
	lib-storage: Human search date parser now supports UNIX timestamps.
	[59322f74214b] <HEAD>

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
	expunge.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-
	mail-mailbox.c, src/doveadm/doveadm-mail-search.c, src/doveadm
	/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/doveadm/doveadm-
	settings.c, src/doveadm/doveadm-settings.h, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h:
	doveadm: mail commands can now be extended more easily by plugins.
	Also plugins can now override the list of -A users.
	[07c9d1115029] <HEAD>

	* src/doveadm/doveadm-auth.c:
	doveadm user: If no user parameters are given, list all usernames.
	[85e22167529f] <HEAD>

	* src/lib-storage/index/dbox-single/sdbox-save.c:
	dbox: Copying messages crashed.
	[f2ece87f9fea] <HEAD>

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge: Don't crash if lazy_expunge setting isn't enabled for
	user.
	[47f186130a4d] <HEAD>

	* src/util/tcpwrap.c:
	Compiler warning fix.
	[75b8bde60e65] <HEAD>

	* src/config/doveconf.c:
	doveconf <key> now shows "key = " prefix, unless -h parameter is
	given.
	[19730f396800] <HEAD>

	* src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index
	/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
	save.c, src/lib-storage/index/maildir/maildir-save.c:
	dbox, mdbox, maildir: If saving one mail fails in transaction, don't
	fail subsequent saves.
	[a0fccb6367f4] <HEAD>

	* src/anvil/main.c, src/auth/main.c, src/config/main.c,
	src/dict/main.c, src/director/main.c, src/dns/dns-client.c,
	src/dsync/dsync.c, src/imap/main.c, src/lib-master/master-service.c,
	src/lib-master/master-service.h, src/lmtp/main.c, src/log/main.c,
	src/login-common/main.c, src/pop3/main.c, src/ssl-params/main.c,
	src/util/script.c, src/util/tcpwrap.c:
	lib-master API changed to avoid accidentally leaking client
	connections. This change also fixes many such leaks.
	[b8d3c96e61a7] <HEAD>

	* TODO:
	TODO updated.
	[7b8bd33c96f9] <HEAD>

2010-05-26  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-auth.c:
	doveadm auth: Fail if after password there is more parameters.
	[3d928798d278] <HEAD>

	* src/doveadm/doveadm-auth.c:
	doveadm auth: Return with exit code 0 if auth succeeded, 1 if
	failed, others if error.
	[5a875b6a5982] <HEAD>

	* src/doveadm/doveadm-auth.c:
	doveadm auth: Fix to previous change, it broke auth completely.
	[5e7ca577e23a] <HEAD>

	* src/lib-auth/auth-client.c, src/lib-auth/auth-client.h:
	lib-auth: Added auth_client_is_disconnected().
	[4f21121408b3] <HEAD>

	* src/doveadm/doveadm-auth.c:
	doveadm auth: If we can't connect to auth socket, die instead of
	hanging.
	[bb17ad464528] <HEAD>

	* src/lib-storage/mail-copy.c:
	lib-storage: Don't assert-crash when copying a mail fails.
	[0918cb06c906] <HEAD>

	* doc/example-config/conf.d/10-mail.conf:
	example-config: Namespace indentation should have been 2 spaces, not
	3.
	[7cbc5854fbeb] <HEAD>

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Allow shared namespace prefix to use %variable
	modifiers.
	[b497a302e5cf] <HEAD>

	* src/lib-storage/mail-storage-private.h, src/plugins/zlib/zlib-
	plugin.c:
	lib-storage: Removed unnecessary struct
	mail_save_context.saved_physical_size
	[4eaebea097db] <HEAD>

	* src/lda/Makefile.am, src/lmtp/Makefile.am:
	lda, lmtp: Fixed library dependency tracking in Makefiles.
	[2fa46ba7ff2f] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-save.c, src/lib-storage/index
	/dbox-common/dbox-save.h, src/lib-storage/index/dbox-multi/mdbox-
	save.c, src/lib-storage/index/dbox-single/sdbox-save.c:
	dbox: Figure out internally when message's "physical size" doesn't
	match "written size".
	[e84e72fb1af9] <HEAD>

	* src/lib-sql/driver-mysql.c:
	lib-sql: Fixed getting number of affected rows with MySQL.
	[0c15a760dab8] <HEAD>

	* doc/example-config/dovecot.conf:
	example-config: Fixed example dict config filenames.
	[c23fb6cc5bb5] <HEAD>

2010-05-25  Timo Sirainen  <tss@iki.fi>

	* src/director/director-connection.c, src/director/doveadm-
	connection.c, src/director/notify-connection.c:
	director: Update connection count when client disconnects.
	[26cfc1c3a4b1] <HEAD>

	* src/plugins/quota/quota-fs.c:
	quota-fs: If FS quota is enabled, create (some of) users' temp files
	to /tmp.
	[bd8ed4b97fe3] <HEAD>

	* src/lib-storage/mail-user.c, src/lib-storage/mail-user.h:
	lib-storage: mail_user.get_temp_prefix() method added.
	[e63dd7e7ea6e] <HEAD>

	* configure.in:
	configure: --without-shared-libs should use static liblda for
	lda/lmtp.
	[f0141862bdca] <HEAD>

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: If write fails with EFBIG, give an error that mentions ulimit
	-f.
	[f7527971fed0] <HEAD>

	* src/lib-index/mail-transaction-log-view.c:
	lib-index: Fix to recent error handling change.
	[fb1cc2f5d681] <HEAD>

	* src/lmtp/client.h, src/lmtp/commands.c:
	lmtp: Add Return-Path: header. Also with only one RCPT TO, add
	Delivered-To: header.
	[61c3124bba93] <HEAD>

	* src/lib/hostpid.c:
	Die if system hostname contains '/' character.
	[4c28061ce7a6] <HEAD>

	* src/lib-storage/index/index-storage.c:
	lib-storage: If read-only mailbox uses private flags, don't return
	it as READ-ONLY.
	[2f7b7747867e] <HEAD>

	* src/lib-index/mail-transaction-log-file.c, src/lib-index/mail-
	transaction-log-view.c, src/lib-storage/index/index-sync.c:
	Changed some index error handling conditions to log an error instead
	of assert-crash.
	[6d68b7b25ae7] <HEAD>

	* src/lib-index/mail-index-sync-update.c:
	lib-index: On errors, close sync view before fsck to avoid assert-
	crash.
	[b08abace44ed] <HEAD>

	* src/lib-master/master-service-settings-cache.c:
	Increased initial memory pool size.
	[d285a4ee07c4] <HEAD>

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Expunging last messages may have assert-crashed if their
	filenames had changed.
	[487e58ebb764] <HEAD>

	* src/lib-index/mail-transaction-log-append.c:
	lib-index: Recent "save transaction commits to memory" may have
	assert-crashed sometimes.
	[8b67ccc4e2af] <HEAD>

2010-05-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/driver-mysql.c:
	mysql: Fixed assert-crashing on transaction commits.
	[1e45b463b93a] <HEAD>

	* doc/example-config/conf.d/10-logging.conf, src/login-common/login-
	settings.c:
	Added mail process pid to default login_log_format_elements
	[b715f1e39f25] <HEAD>

	* src/doveadm/doveadm-auth.c, src/doveadm/doveadm-director.c,
	src/doveadm/doveadm-kick.c, src/doveadm/doveadm-penalty.c,
	src/doveadm/doveadm-settings.c, src/doveadm/doveadm-settings.h,
	src/doveadm/doveadm-who.c, src/doveadm/doveadm.h:
	doveadm: Look up sockets from base_dir rather than hardcoded
	PKG_RUNDIR.
	[43a5acc09eb8] <HEAD>

	* configure.in, src/lib/process-title.c:
	Added process title hack support for OS X.
	[348eb4754085] <HEAD>

	* src/director/director-connection.c, src/director/director.c,
	src/director/director.h, src/director/doveadm-connection.c,
	src/doveadm/doveadm-director.c:
	Added doveadm director flush command for dropping user associations
	from memory. This should probably mainly be used for testing.
	[ef1de95396d4] <HEAD>

	* src/auth/auth-client-connection.c, src/auth/auth-request-handler.c,
	src/auth/auth-request-handler.h, src/lib-auth/auth-client-request.c,
	src/lib-auth/auth-client.h, src/login-common/sasl-server.c:
	login: Tell auth process to free aborted auth requests.
	[f70433791464] <HEAD>

	* src/director/director.c, src/director/director.h, src/director
	/doveadm-connection.c, src/director/mail-host.c, src/director/mail-
	host.h, src/director/main.c, src/doveadm/doveadm-director.c:
	doveadm director status user: Show more ways of what user's
	potential hosts are.
	[1bc3d5589c5a] <HEAD>

	* src/director/director-connection.c, src/director/director-request.c,
	src/director/director.c, src/director/director.h, src/director
	/doveadm-connection.c, src/director/mail-host.c, src/director/mail-
	host.h, src/director/main.c:
	director: Code cleanup - keep mail hosts in a struct rather than in
	static variables.
	[19336bddada2] <HEAD>

	* src/director/doveadm-connection.c, src/doveadm/doveadm-director.c:
	doveadm director status username now returns which server the user
	is assigned to.
	[c57c1ff9c5f1] <HEAD>

	* src/director/director-connection.c:
	director: Preserve old mail server state when a new director
	connects to ring.
	[5f77c91f3df0] <HEAD>

	* src/director/director-connection.c, src/director/director.c:
	director: Fixes to connecting to remote director.
	[350208d17fcd] <HEAD>

	* src/plugins/quota/quota-dict.c, src/plugins/quota/quota-maildir.c,
	src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
	quota: Added ignoreunlimited option to quota roots to disable
	tracking users with unlimited quota.
	[e688d58b0112] <HEAD>

	* src/plugins/imap-quota/imap-quota-plugin.c:
	imap-quota: If user has no quota roots, don't return QUOTAROOT
	reply.
	[295e12b91054] <HEAD>

	* src/master/service-process.c:
	master: If process running as root didn't dump core, don't suggest
	non-working workarounds.
	[8954b4d78dd2] <HEAD>

	* src/lib-imap/imap-parser.c:
	imap parser: Fail immediately if we see unexpected ')' while reading
	atom.
	[01f81b9e9586] <HEAD>

	* src/master/service-monitor.c, src/master/service.c:
	master: If throttling a service and there are no service processes,
	drop all queued connection attempts.
	[2b5af8843142] <HEAD>

2010-05-19  Timo Sirainen  <tss@iki.fi>

	* src/director/director-connection.c, src/director/director.c,
	src/director/director.h:
	director: If we logged that we're delaying connections, also log
	when we continue.
	[d1012db03a1c] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: Added support for hdr.<name> field.
	[b43d6d2ef2fb] <HEAD>

	* src/director/director.c:
	director: Use net_try_bind() to try to find our own IP.
	[7d3d6ee01bfc] <HEAD>

	* src/lib/network.c, src/lib/network.h:
	liblib: Added net_try_bind()
	[40964653930c] <HEAD>

	* src/director/director.c:
	director: Fixed finding the director's own IP in case system has
	multiple.
	[ed633bfb8c59] <HEAD>

	* src/director/director.c:
	director: Create outgoing connections from our own known IP.
	[098f517e902c] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: Added support for imap.envelope, imap.body and
	imap.bodystructure fields.
	[4ec22f3bfd9f] <HEAD>

	* src/lib-storage/mailbox-list.c:
	lib-storage: mailbox_list_iter_init_namespaces() didn't match INBOX
	pattern correctly.
	[2587eb79a83d] <HEAD>

	* src/config/doveconf.c:
	doveconf <key>: Don't output the "key =" prefix.
	[1c1db8a6cfc7] <HEAD>

	* src/director/director-connection.c, src/director/user-directory.c,
	src/login-common/login-proxy-state.c:
	Compiler warning fixes.
	[d6d59ff58511] <HEAD>

	* src/director/main.c:
	director: Crashfix at exit if proxy-notify fifo hadn't been used
	yet.
	[16fbdcbb6dcb] <HEAD>

	* src/plugins/quota/quota-maildir.c:
	maildir++ quota: Support "NOQUOTA" as valid backend string.
	[b42184927518] <HEAD>

	* src/director/main.c:
	director: Use auth-login socket, not login/login so it works as non-
	root.
	[c17e111b0d65] <HEAD>

	* src/auth/auth-settings.c, src/auth/main.c:
	auth: Create auth-login socket by default where internal user can
	connect to.
	[f15b3aac5443] <HEAD>

	* src/lib/strnum.c:
	str_to_gid(): Allow negative GIDs on OS X.
	[3ee6b83c1689] <HEAD>

	* src/login-common/login-proxy-state.c:
	login: Don't log an error at startup if proxy-notify fifo hasn't
	been enabled.
	[0877d6920960] <HEAD>

	* src/director/director-connection.c, src/director/director-host.h,
	src/director/director.c:
	director: If connecting to director fails, try connecting to next
	one.
	[9d886ae434c3] <HEAD>

	* src/director/login-connection.c:
	director: If we need to send a failure reply to login process, make
	it a temp failure.
	[fc94106ca7e9] <HEAD>

	* doc/example-config/conf.d/10-director.conf,
	src/director/Makefile.am, src/director/director-settings.c,
	src/director/login-connection.c, src/director/main.c, src/director
	/notify-connection.c, src/director/notify-connection.h:
	director: Tell login proxy to notify director of open connections
	every director_user_expire/2 secs.
	[2a5336ad86cd] <HEAD>

	* src/login-common/client-common-auth.c, src/login-common/client-
	common.c, src/login-common/client-common.h, src/login-common/login-
	proxy-state.c, src/login-common/login-proxy-state.h, src/login-
	common/login-proxy.c, src/login-common/login-proxy.h, src/login-
	common/main.c:
	login proxy: If passdb returns proxy_refresh=<secs>, send username
	to proxy-notify fifo every n secs.
	[c872378a8de6] <HEAD>

	* src/master/service-listen.c, src/master/service.c:
	master: Fixes to listening in fifos.
	[0fc0cc9e0952] <HEAD>

	* src/director/doveadm-connection.c:
	director: Memory leak fix.
	[12316378922e] <HEAD>

	* .hgignore, configure.in, doc/example-config/conf.d/10-director.conf,
	src/Makefile.am, src/director/Makefile.am, src/director/auth-
	connection.c, src/director/auth-connection.h, src/director/director-
	connection.c, src/director/director-connection.h, src/director
	/director-host.c, src/director/director-host.h, src/director
	/director-request.c, src/director/director-request.h, src/director
	/director-settings.c, src/director/director-settings.h,
	src/director/director.c, src/director/director.h, src/director
	/doveadm-connection.c, src/director/doveadm-connection.h,
	src/director/login-connection.c, src/director/login-connection.h,
	src/director/mail-host.c, src/director/mail-host.h,
	src/director/main.c, src/director/user-directory.c, src/director
	/user-directory.h, src/doveadm/Makefile.am, src/doveadm/doveadm-
	director.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h:
	Added initial implementation of a director process (for NFS users).
	There are still some unimplemented features and bugs. Also changing
	mail server list doesn't yet make sure that other directors won't
	assign the same user to a different server at the same time.
	[5f350b5ff6d9] <HEAD>

	* src/lib-auth/auth-server-connection.c:
	lib-auth: Crashfix if server sent broken input.
	[1753fe048fee] <HEAD>

	* doc/example-config/conf.d/10-mail.conf:
	example-config: Example namespace's hidden value default was wrong.
	[fb6bc399f5c3] <HEAD>

2010-05-18  Timo Sirainen  <tss@iki.fi>

	* src/master/service-monitor.c:
	master: Create the login <-> master notify file into base_dir
	instead of /tmp.
	[ae84eb604f84] <HEAD>

	* src/plugins/listescape/listescape-plugin.c:
	listescape: Fixed listing INBOX when namespace prefix was used.
	[4ba05c3702be] <HEAD>

2010-05-17  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts-squat/fts-
	backend-squat.c, src/plugins/fts/fts-api-private.h, src/plugins/fts
	/fts-api.c, src/plugins/fts/fts-api.h, src/plugins/fts/fts-
	storage.c:
	fts: Backends can now index non-text body parts if they support it.
	[757cb3148407] <HEAD>

2010-05-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-service-settings.c:
	lib-master: If config path isn't a socket, don't try to connect() to
	it. This avoids some SELinux errors.
	[7bb35ad5e80e] <HEAD>

	* src/lib-index/mail-transaction-log-append.c:
	lib-index, mmap_disable=yes: Save data also to memory after
	appending to transaction log. This seems to fix a bug at least with
	CentOS 4.8 kernel (2.6.9-89.0.25.ELsmp) where after a write() a
	read() didn't realize that data was written, so it returned EOF too
	early.

	Of course, this change also improves performance since it avoids re-
	reading the same data that was just written.
	[664d1b2f6b46] <HEAD>

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Give a better error message if transction log file
	shrinks unexpectedly.
	[361157623f2a] <HEAD>

	* src/lib-storage/index/maildir/maildir-copy.c:
	maildir: Fixed a memory leak when copying with hardlinks.
	[4c7b240eccdf] <HEAD>

	* src/master/main.c:
	dovecot --build-options shows IO_BLOCK_SIZE
	[4506efe5f238] <HEAD>

	* src/lib-index/mail-cache-lookup.c, src/lib-index/mail-index-map-
	read.c, src/lib-index/mail-transaction-log-file.c:
	lib-index: Use IO_BLOCK_SIZE
	[2937ca64faa9] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-
	storage/index/mbox/mbox-file.c, src/lib-storage/mail-storage-
	private.h, src/lib/compat.h, src/lib/file-set-size.c, src/lib
	/istream-internal.h, src/lib/ostream-file.c, src/lib/ostream.c:
	Use IO_BLOCK_SIZE macro to specify how large read/write syscalls to
	use.
	[88d7a36c7fa5] <HEAD>

	* src/login-common/main.c:
	login: Allow command line to override login socket path.
	[df2599ab2cee] <HEAD>

2010-05-13  Timo Sirainen  <tss@iki.fi>

	* src/master/master-settings.c:
	master: Don't include disabled unix/fifo_listeners in duplicate
	checks.
	[706e411a134d] <HEAD>

	* src/plugins/quota/doveadm-quota.c:
	doveadm quota get: Show current usage even if quota is unlimited.
	[de9259065123] <HEAD>

	* src/plugins/quota/Makefile.am, src/plugins/quota/doveadm-quota.c:
	quota: Fixed doveadm plugin to compile again with new API.
	[49252a5fcdde] <HEAD>

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm.c:
	doveadm: Don't crash when giving only first word of multi-word
	command.
	[9f1fb4978a4a] <HEAD>

	* src/master/main.c:
	dovecot: Fixed handling --parameters with some OSes.
	[5b628ee2888d] <HEAD>

	* src/config/doveconf.c:
	doveconf: Don't crash if -c points to nonexisting file.
	[da5096512d54] <HEAD>

	* src/doveadm/doveadm.c:
	doveadm: Minor code cleanup.
	[b73e0f51dad1] <HEAD>

	* src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h:
	doveadm: Added subscribe/unsubscribe commands.
	[76d4b3ac7bfa] <HEAD>

	* src/doveadm/doveadm-mail-mailbox.c:
	doveadm mailbox *: Added -s flag for updating/listing subscriptions.
	[9a86c335c3ed] <HEAD>

	* src/util/Makefile.am, src/util/imap-utf7.c:
	Removed imap-utf7 binary. doveadm mailbox convert replaced it.
	[715b74280077] <HEAD>

	* src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h:
	doveadm: Added convert command to convert mailbox names between
	mUTF-7/UTF-8
	[0741e7003efa] <HEAD>

	* src/doveadm/doveadm.c:
	doveadm: Added support for multi-word (non-mail) commands.
	[f491253bb457] <HEAD>

	* src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h:
	doveadm mailbox *: Added -7 and -8 parameters to translate between
	mUTF7/UTF-8 mailbox names.
	[c9463679f71e] <HEAD>

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
	expunge.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-
	mail-mailbox.c, src/doveadm/doveadm-mail-search.c, src/doveadm
	/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Changed mail command API to be more easily extensible.
	[0c9db163d538] <HEAD>

	* src/imap/imap-status.c:
	imap: Renamed X-VSIZE to X-SIZE in STATUS, since IMAP always uses
	virtual sizes.
	[13af90173e4f] <HEAD>

	* src/doveadm/doveadm-dump-index.c, src/lib-storage/index/index-
	status.c, src/lib-storage/index/index-storage.h:
	lib-storage: Expunging messages didn't update
	mailbox_status.virtual_size
	[f7ef21ab49ba] <HEAD>

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index
	/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-
	mail.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-search.c, src/lib-storage/index/maildir/maildir-mail.c, src
	/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/test-mail.c, src/plugins/virtual/virtual-mail.c:
	lib-storage: Removed struct mail.get_index_mail(). get_real_mail()
	is basically the same.
	[66bb67e074e2] <HEAD>

	* src/lib-storage/test-mail.c:
	lib-storage: Unit test fix.
	[fc664579ee4f] <HEAD>

2010-05-12  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-fetch.c:
	imap: Added FETCH X-REAL-UID for getting physical mail's UID in a
	virtual mailbox.
	[ed1a37587471] <HEAD>

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index
	/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-
	mail.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-mail.h, src/lib-storage/index/maildir/maildir-mail.c, src
	/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.h, src/lib-storage/mail.c, src/plugins/virtual
	/virtual-mail.c:
	lib-storage: Added mail_get_real_mail() that returns physical mail
	in a virtual mailbox.
	[a6150ca30304] <HEAD>

	* src/imap/imap-status.c:
	STATUS: Give an error with empty status list.
	[00771a8ab6fb] <HEAD>

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h,
	src/doveadm/doveadm.c:
	doveadm help: Fixed to work with multi-word commands.
	[bc0b336efef7] <HEAD>

	* src/auth/auth-client-connection.c, src/auth/auth-client-
	connection.h, src/auth/auth-master-connection.c, src/auth/auth-
	request-handler.c, src/auth/auth-request-handler.h, src/auth/auth-
	settings.c, src/auth/main.c, src/login-common/main.c:
	auth: Separate auth and login connections. Non-login requests are
	freed immediately after auth finished. The login connections are
	used by Dovecot internally, while the auth connections are for SMTP
	AUTH etc.
	[1a3c9bd45b11] <HEAD>

	* src/lib/restrict-access.c, src/lib/restrict-access.h:
	Added restrict_access_get_env()
	[a8a8686e6979] <HEAD>

	* src/lib-sql/driver-mysql.c:
	mysql: Fixed crashing on invalid queries.
	[6599d3d52c76] <HEAD>

	* src/lmtp/main.c:
	lmtp: Set user/group at startup as specified in service block.
	[70cfc89a3936] <HEAD>

	* src/imap/imap-status.c:
	imap: Added STATUS (X-VSIZE) command for getting mailbox's virtual
	size.
	[119d8eebda38] <HEAD>

	* src/doveadm/doveadm-dump-index.c, src/lib-storage/index/index-
	status.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/mail-storage.h:
	lib-storage: Added support for quickly getting mailbox's virtual
	size.
	[51d0f5d8cc65] <HEAD>

2010-05-11  Timo Sirainen  <tss@iki.fi>

	* src/lib/module-context.h:
	MODULE_CONTEXT() now returns NULL if the whole module hasn't been
	registered yet. This fixes a crash with thread handling.
	[521e36311440] <HEAD>

2010-05-09  Pascal Volk  <user@localhost.localdomain.org>

	* src/auth/Makefile.am, src/auth/password-scheme-crypt.c, src/auth
	/password-scheme.c, src/auth/password-scheme.h, src/doveadm/doveadm-
	pw.c:
	auth: added new password scheme names {BLF,SHA256,SHA512}-CRYPT.
	Their availability depends on the used libc.

	doveadm pw: added '-r rounds' option for the password schemes
	mentioned above.
	[2ead7574bb08] <HEAD>

2010-05-09  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-pw.c:
	doveadm pw: Call deinit functions.
	[1485d8bafb5e] <HEAD>

	* .hgsigs:
	Added signature for changeset 6b15f36d40c9
	[db432a472f3c] <HEAD>

	* .hgtags:
	Added tag 2.0.beta5 for changeset 6b15f36d40c9
	[c3583ec39f67] <HEAD>

	* configure.in:
	Released v2.0.beta5.
	[6b15f36d40c9] [2.0.beta5] <HEAD>

	* TODO:
	TODO updated.
	[5779cbc79020] <HEAD>

	* doc/example-config/conf.d/10-master.conf, src/master/master-
	settings.c:
	Changed default_internal_user to dovenull.
	[79a3aef47ddf] <HEAD>

	* src/lib-sql/driver-sqlpool.c:
	lib-sql: Code cleanup to make clang's static analyzer happy.
	[c7c6dbf542b3] <HEAD>

	* src/doveadm/doveadm-mail-search.c:
	doveadm search: Minor fix.
	[b90d0670dfd4] <HEAD>

2010-05-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-settings.c:
	lib-storage: Removed accidentally committed debug code.
	[1fe8f8d4e92d] <HEAD>

2010-05-07  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail.c, src/imap/imap-search-args.c, src/lib-
	storage/mail-search-register-human.c, src/lib-storage/mail-search-
	register-imap.c, src/lib-storage/mail-search-register.h, src/lib-
	storage/mail-storage-settings.c, src/lib-storage/mail-storage.c,
	src/plugins/virtual/virtual-config.c:
	Mail search register getting API change to fix a doveadm crash bug.
	[0a35407e6ff4] <HEAD>

2010-05-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/Makefile.am:
	lib-sql: Fixed compiling --with-sql=plugin. Patch by Michal
	Hlavinka.
	[5d76f5b13883] <HEAD>

	* src/lib-sql/driver-sqlpool.c:
	lib-sql: Compiler warning fix.
	[4c71be924a00] <HEAD>

	* src/config/config-parser.c, src/config/config-parser.h,
	src/config/doveconf.c, src/config/main.c:
	config: Unload modules at exit.
	[3fc759d5e736] <HEAD>

2010-05-04  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-list.c,
	src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-mail.h:
	doveadm: Renamed "list" to "mailbox list" and added mailbox
	create/rename/delete.
	[3afbdf732a75] <HEAD>

	* src/master/service.c:
	master: If inet listener uses DNS name, which returns multiple IPs,
	listen in all of them.
	[1ea46423cfd0] <HEAD>

	* src/lib-storage/mail-user.c, src/plugins/quota/quota.c:
	Increased initial memory pool sizes.
	[a4614f53d298] <HEAD>

	* doc/example-config/dovecot-sql.conf.ext, src/lib-sql/Makefile.am,
	src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql
	/driver-sqlite.c, src/lib-sql/driver-sqlpool.c, src/lib-sql/sql-api-
	private.h, src/lib-sql/sql-api.c, src/lib-sql/sql-api.h:
	lib-sql: Use generic sql connection pooling code for mysql/pgsql.
	It's possible to give multiple host settings to do load balancing /
	HA. If one host is down, another one is tried. All queries are
	automatically retried in another host if they fail in first one.

	Since PostgreSQL support async queries, Dovecot can create multiple
	connections to the database as needed, so it can do lookups in
	parallel. The number of connections can be changed with maxconns=n
	in connect_query, the default is 5.
	[1c8cc349ef55] <HEAD>

	* src/lib-dict/dict-sql.c:
	lib-dict: Minor code cleanup.
	[669e8266927e] <HEAD>

	* src/lib-dict/dict-client.c:
	dict proxy client: Don't crash in commit if there is no connection
	to server.
	[7102daca9089] <HEAD>

	* src/auth/passdb-bsdauth.c:
	bsdauth: Crashfix
	[fa77ca53ad6c] <HEAD>

	* src/login-common/client-common.c:
	Compile fix
	[c5e5f18e7685] <HEAD>

	* src/auth/auth-request-handler.c, src/lib-auth/Makefile.am, src/lib-
	auth/auth-client-interface.h, src/lib-auth/auth-master.c, src/lib-
	master/master-interface.h, src/lib-master/master-login-auth.c, src
	/login-common/client-common.h:
	auth/login related timeouts are now in one place and they make more
	sense. Most importantly now auth client doesn't abort lookup before
	server does.
	[e08dd68309a9] <HEAD>

	* src/auth/auth-request.c, src/auth/auth-request.h:
	auth: Minor code fix/cleanup.
	[90410a8f3786] <HEAD>

	* src/auth/auth-request-handler.c:
	auth: Don't crash when auth requests timeout.
	[83b4020d1edf] <HEAD>

2010-05-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql
	/driver-sqlite.c:
	lib-sql: Make driver structs const.
	[da497a62cf44] <HEAD>

	* src/lib-dict/dict-sql.c, src/lib-sql/Makefile.am, src/lib-sql/sql-
	db-cache.c, src/lib-sql/sql-db-cache.h, src/lib-sql/sql-pool.c, src
	/lib-sql/sql-pool.h:
	lib-sql: Renamed "sql pool" to "sql db cache", since that's what it
	is.
	[e0d02ae9d50f] <HEAD>

	* src/auth/auth-common.h, src/auth/auth-master-connection.c, src/auth
	/auth-request-handler.c, src/auth/auth-request.c, src/auth/auth-
	request.h, src/auth/auth-settings.c, src/auth/auth-settings.h,
	src/auth/main.c, src/auth/userdb-static.c:
	auth: If verbose_proctitle=yes, show auth request counts in ps.

	 - wait: waiting for auth client to do something (either continue
	multistep auth mechanism or issue master request for a finished
	auth)
	 - passdb: waiting for passdb lookup to finish
	 - userdb: waiting for userdb lookup to finish
	[6243376eff60] <HEAD>

	* src/auth/auth-request-handler.c:
	auth: Give a better error message to client when auth request
	timeouts.
	[d8dd3149a98b] <HEAD>

	* src/auth/auth-request-handler.c:
	auth: Log a message when auth request is removed due to timeout.
	[2a132661c029] <HEAD>

	* src/lib-master/master-login-auth.c:
	lib-master: Don't crash after timeouting an auth-master request.
	[1fd45deee948] <HEAD>

2010-04-30  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
	expunge.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-
	mail-list.c, src/doveadm/doveadm-mail-search.c, src/doveadm/doveadm-
	mail.c, src/doveadm/doveadm-mail.h, src/plugins/quota/doveadm-
	quota.c:
	doveadm: Changed mail command handler API. This should help add some
	new future features.
	[f05909834219] <HEAD>

	* src/doveadm/doveadm-auth.c:
	doveadm user: s/auth/userdb/ socket path in usage.
	[f195e11fd919] <HEAD>

	* src/doveadm/doveadm-mail.c, src/plugins/quota/doveadm-quota.c:
	doveadm: Fixed empty usage_args checks.
	[ff13bd98ed0d] <HEAD>

	* src/doveadm/doveadm-mail.c:
	doveadm: If command is known not to take any parameters, give error
	if any are given.
	[d651255481dc] <HEAD>

	* src/plugins/quota/doveadm-quota.c:
	doveadm: quota get/recalc are now two-word commands, so parameters
	come after them, not in the middle.
	[40da334e2513] <HEAD>

	* src/doveadm/doveadm-mail.c:
	doveadm: Added support for multi-word commands.
	[65e21dc80414] <HEAD>

	* src/imap/imap-fetch-body.c:
	imap: If FETCH notices cached message size is wrong, mark cache
	corrupted (second such check).
	[be74fa9bfcc9] <HEAD>

	* src/doveadm/doveadm-mail-search.c:
	doveadm search: Don't print "mailbox-guid" and "uid" texts in
	output.
	[529fee1603e5] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail-list-
	iter.c:
	doveadm fetch/search/etc: Handle "NOT" correctly in search query.
	[b9efc1ca4c37] <HEAD>

	* src/lib-storage/index/index-search.c, src/lib-storage/mail-search.c,
	src/lib-storage/mail-search.h:
	lib-storage: Fixes/optimizations to SEARCH_MAILBOX*.
	[dedf835014a2] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: Don't print field name if fetching only a single
	field.
	[6327433bccb9] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: Don't print mail separator if fetching only a
	specific mail.
	[47d49b7edb4b] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-search.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added search command.
	[0aa904c74f76] <HEAD>

	* src/lib-storage/index/index-search.c:
	lib-storage optimization: SEARCH_MAILBOX* should be checked before
	cache lookups.
	[957e907834e7] <HEAD>

	* src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-mail-
	fetch.c:
	doveadm fetch: Added support for mailbox-guid search key/fetch
	field.
	[5d0027f17bd8] <HEAD>

	* src/lib-storage/index/index-search.c, src/lib-storage/mail-search-
	register-human.c, src/lib-storage/mail-search.c, src/lib-storage
	/mail-search.h:
	lib-storage: Added support for searching with mailbox GUID.
	[389a251c9cfe] <HEAD>

	* src/auth/db-checkpassword.c, src/auth/db-checkpassword.h, src/auth
	/passdb-checkpassword.c, src/auth/userdb-checkpassword.c:
	auth: passdb/userdb checkpassword args now supports %variable
	expansion
	[5f3f0d5f9dd8] <HEAD>

	* doc/example-config/conf.d/10-auth.conf:
	example-config: auth-checkpassword include wasn't listed in
	10-auth.conf
	[8a8d954b90ba] <HEAD>

2010-04-29  Timo Sirainen  <tss@iki.fi>

	* src/login-common/client-common-auth.c:
	login proxy: "ssl" and "starttls" handlers make more sense now.

	 - "starttls" no longer requires "ssl", and "starttls=anycert" is
	now possible.
	 - "ssl=any-cert" updates the default port.
	 - "ssl=anything" now also enables ssl instead of being ignored.
	[d693c4a97d41] <HEAD>

	* src/lib-storage/mail-search-parser-imap.c:
	lib-storage: Fixed () sublists in IMAP SEARCH parser.
	[888ac9037642] <HEAD>

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: If we detect MH as the cause of unexpunging, log it in the
	error message.
	[80f77153d49c] <HEAD>

	* src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib/ostream-zlib.c:
	zlib: Fixed zlib/bzlib ostream flushing to report correctly when
	it's finished. This caused imap-zlib plugin to eat all CPU when
	stream compression was used. Patch by Apple.
	[c8f4cb187343] <HEAD>

	* src/lib-storage/mailbox-list.c:
	lib-storage: Create all files/dirs with u+rwX mode, even if source
	file/dir doesn't have it. This is mostly important when creating
	index files for read-only mailboxes.
	[ec84aad32983] <HEAD>

	* src/master/main.c:
	dovecot: Show the hg version also in "Dovecot starting up" log
	message.
	[22f69f7d16ab] <HEAD>

	* src/lib/buffer.c:
	DEBUG: Try to catch stale pointer dereferences to buffers after
	they've grown. In normal use some such bugs may not be noticed
	easily, because the buffer's memory allocation size is large enough
	that when adding another element the pointer doesn't change.
	[7037222941dc] <HEAD>

	* src/lib-index/test-mail-index-transaction-update.c:
	lib-index: Minor unit test fix.
	[1b52e859933a] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/mail-index-sync-ext.c, src
	/lib-index/mail-index-sync-private.h, src/lib-index/test-mail-index-
	sync-ext.c:
	lib-index: mail_index_sync_ext_atomic_inc() does now better error
	checking.
	[204bb387aeed] <HEAD>

	* src/lib-index/mail-index-sync-ext.c:
	lib-index: Another fix attempt for handling atomic inc with INT_MAX.
	[78742ad02c88] <HEAD>

	* src/lib-index/mail-index-sync-ext.c:
	lib-index: Minor fix to handling atomic inc with INT_MIN value.
	[a2d7c699abbb] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index
	/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-multi/mdbox-
	map-private.h, src/lib-storage/index/dbox-multi/mdbox-map.c, src
	/lib-storage/index/dbox-multi/mdbox-map.h, src/lib-storage/index
	/dbox-multi/mdbox-purge.c, src/lib-storage/index/dbox-multi/mdbox-
	save.c, src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c,
	src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.h, src/lib-storage/index
	/dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox-multi/mdbox-
	sync.h:
	mdbox: Renamed dbox_map* to mdbox_map*.
	[ac62dbb6a355] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index
	/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-
	storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c,
	src/lib-storage/index/dbox-multi/mdbox-sync.c:
	mdbox: Changed error messages to contain "mdbox" prefix instead of
	"dbox".
	[6e1bbf87749f] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-storage.h, src/lib-storage/index/dbox-multi/mdbox-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-
	storage/index/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-
	multi/mdbox-purge.c, src/lib-storage/index/dbox-multi/mdbox-storage-
	rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src
	/lib-storage/index/dbox-multi/mdbox-storage.h, src/lib-storage/index
	/dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox-single/sdbox-
	storage.c:
	mdbox: Avoid rebuilding storage if another process already did it.
	[de0ed7bea201] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Storage rebuild should ignore ACLs for mailboxes.
	[85d6fb746783] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Storage rebuild now silently ignores m.*.lock files if they
	exist.
	[1f5570ec0682] <HEAD>

	* src/lib/failures.c:
	Syslog messages now contain Warning:, Error: and Debug: prefixes
	also. So everything except Info: now has a prefix.
	[7493f94d544c] <HEAD>

	* src/imap/main.c, src/pop3/main.c:
	Compiler warning fix.
	[6d9265a3a620] <HEAD>

	* src/doveadm/doveadm.c:
	doveadm: Updated usage text.
	[541344dd60a7] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-expunge.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added expunge command.
	[8e3b8efa195e] <HEAD>

2010-04-28  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-altmove.c,
	src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail-iter.c,
	src/doveadm/doveadm-mail-iter.h:
	doveadm: Removed more code duplication from altmove/fetch commands.
	[c7cb58f1d2c6] <HEAD>

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
	fetch.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Reduced code duplication.
	[f10ad708d748] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c:
	doveadm fetch: If invalid fetch field is given, print list of
	available fields.
	[1ec4eb879f0e] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail.c:
	doveadm fetch: Added "fields to fetch" parameter.
	[c8981561c5f2] <HEAD>

	* src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail.c:
	doveadm fetch: Added support for fetching mails from multiple
	mailboxes.
	[dab4fb9f8140] <HEAD>

	* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-list-
	iter.c:
	doveadm altmove: Fixed assert-crashing
	[f986a5b1f500] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-list.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added list command for listing users' mailboxes.
	[f99720c01ba2] <HEAD>

	* src/doveadm/doveadm-mail-altmove.c:
	doveadm altmove: Use the new mailbox list iteration API.
	[63dbfb4c2f71] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-list-iter.c,
	src/doveadm/doveadm-mail-list-iter.h:
	doveadm: Added API for iterating through mailboxes more easily.
	[3d48ead930ba] <HEAD>

	* src/dsync/dsync-worker-local.c, src/lib-storage/mail-namespace.h,
	src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h,
	src/plugins/virtual/virtual-config.c:
	lib-storage: mailbox_list_iter_init_namespaces() has more filtering
	capabilities now.
	 - namespace types

	 - MAILBOX_LIST_ITER_STAR_WITHIN_NS flag so that "*" doesn't escape
	beyond the namespace it started in.
	[af59d2d02f33] <HEAD>

	* src/lib-storage/mail-search.c, src/lib-storage/mail-search.h:
	lib-storage: Added mail_search_args_match_mailbox()
	[71e40ea473cf] <HEAD>

	* src/lib-storage/mail-search-build.c, src/lib-storage/mail-search-
	build.h:
	lib-storage: Added mail_search_build_add()
	[d5ca3aebc4ee] <HEAD>

	* src/lib-storage/index/index-search.c, src/lib-storage/mail-search-
	register-human.c, src/lib-storage/mail-search-register-imap.c, src
	/lib-storage/mail-search.c, src/lib-storage/mail-search.h:
	lib-storage: Added MAILBOX_GLOB search arg. Query builders now use
	it instead of MAILBOX.
	[3c9770bae39e] <HEAD>

	* src/lib-storage/mail-search.c:
	lib-storage: mail_search_args_equal() wasn't comparing string
	arguments correctly.
	[6b38d832839f] <HEAD>

	* src/lib-imap/imap-match.c, src/lib-imap/imap-match.h, src/lib-imap
	/test-imap-match.c:
	lib-imap: Added imap_match_globs_equal().
	[9d411eeb7998] <HEAD>

	* src/lib-imap/imap-match.c, src/lib-imap/imap-match.h, src/lib-imap
	/test-imap-match.c:
	lib-imap: Added imap_match_dup().
	[bb8ccf1ae2ac] <HEAD>

	* src/lib-test/test-common.c:
	lib-test: Call lib_deinit().
	[f0d13439baea] <HEAD>

2010-04-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-storage.h, src/lib-storage/index/dbox-multi/mdbox-
	map.c:
	mdbox: Automatically delete old temp.* files from storage/
	directory.
	[abf262317b2c] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-file.h:
	mdbox: Recent change enabled dotlocking always, instead of using
	flock.
	[4f6fa828d0c9] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Removed duplicate checking, at least for now. If duplicate
	checking is done, DATA should also send proper reply for them.
	[b13146b6a91b] <HEAD>

2010-04-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-map.c:
	mdbox: "Message has been copied too many times" error contains now
	refcounts.
	[6a3eaad2bae6] <HEAD>

	* configure.in:
	Link lmtp/lda with dovecot-lda shared library, not static library.
	[bd649ac7a741] <HEAD>

	* src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib-lda/mail-
	deliver.h:
	lib-lda: Added mail_deliver_get_log_var_expand_table().
	[82d5351b5d39] <HEAD>

	* Makefile.am, configure.in, dovecot-config.in.in, dovecot.m4,
	src/lda/Makefile.am, src/lib-lda/Makefile.am, src/lmtp/Makefile.am:
	lib-lda is now an installed shared library.
	[1319fa7a7266] <HEAD>

	* src/lib-lda/mail-deliver.c:
	deliver_log_format: Increased max. message-id length to 200 chars.
	[62256701a326] <HEAD>

2010-04-21  Timo Sirainen  <tss@iki.fi>

	* src/lda/Makefile.am, src/lmtp/Makefile.am:
	lda, lmtp: Fixed using virtual plugin when not using shared libs.
	[8818db00d347] <HEAD>

	* doc/example-config/conf.d/10-mail.conf:
	example-config: mdbox_altmove setting no longer exists, removed it.
	[b3cfa3dfd5ba] <HEAD>

	* doc/example-config/conf.d/10-logging.conf, src/lib-lda/mail-
	deliver.c:
	deliver_log_format: Added support for size and vsize
	[6a27203d4439] <HEAD>

2010-04-20  Timo Sirainen  <tss@iki.fi>

	* src/config/doveconf.c:
	doveconf <setting name> now prints only the one setting's value.
	[b6b81af98381] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-file.h:
	mdbox: If flock() isn't available, use dotlock files. This allows
	again using client_limit > 1 without corrupting dbox files.
	[0eff8ef104e6] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.c:
	mdbox: Purge crashed if it purged all messages from a file.
	[944f4335845f] <HEAD>

	* src/lib-storage/mail-search-register-human.c:
	lib-storage: Fixed parsing human search parameter dates.
	[94ee28a11c47] <HEAD>

	* src/config/old-set-parser.c, src/doveadm/Makefile.am, src/doveadm
	/doveadm-mail-altmove.c, src/doveadm/doveadm-mail.c, src/doveadm
	/doveadm-mail.h, src/lib-storage/index/dbox-multi/Makefile.am, src
	/lib-storage/index/dbox-multi/mdbox-file-purge.c, src/lib-
	storage/index/dbox-multi/mdbox-file.h, src/lib-storage/index/dbox-
	multi/mdbox-mail.c, src/lib-storage/index/dbox-multi/mdbox-map-
	private.h, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-
	storage/index/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-
	multi/mdbox-purge.c, src/lib-storage/index/dbox-multi/mdbox-save.c,
	src/lib-storage/index/dbox-multi/mdbox-settings.c, src/lib-
	storage/index/dbox-multi/mdbox-settings.h, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-
	storage.h, src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-
	storage/index/dbox-multi/mdbox-sync.h:
	mdbox: Moving messages to alt storage is done done with doveadm
	altmove command. The command can take an arbitrary search query
	listing what messages should exist in alt storage. If the message
	has been copied to multiple mailboxes, the search query must match
	all the instances of the message.

	Since the search query can now be specified in command line,
	mdbox_altmove setting was also removed.
	[a92389387cb7] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-storage.h, src/lib-
	storage/index/dbox-single/sdbox-storage.h, src/lib-storage/index
	/dbox-single/sdbox-sync.c:
	dbox: Moved SDBOX_INDEX_FLAG_ALT macro to dbox-common.
	[129bc5eab66a] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-fetch.c, src/imap
	/imap-search-args.c, src/lib-storage/Makefile.am, src/lib-storage
	/mail-search-build.c, src/lib-storage/mail-search-build.h, src/lib-
	storage/mail-search-parser-cmdline.c, src/lib-storage/mail-search-
	parser-imap.c, src/lib-storage/mail-search-parser-private.h, src
	/lib-storage/mail-search-parser.c, src/lib-storage/mail-search-
	parser.h, src/lib-storage/mail-search-register-human.c, src/lib-
	storage/mail-search-register-imap.c, src/lib-storage/mail-search-
	register.h, src/plugins/virtual/virtual-config.c:
	Added support for mail search input parsers. doveadm now uses
	command line parser.
	[4a98f01eaaac] <HEAD>

2010-04-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-sync.c:
	mdbox: More comment updates to syncing.
	[422ab02950b7] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-sync.c:
	mdbox: Minor optimization for syncing expunges.
	[cf88ac9665f7] <HEAD>

	* src/lib/seq-range-array.c, src/lib/seq-range-array.h:
	seq_range_array_add() returns now TRUE if seq was already in array.
	[4ee1d2312d83] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-sync.c:
	mdbox: Added a comment about how expunging works.
	[8e6cb40f577f] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
	/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox-
	storage.c, src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-
	storage/index/dbox-multi/mdbox-sync.h:
	mdbox: Optimization: Don't update map UIDs' refcounts via array when
	it's not necessary.
	[c2c2c1dd252e] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: Comment update
	[0eb423848dc1] <HEAD>

2010-04-16  Timo Sirainen  <tss@iki.fi>

	* src/config/old-set-parser.c:
	config: Added support for parsing obsolete setting ssl_disable.
	[a6b050cc4a9a] <HEAD>

	* src/lib-storage/list/mailbox-list-delete.c:
	lib-storage: Mailbox deletion via trash directory works now better
	with NFS.
	[c2f00a85a177] <HEAD>

	* src/lib-storage/mail-namespace.c:
	lib-storage: Fixed autocreating namespaces for shared users in some
	situations.
	[960c6936ba6a] <HEAD>

	* src/lib-storage/index/shared/shared-storage.c:
	lib-storage: Shared namespace's prefix_len wasn't updated after
	prefix was truncated.
	[8d45d4884019] <HEAD>

	* src/lib-dict/dict-client.c:
	dict proxy client: Timeout lookups after 30 s, log warning if lookup
	takes >5 s.
	[ba3c809c18e5] <HEAD>

	* src/plugins/imap-quota/imap-quota-plugin.c:
	imap-quota: Iterate quota roots only once when replying to
	GETQUOTAROOT. This halves the required dict lookup count.
	[4b14271e04db] <HEAD>

	* src/lib-dict/dict-client.c:
	dict proxy: Disconnect from dict server after 1 second of idling.
	Reconnecting is pretty cheap and it's not good to have many idling
	dict server processes.
	[bf08bb1807cf] <HEAD>

	* src/dict/dict-settings.c:
	dict: Changed default client_limit to 1.
	[69894aaab23c] <HEAD>

	* src/dict/dict-connection.c:
	dict: Client count wasn't updated when client disconnected, causing
	problems later.
	[91ef3309968a] <HEAD>

	* src/imap/cmd-idle.c:
	idle: Do cork/uncork when sending "OK Still here" notification.
	[ffc28ea81538] <HEAD>

	* src/lib-dict/dict-file.c:
	dict file: Get file's initial permissions based on parent directory.
	[b3947e64546a] <HEAD>

	* src/auth/password-scheme.c:
	auth: Removed special case check for MD5-CRYPT from wrong password
	scheme checking.
	[af46998fdccf] <HEAD>

2010-04-14  Timo Sirainen  <tss@iki.fi>

	* src/imap-login/client.c, src/login-common/client-common-auth.c, src
	/login-common/client-common.c, src/login-common/login-common.h, src
	/login-common/login-settings.c, src/login-common/main.c, src/login-
	common/sasl-server.c, src/pop3-login/client.c:
	login: Keep binary-specific defaults in a struct.
	[57e53ecebbd3] <HEAD>

	* src/imap-login/client.c, src/login-common/client-common-auth.c, src
	/login-common/login-common.h, src/pop3-login/client.c:
	login: If proxy returns ssl=yes and no port, switch port to
	imaps/pop3s.
	[5f3edac6b3bf] <HEAD>

	* dovecot.m4:
	dovecot.m4: Added serial number.
	[9188fc60d615] <HEAD>

	* src/lib-storage/index/raw/raw-storage.c:
	raw: Fixed opening raw mailbox with filename.
	[eacb5fd16599] <HEAD>

	* doc/example-config/conf.d/20-pop3.conf, src/pop3/pop3-client.c,
	src/pop3/pop3-client.h, src/pop3/pop3-commands.c:
	pop3: Added %u=old/new UIDL hash to pop3_logout_format. It expands
	to "<old msg count>/<old hash> -> <new msg count>/<new hash>" or if
	they're the same, simply "<msg count>/<hash>".

	The idea is that if previous session's <new hash> doesn't match next
	one's <old hash> and prev.new_msg_count = next.old_msg_count, it
	could indicate that the UIDLs changed for some reason. But if they
	do match and client still redownloaded messages, it's most likely a
	client side problem.
	[e019febd7eb3] <HEAD>

	* src/auth/auth-request.c, src/auth/auth-stream.c, src/auth/auth-
	worker-client.c, src/auth/userdb-blocking.c:
	auth: Fixed userdb tempfail to work with blocking userdbs.
	[093591e1110b] <HEAD>

	* src/auth/auth-worker-client.c:
	auth: Removed userdb checking code from passdb code paths.
	[4f06636cd03f] <HEAD>

	* src/master/master-settings.c:
	master: Require protocols=none to not have any protocols.
	[ca663b6f63a4] <HEAD>

	* doc/example-config/conf.d/10-master.conf:
	example-config: Added auth-userdb socket with comments.
	[200a6532483b] <HEAD>

2010-04-13  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-fetch.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added initial code for fetch command.
	[51eea5bb3336] <HEAD>

	* src/imap/imap-search-args.c, src/lib-storage/Makefile.am, src/lib-
	storage/mail-search-build.c, src/lib-storage/mail-search-build.h,
	src/lib-storage/mail-search-register-human.c, src/lib-storage/mail-
	search-register-imap.c, src/lib-storage/mail-search-register.c, src
	/lib-storage/mail-search-register.h, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/plugins/virtual
	/virtual-config.c:
	lib-storage: Added search query building from human-friendly input.
	[3649ad8c9f9a] <HEAD>

	* src/lib-storage/mail-search-register.c:
	lib-storage: Minor optimization to search build initialization code.
	[8d1d1eb2c2a0] <HEAD>

	* src/lib-storage/Makefile.am, src/lib-storage/mail-search-build.c,
	src/lib-storage/mail-search-build.h, src/lib-storage/mail-search-
	register-imap.c, src/lib-storage/mail-search-register.c, src/lib-
	storage/mail-search-register.h, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c:
	lib-storage: Rewrote search query building code to be more modular.
	[c6db5769942f] <HEAD>

	* doc/example-config/dovecot.conf:
	example-config: Added a note about !include file ordering.
	[3e427a0c1790] <HEAD>

	* doc/example-config/conf.d/10-mail.conf:
	example-config: Removed some old comments that aren't really useful
	anymore.
	[1b634a3932d0] <HEAD>

	* src/lib-storage/index/index-search.c, src/lib-storage/mail-search-
	build.c, src/lib-storage/mail-search.c, src/lib-storage/mail-
	search.h:
	lib-storage: Added support for searching save date.
	[4ade4d8c66c5] <HEAD>

	* Makefile.am:
	make distcheck now runs code via clang static analyzer if it exists.
	[762a4216352f] <HEAD>

	* src/auth/mech-gssapi.c:
	Static analyzer warning fix.
	[caf8c5d39ab2] <HEAD>

	* run-test.sh:
	run-test: Fixed to work correctly with older Valgrind versions.
	[892d28020605] <HEAD>

	* Makefile.am:
	Makefile: Added run-test.sh to tarball.
	[b11f69e5078e] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail storage service: Fixed chroot handling.
	[9d4a9abf3ec3] <HEAD>

	* src/lib-storage/mail-storage-settings.c:
	lib-storage: Check for mail_plugin_dir existence only in config
	binary. Other binaries may already have chrooted when the check is
	done.
	[7d541fcfcb5e] <HEAD>

	* src/lib/module-dir.c:
	module_dir_load_missing(): If all modules are already loaded, don't
	scan plugin directory.
	[88959ce9c8e4] <HEAD>

	* src/plugins/quota/quota-dict.c:
	quota: If dict quota update fails, log an error.
	[b24789f95476] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-multi/Makefile.am, src/lib-storage/index/dbox-multi/mdbox-
	storage.c, src/lib-storage/index/dbox-single/Makefile.am, src/lib-
	storage/index/dbox-single/sdbox-storage.c:
	dbox: Use flock() for file locking if possible. If not, require
	client_limit=1. Maybe some day dbox code can be redesigned in a way
	that allows it to work with fcntl() locking too.
	[3d585e69aa95] <HEAD>

2010-04-12  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/commands.c:
	lmtp: Crashfix to multiple RCPT TOs when the first mail couldn't be
	used as a copy source.
	[6b7b2987c41f] <HEAD>

	* src/lib-lda/mail-deliver.c:
	lib-lda: Added assert.
	[a73f3da6d7a8] <HEAD>

	* doc/example-config/conf.d/Makefile.am:
	Makefile: Updated renamed *.conf filenames.
	[06bd06c2f523] <HEAD>

2010-04-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-sync.c:
	mdbox: If storage directory doesn't exist while trying to purge,
	ignore it.
	[5dac1012e47e] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index
	/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-
	map.h, src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src
	/lib-storage/index/dbox-multi/mdbox-storage.c:
	mdbox: Purging shouldn't give "unknown error" if mdbox storage
	doesn't exist.
	[2200450752bd] <HEAD>

	* doc/example-config/conf.d/10-auth.conf, doc/example-
	config/conf.d/10-logging.conf, doc/example-
	config/conf.d/10-mail.conf, doc/example-
	config/conf.d/10-master.conf, doc/example-config/conf.d/10-ssl.conf,
	doc/example-config/conf.d/15-lda.conf, doc/example-
	config/conf.d/20-imap.conf, doc/example-config/conf.d/20-lmtp.conf,
	doc/example-config/conf.d/20-pop3.conf, doc/example-
	config/conf.d/90-plugin.conf, doc/example-config/conf.d/auth.conf,
	doc/example-config/conf.d/imap.conf, doc/example-
	config/conf.d/lda.conf, doc/example-config/conf.d/lmtp.conf, doc
	/example-config/conf.d/logging.conf, doc/example-
	config/conf.d/mail.conf, doc/example-config/conf.d/master.conf, doc
	/example-config/conf.d/plugin.conf, doc/example-
	config/conf.d/pop3.conf, doc/example-config/conf.d/ssl.conf:
	example-config: Added nn- prefix to *.conf files so the sort
	ordering makes more sense. This is especially important to get
	mail_plugins = $mail_plugins example working in protocol sections.
	[4dd372d1e80a] <HEAD>

	* src/config/config-parser.c:
	config: !include * added files in reverse sort order.
	[e25b0ecfc758] <HEAD>

	* src/plugins/imap-zlib/imap-zlib-plugin.c:
	imap-zlib: Fixed crash if imap_zlib_compress_level setting wasn't
	set.
	[454ea8812d54] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Fixed crash when multiple mails were saved and second one
	failed.
	[cc00fdf1943b] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-sync.c:
	mdbox: If purging found corrupted files, it didn't auto-rebuild
	storage.
	[8f67eaebfc17] <HEAD>

2010-04-09  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Fixed assert-crashing in storage rebuild.
	[f15e96e46715] <HEAD>

2010-04-08  Timo Sirainen  <tss@iki.fi>

	* configure.in:
	configure: Fix to older autoconfs
	[829cc91ed831] <HEAD>

	* src/auth/auth-request-handler.c:
	auth: Fixed SASL authentication broken by recent changes.
	[23e87e78c66e] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: Fixed version mismatch error message.
	[a0d0ed6a2b63] <HEAD>

	* Makefile.am, configure.in, src/auth/Makefile.am,
	src/imap/Makefile.am, src/lib-auth/Makefile.am, src/lib-
	charset/Makefile.am, src/lib-dict/Makefile.am, src/lib-
	dns/Makefile.am, src/lib-imap/Makefile.am, src/lib-
	index/Makefile.am, src/lib-lda/Makefile.am, src/lib-
	mail/Makefile.am, src/lib-master/Makefile.am, src/lib-
	settings/Makefile.am, src/lib-sql/Makefile.am, src/lib-
	storage/Makefile.am, src/lib-storage/index/Makefile.am, src/lib-
	storage/index/cydir/Makefile.am, src/lib-storage/index/dbox-
	common/Makefile.am, src/lib-storage/index/dbox-multi/Makefile.am,
	src/lib-storage/index/dbox-single/Makefile.am, src/lib-
	storage/index/maildir/Makefile.am, src/lib-
	storage/index/mbox/Makefile.am, src/lib-
	storage/index/raw/Makefile.am, src/lib-
	storage/index/shared/Makefile.am, src/lib-storage/list/Makefile.am,
	src/lib-test/Makefile.am, src/lib/Makefile.am, src/login-
	common/Makefile.am, src/plugins/notify/Makefile.am,
	src/pop3/Makefile.am:
	configure: Removed --enable-header-install. It's now always enabled.
	There didn't seem to be much point in keeping it optional anymore.
	They're now more useful than before because shared libraries are
	also installed.
	[eee1e2a1c25b] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	virtual: Added assert.
	[e47de5f3caae] <HEAD>

	* src/lib-imap/imap-arg.h:
	imap-arg: Added IMAP_ARG_IS_NSTRING().
	[5ba59cc8b235] <HEAD>

	* dovecot.m4:
	dovecot.m4: Export DOVECOT_CFLAGS/LIBS/SSL_LIBS
	[0fa195674d1a] <HEAD>

	* src/plugins/virtual/virtual-config.c:
	virtual: Fixed showing error messages for mailbox open.
	[eca1b44a5d71] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	virtual: If backend mailbox isn't found, don't use NOTFOUND error
	code.
	[a1b18a7c829f] <HEAD>

	* src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual-
	storage.c:
	virtual: Don't crash when trying to reopen a closed mailbox.
	[09ecf24a798b] <HEAD>

2010-04-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-login.c:
	lib-master: Fixed errors with post-login scripts.
	[af7beceda361] <HEAD>

	* src/lib-storage/index/index-transaction.c:
	lib-storage: Removed wrong asserts (causing crashes in quota
	plugin).
	[3823670df351] <HEAD>

	* src/lib-master/master-login.c:
	lib-master: Log an error if login client disconnects too early.
	[5074e30d72d4] <HEAD>

	* src/lib-master/master-login.c:
	lib-master: Client connection counting fix.
	[c0fe14f76760] <HEAD>

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Panic if deiniting storage before closing its
	mailboxes.
	[085253f549f8] <HEAD>

	* src/plugins/quota/doveadm-quota.c:
	Compiler warning fix.
	[5d888efd6d4e] <HEAD>

	* src/lib-master/master-login.c:
	lib-master: Fixed checking if login connection was already closed.
	[c2a1163e584f] <HEAD>

	* src/lib-settings/settings-parser.c:
	lib-settings: Fixed parsing octal numbers.
	[063a584858bf] <HEAD>

	* src/lib-master/master-login.c, src/lib-master/master-service-
	private.h, src/lib-master/master-service.c:
	lib-master: Changed post-login process's client counting to make
	sense again. This should also fix problems where a new process isn't
	created because an existing one is waiting for auth request reply.
	[64bead0067b0] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	Increased initial memory pool size.
	[7649c491b744] <HEAD>

	* src/lib-master/master-auth.c:
	lib-master: Aborting master auth request caused a crash.
	[2d8100dca18e] <HEAD>

	* src/lib-master/master-login.c:
	lib-master: Login client connection wasn't closed on some error
	conditions.
	[b93ae980b66b] <HEAD>

	* src/plugins/imap-zlib/imap-zlib-plugin.c:
	Compiler warning fix.
	[9efddc9abfce] <HEAD>

	* src/lib-master/master-login-auth.c, src/lib-master/master-login-
	auth.h:
	lib-master: Added timeout for auth master lookups.
	[0979e9e1e124] <HEAD>

	* src/lib-master/master-login.c:
	lib-master: Crashfix for handling auth master lookup failures.
	[6aaa6fcba131] <HEAD>

	* src/dsync/dsync.c:
	dsync: Added -D (debug) parameter.
	[f344426dab0a] <HEAD>

	* src/dsync/dsync.c:
	dsync: Changed -A parameter to -C.
	-A might in future mean "all users", similar to doveadm.
	[d9ec5fdb2d63] <HEAD>

	* src/doveadm/doveadm-kick.c, src/doveadm/doveadm-who.c:
	doveadm: Updated usage strings.
	[a3b211df3ae3] <HEAD>

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Added more consts to code.
	[1ca491b04710] <HEAD>

	* src/doveadm/doveadm-mail.c:
	doveadm: Mail commands now take username as -u parameter and all
	with -A. If -u or -a isn't given, use the current user's settings
	(without userdb lookup).
	[e0fe42c6424b] <HEAD>

	* src/lib/strnum.c:
	str_to_*(): Fixed them to actually work.
	[6973977bf626] <HEAD>

	* src/dsync/dsync-worker-local.c:
	dsync: Don't crash if shared namespace exists.
	[ad6b245cf3b5] <HEAD>

	* src/plugins/expire/expire-tool.c:
	expire-tool: Improved -t output.
	[77e9d36b3f82] <HEAD>

	* src/lib/strfuncs.c, src/lib/strfuncs.h:
	Removed is_numeric(). It's now called str_is_numeric().
	[01ab9b93f8bb] <HEAD>

	* src/anvil/anvil-connection.c, src/auth/auth-client-connection.c,
	src/auth/auth-master-connection.c, src/auth/auth-request-handler.c,
	src/auth/auth-request.c, src/auth/auth-worker-client.c, src/auth
	/auth-worker-server.c, src/auth/mech-digest-md5.c, src/auth/passdb-
	pam.c, src/auth/userdb.c, src/config/config-connection.c, src/config
	/config-parser.c, src/dict/dict-commands.c, src/imap/cmd-fetch.c,
	src/imap/cmd-select.c, src/imap/cmd-store.c, src/lib-auth/auth-
	master.c, src/lib-auth/auth-server-connection.c, src/lib-dict/dict-
	client.c, src/lib-dict/dict-db.c, src/lib-master/master-login-
	auth.c, src/lib-master/master-service.c, src/lib-settings/settings-
	parser.c, src/lib-sql/sql-api.c, src/lib-storage/index/dbox-multi
	/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-storage-
	rebuild.c, src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-
	storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
	storage/index/maildir/maildir-keywords.c, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/mail-search-
	build.c, src/lib-storage/mail-storage-service.c, src/lib/file-
	dotlock.c, src/lib/network.c, src/lib/restrict-access.c,
	src/plugins/acl/acl-backend-vfile.c, src/plugins/expire/expire-
	env.c, src/plugins/fts-squat/fts-backend-squat.c, src/plugins/imap-
	quota/imap-quota-plugin.c, src/plugins/imap-zlib/imap-zlib-plugin.c,
	src/plugins/trash/trash-plugin.c, src/plugins/zlib/zlib-plugin.c:
	Started using str_to_*() functions instead of libc's ones.
	[260e190306b0] <HEAD>

	* src/lib/Makefile.am, src/lib/lib.h, src/lib/strnum.c,
	src/lib/strnum.h:
	Added str_to_*() for converting strings to numbers, plus a few
	helper functions. The str_to_*() return failure also if integer is
	too large or too small to fit into destination.
	[b262aad23e59] <HEAD>

	* src/auth/auth-worker-client.c:
	auth: Code cleanup.
	[88a7e034ebc1] <HEAD>

2010-04-06  Timo Sirainen  <tss@iki.fi>

	* src/pop3/pop3-client.c:
	pop3: Don't break client connection count if client init fails.
	[1735958db2f1] <HEAD>

	* src/master/service-listen.c:
	master: Added asserts.
	[4fc3aed0ef03] <HEAD>

	* src/lib-storage/mailbox-list.c:
	mailbox_list_mailbox(): Avoid crashing with shared namespace prefix.
	[0e7125f1e27e] <HEAD>

	* src/lib-storage/mailbox-list.c:
	mailbox_list_mailbox(): Don't show namespace prefix as selectable if
	it points to INBOX.
	[944591ed8ceb] <HEAD>

2010-04-05  Timo Sirainen  <tss@iki.fi>

	* src/auth/db-passwd-file.c, src/auth/db-passwd-file.h, src/auth
	/passdb-passwd-file.c, src/auth/userdb-passwd-file.c:
	auth: Fixed using same passwd-file with different username_format
	settings.
	[2fbd31f90277] <HEAD>

	* src/lib-master/master-service-settings-cache.c, src/lib-master
	/master-service-settings-cache.h, src/lib-master/master-service-
	settings.h, src/lib-settings/settings-parser.c, src/lib-settings
	/settings-parser.h, src/lib-storage/mail-storage-service.c, src
	/login-common/login-settings.c:
	Fixed memory leak when parsing settings.
	[46d4f3264417] <HEAD>

	* src/plugins/fts-squat/squat-uidlist.c:
	Removed unnecessary variable.
	[8627be1f6de9] <HEAD>

	* src/config/config-request.c, src/lib-index/mail-cache-compress.c,
	src/lib-index/mailbox-list-index-sync.c, src/lib-index/test-mail-
	transaction-log-view.c, src/lib-mail/test-message-id.c, src/lib-
	storage/mail-storage-service.c, src/lib/test-istream-crlf.c:
	Small code changes to make static analyzer happier.
	[fa08ed2b7560] <HEAD>

	* src/util/gdbhelper.c:
	gdbhelper: Check wait() status result a bit more correctly.
	[3b8542d58181] <HEAD>

	* src/auth/mech-winbind.c, src/config/config-filter.c,
	src/doveadm/doveadm.h, src/lib-index/mail-index-sync-ext.c, src/lib-
	index/mail-transaction-log-view.c, src/lib-mail/message-decoder.c,
	src/lib-storage/index/index-sort-string.c, src/lib-storage/mail-
	search.c, src/lib/env-util.c, src/lib/test-istream-concat.c, src/lib
	/test-istream-seekable.c, src/plugins/expire/expire-plugin.c:
	Small code changes to make static analyzer happier.
	[c32f55615055] <HEAD>

	* src/lib/var-expand.c:
	var_has_key(): Small code cleanup.
	[462376c65e73] <HEAD>

	* src/lib-index/mail-index-map.c:
	lib-index: Small code cleanup.
	[7d76f4a9c5c8] <HEAD>

	* src/plugins/virtual/virtual-sync.c:
	virtual: Small code cleanup.
	[d61ffd81124c] <HEAD>

	* src/lib-storage/mailbox-list.c:
	lib-storage: Avoid crash with pointless configs.
	[bd2ac7e2fc40] <HEAD>

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Updating empty ACL to empty triggered unnecessary disk write.
	[960a01833e4c] <HEAD>

	* src/lib-index/mail-transaction-log-view.c:
	lib-index: Small code cleanup.
	[a65dbdedb202] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Crashfix for handling invalid MAIL/RCPT commands.
	[c435103ee0ff] <HEAD>

	* src/lib-index/mail-cache-transaction.c:
	lib-index: Minor code cleanup.
	[767eb5691fe2] <HEAD>

	* src/auth/mech-otp.c, src/auth/passdb-sql.c, src/lib-
	storage/index/mbox/mbox-storage.c:
	Removed dead code.
	[30815e260f47] <HEAD>

	* src/plugins/fts-solr/solr-connection.c:
	solr: Error handling fix when Solr didn't return 200.
	[1786d44bf90f] <HEAD>

	* src/imap-login/client-authenticate.c, src/imap-login/client.c,
	src/imap/cmd-append.c, src/imap/cmd-cancelupdate.c, src/imap/cmd-
	enable.c, src/imap/cmd-expunge.c, src/imap/cmd-fetch.c, src/imap
	/cmd-list.c, src/imap/cmd-search.c, src/imap/cmd-select.c, src/imap
	/cmd-sort.c, src/imap/cmd-status.c, src/imap/cmd-store.c, src/imap
	/cmd-thread.c, src/imap/imap-client.c, src/imap/imap-commands-
	util.c, src/imap/imap-fetch-body.c, src/imap/imap-search-args.c,
	src/imap/imap-search.c, src/imap/imap-status.c, src/lib-
	imap/Makefile.am, src/lib-imap/imap-arg.c, src/lib-imap/imap-arg.h,
	src/lib-imap/imap-bodystructure.c, src/lib-imap/imap-envelope.c, src
	/lib-imap/imap-id.c, src/lib-imap/imap-parser.c, src/lib-imap/imap-
	parser.h, src/lib-imap/imap-util.c, src/lib-storage/mail-search-
	build.c, src/plugins/imap-quota/imap-quota-plugin.c, src/plugins
	/imap-zlib/imap-zlib-plugin.c:
	lib-imap: Changed imap_arg accessing APIs. The new one is easier for
	both coders and static analyzers.
	[dbc864c0cff7] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	virtual: Improved user-visible error messages.
	[314f230b3a00] <HEAD>

	* src/lda/main.c, src/lmtp/client.c:
	lda, lmtp: Use layout=none for the raw mail storage. This removes
	the need for hardcoded /tmp dir and avoids stat(/tmp/Dovecot
	Delivery Mail).
	[9c94f073d014] <HEAD>

	* src/lib-storage/index/index-storage.c, src/lib-
	storage/list/Makefile.am, src/lib-storage/list/mailbox-list-none.c,
	src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list.c, src
	/lib-storage/mailbox-list.h, src/lib-storage/register/Makefile.am:
	lib-storage: Added "none" mailbox list driver. Fixed the most
	obvious crashes when using the driver.
	[6b1f08814e59] <HEAD>

	* src/lib-index/mail-index-alloc-cache.c:
	lib-index: mail_index_alloc_cache_get() now allows
	mailbox_path=NULL. Also did a small code cleanup with this change.
	[6a65c0e043e2] <HEAD>

	* src/lib-auth/auth-master.c:
	lib-auth: Make sure auth_master_*_lookup() returns non-NULL fields.
	[5e3e00d11ca5] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail storage service: -o parameter now overrides userdb settings
	too.
	[f9e6078ca95c] <HEAD>

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h:
	lib-master: Added master_service_set_has_config_override().
	[cdef53978a77] <HEAD>

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	Added settings_parse_unalias().
	[49c0232047f0] <HEAD>

	* src/lib-storage/mail-storage.c:
	lib-storage: Don't crash if root mail directory isn't given.
	[373e2b3a050a] <HEAD>

	* src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
	/mailbox-list-maildir-iter.c:
	lib-storage: MAILBOX_LIST_ITER_NO_AUTO_INBOX flag didn't work
	correctly.
	[87b7fc7f1e7d] <HEAD>

	* src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/list/mailbox-list-maildir-iter.c, src/lib-storage/mailbox-
	list.c:
	mailbox_list_mailbox(): Fixed INBOX and root dir lookups.
	[1930cc14cb11] <HEAD>

	* src/dsync/dsync.c:
	dsync: Set module/service for config lookup.
	[93c82d873408] <HEAD>

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: Check at storage init that root dir isn't a file. Delaying
	this check will just cause all kinds of errors later on.
	[f8d9bf024e0f] <HEAD>

	* src/dsync/dsync-worker-local.c:
	dsync: Don't repeatedly try to keep opening the same failing
	mailbox.
	[ea5bb5676b3f] <HEAD>

	* src/imap/cmd-select.c:
	Recent changes broke compiling.
	[c0cbcb9ea3c1] <HEAD>

	* src/lib-lda/mail-send.c:
	lib-lda: Crashfix when sending rejection mail with Auto-Submitted:
	header.
	[24661838390f] <HEAD>

	* src/auth/passdb.c:
	auth: Don't pass uninitialized value to callback function. (Even
	though callback shouldn't use it then.)
	[53c6cbb2932b] <HEAD>

	* src/plugins/quota/quota-maildir.c:
	Maildir++ quota: Error handling fix.
	[d931e61516d0] <HEAD>

	* src/lib-storage/list/mailbox-list-maildir-iter.c:
	layout=maildir++: Minor code cleanup.
	[2a4a4140c999] <HEAD>

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Potential crashfix if some plugin enabled sync_notify (e.g.
	quota).
	[49fa7e735b87] <HEAD>

	* src/master/service.c:
	master: Checking if fifo_listener was disabled was broken.
	[ac69462fc549] <HEAD>

	* src/login-common/sasl-server.c:
	login: Crashfix on error conditions.
	[321ec63de44f] <HEAD>

	* src/lib-index/mail-transaction-log.c:
	lib-index: Crashfix on error handling.
	[c88e1b2658a8] <HEAD>

	* src/auth/auth-master-connection.c, src/auth/auth-request-handler.c,
	src/config/old-set-parser.c, src/dict/dict-commands.c, src/doveadm
	/doveadm-dump-log.c, src/imap/cmd-close.c, src/imap/cmd-list.c,
	src/imap/cmd-select.c, src/imap/cmd-sort.c, src/imap/cmd-unselect.c,
	src/lda/main.c, src/lib-imap/imap-match.c, src/lib-index/mail-cache-
	transaction.c, src/lib-index/mail-index-sync-ext.c, src/lib-index
	/mail-index-sync-update.c, src/lib-index/mail-index-view-sync.c, src
	/lib-index/mail-index-view.c, src/lib-index/mail-transaction-log-
	file.c, src/lib-lda/mail-send.c, src/lib-mail/message-header-
	decode.c, src/lib-mail/message-header-parser.c, src/lib-mail/test-
	istream-header-filter.c, src/lib-storage/index/cydir/cydir-save.c,
	src/lib-storage/index/dbox-common/dbox-file-fix.c, src/lib-
	storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index/index-
	mail.c, src/lib-storage/index/index-thread.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-storage.h, src/lib-storage/index/maildir/maildir-sync.c,
	src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib-
	storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox/mbox-
	save.c, src/lib-storage/index/mbox/mbox-sync-update.c, src/lib-
	storage/list/mailbox-list-fs.c, src/lib-storage/mail-storage-
	service.c, src/lib/askpass.c, src/lib/file-cache.c, src/lib/file-
	dotlock.c, src/lib/home-expand.c, src/lib/istream-tee.c, src/lib
	/seq-range-array.c, src/lib/strescape.c, src/lib/strfuncs.c, src
	/login-common/client-common-auth.c, src/login-common/ssl-proxy-
	openssl.c, src/master/main.c, src/plugins/fts-squat/squat-trie.c,
	src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/pop3/pop3-client.c, src/util/maildirlock.c:
	Removed dead code.
	[0f98525e4567] <HEAD>

	* src/lib-index/mail-index-view-sync.c:
	lib-index: View syncing error handling fix.
	[f72884695084] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file-fix.c:
	dbox file fixing: If I/O error happens during read, don't finish the
	fix.
	[1f97d4217f73] <HEAD>

	* src/lib-mail/message-address.c:
	message address parser: Fixed potential problems with parsing
	invalid address groups.
	[ae8294182346] <HEAD>

	* src/lib-storage/list/mailbox-list-maildir.c:
	layout=maildir++: Fixed deleting mailboxes with mailbox=file
	storages (e.g. mbox)
	[59445c4055ab] <HEAD>

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Sync write error handling fix.
	[4a8f0388e854] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file.c:
	dbox: Save error handling fix.
	[0bc933c35a17] <HEAD>

	* src/lib-storage/index/cydir/cydir-sync.c:
	cydir: Error handling fix.
	[be9be5111ce2] <HEAD>

	* src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c,
	src/dsync/dsync-proxy-server.h, src/dsync/dsync-worker-local.c:
	dsync: Verify that msg-get and msg-copy reply has the correct UID.
	[ba75ab0c3e10] <HEAD>

	* src/plugins/quota/doveadm-quota.c:
	doveadm quota get: Fixed error handling.
	[4f23c349da0d] <HEAD>

2010-04-04  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-dump-log.c:
	doveadm dump log: Write uid[s]= prefix before all UID numbers.
	[3504ce6159f3] <HEAD>

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
	doveadm: Marked some functions ATTR_NORETURN.
	[d9e773db6920] <HEAD>

	* src/lib/ioloop-epoll.c:
	epoll: Improved error messages.
	[60a25bda7e02] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-sync-rebuild.c:
	dbox: When rebuilding index, don't try to shrink next_uid.
	[cf302ede55bc] <HEAD>

	* src/lib-storage/index/dbox-single/sdbox-storage.h, src/lib-
	storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
	storage/index/dbox-single/sdbox-sync.c:
	sdbox: Removed unused code.
	[1e118fd825c7] <HEAD>

	* src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.h, src/lib-storage/index
	/dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single
	/sdbox-sync.c:
	sdbox: Avoid logging multiple adjacent "Invalid dbox header size"
	errors.
	[d16bfa082e88] <HEAD>

	* src/lib-storage/index/dbox-single/sdbox-storage.c:
	sdbox: mailbox_update() could have changed UIDVALIDITY incorrectly.
	[46ede677961d] <HEAD>

2010-04-03  Timo Sirainen  <tss@iki.fi>

	* src/auth/passdb-vpopmail.c:
	vpopmail: Load vpopmail modules at startup. Hopefully helps with
	crashing?
	[7835a672117f] <HEAD>

2010-03-31  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync.c:
	dsync: Changed -b parameter to -m to be more consistent with
	dovecot-lda.
	[4e527339da8b] <HEAD>

	* src/dsync/dsync.c:
	dsync: Usage had wrong -a parameter.
	[b261004b8492] <HEAD>

	* src/auth/auth-master-connection.c, src/auth/auth-request-handler.c,
	src/auth/auth-stream.c, src/auth/auth-stream.h, src/auth/auth-
	worker-client.c, src/auth/passdb-blocking.c, src/auth/userdb-
	blocking.c:
	auth: If userdb lookup returns tempfail, return reason field (if
	any).
	[b40ec803421e] <HEAD>

	* doc/auth-protocol.txt, src/doveadm/doveadm-auth.c, src/doveadm
	/doveadm-mail.c, src/dsync/dsync.c, src/imap/main.c, src/lib-auth
	/auth-master.c, src/lib-auth/auth-master.h, src/lib-master/master-
	auth.c, src/lib-master/master-auth.h, src/lib-master/master-login-
	auth.c, src/lib-master/master-login-auth.h, src/lib-master/master-
	login.c, src/lib-master/master-login.h, src/lib-storage/mail-
	storage-service.c, src/lib-storage/mail-storage-service.h,
	src/lmtp/commands.c, src/login-common/client-common-auth.c, src
	/login-common/sasl-server.c, src/login-common/sasl-server.h,
	src/pop3/main.c:
	Added support for userdb lookup to fail with a reason (many API
	changes).
	[2e08ce368bc0] <HEAD>

	* src/auth/auth-request.c:
	auth: If userdb lookup fails internally, don't cache the result.
	[ce7ed594d99e] <HEAD>

2010-03-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	fs layout: Fixed listing child mailboxes under INBOX.
	[dbb05e38295a] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	Dynamic setting allocation was still a bit wrong.
	[b791ebb2c700] <HEAD>

2010-03-27  Timo Sirainen  <tss@iki.fi>

	* src/master/service-listen.c:
	master: Changed listener backlog calculations.
	[aefa279e2c70] <HEAD>

	* src/master/service-listen.c:
	master: Increased listen backlog for services without many
	processes.
	[96496e1d3d12] <HEAD>

2010-03-27  Pascal Volk  <user@localhost.localdomain.org>

	* is-tagged.py:
	is-tagged.py: Don't fail if Mercurial isn't available.
	[84ffb38839b9] <HEAD>

2010-03-27  Timo Sirainen  <tss@iki.fi>

	* src/pop3/main.c:
	pop3: Don't crash if INBOX can't be opened.
	[110ef59372cd] <HEAD>

	* src/lib-storage/mail-storage.c:
	lib-storage: Fix to previous change: Don't access freed memory.
	[f4ff6c7cdafe] <HEAD>

	* src/lib-storage/mail-storage.c, src/lib-storage/mail-user.h:
	lib-storage: If INBOX can't be opened/synced, log an error once.
	[0f0b8e1a2c55] <HEAD>

	* configure.in:
	configure: Removed special casing from tcpwrap settings. ifdef check
	handles this now in the actual code. (And now I see that I could
	have avoided that change by just fixing this check to use "== yes"
	instead of "!= no", but what's done is done.)
	[6891d20929ca] <HEAD>

	* src/config/settings-get.pl:
	config: Fixed all-settings building script.
	[2178c4569f38] <HEAD>

	* configure.in:
	configure: Minor description fix to previous change.
	[864b17ec5fac] <HEAD>

	* configure.in:
	configure: Disabled tcp-wrappers by default. At least until someone
	figures out why it fails in Slackware with "undefined reference to
	yp_get_default_domain" error.
	[51150f2b3be8] <HEAD>

	* src/plugins/zlib/zlib-plugin.c:
	zlib: Fixed compiling if both zlib and bzlib weren't used.
	[89c602af7e09] <HEAD>

	* src/lib-sql/driver-pgsql.c:
	pgsql: Don't leak memory if query returns multiple results. Found by
	Rainer Weikusat.
	[5a6aaf88f15c] <HEAD>

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h, src/lib-storage/mail-storage-service.c:
	Dynamic settings parser allocation logic was wrong. Default setting
	structures were being cleared after settings parser pool was freed.
	[fdb352eecdac] <HEAD>

	* src/lib-master/master-service-settings.c, src/lib/abspath.c,
	src/lib/abspath.h:
	Added t_binary_abspath().
	[f483bbface26] <HEAD>

	* src/imap/imap-fetch-body.c, src/lib-mail/message-search.c, src/lib-
	mail/message-search.h, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-mail.h, src/lib-storage/index/index-search.c,
	src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.h, src/lib-storage/mail.c, src/lib-storage/test-mail.c,
	src/plugins/virtual/virtual-mail.c:
	lib-storage: mail_get_parts() no longer returns const pointer. The
	struct message_part contained context-pointer and other APIs were
	using it, so the pointer really couldn't be const without casting it
	away sometimes.
	[679e99e430d7] <HEAD>

2010-03-27  Pascal Volk  <user@localhost.localdomain.org>

	* .hgignore, Makefile.am, is-tagged.py, src/config/doveconf.c,
	src/master/main.c, update-version.sh:
	{master,doveconf}: Show the version with hg's node id, if
	unreleased. Affects output from `dovecot --version` and `doveconf`.
	[a2c6c91635b5] <HEAD>

2010-03-27  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-index-modseq.c, src/lib-index/mail-index-sync.c,
	src/lib-otp/otp-parse.c, src/lib-settings/settings-parser.c, src/lib
	/execv-const.c, src/lib/fdpass.c:
	Avoid casting away const qualifiers wherever possible.
	[be5b93c18203] <HEAD>

	* src/lib/macros.h:
	Added CONST_STRUCT_MEMBER_P() and removed unused (broken)
	STRUCT_MEMBER().
	[961ded33ca0a] <HEAD>

	* src/auth/mech-winbind.c, src/auth/passdb-checkpassword.c, src/auth
	/userdb-checkpassword.c, src/dsync/dsync.c, src/lib-lda/smtp-
	client.c, src/lib-master/master-service-settings.c, src/lib-settings
	/settings-parser.c, src/master/main.c, src/util/script.c:
	Replaced execv*() with execv*_const() wherever possible.
	[43f2452b7dd8] <HEAD>

	* src/lib/Makefile.am, src/lib/execv-const.c, src/lib/execv-const.h:
	Added execv_const() and execvp_const() helper functions.
	[ddbc6e8b2776] <HEAD>

	* configure.in, run-test.sh, src/anvil/Makefile.am,
	src/dsync/Makefile.am, src/lib-dict/Makefile.am, src/lib-
	imap/Makefile.am, src/lib-index/Makefile.am, src/lib-
	mail/Makefile.am, src/lib-storage/index/Makefile.am,
	src/lib/Makefile.am:
	If valgrind exists, run unit tests using it. If valgrind prints any
	errors, fail the test.
	[c78fe7920deb] <HEAD>

	* src/lib-mail/test-message-decoder.c:
	Unit test fix.
	[c892f3f4aae8] <HEAD>

2010-03-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-service-settings-cache.c:
	lib-master: Fixed local host {} specific settings. Based on fix by
	Julien Moutinho
	[ad135ced2732] <HEAD>

	* src/lib-storage/mail-namespace.c:
	lib-storage: Namespace debug logging now logs the namespace name
	also.
	[094c6a082caf] <HEAD>

	* src/auth/auth-worker-client.c:
	auth: Error handling fix.
	[407c131ab50f] <HEAD>

	* src/auth/auth-request.c:
	auth: Added "tempfail" userdb field.
	[53f4e8e0166a] <HEAD>

2010-03-25  Pascal Volk  <user@localhost.localdomain.org>

	* doc/example-config/Makefile.am:
	example-config: Don't fail on the README file if builddir != srcdir.
	[a044c605fecf] <HEAD>

2010-03-25  Timo Sirainen  <tss@iki.fi>

	* src/util/tcpwrap-settings.c:
	tcpwrap: If tcpwrap support isn't built, don't add its service to
	config.
	[8f5bc2a21f99] <HEAD>

	* src/config/settings-get.pl:
	config: Parser script now supports preserving #ifdefs around
	service_settings.
	[b218d4ec6996] <HEAD>

	* src/imap/main.c, src/pop3/main.c:
	imap, pop3: Added -u <username> parameter to do userdb lookup.
	[93be85bb9db8] <HEAD>

	* src/lib-master/master-service-settings.c:
	lib-master: When getting settings via doveconf, tell it our module.
	[2d7b7fb99693] <HEAD>

	* src/master/main.c:
	master: Get settings without specifying module.
	[eecf62b49475] <HEAD>

	* src/config/doveconf.c:
	doveconf -e: Expands $variables and <files in settings.
	[2ed4d6da04af] <HEAD>

	* src/config/config-connection.c, src/config/config-filter.c,
	src/config/config-parser-private.h, src/config/config-parser.c,
	src/config/config-parser.h, src/config/config-request.c,
	src/config/doveconf.c, src/config/main.c:
	doveconf: When module is given, ignore checks for non-required
	settings.
	[02e0d6f0e1d4] <HEAD>

	* configure.in:
	configure: Fixed libwrap checking in some systems.
	[5b0a88cb9a12] <HEAD>

	* src/config/old-set-parser.c, src/master/master-settings.c:
	config: Avoid problems with trailing '/' in base_dir.
	[2fde82ea7cd9] <HEAD>

	* src/auth/auth-settings.c:
	auth: Increased default client_limit to 4096.
	[7d7540af8446] <HEAD>

	* src/master/master-settings.c:
	config: Log a warning if auth service's client_limit is too low.
	[4191ba54c8aa] <HEAD>

2010-03-23  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain.c:
	dsync: Added extra sanity check.
	[f6c2c0866aff] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.h:
	mdbox: Do delayed storage rebuild when closing mailbox. Doing it on
	storage destroy causes problems.
	[52d9b2d8c1e8] <HEAD>

	* src/util/script.c:
	script: Fixed using mail_uid/mail_gid settings as fallback.
	[841bfacb7ec3] <HEAD>

2010-03-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/driver-mysql.c:
	mysql: Fixed compiling with older libraries that didn't support
	CLIENT_MULTI_RESULTS.
	[9aa107613324] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-mail.c:
	dbox_mail_get_save_date(): Last change was broken.
	[9202254c8499] <HEAD>

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: get_save_date() should return 0, not the timestamp. Patch
	by Rainer Weikusat
	[1b588519f00c] <HEAD>

	* .hgsigs:
	Added signature for changeset 38e98c234af5
	[0f1b86898124] <HEAD>

	* .hgtags:
	Added tag 2.0.beta4 for changeset 38e98c234af5
	[1f25490893d6] <HEAD>

	* TODO, configure.in:
	Released v2.0.beta4.
	[38e98c234af5] [2.0.beta4] <HEAD>

	* src/lib/macros.h:
	Asserts now use __FUNCTION__ instead of __PRETTY_FUNCTION__. With
	gcc these had the same output, but clang's __PRETTY_FUNCTION__
	returns a larger output that's not useful.
	[56fd824b1d65] <HEAD>

	* src/lib/macros.h:
	Removed unused GNUC_FUNCTION* macros.
	[399f855035bc] <HEAD>

2010-03-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-common/dbox-save.h, src/lib-storage/index
	/dbox-single/Makefile.am, src/lib-storage/index/dbox-single/sdbox-
	copy.c, src/lib-storage/index/dbox-single/sdbox-file.c, src/lib-
	storage/index/dbox-single/sdbox-file.h, src/lib-storage/index/dbox-
	single/sdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
	storage.h:
	sdbox: Copying is now done with hard links.
	[1bb98ad1af8b] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-file.h, src/lib-storage/index/dbox-common/dbox-
	mail.c, src/lib-storage/index/dbox-common/dbox-save.c, src/lib-
	storage/index/dbox-single/sdbox-save.c:
	dbox: Don't write save-date to metadata, use file's ctime as
	fallback. Copying must change the save-date, so it couldn't work
	well in metadata.
	[cc42255736ad] <HEAD>

	* src/lib-storage/index/dbox-single/sdbox-mail.c:
	sdbox: Don't break when trying to access mail that's just being
	expunged.
	[d87741f0e95a] <HEAD>

2010-03-19  Timo Sirainen  <tss@iki.fi>

	* src/plugins/mail-log/mail-log-plugin.c:
	Increased initial memory pool size.
	[b7d7b44fcbc8] <HEAD>

	* src/auth/auth-request.c:
	auth: Previous change broke non-master logins..
	[5050e2eb1bfe] <HEAD>

	* src/auth/auth-request.c, src/auth/auth.c:
	auth: Fixed master user logins.
	[b05793c609ac] <HEAD>

	* src/config/config-parser.c:
	config: Changed key=$key to expand to first parser that changed it.
	This allows adding chained settings, like:

	key=foo key=$key bar key=$key baz

	-> key=foo bar baz
	[9621bb06b15c] <HEAD>

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	Added settings_parse_is_changed().
	[48f6353e2226] <HEAD>

	* doc/example-config/conf.d/imap.conf, doc/example-
	config/conf.d/lda.conf, doc/example-config/conf.d/lmtp.conf, doc
	/example-config/conf.d/mail.conf, doc/example-
	config/conf.d/pop3.conf:
	example-config: Added global mail_plugins, set per-protocol
	mail_plugins=$mail_plugins.
	[5798fdd4ad70] <HEAD>

	* src/config/doveconf.c:
	doveconf: Added -x parameter to expand $variables and <file in
	output.
	[a3c7f7021d87] <HEAD>

	* src/config/config-parser.c:
	config: Added support for "key=$key stuff"
	[513c43179ca9] <HEAD>

	* src/auth/auth-request.c:
	auth: Do username checks/translations even when
	ssl_username_from_cert=yes
	[bcd43231f723] <HEAD>

	* src/auth/auth-settings.c, src/auth/auth-settings.h, src/auth/auth.c,
	src/auth/auth.h, src/auth/main.c:
	auth: Fixed support for per-service auth settings.
	[bdef690d41d5] <HEAD>

	* src/config/config-connection.c, src/config/config-filter.c,
	src/config/config-filter.h, src/config/config-parser.c, src/config
	/config-parser.h, src/config/config-request.c, src/lib-master
	/master-service-settings.c, src/lib-master/master-service-
	settings.h:
	config: Send client a services names that have more specific
	settings.
	[30e2d65eb67a] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: If binary isn't standalone, enable core dumping at
	startup. Dropping privileges again should disable dumping, and later
	it's decided by the binary itself it wants to be dumpable.
	[edd11ffa467c] <HEAD>

	* src/lib-storage/mail-namespace.c:
	Check that namespace's alias_for points to a namespace with
	compatible storage.
	[566360ae12fc] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Storage rebuild panics now earlier if its namespace
	unexpectedly isn't found.
	[de26a4054910] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index
	/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
	mail.c:
	dbox: Use mail's transaction view instead of mailbox's view whenever
	possible. This fixes crash when saving/copying fails.
	[ae9d00b1ffdd] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Don't crash when rebuilding index if there's no alt storage
	dir.
	[d133801d8e83] <HEAD>

	* src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index
	/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
	save.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-search.c, src/lib-storage/index/index-sort-string.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/index-
	transaction.c, src/lib-storage/index/maildir/maildir-save.c, src
	/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox
	/mbox-save.c, src/lib-storage/mail-storage-private.h,
	src/plugins/expire/expire-plugin.c:
	lib-storage: Moved index transaction/view from index_transaction to
	mailbox_transaction.
	[0cf62ad4c7bf] <HEAD>

2010-03-18  Pascal Volk  <user@localhost.localdomain.org>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-kick.c, src/doveadm
	/doveadm-who.c, src/doveadm/doveadm-who.h, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h:
	doveadm: Added doveadm kick command. Moved some parts from doveadm-
	who.c to doveadm-who.h, so they can be reused.
	[b13e01d82083] <HEAD>

2010-03-18  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-service.c:
	lib-master: Don't assert-crash if client_limit < service_count.
	[183b1b4f6386] <HEAD>

	* src/master/service.c:
	master: Service's client_limit wasn't set correctly when
	service_count was non-zero.
	[41ce0172dcc8] <HEAD>

	* src/doveadm/doveadm-who.c:
	doveadm who: Use wildcards for user matching.
	[819fbb179cbc] <HEAD>

	* src/lib/Makefile.am, src/lib/wildcard-match.c, src/lib/wildcard-
	match.h:
	Added wildcard_match*() for matching strings with '*' and '?'
	wildcards.
	[f7d14405de09] <HEAD>

	* src/lib-master/master-service-settings.c:
	lib-master: -k parameter now always applies settings from
	environment. Otherwise the result would be inconsistent when
	executing doveconf vs. using config socket.
	[480bf5fefcce] <HEAD>

	* src/imap/imap-settings.c, src/pop3/pop3-settings.c:
	imap, pop3: Changed default client_limit to 1. So even if
	service_count is disabled, by default no more than 1 connection is
	allowed for the process.
	[53dadf274cc7] <HEAD>

2010-03-17  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c:
	mail_storage_service_read_settings() avoided execing doveconf too
	aggressively.
	[7fa0cd9e3a89] <HEAD>

2010-03-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index
	/dbox-multi/mdbox-save.c:
	mdbox: Don't crash when accessing a copied mail that hasn't been
	committed yet.
	[b7c66370b0f7] <HEAD>

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Don't crash if opening dovecot-acl fails with EACCES.
	[6b03aee63752] <HEAD>

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service.h:
	lib-master: Environment variables no longer override settings. Also
	did some other cleanups to settings reading and removed unused
	features.
	[1de4b554c914] <HEAD>

	* src/doveadm/doveadm.c:
	doveadm: Disable all debug logging, unless -D parameter is given.
	[7df150529ce3] <HEAD>

	* src/doveadm/doveadm-mail.c:
	doveadm: Continue going through users if one user's init fails.
	[35cda1373e6f] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	mail_storage_service_lookup_next() returns -2 for if _next() fails.
	[2c0e9bea1bea] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail_storage_service_next() didn't always set error string.
	[03b679cd8d1f] <HEAD>

	* src/doveadm/doveadm-mail.c, src/lib-storage/mail-storage-service.c,
	src/lib-storage/mail-storage-service.h, src/plugins/expire/expire-
	tool.c, src/util/script.c:
	mail_storage_service_lookup*() now separates userdb lookup and user
	setting errors.
	[15860795f158] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail_storage_service_next() now only returns -1 if user's privileges
	are invalid.
	[a66d3650e3c3] <HEAD>

	* src/auth/auth-worker-server.c:
	auth: Compiler warning fixes.
	[f855ac569e2f] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail storage service: Make sure we never exec doveconf when looking
	up config.
	[c6890ec714ec] <HEAD>

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h:
	lib-master: Added never_exec flag to master_service_settings_read().
	[f4486ab0ebdb] <HEAD>

	* src/doveadm/doveadm.c:
	doveadm: Keep config socket permanently open. This fixes a problem
	when config lookup was attempted while privileges were dropped.
	[0a469d9f1ea4] <HEAD>

	* src/auth/auth-worker-client.c, src/auth/auth-worker-client.h,
	src/auth/auth-worker-server.c, src/auth/passdb.c, src/auth/passdb.h,
	src/auth/userdb.c, src/auth/userdb.h:
	auth worker: Verify that both client and server see the same
	passdb/userdb IDs.
	[91ae9577aca9] <HEAD>

	* src/auth/auth-worker-client.c:
	auth: Fixed blocking userdb lookups.
	[bf26a6ec3389] <HEAD>

	* src/auth/auth-worker-client.c:
	auth worker: Fixes to handling invalid input from auth server.
	[55e3817f09da] <HEAD>

	* src/auth/auth-settings.c:
	auth: Changed worker process to die after auth server closes its
	connection.
	[87c462c463cc] <HEAD>

	* src/util/tcpwrap.c:
	tcpwrap: Added allow/deny severity to fix compiling on some systems.
	Patch by Tomi Vainio
	[0d17bb09c358] <HEAD>

	* src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap-
	quota-plugin.c:
	plugins: Changed to use the new client_find_namespace() API.
	[05e93cd2cb86] <HEAD>

	* src/imap/cmd-append.c, src/imap/cmd-copy.c, src/imap/cmd-create.c,
	src/imap/cmd-delete.c, src/imap/cmd-rename.c, src/imap/cmd-select.c,
	src/imap/cmd-status.c, src/imap/cmd-subscribe.c, src/imap/imap-
	commands-util.c, src/imap/imap-commands-util.h:
	imap: Some mailbox accessing commands failed with wrong error
	message.
	[7443f0b5218f] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Rebuilding storage ignored mails in alt storage.
	[cc0a8b0347f9] <HEAD>

	* src/config/old-set-parser.c:
	config: Fixed checking if listen setting contained an obsolete port
	value.
	[1630026e8803] <HEAD>

	* src/master/master-settings.c, src/master/service.c:
	master: login dir was created with wrong group.
	[7fd91455b66e] <HEAD>

	* src/master/master-settings.c:
	master: Create login dir even when we don't change its gid.
	[31184f3d868b] <HEAD>

	* src/lib/safe-mkdir.c:
	safe_mkdir(): uid/gid can now be -1 to mean "don't change it".
	[acc07775bab3] <HEAD>

2010-03-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-namespace.c:
	Namespace debug log message logged list value wrong.
	[56dda1de9b6f] <HEAD>

2010-03-14  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/auth-system.conf.ext, src/auth/passdb-
	bsdauth.c, src/auth/passdb-passwd.c, src/auth/passdb-shadow.c:
	auth: passdb bsdauth, passwd and shadow are now blocking by default.
	[5a20039e8a54] <HEAD>

	* src/auth/auth-settings.c:
	auth: Auth master process is now running as default_internal_user by
	default. Workers are still running as root, so PAM will continue to
	work as before.
	[858ad8aa7f8b] <HEAD>

	* src/master/service.c:
	master: Allow unix_listeners to also have user=$default_*_user
	[1e333d2918f1] <HEAD>

	* src/auth/auth.c, src/auth/main.c, src/auth/passdb-cache.h:
	auth: Fixed crash at deinit.
	[4ca5dfd58d47] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-sync.c:
	mdbox: Fixed a race condition when expunging messages.
	[3f43b5c47a0e] <HEAD>

	* src/auth/mech-gssapi.c:
	auth: Compile fix for gssapi.
	[841af633f8d0] <HEAD>

	* src/auth/auth-settings.c:
	auth: Fixed compiling config binary.
	[cb26518a7e51] <HEAD>

2010-03-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/driver-mysql.c:
	mysql: Enable CLIENT_MULTI_RESULTS Based on patch by Alain Williams
	[612db456c090] <HEAD>

	* src/auth/auth-client-connection.c, src/auth/auth-master-
	connection.c, src/auth/auth-request-handler.c, src/auth/auth-
	request-handler.h, src/auth/auth-request.c, src/auth/auth-request.h,
	src/auth/auth-settings.c, src/auth/auth-settings.h, src/auth/auth-
	worker-client.c, src/auth/auth.c, src/auth/auth.h, src/auth/db-
	ldap.c, src/auth/main.c, src/auth/mech-anonymous.c, src/auth/mech-
	digest-md5.c, src/auth/mech-gssapi.c, src/auth/mech-rpa.c, src/auth
	/mech-winbind.c, src/auth/passdb-cache.c, src/auth/passdb-ldap.c,
	src/auth/passdb-pam.c, src/auth/passdb.c, src/auth/passdb.h,
	src/auth/userdb-ldap.c, src/auth/userdb-prefetch.c,
	src/auth/userdb.c, src/auth/userdb.h:
	auth: Initial support for per-protocol auth settings. Currently the
	list of services is hard-coded. This should be changed so that
	config lookup returns the service names.
	[6e639833c3fc] <HEAD>

	* src/auth/auth-client-connection.c, src/auth/auth.c, src/auth/auth.h,
	src/auth/main.c, src/auth/mech.c, src/auth/mech.h:
	auth: Moved mechanism list out of struct auth. It could have been
	good there, except mechanism list is sent before there's any
	knowledge of what type of client is on the other side. Maybe in
	future different mechanism list could be given based on the unix
	socket name.
	[2b56c8b1e5ad] <HEAD>

	* src/auth/auth.c, src/auth/passdb-ldap.c, src/auth/passdb-passwd-
	file.c, src/auth/passdb-passwd.c, src/auth/passdb-shadow.c, src/auth
	/passdb-sql.c, src/auth/passdb.c, src/auth/passdb.h, src/auth
	/userdb-ldap.c, src/auth/userdb-passwd-file.c, src/auth/userdb-
	sql.c, src/auth/userdb.c, src/auth/userdb.h:
	auth: Store args in passdb/userdb_module, so init() doesn't need it
	as parameter.
	[ac58cc0c71aa] <HEAD>

	* src/auth/auth.c, src/auth/passdb.c, src/auth/passdb.h,
	src/auth/userdb.c, src/auth/userdb.h:
	auth: Completely removed struct auth_*db from *db.c
	[7909611180a8] <HEAD>

	* src/auth/auth.h, src/auth/passdb.c, src/auth/userdb.c:
	auth: Removed unused pool parameter from struct
	auth_passdb/auth_userdb.
	[cff28ea08c4a] <HEAD>

	* src/auth/auth-master-connection.c, src/auth/auth-worker-client.c,
	src/auth/auth.c, src/auth/passdb-bsdauth.c, src/auth/passdb-
	checkpassword.c, src/auth/passdb-ldap.c, src/auth/passdb-pam.c,
	src/auth/passdb-passwd-file.c, src/auth/passdb-sql.c, src/auth
	/passdb-vpopmail.c, src/auth/passdb.c, src/auth/passdb.h, src/auth
	/userdb-blocking.c, src/auth/userdb-blocking.h, src/auth/userdb-
	checkpassword.c, src/auth/userdb-ldap.c, src/auth/userdb-nss.c,
	src/auth/userdb-passwd-file.c, src/auth/userdb-passwd.c, src/auth
	/userdb-sql.c, src/auth/userdb-static.c, src/auth/userdb-vpopmail.c,
	src/auth/userdb.c, src/auth/userdb.h:
	auth: passdb/userdb backends no longer know about struct
	auth_passdb/auth_userdb.
	[3d085b851db8] <HEAD>

	* src/auth/auth-request.c, src/auth/auth-settings.c, src/auth/auth-
	worker-client.c, src/auth/auth.h, src/auth/passdb-blocking.c,
	src/auth/passdb.c, src/auth/passdb.h, src/auth/userdb-blocking.c,
	src/auth/userdb.c, src/auth/userdb.h:
	auth: Cleaned up struct auth_passdb/auth_userdb.
	[52eb8317514f] <HEAD>

	* src/auth/auth-settings.c:
	auth: Recent changes broke auth_username_chars checking.
	[f93195ae4bed] <HEAD>

	* src/auth/auth-common.h, src/auth/auth-request-handler.c,
	src/auth/auth.c, src/auth/auth.h, src/auth/main.c:
	auth: auth_penalty is now a global single instance.
	[56fc8bbe114c] <HEAD>

	* src/auth/auth-client-connection.c, src/auth/auth-request-handler.c,
	src/auth/auth-request-handler.h:
	auth: Auth request handler no longer keeps struct auth pointer.
	[5642902ae47b] <HEAD>

	* src/auth/auth-request.c, src/auth/auth-settings.c, src/auth/auth-
	settings.h, src/auth/auth-worker-server.c, src/auth/auth-worker-
	server.h, src/auth/auth.h, src/auth/main.c, src/auth/passdb-
	blocking.c, src/auth/passdb-bsdauth.c, src/auth/passdb-
	checkpassword.c, src/auth/passdb-ldap.c, src/auth/passdb-pam.c,
	src/auth/passdb-passwd-file.c, src/auth/passdb-sql.c, src/auth
	/passdb-vpopmail.c, src/auth/passdb.c, src/auth/userdb-blocking.c,
	src/auth/userdb-checkpassword.c, src/auth/userdb-ldap.c, src/auth
	/userdb-nss.c, src/auth/userdb-passwd-file.c, src/auth/userdb-
	passwd.c, src/auth/userdb-sql.c, src/auth/userdb-static.c, src/auth
	/userdb-vpopmail.c, src/auth/userdb.c:
	auth: auth_userdb and auth_passdb no longer has pointer to struct
	auth.
	[1a4c2e4bff75] <HEAD>

	* src/auth/auth-request.c, src/auth/auth-settings.c, src/auth/auth-
	settings.h, src/auth/auth.c, src/auth/auth.h, src/auth/mech-digest-
	md5.c, src/auth/mech-rpa.c:
	auth: Moved some variables generated from settings to struct
	auth_settings.
	[9675d9a54ac9] <HEAD>

	* src/lib/ioloop-select.c:
	ioloop-select: IO_ERROR wasn't really working.
	[f2b9387ba047] <HEAD>

	* src/config/config-connection.c, src/config/config-filter.c,
	src/config/config-filter.h, src/config/config-request.c, src/config
	/config-request.h, src/config/doveconf.c:
	doveconf: Show protocol/remote/local sections.
	[6acd45009331] <HEAD>

2010-03-12  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-settings.c:
	Create auth-client socket by default.
	[653ae02bf8cf] <HEAD>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	fs mailbox list: Don't show duplicate INBOXes
	[144858dc0820] <HEAD>

2010-03-11  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/mbox/istream-raw-mbox.c, src/lib-storage/index/mbox
	/mbox-sync-update.c, src/lib/test-istream-concat.c, src/lib/test-
	istream-seekable.c, src/master/service-anvil.c:
	Compiler warning fixes.
	[588892d877dc] <HEAD>

2010-03-10  Timo Sirainen  <tss@iki.fi>

	* README:
	README: Updated RFC list.
	[f49bb060d83d] <HEAD>

2010-03-09  Timo Sirainen  <tss@iki.fi>

	* src/imap-login/client.c:
	imap-login: Give a helpful error message if user tries to log in
	without giving command tag.
	[70a861ba3115] <HEAD>

	* src/config/old-set-parser.c:
	config: Fixed obsolete listen setting check to handle multiple
	addresses. Currently it doesn't handle obsolete settings having
	multiple addresses.
	[a38d597c5b59] <HEAD>

	* src/config/old-set-parser.c:
	config: Don't parse IPv6 address in listen setting as obsolete
	host:port.
	[bed9f7593c0e] <HEAD>

	* configure.in:
	configure: --with-lucene fails now with suggestion to use Solr
	instead.
	[3ebd6a4ad55a] <HEAD>

	* src/config/config-request.c:
	config: Keep unique section names in setting keys.
	[6abbea248921] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail storage service: mail_debug=yes now logs what happens to userdb
	settings.
	[2d082200657d] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail storage service: Only some userdb extra fields were used.
	[ce166f70ea71] <HEAD>

	* src/lib-index/mail-index-alloc-cache.c:
	lib-index: Index alloc cache fixes. It wasn't really working.
	[131436a6b8b3] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage.c:
	Compiler warning fix.
	[f1a2a8097903] <HEAD>

	* src/config/config-parser-private.h:
	config: Forgot to add header file.
	[370ee9717a6c] <HEAD>

	* src/lib/istream-limit.c:
	Reverted recent istream-limit cleanup. It broke things.
	[1473de6ba383] <HEAD>

	* src/config/Makefile.am, src/config/config-parser.c, src/config/old-
	set-parser.c, src/config/old-set-parser.h:
	config: Added support for reading v1.2 config files.
	[3a575415ce1a] <HEAD>

	* src/master/master-settings.c, src/master/service.c:
	master: Don't complain about duplicate inet_listeners with port=0
	(they're ignored).
	[7c2e38d7390c] <HEAD>

	* src/auth/auth.c:
	auth: Master passdbs weren't working.
	[3f9c7a8a92b9] <HEAD>

	* src/lib-storage/mailbox-list.c:
	Don't crash when trying to list shared namespace prefix.
	[83166197d2a5] <HEAD>

	* src/lib/failures.c, src/lib/mempool-alloconly.c:
	Reversing accidentally committed debug code.
	[6d260794f278] <HEAD>

2010-03-08  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-who.c:
	doveadm: Minor code cleanup.
	[bf978f2de0fd] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index
	/dbox-multi/mdbox-file.h, src/lib-storage/index/dbox-multi/mdbox-
	settings.c, src/lib-storage/index/dbox-multi/mdbox-settings.h, src
	/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.h:
	mdbox: Removed mdbox_max_open_files setting. It's now hard coded to
	2, and the files are closed after 30 seconds of being unused.
	[863eafcf8428] <HEAD>

	* src/login-common/client-common.c, src/login-common/client-common.h:
	login: Always disconnect clients after 3 minutes if they haven't
	logged in.
	[c56358283605] <HEAD>

	* src/lib-index/mail-index-transaction.c:
	lib-index: When index is reset, make sure old dovecot.index gets
	deleted.
	[6a2f7843327c] <HEAD>

	* src/lib-storage/index/dbox-single/sdbox-mail.c:
	dbox: Don't assert-crash if trying to read a mail that's being
	saved.
	[42e5d937555e] <HEAD>

	* src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c:
	zlib: Fixed seeking in zlib/bzlib input stream.
	[d05561b0c257] <HEAD>

	* src/lib/failures.c, src/lib/mempool-alloconly.c, src/lib/restrict-
	access.c:
	Improved setgid/setuid failure's error message.
	[2795a5c52d92] <HEAD>

	* doc/example-config/conf.d/auth-ldap.conf.ext, doc/example-
	config/conf.d/auth-sql.conf.ext:
	example-config: Added userdb static to auth-ldap|sql.conf.ext.
	[97216501ba6b] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-mail.c:
	mdbox: Minor error message improvement.
	[5be757538f8a] <HEAD>

	* src/plugins/quota/Makefile.am, src/plugins/quota/doveadm-quota.c,
	src/plugins/quota/quota-plugin.h:
	Added doveadm quota plugin.
	[6248d194f430] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-mail.c, src/doveadm
	/doveadm-settings.c, src/doveadm/doveadm-settings.h,
	src/doveadm/doveadm.c:
	doveadm: Added support for plugins.
	[b06d874708d4] <HEAD>

	* src/lib/module-dir.c, src/lib/module-dir.h:
	module_dir_load*(): Added ignore_dlopen_errors flag.
	[c9dc5c447db5] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	mail storage service: Exported modules as
	mail_storage_service_modules.
	[02d4cc578d4b] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail storage service: Fixed crashing when iterating through all
	users.
	[8f8d2f8e029c] <HEAD>

	* src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c:
	zlib: Several fixes to zlib/bzlib istreams.
	[681e1c702899] <HEAD>

	* src/lib/istream-limit.c:
	Simplified up istream-limit implementation.
	[d49913d2d75a] <HEAD>

2010-03-06  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/Makefile.am, doc/example-config/conf.d
	/auth-checkpassword.conf.ext, doc/example-config/conf.d/auth-
	deny.conf.ext, doc/example-config/conf.d/auth-ldap.conf.ext, doc
	/example-config/conf.d/auth-master.conf.ext, doc/example-
	config/conf.d/auth-passwdfile.conf.ext, doc/example-config/conf.d
	/auth-sql.conf.ext, doc/example-config/conf.d/auth-system.conf.ext,
	doc/example-config/conf.d/auth-vpopmail.conf.ext, doc/example-
	config/conf.d/auth.conf:
	example-config: Moved passdbs and userdbs to separate
	auth-*.conf.ext files.
	[b1d5982ffd14] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox index rebuild: GUID wasn't kept for messages.
	[f7755658257d] <HEAD>

	* src/doveadm/doveadm-dump-log.c:
	doveadm: dump didn't autodetect log if the path didn't contain '/'
	[68042df10756] <HEAD>

	* src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c:
	zlib: Improved error message logging. Log input stream names.
	[257556760b62] <HEAD>

	* src/lda/main.c, src/lib-storage/index/cydir/cydir-mail.c, src/lib-
	storage/index/dbox-common/dbox-file.c, src/lib-storage/index/maildir
	/maildir-mail.c, src/lib-storage/index/mbox/istream-raw-mbox.c, src
	/lib-storage/index/mbox/istream-raw-mbox.h, src/lib-
	storage/index/mbox/mbox-file.c, src/lib-storage/index/raw/raw-
	storage.c, src/plugins/zlib/zlib-plugin.c:
	Set input stream names for mail file streams.
	[638c4ea4a9ce] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	Increased initial memory pool size.
	[2375e84fd344] <HEAD>

	* src/lib/iostream-internal.h, src/lib/iostream.c, src/lib/istream-
	file.c, src/lib/istream-mmap.c, src/lib/istream-seekable.c,
	src/lib/istream.c, src/lib/istream.h, src/lib/ostream-file.c,
	src/lib/ostream.c, src/lib/ostream.h:
	i/ostreams can now have a name (e.g. file path).
	[5f16e488e7f6] <HEAD>

	* src/plugins/imap-zlib/imap-zlib-plugin.c, src/plugins/zlib/istream-
	bzlib.c, src/plugins/zlib/istream-zlib.c, src/plugins/zlib/istream-
	zlib.h, src/plugins/zlib/zlib-plugin.c, src/plugins/zlib/zlib-
	plugin.h:
	zlib: If reading corrupted compressed mail files, log an error.
	[def12863b620] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Fixed rebuilding map index that had duplicate records.
	[95f5ea024043] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-sync-rebuild.c:
	dbox index rebuild: Fixed setting next-uid and highest-modseq.
	[3bfb1e9f556b] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
	storage/mail-namespace.c, src/lib-storage/mail-storage.c:
	mdbox: Don't crash when trying to rebuild storage at deinit.
	[e3672e7c0f9f] <HEAD>

	* src/master/main.c:
	"dovecot stop" now waits for up to 3 seconds for master to actually
	die.
	[a81aceb9f55b] <HEAD>

	* src/lib-master/master-service-settings.c:
	lib-master: If config lookup from socket fails, fallback to execing
	doveconf.
	[1a76670bb50e] <HEAD>

	* src/imap/cmd-list.c:
	LIST-STATUS: When listing subscriptions, don't return STATUS for
	unsubscribed parents.
	[211df1a0646e] <HEAD>

2010-03-05  Timo Sirainen  <tss@iki.fi>

	* README:
	README: Updated RFC list.
	[a342e91e8815] <HEAD>

2010-03-04  Timo Sirainen  <tss@iki.fi>

	* src/anvil/penalty.c:
	anvil: Recent changes broke penalty timeout handling.
	[f48ce6049176] <HEAD>

	* src/lib-master/master-login.c:
	lib-master: Disconnect from auth service immediately after receiving
	reply. With the current code we can't reuse the connection anyway.
	[ada20715c470] <HEAD>

	* doc/example-config/conf.d/auth.conf, src/auth/auth-cache.c, src/auth
	/auth-cache.h, src/auth/auth-request.c, src/auth/passdb-cache.c:
	auth_cache_negative_ttl is now also used for password mismatches.
	[81e085f9bd75] <HEAD>

	* src/lib-master/anvil-client.c:
	lib-master: Call anvil callback in a separate data stack frame.
	[40eb5d5e6fbf] <HEAD>

	* src/lib/module-dir.c:
	Don't call module's deinit() if its init() hasn't been called.
	[65a91a112d7f] <HEAD>

	* src/lib-master/master-service-private.h, src/lib-master/master-
	service.c:
	lib-master: Avoid sending status updates to master too often.
	[df4d4fd0db00] <HEAD>

	* src/master/service-monitor.c:
	master: Try to read multiple status updates in a single read().
	[43a278ca5354] <HEAD>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	LIST (SUBSCRIBED): Don't assert-crash if list contained a name
	ending with separator.
	[c691706eee06] <HEAD>

2010-03-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: uidlist wasn't compressed often enough.
	[fe302c2714a3] <HEAD>

2010-03-02  Timo Sirainen  <tss@iki.fi>

	* src/anvil/penalty.c:
	Compiler warning fix.
	[60bc95bc10f2] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-sync-rebuild.c, src/lib-
	storage/index/dbox-multi/mdbox-storage-rebuild.c:
	[m]dbox: Fixes to rebuilding a broken index.
	[154f52b7a6fd] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-map.c:
	mdbox: Don't assert-cras if refcount in map file is too low.
	[9930d93bbd11] <HEAD>

	* src/login-common/sasl-server.c:
	*-login: When showing mail_max_userip_connections error, show the
	limit also.
	[893abe2f65e0] <HEAD>

	* src/lib-lda/Makefile.am, src/lib-lda/lmtp-client.c, src/lib-lda
	/lmtp-client.h, src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp
	/lmtp-proxy.h, src/lmtp/main.c, src/lmtp/main.h:
	lmtp proxy: Added support for DNS lookups.
	[cc3f6adc1e0b] <HEAD>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: Crashfix.
	[bd28e6f29711] <HEAD>

	* src/anvil/test-penalty.c:
	Compiler warning fixes.
	[fb0666d3b067] <HEAD>

	* src/anvil/penalty.c, src/anvil/test-penalty.c:
	Compiler warning fixes.
	[b2156189c319] <HEAD>

2010-03-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-thread.c:
	lib-storage: Don't loop infinitely on deinit when INBOX was auto-
	created.
	[f56c227a7fc9] <HEAD>

	* src/config/config-parser.c:
	config: Allow key=$var to contain other text after the $var.
	[4b744015a8ae] <HEAD>

	* src/lib/eacces-error.c:
	eacces_error_get*(): Mention if euid is parent directory's owner.
	[6a8ee83cbc8c] <HEAD>

2010-02-28  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/acl-mailbox-list.c:
	acl: Don't assert-crash if LIST returns mailbox name ending with
	separator.
	[64f6c458aaff] <HEAD>

	* src/lib-master/master-service-settings-cache.c:
	lib-master: Fixed crash on settings-cache deinit.
	[a5b4cbf46b9b] <HEAD>

	* src/lib-lda/lda-settings.c:
	lda: Default to /usr/sbin/sendmail, not to deprecated
	/usr/lib/sendmail.
	[7646f9783da0] <HEAD>

	* src/lib-lda/mail-deliver.c:
	lda: Enable "delivering to namespace prefix = INBOX" only for INBOX
	namespace.
	[1a888e13bf7f] <HEAD>

	* src/lib-master/master-service-settings-cache.c, src/lib-storage
	/mail-storage-service.c:
	Memory leak fixes.
	[dfca32cdab43] <HEAD>

	* src/lib-master/master-login.c:
	lib-master: Fixed crashing when using post-login scripts.
	[197d9beec207] <HEAD>

	* src/util/script.c:
	script: We want incoming fd to be blocking to avoid EAGAIN errors.
	[156f24de1081] <HEAD>

	* src/lib/unichar.c, src/lib/unicodemap.pl:
	unichar: Optimized 8bit character conversions.
	[23858ce6422e] <HEAD>

	* src/lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c,
	src/lib-mail/test-istream-header-filter.c, src/lib/istream-
	internal.h, src/lib/istream-tee.c, src/lib/istream.c,
	src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c:
	istreams: Reading sometimes returned wrong data, if parent istream
	had been modified. We'll now track changes to parent istream using
	access counters. If parent's access counter isn't the same as
	child's, the parent stream is seeked to expected position.
	[de2798fbbae6] <HEAD>

	* src/lib/istream-file.c:
	file istream: If trying to seek backwards in unseekable stream,
	panic. The previous way of just setting an error flag was getting
	ignored too easily and causing silent corruption in such situations.
	[6e32dbc4cd8f] <HEAD>

2010-02-25  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream.c:
	Removed istream test code that hasn't been tried for years.
	[0c3e147505f4] <HEAD>

2010-02-22  Timo Sirainen  <tss@iki.fi>

	* src/lib-settings/settings-parser.c:
	Settings parser: Fixed overriding settings in strlist blocks. For
	example plugin {} settings couldn't be overridden by userdb.
	[ba19f3c077a8] <HEAD>

	* src/lib-storage/index/dbox-single/sdbox-storage.c:
	dbox: mailbox_update() ignored cache_fields.
	[c77e71e0c5bd] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h:
	mdbox: mailbox_update() ignored cache_fields.
	[58e9e66050e9] <HEAD>

	* src/login-common/login-settings.c:
	pop3-login: Don't crash at startup.
	[32d6dd7ce7cb] <HEAD>

	* src/lib-storage/index/mbox/mbox-mail.c:
	mbox: Fixed header-md5/GUID lookup when it's done with mbox file
	unlocked.
	[d825d532db87] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-save.c:
	dbox: Save POP3 UIDL if it's specified.
	[676ba1a630e1] <HEAD>

	* src/lib-master/master-service-settings-cache.c, src/lib-storage
	/mail-storage-service.c:
	config reading: Don't crash if caller specified module=NULL or
	service=NULL.
	[5e6f64050daa] <HEAD>

2010-02-20  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 81e79df3fed8
	[8aaf030ae510] <HEAD>

	* .hgtags:
	Added tag 2.0.beta3 for changeset 81e79df3fed8
	[69d7fd0b175c] <HEAD>

	* NEWS, TODO, configure.in:
	Released v2.0.beta3.
	[81e79df3fed8] [2.0.beta3] <HEAD>

	* src/lib-master/Makefile.am:
	Makefile: Added missing master-service-settings.h
	[aaa6d5a58b2b] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: Ignore SIGALRM and SIGPIPE as early as possible. For
	example alarm() is used while reading configuration, which is done
	before master_service_init_finish().
	[aee98ecae688] <HEAD>

	* src/lib-master/master-service-settings.c:
	lib-master: Error handling fixes when reading config.
	[7394d1b828f7] <HEAD>

	* src/lib-master/master-login.c, src/lib-master/master-service-
	private.h, src/lib-master/master-service.c:
	lib-master: Make sure IO listeners aren't added back while doing
	auth lookup.
	[68169de12764] <HEAD>

	* src/config/config-connection.c, src/config/config-filter.c,
	src/config/config-filter.h, src/config/config-parser.c, src/config
	/config-request.c, src/config/config-request.h,
	src/config/doveconf.c, src/lib-master/Makefile.am, src/lib-master
	/master-service-settings-cache.c, src/lib-master/master-service-
	settings-cache.h, src/lib-master/master-service-settings.c, src/lib-
	master/master-service-settings.h, src/lib-storage/mail-storage-
	service.c, src/lib-storage/mail-storage-service.h, src/lib-storage
	/mail-storage-settings.c, src/lib-storage/mail-storage-settings.h,
	src/lmtp/client.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
	settings.h, src/login-common/login-settings.c, src/login-common
	/login-settings.h, src/login-common/main.c, src/login-common/ssl-
	proxy-openssl.c, src/master/main.c:
	lib-master: Added support for caching config lookups. Currently
	caching won't work if config has any remote {} blocks.
	[bf4822f0846b] <HEAD>

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	lib-settings: Added some consts to parameters.
	[19a5f933849c] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Always use "lmtp" module when looking up configuration.
	[24467421976b] <HEAD>

	* src/imap/imap-client.c:
	Increased initial memory pool size.
	[6c24afbea40e] <HEAD>

	* src/lib/network.c, src/lib/network.h:
	liblib: Added net_ip_cmp().
	[a4666cc8cb7b] <HEAD>

	* src/imap-login/client.c, src/pop3-login/client.c:
	*-login: Change login_set_roots earlier.
	[81537f59512a] <HEAD>

	* src/lib/mempool-alloconly.c, src/lib/mempool.h:
	liblib: Added pool_alloconly_get_total_used/alloc_size() functions.
	[d7108785c40a] <HEAD>

	* src/lib-settings/settings-parser.c:
	settings_parse_stream_read(): Try using existing data from stream
	first.
	[07059f9aead8] <HEAD>

	* src/lib-master/master-service-settings.c:
	lib-master: Minor config code cleanup.
	[eb3b89650eaf] <HEAD>

	* src/lib-index/mail-index-alloc-cache.c:
	lib-index: Keep indexes open while they are in alloc-cache.
	[e2c2ce0ce5fa] <HEAD>

	* src/lib-index/mail-index-alloc-cache.c:
	lib-index: When a closed index's refcount drops to 0, free it
	immediately.
	[3c0d86e79040] <HEAD>

	* src/lib-index/mailbox-log.c:
	mailbox log: Don't log an error if two processes rotate the log at
	the same time.
	[cdced48a276a] <HEAD>

	* src/lib-index/mail-index-strmap.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/index-thread-private.h, src/lib-
	storage/index/index-thread.c:
	lib-storage: Thread strmap must not be opened before index is
	opened.
	[0b139aae6276] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-penalty.c,
	src/doveadm/doveadm.c, src/doveadm/doveadm.h:
	doveadm: Added penalty command to dump auth penalty state.
	[f69f32ffa9c6] <HEAD>

	* src/anvil/anvil-connection.c, src/anvil/penalty.c,
	src/anvil/penalty.h:
	anvil: Added PENALTY-DUMP command to dump penalty state.
	[1282d027ce67] <HEAD>

	* src/anvil/penalty.c:
	anvil: Fixed penalty "last update" tracking.
	[3f2d9da0c6bc] <HEAD>

	* src/anvil/anvil-connection.c:
	anvil: Disconnect client if it sends invalid input.
	[e51089454ab0] <HEAD>

	* src/doveadm/doveadm-dump-index.c, src/doveadm/doveadm-dump-
	mailboxlog.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h:
	doveadm: Removed duplication of unixdate2str().
	[e71eb3faa075] <HEAD>

	* src/anvil/Makefile.am:
	Makefile: Fixed building anvil test.
	[5ee9e82f3b68] <HEAD>

	* src/auth/auth-penalty.c:
	auth: Track penalty for IPv6 addresses with their /48 mask.
	[77d990bee666] <HEAD>

	* src/anvil/Makefile.am, src/anvil/anvil-connection.c,
	src/anvil/penalty.c, src/anvil/penalty.h, src/anvil/test-penalty.c,
	src/auth/auth-penalty.c:
	auth/anvil: Penalty is no longer increased if the same user+pass
	combination was recently used. This should avoid penalty increasing
	for IPs where a user's misconfigured client tries to keep
	authenticating with wrong user/pass. This check works only for
	plaintext authentication.

	Currently the code that keeps track of what user/passwords have been
	tried is pretty simple, and hardcoded to remember max. 10 of them.
	[4cdb58bb0360] <HEAD>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	fs layout: Don't "File name too long" errors if giving too long path
	to LIST.
	[5380ee17392f] <HEAD>

2010-02-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-mail.c:
	mdbox: Fixed plugins accessing unsaved mail's stream.
	[d3e2444aa0ea] <HEAD>

	* src/plugins/zlib/zlib-plugin.c:
	zlib: Fixed the check to disallow saving messages that look
	compressed.
	[fce6ee7ab18f] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-mail.c:
	dbox: Fixed looking up physical size when it wasn't in metadata.
	[97a4289d6d4b] <HEAD>

	* Makefile.am:
	Makefile: Added empty install-exec-hook to fix older automakes.
	[f11ffb8a65f8] <HEAD>

	* src/lib-auth/auth-client.c, src/lib-auth/auth-client.h, src/login-
	common/main.c:
	*-login: If we disconnect from auth server, make sure we reconnect
	back when necessary.
	[ce1dd7328b20] <HEAD>

	* src/plugins/zlib/zlib-plugin.c:
	zlib: Added support for dbox and mdbox.
	[300ac0c2cac3] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-file.h, src/lib-storage/index/dbox-common/dbox-
	mail.c, src/lib-storage/index/dbox-common/dbox-save.c, src/lib-
	storage/index/dbox-multi/mdbox-file-purge.c, src/lib-storage/index
	/dbox-multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-
	single/sdbox-sync-rebuild.c, src/lib-storage/mail-storage-private.h:
	lib-storage: Added support for plugins to specify message's physical
	size when saving. Changed dbox to save this value to metadata, and
	use when present.
	[19df4309e389] <HEAD>

	* src/lib-storage/index/istream-mail-stats.c, src/lib/istream-limit.c:
	filter istreams: Let default seek implementation optimize away
	unnecessary seeks.
	[90f4663211ba] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-save.c, src/lib-storage/index
	/dbox-common/dbox-save.h, src/lib-storage/index/dbox-multi/mdbox-
	save.c, src/lib-storage/index/dbox-single/sdbox-save.c:
	dbox: Allow plugins to change output stream while saving messages.
	[0723154256d9] <HEAD>

	* src/lib-auth/auth-server-connection.c:
	lib-auth: Make sure reconnection timeout if removed after getting
	connected.
	[082bd896e448] <HEAD>

	* src/log/Makefile.am, src/log/common.h, src/log/log-connection.c,
	src/log/main.c:
	log: Removed unnecessary common.h.
	[a16d3b54b9bb] <HEAD>

	* src/login-common/client-common.c, src/login-common/login-common.h,
	src/login-common/main.c:
	*-login: Disconnect from auth server after idling for a minute.
	[fc77d1cd1201] <HEAD>

	* src/lib-auth/auth-client.c, src/lib-auth/auth-client.h, src/lib-auth
	/auth-server-connection.c, src/lib-auth/auth-server-connection.h:
	lib-auth: Added auth_client_disconnect().
	[7a7b2cbc6f91] <HEAD>

	* src/auth/auth-request-handler.c:
	auth: Don't leak memory if auth client sends a buggy request.
	[fa8a0f453774] <HEAD>

	* src/auth/auth-client-connection.c, src/auth/auth-request-handler.c,
	src/auth/auth-request-handler.h, src/auth/auth-request.c, src/auth
	/auth-request.h:
	auth: Don't loop through active requests every 5 seconds, looking
	for timeouts.
	[d3697efd18f3] <HEAD>

2010-02-18  Timo Sirainen  <tss@iki.fi>

	* dovecot.m4:
	dovecot.m4: Don't use any AS_*() macros. Also removed version
	checking because it was done with AS_* macro. RHEL5 doesn't have new
	enough autoconf..
	[ae23a1a94376] <HEAD>

	* dovecot.m4:
	dovecot.m4: Default dovecotdir to $prefix/lib/dovecot/
	[912c132337ed] <HEAD>

	* configure.in:
	configure: Set ACLOCAL_AMFLAGS so make finds dovecot.m4.
	[c5cbc99f4627] <HEAD>

	* Makefile.am, autogen.sh, configure.in, dovecot.m4, src/plugins/fts-
	solr/Makefile.am, src/plugins/fts-squat/Makefile.am, src/plugins
	/imap-acl/Makefile.am, src/plugins/imap-quota/Makefile.am,
	src/plugins/imap-zlib/Makefile.am, src/plugins/mail-log/Makefile.am,
	src/plugins/trash/Makefile.am:
	Added dovecot.m4 file that external plugins can use. Based on patch
	by Dennis Schridde.
	[80a11f8650a4] <HEAD>

	* src/dict/dict-commands.c, src/lib-dict/dict-client.c, src/lib-dict
	/dict-file.c, src/lib-dict/dict-private.h, src/lib-dict/dict-sql.c,
	src/lib-dict/dict.c, src/lib-dict/dict.h:
	dict: Added dict_iterate_init_multiple().
	[6aa76d89195d] <HEAD>

	* src/dsync/dsync-data.c, src/dsync/dsync-proxy.c, src/dsync/dsync-
	worker-local.c, src/dsync/test-dsync-common.c, src/imap/imap-
	status.c, src/lib-storage/mail-storage.h, src/lib-storage/mail.c:
	Added mail_guid_128_to_string(). Used it in several places.
	[5ec28d7a5d13] <HEAD>

	* src/auth/password-scheme.c:
	auth: Added SHA512 and SSHA512 password schemes. Based on patch by
	Mark Washenberger.
	[6936dbe28947] <HEAD>

	* src/lib/sha2.c, src/lib/sha2.h:
	Added sha512_*() functions.
	[9c188cfba679] <HEAD>

	* src/lib-storage/mail-copy.c:
	lib-storage: Fixed error handling in mailbox_copy().
	[a792d411e73e] <HEAD>

	* src/lib-storage/list/mailbox-list-fs.c:
	mailbox_list_get_mailbox_name_status(): Fixed INBOX handling with FS
	layout.
	[c0c4898fc803] <HEAD>

	* src/lib-storage/index/mbox/Makefile.am, src/lib-storage/index/mbox
	/mbox-storage.c:
	mbox: Fail at startup if service doesn't have client_limit=1.
	[28c3486864f6] <HEAD>

	* src/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox
	/mbox-sync-private.h, src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Fixed getting header MD5 (GUID) if it wasn't already in index.
	[5284f3662431] <HEAD>

	* src/imap/imap-fetch.c:
	imap: FETCH X-GUID and X-MAILBOX didn't add a space after their
	value.
	[fdd652c73073] <HEAD>

	* src/lib-storage/mailbox-list.c:
	mail_full_filesystem_access=yes: Replace absolute path with mailbox
	name whenever possible. For example "foo", "~/mail/foo" and
	"~user/mail/foo" can all point to the same "foo" mailbox. When
	accessing it via "foo", it may have different index settings and
	such, so convert the other forms to it whenever possible.
	[2c994f2f1ce6] <HEAD>

	* doc/example-config/conf.d/mail.conf, src/lib-storage/index/maildir
	/maildir-copy.c, src/lib-storage/index/maildir/maildir-settings.c,
	src/lib-storage/index/maildir/maildir-settings.h:
	maildir: Always try to preserve message GUIDs when copying. Because
	of this, maildir_copy_preserve_filename setting is now removed.
	[1b38bf29ac40] <HEAD>

	* src/lib-storage/index/maildir/maildir-copy.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-storage.h:
	maildir_copy_with_hardlinks=yes no longer has a race condition.
	[502d6048a281] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir save: Detect when trying to use duplicate GUIDs (filenames)
	and rename them.
	[386b13dfee04] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Make sure we message's UID isn't tried to be changed
	unexpectedly.
	[9fdeca77d421] <HEAD>

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Message GUID wasn't correctly set to expunge-GUID
	transaction records.
	[843a9d68f2f5] <HEAD>

2010-02-15  Timo Sirainen  <tss@iki.fi>

	* src/plugins/virtual/virtual-storage.c:
	virtual: Implement required new methods.
	[e4a8cc98fd15] <HEAD>

	* src/lib-storage/list/mailbox-list-maildir-iter.c:
	maildir++: Fixed listing INBOX
	[c5cbaca43811] <HEAD>

	* src/lib-storage/index/maildir/maildir-storage.c:
	maildir: Crashfix to mailbox_update()
	[6247eb25fd1a] <HEAD>

	* src/dsync/dsync-worker-local.c:
	dsync: Don't try to change INBOX's GUID.
	[8d5e2deb4ce0] <HEAD>

	* src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/mail-
	storage.c:
	mbox: Make sure we have valid mailbox GUID when returning it.
	[1afcc09c2c6c] <HEAD>

	* src/lib-storage/index/mbox/istream-raw-mbox.c:
	mbox: istream_raw_mbox_get_body_size() no longer crashes if header
	wasn't read.
	[8f251e0bc02d] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/index-storage.c:
	mailbox_update(): Updating uid_validity requires also reseting
	index.
	[a3ec94b25456] <HEAD>

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: Don't allow INBOX creation succeed, if it already exists.
	[189197f30055] <HEAD>

	* src/dsync/dsync-worker-local.c:
	dsync: Skip alias namespaces when syncing subscriptions.
	[bc376612e590] <HEAD>

	* src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.c, src/lib-
	storage/index/index-transaction.c, src/lib-storage/mail-storage.c,
	src/lib-storage/mailbox-list.c:
	Memory usage optimizations.
	[1d6e99a9703f] <HEAD>

	* src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.c:
	dsync: Error handling fixes.
	[6a8db6824157] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/maildir/maildir-storage.c,
	src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw
	/raw-storage.c:
	lib-storage: Increased initial mailbox pool sizes.
	[44759fb882aa] <HEAD>

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: Don't return mailbox GUID if it's coming from in-memory index.
	[ead16c7d9291] <HEAD>

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy_expunge: Fixes to handling mailbox deletion and renames.
	[4fd02780d09f] <HEAD>

	* src/lib-storage/mail-storage.c:
	Mailbox deletion: If mailbox deletion seems to have crashed, allow
	retrying the deletion. We'll assume that if deletion transaction was
	written over 5 minutes ago, the deletion crashed.
	[eae6e4a7ee55] <HEAD>

	* src/lib-index/mail-index.c, src/lib-index/mail-index.h, src/lib-
	index/mail-transaction-log.c, src/lib-index/mail-transaction-log.h:
	lib-index: Added mail_index_get_modification_time().
	[31aca1df525b] <HEAD>

	* src/lib-storage/index/index-storage.c, src/lib-storage/list/mailbox-
	list-fs.c, src/lib-storage/mail-storage.c:
	lib-storage: Fixes to rename error handling.
	[ea8f213f0e19] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-common/dbox-storage.c, src/lib-storage/index/index-storage.c,
	src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox/mbox-
	storage.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage.c:
	lib-storage: Removed INBOX auto-creating from backend code. Added
	bool box->inbox.
	[26b9138d561f] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
	/lib-storage/index/raw/raw-storage.c, src/lib-storage/mail-
	storage.c:
	lib-storage: Use a default non-NULL mailbox.free() so plugins don't
	have to check for it.
	[debbf3f39e0c] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-thread-private.h, src/lib-storage/index/index-
	thread.c, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw/raw-
	storage.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.c, src/lib-storage/test-mailbox.c, src/plugins/acl
	/acl-mailbox.c, src/plugins/fts/fts-storage.c, src/plugins/quota
	/quota-storage.c, src/plugins/virtual/virtual-storage.c:
	lib-storage: Added mailbox.free() method. Use it instead of close()
	where necessary.
	[e8fc01d03aea] <HEAD>

	* src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index
	/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
	save.c, src/lib-storage/index/maildir/maildir-copy.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/mbox
	/mbox-save.c, src/lib-storage/mail-storage.c:
	lib-storage: Removed some code duplication.
	[0bcb415c7a71] <HEAD>

	* src/imap/cmd-rename.c, src/imap/imap-commands-util.c, src/imap/imap-
	commands-util.h, src/lib-storage/list/mailbox-list-fs.c:
	Fixed creating mailboxes over \noselect mailboxes.
	[14b287a3523e] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox-
	storage.h, src/lib-storage/index/dbox-multi/mdbox-storage.c, src
	/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/maildir/maildir-settings.c, src/lib-
	storage/index/maildir/maildir-settings.h, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/list/Makefile.am, src/lib-storage/list/mailbox-list-
	delete.c, src/lib-storage/list/mailbox-list-fs-flags.c, src/lib-
	storage/list/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-
	list-fs.c, src/lib-storage/list/mailbox-list-fs.h, src/lib-
	storage/list/mailbox-list-maildir-iter.c, src/lib-storage/list
	/mailbox-list-maildir.c, src/lib-storage/list/mailbox-list-
	maildir.h, src/lib-storage/mail-storage-settings.c, src/lib-storage
	/mail-storage-settings.h, src/lib-storage/mailbox-list-private.h,
	src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h,
	src/plugins/virtual/virtual-storage.c:
	lib-storage: Changed mailbox_list.iter_is_mailbox() API.
	[be5590207f20] <HEAD>

2010-02-14  Timo Sirainen  <tss@iki.fi>

	* src/plugins/listescape/listescape-plugin.c:
	listescape: Crashfix
	[709351cde842] <HEAD>

	* src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c:
	Compiler warning fix.
	[9b57e7f41c53] <HEAD>

	* src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-mailbox.c,
	src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log
	/mail-log-plugin.c, src/plugins/notify/notify-noop.c,
	src/plugins/notify/notify-plugin-private.h, src/plugins/notify
	/notify-plugin.c, src/plugins/notify/notify-plugin.h,
	src/plugins/notify/notify-storage.c:
	Fixed plugins to use the new mailbox rename API.
	[38897b223957] <HEAD>

	* src/dsync/dsync-worker-local.c, src/imap/cmd-rename.c, src/lib-
	storage/index/cydir/cydir-storage.c, src/lib-storage/index/dbox-
	common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox-
	storage.h, src/lib-storage/index/dbox-multi/mdbox-storage.c, src
	/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw/raw-
	storage.c, src/lib-storage/index/shared/shared-list.c, src/lib-
	storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-
	maildir.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-storage
	/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src/lib-
	storage/mailbox-list.h, src/lib-storage/test-mailbox.c, src/plugins
	/lazy-expunge/lazy-expunge-plugin.c, src/plugins/virtual/virtual-
	storage.c:
	lib-storage: Mailbox renaming API changed.
	[292562f9b12c] <HEAD>

	* src/lib-storage/index/dbox-single/sdbox-file.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-storage.h, src/lib-storage/index/dbox-single
	/sdbox-sync-rebuild.c:
	sdbox: Fixed accessing alt directories.
	[3d7fb69184b3] <HEAD>

	* src/plugins/zlib/ostream-zlib.c:
	zlib: If writing without being corked, flush the stream.
	[52e1f46fe0ba] <HEAD>

	* src/lib/ostream-file.c, src/lib/ostream-internal.h,
	src/lib/ostream.c:
	ostream: If cork method isn't implemented, keep track of corking
	state internally.
	[3b544841d5d7] <HEAD>

2010-02-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage.c:
	mailbox_open(): Don't crash if opening non-stream mailbox fails.
	[72a345621cd2] <HEAD>

	* doc/example-config/conf.d/master.conf:
	example-config: Updated default_*_user comments.
	[285465d71322] <HEAD>

	* doc/example-config/conf.d/master.conf, src/anvil/anvil-settings.c,
	src/dict/dict-settings.c, src/dns/dns-client-settings.c, src/imap-
	login/imap-login-settings.c, src/master/master-settings.c,
	src/master/master-settings.h, src/master/service.c,
	src/pop3-login/pop3-login-settings.c, src/util/tcpwrap-settings.c:
	Added default_internal_user and default_login_user settings, which
	services use as default users.
	[bf84cb98bd04] <HEAD>

	* src/config/config-parser.c, src/config/config-parser.h, src/config
	/config-request.c, src/config/config-request.h, src/lib-settings
	/settings-parser.c, src/lib-settings/settings-parser.h:
	config: $setting as value returns the setting's current value.
	[c26002b81f57] <HEAD>

	* src/master/service.c:
	master: Check for the existence of service executable after all.
	[951a90e95ebe] <HEAD>

	* configure.in:
	configure: If libwrap isn't used, don't add its service to doveconf.
	[dc6cf5f10602] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	Compiler warning fix.
	[ec7a2fe4aab2] <HEAD>

	* configure.in:
	configure: libwrap detection cleared $LIBS
	[b14e694fc8b4] <HEAD>

	* configure.in, src/plugins/Makefile.am, src/plugins/imap-
	zlib/Makefile.am, src/plugins/imap-zlib/imap-zlib-plugin.c,
	src/plugins/imap-zlib/imap-zlib-plugin.h, src/plugins/zlib/zlib-
	plugin.c, src/plugins/zlib/zlib-plugin.h:
	Added imap-zlib plugin for enabling COMPRESS=DEFLATE extension.
	[29f5567e0a9a] <HEAD>

	* src/plugins/zlib/ostream-zlib.c:
	zlib: o_stream_create_deflate() shouldn't have enabled zlib header.
	[15feca627630] <HEAD>

	* src/lib-imap/imap-parser.c, src/lib-imap/imap-parser.h:
	lib-imap: Added imap_parser_set_streams().
	[e0e6d941941c] <HEAD>

	* src/imap/imap-client.c, src/imap/imap-client.h:
	imap: Added module_contexts to struct client.
	[57814e99b451] <HEAD>

	* src/imap/imap-client.h, src/imap/main.c, src/lib-master/master-
	auth.h, src/login-common/sasl-server.c, src/login-common/ssl-proxy-
	openssl.c, src/login-common/ssl-proxy.c, src/login-common/ssl-
	proxy.h:
	imap: Remember if TLS compression is enabled.
	[fd5141e85076] <HEAD>

	* src/lib/ostream.c:
	o_stream_uncork(): Use flush() as default uncork operation.
	[9f0014f19bd3] <HEAD>

	* src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c,
	src/plugins/zlib/istream-zlib.h, src/plugins/zlib/zlib-plugin.c:
	zlib: Reimplemented gz/bz2 input streams by using the uncompression
	functions directly.
	[74d9dbee1399] <HEAD>

	* src/lib-storage/index/index-mail.c, src/lib-storage/index/index-
	mail.h:
	lib-storage: If plugin changes mail's input stream, don't assert-
	crash on close.
	[d73634c82feb] <HEAD>

2010-02-12  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream.c:
	i_stream_grow_buffer(): Never shrink the buffer.
	[fe70069debcb] <HEAD>

	* src/doveadm/doveadm-mail.c, src/dsync/dsync-worker-local.c, src/imap
	/cmd-append.c, src/imap/cmd-copy.c, src/imap/cmd-create.c, src/imap
	/cmd-delete.c, src/imap/cmd-select.c, src/imap/imap-status.c,
	src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib-
	storage/index/cydir/cydir-storage.c, src/lib-storage/index/dbox-
	common/dbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-
	storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c,
	src/lib-storage/index/dbox-multi/mdbox-storage.h, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-storage.h, src/lib-storage/index/index-storage.c,
	src/lib-storage/index/index-storage.h, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
	/lib-storage/index/raw/raw-storage.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail-
	storage.h, src/lib-storage/test-mail-storage.h, src/lib-storage
	/test-mailbox.c, src/lmtp/commands.c, src/plugins/autocreate
	/autocreate-plugin.c, src/plugins/expire/expire-tool.c, src/plugins
	/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap-quota-
	plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/listescape/listescape-plugin.c, src/plugins/mbox-snarf
	/mbox-snarf-plugin.c, src/plugins/quota/quota-count.c,
	src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
	storage.c, src/plugins/zlib/zlib-plugin.c, src/pop3/pop3-client.c:
	lib-storage: Removed input parameter from mailbox_alloc(), added
	mailbox_open_stream()
	[b7c8221cea5b] <HEAD>

	* src/auth/auth-request.c:
	auth: When caching user-given passwords, cache their SHA1, not the
	plaintext.
	[46ae2e53d688] <HEAD>

2010-02-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-file-purge.c:
	Compiler warning fix.
	[134d59aece1a] <HEAD>

	* Makefile.am, dovecot-config.in.in:
	dovecot-config: Renamed DOVECOT_*DIR to dovecot_*dir after all. This
	makes using them easier in Makefile.ams as install destination
	paths.
	[4458ce041538] <HEAD>

2010-02-09  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-cache.c, src/lib-index/mail-index.c:
	lib-index: Fixed logging file creation EACCES failures.
	[442c980d6221] <HEAD>

	* src/dsync/dsync-worker-local.c, src/imap/cmd-list.c, src/imap/cmd-
	status.c, src/imap/imap-status.c, src/imap/imap-status.h, src/lib-
	storage/index/cydir/cydir-storage.c, src/lib-storage/index/dbox-
	multi/mdbox-storage.c, src/lib-storage/index/dbox-single/sdbox-
	storage.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src
	/lib-storage/mail-storage.h, src/lib-storage/test-mailbox.c,
	src/plugins/virtual/virtual-storage.c:
	lib-storage: STATUS_GUID moved to mailbox_get_guid() that can fail.
	[3609c8a35c36] <HEAD>

	* src/config/config-request.c, src/lib-storage/index/dbox-common/dbox-
	mail.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/list/mailbox-list-fs.c, src/lib-storage/mail-storage-
	service.c, src/login-common/main.c:
	Increased initial memory pool sizes.
	[e202b2b86702] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-multi/mdbox-file.c, src/lib-storage/index/dbox-multi/mdbox-
	map.c:
	mdbox: Saving now closes newly created files if they become full.
	Newly created files also aren't locked anymore, they're not visible
	to others anyway until map index is updated.
	[9c68c8d42ff2] <HEAD>

	* src/login-common/main.c:
	login: tcpwrappers change caused crashes at startup.
	[9f0c4800cb13] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-file-purge.c:
	mdbox: If purge deleted a whole file, it didn't expunge map records
	immediately.
	[912ef25c2dcf] <HEAD>

	* src/doveadm/doveadm-dump-index.c:
	doveadm dump index: Another crashfix.
	[c7e827ab156e] <HEAD>

	* src/doveadm/doveadm-dump-index.c:
	doveadm dump index: Fixed assert-crash.
	[3712e2dcc856] <HEAD>

	* src/lib-index/mail-index-sync.c, src/lib-index/mail-index.h, src
	/lib-storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox-
	multi/mdbox-sync.c, src/lib-storage/index/dbox-single/sdbox-sync.c,
	src/lib-storage/index/index-storage.h, src/lib-storage/index/index-
	sync.c, src/lib-storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw/raw-
	sync.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.c:
	Mailbox deletion: Fixed race condition where a mailbox couldn't get
	deleted.
	[9740c4858a57] <HEAD>

	* src/lib-index/mail-index-private.h, src/lib-index/mail-index.c, src
	/lib-storage/index/dbox-common/dbox-sync-rebuild.c, src/lib-
	storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index/index-
	storage.c:
	lib-index: Don't close index files if they're still being used by
	another mailbox.
	[93fe3aa23bdb] <HEAD>

	* src/dsync/dsync-worker-local.c, src/imap/cmd-delete.c, src/lib-
	storage/index/cydir/cydir-storage.c, src/lib-storage/index/dbox-
	common/dbox-mail.h, src/lib-storage/index/dbox-common/dbox-
	storage.c, src/lib-storage/index/dbox-common/dbox-storage.h, src
	/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
	/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox-
	storage.c, src/lib-storage/index/dbox-single/sdbox-storage.c, src
	/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-
	storage/list/Makefile.am, src/lib-storage/list/mailbox-list-
	delete.c, src/lib-storage/list/mailbox-list-delete.h, src/lib-
	storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-
	fs.h, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/list/mailbox-list-maildir.h, src/lib-storage/mail-copy.h,
	src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.c, src/lib-storage/mail-storage.h, src/lib-storage/mailbox-
	list-private.h, src/lib-storage/mailbox-list.c, src/lib-storage
	/mailbox-list.h, src/lib-storage/test-mailbox.c, src/plugins/acl
	/acl-mailbox-list.c, src/plugins/acl/acl-mailbox.c, src/plugins
	/lazy-expunge/lazy-expunge-plugin.c, src/plugins/listescape
	/listescape-plugin.c, src/plugins/mail-log/mail-log-plugin.c,
	src/plugins/notify/notify-noop.c, src/plugins/notify/notify-plugin-
	private.h, src/plugins/notify/notify-plugin.c, src/plugins/notify
	/notify-plugin.h, src/plugins/notify/notify-storage.c,
	src/plugins/quota/quota-storage.c, src/plugins/virtual/virtual-
	storage.c:
	lib-storage: Mailbox deletion API changed. Mailbox deletion should
	now be free of race conditions. The actual file deletion code is now
	responsibility of mailbox_list backend.
	[1fd7833c16ca] <HEAD>

	* src/imap/imap-commands.c:
	imap: Mark DELETE command as potentially closing mailbox. That
	happens if DELETE is used on the selected mailbox.
	[9cefc944d82a] <HEAD>

	* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-sync-
	update.c, src/lib-index/mail-index-sync.c, src/lib-index/mail-index-
	transaction-export.c, src/lib-index/mail-index-transaction-
	private.h, src/lib-index/mail-index-transaction-update.c, src/lib-
	index/mail-index-transaction.c, src/lib-index/mail-index.c, src/lib-
	index/mail-index.h, src/lib-index/mail-transaction-log-file.c, src
	/lib-index/mail-transaction-log-private.h, src/lib-index/mail-
	transaction-log.h:
	lib-index: Added support for undeleting a deleted index.
	[22354f505277] <HEAD>

	* src/lib-index/mail-index-private.h, src/lib-index/mail-index-sync-
	update.c, src/lib-index/mail-index-sync.c, src/lib-index/mail-index-
	transaction-update.c:
	lib-index: Index deletion is now a request that gets finalized by
	index sync.
	[6552652a9504] <HEAD>

2010-02-08  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-delete.c, src/imap/cmd-rename.c, src/imap/cmd-
	subscribe.c, src/imap/imap-commands-util.c, src/imap/imap-commands-
	util.h, src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list
	/mailbox-list-maildir.c, src/lib-storage/mailbox-list.h,
	src/plugins/acl/acl-mailbox-list.c:
	mailbox_list_get_mailbox_name_status() now separates between
	existing mailbox and dir.
	[a9922c28f5cb] <HEAD>

	* src/lib-storage/mailbox-list.c:
	mailbox_name_get_sha128() truncated the returned GUID too early.
	[cf6f3ce452d3] <HEAD>

2010-02-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Added mail_storage_get_user().
	[64c8e5e792e9] <HEAD>

	* src/master/service.c:
	master: Don't check if service's executable exists if there are no
	listeners.
	[488530ada460] <HEAD>

	* src/master/service.c:
	master: service's have_inet_listeners wasn't tracked correctly.
	[8d931f94fdf6] <HEAD>

	* src/plugins/expire/Makefile.am:
	expire Makefile: Link with .lo, not .o. Helps at least with
	dependency tracking.
	[2b4e61bfb645] <HEAD>

	* Makefile.am, dovecot-config.in.in:
	dovecot-config: Renamed field names to be more consistent.
	[3e162b623291] <HEAD>

	* dovecot-config.in.in:
	dovecot-config: LIBDOVECOT_STORAGE_INCLUDE was missing lib-storage/
	include.
	[23b91bb080a9] <HEAD>

	* dovecot-config.in.in:
	dovecot-config: Added LIBDOVECOT_IMAP_INCLUDE for imap-specific
	code.
	[8f81a3990c62] <HEAD>

	* dovecot-config.in.in:
	dovecot-config: Removed lib-storage from LIBDOVECOT_INCLUDE
	[c919c72033f8] <HEAD>

	* src/doveadm/doveadm-mail.c, src/dsync/dsync-worker-local.c, src/imap
	/cmd-append.c, src/imap/cmd-close.c, src/imap/cmd-copy.c, src/imap
	/cmd-create.c, src/imap/cmd-delete.c, src/imap/cmd-logout.c,
	src/imap/cmd-select.c, src/imap/cmd-unselect.c, src/imap/imap-
	client.c, src/imap/imap-status.c, src/lda/main.c, src/lib-index
	/mail-index-alloc-cache.c, src/lib-index/mail-index-alloc-cache.h,
	src/lib-lda/mail-deliver.c, src/lib-storage/index/dbox-multi/mdbox-
	storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c,
	src/lib-storage/index/index-storage.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/mail-storage.c, src/lib-storage
	/mail-storage.h, src/lmtp/client.c, src/lmtp/commands.c,
	src/plugins/autocreate/autocreate-plugin.c, src/plugins/expire
	/expire-tool.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins
	/imap-quota/imap-quota-plugin.c, src/plugins/lazy-expunge/lazy-
	expunge-plugin.c, src/plugins/mbox-snarf/mbox-snarf-plugin.c,
	src/plugins/quota/quota-count.c, src/plugins/quota/quota-storage.c,
	src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
	storage.c, src/pop3/pop3-client.c:
	lib-storage: Split mailbox_close() and mailbox_free() functionality.
	[8b138b29dc01] <HEAD>

	* src/imap/imap-client.h:
	imap-client.h: Updated comments.
	[bd06d9b159fa] <HEAD>

	* src/lib-storage/index/cydir/cydir-save.c, src/lib-
	storage/index/cydir/cydir-storage.c, src/lib-storage/index/cydir
	/cydir-storage.h, src/lib-storage/index/cydir/cydir-sync.c, src/lib-
	storage/index/dbox-common/dbox-mail.c, src/lib-storage/index/dbox-
	common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox-sync-
	rebuild.c, src/lib-storage/index/dbox-common/dbox-sync-rebuild.h,
	src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index
	/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c,
	src/lib-storage/index/dbox-multi/mdbox-storage.h, src/lib-
	storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox-
	single/sdbox-file.c, src/lib-storage/index/dbox-single/sdbox-mail.c,
	src/lib-storage/index/dbox-single/sdbox-save.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-storage.h, src/lib-storage/index/dbox-single
	/sdbox-sync-file.c, src/lib-storage/index/dbox-single/sdbox-sync-
	rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync.c, src/lib-
	storage/index/index-mail-headers.c, src/lib-storage/index/index-
	mail.c, src/lib-storage/index/index-mail.h, src/lib-storage/index
	/index-mailbox-check.c, src/lib-storage/index/index-search.c, src
	/lib-storage/index/index-status.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/index-sync-changes.c, src/lib-storage/index/index-
	sync-changes.h, src/lib-storage/index/index-sync-private.h, src/lib-
	storage/index/index-sync-search.c, src/lib-storage/index/index-
	sync.c, src/lib-storage/index/index-thread-private.h, src/lib-
	storage/index/index-thread.c, src/lib-storage/index/index-
	transaction.c, src/lib-storage/index/maildir/maildir-copy.c, src
	/lib-storage/index/maildir/maildir-keywords.c, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
	/maildir-save.c, src/lib-storage/index/maildir/maildir-storage.c,
	src/lib-storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-uidlist.h,
	src/lib-storage/index/maildir/maildir-util.c, src/lib-
	storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox/mbox-
	lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox-
	storage.c, src/lib-storage/index/mbox/mbox-storage.h, src/lib-
	storage/index/mbox/mbox-sync-parse.c, src/lib-storage/index/mbox
	/mbox-sync-update.c, src/lib-storage/index/mbox/mbox-sync.c, src
	/lib-storage/index/raw/raw-storage.c, src/lib-storage/index/raw/raw-
	storage.h, src/lib-storage/index/raw/raw-sync.c, src/lib-
	storage/index/test-index-fetch.c, src/lib-storage/mail-storage-
	private.h, src/plugins/virtual/virtual-config.c, src/plugins/virtual
	/virtual-mail.c, src/plugins/virtual/virtual-search.c,
	src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-
	storage.h, src/plugins/virtual/virtual-sync.c:
	lib-storage: *_mailboxes don't descend from index_mailbox anymore,
	it's now a context.
	[56b1d4dd9c7d] <HEAD>

	* src/dict/dict-commands.c, src/dict/dict-connection.c, src/lib-dict
	/dict-client.c, src/lib-dict/dict-db.c, src/lib-dict/dict-file.c,
	src/lib-dict/dict-private.h, src/lib-dict/dict-sql.c, src/lib-
	dict/dict.c, src/lib-dict/dict.h, src/plugins/acl/acl-lookup-dict.c,
	src/plugins/expire/expire-tool.c:
	lib-dict: Changed dict_iterate API.
	[7309b5c84ca9] <HEAD>

	* src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h:
	lib-storage: mailbox can no longer be looked up from
	mail_index_view. It's not necessarily anymore and I'm not sure if
	they should be 1:1.
	[9780cd3cc48a] <HEAD>

	* src/lib-storage/index/cydir/cydir-save.c, src/lib-
	storage/index/cydir/cydir-storage.c, src/lib-storage/index/cydir
	/cydir-sync.c, src/lib-storage/index/dbox-common/dbox-sync-
	rebuild.c, src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-
	storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-
	multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-multi
	/mdbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-sync.c, src
	/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-storage/index
	/dbox-single/sdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
	storage.c, src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c,
	src/lib-storage/index/dbox-single/sdbox-sync.c, src/lib-
	storage/index/index-fetch.c, src/lib-storage/index/index-mail-
	headers.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-search-result.c, src/lib-storage/index/index-search.c, src
	/lib-storage/index/index-sort-string.c, src/lib-storage/index/index-
	status.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/index-sync-
	search.c, src/lib-storage/index/index-sync.c, src/lib-storage/index
	/index-thread.c, src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir
	/maildir-mail.c, src/lib-storage/index/maildir/maildir-save.c, src
	/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-util.c,
	src/lib-storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox
	/mbox-mail.c, src/lib-storage/index/mbox/mbox-save.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox-
	sync-parse.c, src/lib-storage/index/mbox/mbox-sync.c, src/lib-
	storage/index/raw/raw-storage.c, src/lib-storage/index/raw/raw-
	sync.c, src/lib-storage/index/test-index-fetch.c, src/lib-storage
	/mail-storage-private.h, src/lib-storage/mail-storage.c,
	src/plugins/virtual/virtual-mail.c, src/plugins/virtual/virtual-
	search.c, src/plugins/virtual/virtual-storage.c, src/plugins/virtual
	/virtual-sync.c:
	lib-storage: Moved struct mail_index_* from index_mailbox to
	mailbox. We're relying more and more of all mailboxes being used via
	lib-index, and this change makes accessing the indexes easier.
	[e7f066508299] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/mail-index-alloc-cache.c,
	src/lib-index/mail-index-alloc-cache.h, src/lib-index/mail-index.c,
	src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
	/sdbox-storage.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
	/lib-storage/index/raw/raw-storage.c, src/lib-storage/index/shared
	/shared-storage.c, src/lib-storage/mail-storage.c, src/lib-storage
	/mailbox-list.c, src/plugins/virtual/virtual-storage.c:
	Moved mail_index lookup cache from lib-storage to lib-index. Removed
	some code duplication as a result.
	[9d3b5cbef222] <HEAD>

	* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-private.h,
	src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index-
	transaction-export.c, src/lib-index/mail-index-transaction-
	private.h, src/lib-index/mail-index-transaction-update.c, src/lib-
	index/mail-index-transaction.c, src/lib-index/mail-index.c, src/lib-
	index/mail-index.h, src/lib-index/mail-transaction-log-file.c, src
	/lib-index/mail-transaction-log-private.h, src/lib-index/mail-
	transaction-log.h, src/lib-storage/index/cydir/cydir-save.c, src
	/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
	/dbox-single/sdbox-save.c, src/lib-storage/index/index-storage.c,
	src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir
	/maildir-save.c, src/lib-storage/index/mbox/mbox-save.c:
	Added support for marking mailbox index deleted. Don't allow any
	changes after that. This is going to help with race conditions when
	deleting mailboxes.
	[fc0ac73f0b36] <HEAD>

	* src/lib-storage/list/mailbox-list-fs.c:
	fs layout: We didn't properly prevent maildir_name from being used
	in mailbox names.
	[302a4f807276] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
	/dbox-common/dbox-storage.c, src/lib-storage/index/index-storage.c,
	src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/shared
	/shared-list.c, src/lib-storage/list/mailbox-list-fs.c, src/lib-
	storage/list/mailbox-list-maildir.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/mailbox-
	list-private.h, src/lib-storage/mailbox-list.h, src/plugins/acl/acl-
	mailbox-list.c, src/plugins/acl/acl-mailbox.c:
	lib-storage: Moved mailbox directory creation code to mailbox_list
	backend.
	[5fe70b5da1b8] <HEAD>

2010-02-06  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-storage.c:
	dbox: Moved more mailbox creation code to dbox-common.
	[bdb1ea37ccee] <HEAD>

	* src/lib-storage/index/mbox/istream-raw-mbox.c:
	mbox: raw mbox stream's stat() now returns mail size as stream size
	if it's known.
	[b1597605c3ef] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox saving: Fallback to using non-exact mail size if exact isn't
	available. The size is used only to check if it would make mdbox
	file become too large.
	[e9f4efacf692] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Make sure we don't append to uidlist that has already been
	recreated.
	[cfe7d639fa03] <HEAD>

	* src/lib-dict/Makefile.am, src/lib-sql/Makefile.am, src/lib-
	storage/register/Makefile.am, src/plugins/quota/Makefile.am:
	Makefiles: Use nodist_*_SOURCES to exclude generated .c files from
	dist.
	[518572a630a8] <HEAD>

	* .hgignore, configure.in, doc/example-config/dovecot.conf, src/login-
	common/Makefile.am, src/login-common/access-lookup.c, src/login-
	common/access-lookup.h, src/login-common/login-settings.c, src
	/login-common/login-settings.h, src/login-common/main.c,
	src/util/Makefile.am, src/util/tcpwrap-settings.c,
	src/util/tcpwrap.c:
	Added support for tcpwrappers and potentially other login access
	checks.
	[51a978045f47] <HEAD>

	* src/plugins/acl/acl-plugin.c, src/plugins/autocreate/autocreate-
	plugin.c, src/plugins/expire/expire-plugin.c, src/plugins/fts-lucene
	/fts-lucene-plugin.c, src/plugins/fts-solr/fts-solr-plugin.c,
	src/plugins/fts-squat/fts-squat-plugin.c, src/plugins/fts/fts-
	plugin.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-
	quota/imap-quota-plugin.c, src/plugins/lazy-expunge/lazy-expunge-
	plugin.c, src/plugins/listescape/listescape-plugin.c, src/plugins
	/mbox-snarf/mbox-snarf-plugin.c, src/plugins/notify/notify-plugin.c,
	src/plugins/quota/quota-plugin.c, src/plugins/trash/trash-plugin.c,
	src/plugins/virtual/virtual-plugin.c, src/plugins/zlib/zlib-
	plugin.c:
	plugins: Use DOVECOT_VERSION instead of PACKAGE_VERSION.
	[d4fd28f07507] <HEAD>

	* configure.in:
	config.h: Added DOVECOT_* macros for PACKAGE_* macros.
	[928312d6017c] <HEAD>

	* src/lib/module-context.h:
	module-context.h: Include required array.h internally.
	[5e2075b5b25f] <HEAD>

	* src/lib-storage/index/index-search.c:
	lib-storage: Use mailbox_status() to get number of messages in
	search code. This doesn't really change anything, except makes it
	possible for plugins to hide some messages.
	[e0b6f739510d] <HEAD>

	* src/plugins/zlib/Makefile.am, src/plugins/zlib/ostream-bzlib.c,
	src/plugins/zlib/ostream-zlib.c, src/plugins/zlib/ostream-zlib.h,
	src/plugins/zlib/zlib-plugin.c:
	zlib plugin: Added support for compressing Maildir mails while
	saving.
	[9f0e01905171] <HEAD>

	* src/lib/ostream.c:
	ostream: Added default failure handling if write_at() isn't
	implemented.
	[174275bcb1a5] <HEAD>

	* src/lib-index/mail-index-strmap.c:
	lib-index: Changed strmap's crc32 field to be backwards compatible.
	[b87a15fc462a] <HEAD>

	* src/lib/Makefile.am, src/lib/crc32.c, src/lib/test-crc32.c, src/lib
	/test-lib.c, src/lib/test-lib.h:
	crc32*() didn't return a standard CRC32 value.
	[dcfcedb32ea2] <HEAD>

2010-02-05  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-search-args.c:
	Compiler warning fix.
	[05ae3f2e079e] <HEAD>

	* src/lib-dict/Makefile.am, src/lib-dict/dict.c, src/lib-dict/dict.h,
	src/lib-dict/test-dict.c:
	lib-dict: Added dict_[un]escape_string().
	[2cfe01556d6c] <HEAD>

	* src/imap/imap-search-args.c:
	imap search args: Allocate uidset from correct memory pool.
	Shouldn't have caused any bugs, but this is the intended way.
	[7ebf82401e7a] <HEAD>

2010-02-02  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/mail.conf, src/lib-storage/index/dbox-
	common/dbox-file.c, src/lib-storage/index/dbox-common/dbox-file.h,
	src/lib-storage/index/dbox-multi/mdbox-file-purge.c, src/lib-
	storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index/dbox-
	multi/mdbox-file.h, src/lib-storage/index/dbox-multi/mdbox-map-
	private.h, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-
	storage/index/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-
	multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	settings.c, src/lib-storage/index/dbox-multi/mdbox-settings.h, src
	/lib-storage/index/dbox-multi/mdbox-sync.c:
	mdbox: Purging now also moves mails to alt storage (if it's used).
	mdbox_altmove setting specifies how old files should be moved.
	[c60910419861] <HEAD>

	* src/lib-storage/mailbox-list.c:
	Don't ignore :ALT=path in mail_location.
	[55cce06818b8] <HEAD>

	* doc/example-config/conf.d/mail.conf, src/lib-storage/index/dbox-
	multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-
	settings.c, src/lib-storage/index/dbox-multi/mdbox-settings.h:
	mdbox: Removed quite pointless mdbox_purge_min_percentage setting.
	[8098d0fa929a] <HEAD>

	* doc/example-config/conf.d/mail.conf, src/lib-storage/index/dbox-
	multi/mdbox-settings.c, src/lib-storage/index/dbox-multi/mdbox-
	settings.h:
	mdbox: Removed unused mdbox_rotate_min_size setting.
	[253889fc317f] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
	/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox-
	sync.c, src/lib-storage/index/dbox-multi/mdbox-sync.h:
	mdbox: Removed forced automatic purging for now. It was too
	ineffecient.
	[2917f019b179] <HEAD>

	* doc/example-config/conf.d/mail.conf, src/lib-storage/index/dbox-
	multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-
	settings.c, src/lib-storage/index/dbox-multi/mdbox-settings.h:
	mdbox_rotate_days changed to mdbox_rotate_interval, supporting one
	second resolution.
	[b0b63deab22a] <HEAD>

	* src/plugins/expire/expire-tool.c:
	expire-tool: Change config module so we'll actually read all
	necessary settings.
	[bbfa22045215] <HEAD>

	* src/plugins/expire/expire-tool.c:
	expire-tool: Check and log an error if dict iteration fails.
	[568c437ad951] <HEAD>

	* src/dict/dict-commands.c, src/lib-dict/dict-client.c:
	dict proxy: Iteration failure wasn't passed to dict client.
	[5e50d5597474] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	login: Now properly disable SSLv2 support.
	[9a5f3e3b0197] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	login: Use SSLv23_server_method() after all. It appears to be the
	only method that supports both SSLv3 and TLSv1 connections, without
	breaking the other one.
	[b0239838bdfe] <HEAD>

2010-02-01  Timo Sirainen  <tss@iki.fi>

	* src/plugins/notify/notify-plugin.c:
	notify plugin: Require plugin to be same version as Dovecot.
	[a07a699b3831] <HEAD>

	* src/plugins/notify/Makefile.am:
	notify plugin: Install headers if --enable-header-install is used.
	Patch by Mark Washenberger.
	[c9e0ee292a08] <HEAD>

	* Makefile.am:
	dovecot-config: Avoid using $(pkglibexecdir), it doesn't work with
	old automakes.
	[de9d6dae7fe5] <HEAD>

2010-01-31  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 357995a6c270
	[a978089d090b] <HEAD>

	* .hgtags:
	Added tag 2.0.beta2 for changeset 357995a6c270
	[40081c368a29] <HEAD>

	* TODO, configure.in:
	Released v2.0.beta2.
	[357995a6c270] [2.0.beta2] <HEAD>

	* src/lib-index/mail-index-transaction-update.c:
	mail_index_update_flags_range(): Fixed merging last update.
	[2893ca172707] <HEAD>

	* Makefile.am:
	dovecot-config: LIBDOVECOT_INCLUDE shouldn't have been dropped from
	installed file.
	[8dcfb629a060] <HEAD>

	* src/login-common/Makefile.am, src/login-common/client-common-auth.c,
	src/login-common/login-proxy.c, src/login-common/login-proxy.h:
	login: Proxying supports now doing DNS lookups for host names.
	[23956a9b915b] <HEAD>

	* configure.in, src/Makefile.am, src/dns/Makefile.am, src/dns/dns-
	client-settings.c, src/dns/dns-client.c, src/lib-dns/Makefile.am,
	src/lib-dns/dns-lookup.c, src/lib-dns/dns-lookup.h, src/lib-
	dovecot/Makefile.am:
	Added dns-client service and library for doing async dns lookups.
	[8f9fc7fa7c73] <HEAD>

	* src/lib/macros.h:
	Added CONTEXT_CALLBACK2() helper macro.
	[45709a87e4b3] <HEAD>

	* Makefile.am, dovecot-config.in.in:
	dovecot-config: Don't rely on installed .la files.
	[89928f671350] <HEAD>

	* src/login-common/client-common-auth.c, src/login-common/login-
	proxy.c, src/login-common/login-proxy.h:
	login: Proxy code API cleanup.
	[6b3dc91ae0c5] <HEAD>

	* src/master/main.c:
	master: Removed non-existing -cb parameter description from --help.
	[c06033a1f147] <HEAD>

	* Makefile.am, dovecot-config.in.in:
	Changed dovecot-config file to contain useful content.
	[5a10d0fb008d] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	login: Completely drop support for SSLv2.
	[449fa953210b] <HEAD>

2010-01-29  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain-msgs-new.c:
	dsync: Small optimization.
	[6799298bfa27] <HEAD>

	* src/dsync/dsync-brain-msgs-new.c:
	dsync: Message list wasn't sorted properly, which caused sync to be
	incomplete.
	[e9046fc7c6b4] <HEAD>

	* src/lib-master/master-service-settings.c:
	lib-master: When standalone binary reads config from config socket,
	ignore environment.
	[9a6015507c78] <HEAD>

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Fixed assert-crash after sometimes creating pseudo mail.
	[992bb0c85ee9] <HEAD>

	* src/lib-settings/settings-parser.c:
	lib-settings: Treat blocks with empty names as unique names, instead
	of merging them.
	[4c9c9111e361] <HEAD>

2010-01-28  Timo Sirainen  <tss@iki.fi>

	* src/config/config-filter.c:
	config: Added support for protocol !name {}
	[25c1ed070b3c] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Switch back to running as root after deliver a mail.
	[de1bf8a51556] <HEAD>

	* src/lib-storage/mail-storage-settings.c, src/lib-storage/mail-
	storage-settings.h:
	Namespaces can now have names. This could make some types of
	configuration cleaner.
	[1a7c861bca43] <HEAD>

	* configure.in:
	configure: Another try at fixing Berkeley DB check to not give an
	error.
	[20963e8ec560] <HEAD>

	* src/master/service.c:
	master: inet_listener {port=0} and unix/fifo_listener {mode=0} now
	disables it.
	[476de3a45cf8] <HEAD>

	* configure.in:
	configure: Fixed Berkeley DB check to not give an error.
	[db89ece5a19d] <HEAD>

	* src/lib-master/master-login.c:
	lib-master: Fixed using post-login scripts.
	[873b2aff9196] <HEAD>

	* doc/example-config/conf.d/auth.conf:
	example-config: Fixed example auth.conf.
	[51452840b8b4] <HEAD>

	* doc/example-config/conf.d/master.conf, src/imap-login/imap-login-
	settings.c, src/lib-master/service-settings.h, src/master/master-
	settings.c, src/pop3-login/pop3-login-settings.c:
	Added default inet_listeners for imap/pop3-login.
	[9ab4539b736d] <HEAD>

	* src/config/doveconf.c:
	doveconf: Don't add extra space to "block {" for unique blocks.
	[11708783b5b3] <HEAD>

2010-01-27  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-maildir.c:
	Increased initial memory pool size.
	[2d118c4e6957] <HEAD>

	* src/lib-settings/settings-parser.c:
	lib-settings: Initialize block{}s, even if they don't have anything
	inside. For example if there's an empty userdb {}, it should give an
	error instead of being silently ignored.
	[477bd56cdb3e] <HEAD>

	* src/lib-master/Makefile.am, src/lib-master/master-service-private.h,
	src/lib-master/master-service-settings.c, src/lib-master/master-
	service.c:
	lib-master: When executing standalone, try first to read config from
	global socket.
	[379b993c5ca6] <HEAD>

	* src/lib-index/mail-cache-transaction.c:
	mail cache: Avoid infinite loops.
	[193fa6e7635c] <HEAD>

	* doc/auth-protocol.txt, src/auth/auth-master-connection.c, src/auth
	/auth-request-handler.c, src/lib-master/master-login-auth.c:
	auth master lookups: If request isn't found, return FAIL instead of
	NOTFOUND.
	[cab5f2e7b806] <HEAD>

	* src/lib-master/master-login.c:
	lib-master: Don't leak post-login connections.
	[f4e64cb17aea] <HEAD>

	* src/auth/auth-settings.c:
	auth: Fixed "userdb is missing driver" error.
	[bea4b2d1f27f] <HEAD>

2010-01-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-lda/lda-settings.c:
	hostname setting now defaults to fqdn. postmaster_address defaults
	to postmaster@<hostname setting>.
	[e1d112ef2e4c] <HEAD>

	* doc/example-config/conf.d/logging.conf, src/auth/auth-request.c,
	src/auth/auth-request.h, src/auth/auth-settings.c, src/auth/auth-
	settings.h, src/auth/passdb-bsdauth.c, src/auth/passdb-sia.c:
	Added auth_verbose_passwords = no|plain|sha1.
	[941511db13c3] <HEAD>

2010-01-25  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Don't give admin rights to all owner mailboxes. The SETACL IMAP
	command should already prevent this. If this situation is created by
	modifying dovecot-acl file manually, it's probably intentional.
	[667fea930ec3] <HEAD>

	* src/lib-dict/Makefile.am:
	Makefile: Updated dict-drivers-register.c to depend on config.h
	[0ff07b4ad306] <HEAD>

	* src/anvil/anvil-connection.c, src/anvil/anvil-settings.c, src/anvil
	/connect-limit.c, src/anvil/main.c, src/anvil/penalty.c, src/auth
	/auth-cache.c, src/auth/auth-client-connection.c, src/auth/auth-
	master-connection.c, src/auth/auth-penalty.c, src/auth/auth-request-
	handler.c, src/auth/auth-request.c, src/auth/auth-settings.c,
	src/auth/auth-stream.c, src/auth/auth-worker-client.c, src/auth
	/auth-worker-server.c, src/auth/auth.c, src/auth/db-checkpassword.c,
	src/auth/db-ldap.c, src/auth/db-passwd-file.c, src/auth/db-sql.c,
	src/auth/main.c, src/auth/mech-anonymous.c, src/auth/mech-cram-
	md5.c, src/auth/mech-digest-md5.c, src/auth/mech-external.c,
	src/auth/mech-plain.c, src/auth/mech.c, src/auth/passdb-blocking.c,
	src/auth/passdb-bsdauth.c, src/auth/passdb-cache.c, src/auth/passdb-
	checkpassword.c, src/auth/passdb-ldap.c, src/auth/passdb-passwd-
	file.c, src/auth/passdb-passwd.c, src/auth/passdb-shadow.c, src/auth
	/passdb-sql.c, src/auth/passdb-vpopmail.c, src/auth/passdb.c,
	src/auth/password-scheme.c, src/auth/userdb-blocking.c, src/auth
	/userdb-checkpassword.c, src/auth/userdb-ldap.c, src/auth/userdb-
	nss.c, src/auth/userdb-passwd-file.c, src/auth/userdb-passwd.c,
	src/auth/userdb-prefetch.c, src/auth/userdb-sql.c, src/auth/userdb-
	static.c, src/auth/userdb-vpopmail.c, src/auth/userdb.c, src/config
	/config-connection.c, src/config/config-filter.c, src/config/config-
	parser.c, src/config/config-request.c, src/config/config-settings.c,
	src/config/doveconf.c, src/config/main.c, src/config/sysinfo-get.c,
	src/dict/dict-commands.c, src/dict/dict-connection.c, src/dict/dict-
	settings.c, src/dict/main.c, src/doveadm/doveadm-auth.c, src/doveadm
	/doveadm-dump-index.c, src/doveadm/doveadm-dump-log.c, src/doveadm
	/doveadm-dump-mailboxlog.c, src/doveadm/doveadm-dump-thread.c,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-who.c,
	src/doveadm/doveadm.c, src/dsync/dsync-brain-msgs-new.c, src/dsync
	/dsync-brain-msgs.c, src/dsync/dsync-brain.c, src/dsync/dsync-
	data.c, src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-
	server-cmd.c, src/dsync/dsync-proxy-server.c, src/dsync/dsync-
	proxy.c, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.c,
	src/dsync/dsync.c, src/dsync/test-dsync-brain-msgs.c, src/dsync
	/test-dsync-brain.c, src/dsync/test-dsync-common.c, src/dsync/test-
	dsync-proxy-server-cmd.c, src/dsync/test-dsync-proxy.c, src/dsync
	/test-dsync-worker.c, src/imap-login/client-authenticate.c, src
	/imap-login/client.c, src/imap-login/imap-login-settings.c, src
	/imap-login/imap-proxy.c, src/imap/cmd-append.c, src/imap/cmd-
	cancelupdate.c, src/imap/cmd-capability.c, src/imap/cmd-check.c,
	src/imap/cmd-close.c, src/imap/cmd-copy.c, src/imap/cmd-create.c,
	src/imap/cmd-delete.c, src/imap/cmd-enable.c, src/imap/cmd-
	examine.c, src/imap/cmd-expunge.c, src/imap/cmd-fetch.c, src/imap
	/cmd-id.c, src/imap/cmd-idle.c, src/imap/cmd-list.c, src/imap/cmd-
	logout.c, src/imap/cmd-lsub.c, src/imap/cmd-namespace.c, src/imap
	/cmd-noop.c, src/imap/cmd-rename.c, src/imap/cmd-search.c, src/imap
	/cmd-select.c, src/imap/cmd-sort.c, src/imap/cmd-status.c, src/imap
	/cmd-store.c, src/imap/cmd-subscribe.c, src/imap/cmd-thread.c,
	src/imap/cmd-uid.c, src/imap/cmd-unselect.c, src/imap/cmd-
	unsubscribe.c, src/imap/cmd-x-cancel.c, src/imap/imap-client.c,
	src/imap/imap-commands-util.c, src/imap/imap-commands.c, src/imap
	/imap-expunge.c, src/imap/imap-fetch-body.c, src/imap/imap-fetch.c,
	src/imap/imap-search-args.c, src/imap/imap-search.c, src/imap/imap-
	settings.c, src/imap/imap-status.c, src/imap/imap-sync.c, src/imap
	/mail-storage-callbacks.c, src/imap/main.c, src/lda/main.c, src/lib-
	auth/auth-client-request.c, src/lib-auth/auth-client.c, src/lib-auth
	/auth-master.c, src/lib-auth/auth-server-connection.c, src/lib-
	charset/charset-iconv.c, src/lib-charset/charset-utf8.c, src/lib-
	dict/dict-client.c, src/lib-dict/dict-db.c, src/lib-dict/dict-
	file.c, src/lib-dict/dict-sql-settings.c, src/lib-dict/dict-sql.c,
	src/lib-dict/dict.c, src/lib-imap/imap-base-subject.c, src/lib-imap
	/imap-bodystructure.c, src/lib-imap/imap-date.c, src/lib-imap/imap-
	envelope.c, src/lib-imap/imap-id.c, src/lib-imap/imap-match.c, src
	/lib-imap/imap-parser.c, src/lib-imap/imap-quote.c, src/lib-imap
	/imap-seqset.c, src/lib-imap/imap-utf7.c, src/lib-imap/imap-util.c,
	src/lib-imap/test-imap-match.c, src/lib-imap/test-imap-parser.c, src
	/lib-imap/test-imap-utf7.c, src/lib-imap/test-imap-util.c, src/lib-
	index/mail-cache-compress.c, src/lib-index/mail-cache-decisions.c,
	src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache-
	lookup.c, src/lib-index/mail-cache-sync-update.c, src/lib-index
	/mail-cache-transaction.c, src/lib-index/mail-cache.c, src/lib-index
	/mail-index-dummy-view.c, src/lib-index/mail-index-fsck.c, src/lib-
	index/mail-index-lock.c, src/lib-index/mail-index-map-hdr.c, src
	/lib-index/mail-index-map-read.c, src/lib-index/mail-index-map.c,
	src/lib-index/mail-index-modseq.c, src/lib-index/mail-index-
	strmap.c, src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-
	index-sync-keywords.c, src/lib-index/mail-index-sync-update.c, src
	/lib-index/mail-index-sync.c, src/lib-index/mail-index-transaction-
	export.c, src/lib-index/mail-index-transaction-finish.c, src/lib-
	index/mail-index-transaction-sort-appends.c, src/lib-index/mail-
	index-transaction-update.c, src/lib-index/mail-index-transaction-
	view.c, src/lib-index/mail-index-transaction.c, src/lib-index/mail-
	index-util.c, src/lib-index/mail-index-view-sync.c, src/lib-index
	/mail-index-view.c, src/lib-index/mail-index-write.c, src/lib-index
	/mail-index.c, src/lib-index/mail-transaction-log-append.c, src/lib-
	index/mail-transaction-log-file.c, src/lib-index/mail-transaction-
	log-view.c, src/lib-index/mail-transaction-log.c, src/lib-index
	/mailbox-list-index-sync.c, src/lib-index/mailbox-list-index.c, src
	/lib-index/mailbox-log.c, src/lib-index/test-mail-index-transaction-
	finish.c, src/lib-index/test-mail-index-transaction-update.c, src
	/lib-index/test-mail-transaction-log-append.c, src/lib-index/test-
	mail-transaction-log-view.c, src/lib-lda/duplicate.c, src/lib-lda
	/lda-settings.c, src/lib-lda/lmtp-client.c, src/lib-lda/mail-
	deliver.c, src/lib-lda/mail-send.c, src/lib-lda/smtp-client.c, src
	/lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c, src
	/lib-mail/mbox-from.c, src/lib-mail/message-address.c, src/lib-mail
	/message-date.c, src/lib-mail/message-decoder.c, src/lib-mail
	/message-header-decode.c, src/lib-mail/message-header-encode.c, src
	/lib-mail/message-header-parser.c, src/lib-mail/message-id.c, src
	/lib-mail/message-parser.c, src/lib-mail/message-part-serialize.c,
	src/lib-mail/message-search.c, src/lib-mail/message-send.c, src/lib-
	mail/message-size.c, src/lib-mail/quoted-printable.c, src/lib-
	mail/rfc2231-parser.c, src/lib-mail/rfc822-parser.c, src/lib-mail
	/test-istream-dot.c, src/lib-mail/test-istream-header-filter.c, src
	/lib-mail/test-mbox-from.c, src/lib-mail/test-message-address.c, src
	/lib-mail/test-message-date.c, src/lib-mail/test-message-decoder.c,
	src/lib-mail/test-message-header-decode.c, src/lib-mail/test-
	message-header-encode.c, src/lib-mail/test-message-header-parser.c,
	src/lib-mail/test-message-id.c, src/lib-mail/test-message-parser.c,
	src/lib-mail/test-quoted-printable.c, src/lib-mail/test-
	rfc2231-parser.c, src/lib-master/anvil-client.c, src/lib-master
	/master-auth.c, src/lib-master/master-login-auth.c, src/lib-master
	/master-login.c, src/lib-master/master-service-settings.c, src/lib-
	master/master-service.c, src/lib-master/syslog-util.c, src/lib-
	settings/settings-parser.c, src/lib-settings/settings.c, src/lib-sql
	/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql/sql-api.c,
	src/lib-sql/sql-pool.c, src/lib-storage/index/cydir/cydir-mail.c,
	src/lib-storage/index/cydir/cydir-save.c, src/lib-
	storage/index/cydir/cydir-storage.c, src/lib-storage/index/cydir
	/cydir-sync.c, src/lib-storage/index/dbox-common/dbox-file-fix.c,
	src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
	/dbox-common/dbox-mail.c, src/lib-storage/index/dbox-common/dbox-
	save.c, src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/dbox-common/dbox-sync-rebuild.c, src/lib-storage/index
	/dbox-multi/mdbox-file-purge.c, src/lib-storage/index/dbox-multi
	/mdbox-file.c, src/lib-storage/index/dbox-multi/mdbox-mail.c, src
	/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
	/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
	settings.c, src/lib-storage/index/dbox-multi/mdbox-storage-
	rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src
	/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index
	/dbox-single/sdbox-file.c, src/lib-storage/index/dbox-single/sdbox-
	mail.c, src/lib-storage/index/dbox-single/sdbox-save.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-sync-file.c, src/lib-storage/index/dbox-single
	/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single/sdbox-
	sync.c, src/lib-storage/index/index-fetch.c, src/lib-storage/index
	/index-mail-headers.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-mailbox-check.c, src/lib-storage/index/index-
	search-result.c, src/lib-storage/index/index-search.c, src/lib-
	storage/index/index-sort-string.c, src/lib-storage/index/index-
	sort.c, src/lib-storage/index/index-status.c, src/lib-storage/index
	/index-storage.c, src/lib-storage/index/index-sync-changes.c, src
	/lib-storage/index/index-sync-search.c, src/lib-storage/index/index-
	sync.c, src/lib-storage/index/index-thread-finish.c, src/lib-
	storage/index/index-thread-links.c, src/lib-storage/index/index-
	thread.c, src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/istream-mail-stats.c, src/lib-storage/index/maildir
	/maildir-copy.c, src/lib-storage/index/maildir/maildir-filename.c,
	src/lib-storage/index/maildir/maildir-keywords.c, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
	/maildir-save.c, src/lib-storage/index/maildir/maildir-settings.c,
	src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-util.c,
	src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib-
	storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox/mbox-
	lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/mbox/mbox-md5.c, src/lib-storage/index/mbox/mbox-
	save.c, src/lib-storage/index/mbox/mbox-settings.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox-
	sync-parse.c, src/lib-storage/index/mbox/mbox-sync-rewrite.c, src
	/lib-storage/index/mbox/mbox-sync-update.c, src/lib-
	storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/raw/raw-sync.c, src/lib-storage/index/shared/shared-
	list.c, src/lib-storage/index/shared/shared-storage.c, src/lib-
	storage/index/test-index-fetch.c, src/lib-storage/list/index-
	mailbox-list-sync.c, src/lib-storage/list/index-mailbox-list.c, src
	/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
	/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir-
	iter.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/list/mailbox-list-subscriptions.c, src/lib-storage/list
	/subscription-file.c, src/lib-storage/mail-copy.c, src/lib-storage
	/mail-error.c, src/lib-storage/mail-namespace.c, src/lib-storage
	/mail-search-build.c, src/lib-storage/mail-search.c, src/lib-storage
	/mail-storage-hooks.c, src/lib-storage/mail-storage-service.c, src
	/lib-storage/mail-storage-settings.c, src/lib-storage/mail-
	storage.c, src/lib-storage/mail-thread.c, src/lib-storage/mail-
	user.c, src/lib-storage/mail.c, src/lib-storage/mailbox-list.c, src
	/lib-storage/mailbox-search-result.c, src/lib-storage/mailbox-
	tree.c, src/lib-storage/mailbox-uidvalidity.c, src/lib-storage/test-
	mail-storage.c, src/lib-storage/test-mail.c, src/lib-storage/test-
	mailbox.c, src/lib-test/test-common.c, src/lib/abspath.c,
	src/lib/aqueue.c, src/lib/array.c, src/lib/askpass.c, src/lib
	/backtrace-string.c, src/lib/base64.c, src/lib/bsearch-insert-pos.c,
	src/lib/buffer.c, src/lib/child-wait.c, src/lib/close-keep-errno.c,
	src/lib/compat.c, src/lib/crc32.c, src/lib/data-stack.c, src/lib
	/eacces-error.c, src/lib/env-util.c, src/lib/failures.c, src/lib/fd-
	close-on-exec.c, src/lib/fd-set-nonblock.c, src/lib/fdatasync-
	path.c, src/lib/fdpass.c, src/lib/file-cache.c, src/lib/file-copy.c,
	src/lib/file-dotlock.c, src/lib/file-lock.c, src/lib/file-set-
	size.c, src/lib/hash.c, src/lib/hash2.c, src/lib/hex-binary.c,
	src/lib/hex-dec.c, src/lib/home-expand.c, src/lib/hostpid.c,
	src/lib/imem.c, src/lib/ioloop-notify-dn.c, src/lib/ioloop-notify-
	fd.c, src/lib/ioloop-notify-inotify.c, src/lib/ioloop-notify-none.c,
	src/lib/ioloop-poll.c, src/lib/ioloop-select.c, src/lib/ioloop.c,
	src/lib/iostream.c, src/lib/istream-concat.c, src/lib/istream-
	crlf.c, src/lib/istream-data.c, src/lib/istream-file.c, src/lib
	/istream-limit.c, src/lib/istream-mmap.c, src/lib/istream-
	seekable.c, src/lib/istream-tee.c, src/lib/istream.c, src/lib/lib-
	signals.c, src/lib/lib.c, src/lib/mempool-alloconly.c, src/lib
	/mempool-datastack.c, src/lib/mempool-system-clean.c, src/lib
	/mempool-system.c, src/lib/mempool-unsafe-datastack.c,
	src/lib/mempool.c, src/lib/mkdir-parents.c, src/lib/mmap-anon.c,
	src/lib/mmap-util.c, src/lib/module-dir.c, src/lib/mountpoint.c,
	src/lib/network.c, src/lib/nfs-workarounds.c, src/lib/ostream-
	buffer.c, src/lib/ostream-file.c, src/lib/ostream.c, src/lib/printf-
	format-fix.c, src/lib/priorityq.c, src/lib/process-title.c,
	src/lib/randgen.c, src/lib/read-full.c, src/lib/restrict-access.c,
	src/lib/restrict-process-size.c, src/lib/safe-memset.c, src/lib
	/safe-mkdir.c, src/lib/safe-mkstemp.c, src/lib/sendfile-util.c,
	src/lib/seq-range-array.c, src/lib/str-find.c, src/lib/str-
	sanitize.c, src/lib/str.c, src/lib/strescape.c, src/lib/strfuncs.c,
	src/lib/test-aqueue.c, src/lib/test-array.c, src/lib/test-base64.c,
	src/lib/test-bsearch-insert-pos.c, src/lib/test-buffer.c, src/lib
	/test-hex-binary.c, src/lib/test-istream-concat.c, src/lib/test-
	istream-crlf.c, src/lib/test-istream-seekable.c, src/lib/test-
	istream-tee.c, src/lib/test-lib.c, src/lib/test-llist.c, src/lib
	/test-mempool-alloconly.c, src/lib/test-network.c, src/lib/test-
	primes.c, src/lib/test-priorityq.c, src/lib/test-seq-range-array.c,
	src/lib/test-str-find.c, src/lib/test-str-sanitize.c, src/lib/test-
	strescape.c, src/lib/test-strfuncs.c, src/lib/test-time-util.c,
	src/lib/test-utc-mktime.c, src/lib/test-var-expand.c, src/lib/time-
	util.c, src/lib/unichar.c, src/lib/unix-socket-create.c, src/lib
	/unlink-directory.c, src/lib/unlink-old-files.c, src/lib/utc-
	mktime.c, src/lib/utc-offset.c, src/lib/var-expand.c, src/lib/write-
	full.c, src/lmtp/client.c, src/lmtp/commands.c, src/lmtp/lmtp-
	proxy.c, src/lmtp/lmtp-settings.c, src/lmtp/main.c, src/log/log-
	connection.c, src/log/log-settings.c, src/log/main.c, src/login-
	common/client-common-auth.c, src/login-common/client-common.c, src
	/login-common/login-proxy-state.c, src/login-common/login-proxy.c,
	src/login-common/login-settings.c, src/login-common/main.c, src
	/login-common/sasl-server.c, src/login-common/ssl-proxy-gnutls.c,
	src/login-common/ssl-proxy-openssl.c, src/login-common/ssl-proxy.c,
	src/master/dup2-array.c, src/master/main.c, src/master/master-
	settings.c, src/master/service-anvil.c, src/master/service-listen.c,
	src/master/service-log.c, src/master/service-monitor.c, src/master
	/service-process-notify.c, src/master/service-process.c,
	src/master/service.c, src/plugins/acl/acl-api.c, src/plugins/acl
	/acl-backend-vfile-acllist.c, src/plugins/acl/acl-backend-vfile.c,
	src/plugins/acl/acl-backend.c, src/plugins/acl/acl-cache.c,
	src/plugins/acl/acl-lookup-dict.c, src/plugins/acl/acl-mailbox-
	list.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-plugin.c,
	src/plugins/acl/acl-shared-storage.c, src/plugins/acl/acl-storage.c,
	src/plugins/autocreate/autocreate-plugin.c, src/plugins/expire
	/expire-env.c, src/plugins/expire/expire-plugin.c,
	src/plugins/expire/expire-tool.c, src/plugins/fts-lucene/fts-
	backend-lucene.c, src/plugins/fts-lucene/fts-lucene-plugin.c,
	src/plugins/fts-lucene/lucene-wrapper.cc, src/plugins/fts-solr/fts-
	backend-solr.c, src/plugins/fts-solr/fts-solr-plugin.c, src/plugins
	/fts-solr/solr-connection.c, src/plugins/fts-squat/fts-backend-
	squat.c, src/plugins/fts-squat/fts-squat-plugin.c, src/plugins/fts-
	squat/squat-test.c, src/plugins/fts-squat/squat-trie.c, src/plugins
	/fts-squat/squat-uidlist.c, src/plugins/fts/fts-api.c,
	src/plugins/fts/fts-plugin.c, src/plugins/fts/fts-search.c,
	src/plugins/fts/fts-storage.c, src/plugins/imap-acl/imap-acl-
	plugin.c, src/plugins/imap-quota/imap-quota-plugin.c, src/plugins
	/lazy-expunge/lazy-expunge-plugin.c, src/plugins/listescape
	/listescape-plugin.c, src/plugins/mail-log/mail-log-plugin.c,
	src/plugins/mbox-snarf/mbox-snarf-plugin.c, src/plugins/quota/quota-
	count.c, src/plugins/quota/quota-dict.c, src/plugins/quota/quota-
	dirsize.c, src/plugins/quota/quota-fs.c, src/plugins/quota/quota-
	maildir.c, src/plugins/quota/quota-plugin.c, src/plugins/quota
	/quota-storage.c, src/plugins/quota/quota.c, src/plugins/trash
	/trash-plugin.c, src/plugins/virtual/virtual-config.c,
	src/plugins/virtual/virtual-mail.c, src/plugins/virtual/virtual-
	plugin.c, src/plugins/virtual/virtual-save.c, src/plugins/virtual
	/virtual-search.c, src/plugins/virtual/virtual-storage.c,
	src/plugins/virtual/virtual-sync.c, src/plugins/virtual/virtual-
	transaction.c, src/plugins/zlib/istream-bzlib.c, src/plugins/zlib
	/istream-zlib.c, src/plugins/zlib/zlib-plugin.c, src/pop3-login
	/client-authenticate.c, src/pop3-login/client.c, src/pop3-login/pop3
	-login-settings.c, src/pop3-login/pop3-proxy.c, src/pop3/main.c,
	src/pop3/pop3-client.c, src/pop3/pop3-commands.c,
	src/pop3/pop3-settings.c, src/ssl-params/main.c, src/ssl-params/ssl-
	params-openssl.c, src/ssl-params/ssl-params-settings.c, src/ssl-
	params/ssl-params.c, src/util/gdbhelper.c, src/util/imap-utf7.c,
	src/util/listview.c, src/util/maildirlock.c, src/util/rawlog.c,
	src/util/script.c:
	Updated copyright notices to include year 2010.
	[615eef3139c2] <HEAD>

	* configure.in, src/lib-dict/dict-db.c:
	Disabled Berkeley DB support until someone fixes it.
	[6ecb1b7528c9] <HEAD>

	* src/plugins/Makefile.am:
	--with-lucene was actually enabling solr.
	[2af2a6afb3e5] <HEAD>

	* src/lib/compat.c, src/lib/compat.h:
	Removed my_strptime(). It was just causing problems and wasn't used
	anywhere after all.
	[28f35797059a] <HEAD>

	* doc/example-config/conf.d/auth.conf, src/auth/auth-settings.c:
	auth: Don't use section names for passdb/userdb driver names. When
	using section names, it wasn't possible to use the same driver more
	than once without an error.
	[a2ed5c020cfa] <HEAD>

	* src/config/config-parser.c:
	doveconf: If config parsing fails, don't crash.
	[3117e9f35e45] <HEAD>

	* src/auth/auth-settings.c:
	auth: passdb { pass and master } settings weren't working.
	[9c80cc65def8] <HEAD>

	* doc/example-config/conf.d/master.conf:
	example-config: s/process_count/process_limit/
	[f8ab17253dff] <HEAD>

2010-01-24  Timo Sirainen  <tss@iki.fi>

	* src/auth/passdb-passwd-file.c, src/auth/userdb-passwd-file.c:
	passwd-file: Give a better error message if args (path) is empty.
	[354d3b1eee03] <HEAD>

2010-01-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-auth.c:
	lib-master: Try for 0.5 secs to connect to master-auth socket.
	[823356f533c5] <HEAD>

	* src/config/doveconf.c, src/master/main.c:
	doveconf: Log a warning if Dovecot was last started using a
	different config file.
	[26b5209dc4f4] <HEAD>

	* src/lib/abspath.c, src/lib/abspath.h:
	Added t_readlink().
	[749e7f1df078] <HEAD>

2010-01-22  Timo Sirainen  <tss@iki.fi>

	* src/config/config-parser.c:
	doveconf: Fix to previous change.
	[cd29a6801e75] <HEAD>

	* src/config/config-parser.c, src/config/config-request.c, src/config
	/config-request.h, src/config/doveconf.c:
	doveconf: Dump config to stdout even when there are errors, just
	show them afterwards.
	[b01b9eff1f15] <HEAD>

	* src/master/master-settings.c:
	master: Fail if service's executable is empty.
	[f1a0f9a66164] <HEAD>

	* configure.in:
	Added LIST-STATUS to CAPABILITY list.
	[7fe775a404b1] <HEAD>

2010-01-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: dropping expunged uidlist records didn't update hash table.
	[e48e81c2b874] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir + pop3_lock_session: Don't crash when opening mailbox causes
	uidlist rewrite.
	[32d6a4112147] <HEAD>

2010-01-19  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/lda.conf, src/lib-lda/lda-settings.c:
	recipient_delimiter defaults to "+" now. Also added to example-
	config.
	[69c793c7f185] <HEAD>

	* src/plugins/virtual/virtual-mail.c:
	virtual: wanted_headers needs to be kept referenced.
	[45f360c1c9eb] <HEAD>

	* src/lib-index/mail-index-transaction-update.c:
	mail_index_update_flags_range(): Fixed out-of-bounds read.
	[57eb71a78375] <HEAD>

	* src/plugins/virtual/virtual-mail.c:
	virtual MAILBOX_FETCH_MAILBOX_NAME: Return mail's physical mailbox
	name. When using a virtual mailbox of other virtual mailboxes, this
	changes the behavior from returning a virtual mailbox's name to
	returning the underlying physical mailbox's name.
	[b6ea12ec49c8] <HEAD>

	* src/plugins/virtual/virtual-mail.c:
	virtual: mail_set_uid() crashed.
	[bbcefa2a3976] <HEAD>

	* src/lib-storage/index/index-mail.c:
	lib-storage: Return mail's mailbox name with namespace prefix.
	[e1de7e7ae4f9] <HEAD>

	* src/lib-storage/index/index-storage.c:
	lib-storage: Mailbox virtual name was set wrong with multiple
	namespaces.
	[26583093cb54] <HEAD>

	* src/lib-storage/mail-namespace.c:
	namespace list=children: Fail if namespace prefix doesn't end with
	separator.
	[907dc8769491] <HEAD>

	* src/config/config-request.c:
	doveconf: Show time settings with "s" suffix to make it clear
	they're seconds.
	[e7f3a0e6e2a4] <HEAD>

	* src/master/master-settings.c:
	master: Changed unix_listener mode setting to octal type.
	[4d703a15d6b8] <HEAD>

	* src/config/config-request.c, src/lib-settings/settings-parser.c, src
	/lib-settings/settings-parser.h:
	config: Added support for "octal integer", which is just printed as
	octal.
	[443927a546e2] <HEAD>

2010-01-18  Timo Sirainen  <tss@iki.fi>

	* src/lib/eacces-error.c:
	eacces_error_get*(): Check and warn if multiple uids/gids have same
	name.
	[b8966b8133f2] <HEAD>

2010-01-06  Timo Sirainen  <tss@iki.fi>

	* src/plugins/expire/expire-tool.c:
	expire-tool: Don't crash at startup.
	[40abbeaa7a12] <HEAD>

2010-01-02  Timo Sirainen  <tss@iki.fi>

	* configure.in:
	configure: Use -llber for ldap only if necessary.
	[2882650531e0] <HEAD>

	* src/login-common/Makefile.am:
	login-common: Install headers.
	[127fb230e269] <HEAD>

	* src/imap-login/client-authenticate.c, src/imap-login/client.c, src
	/imap-login/imap-proxy.c, src/login-common/Makefile.am, src/login-
	common/client-common-auth.c, src/login-common/client-common.c, src
	/login-common/common.h, src/login-common/login-common.h, src/login-
	common/login-proxy.c, src/login-common/login-settings.c, src/login-
	common/main.c, src/login-common/sasl-server.c, src/login-common/ssl-
	proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c, src/pop3-login
	/client-authenticate.c, src/pop3-login/client.c,
	src/pop3-login/pop3-proxy.c:
	login-common: Renamed common.h to login-common.h
	[9ae939146ff7] <HEAD>

	* src/lib-master/Makefile.am:
	lib-master: Install headers.
	[19695965c40e] <HEAD>

2009-12-31  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-save.c:
	mdbox: Removed broken assert.
	[16acdd049281] <HEAD>

	* TODO:
	TODO updated.
	[dfca2414c0a0] <HEAD>

	* src/dsync/Makefile.am, src/dsync/dsync-brain.c, src/dsync/dsync-
	data.c, src/dsync/dsync-data.h, src/dsync/dsync-proxy-client.c,
	src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy.c,
	src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.c, src/dsync
	/test-dsync-brain-msgs.c, src/dsync/test-dsync-brain.c, src/dsync
	/test-dsync-common.c, src/dsync/test-dsync-proxy-server-cmd.c,
	src/dsync/test-dsync-proxy.c, src/dsync/test-dsync-worker.c:
	dsync: Initial code to sync mailbox list without dir GUID support.
	Not complete yet.
	[96db209efe22] <HEAD>

	* src/lib-storage/index/shared/shared-list.c, src/lib-storage/list
	/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src
	/lib-storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c,
	src/lib-storage/mailbox-list.h:
	lib-storage: Added mailbox_list_delete_dir() to (try to) delete a
	\noselect mailbox.
	[3c12d0376cef] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/cydir/cydir-storage.h, src/lib-storage/index/dbox-
	common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox-
	storage.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/mbox/mbox-storage.h, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
	list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src
	/lib-storage/mailbox-list.h:
	lib-storage: Removed mailbox_list_get_guid(). Directory GUIDs are
	pretty pointless.
	[f20bced53213] <HEAD>

	* src/auth/auth-request.c, src/auth/password-scheme.c, src/auth
	/password-scheme.h:
	auth_debug_passwords: If password is correct but scheme is wrong,
	try to detect and log it.
	[de75c45e6765] <HEAD>

2009-12-29  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/lda.conf:
	example-config: Updated postmaster_address.
	[99dbadd0492b] <HEAD>

2009-12-30  Pascal Volk  <user@localhost.localdomain.org>

	* src/lib-lda/lda-settings.c:
	lda-settings: Try to set the the postmaster_address if it wasn't
	configured.
	[d6d1df7ea4e0] <HEAD>

2009-12-29  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/pop3.conf, src/lib-storage/mail-storage-
	settings.c, src/pop3/pop3-client.c, src/pop3/pop3-commands.c,
	src/pop3/pop3-common.h:
	pop3: Added %g = GUID to pop3_uidl_format.
	[0462fcfb809a] <HEAD>

2009-12-23  Timo Sirainen  <tss@iki.fi>

	* src/master/master-settings.c:
	master: Log warning if unix_listener begins with base_dir's path.
	[6f67d3ce4ac4] <HEAD>

	* doc/example-config/conf.d/pop3.conf:
	example-config: Added missing pop3_save_uidl setting.
	[263068802498] <HEAD>

	* src/lda/Makefile.am:
	Install deliver -> dovecot-lda symlink.
	[7a0a89d81699] <HEAD>

	* src/master/master-settings.c:
	master: Give error message with unknown names in protocols setting.
	[e4e31fa845a5] <HEAD>

	* src/lib-storage/index/index-storage.c:
	mailbox_update() wasn't updating cache fields correctly.
	[8f2c4d0f7247] <HEAD>

	* src/lib-storage/index/maildir/maildir-storage.c:
	maildir storage: Don't keep memory pointing to mailbox list. Storage
	is no longer directly related to mailbox list, and the list may be
	freed.
	[f4b3e4366e3e] <HEAD>

	* src/dsync/dsync-worker-local.c:
	dsync convert: Skip namespaces that have non-empty location setting.
	[c3423cfc5244] <HEAD>

	* doc/example-config/conf.d/master.conf:
	example-config: Comment fix.
	[9eb28fc864db] <HEAD>

	* src/imap/cmd-list.c:
	imap: LIST "" inbox shouldn't crash when using namespace with
	"INBOX." prefix.
	[35dbb3595beb] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Fixed potential assert-crashes with "Duplicate file entry"
	handling.
	[c8322124d615] <HEAD>

	* doc/example-config/conf.d/mail.conf:
	example-config: Fixed shared namespace example.
	[f011d7801572] <HEAD>

2009-12-22  Timo Sirainen  <tss@iki.fi>

	* src/login-common/login-settings.c:
	*-login: Removed redundant %{hostname} variable.
	[07e688afe81b] <HEAD>

	* src/lib/Makefile.am, src/lib/test-lib.c, src/lib/test-lib.h, src/lib
	/test-var-expand.c, src/lib/var-expand.c:
	var_expand(): Added support for built-in host, pid and env:*
	variables.
	[e1b725d02c30] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
	mdbox: Fixed rebuilding mdbox storage.
	[c3d85a07888c] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-file.c:
	dbox: Added assert.
	[824b7072c6d9] <HEAD>

	* src/lib/istream-seekable.c, src/lib/test-istream-seekable.c:
	istream-seekable: If we're immediately at EOF after copying buffer
	to file, don't corrupt the buffer.
	[5d7ee047667f] <HEAD>

	* src/lib/mempool-system.c:
	DEBUG: i_free() now clears the memory before freeing it.
	[19787c343ef1] <HEAD>

	* src/master/main.c:
	master: When writing startup errors to stderr, use the correct type
	prefix.
	[76af32fae1e2] <HEAD>

2009-12-21  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-worker-local.c:
	dsync: If mailbox exists in both sides, create it as name_guid in
	other side.
	[e3db0a5889b7] <HEAD>

	* src/dsync/dsync-brain.c, src/dsync/dsync-data.h, src/dsync/dsync-
	proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-
	proxy.c, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker-
	private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h,
	src/dsync/test-dsync-brain.c, src/dsync/test-dsync-proxy-server-
	cmd.c, src/dsync/test-dsync-worker.c, src/lib-storage/mailbox-list-
	private.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
	list.h:
	dsync: Write mailbox changelog records using original timestamps.
	[eba3e50fef36] <HEAD>

2009-12-18  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync.c:
	dsync: Updated usage.
	[cf20258a44ed] <HEAD>

	* src/dsync/dsync.c:
	dsync: Updated -a parameter description.
	[1f2bef73d052] <HEAD>

2009-12-17  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-fetch.c:
	imap: Refresh index before starting a FETCH, so it sees updated
	flags immediately.
	[bb04510465d3] <HEAD>

	* src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-plugin.c,
	src/plugins/acl/acl-plugin.h, src/plugins/acl/acl-storage.c,
	src/plugins/notify/notify-storage.c, src/plugins/quota/quota-
	plugin.c, src/plugins/quota/quota-plugin.h, src/plugins/quota/quota-
	storage.c:
	plugins: Simplified code by using mailbox_allocated hook.
	[8e9e67a94e16] <HEAD>

2009-12-16  Timo Sirainen  <tss@iki.fi>

	* src/login-common/ssl-proxy-openssl.c:
	verbose_ssl: Don't log SSL info messages with "BIO failed" prefix.
	[55baae8ed874] <HEAD>

	* src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	thread-private.h, src/lib-storage/index/index-thread.c, src/lib-
	storage/mail-storage-hooks.c, src/lib-storage/mail-storage-hooks.h:
	lib-storage: mailbox_index_opened hook renamed to mailbox_opened.
	[43239594b65b] <HEAD>

	* src/lib-storage/mail-storage.h:
	mail-storage.h: Another comment update.
	[c339b0f7d087] <HEAD>

	* src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list.c:
	lib-storage: Don't clear errors unnecessarily (and inconsistently).
	[1cb0e7cf3750] <HEAD>

	* src/lib-storage/mail-storage.h:
	mail-storage.h: Updated comments, moved around functions.
	[6ee8264b0284] <HEAD>

	* src/doveadm/doveadm-mail.c, src/dsync/dsync-worker-local.c, src/imap
	/cmd-close.c, src/imap/cmd-select.c, src/imap/imap-status.c,
	src/imap/imap-sync.c, src/lda/main.c, src/lib-lda/mail-deliver.c,
	src/lib-storage/index/index-storage.h, src/lib-storage/index/index-
	sync.c, src/lib-storage/list/index-mailbox-list-sync.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src
	/lib-storage/mail-storage.h, src/lib-storage/test-mailbox.c,
	src/lmtp/commands.c, src/plugins/expire/expire-tool.c, src/plugins
	/lazy-expunge/lazy-expunge-plugin.c, src/plugins/mbox-snarf/mbox-
	snarf-plugin.c, src/plugins/quota/quota-count.c, src/plugins/quota
	/quota-storage.c, src/plugins/trash/trash-plugin.c,
	src/plugins/virtual/virtual-sync.c, src/pop3/pop3-client.c,
	src/pop3/pop3-commands.c:
	lib-storage: Changed mailbox_sync() and mailbox_sync_deinit() APIs.
	Although we're already in beta stage, this is simple enough of a
	change that it shouldn't matter much. Having syncing also return
	status information made the API ugly and the status information
	wasn't even wanted all that often.
	[50364f04cf13] <HEAD>

	* src/imap/imap-sync.c, src/lib-storage/mail-storage.h:
	Removed MAILBOX_SYNC_AUTO_STOP sync flag. It wasn't used anywhere.
	[c17386a4e594] <HEAD>

	* src/lib-lda/lmtp-client.c:
	lmtp client: data_output_callback may have been called
	unnecessarily.
	[c96b02a477a0] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail storage service: When duping settings, they need to be also
	checked. The checking part may also parse some settings and store
	data to the structures.
	[2f554f19adb5] <HEAD>

	* src/lib/abspath.c:
	t_get_current_dir(): Don't overflow buffer with >128 length
	directories.
	[482d43792090] <HEAD>

	* src/lib/lib-signals.c:
	lib-signals: Compile fix for Hurd (SA_SIGINFO not available). Based
	on patch by Marco Nenciarini.
	[9c2fe6d0b684] <HEAD>

	* src/lib-storage/index/shared/shared-list.c, src/lib-storage/list
	/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-fs.h, src/lib-
	storage/list/mailbox-list-maildir-iter.c, src/lib-storage/list
	/mailbox-list-maildir.c, src/lib-storage/list/mailbox-list-
	maildir.h, src/lib-storage/mailbox-list.h:
	Avoid using PATH_MAX.
	[e7cd1b10f18b] <HEAD>

	* src/lib/abspath.c, src/lib/abspath.h, src/lib/eacces-error.c,
	src/lib/nfs-workarounds.c:
	Added t_get_current_dir() and use it instead of getcwd().
	[13be6ac759ee] <HEAD>

	* src/lda/main.c, src/master/main.c:
	Use t_abspath() instead of duplicating code.
	[28a14e2fe5d6] <HEAD>

	* src/lib/failures.c:
	Don't use static sized buffers for writing log open failure errors.
	[28ff2944d4e9] <HEAD>

	* src/lib-master/master-service-settings.c:
	lib-master: Use t_abspath() to resolve relative path, not
	realpath().
	[876990dc41c2] <HEAD>

2009-12-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h, src/lmtp/main.c, src/util/script.c:
	mail storage service: Some flag enums were missing FLAG_ in the
	middle.
	[569206178c09] <HEAD>

	* src/doveadm/doveadm-auth.c, src/lib-auth/auth-master.c, src/lib-auth
	/auth-master.h, src/lib-storage/mail-storage-service.c, src/lib-
	storage/mail-storage-service.h, src/lmtp/main.c:
	Idle-disconnecting auth master connections is now optional. LMTP no
	longer does it.
	[3907cc4ecc4b] <HEAD>

	* doc/example-config/conf.d/master.conf, src/imap/imap-settings.c,
	src/pop3/pop3-settings.c:
	imap, pop3: Set default process limit to 1024, like it was in v1.x.
	[eb5795c49550] <HEAD>

	* src/master/master-settings.c:
	config: Don't fail if process_min_avail is set and process_limit is
	the default.
	[72a0ec4b7e26] <HEAD>

	* src/lmtp/client.c:
	lmtp: Increased initial client pool size.
	[caee83356d7b] <HEAD>

	* src/lib/lib-signals.c:
	lib-signals: Set signal pipe fds non-blocking to make sure
	read/write doesn't hang.
	[2d7e2e76a100] <HEAD>

	* src/lib-storage/index/maildir/maildir-copy.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-storage.h, src/plugins/quota/quota-storage.c:
	maildir: Always add S=size to filenames. It's necessary for using
	zlib plugin and doesn't hurt much anyway.
	[eabe311c8649] <HEAD>

	* configure.in, src/lib/env-util.c:
	Compile fix for systems where unsetenv() returns void. FreeBSD 6.4,
	for example.
	[617fa0739538] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Don't lose first 128k of data with >128k mails.
	[1aea146d39e1] <HEAD>

2009-12-14  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/plugins/fts-solr/Makefile.am, src/plugins/fts-
	squat/Makefile.am, src/plugins/imap-acl/Makefile.am, src/plugins
	/imap-quota/Makefile.am, src/plugins/mail-log/Makefile.am,
	src/plugins/trash/Makefile.am:
	OSX: Don't try add plugin dependencies. It just breaks plugin
	loading.
	[5df19422d561] <HEAD>

	* src/dsync/Makefile.am:
	Makefile: Compile fix for systems requiring libiconv.
	[394a63985b33] <HEAD>

	* src/imap/imap-settings.c:
	imap_client_workarounds defaults to empty now, not deprecated
	outlook-idle.
	[c86764388c69] <HEAD>

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge: Fixed deleting mailboxes that didn't have expunged
	messages.
	[bef8da2e6b0c] <HEAD>

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge: Support a single-namespace configuration. If a mailbox
	is deleted, its contents are merged with the existing expunged
	messages.
	[b2f31df5f5da] <HEAD>

	* src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-plugin.c,
	src/plugins/acl/acl-plugin.h, src/plugins/lazy-expunge/lazy-expunge-
	plugin.c, src/plugins/listescape/listescape-plugin.c,
	src/plugins/notify/notify-storage.c, src/plugins/quota/quota-
	plugin.c, src/plugins/quota/quota-plugin.h, src/plugins/quota/quota-
	storage.c:
	plugins: Use mail_namespace_storage_added hook instead of
	mailbox_list_created. In mailbox_list_created the storage hasn't yet
	overridden the list functions.
	[43895027cab9] <HEAD>

	* src/lib-storage/mail-namespace.c, src/lib-storage/mail-storage-
	hooks.c, src/lib-storage/mail-storage-hooks.h:
	lib-storage: Added mail_namespace_storage_added hook.
	[bc9dbd257811] <HEAD>

	* src/imap/cmd-copy.c:
	imap COPY: Don't give "fetch stream header+body" hint to lib-
	storage. Usually copying is done by hard linking, not reading the
	whole message body.
	[64a01185564b] <HEAD>

2009-12-13  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 594a349067f6
	[52672e49c428] <HEAD>

	* .hgtags:
	Added tag 2.0.beta1 for changeset 594a349067f6
	[6baa8073eaf3] <HEAD>

	* TODO, configure.in:
	Released v2.0.beta1.
	[594a349067f6] [2.0.beta1] <HEAD>

	* doc/example-config/Makefile.am:
	Makefile: Delete example-config/README in distclean.
	[8610b6e687e5] <HEAD>

	* src/lib-index/test-mail-index-transaction-update.c:
	mail-index-transaction-update unit test fix.
	[240739b27688] <HEAD>

	* doc/example-config/Makefile.am:
	Makefile: Add example-config/README.in to tarballs.
	[1c2e553809b2] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/mailbox-
	uidvalidity.c, src/lib-storage/mailbox-uidvalidity.h:
	dovecot-uidvalidity*: Create files with correct permission.
	[7f2e9c793af8] <HEAD>

	* src/lib-storage/mailbox-list.c:
	mailbox log: Create file with correct permission.
	[d4c645713656] <HEAD>

	* src/lib-master/master-login-auth.c, src/lib-master/master-login-
	auth.h, src/lib-master/master-login.c, src/lib-master/master-
	login.h, src/lib-master/master-service-private.h, src/lib-master
	/master-service.c:
	imap, pop3: Close auth/config connections when we stop accepting
	more connections.
	[a0d99b374aa4] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: Close listener fds when we stop accepting more
	connections.
	[32949365f28d] <HEAD>

	* src/util/script.c:
	script: Close extra fds before executing post-login script.
	[484be10242a7] <HEAD>

	* src/config/config-request.c:
	config: Compiler warning fix.
	[20d54d23785a] <HEAD>

	* .hgignore, configure.in, src/plugins/Makefile.am,
	src/plugins/convert/Makefile.am, src/plugins/convert/convert-
	plugin.c, src/plugins/convert/convert-plugin.h, src/plugins/convert
	/convert-storage.c, src/plugins/convert/convert-storage.h,
	src/plugins/convert/convert-tool.c:
	Deleted convert plugin and convert-tool. dsync replaces them.
	[2c9b01cb6e08] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-settings.c:
	Added setting aliases: mail for mail_location, both of them for
	namespace location. Removed special case handling for changing mail
	to mail_location in userdb.
	[da03d0ecd3e7] <HEAD>

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	settings parser: Added support for setting name aliases.
	[17596238d8ea] <HEAD>

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	lib-settings: settings_get_time/size() are now public.
	[3bcd4697a7cc] <HEAD>

	* src/plugins/expire/expire-env.c, src/plugins/expire/expire-env.h,
	src/plugins/expire/expire-plugin.c, src/plugins/expire/expire-
	tool.c:
	expire plugin: Changed configuration. Instead of:

	expire = box1 7 box2 14 expire_altmove = box3 4

	use now:

	expire = box1 7d expire2 = box2 14d expire3 = box3 4d altmove

	Instead of 7d and 14d it's also possible to use 1w and 2w. All the
	regular "time" setting values work actually, minimum expire time is
	1sec.
	[46691becc45e] <HEAD>

	* src/imap/main.c, src/pop3/main.c:
	imap, pop3: Don't crash if post-login socket path wasn't given.
	[06bddee57586] <HEAD>

	* src/util/script.c:
	script: Don't load mail plugins.
	[093865257852] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	Added mail_storage_service_restrict_setenv().
	[2a74d458339d] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	Mail storage service: Added MAIL_STORAGE_SERVICE_NO_PLUGINS flag.
	[21c0676961e8] <HEAD>

2009-12-11  Timo Sirainen  <tss@iki.fi>

	* src/util/Makefile.am, src/util/script.c:
	script: Added enough features to get rawlog working again. Also
	added -d parameter to drop privileges before executing script.
	[b07f913040b1] <HEAD>

	* src/imap/main.c, src/lib-master/master-login.c, src/lib-master
	/master-login.h, src/pop3/main.c, src/util/Makefile.am,
	src/util/script.c:
	imap, pop3: Added back ability to run post-login scripts.
	[e9cbc461c525] <HEAD>

	* src/lib/Makefile.am, src/lib/abspath.c, src/lib/abspath.h:
	Added t_abspath*().
	[395b53cebaac] <HEAD>

	* src/lib/Makefile.am, src/lib/strfuncs.c, src/lib/strfuncs.h, src/lib
	/test-lib.c, src/lib/test-lib.h, src/lib/test-strfuncs.c:
	Added p_strarray_dup().
	[c2386c4594d5] <HEAD>

	* src/imap/main.c, src/pop3/main.c:
	imap, pop3: If client creation fails, update lib-master connection
	count.
	[f0fd3bd7c122] <HEAD>

	* src/imap/main.c, src/lib-master/master-login.c, src/pop3/main.c:
	*-login: Check for missing username in lib-master code.
	[6c9d97878efe] <HEAD>

	* src/anvil/main.c, src/lib-master/master-interface.h, src/master
	/service-anvil.c, src/master/service-anvil.h, src/master/service-
	log.c, src/master/service-process.c, src/master/service.c,
	src/master/service.h:
	anvil: After master gets a SIGHUP, start logging via new log
	process.
	[802b9ebe79e6] <HEAD>

	* src/lib-master/master-login.c:
	lib-master: Minor error message fixes.
	[32ad99f146d1] <HEAD>

2009-12-10  Timo Sirainen  <tss@iki.fi>

	* src/dsync/Makefile.am:
	dsync tests: Link also with libcharset.
	[8196200d4fb9] <HEAD>

	* src/dsync/Makefile.am:
	dsync tests: Link with iconv libraries to avoid compiler errors in
	some systems.
	[868c0d6462f4] <HEAD>

	* src/lib/bsearch-insert-pos.h:
	Compile fix for non-gcc.
	[b6e4cb26c3cb] <HEAD>

2009-12-09  Timo Sirainen  <tss@iki.fi>

	* src/login-common/main.c:
	*-login: If we've a pending shutdown and auth connection gets lost,
	kill clients. If master and auth processes had died, we would never
	get another connection.
	[a164075ea33a] <HEAD>

	* src/lib-auth/auth-client-request.c, src/lib-auth/auth-client.c, src
	/lib-auth/auth-client.h, src/login-common/sasl-server.c:
	*-login: Get auth connection cookie earlier so its lookup can't
	fail.
	[32e77c570529] <HEAD>

	* src/lib-auth/auth-client.c:
	auth client: Added asserts.
	[3ac17da0d723] <HEAD>

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: If mbox parsing notices unexpected corruption, don't assert-
	crash.
	[b15a3277d7d4] <HEAD>

	* src/lib-storage/index/mbox/istream-raw-mbox.c:
	mbox: Log an error if From_-line gets lost/corrupted unexpectedly.
	[576abd71121c] <HEAD>

	* src/plugins/expire/expire-env.c:
	expire: Settings now support spaces in mailbox names by using quoted
	strings.
	[ba7a62453316] <HEAD>

	* src/plugins/virtual/virtual-sync.c:
	virtual optimization: If saved highest-modseq matches current one,
	don't try to find higher ones.
	[b7ce62749fd7] <HEAD>

	* src/plugins/virtual/virtual-sync.c:
	virtual: Fixed updating virtual mailbox based on flag changes.
	[aa97e059ca32] <HEAD>

	* src/doveadm/doveadm-dump-index.c:
	doveadm dump index: Decode virtual storage's index header.
	[8df262408a10] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: Die on SIGINT only if we're running standalone or not
	handling clients.
	[e6362e056ef2] <HEAD>

	* src/dsync/dsync.c:
	dsync: Removed MASTER_SERVICE_FLAG_STD_CLIENT flag, since it's not
	really one.
	[bbdfe2ef328b] <HEAD>

	* .hgignore, doc/example-config/Makefile.am, doc/example-
	config/README.in:
	Install README file to config directory, which points to example-
	config.
	[b1e0c10143fa] <HEAD>

	* configure.in:
	configure: Added -llber to ldap libs. Fixes linking in some systems.
	Patch by Marco Nenciarini.
	[7456f5768184] <HEAD>

	* src/lib/process-title.c:
	Compile fix for non-Linux.
	[3d13ea0c687f] <HEAD>

2009-11-27  Pascal Volk  <user@localhost.localdomain.org>

	* doc/dovecot-initd.sh:
	doc/dovecot-initd.sh extended LSB run-time dependencies
	[73679e39f072] <HEAD>

2009-12-08  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota.c:
	quota: Minor code cleanup.
	[b166d2cc49a6] <HEAD>

	* src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-
	private.h, src/plugins/quota/quota.c:
	Maildir++ quota: % limits weren't updated when limits were read from
	maildirsize.
	[4002e686d38d] <HEAD>

	* src/lib/compat.c:
	Fixed my_strptime() wrapper.
	[2f294ba2168a] <HEAD>

	* src/lib/lib.c, src/lib/process-title.c, src/lib/process-title.h:
	process title hack: Free allocated memory at deinit.
	[32aba99c2e4f] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	*-login: Fixed a minor memory leak.
	[328e42919f2f] <HEAD>

	* doc/example-config/conf.d/ssl.conf:
	example-config: Updated ssl_key_password comments.
	[3badaa16d524] <HEAD>

	* doc/example-config/conf.d/ssl.conf, src/login-common/login-
	settings.c, src/login-common/login-settings.h, src/login-common/ssl-
	proxy-openssl.c:
	*-login: ssl_ca_file setting changed to ssl_ca.
	[0da209ff80d5] <HEAD>

	* src/imap/cmd-list.c:
	imap: Fixed listing namespaces with multiple hierarchy separators.
	[3a1f6c1a8485] <HEAD>

	* src/config/config-parser.c, src/lib-settings/settings.c:
	config parser: If line ends with '\' continuation, remove extra
	whitespace before it.
	[05cfc267aa3d] <HEAD>

2009-12-07  Timo Sirainen  <tss@iki.fi>

	* src/plugins/expire/expire-env.c:
	expire plugin: Log debug messages with i_debug(), not i_info().
	[93b3a6e63531] <HEAD>

	* src/plugins/expire/expire-env.c:
	expire plugin: Fixed debug logging to use mail_debug setting.
	[84e400f3fc1f] <HEAD>

	* src/lib/module-dir.c:
	Fixed compiling without module support.
	[7bfb37044928] <HEAD>

	* src/auth/main.c, src/config/config-parser.c, src/dict/main.c, src
	/lib-storage/mail-storage-service.c, src/lib/module-dir.c, src/lib
	/module-dir.h:
	module_dir_load*() API changed to take settings struct, with debug
	field. Fixed debug logging to also go from info log to debug log.
	[55c42d2f7002] <HEAD>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: Fixed output timeout handling.
	[abe02cf3bd47] <HEAD>

	* src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap-
	quota-plugin.c:
	imap-* plugins: Advertise capability only if user actually has
	plugin loaded.
	[7330a21e7d03] <HEAD>

	* src/lib-storage/mail-user.c, src/lib-storage/mail-user.h:
	lib-storage: Added mail_user_is_plugin_loaded().
	[1062e6ca6310] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Added support for per-user plugins.
	[932afc022ea1] <HEAD>

	* src/lib-storage/mail-storage-hooks.c:
	lib-storage: Use module_get_plugin_name() instead of doing it
	ourself.
	[784d2920761f] <HEAD>

	* src/lib/module-dir.c, src/lib/module-dir.h:
	Added module_dir_load_missing() and module_get_plugin_name().
	[f0a6461b86ee] <HEAD>

	* src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src/lmtp/lmtp-
	proxy.c:
	lmtp proxy fixes.
	[3662241f75f2] <HEAD>

	* src/lib-storage/mail-storage-hooks.c, src/lib-storage/mail-storage-
	hooks.h:
	lib-storage: Forgot to add new files for plugin API change.
	[ea17056d2df9] <HEAD>

2009-12-04  Timo Sirainen  <tss@iki.fi>

	* src/lib/env-util.c:
	Check return value if unsetenv().
	[927cc04cd5e8] <HEAD>

	* src/lib-storage/Makefile.am, src/lib-storage/list/index-mailbox-
	list-sync.c, src/lib-storage/list/index-mailbox-list.c, src/lib-
	storage/mail-namespace.c, src/lib-storage/mail-namespace.h, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src
	/lib-storage/mail-user.c, src/lib-storage/mail-user.h, src/lib-
	storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c,
	src/lib/module-dir.c, src/lib/module-dir.h, src/lib/strfuncs.c,
	src/lib/strfuncs.h, src/plugins/acl/acl-mailbox-list.c,
	src/plugins/acl/acl-plugin.c, src/plugins/acl/acl-plugin.h,
	src/plugins/acl/acl-storage.c, src/plugins/autocreate/autocreate-
	plugin.c, src/plugins/autocreate/autocreate-plugin.h,
	src/plugins/convert/convert-plugin.c, src/plugins/convert/convert-
	plugin.h, src/plugins/expire/expire-plugin.c, src/plugins/expire
	/expire-plugin.h, src/plugins/fts-lucene/fts-lucene-plugin.c,
	src/plugins/fts-lucene/fts-lucene-plugin.h, src/plugins/fts-solr
	/fts-solr-plugin.c, src/plugins/fts-solr/fts-solr-plugin.h,
	src/plugins/fts-squat/fts-squat-plugin.c, src/plugins/fts-squat/fts-
	squat-plugin.h, src/plugins/fts/fts-plugin.c, src/plugins/fts/fts-
	plugin.h, src/plugins/fts/fts-storage.c, src/plugins/imap-acl/imap-
	acl-plugin.c, src/plugins/imap-acl/imap-acl-plugin.h, src/plugins
	/imap-quota/imap-quota-plugin.c, src/plugins/imap-quota/imap-quota-
	plugin.h, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/lazy-expunge/lazy-expunge-plugin.h,
	src/plugins/listescape/listescape-plugin.c, src/plugins/listescape
	/listescape-plugin.h, src/plugins/mail-log/mail-log-plugin.c,
	src/plugins/mail-log/mail-log-plugin.h, src/plugins/mbox-snarf/mbox-
	snarf-plugin.c, src/plugins/mbox-snarf/mbox-snarf-plugin.h,
	src/plugins/notify/notify-plugin-private.h, src/plugins/notify
	/notify-plugin.c, src/plugins/notify/notify-plugin.h,
	src/plugins/notify/notify-storage.c, src/plugins/quota/quota-
	plugin.c, src/plugins/quota/quota-plugin.h, src/plugins/quota/quota-
	storage.c, src/plugins/trash/trash-plugin.c, src/plugins/trash
	/trash-plugin.h, src/plugins/virtual/virtual-plugin.c,
	src/plugins/virtual/virtual-plugin.h, src/plugins/zlib/zlib-
	plugin.c, src/plugins/zlib/zlib-plugin.h:
	lib-storage: Plugin hook API changed to support per-user plugins
	within a process.
	[a9eda7672869] <HEAD>

	* src/config/settings-get.pl:
	Changed settings-get.pl to understand the MEMBER() macro removal.
	[3448f1bc6966] <HEAD>

	* src/anvil/anvil-settings.c, src/auth/auth-settings.c,
	src/auth/auth.c, src/auth/db-ldap.c, src/auth/db-sql.c, src/auth
	/mech-anonymous.c, src/auth/mech-apop.c, src/auth/mech-cram-md5.c,
	src/auth/mech-digest-md5.c, src/auth/mech-external.c, src/auth/mech-
	gssapi.c, src/auth/mech-login.c, src/auth/mech-ntlm.c, src/auth
	/mech-otp.c, src/auth/mech-plain.c, src/auth/mech-rpa.c, src/auth
	/mech-skey.c, src/auth/mech-winbind.c, src/auth/passdb-bsdauth.c,
	src/auth/passdb-checkpassword.c, src/auth/passdb-ldap.c, src/auth
	/passdb-pam.c, src/auth/passdb-passwd-file.c, src/auth/passdb-
	passwd.c, src/auth/passdb-shadow.c, src/auth/passdb-sia.c, src/auth
	/passdb-sql.c, src/auth/passdb-vpopmail.c, src/auth/userdb-
	checkpassword.c, src/auth/userdb-ldap.c, src/auth/userdb-nss.c,
	src/auth/userdb-passwd-file.c, src/auth/userdb-passwd.c, src/auth
	/userdb-prefetch.c, src/auth/userdb-sql.c, src/auth/userdb-static.c,
	src/auth/userdb-vpopmail.c, src/config/config-settings.c, src/dict
	/dict-settings.c, src/imap-login/imap-login-settings.c, src/imap
	/imap-settings.c, src/lib-dict/dict-client.c, src/lib-dict/dict-
	db.c, src/lib-dict/dict-file.c, src/lib-dict/dict-sql.c, src/lib-
	index/mail-index-strmap.c, src/lib-index/mailbox-list-index.c, src
	/lib-lda/duplicate.c, src/lib-lda/lda-settings.c, src/lib-master
	/master-service-settings.c, src/lib-settings/settings-parser.c, src
	/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql
	/driver-sqlite.c, src/lib-sql/sql-api.c, src/lib-storage/index/cydir
	/cydir-storage.c, src/lib-storage/index/dbox-multi/mdbox-settings.c,
	src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-
	storage/index/maildir/maildir-settings.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-settings.c, src/lib-storage/index/mbox/mbox-storage.c, src
	/lib-storage/index/raw/raw-storage.c, src/lib-storage/index/shared
	/shared-list.c, src/lib-storage/index/shared/shared-storage.c, src
	/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-
	list-maildir.c, src/lib-storage/mail-storage-settings.c, src/lib-
	storage/test-mail-storage.c, src/lib-storage/test-mailbox.c,
	src/lib/macros.h, src/lib/mempool-alloconly.c, src/lib/mempool-
	datastack.c, src/lib/mempool-system-clean.c, src/lib/mempool-
	system.c, src/lib/mempool-unsafe-datastack.c, src/lmtp/lmtp-
	settings.c, src/log/log-settings.c, src/login-common/login-
	settings.c, src/master/master-settings.c, src/plugins/acl/acl-
	backend-vfile.c, src/plugins/convert/convert-storage.c, src/plugins
	/fts-lucene/fts-backend-lucene.c, src/plugins/fts-solr/fts-backend-
	solr.c, src/plugins/fts-squat/fts-backend-squat.c, src/plugins/quota
	/quota-maildir.c, src/plugins/virtual/virtual-storage.c,
	src/pop3-login/pop3-login-settings.c, src/pop3/pop3-settings.c, src
	/ssl-params/ssl-params-settings.c, src/util/maildirlock.c:
	Removed MEMBER() macro. Require C99 style struct initializer.
	[b757dab45756] <HEAD>

2009-12-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Removed logging extraneous errors, again.
	[48b8752c793d] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Removed logging extraneous errors.
	[68309cd6548d] <HEAD>

	* src/lib-storage/index/maildir/maildir-copy.c:
	maildir_copy_preserve_filename=yes could have caused crashes.
	[2277467334fb] <HEAD>

2009-12-02  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-client-connection.c, src/auth/auth-master-
	connection.c, src/auth/auth-worker-server.c, src/auth/passdb.c,
	src/auth/password-scheme.c, src/auth/userdb.c, src/config/config-
	parser.c, src/imap/cmd-list.c, src/imap/imap-commands-util.c,
	src/imap/imap-search.c, src/imap/imap-sync.c, src/lib-dict/dict-
	file.c, src/lib-dict/dict.c, src/lib-index/mail-index-map.c,
	src/lmtp/lmtp-proxy.c, src/master/master-settings.c, src/master
	/service-listen.c, src/master/service-log.c, src/master/service-
	monitor.c, src/master/service.c, src/ssl-params/main.c:
	Use array_foreach() more.
	[ad3fb3f929fc] <HEAD>

	* src/lib/array.h, src/lib/test-array.c:
	Added array_foreach_idx()
	[cc4e9d1fef7e] <HEAD>

2009-11-25  Timo Sirainen  <tss@iki.fi>

	* src/auth/mech-digest-md5.c, src/auth/password-scheme.c, src/lib-
	index/mail-index-sync-keywords.c, src/lib-index/mail-transaction-
	log-append.c, src/lib/buffer.c, src/lib/buffer.h,
	src/pop3-login/client.c:
	Removed buffer_create_static_hard(). buffer_create_data() handles
	most of the situations where it was wanted.
	[f8151445662e] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail_privileged_group was parsed as user, not group. Patch by Apple.
	[a1018630276b] <HEAD>

2009-11-24  Timo Sirainen  <tss@iki.fi>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: Crashfix on hanging connections.
	[04b0ee571f47] <HEAD>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: Assert-crashfix to handling DATA input timeout.
	[99e069c98709] <HEAD>

	* src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-proxy.h:
	lmtp proxy: More error handling fixes.
	[96152031f5d9] <HEAD>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: Don't crash if all RCPT TOs fail to a remote.
	[8f6995923fbd] <HEAD>

	* src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src/lmtp/lmtp-
	proxy.c:
	LMTP client API changes. Should be easier to use now.
	[a144e918938c] <HEAD>

	* src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src/lmtp/lmtp-
	proxy.c:
	lmtp proxy: Error handling fix.
	[9500cfbe5dbf] <HEAD>

2009-11-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src/lmtp/lmtp-
	proxy.c:
	lmtp: Error handling fixes.
	[6ab1e2f4ca55] <HEAD>

	* src/pop3-login/client.c:
	pop3-login: Don't crash in QUIT command.
	[aba3cb15f082] <HEAD>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: Fix to handling "no new input" reads.
	[c5c360a88067] <HEAD>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: Stalling remote servers weren't detected correctly.
	[4eadbf965d1f] <HEAD>

	* src/lib/istream-tee.c, src/lib/istream-tee.h, src/lib/test-istream-
	tee.c:
	Added tee_i_stream_child_is_waiting().
	[9d878b1dc028] <HEAD>

	* src/imap/cmd-list.c, src/imap/cmd-status.c, src/imap/imap-commands-
	util.c, src/imap/imap-commands-util.h, src/imap/imap-commands.c,
	src/imap/imap-commands.h, src/imap/imap-status.c, src/imap/imap-
	status.h:
	imap: Don't send NONEXISTENT resp code to non-delete operations.
	[b79bc02aec6d] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail storage service: And added missing #include for previous
	change.
	[ce0ff560cd80] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail storage service: If chdir() fails with EACCES, give a better
	error message.
	[05b50522442f] <HEAD>

	* src/lib-lda/lmtp-client.c:
	lmtp client: Don't crash if lmtp_client_send_more() is called after
	failure.
	[c9f5b2734710] <HEAD>

	* src/plugins/fts-squat/squat-trie.c:
	fts-squat: Fixed searching multi-byte characters.
	[f34528b52196] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Changed index/uidlist mismatch from assert-crashing to
	logging an error.
	[aa8a12288c93] <HEAD>

	* src/lib-index/mail-index-sync-ext.c:
	lib-index: Replaced ext-header update assert with "index corrupted"
	error handling.
	[711fbedaad9d] <HEAD>

	* src/lib/Makefile.am:
	Makefile: Added UnicodeData.txt to distribution.
	[247f137f17d8] <HEAD>

2009-11-20  Timo Sirainen  <tss@iki.fi>

	* src/lib/compat.h:
	OS X: Fixed compiler warning about missing fdatasync() prototypes.
	[940212bda6ea] <HEAD>

	* src/lib-index/mail-transaction-log.h:
	lib-index: MAIL_TRANSACTION_TYPE_MASK didn't contain the new
	_EXT_HDR_UPDATE32.
	[5ed426229f20] <HEAD>

2009-11-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-transaction-log.h:
	lib-index: Updated MAIL_TRANSACTION_EXT_MASK to include thew new
	_EXT_HDR_UPDATE32.
	[b12f7da461e3] <HEAD>

	* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-sync-ext.c,
	src/lib-index/mail-index-sync-private.h, src/lib-index/mail-index-
	sync-update.c, src/lib-index/mail-index-transaction-export.c, src
	/lib-index/mail-transaction-log.h:
	mail_index_update_header_ext(): Couldn't handle >=64k headers.
	[8b3c802556a9] <HEAD>

2009-11-19  Pascal Volk  <user@localhost.localdomain.org>

	* doc/dovecot-initd.sh:
	doc/dovecot-initd.sh added LSB-compliant info block. Updated
	base_dir detection.
	[7ad38188c36b] <HEAD>

2009-11-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/service-settings.h:
	Define inet_listener_settings array type.
	[8503b074bec0] <HEAD>

	* src/lib-storage/mailbox-list-private.h, src/lib-storage/mailbox-
	list.c, src/lib-storage/mailbox-list.h:
	Added mailbox_list_set_changelog_writable().
	[d29bb46a1929] <HEAD>

	* src/lib-settings/settings-parser.c:
	Compiler warning fixes.
	[2789f87b6828] <HEAD>

	* src/master/master-settings.c:
	master: Give a nicer error message if duplicate listeners exist.
	[b21b3b373c74] <HEAD>

	* src/master/master-settings.c:
	master: Create base_dir with 0755 permissions, not 0777.
	[17eac5a18ce4] <HEAD>

	* src/dsync/dsync-brain.c, src/dsync/dsync-proxy-client.c, src/dsync
	/dsync-proxy-server-cmd.c, src/dsync/dsync-worker-local.c, src/dsync
	/dsync-worker-private.h, src/dsync/dsync-worker.c, src/dsync/dsync-
	worker.h, src/dsync/dsync.c, src/dsync/test-dsync-proxy-server-
	cmd.c, src/dsync/test-dsync-worker.c:
	dsync: Fixed problems with syncing mailbox names that are invalid on
	other side.
	[036db604f86c] <HEAD>

	* src/lib/compat.c, src/lib/compat.h:
	Added a wrapper for strptime() to work around issues with glibc.
	[0b101a864534] <HEAD>

	* src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c:
	dsync: Sync mailbox renames.
	[b99a19d5a93c] <HEAD>

2009-11-18  Timo Sirainen  <tss@iki.fi>

	* src/master/service-listen.c:
	master: unix_listener's user/group wasn't being used.
	[ce18bbd3e964] <HEAD>

	* src/lmtp/client.c:
	lmtp: Use hostname setting.
	[6aa11c638f54] <HEAD>

	* src/dsync/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync-
	proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-
	worker-local.c, src/dsync/dsync-worker-private.h, src/dsync/dsync-
	worker.c, src/dsync/dsync-worker.h, src/dsync/dsync.c:
	dsync: If some uid/modseq changes couldn't be done, exit with
	different value.
	[9f2e8d230bd5] <HEAD>

	* src/lib-index/mail-cache-transaction.c, src/lib-index/mail-index-
	modseq.c, src/lib-index/mail-index-private.h, src/lib-index/mail-
	index-sync-update.c, src/lib-index/mail-index-sync.c, src/lib-index
	/mail-index-transaction-private.h, src/lib-index/mail-index-
	transaction.c, src/lib-index/mail-index.h, src/lib-
	storage/index/cydir/cydir-save.c, src/lib-storage/index/cydir/cydir-
	storage.h, src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.h, src/lib-storage/index
	/dbox-single/sdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
	storage.h, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/index-transaction.c, src/lib-storage/index/maildir
	/maildir-save.c, src/lib-storage/index/maildir/maildir-storage.h,
	src/lib-storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox
	/mbox-storage.h, src/lib-storage/list/index-mailbox-list-sync.c, src
	/lib-storage/mail-storage.h:
	Transaction commits can now track how many uid/modseq updates were
	ignored.
	[75d3d4374dda] <HEAD>

	* src/lmtp/client.c:
	lmtp: Don't leak a client timeout and crash later.
	[cc5d8a5deab2] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	MAIL_STORAGE_SERVICE_FLAG_ENABLE_CORE_DUMPS: Also chdir() to home
	dir.
	[7664afedc7bb] <HEAD>

	* src/lmtp/main.c:
	lmtp: If -D parameter is given, enable core dumps.
	[4183f16e6f60] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	mail-storage-service: Added
	MAIL_STORAGE_SERVICE_FLAG_ENABLE_CORE_DUMPS flag.
	[dffe7da9ca2e] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	Added mail_storage_service_user_get_settings_parser().
	[28cdf09c062b] <HEAD>

	* src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server.c,
	src/dsync/dsync-proxy-server.h, src/dsync/dsync-proxy.h:
	dsync: Added handshaking to proxy protocol.
	[a339eeca23fb] <HEAD>

	* src/dsync/Makefile.am, src/dsync/dsync.c:
	dsync: Fixed -u <user> convert.
	[def159693f9a] <HEAD>

	* src/lib-auth/auth-master.c:
	lib-auth: Fixed "auth input" debug messages.
	[27c2692dbe42] <HEAD>

2009-11-17  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	layout=fs: Fixed listing mailboxes under INBOX with non-mbox
	storages.
	[0729e84246e9] <HEAD>

	* src/dsync/test-dsync-common.c:
	dsync: Minor unit test update.
	[e94d43687351] <HEAD>

	* src/dsync/dsync-brain.c, src/dsync/dsync-data.h, src/dsync/dsync-
	proxy.c, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.h,
	src/dsync/dsync.c, src/dsync/test-dsync-brain.c, src/dsync/test-
	dsync-proxy-server-cmd.c, src/dsync/test-dsync-proxy.c:
	dsync: Added support for different source/dest hierarchy separators.
	[ff403fe262e5] <HEAD>

	* src/dsync/dsync.c:
	dsync: Write usage directly to stderr instead of via logging.
	[a7be031eb51d] <HEAD>

	* src/dsync/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync.c:
	dsync convert <source> converts mailbox without proxying. Renamed -e
	parameter to "mirror".
	[22ffa2eb68c0] <HEAD>

	* src/dsync/dsync.c:
	dsync: Changed local/remote log prefixes.
	[415a87bdeacd] <HEAD>

	* src/dsync/dsync.c:
	dsync: Require "server" parameter to start in server mode.
	[7a206ede2e7e] <HEAD>

	* src/lib-storage/mail-user.c:
	mail_user_*home_expand(): Use home_expand_tilde() instead of
	duplicating the code.
	[ffac955d80ef] <HEAD>

	* src/lib-storage/index/dbox-multi/mdbox-storage.c:
	mdbox: mailbox_update() was updating uidvalidity to random values.
	[d1d810348e65] <HEAD>

	* src/dsync/dsync-worker-local.c:
	dsync: Try creating INBOX before fallbacking to just updating it.
	[9670b1268a9a] <HEAD>

	* src/auth/main.c:
	auth: Unload modules earlier to avoid crashes.
	[3f0752af52db] <HEAD>

	* src/dsync/dsync-worker-local.c, src/imap/cmd-copy.c, src/imap/cmd-
	store.c, src/imap/imap-expunge.c, src/imap/imap-fetch.c, src/imap
	/imap-search.c, src/lib-storage/index/index-search-result.c, src
	/lib-storage/index/index-search.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/index-thread.c, src/lib-storage
	/mail-storage-private.h, src/lib-storage/mail-storage.c, src/lib-
	storage/mail-storage.h, src/lib-storage/test-mailbox.c,
	src/plugins/convert/convert-storage.c, src/plugins/expire/expire-
	tool.c, src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts
	/fts-storage.c, src/plugins/mbox-snarf/mbox-snarf-plugin.c,
	src/plugins/quota/quota-count.c, src/plugins/quota/quota-storage.c,
	src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
	search.c, src/plugins/virtual/virtual-storage.h, src/plugins/virtual
	/virtual-sync.c, src/pop3/pop3-client.c, src/pop3/pop3-commands.c:
	mailbox_search_next*() API changed to return bool. If search fails,
	it'll be noticed anyway by mailbox_search_deinit().
	[0156d98bc822] <HEAD>

	* src/lib-storage/index/mbox/mbox-mail.c:
	mbox: Minor error message improvement.
	[f8e03cda78d9] <HEAD>

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h:
	doveadm: Added global -v (verbose) and -D (debug) options. Removed
	"doveadm <mail command> -v".
	[93c87044469f] <HEAD>

	* src/lib-lda/lmtp-client.c:
	lmtp client: Fix to handling multiple recipients (and errors).
	[3836c67fa5f1] <HEAD>

	* src/dsync/dsync-data.c:
	dsync: dsync_mailbox_dup() wasn't duping cache fields.
	[062fe605cd19] <HEAD>

	* src/lmtp/client.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
	settings.h:
	lmtp: memdup default settings so RCPT TO settings lookups won't
	overwrite them.
	[6431c35a9670] <HEAD>

	* src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src/lmtp/lmtp-
	proxy.c:
	lmtp proxy: Fixes to error handling.
	[d784be144b4d] <HEAD>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: If remote hangs without replying to end-of-DATA dot,
	don't crash.
	[26eb1b52a23f] <HEAD>

2009-11-16  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-brain-msgs.c,
	src/dsync/dsync-data.h, src/dsync/dsync-proxy-client.c, src/dsync
	/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy.c, src/dsync/dsync-
	proxy.h, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker-
	private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h,
	src/dsync/test-dsync-brain.c, src/dsync/test-dsync-common.c,
	src/dsync/test-dsync-proxy.c, src/dsync/test-dsync-worker.c,
	src/dsync/test-dsync-worker.h:
	dsync: Sync mailboxes' cache fields.
	[278d4da53141] <HEAD>

	* src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache.h:
	mail_cache_register_fields(): Update caching decisions from input
	fields.
	[d7e946e3c0c4] <HEAD>

	* src/lib-storage/index/index-status.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/mail-storage.h:
	lib-storage: Added support for listing/adding cache fields.
	[69c2aa08cf2c] <HEAD>

	* configure.in, src/config/all-settings.h, src/config/config-parser.c,
	src/config/settings-get.pl, src/lib-master/service-settings.h,
	src/master/master-settings.h:
	config: Allow settings plugins to specify also new default services.
	[e18645b47984] <HEAD>

	* src/lib/module-dir.c, src/lib/module-dir.h:
	Added module_get_symbol_quiet().
	[12434655f2e5] <HEAD>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: After killing a hanging server connection, try reading
	more input.
	[5ecda3558f2a] <HEAD>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: When client fails, don't stop reading DATA input until
	"." is seen.
	[c48703f5ce25] <HEAD>

	* src/lib-lda/lmtp-client.c:
	lmtp client: Fail immediately if server disconnects.
	[fed94dd1991b] <HEAD>

	* src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c, src/dsync
	/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync
	/dsync-worker-local.c, src/dsync/dsync-worker-private.h, src/dsync
	/dsync-worker.c, src/dsync/dsync-worker.h, src/dsync/test-dsync-
	proxy-server-cmd.c, src/dsync/test-dsync-worker.c, src/dsync/test-
	dsync-worker.h:
	dsync: Fixed subscription syncing to work with namespace prefixes.
	[b5b253d35612] <HEAD>

	* src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server.c,
	src/dsync/dsync-proxy-server.h, src/dsync/dsync-proxy.h:
	dsync: Added 15 min connection timeout.
	[2e4fc44c6160] <HEAD>

	* src/dsync/dsync-worker-local.c:
	dsync: Compiler warning fix.
	[32a754b2d79b] <HEAD>

2009-11-13  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c, src/dsync
	/dsync-data.c, src/dsync/dsync-data.h, src/dsync/dsync-proxy-
	client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-
	server.h, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker-
	private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h,
	src/dsync/test-dsync-brain.c, src/dsync/test-dsync-proxy-server-
	cmd.c, src/dsync/test-dsync-worker.c, src/dsync/test-dsync-worker.h:
	dsync: Added support for subscription syncing.
	[b63fd6156663] <HEAD>

	* src/lib-storage/mailbox-list.c:
	Delay initializing mailbox changelog index, so mbox has time to
	override its path.
	[4267c30ded97] <HEAD>

	* src/lib/array.h:
	array_bsearch(): Cast return value to proper type.
	[38941d54ec5d] <HEAD>

	* src/dsync/dsync-worker-local.c:
	dsync: Fixed getting mailbox list GUID when using non-default
	hierarchy separator.
	[d1ace3dbc94a] <HEAD>

	* src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.c,
	src/dsync/test-dsync-proxy-server-cmd.c:
	dsync: Avoid hanging.
	[05893dd71338] <HEAD>

	* src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c:
	dsync: Wait for all saves to finish before updating mailboxes'
	metadata. The mailbox updating could try closing the same mailbox
	that still has an unfinished save.
	[513cff2a7008] <HEAD>

	* src/dsync/dsync-worker-local.c:
	dsync: Delay enabling modseqs until modseq>1 is seen.
	[00aba806af0b] <HEAD>

	* src/lib-index/mail-index-transaction-update.c:
	lib-index: Ignore modseq->1 updates, they can never happen.
	[2a2261f5a0be] <HEAD>

2009-11-12  Timo Sirainen  <tss@iki.fi>

	* src/anvil/main.c, src/config/main.c, src/log/main.c, src/ssl-
	params/main.c:
	anvil, config, log, ssl-params: Drop privileges as configured.
	[4933856b86d7] <HEAD>

	* src/anvil/main.c, src/master/service-process.c:
	anvil: Stay alive until it has no more clients.
	[506fba223006] <HEAD>

	* src/auth/auth-worker-client.c, src/auth/auth-worker-client.h,
	src/auth/main.c:
	auth worker: Don't start breaking if connection to auth master dies.
	[1c29c69248e0] <HEAD>

	* src/auth/main.c:
	auth: Unload plugins after everything else is deinitialized. Fixes a
	crash at deinit when SQL drivers were plugins.
	[8d47c9dbe9cb] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: Recent flags weren't set correctly.
	[aeac8a0cd60a] <HEAD>

	* src/lib-sql/driver-mysql.c:
	Increased initial mysql driver memory pool size.
	[675e1e198dce] <HEAD>

	* src/lib-auth/auth-server-connection.c:
	auth client: Don't crash after aborting auth requests.
	[49f6fc5b60a8] <HEAD>

	* src/lib-mail/rfc2231-parser.c, src/lib-mail/test-rfc2231-parser.c:
	rfc2231 parser: Fixed parsing "key*".
	[037299bb2199] <HEAD>

2009-11-11  Timo Sirainen  <tss@iki.fi>

	* src/master/main.c:
	Removed duplicate master_service variable. Patch by Apple.
	[3baf1cb9fdda] <HEAD>

	* src/auth/auth.c:
	auth: Another try at connecting to anvil-auth-penalty while still
	root.
	[75b48fa3aec4] <HEAD>

	* src/auth/auth-request-handler.c, src/auth/auth.c, src/auth/auth.h:
	auth: Connect to anvil-auth-penalty before dropping root privileges.
	[9bec70f26637] <HEAD>

	* src/master/capabilities-posix.c:
	master: Give master also CAP_KILL capability.
	[49d92c3fa17a] <HEAD>

	* src/lda/main.c, src/lib-lda/mail-deliver.c:
	mail_deliver_save() now takes mailbox name as UTF-8 and internally
	converts to mUTF-7.
	[05d94015d0ef] <HEAD>

2009-11-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	Forgot to commit mail_storage_service_user_get_input().
	[c21543e87190] <HEAD>

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Merge group rights if user belongs to more than one.
	[b55069127635] <HEAD>

	* src/plugins/acl/acl-mailbox-list.c:
	acl: mailbox_name_status() shouldn't hide its existence if user has
	any rights to it.
	[9cf3caefec2c] <HEAD>

	* src/lib-lda/lda-settings.c, src/lmtp/commands.c:
	recipient_delimiter: Allow multi-character delimiters.
	[0d659ac4656d] <HEAD>

	* src/lib-lda/lda-settings.c, src/lib-lda/lda-settings.h,
	src/lmtp/client.h, src/lmtp/commands.c:
	Added recipient_delimiter setting that LMTP server now uses.
	[51160ecbacaf] <HEAD>

	* src/imap-login/client-authenticate.c, src/login-common/client-
	common-auth.c, src/login-common/client-common.c, src/login-common
	/client-common.h, src/pop3-login/client-authenticate.c:
	*-login: Removed per-connection auth failure penalties. Trust auth
	server to do it.
	[7d9cd9b7da08] <HEAD>

	* src/auth/Makefile.am, src/auth/auth-penalty.c, src/auth/auth-
	penalty.h, src/auth/auth-request-handler.c, src/auth/auth-request.c,
	src/auth/auth-request.h, src/auth/mech.h, src/auth/passdb.h,
	src/auth/userdb.h:
	auth: Added auth failure penalty tracking based on remote IP
	address.
	[fbff8ca77d2e] <HEAD>

	* src/lib-master/anvil-client.c, src/lib-master/anvil-client.h, src
	/login-common/main.c:
	anvil client: Added more features.
	[13da60f934da] <HEAD>

	* src/lib-auth/auth-server-connection.c:
	lib-auth: Don't crash if callback destroys the auth client.
	[9702da6d3b6a] <HEAD>

	* src/anvil/Makefile.am, src/anvil/anvil-connection.c, src/anvil
	/anvil-settings.c, src/anvil/common.h, src/anvil/main.c,
	src/anvil/penalty.c, src/anvil/penalty.h:
	anvil: Added support for penalty tracking.
	[ea209b33ef96] <HEAD>

2009-11-09  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset d52d842e8f81
	[e6840e39ebc7] <HEAD>

	* .hgtags:
	Added tag 2.0.alpha3 for changeset d52d842e8f81
	[87622c521233] <HEAD>

	* configure.in:
	Released v2.0.alpha3.
	[d52d842e8f81] [2.0.alpha3] <HEAD>

	* src/lib/unichar.c, src/lib/unichar.h:
	Added uni_utf8_str_is_valid().
	[64df978b2926] <HEAD>

	* src/lib-lda/Makefile.am, src/lib-lda/mail-deliver.c:
	lib-lda: Log mailbox name using UTF-8, not mUTF-7.
	[d57dcba5dd24] <HEAD>

	* src/master/service-process.c:
	master: Don't suggest adding -D parameter to non-login processes.
	[5e92e1ed4e91] <HEAD>

	* src/auth/userdb-vpopmail.c:
	vpopmail: Removed vauth_open() call. Apparently it's not the right
	way.
	[d62c2361c3b6] <HEAD>

	* src/master/common.h, src/master/main.c:
	Removed all traces of auth-success file checking. The file no longer
	got written after pre/post-login process redesign and maybe it's too
	much trouble to get it back.
	[d861e380a059] <HEAD>

	* src/lib-index/mail-transaction-log-file.c:
	index: If we see duplicate transaction log files, avoid corrupting
	the newer one.
	[38d3e668dc1f] <HEAD>

	* src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-proxy.h:
	lmtp proxy: Add Received: header.
	[c11324abe1a8] <HEAD>

	* src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h:
	lmtp client: Added support for writing given string as headers.
	[147627c8433a] <HEAD>

	* src/lib-lda/lmtp-client.c:
	lmtp client: More fixes to handling RCPT TO failures.
	[353a30947b91] <HEAD>

	* src/lib-lda/lmtp-client.c, src/lmtp/lmtp-proxy.c:
	lmtp, lmtp client: More fixes to handling failures.
	[aa8729e340ba] <HEAD>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: Added data input timeout.
	[2ad1ad1e1083] <HEAD>

	* src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c:
	lmtp: Disable idle timeout while proxying.
	[cb7b2901f1f8] <HEAD>

	* doc/example-config/conf.d/auth.conf, doc/example-
	config/conf.d/imap.conf, doc/example-config/conf.d/mail.conf,
	src/auth/auth-settings.c, src/config/config-request.c, src/imap
	/imap-settings.c, src/lib-settings/settings-parser.c, src/lib-
	settings/settings-parser.h, src/lib-storage/index/mbox/mbox-
	settings.c, src/lib-storage/mail-storage-settings.c:
	Added "time" (interval) setting type, which supports s/m/h/d/w
	suffixes.
	[7215f4142901] <HEAD>

	* doc/example-config/conf.d/auth.conf, doc/example-
	config/conf.d/imap.conf, doc/example-config/conf.d/mail.conf, doc
	/example-config/conf.d/master.conf, src/auth/auth-settings.c,
	src/auth/auth-settings.h, src/auth/passdb-cache.c, src/config
	/config-request.c, src/imap/imap-settings.c, src/imap/imap-
	settings.h, src/lib-master/service-settings.h, src/lib-settings
	/settings-parser.c, src/lib-settings/settings-parser.h, src/lib-
	storage/index/dbox-multi/mdbox-settings.c, src/lib-storage/index
	/dbox-multi/mdbox-settings.h, src/lib-storage/index/mbox/mbox-
	settings.c, src/lib-storage/index/mbox/mbox-settings.h, src/lib-
	storage/index/mbox/mbox-storage.c, src/master/master-settings.c,
	src/master/master-settings.h, src/master/service-process.c,
	src/master/service.c, src/master/service.h:
	Added "size" setting type, which supports B/k/M/G/T suffixes.
	[4b663b9e63af] <HEAD>

	* src/lib-storage/index/index-mailbox-check.c:
	IDLE: After seeing a change, don't check for more changes every 0,5
	seconds.
	[cd1ce06a0ee5] <HEAD>

	* src/lib-lda/lda-settings.c:
	lib-lda: If hostname setting is empty, default to system's hostname.
	[b93d2e668eba] <HEAD>

	* src/lmtp/lmtp-proxy.c:
	lmtp proxy: After all DATA input is read, stop trying to read more
	of it.
	[84a1776dd1c3] <HEAD>

	* src/lib-lda/lmtp-client.c:
	lmtp client: Handle failures better.
	[09dd23dd6ee0] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: Don't try to close config fd early after all. Login
	processes can do another config lookup when TLS hostname is given.
	[e556ff1dbab1] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Fixed accessing uninitialized memory.
	[2526861b8417] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Read protocol=lmtp settings.
	[409c782237d2] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	Added mail_storage_service_init_settings().
	[4109e7f29735] <HEAD>

	* src/lmtp/Makefile.am:
	lmtp: Link smtp-client.o explicitly so Sieve can use it.
	[26e6636aa82e] <HEAD>

	* src/config/config-request.c:
	config: Handle chained dependencies.
	[0785c83ce8c4] <HEAD>

2009-11-08  Jørgen P. Tjernø  <jorgen@devsoft.no>

	* src/lib/unicodemap.pl:
	Make unicodemap.pl give correct return code when it fails to
	complete, so that make will stop processing.
	[8984dc0e7c72] <HEAD>

2009-11-06  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/Makefile.am:
	Makefile: Updated *.conf files to be *.conf.ext
	[cd4b7135cf3c] <HEAD>

2009-11-06  Pascal Volk  <user@localhost.localdomain.org>

	* doc/example-config/dovecot.conf, doc/example-
	config/dovecot.conf.ext:
	example-config: Dropped ".ext" extension from dovecot.conf
	[c1d8e1b02f89] <HEAD>

2009-11-06  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Having a lot of keywords assert-crashed with "stack frame
	changed".
	[2e00f9da27ad] <HEAD>

	* src/login-common/common.h, src/login-common/main.c, src/login-common
	/sasl-server.c:
	*-login: Use new anvil library to do async anvil lookups.
	[e99c02873d8c] <HEAD>

	* src/lib-master/Makefile.am, src/lib-master/anvil-client.c, src/lib-
	master/anvil-client.h:
	lib-master: Added anvil client code.
	[8ebf82849077] <HEAD>

	* src/lib-master/master-service-private.h, src/lib-master/master-
	service.c, src/lib-master/master-service.h:
	lib-master: Added master_service_stop_new_connections().
	[7bdb5816f797] <HEAD>

2009-11-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	mail storage service: Added MAIL_STORAGE_SERVICE_NO_LOG_INIT flag.
	[18f5fdeed659] <HEAD>

	* src/lib/Makefile.am, src/lib/llist.h, src/lib/test-lib.c, src/lib
	/test-lib.h, src/lib/test-llist.c:
	Added DLLIST2_*() functions for doubly linked list with head and
	tail.
	[07e0e2b4abe1] <HEAD>

	* src/lib/llist.h:
	DLLIST_REMOVE(): Set removed item's prev/next pointers to NULL.
	[16d40abb75b8] <HEAD>

	* doc/example-config/conf.d/auth.conf, doc/example-config/dovecot-
	db.conf, doc/example-config/dovecot-db.conf.ext, doc/example-config
	/dovecot-dict-sql.conf, doc/example-config/dovecot-dict-
	sql.conf.ext, doc/example-config/dovecot-ldap.conf, doc/example-
	config/dovecot-ldap.conf.ext, doc/example-config/dovecot-sql.conf,
	doc/example-config/dovecot-sql.conf.ext, doc/example-
	config/dovecot.conf, doc/example-config/dovecot.conf.ext:
	example-config: Added ".ext" extension for ldap/sql/dict-sql/db
	config files. This separates them from the rest of the config files
	that can be directly included from conf.d/.
	[32d007b5f41d] <HEAD>

	* src/lmtp/main.c:
	lmtp: Keep connection to config process open.
	[e0db66c8b9a9] <HEAD>

	* src/lmtp/client.c:
	lmtp: Don't crash if LHLO isn't given.
	[584e848fc957] <HEAD>

	* src/lmtp/client.c, src/lmtp/commands.c, src/lmtp/main.c:
	lmtp: Improved logging.
	[597f969a9870] <HEAD>

	* src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h,
	src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c:
	lmtp: Add Received: header, with a session ID. Log the session ID
	also.
	[ba3574ed9f74] <HEAD>

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.h:
	lib-storage: Moved mail_generate_*() to be public functions.
	[b2925a5d9cf7] <HEAD>

	* src/lib-storage/index/dbox-common/dbox-storage.c:
	dbox notify: Look for dbox index files from index dir, not mail root
	dir.
	[ea4a80ee0283] <HEAD>

	* src/auth/auth-worker-server.c:
	auth: Drop idling worker processes after 5 minutes, not 30 minutes.
	[96838accb6af] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail storage service: Create auth master connection if necessary
	when returning it.
	[5866ea3cfa71] <HEAD>

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Don't close input stream when syncing. This breaks copying.
	[77b704cda90b] <HEAD>

	* doc/example-config/conf.d/Makefile.am:
	Makefile: Added missing lmtp.conf.
	[f69c5c25f176] <HEAD>

	* src/master/dup2-array.c, src/master/service-monitor.c, src/master
	/service-process.c:
	master: Make sure processes aren't created if its service is
	stopped.
	[8ee2bb8f23a0] <HEAD>

	* src/lib/array.h:
	array_foreach_modifiable() was broken in non-C99 compilers. Patch by
	Apple.
	[1c089f4f3e48] <HEAD>

2009-11-04  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-brain-msgs.c,
	src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c,
	src/dsync/dsync-proxy-server.c, src/dsync/dsync-proxy-server.h,
	src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.c:
	dsync: Several fixes
	[df908e821744] <HEAD>

2009-11-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Fixed mailbox_update() to update next-uid properly.
	[5a4318e65ba7] <HEAD>

	* src/lib-storage/index/mbox/mbox-save.c:
	mbox: Added support for saving messages with wanted UIDs.
	[4acd259d2b9c] <HEAD>

	* src/lib-index/mail-index-transaction.c:
	lib-index: Don't refresh index after transaction commit if nothing
	was changed.
	[a5e545002bf5] <HEAD>

	* src/imap-login/imap-proxy.c:
	imap proxy: Always send post-login capability to client. The
	original code did it only when client had used CAPABILITY command.
	Now it's also sent in tagged reply to login/authenticate command if
	the remote server didn't already add it.
	[9c4740670030] <HEAD>

2009-10-30  Timo Sirainen  <tss@iki.fi>

	* src/dsync/Makefile.am:
	dsync: Put the binary into bin/, not libexec/.
	[2a00f1d762b0] <HEAD>

	* src/lib-storage/list/mailbox-list-fs-iter.c:
	mbox: Fixed listing INBOX when NO_AUTO_INBOX flag was set.
	[3e85df7dc65a] <HEAD>

	* src/lib-settings/settings-parser.c:
	settings parser: Allow multiple strlist blocks with same name. They
	just get merged.
	[dfbdb1e8deb6] <HEAD>

	* src/util/rawlog.c:
	rawlog: Make also created socketpair fds nonblocking.
	[83464a815f46] <HEAD>

	* src/util/rawlog.c:
	rawlog: Make sure to set fds nonblocking to avoid hangs.
	[4ba2db4794ab] <HEAD>

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Fixed setting initial explicit uidvalidity/uidnext on mailbox
	creation.
	[b0cdefe35909] <HEAD>

	* src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-proxy-client.c:
	dsync: Message bodies were saved only partially.
	[51618f48242b] <HEAD>

2009-10-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/mbox/mbox-mail.c:
	mbox: Return header MD5 allocated from mail's data pool, not data
	stack.
	[635fda7ed49c] <HEAD>

	* src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-storage.h, src/lib-storage/index/shared
	/shared-list.c, src/lib-storage/list/mailbox-list-fs.c, src/lib-
	storage/list/mailbox-list-maildir.c, src/lib-storage/mailbox-list-
	private.h, src/lib-storage/mailbox-list.c:
	mbox: Added support for mailbox directory GUIDs.
	[db1a9e0853f5] <HEAD>

	* src/lib-storage/index/mbox/mbox-mail.c:
	mbox: Use header MD5 as message's GUID.
	[ded4cbe648fc] <HEAD>

	* src/lib-storage/index/mbox/mbox-mail.c:
	mbox: Fixed looking up header MD5 values when they didn't exist yet.
	[1484bfe9bb2a] <HEAD>

	* src/lmtp/Makefile.am:
	lmtp: Link with all the same unused .o files as lda.
	[410b72cf8567] <HEAD>

	* src/lda/Makefile.am:
	lda: Link with message-header-encode.o so Sieve plugin can use it.
	[704b1fd3c92f] <HEAD>

	* src/lib-settings/settings-parser.c:
	settings: Allow referencing strlists without section key (e.g.
	plugin/foo vs. plugin/0/foo)
	[9ecf2adadc4f] <HEAD>

	* src/lib-settings/settings-parser.c:
	settings parser: Don't crash if trying to expand a setting under
	strlist.
	[988ea1049fa5] <HEAD>

	* src/dsync/dsync-proxy-client.c:
	dsync proxy client: Improved error handling.
	[89d924850fb1] <HEAD>

	* src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-worker-private.h,
	src/dsync/dsync-worker.c, src/dsync/dsync-worker.h,
	src/dsync/dsync.c:
	dsync: Added -r option to make that sync side read-only.
	[e5bd42b8c2f0] <HEAD>

2009-10-28  Timo Sirainen  <tss@iki.fi>

	* src/login-common/login-settings.c, src/login-common/login-
	settings.h, src/login-common/main.c, src/login-common/ssl-proxy-
	openssl.c:
	*-login: Added support for TLS SNI.
	[67b88d1a12f2] <HEAD>

	* src/login-common/client-common.c, src/login-common/login-proxy.c,
	src/login-common/main.c, src/login-common/ssl-proxy-openssl.c, src
	/login-common/ssl-proxy.c, src/login-common/ssl-proxy.h:
	ssl: Don't start handshake until client has been set.
	[3f1c47797dee] <HEAD>

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h:
	lib-master: Support local_host and remote_host in config lookups.
	[7b774a0c3493] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	*-login: Create SSL context for each different SSL config, instead
	of changing each connection.
	[168f2e6ef6d6] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	ssl: Improved error message logging.
	[09fe6d98cf98] <HEAD>

	* src/config/config-connection.c, src/config/config-filter.c,
	src/config/config-filter.h, src/config/config-parser.c,
	src/config/doveconf.c:
	config: Renamed remote/local_ip to just remote/local and added
	support for hostnames.
	[a90d9bb6fec3] <HEAD>

	* src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-worker.c,
	src/dsync/dsync-worker.h:
	dsync: Check for errors when saving messages.
	[55b60c79c54c] <HEAD>

	* src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.c,
	src/dsync/dsync-worker.c, src/lib-storage/index/index-storage.c:
	Memory allocation tweaks.
	[eb9a262fde74] <HEAD>

	* src/dsync/dsync-brain.c, src/dsync/dsync-proxy-client.c:
	dsync: Memory usage tweaks.
	[a553595ce5a9] <HEAD>

	* src/lib-storage/index/maildir/maildir-storage.c:
	maildir: mailbox_update() crashed if mailbox wasn't yet open.
	[e3d0385ce703] <HEAD>

	* src/lib/data-stack.c:
	data stack: Fixes to handling out-of-memory situations.
	[728a029f56f9] <HEAD>

	* src/lib/failures.c, src/lib/str.c:
	Minor memory allocation tweaks.
	[c84c4f705e69] <HEAD>

	* src/lib-mail/message-header-encode.c:
	message_header_encode(): Line lengths weren't calculated properly
	with some characters.
	[6c32cc350164] <HEAD>

	* src/lib/str-sanitize.c, src/lib/test-str-sanitize.c:
	str_sanitize(): Don't break UTF-8 input.
	[f68c2cc1b32b] <HEAD>

2009-10-27  Timo Sirainen  <tss@iki.fi>

	* src/lib-mail/Makefile.am, src/lib-mail/message-header-encode.c, src
	/lib-mail/message-header-encode.h, src/lib-mail/test-message-header-
	encode.c:
	Added message header (RFC 2047) encoder.
	[104edcb89a70] <HEAD>

	* src/lib/eacces-error.c:
	eaccess_error*(): Error message updated.
	[66eaf7b1e36b] <HEAD>

	* src/lda/main.c:
	lda: Removed accidentally committed debug change.
	[b470c03b7164] <HEAD>

	* src/lib-mail/message-header-parser.c, src/lib-mail/test-message-
	header-parser.c:
	message header parser: Require input buffer to be larger than 1 byte
	to avoid hangs.
	[233cda69b00a] <HEAD>

	* src/lib-mail/message-header-parser.c, src/lib-mail/test-message-
	header-parser.c:
	message header parser: Fixed parsing lines larger than input buffer.
	[ee3f9bc4f5b7] <HEAD>

	* src/lib/test-istream-concat.c:
	test-istream-concat: Don't use uninitialized variable.
	[86110f830311] <HEAD>

	* src/lda/main.c:
	lda: Fixed binary setuid-checking.
	[13b3a3ce892c] <HEAD>

	* src/lib-index/mail-transaction-log-file.c:
	Test WORDS_BIGENDIAN with #if, not #ifdef. Patch by Apple.
	[b55afe3e957c] <HEAD>

	* src/lib/array.h:
	array.h: Compile fix for non-C99 compilers.
	[1e0c572f1937] <HEAD>

	* src/lib-storage/index/index-mailbox-check.c, src/lib-storage/index
	/index-storage.h:
	mailbox_notify_changes(): Delay sending notifications for 500 msecs.
	If the notification is done immediately, IDLE may not notice the
	change because it's not finished yet.
	[e9c8a21e95e4] <HEAD>

2009-10-26  Timo Sirainen  <tss@iki.fi>

	* src/anvil/anvil-settings.c:
	anvil: Keep always one process running by default.
	[b0017c5dd411] <HEAD>

	* src/master/main.c, src/master/service-anvil.c, src/master/service-
	anvil.h, src/master/service-listen.c, src/master/service-monitor.c,
	src/master/service-process.c, src/master/service.c,
	src/master/service.h:
	master: anvil process now stays alive across SIGHUPs.
	[01676e67cf38] <HEAD>

	* src/lib-master/master-login-auth.c, src/lib-master/master-login-
	auth.h, src/lib-master/master-login.c, src/lib-master/master-
	service-private.h, src/lib-master/master-service.c:
	lib-master: Fixes to handling master-login services.
	[9d13e9f78d52] <HEAD>

	* src/login-common/client-common.c, src/login-common/common.h, src
	/login-common/main.c:
	*-login: Show better state with verbose_proctitle=yes.
	[3e7e08af2991] <HEAD>

	* src/config/config-connection.c, src/config/config-request.c,
	src/config/config-request.h, src/config/doveconf.c:
	Previous config change broke master's startup.
	[46d08ae1314f] <HEAD>

	* src/config/config-connection.c, src/config/config-request.c,
	src/config/config-request.h, src/config/doveconf.c:
	doveconf -n/-a: Don't dump default service settings. This code is
	just getting uglier and uglier..
	[d647b795da6d] <HEAD>

	* src/config/config-request.c, src/config/doveconf.c:
	doveconf -n: Don't show unchanged service settings.
	[c94ca1acd623] <HEAD>

	* src/imap/main.c, src/lib-master/master-login.c, src/lib-master
	/master-login.h, src/lib-master/master-service-private.h, src/lib-
	master/master-service.c, src/pop3/main.c:
	imap, pop3: Connection counting fixes. Multiple real connections can
	come from "login connections". For now don't even try to count login
	connections.
	[40d8df2b4111] <HEAD>

	* src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h,
	src/pop3/pop3-common.h, src/pop3/pop3-settings.c,
	src/pop3/pop3-settings.h:
	pop3: Added support for verbose_proctitle=yes
	[02e852b2c2c3] <HEAD>

	* src/imap/imap-client.c, src/imap/imap-client.h, src/imap/imap-
	common.h, src/imap/imap-settings.c, src/imap/imap-settings.h,
	src/imap/main.c:
	imap: Added support for verbose_proctitle=yes
	[585bceaf98bb] <HEAD>

	* src/lib-mail/message-parser.c:
	message_parser_init_from_parts(): Removed wrong assert.
	[b57588b298aa] <HEAD>

	* src/master/master-settings.c, src/master/master-settings.h:
	master: Removed unused verbose_proctitle setting.
	[e758ed7c2cb4] <HEAD>

	* src/lib-master/master-service-settings.c:
	If connect() fails to UNIX config socket, don't try to exec
	doveconf.
	[582659cebfdf] <HEAD>

	* configure.in, src/lib-master/master-service.c, src/lib/process-
	title.c, src/lib/process-title.h, src/util/rawlog.c:
	Fixed Linux proctitle hack and enabled it by default now.
	[affb52c62add] <HEAD>

	* src/lib/test-istream-seekable.c:
	test-istream-seekable: Minor improvements.
	[34aa0445aa14] <HEAD>

	* src/lib/Makefile.am, src/lib/test-istream-concat.c, src/lib/test-
	istream-seekable.c, src/lib/test-lib.c, src/lib/test-lib.h:
	Added unit tests for istream-seekable istream-concat.
	[49599bbfc900] <HEAD>

	* src/lib-test/test-common.c, src/lib-test/test-common.h:
	lib-test: Added test_istream_create().
	[7c3605774b93] <HEAD>

	* src/lib/istream-concat.c:
	istream-concat: Fixed a lot of bugs.
	[891d8650f3f8] <HEAD>

	* src/lib/istream-seekable.c:
	istream-seekable: Don't assert-crash when input buffer becomes full.
	[65c6568515ce] <HEAD>

	* src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h,
	src/doveadm/doveadm.c:
	doveadm: Fixed printing help for purge and force-resync commands.
	[2b9eb115fbd7] <HEAD>

	* src/config/all-settings.h, src/config/config-parser.c, src/config
	/config-parser.h, src/config/doveconf.c, src/config/main.c,
	src/config/settings-get.pl:
	config: Added support for dynamically loaded settings.
	[4dc080520769] <HEAD>

2009-10-23  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/master.conf:
	example-config: Comment out default defaults from master.conf.
	[2571cbc88302] <HEAD>

	* doc/example-config/conf.d/master.conf, src/anvil/Makefile.am,
	src/anvil/anvil-settings.c, src/auth/auth-settings.c,
	src/config/Makefile.am, src/config/config-parser.c, src/config
	/config-settings.c, src/config/settings-get.pl, src/dict/dict-
	settings.c, src/imap-login/imap-login-settings.c, src/imap/imap-
	settings.c, src/lib-master/Makefile.am, src/lib-master/service-
	settings.h, src/lib-settings/settings-parser.c, src/lib-settings
	/settings-parser.h, src/lmtp/lmtp-settings.c, src/log/Makefile.am,
	src/log/log-settings.c, src/master/master-settings.c, src/master
	/master-settings.h, src/pop3-login/pop3-login-settings.c,
	src/pop3/pop3-settings.c, src/ssl-params/ssl-params-settings.c:
	Moved default service settings from master.conf to source code.
	[afe52d60989c] <HEAD>

	* src/master/master-settings.c, src/master/service.c:
	master: service's vsz_limit=0 should disable the limit, not make it
	use the default.
	[272bec780e26] <HEAD>

	* src/auth/auth-settings.c, src/config/config-request.c, src/config
	/settings-get.pl, src/dict/dict-settings.c, src/dict/dict-
	settings.h, src/imap-login/imap-login-settings.c, src/imap/imap-
	settings.c, src/imap/imap-settings.h, src/lib-dict/dict-sql-
	settings.c, src/lib-lda/lda-settings.c, src/lib-lda/lda-settings.h,
	src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h, src/lib-settings/settings-parser.c, src/lib-
	settings/settings-parser.h, src/lib-settings/settings.c, src/lib-
	settings/settings.h, src/lib-storage/index/dbox-multi/mdbox-
	settings.c, src/lib-storage/index/maildir/maildir-settings.c, src
	/lib-storage/index/mbox/mbox-settings.c, src/lib-storage/mail-
	storage-service.c, src/lib-storage/mail-storage-settings.c, src/lib-
	storage/mail-storage-settings.h, src/lmtp/lmtp-settings.c, src/lmtp
	/lmtp-settings.h, src/login-common/login-settings.c, src/login-
	common/login-settings.h, src/master/master-settings.c, src/master
	/master-settings.h, src/pop3-login/pop3-login-settings.c,
	src/pop3/pop3-settings.c, src/pop3/pop3-settings.h, src/ssl-params
	/ssl-params-settings.c:
	Changed all settings related structs to const and changed APIs to
	make it work.
	[d589d568a19d] <HEAD>

	* src/lib-storage/mail-storage-settings.c, src/master/master-
	settings.c:
	services, unix/fifo_listeners and namespaces are now sections with
	unique name.
	[9e0123366fc5] <HEAD>

	* src/config/config-parser.c, src/config/config-request.c, src/lib-
	settings/settings-parser.c, src/lib-settings/settings-parser.h:
	config: Added SET_DEFLIST_UNIQUE type. Settings in unique sections
	can be overridden.
	[eaac22ecc168] <HEAD>

	* doc/example-config/conf.d/mail.conf, src/lib-storage/mail-storage-
	settings.c:
	namespace section name now points to prefix, not type.
	[429641734346] <HEAD>

	* doc/example-config/conf.d/master.conf, src/master/master-settings.c:
	master: unix_listener settings can now have the path in the block
	name.
	[f7943875e069] <HEAD>

	* doc/example-config/conf.d/mail.conf, doc/example-
	config/dovecot.conf:
	example-config: Moved shutdown_clients to main dovecot.conf.
	[a768005d1549] <HEAD>

	* src/dict/main.c, src/imap/imap-settings.c, src/imap/imap-settings.h,
	src/imap/main.c, src/lib-master/master-service-private.h, src/lib-
	master/master-service-settings.c, src/lib-master/master-service-
	settings.h, src/lib-master/master-service.c, src/lib-master/master-
	service.h, src/log/main.c, src/login-common/login-proxy.c, src
	/login-common/login-proxy.h, src/login-common/main.c,
	src/master/service.c, src/pop3-login/client.c, src/pop3/main.c,
	src/pop3/pop3-settings.c, src/pop3/pop3-settings.h:
	Handle shutdown_clients globally for all services. Delay shutting
	down processes until it's convenient for them, but if they're not
	gone in 30 seconds forcibly stop. And if that doesn't help, master
	will start killing them in 60 seconds.
	[7f0ccd367351] <HEAD>

	* src/imap-login/client.c, src/login-common/sasl-server.c,
	src/pop3-login/client.c:
	*-login: Make sure input isn't being handled while not connected to
	auth process.
	[47fdfd49af13] <HEAD>

	* src/lib-auth/auth-server-connection.c:
	lib-auth: When connection dies, reset structure variables properly.
	[ae639ce8cea6] <HEAD>

	* src/doveadm/doveadm-dump-index.c:
	doveadm dump: Fixed printing unaligned cache data with CPUs that
	require alignment.
	[79f1c3ae4a98] <HEAD>

	* src/doveadm/doveadm.c:
	doveadm: Fixed resetting getopt() for non-glibc.
	[56274bd4693c] <HEAD>

2009-10-23  Pascal Volk  <user@localhost.localdomain.org>

	* src/doveadm/doveadm-who.c:
	doveadm who: reformatted command output
	[c316e7198ae3] <HEAD>

2009-10-22  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 6b75cb16d427
	[2800d96a37c6] <HEAD>

	* .hgtags:
	Added tag 2.0.alpha2 for changeset 6b75cb16d427
	[1097194c5b1b] <HEAD>

	* NEWS, TODO, configure.in:
	Released v2.0.alpha2.
	[6b75cb16d427] [2.0.alpha2] <HEAD>

	* src/ssl-params/ssl-params.c:
	ssl_parameters_regenerate=0 wasn't disabling it.
	[6e8abac7a439] <HEAD>

	* src/imap/imap-settings.c, src/pop3/pop3-settings.c:
	shutdown_clients default should have been "yes".
	[46fb78ac0c46] <HEAD>

	* src/auth/auth-worker-client.c, src/auth/main.c:
	auth worker client deinit fixes.
	[e519b53b3f87] <HEAD>

	* src/auth/auth-worker-server.c, src/lib-auth/auth-master.c, src/lib-
	auth/auth-server-connection.c, src/lib-master/master-login-auth.c,
	src/lib-master/master-service-settings.c, src/login-common/main.c:
	Use net_connect_unix_with_retries() instead of duplicating the code
	everywhere.
	[e027503ddb6b] <HEAD>

	* src/lib/network.c, src/lib/network.h:
	Added net_connect_unix_with_retries().
	[1bc88aa1373f] <HEAD>

	* src/auth/auth-worker-client.c, src/auth/main.c:
	auth: Cleaned up auth worker client deinit code.
	[faf2339212b8] <HEAD>

	* src/lda/main.c, src/lib-lda/duplicate.c, src/lib-lda/duplicate.h,
	src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h:
	lib-lda: Fixed duplicate database to work with multiple users per
	process.
	[85f3282cfe4f] <HEAD>

	* configure.in:
	configure: Removed --with-sql-drivers parameter. I'm not sure what
	it tried to do.
	[3a32306aa473] <HEAD>

	* src/login-common/login-settings.c:
	login_greeting setting now supports %variables.
	[ae2d8b121f91] <HEAD>

	* doc/example-config/conf.d/master.conf:
	example-config: Set process_limit=1 to auth service. We'd currently
	break if there were more.
	[23cdea955eb3] <HEAD>

	* src/doveadm/doveadm.c:
	doveadm: Reset getopt() after handling lib-master parameters.
	[383da67215d9] <HEAD>

	* src/doveadm/doveadm-who.c:
	doveadm who -1: Fixed filtering.
	[508f5536a0a7] <HEAD>

	* src/doveadm/doveadm-who.c:
	doveadm who: Added -1 parameter. Added connection's protocol.
	[257bb6f74138] <HEAD>

	* src/doveadm/doveadm-mail.c:
	doveadm: When iterating through all users, don't drop privileges
	permanently.
	[6fcc5a684b83] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail storage service: Fixed iterating through all users.
	[9df00624855b] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: Fixed getopt_string containing "+" GNU extension.
	[ef1ca7e1a9f9] <HEAD>

	* src/doveadm/Makefile.am, src/doveadm/doveadm-who.c,
	src/doveadm/doveadm.c, src/doveadm/doveadm.h:
	doveadm: Added "who" command to list connected users based on anvil
	information.
	[b8df77326978] <HEAD>

	* src/anvil/anvil-connection.c, src/anvil/connect-limit.c, src/anvil
	/connect-limit.h:
	anvil: Added CONNECT-DUMP command to dump connect-limit state.
	[1110edddec36] <HEAD>

	* src/imap/imap-client.c, src/login-common/sasl-server.c,
	src/pop3/pop3-client.c:
	Changed anvil ident string to have the protocol first, so username
	can contain '/' chars.
	[19e67ad17398] <HEAD>

	* doc/example-config/conf.d/lda.conf:
	example-config: Added lda_mailbox_autocreate/_autosubscribe
	settings.
	[a173fa193324] <HEAD>

	* doc/example-config/conf.d/lmtp.conf:
	example-config: Added lmtp.conf.
	[c15659a9a3a6] <HEAD>

	* doc/example-config/conf.d/imap.conf, doc/example-
	config/conf.d/lda.conf, doc/example-config/conf.d/mail.conf, doc
	/example-config/conf.d/pop3.conf:
	example-config: Plugin setting updates.
	[7ddd6d3315a0] <HEAD>

	* src/ssl-params/ssl-params.c:
	ssl-params: When generating parameters, run the process with
	priority +15.
	[0893112306d1] <HEAD>

	* src/imap/main.c:
	imap: Compiling fix.
	[38c307c7af2a] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail storage service: Returning "nice" from userdb again changes
	process priority.
	[8e3fd502d54e] <HEAD>

	* .hgignore:
	.hgignore updated.
	[dfbbbde95e5f] <HEAD>

	* src/imap/main.c, src/pop3/main.c:
	imap/pop3: Cleaned up initialization code.
	[ff200b8e4929] <HEAD>

	* src/imap/main.c, src/pop3/main.c:
	imap/pop3 now supports multiple connections/process, removed the
	restriction.
	[cb6dc691fa5a] <HEAD>

	* src/lda/main.c, src/lib-storage/index/shared/shared-storage.c, src
	/lib-storage/mail-namespace.c, src/lib-storage/mail-storage-
	service.c, src/lib-storage/mail-storage-service.h, src/lib-storage
	/mail-storage-settings.c, src/lib-storage/mail-storage-settings.h,
	src/lib-storage/mail-user.c, src/lib-storage/mail-user.h,
	src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c, src/lmtp
	/lmtp-settings.c, src/lmtp/main.c:
	lib-storage: Changed APIs to fix reading settings for multiple
	users.
	[545bdb7670d2] <HEAD>

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	settings_find_dynamic() now takes const pointer.
	[1eedcee69ce7] <HEAD>

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Expunging last messages from mailbox caused crashing.
	[47e1756f6047] <HEAD>

	* src/lib/file-dotlock.c:
	file_dotlock_create(): If nfs_flush is enabled, fdatasync after
	writing PID. This makes sure that the write() doesn't fail later in
	close() and cause problems.
	[9ef0821a2ce7] <HEAD>

2009-10-21  Timo Sirainen  <tss@iki.fi>

	* src/doveadm/doveadm-mail.c, src/dsync/dsync.c, src/imap/imap-
	client.c, src/imap/imap-client.h, src/imap/main.c, src/lda/main.c,
	src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h, src/lib-storage/mail-user.c, src/lib-storage
	/mail-user.h, src/lmtp/client.c, src/lmtp/client.h,
	src/lmtp/commands.c, src/lmtp/main.c, src/lmtp/main.h,
	src/plugins/convert/convert-tool.c, src/plugins/expire/expire-
	tool.c, src/pop3/main.c, src/pop3/pop3-client.c,
	src/pop3/pop3-client.h:
	Merged single and multi mail_storage_service_*() functions.
	[d1384c2b08e5] <HEAD>

	* src/plugins/notify/Makefile.am:
	Makefile: Don't symlink notify plugin to subdirs. It's not necessary
	anymore.
	[3c87c0b18090] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail_storage_service_multi*() didn't use userdb lookup results.
	[545a9694dcb8] <HEAD>

	* src/lmtp/main.c:
	lmtp: Fixed crashing caused by recent API changes.
	[9c640a1eb8b6] <HEAD>

2009-10-20  Timo Sirainen  <tss@iki.fi>

	* doc/example-config/conf.d/master.conf, src/auth/Makefile.am:
	dovecot-auth binary renamed to auth.
	[915cd421895f] <HEAD>

	* src/lda/main.c:
	lda: Cleaned up parameter handling.
	[e248c1e53e00] <HEAD>

	* src/lib/ioloop-epoll.c:
	ioloop-epool: Panic on epoll_ctl() failures so it's easier to find
	the bug.
	[0598391a86e8] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-settings.c:
	mail_chroot can now contain %variables.
	[f6257036f7ef] <HEAD>

	* src/lib-storage/mail-user.c:
	Allow mail_users_init() without giving socket path.
	[92f2dac233b0] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	Don't allow relative home directory paths.
	[cb2882c142e1] <HEAD>

	* src/anvil/main.c, src/auth/main.c, src/config/doveconf.c,
	src/config/main.c, src/dict/main.c, src/doveadm/doveadm.c,
	src/dsync/dsync.c, src/imap-login/client.c, src/imap/main.c,
	src/lda/main.c, src/lib-master/master-service.c, src/lib-master
	/master-service.h, src/lib/process-title.c, src/lib/process-title.h,
	src/lmtp/main.c, src/log/main.c, src/login-common/main.c,
	src/master/main.c, src/plugins/convert/convert-tool.c,
	src/plugins/expire/expire-tool.c, src/pop3/main.c, src/ssl-
	params/main.c, src/util/rawlog.c:
	Moved process title init to lib-master. With Linux-hack enabled it
	now preserves command args.
	[b584904d3bc7] <HEAD>

	* src/anvil/main.c, src/auth/main.c, src/config/doveconf.c,
	src/config/main.c, src/dict/main.c, src/doveadm/doveadm.c,
	src/dsync/dsync.c, src/imap/main.c, src/lda/main.c, src/lib-master
	/master-service-private.h, src/lib-master/master-service.c, src/lib-
	master/master-service.h, src/lmtp/main.c, src/log/main.c, src/login-
	common/main.c, src/master/main.c, src/plugins/convert/convert-
	tool.c, src/plugins/expire/expire-tool.c, src/pop3/main.c, src/ssl-
	params/main.c:
	Moved most of getopt() handling to lib-master.
	[1e63221f5c83] <HEAD>

	* src/master/master-settings.c:
	master: Don't remove auth-worker.* sockets at startup. They're no
	longer used.
	[1ae1d47aaef8] <HEAD>

	* src/imap/main.c:
	imap: Removed all dump-capability handling. We don't use it anymore.
	[1c166f7d673e] <HEAD>

	* src/login-common/main.c, src/master/master-settings.c, src/master
	/master-settings.h, src/master/service-process.c:
	Fixed login processes' core dump handling.
	[50db5e7bddd9] <HEAD>

	* src/lib-auth/auth-server-connection.c:
	lib-auth: Crashfix.
	[7df7b68ad503] <HEAD>

	* doc/example-config/conf.d/master.conf:
	example-config: Added '/' to "chroot=empty/" to make it clearer it's
	a dir.
	[f08cf2a07907] <HEAD>

	* src/master/service-process.c:
	master: Drop trailing '/' from services' chroot directory.
	[64bbf4296220] <HEAD>

	* doc/example-config/conf.d/ssl.conf, src/login-common/login-
	settings.c:
	ssl_ciphers_list: Disable anonymous and export ciphers by default.
	[c80eb856a742] <HEAD>

	* src/imap-login/Makefile.am, src/imap-login/client.c, src/imap-
	login/client.h, src/imap-login/imap-login-settings.c, src/imap-login
	/imap-login-settings.h, src/login-common/client-common.c, src/login-
	common/client-common.h, src/login-common/common.h, src/login-common
	/login-settings.c, src/login-common/login-settings.h, src/login-
	common/main.c, src/pop3-login/Makefile.am, src/pop3-login/client.c,
	src/pop3-login/pop3-login-settings.c, src/pop3-login/pop3-login-
	settings.h:
	imap-login: If imap_capability is set, use it.
	[9a71228ea41c] <HEAD>

	* src/lib-settings/settings-parser.c:
	lib-settings: Allow settings parsers with zero byte setting
	structures.
	[ac674fc9de57] <HEAD>

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	lib-settings: Added settings_check() to check specific setting
	structure.
	[a16c9fbfe22c] <HEAD>

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	settings_parser_get_list() returns now NULL-terminated list.
	[9cd71f3a6f96] <HEAD>

	* src/auth/auth-settings.c, src/config/all-settings.h, src/config
	/config-filter.c, src/config/config-parser.c, src/config/config-
	parser.h, src/config/config-request.c, src/config/doveconf.c,
	src/config/settings-get.pl, src/dict/dict-settings.c, src/imap/imap-
	settings.c, src/lib-lda/lda-settings.c, src/lib-master/master-
	service-settings.c, src/lib-settings/settings-parser.c, src/lib-
	settings/settings-parser.h, src/lib-storage/index/dbox-multi/mdbox-
	settings.c, src/lib-storage/index/maildir/maildir-settings.c, src
	/lib-storage/index/mbox/mbox-settings.c, src/lib-storage/mail-
	storage-settings.c, src/lmtp/lmtp-settings.c, src/login-common
	/login-settings.c, src/master/master-settings.c,
	src/pop3/pop3-settings.c, src/ssl-params/ssl-params-settings.c:
	struct setting_parser_info now specifies the module name.
	[dcda7c495eb6] <HEAD>

	* src/auth/auth-settings.c, src/dict/dict-settings.c, src/imap/imap-
	settings.c, src/lib-lda/lda-settings.c, src/lib-master/master-
	service-settings.c, src/lib-settings/settings-parser.c, src/lib-
	settings/settings-parser.h, src/lib-storage/index/dbox-multi/mdbox-
	settings.c, src/lib-storage/index/maildir/maildir-settings.c, src
	/lib-storage/index/mbox/mbox-settings.c, src/lib-storage/mail-
	storage-settings.c, src/lmtp/lmtp-settings.c, src/login-common
	/login-settings.c, src/master/master-settings.c,
	src/pop3/pop3-settings.c, src/ssl-params/ssl-params-settings.c:
	Reordered struct setting_parser_info fields to make using them
	easier.
	[5a25b4ec5694] <HEAD>

	* src/imap/imap-fetch.c:
	QRESYNC: Fixed fallback handling to fetching expunged UIDs (again).
	[183373d83021] <HEAD>

	* src/config/config-parser.c, src/lib-settings/settings.c:
	settings parser: Warn if a line has '#' character not preceded by
	whitespace. This should help with people trying to give '#'
	character in e.g. a password and wondering why it's not working.
	[5bdae566e0dc] <HEAD>

	* src/imap/cmd-append.c:
	imap: If client disconnects while appending, don't treat the rest of
	the message as commands.
	[f3cdf16a31a5] <HEAD>

2009-10-19  Timo Sirainen  <tss@iki.fi>

	* src/master/service-process.c:
	master: Removed some unnecessary code.
	[57134fd23d4c] <HEAD>

	* doc/example-config/conf.d/master.conf, src/auth/Makefile.am,
	src/auth/auth-client-connection.c, src/auth/auth-client-
	connection.h, src/auth/auth-master-connection.c, src/auth/auth-
	master-interface.h, src/auth/main.c, src/doveadm/doveadm.c,
	src/dsync/dsync.c, src/imap/imap-client.c, src/imap/imap-client.h,
	src/imap/main.c, src/lda/main.c, src/lib-master/Makefile.am, src
	/lib-master/master-auth.c, src/lib-master/master-auth.h, src/lib-
	master/master-interface.h, src/lib-master/master-login-auth.c, src
	/lib-master/master-login-auth.h, src/lib-master/master-login.c, src
	/lib-master/master-login.h, src/lib-master/master-service-private.h,
	src/lib-master/master-service.c, src/lib-master/master-service.h,
	src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h, src/login-common/client-common.c, src/login-
	common/common.h, src/login-common/main.c, src/login-common/sasl-
	server.c, src/master/Makefile.am, src/master/main.c, src/master
	/master-settings.c, src/master/master-settings.h, src/master
	/service-auth-server.c, src/master/service-auth-server.h, src/master
	/service-auth-source.c, src/master/service-auth-source.h, src/master
	/service-monitor.c, src/master/service-process.c, src/master
	/service-process.h, src/master/service.c, src/master/service.h,
	src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h:
	Redesigned how login process passes connections to mail processes
	and changed related APIs. Master process is no longer in the middle.
	[4fe8c4382712] <HEAD>

	* src/master/service.c:
	master: service_signal() reimplemented using the service process
	linked list.
	[33c448ce13f9] <HEAD>

	* src/master/service-process.c, src/master/service-process.h,
	src/master/service.h:
	master: Keep service's processes in an easily accessible linked
	list.
	[fea8122e1deb] <HEAD>

	* src/doveadm/doveadm-auth.c, src/lib-auth/auth-master.c, src/lib-auth
	/auth-master.h, src/lib-storage/mail-storage-service.c, src/lib-
	storage/mail-user.c:
	lib-auth: Changed auth_master_user_lookup() API.
	[15a71c18a0f8] <HEAD>

	* src/auth/userdb-passwd-file.c:
	passdb-file: When iterating through users, skip empty lines and
	comments.
	[d3f59a7a8e03] <HEAD>

2009-10-17  Pascal Volk  <user@localhost.localdomain.org>

	* src/doveadm/doveadm-pw.c:
	doveadm pw: Use t_askpass() instead of getpass()
	[596a8ab6820e] <HEAD>

2009-10-18  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/imap/cmd-sort.c, src/lib-storage/index/index-sort-
	string.c, src/lib-storage/index/index-sort.c, src/lib-storage/mail-
	storage.h:
	imap: Implemented SORT=DISPLAY extension (draft-ietf-morg-
	sortdisplay-02).
	[61619cad4d0e] <HEAD>

	* configure.in:
	configure: FLEXIBLE_ARRAY_MEMBER value was reversed.
	[634588d51ae6] <HEAD>

2009-10-16  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-subscribe.c, src/imap/imap-client.h, src/imap/imap-
	commands-util.c, src/imap/imap-common.h, src/imap/imap-fetch-body.c,
	src/imap/imap-settings.c, src/imap/imap-settings.h, src/imap/imap-
	sync.c, src/imap/main.c, src/pop3/pop3-client.c,
	src/pop3/pop3-client.h, src/pop3/pop3-commands.c,
	src/pop3/pop3-common.h, src/pop3/pop3-settings.c,
	src/pop3/pop3-settings.h:
	imap, pop3: Moved imap/pop3_client_workarounds setting parsing to
	config checking.
	[fdfe0236d50a] <HEAD>

2009-10-18  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-service-private.h, src/lib-master/master-
	service-settings.c, src/lib-master/master-service.c, src/lib-master
	/master-service.h:
	lib-master: Added _NO_CONFIG_SETTIGS and _NO_ENV_SETTINGS flags.
	[4d21bb0fff3a] <HEAD>

	* configure.in, src/anvil/Makefile.am, src/auth/Makefile.am,
	src/config/Makefile.am, src/dict/Makefile.am,
	src/doveadm/Makefile.am, src/dsync/Makefile.am, src/imap-
	login/Makefile.am, src/imap/Makefile.am, src/lda/Makefile.am,
	src/lmtp/Makefile.am, src/log/Makefile.am, src/master/Makefile.am,
	src/plugins/convert/Makefile.am, src/plugins/expire/Makefile.am,
	src/plugins/fts-squat/Makefile.am, src/pop3-login/Makefile.am,
	src/pop3/Makefile.am, src/ssl-params/Makefile.am,
	src/util/Makefile.am:
	Makefiles: Separated LIBDOVECOT and LIBDOVECOT_DEPS.
	[6a1c96577476] <HEAD>

	* src/lib-storage/mail-copy.c:
	mail_storage_copy(): Don't unreference keywords too many times.
	[755e6208d8ce] <HEAD>

2009-10-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-auth.c, src/lib-master/master-service.c,
	src/plugins/autocreate/autocreate-plugin.c, src/plugins/listescape
	/listescape-plugin.c:
	Updated copyright comments.
	[fc9d62ac86d1] <HEAD>

	* src/lib-storage/index/mbox/mbox-save.c:
	mbox: Write the last LF before fdatasync().
	[003a21d9e826] <HEAD>

	* src/login-common/login-proxy-state.c, src/login-common/login-proxy-
	state.h, src/login-common/login-proxy.c:
	imap/pop3 proxy: Track "destination down" state separately for
	IP+ports, not just IPs. In some systems different ports could get
	redirected to different servers.
	[b3c3675ba466] <HEAD>

	* doc/wiki/Makefile.am.in:
	doc/wiki/Makefile.am fix.
	[9110c752e32e] <HEAD>

	* src/lib-storage/index/mbox/mbox-save.c:
	mbox: Make sure failed saves get rolled back with NFS.
	[b0a871a899dd] <HEAD>

	* src/lib/ostream.c, src/lib/ostream.h:
	Added o_stream_get_buffer_avail_size().
	[ede6701cfe7a] <HEAD>

	* src/lib/ostream-buffer.c, src/lib/ostream-file.c, src/lib/ostream-
	internal.h, src/lib/ostream.c:
	ostream: Simplified implementing ostreams. Some functions are no
	longer necessary to implement. Moved some code to be common among
	all ostreams.
	[bad043de6a7a] <HEAD>

2009-10-16  Pascal Volk  <user@localhost.localdomain.org>

	* src/auth/auth-client-connection.c, src/auth/auth-master-
	connection.c, src/auth/auth-request.c, src/auth/db-passwd-file.c,
	src/auth/passdb.c, src/auth/userdb-ldap.c, src/auth/userdb-
	prefetch.c, src/lib-auth/auth-master.c, src/lib-auth/auth-server-
	connection.c, src/lib-lda/mail-send.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
	/lib-storage/mail-namespace.c, src/lib-storage/mail-storage-
	service.c, src/lib-storage/mailbox-list.c, src/login-common/client-
	common-auth.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/acl
	/acl-backend.c, src/plugins/acl/acl-lookup-dict.c, src/plugins/acl
	/acl-storage.c, src/plugins/autocreate/autocreate-plugin.c,
	src/plugins/convert/convert-plugin.c, src/plugins/expire/expire-
	plugin.c, src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins
	/fts-squat/fts-backend-squat.c, src/plugins/fts/fts-storage.c,
	src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/quota
	/quota-dict.c, src/plugins/quota/quota-fs.c, src/plugins/quota
	/quota-storage.c, src/plugins/quota/quota.c, src/plugins/trash
	/trash-plugin.c:
	Log debug-level messages with i_debug().
	[62b37dcf173e] <HEAD>

2009-10-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: looking up offset for transaction log's initial modseq
	failed.
	[1120a013da33] <HEAD>

	* src/plugins/expire/expire-plugin.c:
	expire: Mailbox names should be written to dict using their virtual
	name.
	[73ad4e348343] <HEAD>

	* doc/wiki/Makefile.am.in:
	--without-docs: make install no longer mkdirs wiki directory.
	[c38d2169eb5b] <HEAD>

	* doc/Makefile.am, doc/wiki/Makefile.am.in:
	--without-docs: make install no longer installs any docs.
	[f89bb026843f] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	Potential crashfix for OpenSSL < 0.9.8.
	[04f8e91fe0ec] <HEAD>

	* src/plugins/quota/quota-maildir.c:
	quota-maildir: Don't crash at startup.
	[646a7173ad3d] <HEAD>

	* src/imap/cmd-idle.c:
	imap: IDLE now sends "Still here" notifications to same user's
	connections at the same time. Perhaps this will save some battery
	power with mobile clients that open multiple connections.
	[7f77bc5a866c] <HEAD>

	* doc/example-config/dovecot.conf:
	example-config: Updated listen setting's comment.
	[1d2d55d9779e] <HEAD>

	* doc/example-config/dovecot.conf:
	example-config: Updated listen setting's comments.
	[593433307e0a] <HEAD>

	* src/master/master-settings.c:
	master: inet_listener.address's default wasn't using "listen"
	setting.
	[8e531edac6e9] <HEAD>

	* src/lib-index/mail-index-view-sync.c:
	lib-index: Give nicer error if index's log position suddenly goes
	backwards.
	[359a4e4f0892] <HEAD>

	* src/plugins/fts/fts-plugin.c:
	fts: Fixed loading the plugin.
	[5cb810c55b4a] <HEAD>

	* src/master/service-anvil.c, src/master/service-anvil.h, src/master
	/service-monitor.c:
	master: Add IO listeners to anvil after forking. Fixes kqueue.
	[5147503f4123] <HEAD>

	* src/plugins/quota/quota-fs.c:
	quota-fs: If mount=path isn't specified, don't fail with multiple
	quota roots.
	[14eeed133d57] <HEAD>

	* src/lib/ioloop-kqueue.c:
	ioloop-kqueue: Improved error messages.
	[ebebf0b447c7] <HEAD>

	* src/lib/istream-seekable.c:
	istream-seekable: If we can't write temp file, fallback to using
	memory without limits.
	[713e66a4cd07] <HEAD>

2009-10-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-lda/lmtp-client.c:
	Compiler warning fix.
	[e8e508c44d6e] <HEAD>

	* src/lib-mail/test-mbox-from.c:
	mbox_from_parse() unit test fix.
	[0ae1bf609141] <HEAD>

	* src/lib-mail/mbox-from.c, src/lib-mail/test-mbox-from.c:
	mbox_from_parse(): When timezone is missing, use the given time's
	tz, not the current tz.
	[d9576cda2f33] <HEAD>

	* doc/auth-protocol.txt:
	auth-protocol.txt: Updated version to 1.1.
	[17fefd7fe7b9] <HEAD>

	* src/auth/auth-master-interface.h, src/lib-auth/auth-client-
	interface.h:
	Increased auth protocol's minor version to 1.
	[9bf8e8fce7f7] <HEAD>

	* doc/auth-protocol.txt:
	auth-protocol.txt: Updated with the new cookie changes.
	[957dd8eb1e5a] <HEAD>

	* src/auth/auth-client-connection.c, src/auth/auth-client-
	connection.h, src/auth/auth-master-connection.c, src/lib-auth/auth-
	client.c, src/lib-auth/auth-client.h, src/lib-auth/auth-server-
	connection.c, src/lib-auth/auth-server-connection.h, src/lib-master
	/master-interface.h, src/login-common/sasl-server.c, src/master
	/service-auth-source.c:
	auth: Identify clients using a 128bit random cookie on top of the
	existing PID. When master is finishing the login, it must give this
	cookie to REQUEST command and it must match what auth process knows.
	This change makes it safe to do client/master login without a
	dedicated master process.
	[aa30fc7d771a] <HEAD>

	* src/lda/main.c:
	lda: Escape local-part if it begins/ends with '.'.
	[b81f4a4076de] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Drop quotes around local-part in RCPT TO command if possible.
	[21a09d9105b2] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir_very_dirty_syncs=yes: Make sure uidlist shrinks eventually.
	[4996ca56a1ee] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Saving a mail after fast syncing caused slow sync the next
	time.
	[e7aa137f3a11] <HEAD>

2009-10-12  Timo Sirainen  <tss@iki.fi>

	* .hgsigs:
	Added signature for changeset 7dc28f9b899d
	[5cb162da8708] <HEAD>

	* .hgtags:
	Added tag 2.0.alpha1 for changeset 7dc28f9b899d
	[defd46cae8ad] <HEAD>

	* NEWS, TODO, configure.in:
	Released v2.0.alpha1.
	[7dc28f9b899d] [2.0.alpha1] <HEAD>

	* src/dsync/Makefile.am:
	Makefile.am: Some of test-dsync*.c files weren't included in
	tarball.
	[794604d4dd1a] <HEAD>

	* src/plugins/notify/Makefile.am:
	Makefile.am: notify-plugin-private.h wasn't listed correctly.
	[154f1b1fa5d6] <HEAD>

	* src/doveadm/Makefile.am:
	Makefile.am: Added missing doveadm.h
	[6aeb7528265b] <HEAD>

	* src/lib-storage/Makefile.am:
	Makefile.am: Added missing test-mail-storage.h
	[a1a6d91ec250] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Changed QUIT message: "Logged out" -> "Client quit".
	[4074f1bed39a] <HEAD>

	* src/config/config-parser.c:
	doveconf: When not expanding <file input, show the '<' prefix.
	[37e7c4454637] <HEAD>

	* src/config/doveconf.c:
	doveconf: -N doesn't require parameter.
	[6595049c53b2] <HEAD>

	* src/auth/passdb-bsdauth.c:
	bsdauth: And compile fix to previous change..
	[7440353dc617] <HEAD>

	* src/auth/passdb-bsdauth.c:
	bsdauth: Use PLAIN as default_pass_scheme instead of CRYPT.
	[f5c2bc161baa] <HEAD>

	* src/config/doveconf.c:
	doveconf: Improved "config not found" error.
	[92e1273cf55a] <HEAD>

	* doc/example-config/Makefile.am:
	"make install" now creates sysconfdir/dovecot/ directory.
	[762acf3cce32] <HEAD>

	* src/auth/passdb-bsdauth.c:
	bsdauth: Set default pass scheme to CRYPT.
	[21636cae54e6] <HEAD>

	* src/lmtp/Makefile.am, src/lmtp/client.c, src/lmtp/client.h,
	src/lmtp/commands.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
	settings.h, src/lmtp/main.c:
	lmtp: Added lmtp_proxy setting (it's no longer hardcoded to yes).
	[ddcc3391adf9] <HEAD>

	* src/lib-index/mail-index-transaction-update.c, src/login-
	common/main.c:
	Removed some unused FIXME code.
	[499f5575d503] <HEAD>

	* src/imap-login/client.c, src/login-common/common.h, src/login-common
	/login-settings.c, src/login-common/login-settings.h, src/login-
	common/main.c, src/pop3-login/client.c:
	*-login: Login binaries can now set up their own private settings.
	[45cdc5539c93] <HEAD>

	* src/lda/main.c:
	deliver: Don't escape addresses with "." in local-part.
	[e8fc7ee87410] <HEAD>

2009-10-10  Timo Sirainen  <tss@iki.fi>

	* src/login-common/login-settings.c, src/login-common/login-
	settings.h:
	Removed unused login_chroot setting.
	[d7b3ed9814cb] <HEAD>

2009-10-09  Timo Sirainen  <tss@iki.fi>

	* src/login-common/client-common.c:
	*-login: Close auth client connection after (proxying) process no
	longer needs it.
	[cf376fcbd6ff] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: If config fd is kept open, close it after last
	connection has been created.
	[40a71105529b] <HEAD>

	* src/lib-master/master-service-settings.c:
	lib-master: Timeout reading configuration after 10 seconds.
	[ebe9b1e7a46b] <HEAD>

	* src/master/main.c:
	master: If config process doesn't exist when reloading config,
	create one to avoid hanging.
	[fa9d2204b453] <HEAD>

	* src/master/service-monitor.c:
	master: Delay starting up config process until it's actually needed.
	[364dc7ae87e4] <HEAD>

	* src/imap/imap-fetch.c:
	QRESYNC: Fixed fallback handling to fetching expunged UIDs.
	[60e8f45d71a7] <HEAD>

	* src/imap/imap-fetch.c:
	QRESYNC: Minor code cleanup by renaming variables to be more
	understandable.
	[6e109ea7b506] <HEAD>

	* src/master/main.c, src/master/service-log.c:
	master: Fixed reloading configuration.
	[940d11bc5039] <HEAD>

	* src/config/config-parser.c:
	config: key="<value" shouldn't treat value as file.
	[4442b6aa5a66] <HEAD>

	* src/lib-settings/settings-parser.h:
	Comment update.
	[6556754b6c24] <HEAD>

	* src/config/config-filter.c, src/config/config-parser.c:
	config: Conflict handling fix.
	[85e532d170cc] <HEAD>

	* doc/example-config/conf.d/master.conf, doc/example-
	config/dovecot.conf, src/master/master-settings.c, src/master
	/master-settings.h, src/master/service-listen.c,
	src/master/service.c, src/master/service.h:
	master: Added back "listen" setting, which is the default address
	for inet_listeners.
	[f69fda5d7af5] <HEAD>

	* src/master/service-monitor.c:
	master: Allow idle-killing the last service process, except anvil.
	[f14b6c68ddce] <HEAD>

	* src/master/service-anvil.c:
	master: Removed accidentally committed debug code.
	[20b8f66d9f4e] <HEAD>

	* src/master/main.c:
	master: If service user isn't specified, keep original gid instead
	of using 0.
	[e5fccc9d4831] <HEAD>

	* src/master/service-listen.c:
	master: Cleaned up chown() error logging: don't show -1 as 2^64-1.
	[59b985cd3aca] <HEAD>

	* src/master/service-monitor.c:
	Compiler warning fix.
	[4a2fa8ec5c8c] <HEAD>

	* src/master/main.c:
	dovecot --build-options: Added "Mail storages" list back.
	[7c091e3e0266] <HEAD>

	* src/master/main.c:
	dovecot --build-options: List nss if it's enabled.
	[90622fad99a0] <HEAD>

	* src/imap/imap-fetch.c:
	imap: Don't crash on SELECT .. QRESYNC if it didn't give seq-uid
	map.
	[0e27ce1b0c37] <HEAD>

	* configure.in:
	configure: Use cache for more checks.
	[e7f8f15f1c4c] <HEAD>

	* src/plugins/Makefile.am:
	plugins: mail_log links notify plugin now, so build notify first.
	[22fe48dbed89] <HEAD>

	* src/auth/mech-gssapi.c:
	auth: Fixed compiling with --with-gssapi=plugin
	[e62d4a8c6035] <HEAD>

	* doc/example-config/conf.d/mail.conf:
	example-config: dbox_* settings were renamed to mdbox_*.
	[80a99cd5148f] <HEAD>

2009-10-08  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/Makefile.am, src/plugins/fts-solr/fts-solr-
	plugin.c, src/plugins/fts-solr/fts-solr-plugin.h, src/plugins/fts-
	squat/Makefile.am, src/plugins/fts-squat/fts-squat-plugin.c,
	src/plugins/fts-squat/fts-squat-plugin.h, src/plugins/imap-
	acl/Makefile.am, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins
	/imap-acl/imap-acl-plugin.h, src/plugins/imap-quota/Makefile.am,
	src/plugins/imap-quota/imap-quota-plugin.c, src/plugins/imap-quota
	/imap-quota-plugin.h, src/plugins/mail-log/Makefile.am, src/plugins
	/mail-log/mail-log-plugin.c, src/plugins/mail-log/mail-log-plugin.h,
	src/plugins/trash/Makefile.am, src/plugins/trash/trash-plugin.c,
	src/plugins/trash/trash-plugin.h:
	plugins: Added dependencies. The dependencies can only be checked if
	the dlopen() can successfully open the module, so use (apparently)
	non-portable ltlibrary linking to force the libraries we depend on
	to load with us.
	[399d769e593c] <HEAD>

	* src/lib/module-dir.c:
	module_dir_load(): Support <name>_dependencies array listing
	required modules.
	[bdd87f9ccccf] <HEAD>

	* doc/example-config/conf.d/master.conf, src/master/master-settings.c,
	src/master/master-settings.h, src/master/service-process.c,
	src/master/service.c, src/master/service.h:
	master: Added default_vsz_limit setting, which defaults to 256 MB.
	[a15182f41f30] <HEAD>

	* .hgignore, src/doveadm/Makefile.am, src/doveadm/doveadm-dump-
	index.c, src/doveadm/doveadm-dump-log.c, src/doveadm/doveadm-dump-
	mailboxlog.c, src/doveadm/doveadm-dump-thread.c, src/doveadm
	/doveadm-dump.c, src/doveadm/doveadm-dump.h, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h, src/util/Makefile.am, src/util/idxview.c,
	src/util/logview.c, src/util/mailboxlogview.c,
	src/util/threadview.c:
	util/*view binaries are now accessed via "doveadm dump". listview
	binary stays for now, since mailbox list indexes won't work anyway
	and they might get a complete redesign.
	[c862648185b8] <HEAD>

	* src/lib-index/mail-cache.c, src/lib-index/mail-index-map-read.c, src
	/lib-index/mail-index-write.c, src/lib-index/mail-index.c, src/lib-
	index/mail-transaction-log-file.c, src/lib-index/mail-transaction-
	log.c, src/lib-index/mailbox-list-index.c:
	lib-index: Take MAIL_INDEX_OPEN_FLAG_READONLY more seriously. Don't
	do any filesystem changes to the index when it's set, even if
	corrupted index files are detected.
	[a425ba46a64c] <HEAD>

	* src/lib/compat.c, src/lib/compat.h:
	compat: Renamed all my_*() fallback functions to i_my_*(). This
	fixes at least my_pread() conflict with libmysqlclient.
	[910059d94bbc] <HEAD>

	* .hgignore, src/doveadm/Makefile.am, src/doveadm/doveadm-auth.c,
	src/doveadm/doveadm.c, src/doveadm/doveadm.h, src/util/Makefile.am,
	src/util/authtest.c:
	authtest binary is now accessed via "doveadm auth" and "doveadm
	user".
	[4c532d8222f3] <HEAD>

	* src/lib/Makefile.am, src/lib/askpass.c, src/lib/askpass.h,
	src/master/Makefile.am, src/master/askpass.c, src/master/askpass.h:
	Moved askpass() from master/ to lib/. Added t_askpass().
	[3721ae3917fc] <HEAD>

	* .hgignore, src/doveadm/Makefile.am, src/doveadm/doveadm-mail.c,
	src/doveadm/doveadm-pw.c, src/doveadm/doveadm.c,
	src/doveadm/doveadm.h, src/util/Makefile.am, src/util/dovecotpw.c:
	dovecotpw binary is now accessed via "doveadm pw".
	[d9cb9d03e50e] <HEAD>

	* .hgignore, configure.in, src/Makefile.am, src/doveadm/Makefile.am,
	src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h,
	src/doveadm/doveadm.c, src/doveadm/doveadm.h, src/util/Makefile.am,
	src/util/doveadm.c:
	Moved doveadm to a separate directory and made it a bit more easily
	extensible.
	[a02c1d9df1bf] <HEAD>

	* src/dict/dict-commands.c, src/dict/dict-connection.c, src/dsync
	/dsync-brain-msgs.c, src/dsync/dsync-brain.c, src/imap/imap-
	client.c, src/imap/imap-fetch.c, src/lib-auth/auth-client.c, src
	/lib-index/mail-index-fsck.c, src/lib-index/mail-index-map-read.c,
	src/lib-index/mail-index-map.c, src/lib-index/mail-index-modseq.c,
	src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-index-sync-
	update.c, src/lib-index/mail-index-sync.c, src/lib-index/mail-index-
	transaction-finish.c, src/lib-index/mail-index-transaction-sort-
	appends.c, src/lib-index/mail-index-transaction-update.c, src/lib-
	index/mail-index-view-sync.c, src/lib-sql/driver-mysql.c, src/lib-
	sql/driver-pgsql.c, src/lib-storage/index/index-search-result.c, src
	/lib-storage/index/index-sort-string.c, src/lib-storage/index/index-
	sync-search.c, src/lib/seq-range-array.c, src/lmtp/commands.c,
	src/lmtp/lmtp-proxy.c, src/plugins/acl/acl-backend-vfile-acllist.c,
	src/plugins/fts-squat/squat-trie.c, src/plugins/quota/quota-
	storage.c, src/plugins/quota/quota.c:
	Use array_foreach*() in some useful places.
	[c610321584ca] <HEAD>

	* src/lib-lda/lmtp-client.c:
	smtp client: Failure wasn't sent properly for more than one
	recipient.
	[2c703e55d247] <HEAD>

	* src/lib-index/mail-index-sync-ext.c:
	lib-index: With >1 expunge handlers deinit was called with wrong
	sync_context. Currently there was only one expunge handler so this
	wasn't a real problem.
	[687c30b1539a] <HEAD>

	* src/lib-index/mail-index-modseq.c:
	Expunging messages caused in-memory modseqs to be wrong.
	[68869bf8aa31] <HEAD>

	* src/lib/array.h:
	Added array_foreach() and array_foreach_modifiable().
	[ada435a92e93] <HEAD>

	* src/ssl-params/Makefile.am:
	ssl-params: Don't put SSL_LIBS to dependencies.
	[c20d6f518451] <HEAD>

2009-10-07  Timo Sirainen  <tss@iki.fi>

	* src/ssl-params/ssl-params:
	Removed accidentally committed ssl-params binary.
	[0980d64f5bae] <HEAD>

	* src/ssl-params/main.c:
	ssl-params: Track client connection count correctly.
	[33532261ce0c] <HEAD>

	* src/master/service-anvil.c:
	master: Fixes to handling anvil service.
	[fb16190aa088] <HEAD>

	* src/lib-settings/settings-parser.c:
	settings parser: copying boolean values also copied some unintended
	memory.
	[e19832d735aa] <HEAD>

2009-10-07  Pascal Volk  <user@localhost.localdomain.org>

	* .hgignore:
	ssl-params: dropped ssl-params binary / added to .hgignore
	[0d3bb7c55af1] <HEAD>

2009-10-07  Timo Sirainen  <tss@iki.fi>

	* src/ssl-params/main.c, src/ssl-params/ssl-params, src/ssl-params
	/ssl-params.c:
	ssl-params: Several bugfixes.
	[96d87de9eba9] <HEAD>

	* src/ssl-params/main.c, src/ssl-params/ssl-params:
	ssl-params: Name the program correctly.
	[d44e5ff84614] <HEAD>

	* src/login-common/client-common.c:
	*-login: Don't set connection fd to non-blocking twice.
	[bab48f48d64d] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	*-login: Read SSL parameters using the new ssl-params service.
	[79917d163689] <HEAD>

	* configure.in, doc/example-config/conf.d/master.conf,
	src/Makefile.am, src/ssl-params/Makefile.am, src/ssl-params/main.c,
	src/ssl-params/ssl-params, src/ssl-params/ssl-params-openssl.c, src
	/ssl-params/ssl-params-settings.c, src/ssl-params/ssl-params-
	settings.h, src/ssl-params/ssl-params.c, src/ssl-params/ssl-
	params.h:
	Added ssl-params binary that login process uses to read SSL
	parameters.
	[ea36bad4d9da] <HEAD>

	* doc/example-config/conf.d/master.conf, src/lib-auth/Makefile.am, src
	/lib-auth/auth-client-private.h, src/lib-auth/auth-client-request.c,
	src/lib-auth/auth-client-request.h, src/lib-auth/auth-client.c, src
	/lib-auth/auth-client.h, src/lib-auth/auth-server-connection.c, src
	/lib-auth/auth-server-connection.h, src/lib-auth/auth-server-
	request.c, src/lib-auth/auth-server-request.h, src/login-common
	/client-common.h, src/login-common/main.c, src/login-common/sasl-
	server.c, src/pop3-login/client-authenticate.c,
	src/pop3-login/client.c, src/pop3-login/client.h,
	src/util/authtest.c:
	lib-auth: Changed API to connect to only a single specified auth
	socket. Login processes now always connect to socket called "auth".
	[097588a7903c] <HEAD>

	* src/master/Makefile.am, src/master/ssl-init-gnutls.c, src/master
	/ssl-init-main.c, src/master/ssl-init-openssl.c, src/master/ssl-
	init.c, src/master/ssl-init.h:
	master: Removed all SSL related code. It doesn't belong there.
	[9716b5a4b14a] <HEAD>

	* src/auth/auth-client-connection.c:
	auth: VERSION should have been sent before MECH, not after.
	[9e28fcdc74ab] <HEAD>

	* src/log/log-connection.c:
	log: Don't use 100% CPU when log connection closes.
	[1aff70cee4d9] <HEAD>

2009-10-07  Pascal Volk  <user@localhost.localdomain.org>

	* src/master/main.c:
	master: Added --help option
	[22276a4717ca] <HEAD>

2009-10-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
	/dbox-single/sdbox-save.c:
	dbox: Getting dbox file for non-first unsaved mail crashed.
	[26588f1b0870] <HEAD>

	* src/master/main.c:
	master: Updated --help. Patch by Pascal Volk
	[9a09b4d6dbd2] <HEAD>

2009-10-06  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/lib-storage/index/Makefile.am, src/lib-
	storage/index/dbox-common/Makefile.am, src/lib-storage/index/dbox-
	common/dbox-file-fix.c, src/lib-storage/index/dbox-common/dbox-
	file.c, src/lib-storage/index/dbox-common/dbox-file.h, src/lib-
	storage/index/dbox-common/dbox-mail.c, src/lib-storage/index/dbox-
	common/dbox-mail.h, src/lib-storage/index/dbox-common/dbox-save.c,
	src/lib-storage/index/dbox-common/dbox-save.h, src/lib-storage/index
	/dbox-common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox-
	storage.h, src/lib-storage/index/dbox-common/dbox-sync-rebuild.c,
	src/lib-storage/index/dbox-common/dbox-sync-rebuild.h, src/lib-
	storage/index/dbox-multi/Makefile.am, src/lib-storage/index/dbox-
	multi/mdbox-file-purge.c, src/lib-storage/index/dbox-multi/mdbox-
	file.c, src/lib-storage/index/dbox-multi/mdbox-file.h, src/lib-
	storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-
	multi/mdbox-map-private.h, src/lib-storage/index/dbox-multi/mdbox-
	map.c, src/lib-storage/index/dbox-multi/mdbox-map.h, src/lib-
	storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-
	multi/mdbox-settings.c, src/lib-storage/index/dbox-multi/mdbox-
	settings.h, src/lib-storage/index/dbox-multi/mdbox-storage-
	rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.h,
	src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
	storage/index/dbox-multi/mdbox-storage.h, src/lib-storage/index
	/dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox-multi/mdbox-
	sync.h, src/lib-storage/index/dbox-single/Makefile.am, src/lib-
	storage/index/dbox-single/sdbox-file.c, src/lib-storage/index/dbox-
	single/sdbox-file.h, src/lib-storage/index/dbox-single/sdbox-mail.c,
	src/lib-storage/index/dbox-single/sdbox-save.c, src/lib-
	storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
	/dbox-single/sdbox-storage.h, src/lib-storage/index/dbox-single
	/sdbox-sync-file.c, src/lib-storage/index/dbox-single/sdbox-sync-
	rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync.c, src/lib-
	storage/index/dbox-single/sdbox-sync.h, src/lib-
	storage/index/dbox/Makefile.am, src/lib-storage/index/dbox/dbox-
	file-fix.c, src/lib-storage/index/dbox/dbox-file-maildir.c, src/lib-
	storage/index/dbox/dbox-file-maildir.h, src/lib-storage/index/dbox
	/dbox-file.c, src/lib-storage/index/dbox/dbox-file.h, src/lib-
	storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox/dbox-map-
	private.h, src/lib-storage/index/dbox/dbox-map.c, src/lib-
	storage/index/dbox/dbox-map.h, src/lib-storage/index/dbox/dbox-
	save.c, src/lib-storage/index/dbox/dbox-settings.c, src/lib-
	storage/index/dbox/dbox-settings.h, src/lib-storage/index/dbox/dbox-
	storage-rebuild.c, src/lib-storage/index/dbox/dbox-storage-
	rebuild.h, src/lib-storage/index/dbox/dbox-storage.c, src/lib-
	storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox/dbox-
	sync-file.c, src/lib-storage/index/dbox/dbox-sync-rebuild.c, src
	/lib-storage/index/dbox/dbox-sync.c, src/lib-storage/index/dbox
	/dbox-sync.h:
	Split dbox (single-dbox) and mdbox (multi-dbox) into separate
	storage backends. This cleans up the code, makes it faster and also
	fixes some bugs. Super-fast maildir migration code was also dropped,
	at least for now.
	[0bb321c347ae] <HEAD>

	* src/log/log-connection.c:
	log: Log input wasn't read correctly.
	[ff4c83871f4d] <HEAD>

	* src/lib-master/master-interface.h:
	struct log_service_handshake: Removed unused max_lines_per_sec.
	[173435e81938] <HEAD>

	* src/lib-index/mail-cache-transaction.c, src/lib-index/mail-index-
	transaction.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-transaction.c:
	Don't assert-crash after noticing cache file corruption.
	[2d160210b306] <HEAD>

	* configure.in, src/login-common/ssl-proxy-openssl.c:
	Compiling fix for OpenSSL 0.9.7 and older.
	[ba12a404d3b3] <HEAD>

2009-10-05  Timo Sirainen  <tss@iki.fi>

	* .hgignore, src/util/Makefile.am, src/util/authtest.c:
	Added authtest utility for doing passdb and userdb lookups.
	[87c40d1d2b6c] <HEAD>

	* src/lib-index/mail-index-view-sync.c:
	lib-index: Fixed v2.0 forwards compatibility support. Expunges were
	handled wrong.
	[309ef3136fa0] <HEAD>

	* src/imap/main.c, src/lib-storage/mail-storage-service.c, src/lib-
	storage/mail-storage-service.h, src/pop3/main.c:
	imap, pop3: Process permissions weren't properly dropped.
	[4b28edba5ff9] <HEAD>

	* src/imap/main.c, src/pop3/main.c:
	imap, pop3: Root mail access wasn't properly disallowed.
	[a249daa4d960] <HEAD>

	* src/lib/Makefile.am:
	unicodemap.c now gets recreated if unicodemap.pl changes.
	[4d7c7f4b8ab6] <HEAD>

	* src/lib/failures.c:
	If info/debug log can't be opened, log about it to error log.
	[0af777d3e34a] <HEAD>

	* src/imap/cmd-list.c:
	LSUB "" %: List namespace prefix if namespace has separate
	subscriptions.
	[f68b322167d7] <HEAD>

	* src/login-common/client-common.c, src/login-common/client-common.h,
	src/login-common/sasl-server.c:
	*-login: Log more precise reasons for some auth failures.
	[c492325acdcf] <HEAD>

	* src/lib-auth/auth-master.c:
	auth-master lookup: Give better error message on connect() EACCES
	errors.
	[8a1eef211ad6] <HEAD>

2009-10-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c:
	Crashfix.
	[6a3667ea47d7] <HEAD>

	* src/lib/unichar.c, src/lib/unicodemap.pl:
	New UnicodeMap.txt has >16bit multi-decomposition keys, support
	them.
	[c89df0c0e313] <HEAD>

	* src/login-common/client-common.c:
	imap-login: "Disconnected for inactivity" should be sent as BYE.
	[22f1076b3d03] <HEAD>

2009-09-30  Timo Sirainen  <tss@iki.fi>

	* src/imap-login/imap-proxy.c:
	imap proxy: Don't fail if LOGIN parameters were sent using literals.
	[aaf93388d061] <HEAD>

	* doc/example-config/conf.d/logging.conf, src/lib-master/master-
	service-settings.c, src/lib-master/master-service-settings.h, src
	/lib-master/master-service.c, src/lib/failures.c,
	src/lib/failures.h, src/master/main.c, src/master/service-process.c:
	Added debug_log_path setting and i_debug() call. Patch by Pascal
	Volk.
	[80472a77d765] <HEAD>

	* src/master/main.c:
	master: Build help and --log-error message to stderr, not stdout.
	[e139e62cfa22] <HEAD>

	* src/lib/process-title.c:
	process_title_set(): Don't include executable name in
	setproctitle(), it's done internally.
	[4b18863b7213] <HEAD>

	* src/imap/imap-client.c:
	imap: Reduce command pool's initial size.
	[3441e6613ab4] <HEAD>

	* src/master/service-anvil.c:
	master: Fix to previous change, don't crash at service deinit.
	[907e781f7999] <HEAD>

	* src/master/service-anvil.c, src/master/service-anvil.h, src/master
	/service-process.c, src/master/service.h:
	master: If anvil isn't used, read and discard all anvil input coming
	from mail processes.
	[c998a51b7be4] <HEAD>

	* src/master/service-listen.c:
	master: Use a hard coded backlog=128 when listen()ing.
	[65eb3d129bc9] <HEAD>

	* src/imap-login/imap-proxy.c:
	imap proxy: Don't log "unexpected input" errors about tagged
	CAPABILITY replies.
	[b381d3852d70] <HEAD>

	* src/login-common/main.c:
	*-login: fd limit wasn't set correctly.
	[0d5d10a3273c] <HEAD>

	* src/lib-index/mail-index.c:
	Avoid assert-crashing when two processes try to create index at the
	same time.
	[7aea0156986a] <HEAD>

	* src/config/config-parser.c, src/lib-settings/settings.c:
	Allow config file line lengths to be unlimited.
	[ab80ebdc6557] <HEAD>

	* src/lda/main.c:
	deliver: Changed all EX_CONFIGs to EX_TEMPFAILs to avoid bounces.
	[8342893350b2] <HEAD>

	* src/lib/fd-close-on-exec.c:
	fd_debug_verify_leaks() didn't check the last_fd.
	[4169c35b6285] <HEAD>

2009-09-29  Timo Sirainen  <tss@iki.fi>

	* src/lib/data-stack.h, src/lib/failures.h, src/lib/macros.h:
	Added ATTR_HOT and ATTR_COLD macros. Use them in a couple of places.
	[12089b6343bf] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	ssl: If given ssl key is for a different cert, give a nicer error
	message.
	[53b2a88ee6d0] <HEAD>

2009-09-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-search-result.c:
	Assert-crashfix when updating saved search results.
	[dac192bbd97f] <HEAD>

	* src/lib-storage/mail-search.c:
	mail_search_args_init(): Added an assert.
	[92463a3c3af4] <HEAD>

	* configure.in:
	configure: Use mysql_config to find where mysql exists.
	[a22c9e8a01ae] <HEAD>

	* src/lib-storage/mailbox-list.c:
	mail_location: If it ends with ":", ignore it instead of adding ":"
	character. If ":" is really wanted, it should be done with "::".
	[413f5cf35694] <HEAD>

	* src/plugins/quota/quota.c:
	quota: Don't crash with non-Maildir++ quota backend. Patch by
	Brandon Davidson.
	[739d8d99bafe] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	login: ssl_security string now also shows the used compression.
	[9b4bb1a7d789] <HEAD>

2009-09-23  Timo Sirainen  <tss@iki.fi>

	* src/imap-login/client.h, src/imap-login/imap-proxy.c:
	imap proxy: Detect and log invalid remote input.
	[aedf642c8bc8] <HEAD>

2009-09-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-auth/auth-client-interface.h:
	auth: Increased AUTH_CLIENT_MAX_LINE_LENGTH.
	[49cd8e736a8a] <HEAD>

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Use namespace prefix when looking up global ACLs.
	[6fac2ade5dd6] <HEAD>

	* src/plugins/acl/acl-mailbox.c:
	acl: Don't crash when creating children under a mailboxes with
	global ACL.
	[364ee96c6195] <HEAD>

	* src/lib-mail/Makefile.am, src/lib-mail/message-header-decode.c, src
	/lib-mail/test-message-header-decode.c:
	message_header_decode*() should ignore LWSP between two encoded-
	words.
	[9444d7964766] <HEAD>

	* src/plugins/quota/quota-dict.c, src/plugins/quota/quota-dirsize.c,
	src/plugins/quota/quota-fs.c, src/plugins/quota/quota-maildir.c,
	src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
	maildir quota: Limits weren't read early enough from maildirsize
	file.
	[27904121ae72] <HEAD>

2009-09-11  Timo Sirainen  <tss@iki.fi>

	* src/master/main.c:
	master: Use "master: " prefix in log messages.
	[accb1c02e03c] <HEAD>

	* TODO:
	TODO updated.
	[97d5c31dcc9e] <HEAD>

	* doc/example-config/conf.d/mail.conf, doc/example-
	config/dovecot.conf, src/imap/imap-settings.c, src/imap/imap-
	settings.h, src/master/master-settings.c, src/master/master-
	settings.h, src/master/service-process.c, src/pop3/pop3-settings.c,
	src/pop3/pop3-settings.h:
	verbose_proctitle setting works again.
	[307a5f65f74d] <HEAD>

	* src/imap-login/client.c, src/login-common/client-common-auth.c, src
	/login-common/client-common.c, src/login-common/client-common.h, src
	/login-common/login-proxy.c, src/login-common/login-proxy.h, src
	/login-common/main.c, src/login-common/ssl-proxy-openssl.c, src
	/login-common/ssl-proxy.c, src/login-common/ssl-proxy.h,
	src/pop3-login/client.c:
	*-login: Fixes to SSL/login proxy connection counting.
	[d60fa42fbaac] <HEAD>

	* src/master/main.c, src/master/master-settings.c, src/master/master-
	settings.h:
	master: auth setting blocks don't exist anymore, removed them.
	[4dd2430a7c62] <HEAD>

	* src/master/main.c:
	master: Startup warnings written to stderr should end with LF.
	[cb3760f21777] <HEAD>

	* src/master/main.c:
	master: "auth trouble" message should have been written only to
	stderr.
	[2f2e1a3ae633] <HEAD>

2009-09-10  Timo Sirainen  <tss@iki.fi>

	* src/config/doveconf.c:
	doveconf: Crashfix
	[9287d59dbf69] <HEAD>

	* src/lib-mail/quoted-printable.c, src/lib-mail/test-quoted-
	printable.c:
	quoted-printable decoding didn't handle QP after soft line breaks
	correctly. Patch by Yamazaki Hideto.
	[281ea23515ce] <HEAD>

	* src/lib-master/master-auth.c, src/lib-master/master-interface.h, src
	/lib-master/master-service-private.h, src/lib-master/master-
	service.c, src/lib-master/master-service.h, src/login-common/client-
	common.c, src/login-common/login-settings.c, src/login-common/login-
	settings.h, src/login-common/main.c, src/master/service-auth-
	source.c, src/master/service-auth-source.h, src/master/service-
	monitor.c, src/master/service-process.c, src/master/service-
	process.h, src/master/service.h:
	*-login: Fixed dropping oldest connection when reaching all limits.
	[77228b5431e1] <HEAD>

	* src/config/config-request.c:
	config: Increased initial memory pool size.
	[2e94a44c34ff] <HEAD>

	* src/login-common/client-common.c:
	*-login: Don't leak client when it's aborted while waiting for reply
	from master.
	[5bcb78c2eabb] <HEAD>

	* src/lib-dict/dict-sql.c:
	Compiler warning fixes.
	[b1857ba4347a] <HEAD>

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Save cur/ mtime to index after moving saved messages there,
	not before.
	[d39dbfad7f69] <HEAD>

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: Removed some unnecessary code.
	[317cb0a6744b] <HEAD>

	* src/lib/unlink-directory.c:
	unlink_directory(): Log if unlink()ing some file fails.
	[81011be1092f] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Don't force a resync when saving.
	[d20df975253a] <HEAD>

2009-09-09  Timo Sirainen  <tss@iki.fi>

	* src/plugins/zlib/zlib-plugin.c:
	zlib: Don't allow clients to save compressed data directly. This way
	clients can't try to exploit uncompression bugs in zlib/bzlib.
	[aecf6e5be9e2] <HEAD>

2009-09-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-interface.h, src/login-common/ssl-proxy-
	openssl.c, src/master/main.c, src/master/service-process.c:
	dovecot -p: And fixed it to really work this time.
	[3e4f64af6c9a] <HEAD>

	* src/login-common/ssl-proxy-openssl.c, src/master/Makefile.am,
	src/master/common.h, src/master/main.c, src/master/service-
	process.c, src/master/service.c, src/master/service.h:
	dovecot -p (ask ssl key password from command line) works again.
	[e819f6dfe5f4] <HEAD>

	* doc/example-config/conf.d/logging.conf, src/anvil/main.c,
	src/auth/main.c, src/config/main.c, src/dict/main.c, src/lib-master
	/master-service.c, src/lib-master/master-service.h, src/lib-storage
	/mail-storage-service.c, src/lib-storage/mail-storage-settings.c,
	src/lib-storage/mail-storage-settings.h, src/log/main.c, src/login-
	common/main.c, src/master/main.c, src/plugins/convert/convert-
	tool.c:
	Removed mail_log_max_lines_per_sec setting and related code. It's
	pretty unnecessary and there's really no good way to implement it
	with shared log pipes.
	[37bc3a3d4464] <HEAD>

	* src/lib/failures.c, src/log/log-connection.c:
	Logging via log service: Added support for changing process's log
	prefix.
	[d7bbe0964b0d] <HEAD>

	* src/config/config-parser.c, src/config/config-request.c, src/lib-
	settings/settings-parser.c, src/lib-settings/settings-parser.h:
	config: When reporting errors in variable-strings, skip over the "0"
	prefix.
	[5f61efdc9f35] <HEAD>

	* src/master/service-process.c:
	master: Require auth source and destination processes to use
	different UIDs.
	[6d3732cf8b3c] <HEAD>

	* src/master/service-monitor.c:
	master: When killing idle processes, don't kill the service's last
	one.
	[e5edd68453fe] <HEAD>

	* src/master/service-process.c, src/master/service.h:
	master: Minor cleanups.
	[3265d6e98c46] <HEAD>

	* src/master/service-monitor.c, src/master/service-process.c,
	src/master/service-process.h:
	master: Kill extra idling processes.
	[29ebf1c9ff26] <HEAD>

	* src/lib/lib-signals.c:
	lib-signals: Don't assert-crash with nested signal handler calls.
	[54c0c2c24f2c] <HEAD>

	* src/master/main.c:
	master: Write "last died with error" only to stderr, not to log.
	[88801acf025a] <HEAD>

	* src/master/main.c:
	master: SIGHUP now logs that config was reread.
	[329b1f01052a] <HEAD>

	* src/log/main.c, src/master/main.c:
	master: SIGUSR1 now reopens logs.
	[45e87a15cf48] <HEAD>

	* src/auth/auth-master-connection.c:
	auth: Allow PASS lookups also in userdb sockets, not just master
	sockets.
	[987d244a7a3e] <HEAD>

	* src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h,
	src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-proxy.h:
	lmtp client, proxy: Several bugfixes.
	[22d27318bb18] <HEAD>

2009-09-07  Timo Sirainen  <tss@iki.fi>

	* src/plugins/notify/notify-storage.c:
	Removed unused code.
	[6e5cc5d4cec4] <HEAD>

	* src/login-common/login-proxy-state.h:
	Compiling fix.
	[7afe868ee86f] <HEAD>

	* src/lib/time-util.c, src/lib/time-util.h:
	Compiling fix.
	[21612b2b7b85] <HEAD>

	* src/master/main.c:
	master: Fixes to logging startup errors.
	[7675eb23bba8] <HEAD>

2009-09-06  Timo Sirainen  <tss@iki.fi>

	* src/auth/userdb-vpopmail.c:
	vpopmail: Call vauth_open(), which is required by vpopmail 5.5.0.
	[7681ae18ed03] <HEAD>

	* src/master/main.c:
	master: Log startup errors as well as writing them to stderr.
	[3d362066d0e8] <HEAD>

	* src/lib-storage/list/mailbox-list-subscriptions.c:
	Don't assert-crash when listing subscriptions with a >256 chars long
	mailbox name.
	[906dbaba14a9] <HEAD>

	* src/lib-dict/dict-client.h:
	lib-dict: Changed default dict socket name.
	[33855e50b4c7] <HEAD>

	* src/plugins/quota/quota-dict.c:
	dict quota: When updating quota, recalculate it when necessary.
	[a521d09c3ab9] <HEAD>

	* src/dict/dict-server.c, src/dict/dict-server.h:
	dict: Removed unused files.
	[54813ca63b26] <HEAD>

	* src/dict/dict-commands.c, src/dict/dict-connection.h, src/lib-dict
	/dict-client.c, src/lib-dict/dict-client.h, src/lib-dict/dict-db.c,
	src/lib-dict/dict-file.c, src/lib-dict/dict-private.h, src/lib-dict
	/dict-sql.c, src/lib-dict/dict.c, src/lib-dict/dict.h:
	dict: Added support for async commits. Changed dict_atomic_inc()
	behavior.
	[0f7b25f3e2ce] <HEAD>

	* src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql
	/driver-sqlite.c, src/lib-sql/sql-api-private.h, src/lib-sql/sql-
	api.c, src/lib-sql/sql-api.h:
	lib-sql: Added sql_update_get_rows().
	[551c273f4844] <HEAD>

	* src/lib-index/mail-transaction-log-file.c:
	lib-index: Minor code cleanup.
	[69152c0d40a1] <HEAD>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-map.c, src/lib-storage/index/dbox/dbox-storage.c, src/lib-
	storage/index/dbox/dbox-storage.h:
	dbox: Don't set +x bit for created files.
	[ba690c9aea70] <HEAD>

	* src/lib-storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox
	/dbox-save.c, src/lib-storage/index/dbox/dbox-storage.h:
	dbox: Allow getting streams to messages being saved.
	[af8424c95825] <HEAD>

	* src/imap/cmd-select.c, src/imap/imap-client.c, src/imap/imap-sync.c:
	imap: Some text is required after resp-text-codes
	(HIGHESTMODSEQ/CLOSED).
	[38fbf201824c] <HEAD>

	* src/anvil/anvil-connection.c:
	anvil: Recovered from my insanity and reverted changes to fifo
	reading code.
	[87fed6f0bbfe] <HEAD>

	* src/anvil/anvil-connection.c:
	anvil: Fixed reading from FIFOs.
	[52027b59beb5] <HEAD>

2009-09-04  Timo Sirainen  <tss@iki.fi>

	* src/config/config-filter.c, src/config/config-filter.h, src/config
	/config-parser.c, src/config/config-request.c,
	src/config/doveconf.c, src/config/main.c, src/lib-master/master-
	service.c, src/lib-settings/settings-parser.c:
	Memory leak fixes.
	[8ad868df4649] <HEAD>

	* src/anvil/main.c, src/lib-master/master-service.c, src/login-common
	/sasl-server.c:
	anvil: Stop immediately when master asks, instead of waiting for
	clients to finish.
	[cce684dfe3e7] <HEAD>

	* src/imap/main.c, src/pop3/main.c:
	imap, pop3: shutdown_clients setting wasn't working.
	[e11bd2547bb2] <HEAD>

	* src/lib-master/master-service-private.h, src/lib-master/master-
	service.c, src/lib-master/master-service.h:
	lib-master: Added master_service_set_die_with_master.
	[c58c40a83bbd] <HEAD>

	* src/lib-master/master-service-settings.c:
	lib-master: Don't assert-crash if process gets a signal while
	reading config.
	[3de6af0eb499] <HEAD>

	* src/master/common.h, src/master/main.c, src/master/service-auth-
	server.c, src/master/service-listen.c, src/master/service-monitor.c,
	src/master/service.c, src/master/service.h:
	master: Several fixes to handling SIGHUPs.
	[31a283729295] <HEAD>

	* src/login-common/main.c:
	*-login: If connecting to anvil fails with EAGAIN, try again a few
	times.
	[199857627883] <HEAD>

	* src/config/config-parser.c, src/config/config-request.c:
	config: Increased initial pool sizes.
	[831adf94c39f] <HEAD>

	* src/master/main.c:
	master: Changed the WhyDoesItNotWork info message.
	[6880916a8eef] <HEAD>

	* src/master/master-settings.c, src/master/master-settings.h,
	src/master/service-monitor.c, src/master/service-process.c:
	master: Added process_min_avail setting for services.
	[af7f0be02d3b] <HEAD>

	* src/master/service-monitor.c, src/master/service-process.c:
	master: Check process_limit for auth dest processes. Log when
	reaching limit.
	[8a38b5b82a1d] <HEAD>

	* src/master/service-auth-server.c, src/master/service-auth-source.c:
	master: Fixed reporting auth failure reporting to client.
	[1cdee825e414] <HEAD>

	* src/lmtp/commands.c, src/plugins/expire/expire-tool.c,
	src/util/doveadm.c:
	lmtp, expire-tool, doveadm: Set service for config lookups.
	[464c01ae9f0c] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: Make sure master_status.available_count is updated
	correctly.
	[63d2755c9211] <HEAD>

	* src/auth/auth-master-connection.c:
	auth: Don't notify lib-master when primary master connection was
	destroyed, since it wasn't created through it.
	[6168a479c54b] <HEAD>

	* src/anvil/anvil-connection.c, src/config/config-connection.c, src
	/lib-master/master-service-settings.c, src/login-common/main.c,
	src/master/service-anvil.c:
	anvil, config: Use the name in initial VERSION handshake.
	[1d2d0aa8e313] <HEAD>

	* src/anvil/anvil-connection.c, src/anvil/anvil-connection.h,
	src/anvil/main.c:
	anvil: Read from FIFOs in packets instead of using streams.
	[c90ba3f3fa51] <HEAD>

	* src/lib-master/master-service.c, src/lib-master/master-service.h:
	lib-master: Fixes to handling FIFO connections. Also expose the
	FIFOness to caller.
	[5b36fa967538] <HEAD>

	* src/lib-master/master-service-settings.c:
	lib-master: Execute doveconf with -f service=, not -p parameter.
	[3e20e23154e0] <HEAD>

2009-09-03  Timo Sirainen  <tss@iki.fi>

	* src/config/config-filter.c, src/config/config-filter.h, src/config
	/config-parser.c:
	config: When we detect a conflict, log where in config it came from.
	[864693ced870] <HEAD>

	* src/config/doveconf.c:
	doveconf: -f protocol is now an alias for -f service.
	[717688db5e82] <HEAD>

	* src/config/config-parser.c:
	config: Added some nesting requirements to remote_ip, local_ip and
	protocol.
	[d3d8ba13faa6] <HEAD>

	* src/config/config-connection.c, src/config/config-filter.c,
	src/config/config-filter.h, src/config/config-parser.c, src/config
	/config-request.c, src/config/config-request.h,
	src/config/doveconf.c:
	config: Several fixes. Now per-ip settings work properly. doveconf
	parameters were also changed. Now it's possible to ask configuration
	for a specified filter.
	[f9ca1a1ebcf8] <HEAD>

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	Added settings_parser_apply_changes() for copying changed settings.
	[2e502c0e23e7] <HEAD>

2009-09-02  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-settings.c, src/master/master-
	settings.c:
	settings: Don't crash if no namespaces or services have been
	created.
	[0830fbbdfecd] <HEAD>

	* src/config/config-filter.c, src/config/config-filter.h, src/config
	/config-parser.c, src/config/config-parser.h, src/config/config-
	request.c, src/config/doveconf.c:
	config: Code cleanups.
	[6103d925e018] <HEAD>

	* src/config/config-request.c, src/config/config-request.h,
	src/config/doveconf.c:
	doveconf -N dumps only settings that have been explicitly set.
	[5ae02fad67da] <HEAD>

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	Settings parser: Support keeping track of what settings were
	explicitly set.
	[649245b1552e] <HEAD>

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	settings parser: Removed unused settings_parse_save_input().
	[2765e7fb2202] <HEAD>

2009-09-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-lda/mail-send.c:
	lda: Don't send rejects to any messages that have Auto-Submitted
	header.
	[1bb29c3fad82] <HEAD>

	* src/auth/mech-digest-md5.c, src/auth/mech-rpa.c:
	auth: digest-md5, rpa mechanisms no longer require the realm to be
	listed in auth_realms.
	[27fc3665b4dd] <HEAD>

2009-08-31  Timo Sirainen  <tss@iki.fi>

	* src/master/service-process.c:
	master: If process uid/gid is too high, refer to last_valid_*
	settings instead of first_valid_*. Based on patch by Pascal Volk.
	[070e5e24df41] <HEAD>

	* src/plugins/virtual/virtual-sync.c:
	virtual: Don't crash if trying to change a message that was already
	expunged in backend mailbox.
	[faa19e000b57] <HEAD>

	* src/lib-storage/mailbox-list.c:
	lib-storage: Allow selecting namespace prefix even when list=no.
	[39561fccb623] <HEAD>

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox
	/dbox-mail.c, src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.h, src/lib-storage/mail.c, src/lib-storage/test-
	mail.c, src/plugins/virtual/virtual-mail.c,
	src/pop3/pop3-commands.c, src/pop3/pop3-settings.c,
	src/pop3/pop3-settings.h:
	Added pop3_save_uidl setting. When UIDLs are sent to client, save
	them to dovecot-uidlist. This allows changing pop3_uidl_format
	without messages getting re-downloaded. It's also useful with
	virtual POP3 INBOX when UIDLs are based on IMAP UIDs that may not be
	as stable as in non-virtual INBOX.
	[ecb05365f520] <HEAD>

	* doc/example-config/conf.d/auth.conf, src/auth/auth-settings.c,
	src/auth/auth-settings.h, src/auth/main.c, src/config/config-
	parser.c:
	config: Removed auth sections completely for now. They might come
	back in some other more generic form.
	[cf27080f3fcf] <HEAD>

	* doc/example-config/conf.d/auth.conf, doc/example-
	config/conf.d/mail.conf:
	example-config: Moved auth_socket_path to mail.conf.
	[f5dcc960ab7a] <HEAD>

	* src/auth/main.c:
	auth: Use net_getunixname() instead of implementing it ourself.
	[4efd13c0f778] <HEAD>

	* src/lib/network.c, src/lib/network.h:
	Added net_getunixname().
	[95fba8612a87] <HEAD>

	* Makefile.am, configure.in, doc/Makefile.am, doc/dovecot-db-
	example.conf, doc/dovecot-dict-sql-example.conf, doc/dovecot-ldap-
	example.conf, doc/dovecot-sql-example.conf, doc/example-
	config/Makefile.am, doc/example-config/conf.d/Makefile.am, doc
	/example-config/conf.d/auth.conf, doc/example-
	config/conf.d/imap.conf, doc/example-config/conf.d/lda.conf, doc
	/example-config/conf.d/logging.conf, doc/example-
	config/conf.d/mail.conf, doc/example-config/conf.d/master.conf, doc
	/example-config/conf.d/plugin.conf, doc/example-
	config/conf.d/pop3.conf, doc/example-config/conf.d/ssl.conf, doc
	/example-config/dovecot-db.conf, doc/example-config/dovecot-dict-
	sql.conf, doc/example-config/dovecot-ldap.conf, doc/example-config
	/dovecot-sql.conf, doc/example-config/dovecot.conf, dovecot-
	example.conf, dovecot-master-example.conf, src/config/Makefile.am,
	src/config/config-connection.c, src/config/config-parser.c,
	src/config/doveconf.c, src/config/main.c, src/lib-
	master/Makefile.am:
	Split dovecot-example.conf to multiple files. Also it's now
	installed under docdir.
	[e95135898a3c] <HEAD>

	* src/master/master-settings.c, src/master/master-settings.h,
	src/master/service.c:
	master: If ssl=no, skip inet_listeners with ssl=yes.
	[331cf0bd593e] <HEAD>

	* src/master/service-monitor.c, src/master/service-process.c,
	src/master/service.c, src/master/service.h:
	master: Fixes to checks using service's client_limit.
	[2dc1e03cad11] <HEAD>

	* src/lib-master/master-interface.h, src/lib-master/master-service.c,
	src/master/master-settings.c, src/master/master-settings.h,
	src/master/service-process.c:
	Added service_count setting to limit how many requests a service can
	handle before dying.
	[d76916a6df44] <HEAD>

	* src/login-common/client-common.c, src/login-common/login-settings.c,
	src/login-common/login-settings.h:
	Removed last traces of login_process_per_connection setting.
	[777d8121356d] <HEAD>

	* dovecot-example.conf, dovecot-master-example.conf, src/master
	/master-settings.c, src/master/master-settings.h,
	src/master/service.c:
	protocols setting works again. Services can now specify which
	protocol they implement and they can quickly enabled/disabled by
	modifying protocols setting. imaps and pop3s are no longer separate
	protocols.
	[2fa181d56c20] <HEAD>

	* dovecot-example.conf:
	dovecot-example.conf: Removed (most) settings that are no longer
	used.
	[3e9f77da6a6f] <HEAD>

	* dovecot-master-example.conf:
	dovecot-master-example.conf: Added some comments.
	[4bd18ca73175] <HEAD>

	* dovecot-example.conf, src/auth/auth-settings.c, src/config/config-
	parser.c:
	config: Auth settings now require the "auth_" prefix also inside
	auth blocks.
	[3f4d796db5fd] <HEAD>

	* src/config/config-parser.c:
	config: Code cleanups.
	[a0ec16185806] <HEAD>

	* src/lmtp/Makefile.am, src/lmtp/client.c, src/lmtp/client.h,
	src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-proxy.h,
	src/lmtp/main.c:
	lmtp: Added initial support for proxying mails to other LMTP/SMTP
	servers.
	[3a16bec9c961] <HEAD>

	* src/lib-lda/Makefile.am, src/lib-lda/lmtp-client.c, src/lib-lda
	/lmtp-client.h:
	lib-lda: Added LMTP client code.
	[c3da5347b1c5] <HEAD>

	* src/lib-auth/auth-master.c, src/lib-auth/auth-master.h, src/lib-
	storage/mail-storage-service.c, src/lib-storage/mail-storage-
	service.h, src/lib-storage/mail-user.c:
	Added auth_master_pass_lookup() and changed
	auth_master_used_lookup() API. User lookup can now send local/remote
	IPs and ports to auth process.
	[0919ab922086] <HEAD>

	* src/lib-storage/index/index-fetch.c:
	Minor code cleanup.
	[46adc15b33d9] <HEAD>

2009-08-28  Timo Sirainen  <tss@iki.fi>

	* src/lib-imap/imap-quote.c:
	imap_quote*(): If fix_text=FALSE and input contains CRs or LFs, use
	literals.
	[0b8492a4f219] <HEAD>

	* src/lib-imap/imap-bodystructure.c, src/lib-imap/imap-envelope.c, src
	/lib-imap/imap-quote.c, src/lib-imap/imap-quote.h:
	imap_quote*() now have fix_text parameter. If it's not set, input
	isn't modified at all.
	[dad7264633a9] <HEAD>

	* src/plugins/acl/acl-mailbox.c, src/plugins/notify/notify-storage.c,
	src/plugins/quota/quota-storage.c:
	Plugins now use mail_save_context.copying instead of their own
	save_hacks.
	[63b7223cce4b] <HEAD>

	* src/lib-storage/mail-copy.c, src/lib-storage/mail-storage-private.h:
	mailbox_copy() now sets mail_save_context.copying=TRUE.
	[9f5bbc4780a1] <HEAD>

	* src/auth/mech-gssapi.c:
	gssapi: Apparently all usernames end with NUL. Allow it.
	[7f05f59d4205] <HEAD>

	* src/imap/imap-fetch.c:
	qresync: Fixed off-by-one modseq comparison when figuring out what
	VANISHED replies to send.
	[9996521d883a] <HEAD>

	* src/imap/imap-fetch.c:
	imap: Don't crash if SELECT .. QRESYNC doesn't specify list of UIDs.
	[8f92498a6c88] <HEAD>

	* src/config/config-parser.c:
	config: Read auth_* settings correctly that don't exist inside auth
	{}
	[88246989a806] <HEAD>

	* src/auth/main.c:
	auth: More fixes to figuring out what type the auth socket is.
	[c9a111a50579] <HEAD>

	* doc/dovecot-ldap-example.conf:
	dovecot-ldap-example.conf: Changed the example "base" setting.
	[3d69f2392d5e] <HEAD>

	* src/lib/file-set-size.c:
	file_set_size() was broken with OSes that didn't support
	posix_fallocate().
	[865ad92d0eb3] <HEAD>

	* src/plugins/acl/acl-mailbox-list.c:
	acl: Don't use dovecot-acl-list with public namespaces. All
	mailboxes in a public namespace are typically in dovecot-acl-list
	anyway.
	[9d55ed4fbd26] <HEAD>

	* src/lib/lib-signals.c:
	Solaris: Don't crash when signal handler is called with
	siginfo_t=NULL.
	[11e3058af06c] <HEAD>

2009-08-25  Timo Sirainen  <tss@iki.fi>

	* src/auth/db-ldap.c:
	ldap: Don't log an error when server disconnects us because of
	idling.
	[fb555af36c0f] <HEAD>

	* src/lib-storage/index/maildir/maildir-sync.c:
	maildir: Fixed maildir_sync_get_changes() to work as it should have.
	[830958d044ec] <HEAD>

2009-08-24  Timo Sirainen  <tss@iki.fi>

	* src/plugins/mail-log/Makefile.am, src/plugins/mail-log/mail-log-
	plugin.c:
	Reimplemented mail-log plugin using notify plugin framework. Patch
	by Mark Washenberger / Rackspace.
	[d1cdc927ea3c] <HEAD>

	* configure.in, src/plugins/Makefile.am,
	src/plugins/notify/Makefile.am, src/plugins/notify/notify-noop.c,
	src/plugins/notify/notify-plugin-private.h, src/plugins/notify
	/notify-plugin.c, src/plugins/notify/notify-plugin.h,
	src/plugins/notify/notify-storage.c:
	Added a notify plugin that can be used as a generic event catching
	framework by other plugins. Patch by Mark Washenberger / Rackspace.
	[f751c23561f9] <HEAD>

	* src/login-common/client-common-auth.c:
	*-login: If proxying is enabled but no host is given, don't crash.
	[211853d48eaf] <HEAD>

	* src/auth/main.c:
	auth: Don't crash at startup if auth socket name doesn't contain
	"-".
	[07e966c5e5d3] <HEAD>

	* src/auth/auth-worker-server.c:
	auth worker server: Don't assert-crash if the whole reply doesn't
	come in one packet.
	[fa76c740ee41] <HEAD>

	* src/master/main.c:
	master: If execv() fails with ENOMEM, mention the vsz_limit setting.
	[aad3157d52a1] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: If accept() fails and there are no clients, die instead
	of waiting forever.
	[41188b7db88a] <HEAD>

2009-08-17  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-mail.c:
	maildir: If opening a mail fails with EACCES, log a better error
	message.
	[3c33f864b4ae] <HEAD>

	* src/lib-lda/mail-send.c, src/lib-lda/smtp-client.c, src/lib-lda
	/smtp-client.h:
	smtp_client_open() API changed to take lda_settings instead of
	mail_deliver_context.
	[882a0a6cc92e] <HEAD>

	* src/auth/auth-master-connection.c:
	auth: Added PASS command for auth-master socket to do passdb
	lookups.
	[620183ce36f9] <HEAD>

	* src/auth/auth-master-connection.c, src/auth/auth-master-
	connection.h, src/auth/main.c:
	auth: Added auth-master socket that's allowed to do REQUEST
	commands.
	[7f9fcd00a819] <HEAD>

	* dovecot-example.conf, dovecot-master-example.conf, src/auth/main.c,
	src/lib-storage/mail-storage-settings.c:
	Renamed auth-master socket to auth-userdb socket.
	[fc0022950bad] <HEAD>

	* src/plugins/mbox-snarf/mbox-snarf-plugin.c:
	mbox-snarf: Keep the mailbox locked while snarfing to avoid
	duplicates.
	[825fd2b3f48e] <HEAD>

2009-08-15  Timo Sirainen  <tss@iki.fi>

	* src/plugins/acl/acl-api.c:
	acl: When looking up ACL defaults, use global/local default files if
	they exist.
	[f906b5dbc5fb] <HEAD>

	* .hgignore:
	.hgignore: Added mailboxlogview
	[529b02c56ebe] <HEAD>

2009-08-14  Timo Sirainen  <tss@iki.fi>

	* src/plugins/listescape/listescape-plugin.c:
	listescape: Fixed to work with dynamically created shared
	namespaces.
	[051f2fd43558] <HEAD>

	* src/lib-storage/mail-namespace.c:
	namespace initialization: Allow plugins to override
	namespace.real_sep.
	[4acd3444ca43] <HEAD>

	* src/plugins/listescape/listescape-plugin.c:
	listescape: Handle properly subscriptions to namespaces with
	subscriptions=no.
	[f61dd34e3c35] <HEAD>

	* src/lib-settings/settings-parser.c:
	settings parser: If first line begins with "ERROR ", return it as
	the error message.
	[4011a41cf404] <HEAD>

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h, src/master/main.c, src/master/master-settings.h,
	src/master/service-auth-source.c, src/master/service-monitor.c,
	src/master/service-monitor.h, src/master/service-process.c,
	src/master/service.c, src/master/service.h:
	master: Support reloading configuration.
	[da330a07e45c] <HEAD>

	* src/config/all-settings.h, src/config/config-connection.c,
	src/config/config-filter.c, src/config/config-filter.h, src/config
	/config-parser.c, src/config/config-parser.h, src/config/doveconf.c,
	src/config/main.c, src/config/settings-get.pl:
	config: If master module requests configuration, reread it before
	replying. If new configuration is invalid, send an ERROR reply back.
	[d7ccdbb58a03] <HEAD>

	* src/lib-test/test-common.c, src/lib-test/test-common.h:
	lib-test: Added test_istream_set_max_buffer_size().
	[0287c38ba6bf] <HEAD>

	* src/lib-settings/settings-parser.c:
	setting_parse_environ(): Don't crash if environ=NULL.
	[26a351f8ed07] <HEAD>

	* src/lib/istream-crlf.c, src/lib/test-istream-crlf.c:
	lf-istream: Don't assert-crash if last character in buffer is CR,
	not followed by LF.
	[a13837027b29] <HEAD>

	* src/auth/mech-cram-md5.c, src/auth/mech-digest-md5.c, src/auth/mech-
	gssapi.c:
	auth: Check for potentially dangerous NULs in usernames.
	[99f5dd282f48] <HEAD>

2009-08-13  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-subscribe.c:
	tb-extra-mailbox-sep workaround works better now. Mailbox is
	subscribed without trailing separator. Unsubscribe tries to remove
	both with and without separator.
	[f0a45d8a7984] <HEAD>

	* src/plugins/listescape/listescape-plugin.c:
	listescape: Don't escape characters in namespace prefixes.
	[544a4627c81a] <HEAD>

	* src/lib/Makefile.am, src/lib/test-istream-tee.c, src/lib/test-lib.c,
	src/lib/test-lib.h:
	Added unit test for istream-tee.
	[57ae66e0fd38] <HEAD>

	* src/lib/Makefile.am, src/lib/test-istream-crlf.c, src/lib/test-
	istream.c, src/lib/test-lib.c, src/lib/test-lib.h:
	Renamed test-istream.c to test-istream-crlf.c
	[bba7c46359ac] <HEAD>

	* src/lib-index/mail-index-transaction-view.c:
	Transaction view: Don't assert-crash if record size grows during
	transaction.
	[3296870a8510] <HEAD>

	* dovecot-master-example.conf, src/master/service.c:
	master: Allow inet_listener address to specify multiple addresses.
	[252bb3d23fb9] <HEAD>

	* src/lib-master/master-interface.h, src/login-common/client-common-
	auth.c, src/login-common/client-common.c, src/login-common/client-
	common.h:
	*-login: Allow auth input to be larger than the rest of the input.
	[e4235adb3044] <HEAD>

	* src/imap-login/client.c, src/login-common/client-common-auth.c, src
	/login-common/client-common.c, src/login-common/client-common.h,
	src/pop3-login/client.c:
	*-login: Allow backend to parse SASL responses from client (for
	managesieve).
	[19912e4a2fb3] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Use new mail block sizes.
	[8a6d1d2db78c] <HEAD>

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox
	/dbox-file.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-mail.h, src/lib-storage/index/maildir/maildir-
	mail.c, src/lib-storage/index/mbox/mbox-file.c, src/lib-
	storage/index/raw/raw-storage.c, src/lib-storage/mail-storage-
	private.h:
	Use separate read block sizes when reading only message header vs.
	full message.
	[72b79f58ce1b] <HEAD>

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox
	/dbox-file.c, src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/mbox/mbox-file.c, src/lib-storage/index/raw/raw-
	storage.c:
	lib-storage: Actually use MAIL_READ_BLOCK_SIZE sized blocks when
	reading mails.
	[3bbad277bef0] <HEAD>

	* src/lib/istream-internal.h, src/lib/istream.c, src/lib/istream.h:
	Added i_stream_set_init_buffer_size().
	[85abd99007c3] <HEAD>

2009-08-12  Timo Sirainen  <tss@iki.fi>

	* src/login-common/login-proxy-state.c, src/login-common/login-proxy-
	state.h:
	login proxy: And added new files missing from previous commit.
	[e27785694615] <HEAD>

	* src/login-common/client-common-auth.c:
	login proxy: Changed "unavailable" error message.
	[a260d5ac01bf] <HEAD>

	* src/login-common/Makefile.am, src/login-common/login-proxy.c, src
	/login-common/login-proxy.h, src/login-common/main.c:
	login-proxy: If proxy destination is known to be down, fail
	immediately. We'll use simple rules:

	1. If connection to destination server failed more recently than it
	succeeded AND there is currently at least one client trying to
	connect to it, fail immediately without even trying to connect.

	2. Whenever a connection to destination server fails because of
	timeout or some connect failure AND last successful connection to
	server was before our connect() started, update the "last failed"
	timestamp.

	With these rules there are no unnecessary connect() attempts or
	waits to servers that are down. When the server does come back up,
	it's noticed immediately.
	[da0a48b243a2] <HEAD>

	* src/login-common/client-common-auth.c, src/login-common/client-
	common.h, src/login-common/login-proxy.c, src/login-common/login-
	proxy.h:
	login proxy: Added client_proxy passdb extra field to specify
	proxy's connect timeout.
	[8e099a00f8a9] <HEAD>

	* src/lib/Makefile.am, src/lib/test-lib.c, src/lib/test-lib.h, src/lib
	/test-time-util.c:
	Added unit tests for timeval_*().
	[1bcd692d6312] <HEAD>

	* src/lib/time-util.c:
	timeval_diff_*() fixes.
	[6ff08c7c9f03] <HEAD>

	* src/plugins/fts-squat/squat-test.c, src/plugins/fts/fts-storage.c:
	Use timeval_diff_*() more.
	[306e450a3515] <HEAD>

	* src/imap/imap-search.c, src/lib-storage/index/index-search.c, src
	/lib-storage/index/maildir/maildir-filename.c, src/lib/Makefile.am,
	src/lib/ioloop.c, src/lib/time-util.c, src/lib/time-util.h,
	src/plugins/fts-squat/squat-test.c:
	Moved all struct timeval comparing/calculation code to lib/time-
	util.
	[8716936443db] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	Fixed openssl malloc() failure check.
	[78a47e564e90] <HEAD>

	* src/imap-login/client.c, src/login-common/client-common-auth.c, src
	/login-common/client-common.c, src/login-common/client-common.h,
	src/pop3-login/client.c:
	*-login: Abstract out SASL continue reply sending (for managesieve).
	[50df3e60ab85] <HEAD>

2009-08-11  Timo Sirainen  <tss@iki.fi>

	* src/lib/ostream-buffer.c:
	ostream-buffer: Don't grow buffer above max_buffer_size.
	[7c0b29275651] <HEAD>

	* src/imap-login/client.c, src/login-common/client-common.c,
	src/pop3-login/client.c:
	*-login: Call client_vfuncs.destroy() on client_destroy(), not on
	unref.
	[935b9cfc1905] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c, src/lib/ostream-internal.h:
	Compiler warning fixes.
	[e5e74a4f07e9] <HEAD>

	* src/lib-mail/test-message-header-parser.c:
	test-message-header-parser: Removed accidentally committed debug
	code.
	[4168fd6a6a33] <HEAD>

2009-08-09  Timo Sirainen  <tss@iki.fi>

	* README, src/lib-imap/imap-resp-code.h:
	draft-gulbrandsen-imap-response-codes became RFC 5530.
	[70dab9dedda0] <HEAD>

2009-08-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: Another fix to handling saves/UID changes.
	[299b55312e1c] <HEAD>

	* src/lib-storage/index/istream-mail-stats.c:
	istream-mail-stats: Don't double-reference parent stream.
	[815a76964e87] <HEAD>

	* src/dsync/dsync-brain.c:
	dsync: Minor verbose logging improvements.
	[ab4e247d326d] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: Don't assert-crash if we're changing UIDs without saving
	mails.
	[f36fbaeddbf8] <HEAD>

2009-08-09  Timo Sirainen  <tss@iki.fi>

	* src/imap-login/client-authenticate.c, src/login-common/client-
	common-auth.c, src/pop3-login/client-authenticate.c:
	*-login: Moved ssl=required checking to login-common.
	[1c01e6bf1090] <HEAD>

	* src/imap-login/client-authenticate.c, src/imap-login/client-
	authenticate.h, src/imap-login/client.c, src/imap-login/client.h,
	src/imap-login/imap-proxy.c, src/imap-login/imap-proxy.h, src/login-
	common/Makefile.am, src/login-common/client-common-auth.c, src
	/login-common/client-common.c, src/login-common/client-common.h, src
	/login-common/common.h, src/login-common/login-proxy.c, src/login-
	common/login-proxy.h, src/login-common/main.c, src/login-common
	/sasl-server.c, src/login-common/ssl-proxy-openssl.c, src/login-
	common/ssl-proxy.c, src/login-common/ssl-proxy.h, src/pop3-login
	/client-authenticate.c, src/pop3-login/client-authenticate.h,
	src/pop3-login/client.c, src/pop3-login/client.h,
	src/pop3-login/pop3-proxy.c, src/pop3-login/pop3-proxy.h:
	*-login: Moved most of the common code to login-common.
	[e30495ae11de] <HEAD>

	* src/lib-storage/mail-storage.c:
	lib-storage: Don't crash if trying to use unknown storage class.
	[c2037505a66b] <HEAD>

	* src/imap-login/client-authenticate.c, src/imap-login/client-
	authenticate.h, src/imap-login/client.c, src/imap-login/client.h,
	src/imap-login/imap-proxy.c, src/login-common/client-common.h,
	src/pop3-login/client-authenticate.c, src/pop3-login/client.c,
	src/pop3-login/client.h, src/pop3-login/pop3-proxy.c:
	*-login: Use a common client_send_line() API.
	[b9ad5b841f7e] <HEAD>

	* src/imap-login/client-authenticate.c, src/login-common/sasl-
	server.c, src/login-common/sasl-server.h, src/pop3-login/client-
	authenticate.c:
	*-login: Moved common code to sasl_server_get_advertised_mechs().
	[fc025d93b274] <HEAD>

	* src/lib-storage/mailbox-list.c:
	Don't crash when listing shared namespace prefix.
	[e616c3d00c2c] <HEAD>

	* src/plugins/autocreate/autocreate-plugin.c:
	autocreate: Fixed autosubscribing to mailboxes in subscriptions=no
	namespaces. Also log autosubscribe failures if mail_debug=yes.
	[e90fd94136d0] <HEAD>

2009-08-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-thread.c:
	IMAP: Fixed THREAD .. INTHREAD crashing. Also cleaned up the code a
	bit.
	[9ae6f4e875ca] <HEAD>

	* configure.in, src/plugins/quota/quota-fs.c:
	configure: Removed --with-linux-quota parameter. It was useful only
	in some broken setups and even there it can be specified with
	CPPFLAGS instead.
	[ea5d2bd9deb9] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	dbox: Don't crash when trying to update migrated maildir's uidlist.
	Normally this shouldn't happen though.
	[c06b7c5f2c8c] <HEAD>

	* src/plugins/quota/Makefile.am:
	quota: Don't link rpcsvc library. It shouldn't be necessary since we
	generate our own rquota_xdr.c
	[de0bd8eeaad9] <HEAD>

	* configure.in:
	configure: Allow --with-linux-quota=n to be only 1 or 2.
	[48324f717aca] <HEAD>

	* src/lib-storage/index/index-sort-string.c:
	sort: Don't assert-crash if sort indexes are broken.
	[b7c589751c5b] <HEAD>

	* src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts/fts-api-
	private.h, src/plugins/fts/fts-storage.c:
	fts: Fixed crashing with Squat. A better solution would be for Squat
	to use existing mailboxes' Squat indexes, but for now this isn't
	done.
	[c16ee25ec37b] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	virtual: If opening backend mailbox fails, show the maibox name.
	[2d2911c23232] <HEAD>

	* src/auth/db-ldap.c:
	ldap: Fixed hang when >128 requests were sent at once. Based on
	patch by Marek Miska.
	[c5cdc49d5138] <HEAD>

	* src/lib-storage/mailbox-list.c:
	lib-storage: Disallow control characters in mailbox names when
	creating them.
	[60b76a35bb2c] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	*-login: If OpenSSL fails with malloc failure, log an error.
	[2e725e1aaac6] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir+deliver: Add all existing messages to uidlist if it doesn't
	exist yet.
	[f108a865dbca] <HEAD>

	* src/master/ssl-init.c:
	Compiler warning fix when building without SSL.
	[95ea01bb65f5] <HEAD>

2009-08-06  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-mail-headers.c, src/lib-storage/index
	/index-mail.h:
	index-mail: Expose tee_stream so plugins can read the stream too
	while mail is being read.
	[80c0e8bd1e47] <HEAD>

2009-08-05  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-brain-msgs.c,
	src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c, src/dsync
	/dsync-brain.h, src/dsync/dsync-data.c, src/dsync/dsync-data.h,
	src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c,
	src/dsync/dsync-proxy-server.c, src/dsync/dsync-proxy-server.h,
	src/dsync/dsync-proxy.c, src/dsync/dsync-proxy.h, src/dsync/dsync-
	worker-local.c, src/dsync/dsync-worker-private.h, src/dsync/dsync-
	worker.c, src/dsync/dsync-worker.h, src/dsync/dsync.c, src/dsync
	/test-dsync-brain-msgs.c, src/dsync/test-dsync-brain.c, src/dsync
	/test-dsync-common.c, src/dsync/test-dsync-proxy-server-cmd.c,
	src/dsync/test-dsync-proxy.c, src/dsync/test-dsync-worker.c,
	src/dsync/test-dsync-worker.h:
	dsync: Lots of updates and fixes.
	[d9a96da46d4a] <HEAD>

	* src/util/Makefile.am, src/util/mailboxlogview.c:
	Added mailboxlogview utility for viewing mailbox logs.
	[d354dc450c63] <HEAD>

	* src/util/logview.c:
	logview: UID updates increase modseq.
	[1c0132ccb0be] <HEAD>

	* src/lib-storage/index/maildir/maildir-storage.c, src/lib-storage
	/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src/lib-
	storage/mailbox-list.h:
	lib-storage: Fill mailbox log with mailbox
	delete/rename/(un)subscribes.
	[fd534ee2c08e] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/mailbox-log.c, src/lib-
	index/mailbox-log.h:
	lib-index: Added mailbox transaction log. It's a much simplified
	version of mail transaction log.
	[d21f2f0b1e11] <HEAD>

	* src/lib/ioloop-poll.c:
	ioloop poll: Added assert to catch double-io_add()s.
	[111812403bea] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/cydir/cydir-storage.h, src/lib-storage/index/dbox
	/dbox-storage.c, src/lib-storage/index/dbox/dbox-storage.h, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-storage/mailbox-
	list.c, src/lib-storage/mailbox-list.h:
	Added mailbox_list_get_guid() to get/create directory GUID.
	Directory GUIDs are mainly useful for dsync to identify \Noselect
	mailboxes.
	[73daab8251eb] <HEAD>

	* src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-storage.h:
	maildir: mail_update_uid() now updates uidlist also.
	[7315aa70dfcf] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c:
	Maildir: Allow specifying recent flags for saved messages.
	[64ab55223d69] <HEAD>

	* src/lib-storage/index/index-mail.c:
	mail_update_flags(): Allow removing recent flag from message.
	[b7af600f0c62] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/maildir/maildir-storage.c:
	mailbox_update(): Update index also.
	[dd4c5e43c55a] <HEAD>

	* src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index-
	transaction-finish.c, src/lib-index/mail-index-transaction-
	private.h, src/lib-index/mail-index-transaction-update.c, src/lib-
	index/mail-index.h, src/lib-index/test-mail-index-transaction-
	finish.c:
	lib-index: Added mail_index_update_highest_modseq().
	[1411f157ffdd] <HEAD>

	* src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index-
	transaction-export.c, src/lib-index/mail-index-transaction-update.c,
	src/lib-index/mail-index-transaction.c, src/lib-index/mail-
	transaction-log-file.c:
	lib-index: Fixes to handling UID changes.
	[773b91d3ed13] <HEAD>

2009-08-04  Timo Sirainen  <tss@iki.fi>

	* src/login-common/ssl-proxy-openssl.c:
	ssl_username_from_cert=yes: Don't truncate username, don't allow
	NULs in it.
	[89a3b2d09a26] <HEAD>

	* src/imap/cmd-delete.c, src/imap/imap-commands-util.c:
	imap: Fixed tb-extra-mailbox-sep workeround.
	[497b2f2bd175] <HEAD>

2009-08-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/index-mail.h, src/lib-storage/index/maildir
	/maildir-mail.c, src/lib-storage/mail-storage.c:
	lib-storage: Use less memory from data stack.
	[51d280d34bfa] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: If saving fails, revert also changes to indexes. Fixes a
	crash in that situation.
	[5f2bcf817c94] <HEAD>

	* src/lib-index/mail-index-transaction-update.c:
	mail_index_expunge: Drop also modseq updates when expunging a newly
	appended record.
	[810a70b696fc] <HEAD>

	* src/dsync/Makefile.am, src/lib-imap/Makefile.am, src/lib-
	index/Makefile.am, src/lib-mail/Makefile.am, src/lib-
	storage/index/Makefile.am, src/lib/Makefile.am:
	Makefiles: Changed check-test to depend on all-am to fix build
	dependency problems.
	[1d3fbe678158] <HEAD>

	* src/Makefile.am:
	Removed unused "make test" handling.
	[bfa65235e772] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Don't recreate dovecot-uidlist all the time.
	[d7e915fc741c] <HEAD>

	* src/plugins/listescape/listescape-plugin.c:
	listescape: Fixed problems with handling mailbox listing.
	[ddc3593a2091] <HEAD>

	* src/lib-storage/list/mailbox-list-maildir.c:
	maildir++: When renaming child mailboxes, don't check for ACLs. If
	we had access to rename the root, we must rename the children as
	well since that's what IMAP expects.
	[3876c3818628] <HEAD>

2009-08-02  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-append.c, src/imap/cmd-copy.c, src/imap/cmd-create.c,
	src/imap/cmd-delete.c, src/imap/cmd-list.c, src/imap/cmd-rename.c,
	src/imap/cmd-select.c, src/imap/cmd-status.c, src/imap/cmd-
	subscribe.c, src/imap/imap-commands-util.c, src/imap/imap-commands-
	util.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/list/mailbox-list-maildir.c, src/lib-storage/mail-
	namespace.c, src/lib-storage/mailbox-list.c, src/lib-storage
	/mailbox-list.h, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins
	/imap-quota/imap-quota-plugin.c:
	Allow namespace prefix to be opened as mailbox, if it already
	exists.
	[1ba2a0637719] <HEAD>

	* src/lib/env-util.c, src/lib/env-util.h, src/lib/lib.c:
	lib_deinit() now frees memory used by env_put().
	[d48c8c0c1d29] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Don't access uninitialized variables.
	[140558f1987a] <HEAD>

2009-07-31  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-storage.c, src/lib-
	storage/index/dbox/dbox-sync-rebuild.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-sync.c, src/lib-storage/mail-storage-private.h, src/lib-
	storage/mail-storage.c:
	Removed mailbox_guid_is_empty(), use mail_guid_128_is_empty()
	directly instead.
	[8da945eb4176] <HEAD>

	* dovecot-example.conf:
	dovecot-example.conf: Fixed !include examples.
	[ad2852741fce] <HEAD>

2009-07-30  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/cydir/Makefile.am, src/lib-storage/index/cydir
	/cydir-save.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/cydir/cydir-storage.h, src/lib-storage/index/cydir
	/cydir-transaction.c, src/lib-storage/index/dbox/Makefile.am, src
	/lib-storage/index/dbox/dbox-save.c, src/lib-storage/index/dbox
	/dbox-storage.c, src/lib-storage/index/dbox/dbox-storage.h, src/lib-
	storage/index/dbox/dbox-transaction.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/maildir/Makefile.am, src/lib-storage/index/maildir
	/maildir-copy.c, src/lib-storage/index/maildir/maildir-save.c, src
	/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/maildir/maildir-transaction.c, src/lib-
	storage/index/mbox/Makefile.am, src/lib-storage/index/mbox/mbox-
	save.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-storage.h, src/lib-storage/index/mbox/mbox-
	transaction.c, src/lib-storage/index/raw/Makefile.am, src/lib-
	storage/index/raw/raw-storage.c, src/lib-storage/index/raw/raw-
	storage.h, src/lib-storage/index/raw/raw-transaction.c, src/lib-
	storage/index/shared/shared-storage.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/test-
	mail-storage.c, src/plugins/virtual/virtual-save.c,
	src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-
	storage.h, src/plugins/virtual/virtual-transaction.c,
	src/plugins/virtual/virtual-transaction.h:
	index-storage: Simplified the way transactions are are
	created/finished. Removed also mail_storage.class_init/deinit since
	they're no longer used for anything.
	[ef135231b675] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	virtual: Fixed to work again without crashing after several API
	changes.
	[20934905ccdc] <HEAD>

	* src/imap/cmd-append.c, src/imap/cmd-copy.c:
	imap: Support UID-less saves/copies after all. Virtual backend can't
	return them.
	[fb8f0a3d51dc] <HEAD>

	* src/lib-index/mail-transaction-log.c:
	index: Fix to previous cleanups.
	[497b17e8bb91] <HEAD>

	* src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index/dbox
	/dbox-save.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-search.c, src/lib-storage/index/index-storage.h,
	src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir
	/maildir-save.c, src/lib-storage/index/mbox/mbox-save.c, src/lib-
	storage/index/mbox/mbox-transaction.c:
	index-storage: Code cleanups.
	[f704410ce580] <HEAD>

	* src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/mbox/mbox-sync-private.h, src/lib-storage/index/mbox
	/mbox-sync.c:
	mbox: Removed unused MBOX_SYNC_LAST_COMMIT and related code.
	[1b537cceb640] <HEAD>

	* src/lib-storage/index/index-mail.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox/mbox-
	save.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-storage.h, src/lib-storage/index/mbox/mbox-
	sync-parse.c, src/lib-storage/index/mbox/mbox-sync.c:
	index-storage: Moved mail MD5 calculation code to mbox-specific
	code. Nothing else used it.
	[9f1616eeffb8] <HEAD>

	* src/lib-storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox
	/dbox-sync.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/index-sync.c,
	src/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/mbox
	/mbox-file.c, src/lib-storage/index/mbox/mbox-sync-private.h, src
	/lib-storage/index/mbox/mbox-sync-update.c, src/lib-
	storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw/raw-
	sync.c, src/plugins/virtual/virtual-sync.c:
	index-storage: Code cleanup.
	[fa5e27725f6b] <HEAD>

	* src/lib-storage/index/dbox/dbox-storage.c, src/lib-storage/index
	/index-storage.c, src/lib-storage/index/index-storage.h:
	index-storage: Code cleanup.
	[ac98c24da6ee] <HEAD>

	* src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index/dbox
	/dbox-save.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/index-transaction.c, src/lib-storage/index/maildir
	/maildir-copy.c, src/lib-storage/index/maildir/maildir-save.c, src
	/lib-storage/index/mbox/mbox-save.c:
	Removed duplicated flags from struct index_transaction_context.
	[f123bb8afd1c] <HEAD>

	* src/lib-index/mail-index.c:
	mail_index_chown(): Check for fchown() failing with EPERM, not
	EACCES.
	[37bdd5ce828f] <HEAD>

	* src/lib-index/mail-transaction-log-file.c, src/lib-index/mail-
	transaction-log-private.h, src/lib-index/mail-transaction-log.c:
	index: Code cleanups.
	[6e4b79ca75cc] <HEAD>

	* src/lib-index/mail-cache-compress.c, src/lib-index/mail-cache-sync-
	update.c, src/lib-index/mail-cache-transaction.c, src/lib-index
	/mail-cache.c, src/lib-index/mail-index-lock.c, src/lib-index/mail-
	index-map-read.c, src/lib-index/mail-index-private.h, src/lib-index
	/mail-index-strmap.c, src/lib-index/mail-index-sync-update.c, src
	/lib-index/mail-index-write.c, src/lib-index/mail-index.c, src/lib-
	index/mail-transaction-log-append.c, src/lib-index/mail-transaction-
	log-file.c, src/lib-index/mail-transaction-log-private.h, src/lib-
	index/mail-transaction-log.c, src/lib-index/mailbox-list-index-
	sync.c, src/lib-index/mailbox-list-index.c:
	index: Removed duplication of mail_index_open_flags from struct
	mail_index.
	[126132cb1c19] <HEAD>

	* src/lib/file-set-size.c:
	Handle posix_fallocate() failures correctly. Check also for AIX's
	"not supported" failure. Based on patch by Ralf Becker.
	[cff3cb25a3e9] <HEAD>

2009-07-29  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-data.h, src/dsync/test-dsync-common.c, src/dsync
	/test-dsync-common.h, src/dsync/test-dsync-proxy-server-cmd.c, src
	/lib-storage/index/dbox/dbox-storage.h, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-uidlist.h, src/lib-storage/index/mbox
	/mbox-storage.h, src/lib-storage/mail-storage-private.h, src/lib-
	storage/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-
	storage/mail.c:
	Removed MAILBOX_GUID_SIZE macro, use MAIL_GUID_128_SIZE everywhere.
	They were required to be the same size anyway.
	[9e3e3166a5c9] <HEAD>

	* src/lib/file-dotlock.c:
	Fixed file_dotlock_open*() logging errors in some OSes. Patch by
	Ralf Becker.
	[03b52be4da81] <HEAD>

2009-07-28  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-worker-local.c:
	dsync: Sync messages' modseqs.
	[535797d56631] <HEAD>

	* src/lib-index/mail-index-modseq.c, src/lib-index/mail-index-
	modseq.h, src/lib-index/mail-index-sync-update.c, src/lib-index
	/mail-index-transaction-export.c, src/lib-index/mail-index-
	transaction-finish.c, src/lib-index/mail-index-transaction-
	private.h, src/lib-index/mail-index-transaction-update.c, src/lib-
	index/mail-index.h, src/lib-index/mail-transaction-log-append.c, src
	/lib-index/mail-transaction-log-file.c, src/lib-index/mail-
	transaction-log-private.h, src/lib-index/mail-transaction-log-
	view.c, src/lib-index/mail-transaction-log.h, src/lib-index/test-
	mail-index-transaction-finish.c, src/lib-index/test-mail-index-
	transaction-update.c, src/lib-index/test-mail-transaction-log-
	append.c, src/lib-index/test-mail-transaction-log-view.c, src/lib-
	storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir-
	save.c, src/lib-storage/index/dbox/dbox-mail.c, src/lib-
	storage/index/dbox/dbox-save.c, src/lib-storage/index/index-mail.c,
	src/lib-storage/index/index-mail.h, src/lib-storage/index/maildir
	/maildir-mail.c, src/lib-storage/index/maildir/maildir-save.c, src
	/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox
	/mbox-save.c, src/lib-storage/index/raw/raw-mail.c, src/lib-storage
	/mail-storage-private.h, src/lib-storage/mail-storage.c, src/lib-
	storage/mail-storage.h, src/lib-storage/mail.c, src/lib-storage
	/test-mail.c, src/plugins/virtual/virtual-mail.c,
	src/plugins/virtual/virtual-save.c, src/util/logview.c:
	Added ability to specify message's minimum modseq value.
	[b09d9350a2d9] <HEAD>

	* src/lib-storage/index/mbox/mbox-save.c:
	mbox: Allow setting \Recent flag when also specifying message's UID.
	[d303e3319720] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c:
	mbox, maildir: Allow setting \Recent flag when also specifying
	message's UID.
	[ceb55c870ed3] <HEAD>

	* src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy.c, src/dsync
	/test-dsync-proxy-server-cmd.c, src/dsync/test-dsync-proxy.c:
	dsync: Sync also \Recent flags.
	[4d12ca03c4c0] <HEAD>

2009-07-27  Timo Sirainen  <tss@iki.fi>

	* src/plugins/virtual/virtual-sync.c:
	virtual: Fixed to work with new mail_index_append_finish_uids() API.
	[ce253d167757] <HEAD>

	* src/dsync/Makefile.am, src/dsync/dsync-brain-msgs-new.c, src/dsync
	/dsync-brain-msgs.c, src/dsync/dsync-brain-private.h, src/dsync
	/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync-data.c,
	src/dsync/dsync-data.h, src/dsync/dsync-proxy-client.c, src/dsync
	/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.c, src/dsync
	/dsync-proxy-server.h, src/dsync/dsync-proxy.c, src/dsync/dsync-
	proxy.h, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker-
	private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h,
	src/dsync/dsync.c, src/dsync/test-dsync-brain-msgs.c, src/dsync
	/test-dsync-brain.c, src/dsync/test-dsync-common.c, src/dsync/test-
	dsync-common.h, src/dsync/test-dsync-proxy-server-cmd.c, src/dsync
	/test-dsync-worker.c, src/dsync/test-dsync-worker.h:
	dsync: Lots of improvements and fixes. Appears to be somewhat
	working now.
	[4d5cc6ce68aa] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-uidlist.h:
	maildir: Support saving messages with specified UIDs.
	[be433e394f69] <HEAD>

	* src/lib-index/mail-index-transaction-update.c, src/lib-index/mail-
	index.h, src/lib-index/test-mail-index-transaction-update.c, src
	/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index/dbox
	/dbox-map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib-
	storage/index/dbox/dbox-save.c, src/lib-storage/index/maildir
	/maildir-save.c:
	Changed mail_index_append_assign_uids() to
	mail_index_append_finish_uids() with API changes. It's now possible
	to call mail_index_append() with UIDs before locking mailbox and
	have the _finish_uids() change them if another session had already
	used those UIDs.
	[fb8bc26d7194] <HEAD>

	* src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
	/mailbox-list-maildir-iter.c, src/lib-storage/mailbox-list.h:
	Added MAILBOX_LIST_ITER_NO_AUTO_INBOX for listing INBOX only when it
	already exists.
	[b56b06cdd1d7] <HEAD>

	* src/lib-storage/index/maildir/maildir-storage.c:
	maildir_list_iter_is_mailbox() should return 0 for non-existing
	maildirs.
	[80cf689acdb4] <HEAD>

	* src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index-
	transaction-export.c, src/lib-index/mail-index-transaction-finish.c,
	src/lib-index/mail-index-transaction-private.h, src/lib-index/mail-
	index-transaction-update.c, src/lib-index/mail-index.h, src/lib-
	index/mail-transaction-log.h, src/lib-index/test-mail-index-
	transaction-finish.c, src/lib-index/test-mail-index-transaction-
	update.c, src/lib-storage/index/cydir/cydir-mail.c, src/lib-
	storage/index/dbox/dbox-mail.c, src/lib-storage/index/index-mail.c,
	src/lib-storage/index/index-mail.h, src/lib-storage/index/index-
	transaction.c, src/lib-storage/index/maildir/maildir-mail.c, src
	/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.h, src/lib-storage/mail.c, src/lib-storage/test-
	mail.c, src/plugins/virtual/virtual-mail.c:
	Added ability to change existing messages' UIDs with
	mail_[index_]update_uid().
	[cf187692fcfe] <HEAD>

	* src/plugins/expire/expire-tool.c:
	expire-tool: Compiler warning fixes.
	[77e629913bfc] <HEAD>

	* src/auth/mech-gssapi.c:
	gssapi: Error handling fix.
	[30652466135d] <HEAD>

	* src/auth/mech-gssapi.c:
	gssapi: Fixed compiling for non-MIT/Heimdal GSSAPI implementations
	(Solaris).
	[e4df9322a094] <HEAD>

	* configure.in:
	configure: clock_gettime()'s -lrt adding dropped everything else
	from $LIBS.
	[00399010c88a] <HEAD>

	* src/config/config-parser.c, src/lib-settings/settings.c:
	Compiling fix for systems without GLOB_BRACE.
	[3771a638cadb] <HEAD>

2009-07-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir uidlist: Added better next_uid error tracking.
	[ef1e18f24173] <HEAD>

	* src/lib-storage/index/maildir/maildir-sync-index.c:
	maildir: When UIDVALIDITY changes, don't reset uid_next to 1 in
	uidlist.
	[05f2da3576a4] <HEAD>

	* src/plugins/quota/quota-maildir.c:
	maildir++ quota: Quota was sometimes updated wrong when it was being
	recalculated.
	[3d3d090db66f] <HEAD>

	* src/lib-index/mail-cache-lookup.c:
	cache file: If offset isn't 32bit aligned, assume it's corrupted.
	[436d2bead41b] <HEAD>

	* src/auth/mech-gssapi.c:
	gssapi: Fail authentication if mechanism type isn't Kerberos 5. Also
	check GSS_KRB5_NT_PRINCIPAL_NAME more correctly.
	[a5d87492c083] <HEAD>

	* src/auth/mech-gssapi.c:
	gssapi: Don't do krb5_kuserok() to authz_name. It shouldn't be
	necessary.
	[c163bc483c9e] <HEAD>

	* configure.in, dovecot-example.conf, src/config/config-parser.c, src
	/lib-settings/settings.c:
	dovecot.conf: Added support for !include globs. Based on patch by
	Thomas Guthmann.
	[6cc6913fee1c] <HEAD>

	* src/lib/mempool-system-clean.c, src/lib/mempool-system.c:
	Don't include malloc.h if it doesn't have malloc_usable_size().
	[462dcad58a92] <HEAD>

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge: Drop \Deleted flag when moving message.
	[4fdc1fadb529] <HEAD>

	* src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-
	storage.h, src/plugins/virtual/virtual-sync.c:
	virtual: If another session adds a new mailbox to index, handle it
	without crashing. For now we'll just disconnect the session.
	[1858d2fe330b] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	virtual: Minor code cleanup.
	[3816c5011c53] <HEAD>

	* src/lib-mail/Makefile.am, src/lib-mail/message-decoder.c, src/lib-
	mail/test-message-decoder.c:
	message-decoder: Fixed assert-crashes caused by the previous quoted-
	printable change.
	[4c255c7b6245] <HEAD>

	* src/auth/passdb-pam.c:
	pam: Fixed compiler warning with BSDs.
	[5decb25661bd] <HEAD>

	* src/lib-mail/Makefile.am, src/lib-mail/message-header-decode.c, src
	/lib-mail/quoted-printable.c, src/lib-mail/quoted-printable.h, src
	/lib-mail/test-quoted-printable.c:
	Split quoted-printable parsing to q-p body parsing and "Q" header
	parsing. Fixed also several other issues in quoted-printable parsing
	to get it fully RFC compliant.
	[2dce50fc0d9f] <HEAD>

	* src/imap/main.c, src/pop3/main.c:
	imap/pop3: Compiling fix.
	[1780d56a9160] <HEAD>

	* src/lib-mail/test-mbox-from.c:
	test-mbox-from: Compile fix.
	[072b005181e8] <HEAD>

	* src/lib-storage/index/maildir/maildir-storage.c:
	Maildir LAYOUT=fs: Default INBOX path to Maildir root.
	[cc8c020707c1] <HEAD>

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Support spaces in user/group identifiers.
	[f29a25420a82] <HEAD>

	* src/master/service-process.c:
	master: Handle better chdir()ing to home dir.
	[dfe15bb24fdb] <HEAD>

	* configure.in:
	configure: Check sasl.h existence only when using --with-ldap. Patch
	by Pascal Volk.
	[dc6d35b51b68] <HEAD>

	* configure.in:
	configure: Use -lrt for clock_gettime() if necessary.
	[cef143e8719d] <HEAD>

	* configure.in:
	configure: Support finding PostgreSQL without pg_config after all.
	[5714aba539f0] <HEAD>

2009-07-24  Timo Sirainen  <tss@iki.fi>

	* src/imap/main.c, src/pop3/main.c:
	If imap/pop3 service is tried to be started without being
	auth_dest_service, log better error. If login_executable=imap/pop3,
	give better error message.
	[ad5d34c9031d] <HEAD>

	* src/lib-storage/mail-namespace.c:
	mail_location setting wasn't used if namespaces weren't defined.
	[1644c25bfbef] <HEAD>

	* src/imap/cmd-delete.c:
	imap delete: Use mailbox_backends_equal() for finding if we're
	deleting selected mailbox.
	[5024551304d9] <HEAD>

	* src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
	Added mailbox_backends_equal().
	[6b6d6e094674] <HEAD>

	* src/imap/cmd-append.c, src/imap/cmd-copy.c, src/lib-lda/mail-
	deliver.c, src/lib-storage/index/cydir/cydir-save.c, src/lib-
	storage/index/dbox/dbox-save.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/mbox
	/mbox-save.c, src/lib-storage/mail-storage-private.h, src/lib-
	storage/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-
	storage/test-mailbox.c, src/plugins/acl/acl-mailbox.c,
	src/plugins/expire/expire-plugin.c, src/plugins/fts/fts-storage.c,
	src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/mail-log
	/mail-log-plugin.c, src/plugins/quota/quota-storage.c:
	mailbox_transaction_commit_get_uids() changed to _get_changes() with
	more generic API. Saved UIDs are no longer necessarily in a simple
	x:y range.
	[47356e8dda45] <HEAD>

2009-07-21  Timo Sirainen  <tss@iki.fi>

	* src/lib/lib-signals.c:
	lib-signals: Redesigned how delayed signals are handled. Fixes
	signal handler hanging infinitely in write() when many signals were
	sent rapidly.
	[028878f7063a] <HEAD>

	* src/lib/utc-offset.c:
	utc_offset() was broken with year's first/last day if struct
	tm.tm_gmtoff didn't exist.
	[22ede7ce7be4] <HEAD>

	* src/lib-index/mail-index-transaction-view.c:
	Transaction view: Fixed getting extension data from messages whose
	flags had changed.
	[d1c159e447a2] <HEAD>

2009-07-20  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/shared/shared-storage.c:
	shared mailboxes: If only %%n is specified in prefix, default to
	current user's domain.
	[ab31f0f00912] <HEAD>

2009-07-17  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain.c, src/dsync/test-dsync-brain.c:
	dsync: Handle missing mail GUIDs.
	[16849c0931be] <HEAD>

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.h:
	mail_guid_128_is_empty() is now a public function.
	[3b285975bb15] <HEAD>

	* src/dsync/dsync-brain.c:
	dsync: Some fixes.
	[fb91695ec0bf] <HEAD>

	* src/auth/mech-gssapi.c:
	GSSAPI: Fixed memory leak on error conditions.
	[8c370896b657] <HEAD>

	* configure.in:
	configure: Use pg_config for figuring out PostgreSQL include/libs
	paths. pg_config has existsed since v7.1, so don't bother using any
	fallbacks.
	[ac52d79b7b94] <HEAD>

2009-07-16  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain.c, src/dsync/dsync-data.h, src/dsync/test-
	dsync-brain.c:
	dsync: Skip syncing mailboxes whose uidvalidity/uidnext/highest-
	modseq hasn't changed.
	[ffda7bd92ebc] <HEAD>

2009-07-15  Timo Sirainen  <tss@iki.fi>

	* src/dsync/dsync-brain.c, src/dsync/dsync-data.h, src/dsync/dsync-
	proxy.c, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.h,
	src/dsync/test-dsync-brain.c, src/dsync/test-dsync-proxy.c:
	dsync: Use expunged messages' GUIDs to determine what to do with
	missing messages at end of mailbox. If GUIDs match, expunge the
	message. If they don't match, treat it as UID conflict.
	[b11a3eda2477] <HEAD>

	* src/lib/test-hex-binary.c:
	Added missing test-hex-binary.c from earlier commit.
	[c4118cfa1085] <HEAD>

	* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
	storage.c, src/lib-storage/mail-storage.h, src/lib-storage/mail.c:
	mail_generate_guid_128_hash() is now a public function.
	[54f84f569ca0] <HEAD>

	* src/lib-index/mail-transaction-log.c, src/lib-index/mail-
	transaction-log.h:
	Added mail_transaction_log_get_tail().
	[c8be44ff1090] <HEAD>

	* src/lib/Makefile.am, src/lib/hex-binary.c, src/lib/hex-binary.h,
	src/lib/test-lib.c, src/lib/test-lib.h:
	Added binary_to_hex_append().
	[7fc9e93fe745] <HEAD>

	* src/imap/imap-sync.c:
	IMAP: When QRESYNC is enabled, don't crash when a new mail is
	received while IDLEing.
	[4f9267f13944] <HEAD>

	* src/lib-storage/index/Makefile.am, src/lib-storage/index/test-index-
	fetch.c:
	Added unit test for mailbox_get_expunges().
	[85064a01ddfd] <HEAD>

	* src/lib-storage/index/index-fetch.c:
	Several fixes to mailbox_get_expunges().
	[ee69a1de3b30] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	virtual: Compiler warning fix.
	[bbaa7a30b6cb] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	virtual: Compiling fix.
	[d8792caeede1] <HEAD>

	* src/plugins/quota/Makefile.am:
	quota-fs: Building fixes.
	[4ea40abcc301] <HEAD>

2009-07-14  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/index-
	fetch.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/raw/raw-storage.c:
	Renamed index_storage_get_expunged_uids to
	index_storage_get_expunges.
	[ce601bb82183] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/mail-index-transaction-
	finish.c, src/lib-index/mail-index-transaction-private.h, src/lib-
	index/mail-index-transaction-update.c, src/lib-index/test-mail-
	index-transaction-finish.c, src/lib-index/test-mail-index-
	transaction-update.c:
	mail index transactions: More code cleanups and unit tests.
	[b45be8d8b388] <HEAD>

	* src/lib-index/mail-index-transaction-finish.c:
	mail index transaction: Dropping duplicate expunges changed
	expunges' GUIDs.
	[e8b9f78d2b3c] <HEAD>

2009-07-13  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-fetch.c, src/lib-index/mail-index-sync-update.c, src
	/lib-index/mail-index-sync.c, src/lib-index/mail-index-transaction-
	export.c, src/lib-index/mail-index-transaction-finish.c, src/lib-
	index/mail-index-transaction-private.h, src/lib-index/mail-index-
	transaction-update.c, src/lib-index/mail-index-transaction-view.c,
	src/lib-index/mail-index-transaction.c, src/lib-index/mail-index-
	view-sync.c, src/lib-index/mail-index.h, src/lib-index/mail-
	transaction-log-append.c, src/lib-index/mail-transaction-log-file.c,
	src/lib-index/mail-transaction-log-view.c, src/lib-index/mail-
	transaction-log.h, src/lib-mail/mail-types.h, src/lib-
	storage/index/dbox/dbox-file-fix.c, src/lib-storage/index/dbox/dbox-
	file.c, src/lib-storage/index/dbox/dbox-file.h, src/lib-
	storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox-
	save.c, src/lib-storage/index/dbox/dbox-storage-rebuild.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox-
	storage.h, src/lib-storage/index/dbox/dbox-sync-file.c, src/lib-
	storage/index/dbox/dbox-sync.c, src/lib-storage/index/dbox/dbox-
	sync.h, src/lib-storage/index/index-fetch.c, src/lib-storage/index
	/index-mail.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/index-sync-changes.c, src/lib-storage/index/index-
	sync-changes.h, src/lib-storage/index/maildir/maildir-sync-index.c,
	src/lib-storage/index/mbox/mbox-sync.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.c, src/lib-storage
	/mail-storage.h, src/lib-storage/mail.c, src/lib-storage/test-
	mailbox.c, src/util/logview.c:
	Keep track of expunged messages' GUIDs and expose them via
	mailbox_get_expunges(). The message GUIDs are stored in expunge
	records to transaction log. Before doing the final expunge, Maildir
	and dbox verify that the GUID in expunge request matches the current
	actual GUID. The GUID is stored in 128 bit field. If the real GUID
	isn't 128 bit, the bits are taken from SHA1 of the GUID.
	[2558ba736207] <HEAD>

	* src/lib-index/mail-index-map.c, src/lib-index/mail-index-modseq.c,
	src/lib-index/mail-index-transaction-export.c, src/lib-index/mail-
	transaction-log-file.c, src/lib-index/mail-transaction-log-
	private.h, src/lib-index/mail-transaction-log-view.c, src/lib-otp
	/otp-parse.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib/buffer.c,
	src/lib/buffer.h, src/lib/str.c:
	buffer_create_[const_]data() API change: Take buffer_t as parameter
	instead of allocating it.
	[3da42dafa798] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/mail-index-transaction-
	finish.c, src/lib-index/mail-index-transaction-private.h, src/lib-
	index/mail-index-transaction-update.c, src/lib-index/mail-index-
	transaction.c, src/lib-index/test-mail-index-transaction-update.c:
	Moved around mail-index-transaction code and added initial unit
	tests.
	[cae78e734cdb] <HEAD>

	* src/lib-index/mail-index-view-sync.c:
	Mail index view syncs: Simplify code for getting list of expunges.
	[8c17eb6c28d6] <HEAD>

	* src/lib-index/mail-cache-transaction.c, src/lib-index/mail-cache.h,
	src/lib-storage/index/index-transaction.c, src/lib-
	storage/index/maildir/maildir-save.c:
	More fixes to cache changes.
	[a0b8777ac846] <HEAD>

	* src/lib-storage/index/cydir/cydir-transaction.c, src/lib-
	storage/index/dbox/dbox-transaction.c, src/lib-storage/index/index-
	transaction.c, src/lib-storage/index/maildir/maildir-transaction.c,
	src/lib-storage/index/mbox/mbox-transaction.c, src/lib-
	storage/index/raw/raw-transaction.c:
	Fix to previous cache changes: Cache transaction was commited too
	early.
	[430832cf3cf0] <HEAD>

	* src/lib-index/mail-index-transaction-finish.c:
	Fix to previous flag update changes: Avoid crashes / infinite
	looping.
	[8bdfb66bf660] <HEAD>

	* src/lib-index/mail-index-transaction-finish.c:
	If all flag changes are dropped, make sure we don't write anything
	to transaction log.
	[e852cb4c5cd2] <HEAD>

	* src/lib-index/mail-index-transaction-finish.c, src/lib-index/mail-
	index-transaction-private.h, src/lib-index/mail-index-transaction.c:
	mail_index_update_flags*() now does a better job of merging flag
	changes together.
	[1f8629349b41] <HEAD>

	* src/lib-index/mail-index-transaction.c:
	Fixed expunging appended message that had atomic extension changes
	done.
	[2f54270904bf] <HEAD>

	* src/lib-index/mail-index.c:
	Previous commit accidentally removed mail_index_keywords_create().
	[d670b5d66302] <HEAD>

	* src/lib-index/mail-index-transaction.c, src/lib-index/mail-index.c:
	Moved mail_index_keywords_*() to mail-index.c.
	[ed9b4bc28913] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/mail-index-private.h, src
	/lib-index/mail-index-transaction-private.h, src/lib-index/mail-
	index-transaction.c, src/lib-index/mail-index-util.c, src/lib-index
	/mail-index-util.h:
	Moved mail_index_seq_array_*() to mail-index-util.c and added its
	own .h file.
	[2cab7f501986] <HEAD>

	* src/lib-index/mail-cache-transaction.c, src/lib-index/mail-index-
	transaction-private.h, src/lib-index/mail-index-transaction.c:
	Isolated all cache transaction handling code to a single file.
	[546adc9dd14b] <HEAD>

2009-07-27  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-fetch.c:
	IMAP: FETCH X-* parameters weren't working.
	[cf930dc6a7fe] <HEAD>

2009-07-10  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-commands.c, src/imap/imap-fetch.c, src/lib-index/mail-
	index-strmap.c, src/lib-index/mailbox-list-index-sync.c, src/lib-
	mail/istream-header-filter.c, src/lib-storage/index/dbox/dbox-
	storage-rebuild.c, src/lib-storage/index/index-thread.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/plugins/acl/acl-
	backend-vfile.c, src/plugins/fts/fts-storage.c, src/plugins/virtual
	/virtual-storage.c, src/plugins/virtual/virtual-sync.c:
	Use array_bsearch*().
	[d404d34097f2] <HEAD>

	* src/lib/bsearch-insert-pos.c, src/lib/bsearch-insert-pos.h:
	Added type safe array_bsearch_insert_pos().
	[5ab09480d6b4] <HEAD>

	* src/lib/array.c, src/lib/array.h:
	Added type safe array_bsearch().
	[55690917fefb] <HEAD>

	* src/plugins/expire/expire-env.c:
	expire: Log configuration at startup if mail_debug=yes.
	[26ff48e47764] <HEAD>

	* src/plugins/quota/Makefile.am:
	quota: Fixed compiling with older automakes.
	[e96ea07f1437] <HEAD>

2009-07-09  Timo Sirainen  <tss@iki.fi>

	* src/plugins/convert/convert-storage.c:
	convert plugin: Fixed changing hierarchy separators in mailbox names
	when alt_hierarchy_char isn't set.
	[c0914a6a2e36] <HEAD>

	* src/imap-login/client-authenticate.c, src/imap-login/client.c, src
	/login-common/sasl-server.c, src/login-common/sasl-server.h,
	src/pop3-login/client-authenticate.c, src/pop3-login/client.c:
	login processes: Auth code cleanups. Custom IMAP auth errors now
	have [ALERT] prefix. This should make them visible in more clients.
	[caea6aaadde4] <HEAD>

	* src/lib-storage/index/maildir/maildir-copy.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-storage.h, src/lib-storage/index/maildir/maildir-sync-
	index.c, src/lib-storage/index/maildir/maildir-sync.c, src/lib-
	storage/index/maildir/maildir-sync.h:
	maildir: Cleaned up save/copy code.
	[489727453d1c] <HEAD>

	* src/plugins/acl/acl-backend-vfile-acllist.c:
	acl: Fixed previous mbox fix.
	[069679de3005] <HEAD>

	* src/master/service-process.c:
	master: Fail service if home directory path is relative.
	[155a5ddb26f3] <HEAD>

	* src/lib-storage/index/maildir/maildir-copy.c, src/lib-
	storage/index/maildir/maildir-save.c:
	Reverted changes committed accidentally in previous commit.
	[a032deb40060] <HEAD>

	* src/lib-storage/index/maildir/maildir-copy.c, src/lib-
	storage/index/maildir/maildir-save.c, src/master/service-process.c:
	master: A bit more logging improvements for bad UID/GID.
	[444ce507a5ea] <HEAD>

	* src/master/service-process.c:
	master: Give better error messages if UNIX uid/gid is too high/low.
	[771097ddce48] <HEAD>

2009-07-08  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-copy.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-storage.h:
	maildir: Small code cleanup.
	[d5637a78d263] <HEAD>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-file.h, src/lib-storage/index/dbox/dbox-save.c, src/lib-
	storage/index/dbox/dbox-storage-rebuild.c:
	dbox: Allow any kind of non-128bit GUIDs. For those store their hash
	to index instead.
	[d4c1a2941c43] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: Error message fix.
	[49bf801bf840] <HEAD>

	* src/dsync/test-dsync-brain.c:
	dsync: Improved brain unit test.
	[7de1407b4229] <HEAD>

	* src/dsync/dsync-brain.c, src/dsync/test-dsync-brain.c:
	dsync: Fixed uid conflict handling.
	[7b0bcf423fca] <HEAD>

	* src/plugins/quota/Makefile.am:
	quota-fs: Another compiling fix (for older autotools?)
	[2cd15c71923d] <HEAD>

	* src/lib/ioloop-notify-inotify.c:
	inotify: Give a better error message if user's watch limit exceeds.
	[556855724e6e] <HEAD>

	* src/lib/eacces-error.c:
	eacces_error_get*(): Show current directory if path is relative.
	[f564209e9396] <HEAD>

2009-07-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Added some checks for UIDs reaching 2^31-1. Saving messages
	when it's reached will be handled by assert-crash for now.
	[a1dfbec72a6f] <HEAD>

	* src/plugins/expire/expire-plugin.c:
	expire plugin: If mail_debug=yes, log more debug information.
	[3788f3b0f9b2] <HEAD>

	* src/plugins/expire/expire-plugin.c:
	expire plugin: If a transaction expunges all messages and saves a
	new one, don't delete expire row.
	[aa6f96938626] <HEAD>

	* src/plugins/acl/acl-backend-vfile.c:
	acl: dovecot-acl file caching fixes.
	[b64aa73a34dc] <HEAD>

	* src/plugins/acl/acl-backend-vfile-acllist.c:
	acl+mbox: Create also temp acllist file to control directory.
	[fd83d1f43ce5] <HEAD>

	* src/lib/safe-mkstemp.c:
	safe_mkstemp*(): Truncate prefix to original length if creation
	failed.
	[3f32abc198d6] <HEAD>

	* src/plugins/acl/acl-backend-vfile-acllist.c:
	acl+mbox: Create dovecot-acl-list to control dir.
	[ad43ac627724] <HEAD>

	* src/lib-storage/list/subscription-file.c, src/lib-storage/mailbox-
	list.c, src/lib-storage/mailbox-list.h:
	Added mailbox_list_create_parent_dir() and used it when creating
	subscriptions file.
	[9ced768849e8] <HEAD>

	* src/lib-storage/index/index-storage.c:
	Compiling fix.
	[7a1da6de3cd8] <HEAD>

	* src/lib-storage/index/maildir/maildir-sync.c:
	OSX+Maildir: Also don't log an error if readdir() fails with EINVAL.
	[41cebb4a3b0d] <HEAD>

	* src/lib-storage/index/maildir/maildir-sync.c:
	OSX+Maildir: If readdir() fails with EINVAL after doing rename()s,
	retry. Fixes HFS+. Based on patch by Apple.
	[b6fcd9966727] <HEAD>

	* src/auth/mech-gssapi.c:
	gssapi: Code cleanup.
	[44c2ba2ea75d] <HEAD>

	* src/auth/mech-gssapi.c:
	gssapi: Use *userok() functions only when authz_name != authn_name.
	Some more code cleanups.
	[43466b5b6869] <HEAD>

	* autogen.sh:
	autogen.sh: Look up config.rpath also from
	/usr/local/shared/gettext/.
	[38add5a084db] <HEAD>

	* src/auth/mech-gssapi.c:
	gssapi: Set username via auth_request_set_username(). This makes
	GSSAPI also use auth_username_* settings. Also improved logging.
	[ca48bc74f6bd] <HEAD>

	* src/auth/mech-gssapi.c:
	gssapi: Code cleanups. Logging error level changes.
	[07c4ddae1d47] <HEAD>

	* src/lib-storage/mailbox-list.c:
	mail_location: Added support back for ~user/ expansion in paths.
	[520e408a4f6a] <HEAD>

	* src/plugins/quota/Makefile.am:
	quota-fs: Fixed previous "VPATH build" commit to work with all
	shells.
	[5d5cb8159954] <HEAD>

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Don't use UIDVALIDITY 1 for all new mailboxes.
	[d74d50dceeda] <HEAD>

	* src/plugins/quota/quota-fs.c:
	quota-fs: Default to user quota with NFS, not group quota.
	[7853731cb1c4] <HEAD>

2009-07-07  Matthias Andree  <matthias.andree@gmx.de>

	* src/plugins/quota/Makefile.am:
	Fix VPATH build of RQUOTA support.

	Some rpcgen derive #include "..." paths from the infile argument.
	This will be off for VPATH builds, as the generated rquota_xdr.c
	code will look in $(srcdir), but we'll generate the rquota.h file in
	$(builddir). Play safe and copy rquota.x to $(builddir) first.

	This fixes the build on openSUSE 11.1.
	[4aa97c04682d] <HEAD>

2009-07-07  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-fetch-body.c, src/plugins/convert/convert-storage.c,
	src/plugins/mail-log/mail-log-plugin.c:
	Use mailbox_get_vname() to improve logging.
	[d4bce0753105] <HEAD>

	* src/plugins/expire/expire-plugin.c:
	expire code cleanup: Use mailbox_get_vname().
	[2c90d6cf8b09] <HEAD>

	* src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c:
	quota: Rules use virtual mailbox names now (as they always should
	have).
	[eda6f7c67058] <HEAD>

	* src/lib-storage/index/index-storage.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail-
	storage.h:
	lib-storage: Added mailbox_get_vname().
	[279af9682cd6] <HEAD>

	* src/plugins/expire/expire-env.c, src/plugins/expire/expire-env.h,
	src/plugins/expire/expire-plugin.c, src/plugins/expire/expire-
	tool.c:
	expire: Support per-user expire configuration.
	[1cf278c2fd63] <HEAD>

	* src/auth/auth-request-handler.c:
	auth: Ignore empty initial response strings.
	[90f8e2d091b5] <HEAD>

	* src/pop3-login/client-authenticate.c:
	pop3: Fixed AUTH PLAIN command when SASL initial response wasn't
	specified.
	[df84d8a0efbf] <HEAD>

	* src/lib/file-dotlock.c:
	file_dotlock_open_*() shouldn't try to fchmod() with no uid/gid
	change. Patch by Ralf Becker.
	[77b6f05df645] <HEAD>

2009-06-29  Timo Sirainen  <tss@iki.fi>

	* .hgignore, TODO, configure.in, src/Makefile.am,
	src/dsync/Makefile.am, src/dsync/dsync-brain-private.h, src/dsync
	/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync-data.c,
	src/dsync/dsync-data.h, src/dsync/dsync-proxy-client.c, src/dsync
	/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.c, src/dsync
	/dsync-proxy-server.h, src/dsync/dsync-proxy.c, src/dsync/dsync-
	proxy.h, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker-
	private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h,
	src/dsync/dsync.c, src/dsync/test-dsync-brain.c, src/dsync/test-
	dsync-common.c, src/dsync/test-dsync-common.h, src/dsync/test-dsync-
	proxy-server-cmd.c, src/dsync/test-dsync-proxy.c, src/dsync/test-
	dsync-worker.c, src/dsync/test-dsync-worker.h:
	dsync: Initial implementation.
	[34eef8a2716b] <HEAD>

	* src/lib/Makefile.am, src/lib/ostream-buffer.c, src/lib/ostream.h:
	Added o_stream_create_buffer() for having output stream write to a
	buffer.
	[320d2164bc17] <HEAD>

	* src/lib/ostream-file.c, src/lib/ostream-internal.h,
	src/lib/ostream.c:
	ostreams: Moved generic o_stream_send_istream() implementation to
	ostream.c.
	[e41c648a2f4c] <HEAD>

	* src/lib-test/test-common.c:
	unit testing: If a warning or error is logged during unit test, fail
	it.
	[bf96497404f5] <HEAD>

	* src/lib-test/test-common.c, src/lib-test/test-common.h:
	unit testing: Added support for doing test_init/run/deinit in
	separate functions.
	[ff4e33e22764] <HEAD>

	* src/lib-storage/index/dbox/dbox-save.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src
	/lib-storage/mail-storage.h:
	Mailbox saving: Allow setting IMAP UID, POP3 UIDL and save date.
	Most of them aren't yet implemented by backends.
	[49f736dce881] <HEAD>

	* src/lib-storage/index/dbox/dbox-storage.c:
	dbox: Fixed setting mailbox GUID.
	[be220a26fc5e] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir: Code cleanups.
	[bb260536bdb5] <HEAD>

	* configure.in:
	Fixed building LDAP support as plugin. Patch by Paul Howarth.
	[49a1e47cb037] <HEAD>

2009-06-27  Timo Sirainen  <tss@iki.fi>

	* src/plugins/virtual/virtual-sync.c:
	virtual: Fixed inifinite looping.
	[986f8270a226] <HEAD>

	* src/plugins/acl/acl-mailbox.c:
	acl: When creating a new child mailbox, copy parent's ACLs to it.
	[43254b30c17f] <HEAD>

	* src/lib-storage/mail-storage.c:
	Fixed shared namespace initialization.
	[ac0a9729fe3c] <HEAD>

	* src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c:
	zlib: Fixed error handling.
	[d2b2742dea75] <HEAD>

	* src/lib-dict/dict-sql-settings.c:
	dict sql: If pattern, table or value_field is unset, fail early with
	an error.
	[913f8a4bb043] <HEAD>

	* src/dict/Makefile.am, src/dict/dict-connection.c, src/dict/dict-
	settings.c, src/dict/dict-settings.h, src/lib-dict/Makefile.am, src
	/lib-dict/dict-client.c, src/lib-dict/dict-client.h, src/lib-dict
	/dict-db.c, src/lib-dict/dict-file.c, src/lib-dict/dict-private.h,
	src/lib-dict/dict-sql.c, src/lib-dict/dict.c, src/lib-dict/dict.h,
	src/plugins/acl/acl-lookup-dict.c, src/plugins/expire/expire-
	plugin.c, src/plugins/expire/expire-tool.c, src/plugins/quota/quota-
	dict.c:
	dict proxy: Use base_dir as the default dict-server location.
	[ee99bb70b05f] <HEAD>

	* src/lib-storage/index/index-sort-string.c:
	Mail sorting: Fixed potential excessive memory usage.
	[3f4ae64b27ac] <HEAD>

	* src/plugins/virtual/virtual-save.c:
	virtual: Fixed previous change.
	[8f74a0f149ad] <HEAD>

	* configure.in:
	configure --with-storages: Drop duplicate storages.
	[6350d105c34e] <HEAD>

	* src/plugins/virtual/virtual-save.c:
	virtual: Fixed saving messages with keywords.
	[56dc85882e9e] <HEAD>

	* src/lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c,
	src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib/istream-
	concat.c, src/lib/istream-crlf.c, src/lib/istream-data.c, src/lib
	/istream-file.c, src/lib/istream-limit.c, src/lib/istream-mmap.c,
	src/lib/istream-seekable.c, src/lib/istream.h, src/lib/ostream-
	file.c, src/plugins/zlib/istream-zlib.c:
	Added struct istream.readable_fd, which is used to determine if
	sendfile() can be used.
	[622509c562e8] <HEAD>

	* src/lib-mail/test-istream-dot.c:
	istream dot unit test fixes.
	[7e4fe0c07661] <HEAD>

2009-06-28  Daniel Mierswa  <impulze@impulze.org>

	* configure.in:
	Added --without-libcap configure option.
	[b20513ab8f5a] <HEAD>

2009-06-27  Timo Sirainen  <tss@iki.fi>

	* src/lda/main.c, src/lib-index/mail-index-private.h, src/lib-index
	/mail-index-strmap.c, src/lib-index/mail-index.c, src/lib-index
	/mail-index.h, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox/dbox-
	map.c, src/lib-storage/index/dbox/dbox-storage.c, src/lib-
	storage/index/dbox/dbox-storage.h, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/maildir/maildir-keywords.c, src
	/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/list/mailbox-list-fs.c, src/lib-
	storage/list/subscription-file.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage.c, src/lib-storage/mailbox-
	list-private.h, src/lib-storage/mailbox-list.c, src/lib-storage
	/mailbox-list.h, src/lib/eacces-error.c, src/lib/eacces-error.h,
	src/lib/file-dotlock.c, src/lib/file-dotlock.h, src/lib/mkdir-
	parents.c, src/lib/mkdir-parents.h, src/lib/safe-mkstemp.c, src/lib
	/safe-mkstemp.h, src/plugins/acl/acl-backend-vfile-acllist.c,
	src/plugins/acl/acl-backend-vfile.c, src/plugins/lazy-expunge/lazy-
	expunge-plugin.c, src/plugins/quota/quota-maildir.c:
	Whenever file's group changing fails, show the group origin in the
	error message.
	[b373de4973cd] <HEAD>

	* src/imap/imap-commands-util.c:
	Compiler warning fix.
	[5a413a1beb60] <HEAD>

	* src/lib-index/mail-index.c, src/lib-storage/index/maildir/maildir-
	uidlist.c:
	Use eacces_get_error() in more places for handling EACCES errors.
	[bbe4c24faf21] <HEAD>

	* src/lib/eacces-error.c:
	eacces_error_get(): Check also if user had write permissions to the
	given file.
	[8760bc0b1c3a] <HEAD>

2009-06-26  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-create.c, src/lib-lda/mail-deliver.c, src/lib-
	storage/index/cydir/cydir-storage.c, src/lib-storage/index/dbox
	/dbox-save.c, src/lib-storage/index/dbox/dbox-storage-rebuild.c, src
	/lib-storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox
	/dbox-storage.h, src/lib-storage/index/dbox/dbox-sync-rebuild.c, src
	/lib-storage/index/index-storage.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/maildir/maildir-uidlist.c,
	src/lib-storage/index/maildir/maildir-uidlist.h, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox-
	storage.h, src/lib-storage/index/mbox/mbox-sync.c, src/lib-
	storage/index/raw/raw-storage.c, src/lib-storage/index/shared
	/shared-storage.c, src/lib-storage/mail-storage-private.h, src/lib-
	storage/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-
	storage/test-mail-storage.c, src/lib-storage/test-mailbox.c,
	src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-storage.c,
	src/plugins/autocreate/autocreate-plugin.c, src/plugins/convert
	/convert-storage.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/listescape/listescape-plugin.c, src/plugins/virtual
	/virtual-storage.c:
	Added support for creating/updating mailboxes with given metadata
	(guid, uid validity, etc).
	[530bbade4e3f] <HEAD>

2009-06-25  Timo Sirainen  <tss@iki.fi>

	* src/config/config-parser.c, src/lib-settings/settings-parser.c, src
	/lib-storage/mailbox-list.c:
	Increased some initial memory pool sizes.
	[29733d23d903] <HEAD>

	* src/lib-imap/test-imap-parser.c, src/lib-mail/test-istream-dot.c,
	src/lib-test/test-common.c:
	Improved test istream.
	[cdd6ef3c356c] <HEAD>

	* src/lib-mail/istream-dot.c:
	istream-dot fixes.
	[5ca3318cd3e2] <HEAD>

	* src/auth/auth-master-connection.c:
	auth: Keep master connection referenced during USER lookups. Fixes a
	crash when master disconnected before USER lookup was finished.
	[270c07cf45b6] <HEAD>

2009-06-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/mbox/mbox-save.c:
	mbox: Don't write garbage to mbox if message doesn't have a body.
	[d8556f68f6a7] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c:
	Maildir saving: If GUID is specified, try to preserve it in the
	filename.
	[a1535b151afa] <HEAD>

	* src/auth/auth-worker-client.h:
	auth: Increased auth workers' max. input line length to 8192.
	[c8ff1a3722b7] <HEAD>

2009-06-23  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream-limit.c, src/lib/istream.c:
	istream: Changed default destroy() implementation not to do parent
	stream seeking. The stream's v_offset may be completely different
	from what parent uses.
	[02badd89127e] <HEAD>

	* src/config/config-request.c:
	config: Export also empty setting values also, if empty isn't the
	default.
	[498965c87314] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	mail storage service: Added MAIL_STORAGE_SERVICE_FLAG_NO_CHDIR.
	[3f9dcaf102d1] <HEAD>

	* src/lib-mail/istream-dot.c, src/lib/istream-crlf.c, src/lib/istream-
	tee.c, src/lib/istream.c:
	istreams: Added a default seek() implementation for non-seekable
	streams.
	[85912a6031a0] <HEAD>

	* src/lib-storage/mail-namespace.c:
	Namespaces: Check alias_for namespaces after all namespaces have
	been parsed.
	[7ba2c40ed078] <HEAD>

	* src/lib-storage/mail-namespace.c:
	Don't (double) free mail_user if namespace initialization fails.
	[7c7ff145b171] <HEAD>

	* src/lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c,
	src/lib-storage/index/istream-mail-stats.c, src/lib-
	storage/index/mbox/istream-raw-mbox.c, src/lib/istream-crlf.c,
	src/lib/istream-file.c, src/lib/istream-limit.c, src/lib/istream.c,
	src/plugins/zlib/istream-zlib.c:
	Moved some common istream functionality to default istream
	implementation.
	[c0c3dcb5a6f0] <HEAD>

	* src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
	Mailbox list iteration: Added MAILBOX_LIST_ITER_SKIP_ALIASES flag.
	[87990dce79d4] <HEAD>

	* src/lib-master/master-service-settings.c:
	lib-master: Don't try to close(-1)
	[f5d95f4fd954] <HEAD>

	* src/lib/strescape.c, src/lib/strescape.h, src/lib/test-strescape.c:
	Added str_tabunescape().
	[aad42b172e1a] <HEAD>

	* src/lmtp/client.h, src/lmtp/commands.c:
	lmtp: Use dot istream for reading DATA input.
	[70b96df05e9a] <HEAD>

	* src/lib-mail/Makefile.am, src/lib-mail/istream-dot.c, src/lib-mail
	/istream-dot.h, src/lib-mail/test-istream-dot.c:
	Added dot istream for reading SMTP DATA-style input.
	[f068c8a19013] <HEAD>

	* src/imap/imap-commands-util.c:
	imap: Use imap_parse_system_flag().
	[0b7617d66ab1] <HEAD>

	* src/lib-imap/Makefile.am, src/lib-imap/imap-util.c, src/lib-imap
	/imap-util.h, src/lib-imap/test-imap-util.c:
	Added imap_parse_system_flag().
	[e4ba9799a1ac] <HEAD>

	* src/lib-imap/imap-parser.c, src/lib-imap/imap-parser.h:
	Inlined IMAP_ARG_*() macros' error handling functions.
	[a81dfcf5a78d] <HEAD>

	* src/lib-imap/test-imap-parser.c:
	imap-parser unit test fix.
	[5ef9cca6fa27] <HEAD>

2009-06-22  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-copy.c, src/lib-storage/mail-storage.c, src/lib-storage
	/mail-storage.h, src/plugins/convert/convert-storage.c, src/plugins
	/lazy-expunge/lazy-expunge-plugin.c:
	Added mailbox_save_copy_flags(). Use it wherever possible.
	[15e427021619] <HEAD>

	* src/imap/cmd-append.c, src/imap/cmd-copy.c, src/imap/cmd-store.c,
	src/lib-index/mail-index-sync.c, src/lib-index/mail-index-
	transaction.c, src/lib-index/mail-index.h, src/lib-lda/mail-
	deliver.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox-
	sync-rebuild.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/maildir/maildir-sync-
	index.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw/raw-
	storage.c, src/lib-storage/mail-search.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.c, src/lib-storage
	/mail-storage.h, src/lib-storage/test-mailbox.c, src/plugins/convert
	/convert-storage.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-
	sync.c:
	Added reference counting to struct mail_keywords and related APIs.
	[094ad127d132] <HEAD>

	* src/imap-login/client.c, src/lib-auth/auth-client-interface.h,
	src/pop3-login/client.c:
	login client idle timeout should be larger than auth request
	timeout, not vice versa.
	[d7e09c3eaace] <HEAD>

	* src/plugins/acl/acl-backend-vfile-acllist.c:
	acl: If dovecot-acl-list writing fails, delete it so it gets rebuilt
	later.
	[0cc9e2028580] <HEAD>

	* src/plugins/imap-acl/imap-acl-plugin.c:
	imap-acl: Handle empty rights (no rights) properly.
	[caf4e126670c] <HEAD>

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Handle empty rights (no rights) properly.
	[e8b202fe3ef8] <HEAD>

	* src/lib-imap/imap-parser.c:
	imap_parser_read_args() didn't correctly return how many parameters
	were read.
	[fd7d2cb8fda6] <HEAD>

	* src/plugins/imap-acl/imap-acl-plugin.c:
	imap-acl: Command parameter reading wasn't done correctly.
	[a268f8fd89b7] <HEAD>

2009-06-21  Timo Sirainen  <tss@iki.fi>

	* src/lib/eacces-error.c:
	eacces_error_get*() works now properly when process's real uid !=
	effective uid.
	[e22e36a61fdd] <HEAD>

	* src/lib/restrict-access.c, src/lib/restrict-access.h:
	Added restrict_get_groups_list() for easily getting list of
	process's groups.
	[5074914f2dba] <HEAD>

	* src/auth/Makefile.am, src/dict/Makefile.am, src/lda/Makefile.am, src
	/lib-master/Makefile.am, src/lib-storage/index/shared/Makefile.am,
	src/lmtp/Makefile.am, src/login-common/Makefile.am,
	src/master/Makefile.am, src/plugins/convert/Makefile.am,
	src/plugins/expire/Makefile.am:
	Removed unnecessary macro definitions from Makefiles.
	[3aeab83e661a] <HEAD>

	* src/lib-storage/mail-namespace.c:
	When accessing a shared namespace, don't change separators in
	mailbox name.
	[7bbae4008efd] <HEAD>

	* src/lib-storage/mailbox-list.c:
	mail_location: Allow using ":" characters in dir names by escaping
	it as "::".
	[1769b18aea5b] <HEAD>

	* src/master/main.c, src/master/service-monitor.c, src/master/service-
	monitor.h, src/master/service-process.c, src/master/service.c,
	src/master/service.h:
	master: If time moves backwards, delay launching new processes.
	[4fd624e60da1] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	Mail storage service processes now sleep/die if time moves
	backwards.
	[b9f5982e68ee] <HEAD>

	* src/lib/ioloop-epoll.c, src/lib/ioloop-internal.h, src/lib/ioloop-
	kqueue.c, src/lib/ioloop-poll.c, src/lib/ioloop-select.c,
	src/lib/ioloop.c, src/lib/ioloop.h:
	ioloop: Added callback for handling time jumping forwards/backwards.
	The default implementation is now to only log a warning when time
	moves backwards. The callback is also called if it's detected that
	time jumps forwards. In both cases existing timeouts' run times are
	updated so that they're called approximately the intended time.
	[a442d3c40693] <HEAD>

	* src/lib/priorityq.c, src/lib/priorityq.h, src/lib/test-priorityq.c:
	Added priorityq_items() for getting all items from a priority queue.
	[ee4201fdad4f] <HEAD>

2009-06-17  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Crashfix to opening a newly created maildir.
	[ee874a76aaaf] <HEAD>

	* src/config/doveconf.c, src/imap/imap-commands.c, src/imap/imap-
	fetch.c, src/lib-index/mail-cache-lookup.c, src/lib-
	mail/rfc2231-parser.c, src/lib-settings/settings-parser.c, src/lib-
	storage/index/dbox/dbox-storage-rebuild.c, src/lib-
	storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/index-
	mail-headers.c, src/lib-storage/index/index-sort-string.c, src/lib-
	storage/index/index-sort.c, src/lib-storage/index/index-thread-
	finish.c, src/lib-storage/index/maildir/maildir-sync-index.c, src
	/lib-storage/index/maildir/maildir-uidlist.c, src/lib/module-dir.c,
	src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-lookup-
	dict.c, src/plugins/fts/fts-storage.c, src/plugins/trash/trash-
	plugin.c, src/plugins/virtual/virtual-search.c, src/plugins/virtual
	/virtual-sync.c:
	Use array_sort() instead of qsort() wherever possible.
	[0059b2381024] <HEAD>

	* src/lib/array.c, src/lib/array.h:
	Added array_sort() for type-safe array sorting.
	[a6e1f054a808] <HEAD>

	* src/imap-login/client-authenticate.c, src/imap-login/client.c, src
	/imap-login/client.h, src/imap-login/imap-proxy.c:
	imap-login: Using CAPABILITY command after STARTTLS shouldn't
	trigger CAPABILITY pushing workaround.
	[e8301a8f9cf7] <HEAD>

	* doc/solr-schema.xml, src/plugins/fts-solr/fts-backend-solr.c:
	solr: Don't use "any" copyfield, it doubles the index size.
	[1492d688d8a9] <HEAD>

2009-06-16  Timo Sirainen  <tss@iki.fi>

	* src/util/threadview.c:
	threadview: If mmap() fails, fail with an error instead of crashing.
	[a33722839adf] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Fixes to handling "." correctly in DATA.
	[a04a3ce0764e] <HEAD>

	* src/plugins/expire/expire-tool.c:
	expire-tool --test: Don't write LFs after timestamps.
	[acbbd522be43] <HEAD>

	* src/lib/Makefile.am, src/lib/strescape.c, src/lib/strescape.h,
	src/lib/test-lib.c, src/lib/test-lib.h, src/lib/test-strescape.c:
	Added str_append_tabunescaped(). str_tabescape*() now escapes also
	CR. Added unit tests.
	[5a6fe52a0cfc] <HEAD>

	* src/lib/strescape.c:
	str_append_unescaped() didn't unescape \\ correctly. The function
	wasn't used anywhere in Dovecot though.
	[464116e1d0ae] <HEAD>

2009-06-15  Timo Sirainen  <tss@iki.fi>

	* src/plugins/expire/expire-tool.c:
	expire-tool --test: Fixed timestamp logging.
	[d4ad8009a18b] <HEAD>

	* src/imap/imap-client.c, src/imap/imap-commands.c, src/imap/imap-
	commands.h, src/imap/imap-sync.c, src/imap/imap-sync.h:
	IMAP: Don't crash if IDLE command is pipelined after a long-running
	UID FETCH or UID SEARCH.
	[25ad27f699f6] <HEAD>

	* src/imap/cmd-append.c, src/imap/cmd-copy.c, src/imap/cmd-create.c,
	src/imap/cmd-rename.c, src/imap/cmd-subscribe.c, src/imap/imap-
	commands-util.c, src/imap/imap-commands-util.h:
	IMAP: Send [ALREADYEXISTS], [NONEXISTENT] and [TRYCREATE] resp-codes
	correctly.
	[8741d62d6b74] <HEAD>

	* src/imap/cmd-rename.c:
	IMAP RENAME: If dest mailbox exists but source doesn't, fail with
	"Mailbox doesn't exist".
	[9291253df6de] <HEAD>

	* src/plugins/expire/Makefile.am:
	expire-tool, --without-shared-libs: Link mountpoint.o so quota
	plugin loading doesn't fail.
	[4d46c8517a90] <HEAD>

	* src/auth/auth-request.c:
	auth: Don't assert-crash if trying to log in as master user but with
	empty login username.
	[6462ba85d751] <HEAD>

	* src/lib/file-dotlock.c:
	safe_mkstemp() was used incorrectly. umask() no longer changes its
	behavior.
	[d394cca843a9] <HEAD>

	* src/lib-index/mail-transaction-log.c:
	Transaction log dotlocking ignored mail_nfs_index and
	dotlock_use_excl settings.
	[73aea4432453] <HEAD>

	* src/plugins/acl/acl-backend-vfile.c:
	acl: Don't assert-crash if removing all rights.
	[836646906a63] <HEAD>

	* src/imap-login/imap-proxy.c:
	imap proxy: Pass through to client unexpected untagged replies from
	remote server.
	[57a2431852f5] <HEAD>

	* src/imap/imap-status.c:
	IMAP: STATUS .. X-GUID returns mailbox GUID.
	[18caae3804e3] <HEAD>

	* src/lib-storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox
	/dbox-save.c, src/lib-storage/index/dbox/dbox-storage.c, src/lib-
	storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox/dbox-
	sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c, src/lib-
	storage/index/index-storage.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/maildir/maildir-uidlist.c,
	src/lib-storage/index/maildir/maildir-uidlist.h, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox-
	storage.h, src/lib-storage/index/mbox/mbox-sync.c, src/lib-storage
	/mail-storage.h, src/util/idxview.c:
	Added support for mailbox GUIDs.
	[f98ec5dffd04] <HEAD>

	* src/lib-storage/index/index-storage.c:
	Fixed using freed memory when opening mailboxes.
	[c0dd791aaaaa] <HEAD>

	* src/lib-storage/index/index-storage.c:
	Fixed opening mailbox when index directory didn't already exist.
	[7a63279e95ba] <HEAD>

	* src/imap/cmd-append.c, src/imap/cmd-close.c, src/imap/cmd-copy.c,
	src/imap/cmd-delete.c, src/imap/cmd-select.c, src/imap/cmd-
	unselect.c, src/imap/imap-status.c, src/lda/main.c, src/lib-lda
	/mail-deliver.c, src/lib-storage/index/cydir/cydir-storage.c, src
	/lib-storage/index/cydir/cydir-storage.h, src/lib-
	storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox/dbox-
	file.c, src/lib-storage/index/dbox/dbox-mail.c, src/lib-
	storage/index/dbox/dbox-save.c, src/lib-storage/index/dbox/dbox-
	storage-rebuild.c, src/lib-storage/index/dbox/dbox-storage.c, src
	/lib-storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox
	/dbox-sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c, src
	/lib-storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/index-thread.c, src/lib-
	storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir
	/maildir-keywords.c, src/lib-storage/index/maildir/maildir-mail.c,
	src/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-util.c,
	src/lib-storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox
	/mbox-lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox-
	storage.c, src/lib-storage/index/mbox/mbox-storage.h, src/lib-
	storage/index/mbox/mbox-sync-rewrite.c, src/lib-storage/index/mbox
	/mbox-sync.c, src/lib-storage/index/raw/raw-mail.c, src/lib-
	storage/index/raw/raw-storage.c, src/lib-storage/index/raw/raw-
	storage.h, src/lib-storage/index/raw/raw-sync.c, src/lib-
	storage/list/index-mailbox-list-sync.c, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage.c, src/lib-storage
	/mail-storage.h, src/lib-storage/mailbox-list-private.h, src/lib-
	storage/mailbox-list.c, src/lib-storage/test-mail-storage.c, src
	/lib-storage/test-mail-storage.h, src/lib-storage/test-mailbox.c,
	src/lmtp/commands.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl
	/acl-plugin.h, src/plugins/acl/acl-storage.c, src/plugins/convert
	/convert-storage.c, src/plugins/expire/expire-plugin.c,
	src/plugins/expire/expire-tool.c, src/plugins/fts/fts-plugin.c,
	src/plugins/fts/fts-plugin.h, src/plugins/fts/fts-storage.c,
	src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap-
	quota-plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log
	/mail-log-plugin.c, src/plugins/mbox-snarf/mbox-snarf-plugin.c,
	src/plugins/quota/quota-count.c, src/plugins/quota/quota-storage.c,
	src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
	config.c, src/plugins/virtual/virtual-storage.c, src/plugins/virtual
	/virtual-storage.h, src/plugins/virtual/virtual-sync.c,
	src/plugins/zlib/zlib-plugin.c, src/pop3/pop3-client.c,
	src/util/doveadm.c:
	Mailbox opening and closing APIs changed.
	[653183a81b6c] <HEAD>

2009-06-12  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-list.c:
	IMAP: Fixed LIST RETURN (STATUS ..) if namespace separator wasn't
	storage separator.
	[7b6fe859ec64] <HEAD>

	* src/lib-storage/mail-namespace.c, src/lib-storage/mail-namespace.h:
	Added mail_namespace_get_storage_name().
	[3111c362edff] <HEAD>

	* src/imap/cmd-list.c:
	IMAP: Fixed untagged error messages for LIST RETURN (STATUS ..)
	failures.
	[b09ad4858d22] <HEAD>

2009-06-11  Timo Sirainen  <tss@iki.fi>

	* src/util/Makefile.am, src/util/imap-utf7.c:
	imap_utf7: Renamed to imap-utf7. Also fixed usage error string to
	print LF.
	[a5f5584646ed] <HEAD>

	* src/lib-storage/index/mbox/istream-raw-mbox.c:
	mbox: Don't crash with invalid From_-lines.
	[1f7f7c0aa711] <HEAD>

2009-06-09  Timo Sirainen  <tss@iki.fi>

	* src/master/service-process.c:
	Compiler warning fix with non-Linux.
	[e03003e935b5] <HEAD>

	* src/lib-storage/test-mail-storage.h:
	Forgot to add test-mail-storage.h in an earlier comment.
	[df1d8e45c067] <HEAD>

2009-06-05  Timo Sirainen  <tss@iki.fi>

	* dovecot-example.conf:
	dovecot-example.conf: Changed auth_verbose comment.
	[f672303df2b6] <HEAD>

2009-06-04  Timo Sirainen  <tss@iki.fi>

	* TODO:
	TODO updated.
	[0aeea5034358] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	virtual: Forgot to commit in previous API change commit.
	[19fc2147cc10] <HEAD>

	* src/lib-storage/Makefile.am, src/lib-storage/test-mail-storage.c,
	src/lib-storage/test-mail.c, src/lib-storage/test-mailbox.c:
	Added libstorage-test.a for unit testing lib-storage users.
	[4dca587d5b75] <HEAD>

	* src/lib-storage/mail-search.c:
	mail_search_args_simplify() no longer uses lib-index functions
	directly.
	[63f4a2825bbe] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src
	/lib-storage/mail-storage.h:
	Added mailbox_keywords_create_from_indexes().
	[374d29a1905e] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/index-mail-
	headers.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage.c,
	src/plugins/virtual/virtual-storage.c:
	mailbox_header_lookup*() private API changed.
	[87e533f1127d] <HEAD>

	* src/lib-storage/index/index-search.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/maildir/maildir-sync.c, src/lib-
	storage/mail-storage-private.h, src/lib-storage/mail-storage.c,
	src/plugins/fts/fts-storage.c:
	struct mail_storage.callbacks is no longer a pointer.
	[2a3390530f6a] <HEAD>

	* src/auth/passdb-ldap.c:
	ldap: Fixed auth_bind=yes.
	[d9f5cc5365d1] <HEAD>

	* src/auth/auth-settings.c:
	auth: Fixed auth_debug_password -> auth_debug -> auth_Verbose
	cascading.
	[d86490ef27bd] <HEAD>

	* src/lib-mail/message-search.c:
	Message body search: Skip MIME boundaries and multipart footer.
	[227a64839587] <HEAD>

	* src/plugins/convert/convert-storage.c:
	convert plugin: After storage is locked, check another way to see if
	it still exists.
	[653bfe9ad192] <HEAD>

	* src/lib-master/master-service-settings.c, src/lib/module-dir.c, src
	/login-common/main.c:
	Increased some memory pool sizes.
	[1348d374e574] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	lib-storage: Avoid wasting data stack usage.
	[0a1f989bc5ad] <HEAD>

	* src/lib-storage/index/dbox/dbox-sync.c:
	dbox: When rebuilding dbox storage, reset recent flags to avoid
	assert-crashing.
	[563b17988ce1] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/dbox/dbox-storage.c:
	dbox, cydir: Ignore MAILBOX_OPEN_NO_INDEX_FILES flag when opening
	mailbox.
	[3396bab1feb6] <HEAD>

	* src/lib-storage/index/dbox/dbox-sync.c:
	dox: When checking dbox header in sync, make sure we're using the
	latest index.
	[99a97c5c9912] <HEAD>

	* src/log/log-connection.c, src/log/log-connection.h, src/log/main.c:
	Fixed log process after recent lib-master changes.
	[0bf92fe23dea] <HEAD>

	* src/lib-storage/index/dbox/dbox-storage.c:
	dbox: Fixed creating new mailboxes.
	[97679435f892] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: Non-listening processes should die when their std-client
	is destroyed.
	[d43232f22ace] <HEAD>

	* src/anvil/anvil-connection.c, src/anvil/anvil-connection.h,
	src/anvil/main.c:
	anvil: Fixed checking what the master connection is.
	[cab8f8009456] <HEAD>

2009-06-03  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-storage.c:
	dbox: storage directory was created without +x permissions.
	[03ef1dd538fe] <HEAD>

	* src/lib-master/master-service.c, src/log/log-connection.c, src/log
	/log-connection.h, src/log/main.c:
	log, lib-master: More fifo handling fixes.
	[27dfd1f5d46b] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: Fixed crashing on deinit when listening on fifos.
	[e18fb0a361ef] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/dbox/dbox-storage-rebuild.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/maildir
	/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
	/lib-storage/index/raw/raw-storage.c, src/lib-storage/index/shared
	/shared-storage.c, src/lib-storage/mail-namespace.c, src/lib-storage
	/mail-storage-private.h, src/lib-storage/mail-storage.c, src/lib-
	storage/mail-storage.h, src/lib-storage/mail-user.h, src/lib-storage
	/mailbox-list.c, src/plugins/convert/convert-storage.c,
	src/plugins/virtual/virtual-storage.c:
	mail storages can now be shared between namespaces.
	[4f46cee3a1d4] <HEAD>

	* src/lib-dict/Makefile.am, src/lib-imap/Makefile.am, src/lib-
	index/Makefile.am, src/lib-mail/Makefile.am, src/lib-
	sql/Makefile.am, src/lib/Makefile.am:
	Compiling fix for Solaris 7.
	[da12e994d942] <HEAD>

2009-06-02  Timo Sirainen  <tss@iki.fi>

	* src/config/settings-get.pl, src/imap/cmd-append.c, src/imap/cmd-
	copy.c, src/imap/cmd-create.c, src/imap/cmd-delete.c, src/imap/cmd-
	list.c, src/imap/cmd-rename.c, src/imap/cmd-select.c, src/imap/cmd-
	status.c, src/imap/cmd-subscribe.c, src/imap/imap-client.c, src/imap
	/imap-commands-util.c, src/imap/imap-commands-util.h, src/imap/imap-
	commands.h, src/imap/imap-status.c, src/imap/imap-status.h,
	src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib-
	storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir-
	save.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox/dbox-
	map.c, src/lib-storage/index/dbox/dbox-settings.c, src/lib-
	storage/index/dbox/dbox-storage-rebuild.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox-
	storage.h, src/lib-storage/index/dbox/dbox-sync-rebuild.c, src/lib-
	storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/maildir/maildir-keywords.c, src
	/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox
	/mbox-lock.c, src/lib-storage/index/mbox/mbox-save.c, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox-
	storage.h, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/index/shared
	/shared-storage.c, src/lib-storage/index/shared/shared-storage.h,
	src/lib-storage/list/index-mailbox-list-sync.c, src/lib-storage/list
	/index-mailbox-list.c, src/lib-storage/list/mailbox-list-fs.c, src
	/lib-storage/list/mailbox-list-maildir.h, src/lib-storage/mail-
	namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage-settings.c, src/lib-
	storage/mail-storage-settings.h, src/lib-storage/mail-storage.c, src
	/lib-storage/mail-storage.h, src/lib-storage/mail-user.c, src/lib-
	storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src
	/lib-storage/mailbox-list.h, src/lmtp/commands.c, src/plugins/acl
	/acl-api-private.h, src/plugins/acl/acl-api.c, src/plugins/acl/acl-
	api.h, src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl
	/acl-backend-vfile.c, src/plugins/acl/acl-backend.c, src/plugins/acl
	/acl-lookup-dict.c, src/plugins/acl/acl-mailbox-list.c,
	src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-plugin.h,
	src/plugins/acl/acl-shared-storage.c, src/plugins/acl/acl-storage.c,
	src/plugins/acl/acl-storage.h, src/plugins/autocreate/autocreate-
	plugin.c, src/plugins/convert/convert-storage.c, src/plugins/expire
	/expire-plugin.c, src/plugins/expire/expire-tool.c, src/plugins/fts-
	lucene/fts-backend-lucene.c, src/plugins/fts-solr/fts-backend-
	solr.c, src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts
	/fts-storage.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins
	/imap-quota/imap-quota-plugin.c, src/plugins/lazy-expunge/lazy-
	expunge-plugin.c, src/plugins/listescape/listescape-plugin.c,
	src/plugins/mail-log/mail-log-plugin.c, src/plugins/mbox-snarf/mbox-
	snarf-plugin.c, src/plugins/quota/quota-count.c, src/plugins/quota
	/quota-dirsize.c, src/plugins/quota/quota-fs.c, src/plugins/quota
	/quota-maildir.c, src/plugins/quota/quota-private.h,
	src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c,
	src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
	config.c, src/plugins/virtual/virtual-mail.c, src/plugins/virtual
	/virtual-storage.c, src/plugins/virtual/virtual-storage.h,
	src/plugins/zlib/zlib-plugin.c, src/pop3/pop3-client.c,
	src/util/doveadm.c:
	Initial commit for making mail_storage:mailbox_list to be from 1:1
	to n:n. This will allow namespaces to share the same storage and a
	single namespace to have multiple storages (multiple mailbox
	formats). Neither works currently, and this commit probably breaks
	some things.
	[e374a365521d] <HEAD>

	* src/imap/imap-commands-util.c:
	IMAP: Error handling fix for mailbox name validity checking.
	[438491c166cb] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	virtual: Error handling fix. Don't expose hidden namespace names.
	[f8826c72f71b] <HEAD>

2009-06-01  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-service.c:
	lib-master: When master dies, stop listening for new connections.
	[33727c70e89d] <HEAD>

	* src/auth/auth-client-connection.c:
	When auth client disconnected, it didn't update master service
	count.
	[ace6f94f60bc] <HEAD>

	* src/imap/main.c:
	imap: If CAPABILITY was used before login, "Logged in" was missing
	OK prefix.
	[02679d365af7] <HEAD>

	* src/imap/imap-fetch.c:
	IMAP FETCH: Previous change broke fetching RFC822*.
	[36311318a958] <HEAD>

	* src/imap/imap-fetch.c:
	IMAP FETCH: Binary searching fetch handlers was a bit broken.
	[befc876577e4] <HEAD>

	* src/imap/main.c:
	imap: After logging in, send CAPABILITY and tagged OK in the same IP
	packet.
	[8ecbc7fefeb2] <HEAD>

	* src/lib/Makefile.am, src/lib/test-aqueue.c, src/lib/test-array.c,
	src/lib/test-base64.c, src/lib/test-bsearch-insert-pos.c, src/lib
	/test-buffer.c, src/lib/test-istream.c, src/lib/test-lib.c, src/lib
	/test-lib.h, src/lib/test-mempool-alloconly.c, src/lib/test-
	network.c, src/lib/test-primes.c, src/lib/test-priorityq.c, src/lib
	/test-seq-range-array.c, src/lib/test-str-find.c, src/lib/test-str-
	sanitize.c, src/lib/test-utc-mktime.c:
	liblib unit tests are now split to separate files.
	[810e36796e3d] <HEAD>

	* src/lib-mail/Makefile.am, src/lib-mail/message-id.c, src/lib-mail
	/test-message-id.c:
	message_id_get_next() didn't contain @ in reply when msgid wasn't in
	canonical form.
	[97f62a823666] <HEAD>

	* src/lib-mail/message-address.c, src/lib-mail/message-address.h, src
	/lib-mail/test-message-address.c:
	message_address_write() wrote extra @ if route was specified.
	[fa17414cfe77] <HEAD>

2009-05-31  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/solr-connection.c:
	fts-solr: Reset XML parser when doing update requests. We don't
	really care about what the XML contains, we'll just verify that it's
	valid input.
	[c0821048c517] <HEAD>

	* src/lib-index/mail-index.c, src/lib-storage/mailbox-list.c:
	More group permission handling fixes.
	[14ed9ca980d1] <HEAD>

	* src/lib-index/mail-cache-compress.c, src/lib-index/mail-index-
	private.h, src/lib-index/mail-index.c, src/lib-index/mail-
	transaction-log-file.c:
	index: Handle better errors where a new file's group can't be
	changed.
	[c496f137c843] <HEAD>

	* src/imap/cmd-uid.c:
	IMAP: UID commands didn't set cmd->name properly. Patch by Richard
	Platel.
	[2e373584b0b9] <HEAD>

	* src/lib-storage/index/index-storage.c, src/lib-storage/index/maildir
	/maildir-util.c, src/lib-storage/mailbox-list.c:
	storage: Create index/control root directories using same
	permissions as mail root.
	[a98645075fd5] <HEAD>

	* src/lib/mkdir-parents.c, src/lib/mkdir-parents.h:
	Added mkdir_chown().
	[4c44592de21e] <HEAD>

	* dovecot-master-example.conf:
	dovecot-master-example.conf: Added IPv6 listeners.
	[f4eca3bbd4ac] <HEAD>

	* src/lib-imap/Makefile.am, src/lib-index/Makefile.am, src/lib-
	mail/Makefile.am:
	Link test programs with .lo instead of .o. Dependencies aren't
	tracked properly with .o.
	[dca52f948452] <HEAD>

	* src/plugins/expire/expire-plugin.c:
	expire-tool: Make sure expire plugin won't get used.
	[a7cb99756199] <HEAD>

	* src/lib-master/master-service.c, src/lib-master/master-service.h:
	lib-master: Added master_service_get_name().
	[84f96a722fcc] <HEAD>

	* src/plugins/expire/expire-tool.c:
	expire-tool --test: Log timestamps also in user-readable format.
	[1da29762c407] <HEAD>

	* src/lib-storage/index/maildir/maildir-mail.c:
	Maildir: Use i_stream_stat() instead of i_stream_get_fd()+fstat().
	Fixes zlib plugin.
	[b5f9a3387b5a] <HEAD>

	* configure.in:
	configure: If all passdb/userdb/sql drivers are compiled, don't
	print an empty line for them.
	[ab69375b8422] <HEAD>

	* doc/Makefile.am:
	thread-refs.txt was missing from release tarball.
	[1cfa4804ecbe] <HEAD>

	* src/lib-storage/index/index-thread-list.c:
	Removed unused code.
	[c5153391d689] <HEAD>

2009-05-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c:
	mail_storage_service*() chdired to base_dir instead of user's home
	dir.
	[6a2660115d3d] <HEAD>

	* src/dict/dict-commands.c, src/dict/dict-commands.h, src/dict/dict-
	connection.c, src/dict/dict-connection.h:
	dict server: Forgot to add new files in previous commit.
	[fb32daa5c50a] <HEAD>

	* dovecot-master-example.conf, src/dict/Makefile.am, src/dict/dict-
	settings.c, src/dict/dict-settings.h, src/dict/main.c, src/lib-dict
	/dict-client.h:
	dict server works again.
	[aa08a4506d89] <HEAD>

2009-05-28  Timo Sirainen  <tss@iki.fi>

	* src/plugins/virtual/virtual-config.c:
	virtual: If search rule is missing, use SEARCH_ALL.
	[11b8d0210b7a] <HEAD>

	* src/lib-storage/mail-search.c:
	mail_search_args_dup(): Don't return broken results if there are no
	search args.
	[16b4e9cfa1c9] <HEAD>

	* src/imap-login/client-authenticate.c, src/imap-login/client.c, src
	/imap-login/imap-proxy.c, src/imap/main.c, src/login-common/client-
	common.h, src/login-common/login-settings.c, src/login-common/login-
	settings.h, src/login-common/sasl-server.c:
	imap-login now advertises only pre-login capabilities. If client had
	used CAPABILITY command before logging in, untagged CAPABILITY is
	sent to client in the hope that client understands this. This change
	could get reverted if it breaks too many clients.
	[5f64f935e64b] <HEAD>

2009-05-26  Timo Sirainen  <tss@iki.fi>

	* src/lib-mail/Makefile.am, src/lib-mail/test-mbox-from.c:
	Added unit test for mbox-from.
	[82bb4c6a6d64] <HEAD>

	* src/lib/ioloop-notify-dn.c, src/lib/ioloop-notify-inotify.c, src/lib
	/ioloop-notify-kqueue.c, src/lib/ioloop.c, src/lib/ioloop.h:
	Removed ioloop_timezone. It's not working nowadays.
	[b59c6c30115e] <HEAD>

	* src/lib-mail/mbox-from.c:
	mbox_from_parse(): Fixes to handling missing timezones. Also use
	timezone variable, gettimeofday()'s timezone is 0 nowadays in Linux.
	[91984e758846] <HEAD>

	* src/lib-index/test-mail-transaction-log-view.c:
	mail-transaction-log-view compiling fix.
	[149f7c22217d] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/test-index.c, src/lib-index
	/test-index.h, src/lib-index/test-mail-transaction-log-view.c, src
	/lib-index/test-transaction-log-view.c:
	mail-transaction-log-view unit testing is now also independent.
	[bde78a3c9c8b] <HEAD>

	* src/lib-master/master-service.c:
	DEBUG: lib-master no longer verifies fd leaks for programs running
	standalone.
	[674024d7bcb7] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/test-mail-transaction-log-
	append.c:
	Added unit test for mail-transaction-log-append.
	[ff9c8f94ee8d] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/mail-index-util.c, src/lib-
	index/mail-index.c:
	Moved some generic library functions to mail-index-util.c.
	[a9a532d4f00e] <HEAD>

	* src/lib-index/mail-transaction-log-append.c:
	Fixed bugs caused by recent mail-transaction-log-append refactoring.
	[50b879627fb1] <HEAD>

	* src/lib-mail/Makefile.am, src/lib-mail/test-message-header-parser.c:
	Added unit test for message-header-parser.
	[75a8a2a8103f] <HEAD>

	* src/lib-mail/message-header-parser.c, src/lib-mail/message-header-
	parser.h:
	message-header-parser: MESSAGE_HEADER_PARSER_FLAG_CLEAN_ONELINE
	should affect only full_line. Otherwise it behaves inconsistently
	between hdr->use_full_value=TRUE/FALSE.
	[d9ce4c485dee] <HEAD>

	* src/lib-mail/message-header-parser.c:
	message header parser: Don't set hdr->continues=TRUE when
	hdr->eoh=TRUE. This happened if body began with LWSP. Also if parser
	has seen eoh but not the following character, don't bother waiting
	for it.
	[7b247ab96520] <HEAD>

	* src/lib-mail/test-message-parser.c:
	test-message-parser: Improvements.
	[ca62d712d149] <HEAD>

	* src/lib-mail/test-message-parser.c:
	test-message-parser: Fixed and improvements.
	[54a56772aeb8] <HEAD>

	* src/lib-mail/message-parser.c:
	message_parser_init_from_parts(): Assert that
	MESSAGE_PARSER_FLAG_SKIP_BODY_BLOCK is set.
	[59bad3eabb93] <HEAD>

	* src/lib-mail/Makefile.am, src/lib-mail/test-istream-header-filter.c,
	src/lib-mail/test-mail.c, src/lib-mail/test-message-address.c, src
	/lib-mail/test-message-date.c, src/lib-mail/test-message-parser.c,
	src/lib-mail/test-rfc2231-parser.c:
	Split test-mail binary to test-mail-* binaries.
	[aff3abbcb8a6] <HEAD>

	* src/imap/cmd-append.c, src/imap/cmd-idle.c, src/imap/imap-client.c,
	src/imap/imap-client.h, src/imap/imap-search.c:
	imap: Cleaned up "command pending" handling code. Should fix hangs
	caused by recent changes.
	[89d2dbbfa4ca] <HEAD>

	* src/imap/imap-sync.c:
	imap: Don't cancel sync if client disconnects in the middle. Fixes
	"Message count decreased" errors.
	[df12f1bc629f] <HEAD>

	* src/auth/auth-request.c, src/auth/passdb.c:
	auth: Improved "Password not in expected scheme" error message.
	[513691dbe21c] <HEAD>

	* src/lib-storage/mail-namespace.c:
	Fixed handling non-default namespace separators.
	[0b3225f7b3a6] <HEAD>

	* src/imap/main.c, src/pop3/main.c:
	imap, pop3: Fixed assert-crash on exit.
	[315a480f9942] <HEAD>

	* src/auth/mech-external.c:
	auth: Forgot to add mech-external.c in earlier commit.
	[976a4c9ca6b6] <HEAD>

	* src/plugins/virtual/virtual-mail.c:
	virtual: Don't assert-crash if trying to access an expunged mail.
	[304238bbd36c] <HEAD>

	* src/plugins/virtual/virtual-sync.c:
	virtual: Fix to previous commit.
	[c920998cb44d] <HEAD>

	* src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-
	storage.h, src/plugins/virtual/virtual-sync.c:
	virtual: Fixed crashes when simultaneous connections accessed the
	same virtual mailbox.
	[17a2415fdab9] <HEAD>

	* src/plugins/convert/convert-storage.c:
	convert plugin: Don't crash after finishing conversion.
	[446ba4e8d37d] <HEAD>

2009-05-25  Timo Sirainen  <tss@iki.fi>

	* src/plugins/virtual/virtual-storage.c:
	virtual: Virtual mailboxes shouldn't be counted in quota.
	[24fa8a39ec0b] <HEAD>

	* src/lda/main.c, src/lib-storage/mail-namespace.c, src/lib-storage
	/mail-namespace.h, src/lmtp/client.c, src/plugins/acl/acl-lookup-
	dict.c, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-
	storage.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/quota/quota-storage.c:
	Split NAMESPACE_FLAG_INTERNAL into distinct _NOQUOTA and _NOACL
	flags.
	[e4429faabf59] <HEAD>

	* src/imap-login/client-authenticate.c:
	imap: Don't send "Waiting for auth process" if it's the client
	that's waiting on AUTHENTICATE.
	[ca2488181a2d] <HEAD>

2009-05-25  timo  <timo@timo-desktop>

	* src/lda/main.c:
	lda: If temp file can't be created because home dir doesn't exist,
	create it.
	[b1c584654a0e] <HEAD>

2009-05-25  Timo Sirainen  <tss@iki.fi>

	* src/lda/main.c:
	lda: Log to specified log file, not to stderr.
	[ad0b052aef5e] <HEAD>

	* src/lda/main.c, src/lib/istream-seekable.c, src/lib/istream-
	seekable.h:
	istream-seekable: Changed API to use a callback function to create
	the temp file.
	[8fa79cdb2ef3] <HEAD>

	* src/plugins/convert/convert-storage.c:
	convert plugin: If alt_hierarchy_char isn't specified, don't
	truncate mailbox names.
	[b7722e6ccccb] <HEAD>

	* src/plugins/convert/convert-tool.c:
	convert-tool didn't handle command line parameters correctly.
	[e76d521817d3] <HEAD>

	* src/lib-imap/imap-parser.c:
	imap-parser: Don't return early if line ends with CR but there's no
	LF.
	[704917a65a16] <HEAD>

	* src/lib-imap/Makefile.am, src/lib-imap/test-imap-parser.c:
	imap-parser unit testing started.
	[9297ae2ee45f] <HEAD>

	* src/lib-imap/Makefile.am, src/lib-imap/test-imap-match.c, src/lib-
	imap/test-imap-utf7.c, src/lib-imap/test-imap.c:
	Split test-imap binary to test-imap-match and test-imap-utf7.
	[07b601734cc8] <HEAD>

	* .hgignore:
	.hgignore: Ignore all test-* binaries.
	[26cb0925f2c4] <HEAD>

	* dovecot-example.conf:
	dovecot-example.conf: Make it clear mail_log_group_events is
	boolean.
	[1aeb7fb9d1ea] <HEAD>

	* src/auth/Makefile.am, src/auth/mech.c:
	auth: Added support for EXTERNAL SASL mechanism.
	[8e7dcb58bd89] <HEAD>

	* src/auth/mech.c:
	auth: If initial SASL reply was given but empty, pass it to auth
	mechanisms.
	[116d94937979] <HEAD>

	* src/lib-mail/message-decoder.c:
	Message-decoder: Fixes to handling binary body parts.
	[fd3c13b9837b] <HEAD>

	* src/imap/imap-client.c:
	imap: Mailbox closing command shouldn't hang on waiting a delayed
	sync to finish.
	[46277443b90c] <HEAD>

	* src/lmtp/commands.c:
	lmtp: Handle MAIL FROM and RCPT TO parameters properly.
	[2784877c567c] <HEAD>

2009-05-24  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-client.c:
	IMAP: Make sure pending syncs are done before a mailbox-changing
	command is run.
	[2b95ca15f514] <HEAD>

2009-05-23  Timo Sirainen  <tss@iki.fi>

	* dovecot-example.conf:
	dovecot-example.conf: Drop _file from ssl_cert and ssl_key.
	[e448f770039f] <HEAD>

2009-05-22  Timo Sirainen  <tss@iki.fi>

	* src/imap/imap-client.c, src/imap/imap-client.h, src/imap/main.c,
	src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h:
	imap, pop3 no longer assume that there's only a single client in
	process.
	[d6d4ec8ac06d] <HEAD>

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge plugin implements mailbox deletions now using
	mailbox_list_rename_mailbox().
	[8cf39c0b88d9] <HEAD>

	* src/imap/cmd-rename.c, src/lib-storage/index/dbox/dbox-storage.c,
	src/lib-storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
	list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src
	/lib-storage/mailbox-list.h, src/plugins/acl/acl-mailbox-list.c,
	src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log
	/mail-log-plugin.c:
	Implemented initial support for renaming mailboxes across
	namespaces.
	[c86b65e4a510] <HEAD>

	* src/lib-settings/settings-parser.c:
	settings_parse_stream*() could have stopped after reading unknown
	settings.
	[9f2403f3e345] <HEAD>

	* src/imap/cmd-fetch.c:
	FETCH: If FETCH returned [EXPUNGEISSUED], it got stuck to all
	subsequent replies too.
	[8524ed76b929] <HEAD>

	* dovecot-master-example.conf, src/lmtp/main.c:
	Fixed LMTP server to actualy work.
	[7df8fddbc7a5] <HEAD>

	* src/anvil/anvil-connection.c, src/config/config-connection.c,
	src/imap/imap-client.c, src/pop3/pop3-client.c:
	Added missing master_service_client_connection_destroyed() calls.
	[04cade277134] <HEAD>

	* src/anvil/main.c, src/auth/auth-common.h, src/auth/auth-master-
	connection.c, src/auth/auth-worker-client.c, src/auth/main.c,
	src/config/doveconf.c, src/config/main.c, src/imap-login/client.c,
	src/imap/imap-client.c, src/imap/imap-common.h, src/imap/main.c,
	src/lda/main.c, src/lib-master/master-service.c, src/lib-master
	/master-service.h, src/lmtp/client.c, src/lmtp/main.c,
	src/lmtp/main.h, src/log/common.h, src/log/log-connection.c,
	src/log/main.c, src/login-common/common.h, src/login-common/login-
	proxy.c, src/login-common/main.c, src/login-common/sasl-server.c,
	src/login-common/ssl-proxy-openssl.c, src/master/common.h,
	src/master/service-process.c, src/plugins/convert/convert-tool.c,
	src/plugins/expire/expire-tool.c, src/pop3-login/client.c,
	src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-common.h,
	src/util/doveadm.c:
	lib-master has now a global master_service variable that all
	binaries use. There should always be only one of them anyway.
	[0c587f108916] <HEAD>

	* src/lib-storage/list/mailbox-list-fs.c:
	Mailbox renaming with LAYOUT=fs wasn't renaming control dirs if they
	were used.
	[79174ec42414] <HEAD>

2009-05-21  Timo Sirainen  <tss@iki.fi>

	* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
	lazy-expunge plugin: Replaced maildir-specific expunge
	implementation with generic copy+expunge.
	[cf3f5258d47f] <HEAD>

	* src/lib-master/master-service.c, src/lib-master/master-service.h,
	src/master/main.c, src/util/doveadm.c:
	master process shouldn't log to stderr. Changed the lib-master flag
	to _DONT_LOG_TO_STDERR.
	[0dbc2dc0877c] <HEAD>

	* src/imap/imap-fetch.c:
	imap code cleanup: Use array instead of buffer for storing fetch
	handlers.
	[d6eda52bd74b] <HEAD>

	* src/imap/imap-fetch.c, src/imap/imap-fetch.h, src/imap/main.c:
	IMAP: Register FETCH handlers at startup so we don't break if
	plugins add them.
	[fe0ee823db41] <HEAD>

	* src/auth/password-scheme.c:
	auth: Handle crypt() failing.
	[f595b68616e4] <HEAD>

2009-05-20  Timo Sirainen  <tss@iki.fi>

	* src/util/idxview.c:
	idxview: Show dbox record contents in human-readable form.
	[bc13674ac55f] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c:
	dbox: Fixed giving wrong map_uid_validity to new mailboxes.
	[e902652ce4eb] <HEAD>

	* src/lib-storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox
	/dbox-save.c, src/lib-storage/index/dbox/dbox-storage-rebuild.c, src
	/lib-storage/index/dbox/dbox-storage.h:
	multi-dbox: Added save date to dbox index records so it won't be
	shared across mailboxes.
	[5ba40c164a2d] <HEAD>

	* src/imap/imap-fetch.c:
	Added FETCH X-SAVEDATE. Based on patch by Alaa Ibrahim.
	[c47c961a9727] <HEAD>

	* src/lib-master/master-service.c:
	lib-master: Log to stderr by default when starting standalone.
	[e8f4e5acd932] <HEAD>

	* src/lib-master/master-service-private.h, src/lib-master/master-
	service-settings.c, src/lib-master/master-service.c:
	lib-master: Added -O parameter to use program default settings.
	[fa195866a79a] <HEAD>

	* src/lib-lda/mail-deliver.c:
	deliver_log_format: %s should contain subject in UTF8, not in MIME-
	encoded form.
	[6b06f4561fcb] <HEAD>

	* src/lib-storage/index/maildir/maildir-sync.c:
	Maildir: Make sure messages are removed from index if they are
	deleted externally from new/. The problem happened when a message in
	new/ was indexed, deleted externally and the mailbox was again
	opened as read-only. This caused a partial sync in new/ directory,
	which didn't notice that the files were gone.
	[a4759b848d74] <HEAD>

	* src/lib-index/mail-index-map.c, src/lib-index/mail-index-private.h,
	src/lib-index/mail-index-view.c:
	Created mail_index_map_lookup_seq_range() from code in mail-index-
	view.c.
	[190669ac816c] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/mail-index-map-read.c, src
	/lib-index/mail-index-map.c:
	Moved some code from mail-index-map.c to mail-index-map-read.c
	[e55de8b34144] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/mail-index-map-hdr.c, src
	/lib-index/mail-index-map.c, src/lib-index/mail-index-private.h:
	Moved some code from mail-index-map.c to mail-index-map-hdr.c
	[768b25cabd6c] <HEAD>

	* src/auth/db-ldap.c, src/auth/passdb-ldap.c, src/auth/userdb-ldap.c:
	auth: Fixed using ldap plugin.
	[94547703da25] <HEAD>

	* configure.in, src/master/main.c:
	dovecot --build-options: If SQL or LDAP was built as plugins, say
	it.
	[ed142749ce67] <HEAD>

2009-05-19  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-search.c:
	SEARCH INTREAD: Crashfix when deinitializing.
	[91b961fb07a5] <HEAD>

	* src/imap/imap-fetch-body.c:
	If FETCH gets too little message data, use "FETCH failed"
	disconnection reason.
	[a9ffb4614b5e] <HEAD>

	* src/lib/ostream-file.c:
	o_stream_send_istream(): Make sure istream->eof gets set after
	sending everything with sendfile().
	[a5bc58832be9] <HEAD>

	* src/lib/sendfile-util.c:
	safe_sendfile(): Error handling fixes for Linux and Solaris.
	[c96abc68b115] <HEAD>

2009-05-18  Timo Sirainen  <tss@iki.fi>

	* src/login-common/ssl-proxy.c:
	Fixed compiling without OpenSSL.
	[9c6597ba9e3e] <HEAD>

	* src/lib-storage/Makefile.am, src/lib-storage/index/index-thread.c,
	src/lib-storage/mail-thread.c:
	Moved mail_thread_type_parse() to lib-storage.a to avoid some
	linking problems.
	[ca39cedd796e] <HEAD>

	* src/lib-mail/message-decoder.c, src/lib-mail/message-decoder.h, src
	/lib-mail/message-search.c, src/plugins/fts/fts-storage.c:
	message-decoder now supports optionally returning non-text bodyparts
	as-is.
	[ce612bdafc84] <HEAD>

2009-05-17  Timo Sirainen  <tss@iki.fi>

	* src/plugins/zlib/istream-zlib.c:
	zlib: Don't expose file descriptor. Others can't do anything with it
	anyway. Fixes o_stream_send_istream(zlib_istream), which was trying
	to sendfile() the compressed data.
	[4c4b95def1fa] <HEAD>

	* src/lib/env-util.c, src/lib/env-util.h:
	Added env_backup_*() for saving/restoring environment.
	[9bdd43acd083] <HEAD>

	* src/lib/env-util.c:
	env_clean(): Clear the environment memory pool also. We trust that
	nowadays our environment clearing code works everywhere.
	[6e80c8fb225e] <HEAD>

	* src/lib/env-util.c:
	env-util: Minor code cleanup.
	[92be0f90a9df] <HEAD>

	* src/lib-dict/dict-db.c:
	Berkeley DB dict: Transactions should be aborted with abort(), not
	discard().
	[1ab11ad931d0] <HEAD>

	* src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual-
	storage.c, src/plugins/virtual/virtual-storage.h:
	virtual: If we can't open a mailbox that was added using a wildcard,
	just skip it.
	[eb67ef194562] <HEAD>

	* src/plugins/quota/quota-fs.c:
	quota-fs: Improved debug logging.
	[7344f1a53f0f] <HEAD>

	* src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual-
	storage.c, src/plugins/virtual/virtual-sync.c:
	virtual: Fixed handling multiple mailboxes using the same search
	args.
	[7c4af82cb5e7] <HEAD>

	* src/lib-storage/mail-search.c, src/lib-storage/mail-search.h:
	Added mail_search_args_dup().
	[47d22004ea13] <HEAD>

	* src/plugins/virtual/virtual-sync.c:
	virtual: Handle broken index files better.
	[9c7164014a11] <HEAD>

	* src/lib-index/mail-index.c, src/lib-index/mail-index.h, src/lib-
	index/mail-transaction-log-private.h, src/lib-index/mail-
	transaction-log.h:
	Added mail_index_unlink().
	[0b3d90514e85] <HEAD>

	* src/lib-sql/sql-pool.c:
	Dropping connections from sql connection pool could have crashed.
	[4ae7728a99f0] <HEAD>

	* src/plugins/virtual/virtual-sync.c:
	virtual: Fixed several crashes.
	[78bf2b7276b0] <HEAD>

	* src/lib-storage/index/index-search-result.c, src/lib-storage/index
	/index-search-result.h, src/lib-storage/index/index-sync-private.h,
	src/lib-storage/index/index-sync-search.c, src/lib-storage/index
	/index-sync.c:
	Tracking flag updates in saved search results was broken when
	expunging messages.
	[b42ccb84887f] <HEAD>

	* src/lib-storage/index/index-thread-links.c:
	Message threading assert-crashfix.
	[789136ae7e21] <HEAD>

	* src/plugins/virtual/virtual-sync.c:
	virtual: Assert-crashfix when opening mailbox.
	[b5889a18fb25] <HEAD>

	* src/lib-storage/index/index-search.c:
	Search: Added an assert.
	[34e4af1f5009] <HEAD>

	* src/lib-storage/index/index-thread.c:
	mail_thread_init(): Don't assert-crash when checking if we can use a
	cached thread tree.
	[58c240b45d24] <HEAD>

	* src/lib-imap/Makefile.am, src/lib-index/Makefile.am, src/lib-
	mail/Makefile.am:
	And fix for last change: Use LIBICONV, not LTLIBICONV when linking.
	[84f3d92ea9e8] <HEAD>

	* src/lib-imap/Makefile.am, src/lib-index/Makefile.am, src/lib-
	mail/Makefile.am:
	test-* programs weren't linking enough libraries in all systems.
	[c90da6423ff3] <HEAD>

	* src/imap/cmd-list.c:
	LIST: Previous prefix="", list=no change broke listing other list=no
	namespaces.
	[6e0ea2caf655] <HEAD>

2009-05-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service.c, src/lib-settings/settings-parser.c, src/lib-storage/mail-
	storage-service.c, src/lib-storage/mail-storage-service.h,
	src/util/doveadm.c:
	Memory leak fixes.
	[b66054f9b8fb] <HEAD>

	* src/lib-auth/auth-master.c, src/lib-auth/auth-master.h:
	lib-auth: Added auth_master_user_list_count().
	[602adc1f2f83] <HEAD>

	* src/util/doveadm.c:
	doveadm -v: Print progress counter.
	[468273e27777] <HEAD>

	* src/util/doveadm.c:
	doveadm: Memory usage improvements.
	[3d20388cee21] <HEAD>

	* src/lib-storage/mail-user.c:
	Use a larger initial "mail user" pool.
	[0fb684847ae1] <HEAD>

	* src/util/doveadm.c:
	doveadm: When iterating through all users, stop when receiving
	SIGTERM/SIGINT.
	[6df5bdefad00] <HEAD>

	* src/auth/userdb-sql.c:
	userdb sql: Fixed crashing when listing users.
	[41fda72aa80a] <HEAD>

	* src/lib-auth/auth-master.c:
	auth master: Fixed hanging when iterating through users.
	[3d628e998192] <HEAD>

	* src/auth/auth-master-connection.c:
	userdb listing: Don't crash with multiple userdbs.
	[de33ce3795da] <HEAD>

	* dovecot-example.conf, src/lib-storage/mail-storage-settings.c:
	mail_log_prefix default setting: Don't uppercase the service name.
	[7357b0da7589] <HEAD>

	* src/util/doveadm.c:
	doveadm: Added -a parameter to perform the operation to all users.
	[5ef2a14b4527] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	mail storage multi service: Added support for iterating through all
	users.
	[0e02c867b15a] <HEAD>

	* src/lib-auth/auth-master.c, src/lib-auth/auth-master.h:
	lib-auth: Added support for iterating through all users.
	[77d6b5eb0963] <HEAD>

	* src/auth/userdb-passwd-file.c:
	userdb passwd-file: Fixes to user listing.
	[6557ed6fc4e1] <HEAD>

	* src/imap/cmd-append.c:
	APPEND: Don't assert-crash if message size parameter isn't given.
	[22369ac2c99c] <HEAD>

2009-05-14  Timo Sirainen  <tss@iki.fi>

	* src/login-common/ssl-proxy-openssl.c:
	login: Support per-connection ssl_cert/ssl_key.
	[a5973f031e7a] <HEAD>

	* src/imap-login/client.c, src/pop3-login/client.c:
	Crashfix to previous commit.
	[90312c7416c3] <HEAD>

	* src/imap-login/client-authenticate.c, src/imap-login/client-
	authenticate.h, src/imap-login/client.c, src/imap-login/imap-
	proxy.c, src/login-common/client-common.c, src/login-common/client-
	common.h, src/login-common/common.h, src/login-common/login-proxy.c,
	src/login-common/login-settings.c, src/login-common/login-
	settings.h, src/login-common/main.c, src/login-common/sasl-server.c,
	src/login-common/ssl-proxy-openssl.c, src/login-common/ssl-proxy.h,
	src/pop3-login/client-authenticate.c, src/pop3-login/client.c,
	src/pop3-login/pop3-proxy.c:
	login processes: Added initial support for per-connection
	configuration.
	[02721ba17309] <HEAD>

	* src/lib-master/master-service-private.h, src/lib-master/master-
	service-settings.c, src/lib-master/master-service.c, src/lib-master
	/master-service.h:
	lib-master: Added support for keeping config connection open and
	reusing it for later requests.
	[6bb773332683] <HEAD>

	* src/config/config-request.c, src/lib-settings/settings-parser.c, src
	/lib-settings/settings-parser.h, src/master/master-settings.c:
	Removed SET_INTERNAL, it's unnecessary.
	[11e974e40f7b] <HEAD>

	* src/lib-settings/settings-parser.c:
	settings_dup(): Copy only the settings, leave the rest of the struct
	zeroed out.
	[8e7809057f85] <HEAD>

	* src/imap/imap-client.c:
	imap: When multiple commands are pipelined, try harder to combine
	their mailbox syncing together.
	[2da7dec937d4] <HEAD>

	* src/master/service-process.c:
	master: Improved "out of memory" error message.
	[e7a3c0e6ba0f] <HEAD>

	* dovecot-master-example.conf:
	dovecot-master-example.conf updated.
	[3dae622212f4] <HEAD>

	* src/master/service-process.c:
	master: vsz_limit wasn't being enforced.
	[435298234943] <HEAD>

2009-05-13  Timo Sirainen  <tss@iki.fi>

	* dovecot-example.conf, src/login-common/login-settings.c, src/login-
	common/login-settings.h, src/login-common/ssl-proxy-openssl.c:
	Renamed ssl_cert_file to ssl_cert and ssl_key_file to ssl_key.
	Instead of pointing to files they now contain the certs directly.
	[c38f3fb4c6b6] <HEAD>

	* src/config/config-connection.c, src/config/config-parser.c,
	src/config/config-parser.h, src/config/doveconf.c,
	src/config/main.c, src/lib-settings/settings-parser.c, src/lib-
	settings/settings-parser.h:
	config: If value contains <file, the setting value is read from the
	given file.
	[39c2db5f1fcc] <HEAD>

	* doc/dovecot-ldap-example.conf, doc/dovecot-sql-example.conf,
	src/auth/auth-master-connection.c, src/auth/auth-worker-client.c,
	src/auth/auth-worker-server.c, src/auth/auth-worker-server.h,
	src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/db-passwd-file.h,
	src/auth/db-sql.c, src/auth/db-sql.h, src/auth/main.c, src/auth
	/passdb-blocking.c, src/auth/passdb-ldap.c, src/auth/passdb.c,
	src/auth/userdb-blocking.c, src/auth/userdb-blocking.h, src/auth
	/userdb-checkpassword.c, src/auth/userdb-ldap.c, src/auth/userdb-
	nss.c, src/auth/userdb-passwd-file.c, src/auth/userdb-passwd.c,
	src/auth/userdb-prefetch.c, src/auth/userdb-sql.c, src/auth/userdb-
	static.c, src/auth/userdb-vpopmail.c, src/auth/userdb.c,
	src/auth/userdb.h:
	Implemented support for listing all users in userdb.
	[1d7965092e0e] <HEAD>

	* dovecot-example.conf:
	dovecot-example.conf: Clarified that commented sections or plugin
	settings aren't defaults.
	[f5b6974cbee7] <HEAD>

2009-05-12  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/driver-pgsql.c:
	pgsql: We didn't read all the SQL packets replies from the server.
	[d467712aee77] <HEAD>

	* src/lib-dict/dict-sql.c, src/lib-sql/driver-mysql.c, src/lib-sql
	/driver-pgsql.c, src/lib-sql/driver-sqlite.c, src/lib-sql/sql-api-
	private.h, src/lib-sql/sql-api.c, src/lib-sql/sql-api.h:
	SQL API change: SQL results can be now refed/unrefed.
	[f9ebd72a73e8] <HEAD>

	* src/lib-master/master-service.c:
	DEBUG: Preserve GDB environment when executing doveconf.
	[2eecf682262a] <HEAD>

	* src/lib-master/master-service.c:
	master services: When accepting connections, set them nonblocking.
	[f389f56a68a8] <HEAD>

	* src/auth/auth-settings.c:
	Compiler warning fix.
	[269cebf1aad4] <HEAD>

	* dovecot-master-example.conf, src/auth/auth-worker-server.c:
	Fixed using auth worker processes.
	[e5f4cce3ef7a] <HEAD>

	* src/auth/db-ldap.c:
	ldap: When using the same LDAP attribute multiple times, give an
	error message.
	[b4dcdc5ccd8e] <HEAD>

	* src/auth/db-ldap.c:
	LDAP: If LDAP_OPT_ERROR_STRING gives more information, log it.
	[11b6aab8a203] <HEAD>

2009-05-11  Timo Sirainen  <tss@iki.fi>

	* src/config/Makefile.am, src/config/all-settings.h, src/config
	/config-connection.c, src/config/config-filter.c, src/config/config-
	filter.h, src/config/config-parser.c, src/config/config-parser.h,
	src/config/config-request.c, src/config/config-request.h,
	src/config/doveconf.c, src/imap/main.c, src/lda/main.c, src/lib-
	master/master-service-settings.c, src/lib-master/master-service-
	settings.h, src/lib-storage/mail-storage-service.c, src/lib-storage
	/mail-storage-service.h, src/login-common/login-settings.c,
	src/pop3/main.c:
	config handling fixes and improvements. Separated module/service
	lookups. Added support for per-lip/rip settings.
	[5d0a69504867] <HEAD>

	* src/lib-settings/settings-parser.c:
	settings_parser_dup() fixes.
	[7604073a4ccc] <HEAD>

	* src/auth/auth-settings.c:
	auth settings: Make sure we have a section name defined.
	[5e80d667a827] <HEAD>

	* src/lib-test/test-common.lo, src/lib-test/test-common.o:
	test-common.l?o shouldn't have been added to hg.
	[36bdeba8f39a] <HEAD>

	* src/lib/data-stack.c:
	DEBUG: data-stack buffer overflow checking code was causing false
	positives.
	[8fc3639ef601] <HEAD>

2009-05-09  Timo Sirainen  <tss@iki.fi>

	* .hgignore, configure.in, src/Makefile.am, src/lib-imap/Makefile.am,
	src/lib-imap/test-imap.c, src/lib-index/Makefile.am, src/lib-index
	/mail-index-transaction-export.c, src/lib-index/mail-index-
	transaction.c, src/lib-index/mail-transaction-log-append.c, src/lib-
	index/mail-transaction-log.h, src/lib-index/test-index.c, src/lib-
	index/test-index.h, src/lib-index/test-transaction-log-view.c, src
	/lib-mail/Makefile.am, src/lib-mail/test-mail.c, src/lib-
	test/Makefile.am, src/lib-test/test-common.c, src/lib-test/test-
	common.h, src/lib-test/test-common.lo, src/lib-test/test-common.o,
	src/lib/Makefile.am, src/lib/test-istream.c, src/lib/test-lib.c,
	src/lib/test-lib.h, src/tests/Makefile.am, src/tests/test-common.c,
	src/tests/test-common.h, src/tests/test-imap.c, src/tests/test-
	istream.c, src/tests/test-lib.c, src/tests/test-lib.h, src/tests
	/test-mail.c:
	Tests are now run on "make check". Added initial tests for lib-
	index. Moved old tests away from tests/ to libraries' individual
	directories.
	[665ea7a8d26e] <HEAD>

	* src/config/Makefile.am:
	config: Added missing header to Makefile.am
	[2090983d37fa] <HEAD>

	* src/lmtp/Makefile.am:
	lmtp: Added main.h to Makefile.am.
	[8e0ff6b00221] <HEAD>

	* src/Makefile.am:
	Makefile.am: anvil was missing from SUBDIRS
	[7919f307a5cd] <HEAD>

	* src/lib-index/mail-index-transaction-export.c, src/lib-index/mail-
	transaction-log-append.c, src/lib-index/mail-transaction-log.h:
	More cleanups to transaction log writing code.
	[0e407ad46307] <HEAD>

	* src/imap/cmd-list.c, src/lib-storage/mail-namespace.c:
	Allow prefix="" namespace to have list=no and make it work in a
	somewhat useful way. Based on patch by Mark Washenberger.
	[e144fa1dd2ce] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/mail-index-transaction-
	export.c, src/lib-index/mail-index-transaction-finish.c, src/lib-
	index/mail-index-transaction-private.h, src/lib-index/mail-index-
	transaction-sort-appends.c, src/lib-index/mail-index-transaction.c,
	src/lib-index/mail-transaction-log-append.c, src/lib-index/mail-
	transaction-log.h:
	Moved transaction commiting code to mail-index-transaction-*.c
	[937dca181d77] <HEAD>

	* src/lib-index/Makefile.am, src/lib-index/mail-transaction-log-view-
	private.h, src/lib-index/mail-transaction-log-view.c:
	Transaction log view code cleanups.
	[08cf5c1814ef] <HEAD>

	* src/lib-index/mail-transaction-log-view.c, src/lib-index/mail-
	transaction-log.h:
	mail_transaction_log_view_clear() should keep oldest_file_seq and
	newer referenced.
	[4d6f33fa08ee] <HEAD>

	* src/lib-index/mail-transaction-log-view.c:
	Removed assert.
	[5e1a4020a277] <HEAD>

2009-05-07  Timo Sirainen  <tss@iki.fi>

	* src/lib-sql/driver-pgsql.c:
	pgsql: We hadn't called PQsetnonblocking().
	[0f03cd2679c6] <HEAD>

2009-05-06  Timo Sirainen  <tss@iki.fi>

	* src/config/config-parser.c:
	config: Code cleanup.
	[cbade54216a6] <HEAD>

	* configure.in:
	configure: Show also list of disabled passdbs/userdbs/sql drivers.
	[df8b1ae676fe] <HEAD>

	* configure.in:
	configure: Version number is nowadays 2.0, not 1.3.
	[e661cd70e425] <HEAD>

	* src/auth/auth-settings.c, src/lib-master/master-service-settings.c,
	src/lib-master/master-service-settings.h, src/lib-storage/mail-
	storage-service.c, src/log/main.c, src/login-common/login-
	settings.c, src/master/main.c:
	mail processes now specify user/lip/rip in config requests.
	[4bf901b4c402] <HEAD>

	* src/master/main.c:
	master: Added dovecot stop and dovecot reload parameters.
	[64a7a1a3fe33] <HEAD>

	* src/lib-master/master-service-settings.c:
	Fixed running <path>/<binary> when building absolute path for
	doveconf -e.
	[031bfa5a8995] <HEAD>

	* src/master/main.c:
	dovecot: Fixed --parameters.
	[0b74ad9372d9] <HEAD>

	* src/master/master-settings.c, src/master/master-settings.h,
	src/master/service-process.c:
	master: If mail_debug=yes, set DEBUG=1 environment to auth-
	destination processes.
	[3e5c6e2367db] <HEAD>

	* src/lib-master/master-service-private.h, src/lib-master/master-
	service-settings.c, src/lib-master/master-service.c, src/lib-
	settings/settings-parser.c, src/lib-settings/settings-parser.h:
	Binaries now take -o key=value parameters to override settings.
	[1cb45d4389d4] <HEAD>

	* src/config/config-request.c, src/lib-master/master-service-
	settings.h:
	config: Give master service settings to all requests.
	[c57038025171] <HEAD>

	* src/config/Makefile.am, src/config/doveconf.c, src/config/sysinfo-
	get.c, src/config/sysinfo-get.h:
	doveconf -n, -a: Show version number, config file path and system
	info.
	[30d771700232] <HEAD>

	* src/master/main.c:
	dovecot: Forward dovecot -a, -n to doveconf.
	[955e68007ada] <HEAD>

2009-05-05  Timo Sirainen  <tss@iki.fi>

	* .hgignore, TODO, configure.in, dovecot-master-example.conf,
	src/anvil/Makefile.am, src/anvil/anvil-connection.c, src/anvil
	/anvil-connection.h, src/anvil/common.h, src/anvil/connect-limit.c,
	src/anvil/connect-limit.h, src/anvil/main.c, src/imap-
	login/client.c, src/imap/imap-client.c, src/imap/imap-client.h, src
	/lib-master/master-interface.h, src/lib-master/master-service-
	settings.c, src/lib-master/master-service.c, src/lib-master/master-
	service.h, src/lib-storage/mail-user.c, src/lib-storage/mail-user.h,
	src/login-common/common.h, src/login-common/login-settings.c, src
	/login-common/login-settings.h, src/login-common/main.c, src/login-
	common/sasl-server.c, src/master/Makefile.am, src/master/master-
	settings.c, src/master/service-anvil.c, src/master/service-anvil.h,
	src/master/service-auth-server.c, src/master/service-log.c,
	src/master/service-log.h, src/master/service-monitor.c, src/master
	/service-process-notify.c, src/master/service-process-notify.h,
	src/master/service-process.c, src/master/service-process.h,
	src/master/service.c, src/master/service.h, src/pop3-login/client.c,
	src/pop3/pop3-client.c, src/pop3/pop3-client.h:
	Implemented anvil service, which is used to implement
	mail_max_userip_connections.
	[2e2b957f1cca] <HEAD>

	* src/login-common/login-settings.c, src/login-common/login-
	settings.h:
	Removed login_dir setting. It's really not useful.
	[783a81c3deb7] <HEAD>

	* src/config/config-connection.c, src/config/config-connection.h:
	config: Removed unnecessary code.
	[770a02e0dbd2] <HEAD>

	* src/auth/auth-stream.c, src/lib/strescape.c, src/lib/strescape.h:
	Added str_tabescape*() to write escaped strings to Dovecot's IPC
	protocols.
	[2dcf2f313329] <HEAD>

	* src/master/service.c:
	SERVICE_TYPE_AUTH_SOURCE wasn't used.
	[8f770c8ad198] <HEAD>

	* src/master/main.c, src/master/master-settings.c:
	Verify that service type string is known. Removed auth-destination
	type.
	[d83bfe8c38c2] <HEAD>

	* src/config/config-parser.c, src/config/config-parser.h,
	src/config/doveconf.c, src/config/main.c:
	doveconf/config cleanups.
	[e5303fd61b5c] <HEAD>

	* dovecot-master-example.conf:
	dovecot-master-example.conf updated.
	[e91bca10d5a1] <HEAD>

	* src/config/Makefile.am, src/config/config-connection.c, src/config
	/config-connection.h, src/config/config-request.h,
	src/config/doveconf.c, src/config/main.c:
	Split doveconf and libexec/dovecot/config binaries.
	[f155917f1615] <HEAD>

	* src/master/common.h, src/master/main.c, src/master/master-
	settings.c, src/master/master-settings.h, src/master/service-
	process.c, src/master/service.c:
	master: Added back some startup checks/fixes.
	[0ca7ed260f1e] <HEAD>

	* src/auth/main.c:
	auth: Minor code cleanup.
	[b510683ab83c] <HEAD>

	* src/lib/failures.c, src/lib/failures.h:
	Added i_get_failure_handlers().
	[da94fa5953ec] <HEAD>

	* src/master/main.c:
	master: Check PID file existence at startup before doing anything.
	[b1c6b740a4a1] <HEAD>

	* src/master/service.c:
	services: If group isn't explicitly set, use user's primary group.
	[9e02485f6e3d] <HEAD>

	* src/pop3/main.c:
	pop3: Don't verify fd leaks here.
	[f41ce5378722] <HEAD>

2009-05-05  Mark Washenberger  <Mark Washenberger>

	* src/auth/Makefile.am, src/imap/Makefile.am, src/lib-
	auth/Makefile.am, src/lib-charset/Makefile.am, src/lib-
	dict/Makefile.am, src/lib-imap/Makefile.am, src/lib-
	index/Makefile.am, src/lib-lda/Makefile.am, src/lib-
	mail/Makefile.am, src/lib-settings/Makefile.am, src/lib-
	sql/Makefile.am, src/lib-storage/Makefile.am, src/lib-
	storage/index/Makefile.am, src/lib-storage/index/cydir/Makefile.am,
	src/lib-storage/index/dbox/Makefile.am, src/lib-
	storage/index/maildir/Makefile.am, src/lib-
	storage/index/mbox/Makefile.am, src/lib-
	storage/index/raw/Makefile.am, src/lib-
	storage/index/shared/Makefile.am, src/lib-storage/list/Makefile.am,
	src/lib/Makefile.am, src/pop3/Makefile.am:
	Flattened header namespace on install.
	[3cac418eeab5] <HEAD>

	* src/auth/Makefile.am, src/auth/auth-cache.c, src/auth/auth-client-
	connection.c, src/auth/auth-common.h, src/auth/auth-master-
	connection.c, src/auth/auth-request-handler.c, src/auth/auth-
	request.c, src/auth/auth-stream.c, src/auth/auth-worker-client.c,
	src/auth/auth-worker-server.c, src/auth/auth.c, src/auth/common.h,
	src/auth/db-checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd-
	file.c, src/auth/db-sql.c, src/auth/main.c, src/auth/mech-
	anonymous.c, src/auth/mech-apop.c, src/auth/mech-cram-md5.c,
	src/auth/mech-digest-md5.c, src/auth/mech-gssapi.c, src/auth/mech-
	login.c, src/auth/mech-ntlm.c, src/auth/mech-otp-skey-common.c,
	src/auth/mech-otp-skey-common.h, src/auth/mech-otp.c, src/auth/mech-
	plain-common.c, src/auth/mech-plain-common.h, src/auth/mech-plain.c,
	src/auth/mech-rpa.c, src/auth/mech-skey.c, src/auth/mech-winbind.c,
	src/auth/mech.c, src/auth/otp-skey-common.c, src/auth/otp-skey-
	common.h, src/auth/passdb-blocking.c, src/auth/passdb-bsdauth.c,
	src/auth/passdb-cache.c, src/auth/passdb-checkpassword.c, src/auth
	/passdb-ldap.c, src/auth/passdb-pam.c, src/auth/passdb-passwd-
	file.c, src/auth/passdb-passwd.c, src/auth/passdb-shadow.c, src/auth
	/passdb-sia.c, src/auth/passdb-sql.c, src/auth/passdb-vpopmail.c,
	src/auth/passdb.c, src/auth/plain-common.c, src/auth/plain-common.h,
	src/auth/userdb-blocking.c, src/auth/userdb-checkpassword.c,
	src/auth/userdb-ldap.c, src/auth/userdb-nss.c, src/auth/userdb-
	passwd-file.c, src/auth/userdb-passwd.c, src/auth/userdb-prefetch.c,
	src/auth/userdb-sql.c, src/auth/userdb-static.c, src/auth/userdb-
	vpopmail.c, src/auth/userdb.c, src/imap/Makefile.am,
	src/imap/client.c, src/imap/client.h, src/imap/cmd-append.c,
	src/imap/cmd-cancelupdate.c, src/imap/cmd-capability.c, src/imap
	/cmd-check.c, src/imap/cmd-close.c, src/imap/cmd-copy.c, src/imap
	/cmd-create.c, src/imap/cmd-delete.c, src/imap/cmd-enable.c,
	src/imap/cmd-examine.c, src/imap/cmd-expunge.c, src/imap/cmd-
	fetch.c, src/imap/cmd-id.c, src/imap/cmd-idle.c, src/imap/cmd-
	list.c, src/imap/cmd-logout.c, src/imap/cmd-lsub.c, src/imap/cmd-
	namespace.c, src/imap/cmd-noop.c, src/imap/cmd-rename.c, src/imap
	/cmd-search.c, src/imap/cmd-select.c, src/imap/cmd-sort.c, src/imap
	/cmd-status.c, src/imap/cmd-store.c, src/imap/cmd-subscribe.c,
	src/imap/cmd-thread.c, src/imap/cmd-uid.c, src/imap/cmd-unselect.c,
	src/imap/cmd-unsubscribe.c, src/imap/cmd-x-cancel.c, src/imap
	/commands-util.c, src/imap/commands-util.h, src/imap/commands.c,
	src/imap/commands.h, src/imap/common.h, src/imap/imap-client.c,
	src/imap/imap-client.h, src/imap/imap-commands-util.c, src/imap
	/imap-commands-util.h, src/imap/imap-commands.c, src/imap/imap-
	commands.h, src/imap/imap-common.h, src/imap/imap-expunge.c,
	src/imap/imap-fetch-body.c, src/imap/imap-fetch.c, src/imap/imap-
	search-args.c, src/imap/imap-search.c, src/imap/imap-status.c,
	src/imap/imap-sync.c, src/imap/mail-storage-callbacks.c,
	src/imap/main.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins
	/imap-quota/imap-quota-plugin.c, src/pop3-login/client-
	authenticate.c, src/pop3/Makefile.am, src/pop3/capability.h,
	src/pop3/client.c, src/pop3/client.h, src/pop3/commands.c,
	src/pop3/commands.h, src/pop3/common.h, src/pop3/main.c,
	src/pop3/pop3-capability.h, src/pop3/pop3-client.c,
	src/pop3/pop3-client.h, src/pop3/pop3-commands.c,
	src/pop3/pop3-commands.h, src/pop3/pop3-common.h:
	Renamed headers to prevent collision if they were flattened on an
	install.
	[97cdfeb57129] <HEAD>

2009-05-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-master/master-service-private.h, src/lib-master/master-
	service.c, src/lib-master/master-service.h, src/login-common/main.c,
	src/master/master-settings.c, src/master/master-settings.h,
	src/master/service-process.c:
	inet_listeners now support ssl=yes. For now only login processes
	support it.
	[4a42f694b762] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	Fixed SSL parameter file reading in login processes.
	[5595d6d07a47] <HEAD>

	* dovecot-master-example.conf:
	Added names to services.
	[8d4b7abdcf3a] <HEAD>

	* src/lib/failures.c, src/lib/failures.h, src/master/service-
	process.c:
	Removed LOG_TYPE_ERROR_IGNORE_IF_SEEN_FATAL. It's no longer
	necessary.
	[b57e1c3ea3f7] <HEAD>

	* src/lib-master/master-interface.h, src/lib-master/master-service.c,
	src/log/log-connection.c, src/log/log-connection.h, src/log/main.c,
	src/master/service-log.c, src/master/service-log.h, src/master
	/service-process.c, src/master/service-process.h,
	src/master/service.c, src/master/service.h:
	master: Fixes to handling logging. Master now has a non-blocking
	write pipe to log process, so it no longer blocks if log process is
	hanging. Also it's cleaner to send log commands via a pipe
	specifically meant for them.
	[7def7fa61d68] <HEAD>

	* src/master/master-settings.c, src/master/master-settings.h,
	src/master/service-auth-server.c, src/master/service-auth-source.c,
	src/master/service-listen.c, src/master/service-log.c, src/master
	/service-monitor.c, src/master/service-process.c,
	src/master/service.c, src/master/service.h:
	Require each service to have a unique name. Log service errors using
	service_error().
	[7b3accdf44f8] <HEAD>

	* src/master/main.c:
	Minor error message fix.
	[7b110aa9fac5] <HEAD>

	* src/master/master-settings.c:
	service settings: Base relative chroots under base_dir.
	[66bb019c664c] <HEAD>

	* src/dict/dict-settings.c, src/lib-master/master-service-settings.c:
	settings_parser_check() return value was checked wrong.
	[189a92535cc7] <HEAD>

	* src/lib-storage/index/dbox/dbox-sync-rebuild.c:
	dbox: Compiling fix for previous maildir changes.
	[419b35be0823] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/maildir/maildir-sync-index.c, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-uidlist.h:
	Maildir: More fixes to uidlist handling.
	[236509dddd3c] <HEAD>

	* src/lib-storage/index/dbox/dbox-file-maildir.c, src/lib-
	storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir
	/maildir-mail.c, src/lib-storage/index/maildir/maildir-sync.c, src
	/lib-storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/maildir/maildir-uidlist.h, src/lib-
	storage/index/maildir/maildir-util.c:
	Maildir: Handle uidlist errors better.
	[d04b97ed7ac4] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	Maildir saving: Fixed race condition bugs in uidlist handling,
	causing files to be given new UIDs sometimes.
	[9b6ca1680cd2] <HEAD>

	* src/lib-mail/rfc2231-parser.c:
	Try to skip over errors in Content-Type parameters.
	[1cdee5c559ca] <HEAD>

2009-05-03  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/lib/randgen.c:
	If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
	[1849c4269ad8] <HEAD>

	* src/lib/primes.c:
	Compiler warning fix.
	[a035febf39d4] <HEAD>

2009-05-02  Timo Sirainen  <tss@iki.fi>

	* src/imap/cmd-idle.c:
	IDLE: Check DONE case-insensitively.
	[4067b6e7f515] <HEAD>

	* src/plugins/virtual/virtual-config.c:
	virtual: Open the dovecot-virtual as readonly, we don't need to
	write to it.
	[10f2650ce56b] <HEAD>

2009-05-01  Timo Sirainen  <tss@iki.fi>

	* doc/Makefile.am, doc/dovecot-initd.sh:
	Added example init.d/dovecot script.
	[493de7a6d411] <HEAD>

	* src/lib-storage/index/shared/shared-storage.c:
	shared mailboxes: Don't crash if trying to open "shared/domain"
	namespace prefix as mailbox.
	[45ab7d730968] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	virtual: Don't show mailboxes as \Noselect.
	[f5eb54133c9d] <HEAD>

	* src/plugins/mbox-snarf/mbox-snarf-plugin.c:
	mbox-snarf plugin: Fixed memory/io leaking.
	[2e7503221cb7] <HEAD>

	* src/lib-mail/istream-header-filter.c, src/lib-storage/index/istream-
	mail-stats.c, src/lib/istream-internal.h, src/lib/istream-limit.c,
	src/lib/istream.c:
	istreams: Fixed some parent stream seeking issues.
	[ef0c861608d9] <HEAD>

	* src/lib-storage/index/mbox/mbox-sync.c:
	mbox: Don't crash when expunging all messages and file doesn't end
	with [CR]LF.
	[01c0d64e5f91] <HEAD>

	* src/lib-storage/index/mbox/istream-raw-mbox.c:
	mbox: Fix to handling CRs before From_ lines.
	[44bd81c9d11a] <HEAD>

	* src/plugins/virtual/virtual-config.c:
	virtual: Allow search rules to begin with TAB instead of space.
	[39f66363ec56] <HEAD>

	* src/lib/file-dotlock.c:
	dotlocking: Don't generate "Will override dotlock in 0 secs"
	messages.
	[4f12a7c7f140] <HEAD>

	* src/lib/safe-mkstemp.c:
	safe_mkstemp()'s mode parameter didn't override umask as it was
	supposed to.
	[92d0383cc323] <HEAD>

2009-04-30  Timo Sirainen  <tss@iki.fi>

	* src/lib-dict/dict-file.c:
	dict-file: When replacing the dict file, preserve its permissions.
	[cc280979ea8d] <HEAD>

	* src/lib-storage/mailbox-list.c:
	When :MAILBOXDIR= was empty, we might have appended extra '/' to it,
	which caused problems.
	[c0c4e6e75366] <HEAD>

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: When skipping subscriptions file, use the configured filename
	instead of hardcoded one.
	[430eabd745a1] <HEAD>

	* src/lib-master/master-service-settings.c, src/master/service-
	process.c:
	Fixed passing settings from userdb to mail processes.
	[f86e83fa9dd4] <HEAD>

	* src/lib-storage/index/maildir/maildir-sync.c:
	maildir: Don't assert-crash if we have no read-access to the
	Maildir.
	[dcad675890c1] <HEAD>

	* src/auth/Makefile.am, src/auth/auth-client-interface.h, src/lib-
	auth/Makefile.am, src/lib-auth/auth-client-interface.h, src/lib-auth
	/auth-client.h:
	Moved auth-client-interface.h to lib-auth/.
	[637b627efbf1] <HEAD>

	* src/master/master-settings.c:
	master: Removed unused code.
	[afdeb38c338f] <HEAD>

	* src/master/service-process.c:
	Don't allow auth source/destination services to run as root.
	[bfe448b4951f] <HEAD>

	* src/master/service-log.c, src/master/service-process.c, src/master
	/service-process.h:
	master: Fixed logging process related bugs.
	[2f293c844e31] <HEAD>

	* src/config/config-connection.c:
	config: service names had an extra "service=".
	[150a98d2407c] <HEAD>

	* src/lib-dict/dict-file.c:
	dict-file: If file_dotlock_open() fails, log also the path.
	[ea0b68301004] <HEAD>

	* src/config/Makefile.am, src/config/common.h, src/config/config-
	connection.c, src/config/config-connection.h, src/config/config-
	parser.c, src/config/config-parser.h, src/config/config-request.c,
	src/config/config-request.h, src/config/main.c, src/config/settings-
	get.pl, src/imap/imap-settings.c, src/lib-lda/lda-settings.c, src
	/lib-settings/settings-parser.h, src/pop3/pop3-settings.c:
	doveconf: With -p only protocol-specific settings are returned. -n
	and -a return human-readable output.
	[f8460b27db00] <HEAD>

	* src/lib/array-decl.h:
	Defined ARRAY_TYPE(uint).
	[13bbdd7b15b8] <HEAD>

	* src/config/settings-get.pl, src/lib-storage/mail-storage-settings.c,
	src/pop3/client.c, src/pop3/client.h, src/pop3/commands.c,
	src/pop3/main.c, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h:
	Moved pop3_uidl_format checking to mail-storage-settings.
	[e4cc93190ec3] <HEAD>

2009-04-29  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c:
	mail-storage-service: Callmaster_service_init_finish().
	[cf026a9180f1] <HEAD>

	* src/lib-master/master-service-settings.c:
	master: Don't fail startup if the full path to dovecot wasn't in
	argv[0].
	[9ef2d07f786d] <HEAD>

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox
	/dbox-mail.c, src/lib-storage/index/index-search.c, src/lib-
	storage/index/maildir/maildir-mail.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/mail-storage-private.h:
	Split struct mail_private.stats_dentry_lookup_count to open/stat
	counts.
	[1ad6926f46a2] <HEAD>

	* src/util/rawlog.c:
	rawlog: If mail_debug=yes, log if dovecot.rawlog/ directory doesn't
	exist.
	[396cd2e86103] <HEAD>

	* src/lib-storage/mail-storage.c:
	Shared mailboxes: Fixed a bug where some mailboxes were added to
	root shared namespace.
	[fa8f044040e1] <HEAD>

	* src/lib-storage/index/maildir/maildir-uidlist.c:
	maildir: Don't show "* OK" messages about lock waits too early.
	[c9ca36745670] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	Virtual: If opening a virtual mailbox fails, don't leak
	memory/timeouts.
	[c26e1b2f32c0] <HEAD>

	* src/plugins/virtual/virtual-config.c:
	virtual: If last search rule was invalid, we gave "Unknown error".
	[13698b875984] <HEAD>

	* dovecot-example.conf:
	dovecot-example.conf: Improved rawlog example.
	[6f4a4db41c44] <HEAD>

	* src/auth/db-ldap.c:
	ldap: If first request is over 60 seconds old while a new request
	comes, reconnect.
	[97984b1fd5f8] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	ssl-proxy: Crashfix to previous commit.
	[39565c3eb1b3] <HEAD>

2009-04-28  Timo Sirainen  <tss@iki.fi>

	* src/imap-login/client-authenticate.c, src/imap-login/client.h, src
	/imap-login/imap-proxy.c, src/imap-login/imap-proxy.h, src/login-
	common/login-proxy.c, src/login-common/login-proxy.h, src/login-
	common/ssl-proxy-openssl.c, src/login-common/ssl-proxy.c, src/login-
	common/ssl-proxy.h, src/pop3-login/client-authenticate.c,
	src/pop3-login/client.h, src/pop3-login/pop3-proxy.c,
	src/pop3-login/pop3-proxy.h:
	imap/pop3 proxy: Support SSL/TLS connections to remote servers.
	passdb can return ssl=yes, ssl=any-cert and starttls options.
	[96678e83eab6] <HEAD>

	* src/lib-storage/index/index-search.c:
	Use the new mail_private.stats_* fields to stop non-blocking
	searches after about 250 ms.
	[9b8bf57405c8] <HEAD>

	* src/lib-storage/index/Makefile.am, src/lib-storage/index/cydir
	/cydir-mail.c, src/lib-storage/index/dbox/dbox-file.h, src/lib-
	storage/index/dbox/dbox-mail.c, src/lib-storage/index/index-mail-
	headers.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-mail.h, src/lib-storage/index/istream-mail-stats.c, src/lib-
	storage/index/istream-mail-stats.h, src/lib-storage/index/maildir
	/maildir-mail.c, src/lib-storage/index/raw/raw-mail.c, src/lib-
	storage/mail-storage-private.h:
	struct mail_private now contains all kinds of statistics about file
	accesses.
	[be7413b0e0e0] <HEAD>

	* src/lib-storage/index/index-search.c:
	Search: Perform all lookups from cache before attempting any
	uncached lookups.
	[3727bfc568b9] <HEAD>

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox
	/dbox-mail.c, src/lib-storage/index/maildir/maildir-mail.c, src/lib-
	storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw-
	mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage
	/mail-storage.h, src/lib-storage/mail.c:
	Added struct mail.lookup_abort, which can be used to abort lookups
	that can't be done using cache.
	[03a5f5cf6b4c] <HEAD>

2009-04-23  Timo Sirainen  <tss@iki.fi>

	* dovecot-example.conf, dovecot-master-example.conf:
	Added example dovecot-master.conf.
	[1cd9808147e3] <HEAD>

	* .hgignore, TODO, configure.in, src/Makefile.am,
	src/auth/Makefile.am, src/auth/auth-client-connection.c, src/auth
	/auth-client-connection.h, src/auth/auth-master-connection.c,
	src/auth/auth-master-connection.h, src/auth/auth-master-interface.h,
	src/auth/auth-master-listener.c, src/auth/auth-master-listener.h,
	src/auth/auth-settings.c, src/auth/auth-settings.h, src/auth/auth-
	worker-client.c, src/auth/common.h, src/auth/db-ldap.c,
	src/auth/main.c, src/config/Makefile.am, src/config/common.h,
	src/config/config-connection.c, src/config/config-connection.h,
	src/config/main.c, src/config/settings-get.pl, src/imap-
	login/Makefile.am, src/imap-login/client.c, src/imap-login/client.h,
	src/imap-login/imap-proxy.c, src/imap/main.c, src/lda/main.c, src
	/lib-master/Makefile.am, src/lib-master/master-auth.c, src/lib-
	master/master-auth.h, src/lib-master/master-interface.h, src/lib-
	master/master-service-private.h, src/lib-master/master-service-
	settings.c, src/lib-master/master-service.c, src/lib-master/master-
	service.h, src/lib-settings/settings-parser.c, src/lib-settings
	/settings-parser.h, src/lib-storage/mail-storage-service.c, src/lib-
	storage/mail-storage-settings.c, src/lib-storage/mail-storage-
	settings.h, src/lib/failures.c, src/lib/failures.h, src/lib
	/restrict-access.c, src/lib/restrict-access.h, src/lmtp/client.c,
	src/lmtp/main.c, src/log/Makefile.am, src/log/common.h, src/log/log-
	connection.c, src/log/log-connection.h, src/log/main.c, src/login-
	common/Makefile.am, src/login-common/client-common.h, src/login-
	common/common.h, src/login-common/login-proxy.c, src/login-common
	/login-proxy.h, src/login-common/login-settings.c, src/login-common
	/login-settings.h, src/login-common/main.c, src/login-
	common/master.c, src/login-common/master.h, src/login-common/sasl-
	server.c, src/login-common/sasl-server.h, src/login-common/ssl-
	proxy-openssl.c, src/login-common/ssl-proxy.c, src/login-common/ssl-
	proxy.h, src/master/Makefile.am, src/master/auth-process.c,
	src/master/auth-process.h, src/master/child-process.c, src/master
	/child-process.h, src/master/common.h, src/master/dict-process.c,
	src/master/dict-process.h, src/master/listener.c,
	src/master/listener.h, src/master/log.c, src/master/log.h,
	src/master/login-process.c, src/master/login-process.h, src/master
	/mail-process.c, src/master/mail-process.h, src/master/main.c,
	src/master/master-login-interface.h, src/master/master-settings.c,
	src/master/master-settings.h, src/master/service-auth-server.c,
	src/master/service-auth-server.h, src/master/service-auth-source.c,
	src/master/service-auth-source.h, src/master/service-listen.c,
	src/master/service-listen.h, src/master/service-log.c, src/master
	/service-log.h, src/master/service-monitor.c, src/master/service-
	monitor.h, src/master/service-process.c, src/master/service-
	process.h, src/master/service.c, src/master/service.h, src/master
	/sysinfo-get.c, src/master/sysinfo-get.h, src/plugins/convert
	/convert-tool.c, src/pop3-login/Makefile.am,
	src/pop3-login/client.c, src/pop3-login/client.h,
	src/pop3-login/pop3-proxy.c, src/pop3/main.c:
	Initial commit for v2.0 master rewrite. Several features are still
	missing.
	[6324a79d3ee1] <HEAD>

	* configure.in:
	configure: Removed --with-* parameters for passdbs/userdbs that
	don't require external libraries. There's really no point in
	disabling them in configure stage.
	[69aa6e878a59] <HEAD>

	* configure.in:
	configure: Removed --disable-ipv6 parameter. There's really no point
	having it. Originally it was added back when some OSes had broken
	IPv6 support, but those OSes should be long gone by now. Also we
	still support automatically building without IPv6 support if it's
	not detected.
	[ee378a4ba6cd] <HEAD>

	* src/lib-mail/message-header-parser.c:
	Message header parser didn't skip all LWSP at the beginning of
	headers, only one. Patch by Johann Klasek.
	[cd85782b64f9] <HEAD>

2009-04-22  Timo Sirainen  <tss@iki.fi>

	* src/imap-login/client.c, src/imap-login/client.h, src/imap-login
	/imap-proxy.c:
	imap-proxy: Send backend's CAPABILITY if it's different from what
	was sent to client before.
	[3dae5834ded3] <HEAD>

	* src/imap-login/client.c, src/master/login-process.c:
	imap-login: Generated IMAP capability wasn't being used.
	[213c2f313bc1] <HEAD>

	* src/auth/main.c, src/master/master-settings.c:
	Don't crash if auth settings don't contain any sockets.
	[f8508e7aca6c] <HEAD>

	* src/imap-login/imap-proxy.c:
	imap-proxy: Don't break ID capability check if it's the last
	capability.
	[fa66e66850fa] <HEAD>

2009-04-21  Timo Sirainen  <tss@iki.fi>

	* src/lib-settings/settings.c:
	Settings parser: !included files without absolute paths are relative
	to their parent config file.
	[cab82d03d00d] <HEAD>

	* src/config/config-parser.c:
	Settings parser: !included files without absolute paths are relative
	to their parent config file.
	[92825cc9a59c] <HEAD>

2009-04-20  Timo Sirainen  <tss@iki.fi>

	* src/dict/Makefile.am, src/dict/dict-server.c, src/dict/dict-
	settings.c, src/dict/dict-settings.h, src/dict/main.c, src/master
	/dict-process.c, src/master/master-settings.c, src/master/master-
	settings.h:
	Moved most of the dict settings handling to dict binary.
	[6d374fc3ae1d] <HEAD>

	* src/lib/failures.c:
	Removed accidentally committed debug warning.
	[e3f61d434616] <HEAD>

	* src/imap/main.c, src/lda/main.c, src/lib-storage/mail-storage-
	service.c, src/lib-storage/mail-storage-service.h, src/lib-storage
	/mail-storage-settings.c, src/lib-storage/mail-storage-settings.h,
	src/lib-storage/mail-user.c, src/lib/failures.c,
	src/lmtp/commands.c, src/plugins/convert/convert-tool.c,
	src/plugins/expire/expire-tool.c, src/pop3/main.c,
	src/util/doveadm.c:
	Pass remote/local IPs to mail_users. Standalone mail programs now
	log with mail_log_prefix.
	[bf448752f6c4] <HEAD>

	* src/auth/Makefile.am, src/config/Makefile.am, src/dict/Makefile.am,
	src/imap-login/Makefile.am, src/master/Makefile.am,
	src/pop3-login/Makefile.am, src/tests/Makefile.am,
	src/util/Makefile.am:
	Some binaries were missing list of library dependencies.
	[1e26166a3cf8] <HEAD>

	* src/plugins/virtual/virtual-sync.c:
	virtual: Reversed the broken "fix" in previous commit.
	[fb8b7ebf0baf] <HEAD>

	* src/plugins/virtual/virtual-sync.c:
	virtual: Some cleanups and fixes.
	[7c93e6c9cb0a] <HEAD>

	* src/lib/array.c:
	array_idx_clear() was broken when clearing an index outside the
	existing array.
	[9336cf20a96c] <HEAD>

	* src/imap/cmd-list.c:
	namespaces: list=children wasn't working correctly.
	[7c8fa884cd37] <HEAD>

	* src/lib-storage/index/shared/shared-list.c:
	shared mailboxes: LIST shared/% shouldn't list "%" entry.
	[1a49747f9445] <HEAD>

	* src/plugins/quota/quota-maildir.c:
	Maildir++ quota: Recalculation was broken if limits were defined by
	maildirsize file (and not quota_rules).
	[7be0a6c4bc6b] <HEAD>

	* src/lib-lda/mail-send.c:
	deliver: When forwarding messages, use -f parameter as return path
	and fallback to normalized Return-Path: header.
	[a3e0524e8af8] <HEAD>

2009-04-17  Timo Sirainen  <tss@iki.fi>

	* src/config/common.h, src/config/config-connection.h, src/config
	/config-parser.h, src/login-common/login-settings.h:
	Code cleanup: Don't use __ prefix in header #defines.
	[3c8e0e094139] <HEAD>

	* src/lib-storage/index/shared/shared-storage.c:
	Allow shared namespaces to have subscriptions=yes.
	[40607877c3f9] <HEAD>

	* src/plugins/fts-solr/solr-connection.c:
	fts-solr: Don't break with curl versions older than v7.17.
	[35c69f57621e] <HEAD>

	* configure.in, src/lib-storage/Makefile.am:
	configure --without-shared-libs: Don't link other libraries to
	libstorage.a.
	[43ce0506a90b] <HEAD>

	* src/master/main.c:
	Removed unused code.
	[761fc36e0e34] <HEAD>

	* src/lmtp/commands.c:
	lmtp: If mail is >128 kB, write it to a temporary file.
	[a80db92d296b] <HEAD>

	* src/lib-storage/index/index-storage.h, src/lib-storage/mail-storage-
	private.h:
	Moved MAIL_READ_BLOCK_SIZE to mail-storage-private.h
	[dad05c75bd48] <HEAD>

2009-04-16  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/quota-maildir.c:
	maildir++ quota: Make sure we don't create maildirsize file to wrong
	namespace.
	[6284c1ff3e34] <HEAD>

	* src/plugins/imap-quota/imap-quota-plugin.c:
	imap-quota: Allow GETQUOTAROOT for public namespaces.
	[8517afb01903] <HEAD>

	* src/plugins/quota/quota-count.c, src/plugins/quota/quota-dict.c,
	src/plugins/quota/quota-dirsize.c, src/plugins/quota/quota-
	maildir.c, src/plugins/quota/quota-plugin.c, src/plugins/quota
	/quota-plugin.h, src/plugins/quota/quota-private.h,
	src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c:
	Implemented support for per-namespace quotas. Can be used with
	public namespaces.
	[f9c07af22f91] <HEAD>

	* src/lib-settings/settings-parser.c:
	settings_dup() didn't copy STRLISTs.
	[be738988c8ab] <HEAD>

	* src/imap/Makefile.am, src/lda/Makefile.am, src/pop3/Makefile.am:
	When using --disable-shared-libs, link with some unused .o files to
	get plugins working.
	[922868605499] <HEAD>

	* src/imap/main.c:
	imap: Initialize commands hash before plugins are initialized so
	they can register commands.
	[9ff1e79fffab] <HEAD>

	* src/lib-storage/mail-storage.c:
	When mailbox is successfully opened, mark its namespace as being
	usable.
	[dc220ff69fb8] <HEAD>

	* src/lib-storage/index/shared/shared-storage.c:
	shared mailboxes: Don't assert-crash if trying to look up "" user's
	mailboxes.
	[a061db71e166] <HEAD>

	* dovecot-example.conf, src/imap/cmd-idle.c, src/imap/imap-settings.c,
	src/imap/imap-settings.h:
	Added imap_idle_notify_interval setting.
	[edcafb3efbbf] <HEAD>

	* src/plugins/virtual/virtual-sync.c:
	virtual: Crashfix. Also cleaned up the code a bit.
	[d33915e5da10] <HEAD>

	* .hgignore, configure.in, src/Makefile.am, src/lmtp/Makefile.am,
	src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c,
	src/lmtp/commands.h, src/lmtp/main.c, src/lmtp/main.h:
	Initial implementation of LMTP server. Master process doesn't yet
	execute it though.
	[a957a6be4af5] <HEAD>

	* src/lib-master/master-service-settings.h:
	Compiler warning fix.
	[749339f9d1df] <HEAD>

	* src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h:
	mail_deliver(): Support returning a destination mail.
	[b16ec327b266] <HEAD>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h:
	mail-storage-service: Fixes to handling multiple users.
	[03fe226e85d4] <HEAD>

	* src/lda/main.c:
	lmtp: Minor cleanup.
	[a9f61b63dc3d] <HEAD>

2009-04-15  Timo Sirainen  <tss@iki.fi>

	* src/master/login-process.c:
	Compile fix for old non-C99 compilers.
	[b1e9bb291e70] <HEAD>

	* src/lib-storage/index/index-search-result.c:
	Search result updating: Make sure search args are initialized.
	[755d3c958892] <HEAD>

	* src/lib-storage/mail-search.c, src/lib-storage/mail-search.h:
	mail_search_args_[de]init() calls stack now. Last unref is still
	allowed without deiniting.
	[8b831d260dca] <HEAD>

	* src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts/fts-
	storage.c, src/plugins/fts/fts-storage.h:
	fts: Fixes to how virtual mailboxes are searched.
	[093c15fed377] <HEAD>

	* src/plugins/virtual/virtual-mail.c:
	virtual: Return original mailbox names with namespace prefix.
	[2ba85232848e] <HEAD>

	* src/lib-storage/list/mailbox-list-maildir.c:
	Maildir++ layout: Allow selecting namespace prefix if inbox=no. With
	Maildir this allows opening the "mailbox root" (i.e. INBOX).
	[8ea3e0549b5a] <HEAD>

	* src/plugins/virtual/virtual-config.c:
	virtual: Fixed using !INBOX when INBOX wasn't in prefix=""
	namespace.
	[def8b99b1a02] <HEAD>

2009-04-14  Timo Sirainen  <tss@iki.fi>

	* src/plugins/fts-solr/fts-backend-solr.c:
	fts-solr: Fixes with virtual mailboxes.
	[4753aa4f1626] <HEAD>

2009-04-15  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
	storage-service.h, src/plugins/expire/expire-tool.c:
	mail_storage_service_multi*() API change and fixes.
	[14ebbf71ef3e] <HEAD>

	* src/lib-settings/settings-parser.c, src/lib-settings/settings-
	parser.h:
	Added settings_parser_dup().
	[a8dfff3ed857] <HEAD>

	* src/imap/main.c, src/lda/main.c, src/lib-storage/mail-storage-
	service.c, src/lib-storage/mail-storage-service.h, src/pop3/main.c:
	mail_storage_service_init*() can now take multiple set_roots.
	[fce3926fe910] <HEAD>

	* src/lib-lda/lda-settings.c, src/lib-lda/lda-settings.h:
	lda-settings doesn't need plugin_envs.
	[fdbc1902b4a9] <HEAD>

2009-04-14  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/auth/Makefile.am, src/config/Makefile.am,
	src/dict/Makefile.am, src/imap-login/Makefile.am,
	src/imap/Makefile.am, src/lda/Makefile.am, src/lib-
	dovecot/Makefile.am, src/lib-storage/Makefile.am, src/login-
	common/Makefile.am, src/master/Makefile.am,
	src/plugins/convert/Makefile.am, src/plugins/expire/Makefile.am,
	src/plugins/fts-squat/Makefile.am, src/pop3-login/Makefile.am,
	src/pop3/Makefile.am, src/tests/Makefile.am, src/util/Makefile.am:
	Added configure --without-shared-libs to link built binaries against
	static libraries. The libraries are still built and installed, so
	this is mainly useful for making life easier for developers.
	[c6d306772f4e] <HEAD>

2009-04-13  Timo Sirainen  <tss@iki.fi>

	* src/lda/main.c, src/lib-storage/index/maildir/maildir-copy.c,
	src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-storage.c:
	s/deliver/lda/
	[5c12eac2c3ca] <HEAD>

	* src/lib-storage/index/dbox/dbox-storage.c, src/lib-
	storage/index/dbox/dbox-sync.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/index-sync.c:
	dbox: Don't crash if index files can't be opened.
	[8be5ca07189f] <HEAD>

	* src/imap/cmd-append.c, src/imap/cmd-copy.c, src/lib-lda/mail-
	deliver.c, src/lib-storage/index/index-status.c, src/lib-
	storage/index/index-transaction.c, src/lib-storage/mail-storage.h,
	src/plugins/quota/quota-storage.c:
	Changed MAILBOX_OPEN_FAST meaning a bit. Don't use it where it's
	unnecessary.
	[2e20a1a9bcd4] <HEAD>

	* src/lib-index/mail-index.c, src/lib-index/mail-index.h:
	Removed duplicate mail_index_is_in_memory().
	[be8d15cb98e7] <HEAD>

	* src/lib-index/mail-index.c, src/lib-index/mail-index.h, src/lib-
	storage/index/maildir/maildir-uidlist.c:
	maildir: When saving messages, in some race conditions we might have
	written a duplicate UID.
	[67369ba9f447] <HEAD>

	* src/lib-index/mail-transaction-log-view.c:
	indexes: Added a new assert.
	[e2e481482c27] <HEAD>

	* src/lib-index/mail-index-map.c, src/lib-index/mail-transaction-log-
	append.c, src/lib-index/mail-transaction-log-file.c, src/lib-index
	/mail-transaction-log.c:
	indexes: Error handling fixes.
	[da5f1b89d4e1] <HEAD>

	* dovecot-example.conf:
	dovecot-example.conf: Fixed mail_plugin_dir defaults.
	[748c0741b25b] <HEAD>

	* src/Makefile.am:
	lib-lda wasn't being built.
	[93dc8f46b4af] <HEAD>

	* src/lib-storage/index/maildir/maildir-save.c:
	maildir saving: If dovecot-uidlist reading failed, we might have
	gone forward and crashed.
	[98e2f0e3503e] <HEAD>

	* src/login-common/login-settings.c:
	Fix to "SSL support not compiled in" error message.
	[f6bbb5c6d57c] <HEAD>

	* .hgignore, configure.in, src/Makefile.am, src/deliver/Makefile.am,
	src/deliver/deliver-settings.c, src/deliver/deliver-settings.h,
	src/deliver/deliver.c, src/deliver/deliver.h,
	src/deliver/duplicate.c, src/deliver/duplicate.h, src/deliver/mail-
	send.c, src/deliver/mail-send.h, src/deliver/smtp-client.c,
	src/deliver/smtp-client.h, src/lda/Makefile.am, src/lda/main.c, src
	/lib-lda/Makefile.am, src/lib-lda/duplicate.c, src/lib-
	lda/duplicate.h, src/lib-lda/lda-settings.c, src/lib-lda/lda-
	settings.h, src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h,
	src/lib-lda/mail-send.c, src/lib-lda/mail-send.h, src/lib-lda/smtp-
	client.c, src/lib-lda/smtp-client.h:
	Renamed deliver to dovecot-lda and moved most of its code to lib-
	lda.
	[e4832f128738] <HEAD>

	* configure.in, src/Makefile.am:
	Removed configure --with-deliver and --with-pop3d parameters. If you
	don't want them, just don't use them. There are a lot of other
	useless binaries also being compiled.
	[e7dc0fb735ff] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	mail-storage-service: Don't do userdb lookups to get a missing home
	if it's not wanted.
	[a06b6fa612ad] <HEAD>

	* src/master/master-settings.c:
	dovecot -n/-a shouldn't try to create login directory.
	[ebec4c879cc3] <HEAD>

	* src/master/syslog-util.c, src/master/syslog-util.h:
	Removed syslog-util.*, they were already moved to lib-master.
	[0f72263501c6] <HEAD>

	* src/config/common.h, src/config/config-connection.c, src/config
	/config-connection.h, src/config/config-parser.c, src/config/config-
	parser.h, src/config/main.c:
	Some cleanups to the config parsing code.
	[81ff88345441] <HEAD>

	* src/lib-storage/index/dbox/dbox-file-fix.c, src/lib-
	storage/index/dbox/dbox-storage.h:
	dbox: When fixing a broken dbox file, keep a copy of the original
	broken file.
	[a19365f30de7] <HEAD>

	* src/deliver/deliver.c:
	deliver: Code cleanup
	[1c3ca4aa62b2] <HEAD>

	* src/lib-storage/mail-user.c:
	mail_user_alloc() now duplicates also the unexpanded_set input
	settings.
	[31389897ca8c] <HEAD>

	* src/deliver/deliver.c:
	Fixed deliver -p.
	[e2f48d895420] <HEAD>

	* src/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h, src/lib-storage/mail-storage-service.c:
	Added master_service_set().
	[ea2117eaa8d1] <HEAD>

2009-04-11  Timo Sirainen  <tss@iki.fi>

	* dovecot-example.conf:
	dovecot-example.conf: Moved most of the settings inside protocol lda
	{} to root level. In future LMTP server will use the same settings.
	[0e10344711b8] <HEAD>

	* src/imap/Makefile.am, src/imap/client.c, src/imap/common.h, src/imap
	/imap-settings.c, src/imap/imap-settings.h, src/imap/main.c, src
	/lib-storage/mail-storage-service.c, src/lib-storage/mail-storage-
	service.h, src/master/child-process.c, src/pop3/Makefile.am,
	src/pop3/client.c, src/pop3/common.h, src/pop3/main.c,
	src/pop3/pop3-settings.c, src/pop3/pop3-settings.h:
	imap and pop3 now use mail-storage-service API.
	[e560b92ed763] <HEAD>

	* src/util/doveadm.c:
	Removed unnecessary code.
	[a817f39d255f] <HEAD>

	* src/master/mail-process.c:
	dump-capability fix.
	[7ee8a3ea7b37] <HEAD>

	* src/lib-storage/index/mbox/mbox-storage.c:
	mbox: When doing autodetection, don't just create the missing mbox
	directory.
	[e77f2df8c666] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	Assume unknown settings returned by userdb lookup are plugin
	settings.
	[52bf76fa5b85] <HEAD>

	* src/lib-index/mail-index-map.c, src/lib-storage/index/shared/shared-
	list.c:
	Memory leak fixes.
	[eb8a2d17fd44] <HEAD>

	* src/lib-settings/settings-parser.c:
	Sort environment for settings in reverse order, or it won't work..
	[c77a3902dc5e] <HEAD>

	* src/lib-settings/settings-parser.c:
	Sort environ[] before feeding it to settings parser. This fixes
	running with valgrind.
	[dc3739ee4123] <HEAD>

	* src/util/maildirlock.c:
	Compile fix.
	[fb11dca591da] <HEAD>

2009-04-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-map.c:
	dbox: Saving shouldn't give up so easily in using existing files.
	[c5ba9bc89ccb] <HEAD>

	* src/imap/client.c, src/imap/imap-settings.c,
	src/pop3/pop3-settings.c:
	Changed initial memory pool sizes.
	[8217998f8133] <HEAD>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-file.h, src/lib-storage/index/dbox/dbox-map.c:
	dbox: Flush file input caches when needed so that we don't try to
	use partially written mails.
	[c957575afd8a] <HEAD>

	* src/lib-storage/index/dbox/dbox-save.c, src/lib-storage/index/dbox
	/dbox-sync.c, src/lib-storage/index/dbox/dbox-sync.h:
	dbox: Fix to auto-purging.
	[b7142ab35480] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox
	/dbox-map.h, src/lib-storage/index/dbox/dbox-sync.c, src/lib-
	storage/index/dbox/dbox-sync.h:
	dbox: If enough bytes have been expunged, force a purge.
	[53885f710b0b] <HEAD>

	* src/lib-master/master-service.c, src/lib-master/master-service.h,
	src/util/doveadm.c:
	doveadm: Log to stderr.
	[4f64d429985a] <HEAD>

	* src/plugins/virtual/virtual-storage.c:
	Compiler warning fix.
	[52eb87931e91] <HEAD>

	* src/lib-storage/index/dbox/dbox-sync.c, src/lib-storage/index/dbox
	/dbox-sync.h, src/lib-storage/index/maildir/maildir-sync.c, src/lib-
	storage/index/mbox/mbox-sync.c, src/lib-storage/mail-storage.c, src
	/lib-storage/mail-storage.h, src/util/doveadm.c:
	doveadm: Implemented force-resync functionality.
	[d8e8a9c447af] <HEAD>

	* src/lib-storage/mail-storage-service.c:
	Fixed problems with getting home directory.
	[daa079a90b66] <HEAD>

	* .hgignore, src/util/doveadm.c:
	Initial implementation of doveadm tool.
	[0b8009b5aff8] <HEAD>

	* src/lib-storage/index/cydir/cydir-storage.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox-
	sync.c, src/lib-storage/index/dbox/dbox-sync.h, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
	/mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
	storage/index/shared/shared-storage.c, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail-storage-service.c, src/lib-storage
	/mail-storage-service.h, src/lib-storage/mail-storage.c, src/lib-
	storage/mail-storage.h:
	Added mail_storage_purge() for dbox. dbox no longer calls it
	automatically at logout.
	[f3cfa467b3b3] <HEAD>

2009-04-09  Timo Sirainen  <tss@iki.fi>

	* src/deliver/auth-client.c, src/deliver/auth-client.h,
	src/plugins/expire/auth-client.c, src/plugins/expire/auth-client.h:
	Removed unnecessary code.
	[cc4b794ac6b9] <HEAD>

	* configure.in, src/Makefile.am, src/deliver/Makefile.am, src/deliver
	/deliver-settings.c, src/deliver/deliver-settings.h,
	src/deliver/deliver.c, src/deliver/deliver.h, src/deliver/smtp-
	client.c, src/dict/main.c, src/imap/Makefile.am, src/imap/imap-
	settings.c, src/imap/imap-settings.h, src/imap/main.c, src/lib-auth
	/auth-master.h, src/lib-dovecot/Makefile.am, src/lib-
	master/Makefile.am, src/lib-master/master-service-private.h, src
	/lib-master/master-service-settings.c, src/lib-master/master-
	service-settings.h, src/lib-master/master-service.c, src/lib-master
	/master-service.h, src/lib-master/syslog-util.c, src/lib-master
	/syslog-util.h, src/lib-settings/settings-parser.c, src/lib-settings
	/settings-parser.h, src/lib-sql/Makefile.am, src/lib-
	storage/Makefile.am, src/lib-storage/mail-namespace.c, src/lib-
	storage/mail-storage-service.c, src/lib-storage/mail-storage-
	service.h, src/lib-storage/mail-storage-settings.c, src/lib-storage
	/mail-storage-settings.h, src/lib-storage/mail-user.c, src/lib-
	storage/mail-user.h, src/master/Makefile.am, src/master/child-
	process.c, src/plugins/convert/Makefile.am, src/plugins/convert
	/convert-settings.c, src/plugins/convert/convert-settings.h,
	src/plugins/convert/convert-tool.c, src/plugins/expire/Makefile.am,
	src/plugins/expire/auth-client.c, src/plugins/expire/expire-
	settings.c, src/plugins/expire/expire-settings.h, src/plugins/expire
	/expire-tool.c, src/pop3/Makefile.am, src/pop3/main.c,
	src/pop3/pop3-settings.c, src/pop3/pop3-settings.h,
	src/util/Makefile.am:
	Added lib-master and mail-storage-service code that makes it easier
	to build new Dovecot binaries. Currently only the standalone
	applications (e.g. deliver) uses this.
	[94ecf8a8ed68] <HEAD>

	* src/lib/restrict-access.c:
	restrict-access: If running as root, don't give "couldn't drop root
	group privileges" error.
	[ace05d7b6da0] <HEAD>

	* src/auth/auth-settings.c, src/auth/main.c:
	auth: Fixed listening in extra master/client sockets.
	[c1b201243d52] <HEAD>

	* src/lib-dict/dict-sql.c:
	dict-sql: Don't crash if iteration sees a NULL value in path.
	[40b5b098817b] <HEAD>

	* src/lib/restrict-access.c:
	restrict-access: Minor code cleanup.
	[af9ac89e0910] <HEAD>

	* src/lib/restrict-access.c:
	restrict-access: One more root dropping fix.
	[d591ee76ab9c] <HEAD>

	* src/master/dict-process.c:
	dict: Fixed crashes when dict process dies.
	[59165b07c874] <HEAD>

	* src/lib/restrict-access.c, src/lib/restrict-access.h:
	restrict-access: More fixes to root checking.
	[095837e6c073] <HEAD>

	* src/lib/restrict-access.c:
	restrict-access: Another fix to allow running processes as root.
	[1320550c00a2] <HEAD>

	* src/lib/restrict-access.c:
	Fix to previous restrict-access changes.
	[85a587bcc16f] <HEAD>

	* src/login-common/ssl-proxy-openssl.c:
	ssl: Don't use mempool_system_clean_*() functions. Just extra work
	and they've had some problems.
	[e812e3ed2d6f] <HEAD>

	* src/auth/mech-digest-md5.c:
	digest-md5: If client sent no input, log it as such instead of a
	more cryptic error.
	[25cf5d5b3d9c] <HEAD>

2009-04-08  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-settings.c, src/deliver/deliver-settings.c, src/imap
	/imap-settings.c, src/lib-settings/settings-parser.c, src/lib-
	storage/index/dbox/dbox-settings.c, src/lib-storage/index/maildir
	/maildir-settings.c, src/lib-storage/index/mbox/mbox-settings.c, src
	/lib-storage/mail-storage-settings.c, src/login-common/login-
	settings.c, src/plugins/convert/convert-settings.c,
	src/plugins/expire/expire-settings.c, src/pop3/pop3-settings.c:
	Updated missing copyright years to 2009.
	[99659fef12b2] <HEAD>

	* src/login-common/main.c:
	Before starting imaps connections, check how full connection queue
	is.
	[f012c053aa5a] <HEAD>

2009-04-07  Timo Sirainen  <tss@iki.fi>

	* src/auth/auth-settings.c, src/config/config-parser.c, src/imap/imap-
	settings.c, src/lib-settings/settings-parser.c, src/lib-settings
	/settings-parser.h, src/lib-storage/mail-storage-settings.c, src
	/login-common/login-settings.c, src/pop3/pop3-settings.c:
	settings_parser_info.check_func() now gets pool parameter if it
	wants to change settings.
	[0145ecc95752] <HEAD>

	* src/auth/main.c, src/deliver/auth-client.c, src/dict/main.c,
	src/imap/main.c, src/lib/restrict-access.c, src/lib/restrict-
	access.h, src/login-common/main.c, src/master/auth-process.c,
	src/master/login-process.c, src/master/mail-process.c,
	src/plugins/expire/auth-client.c, src/pop3/main.c,
	src/util/rawlog.c:
	Cleaned up restrict_access*() API.
	[967bfafe6c0a] <HEAD>

	* src/plugins/acl/acl-mailbox-list.c:
	Removed some unused code. Patch by Diego Liziero.
	[126a819f1fa7] <HEAD>

	* src/lib-storage/index/shared/shared-list.c, src/lib-storage/mail-
	storage.c, src/lib-storage/mailbox-list-private.h:
	Shared mailboxes: Fix to previous mailbox_open() change.
	[319a97b5cfd7] <HEAD>

	* src/lib-storage/index/shared/shared-storage.c:
	Shared mailboxes: If selecting prefix/<username>, try to open the
	user's INBOX.
	[5d3dd9eb82d9] <HEAD>

	* src/lib-storage/index/shared/shared-list.c, src/lib-
	storage/index/shared/shared-storage.c, src/lib-storage/list/mailbox-
	list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
	storage/mail-storage.c, src/lib-storage/mailbox-list-private.h:
	Shared mailboxes: Find the final storage before calling
	mail_storage.mailbox_open(), not inside it. This fixes some crashes
	with plugins.
	[4e6745ffc307] <HEAD>

	* src/plugins/quota/quota-storage.c:
	quota: Previous change broke other plugins.
	[e73f5828f8d8] <HEAD>

	* src/imap-login/client-authenticate.c, src/imap-login/client-
	authenticate.h, src/imap-login/imap-proxy.c,
	src/pop3-login/pop3-proxy.c:
	imap-login: Use [resp-codes] to figure out when to replace remote's
	auth failed message with ours.
	[72045e108c8b] <HEAD>

	* src/lib-storage/mail-storage-settings.c, src/lib-storage/mail-
	storage-settings.h:
	Removed umask setting. It's no longer used.
	[a33777517e3a] <HEAD>

	* src/deliver/deliver-settings.c, src/imap/imap-settings.c, src/lib-
	sql/Makefile.am, src/plugins/acl/Makefile.am,
	src/plugins/autocreate/Makefile.am, src/plugins/convert/Makefile.am,
	src/plugins/expire/Makefile.am, src/plugins/fts-lucene/Makefile.am,
	src/plugins/fts-solr/Makefile.am, src/plugins/fts-squat/Makefile.am,
	src/plugins/fts/Makefile.am, src/plugins/imap-acl/Makefile.am,
	src/plugins/imap-quota/Makefile.am, src/plugins/lazy-
	expunge/Makefile.am, src/plugins/listescape/Makefile.am, src/plugins
	/mail-log/Makefile.am, src/plugins/mbox-snarf/Makefile.am,
	src/plugins/quota/Makefile.am, src/plugins/trash/Makefile.am,
	src/plugins/virtual/Makefile.am, src/plugins/zlib/Makefile.am,
	src/pop3/pop3-settings.c:
	Get rid of imap/, pop3/, lda/ and sql/ module subdirs. It's all in
	lib/dovecot/ now.
	[d981b4b50cb7] <HEAD>

	* src/plugins/convert/Makefile.am, src/plugins/expire/Makefile.am,
	src/plugins/fts-squat/Makefile.am:
	Removed LIBICONV from unnecessary places.
	[17f06144e534] <HEAD>

	* src/lib-dovecot/Makefile.am:
	Link LTLIBICONV, not LIBICONV.
	[d249a28a6e1b] <HEAD>

	* src/plugins/quota/quota-storage.c:
	quota: Don't crash when modifying non-private namespaces.
	[792c3eb1e544] <HEAD>

2009-04-06  Timo Sirainen  <tss@iki.fi>

	* src/lib/lib-signals.c:
	FreeBSD compiling fix.
	[286ff5114588] <HEAD>

	* src/lib/lib-signals.c, src/lib/lib-signals.h:
	Compile fix to NetBSD: Don't use si_code which is a macro. Patch by
	Tatsuyoshi.
	[bfbbae6cdb51] <HEAD>

	* src/auth/Makefile.am, src/deliver/Makefile.am, src/dict/Makefile.am,
	src/imap/Makefile.am, src/lib-dovecot/Makefile.am,
	src/pop3/Makefile.am, src/tests/Makefile.am, src/util/Makefile.am:
	Link -liconv to libdovecot.so if necessary.
	[f8cc52698a42] <HEAD>

	* src/deliver/deliver-settings.c, src/deliver/deliver-settings.h,
	src/deliver/deliver.c:
	deliver: umask setting has been removed, don't try to use it.
	[3195c1b157c9] <HEAD>

	* src/plugins/quota/quota-fs.c:
	quota-fs: Compile fix for OSes without GRPQUOTA define.
	[bcca9c0385b7] <HEAD>

	* src/imap/imap-search.h:
	Compile fix: Include sys/time.h for struct timeval.
	[a5185de111a4] <HEAD>

	* src/deliver/deliver-settings.c, src/master/master-settings.c,
	src/plugins/convert/convert-settings.c, src/plugins/expire/expire-
	settings.c:
	Fixes for non-C99 compilers.
	[385eaa5013fa] <HEAD>

	* src/master/mail-process.c:
	system_user -> system_groups_user change broke it completely.
	[d22e54cb4bda] <HEAD>

	* src/lib/module-dir.c:
	Compile fix when modules are disabled.
	[b9272de65955] <HEAD>

2009-04-03  Timo Sirainen  <tss@iki.fi>

	* src/plugins/quota/Makefile.am:
	rquota.x was missing from distribution tarball.
	[e4d1cc1d9b46] <HEAD>

	* src/lib-storage/index/index-mail-headers.c, src/lib-storage/index
	/index-mail.c:
	Compiler warning fixes on 64bit systems.
	[30db22205884] <HEAD>

	* src/plugins/quota/Makefile.am:
	Fixed quota compiling when using a separate build dir.
	[5650eba36f79] <HEAD>

2009-04-06  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/Makefile.am:
	Added missing dbox-map-private.h.
	[36e6adec9377] <HEAD>

	* src/auth/passdb-pam.c:
	pam: Compiling fix.
	[d2a1254e1e24] <HEAD>

	* src/Makefile.am, src/lib-dovecot/Makefile.am, src/lib-
	storage/Makefile.am, src/util/Makefile.am:
	lib-index belongs to libdovecot-storage, not to libdovecot.
	[aeb2bd9d6951] <HEAD>

2009-04-03  Timo Sirainen  <tss@iki.fi>

	* .hgignore, configure.in, src/Makefile.am, src/auth/Makefile.am,
	src/config/Makefile.am, src/deliver/Makefile.am,
	src/dict/Makefile.am, src/imap-login/Makefile.am,
	src/imap/Makefile.am, src/lib-auth/Makefile.am, src/lib-
	charset/Makefile.am, src/lib-dict/Makefile.am, src/lib-
	dovecot/Makefile.am, src/lib-imap/Makefile.am, src/lib-
	index/Makefile.am, src/lib-mail/Makefile.am, src/lib-
	settings/Makefile.am, src/lib-sql/Makefile.am, src/lib-
	storage/Makefile.am, src/lib-storage/index/Makefile.am, src/lib-
	storage/index/cydir/Makefile.am, src/lib-
	storage/index/dbox/Makefile.am, src/lib-
	storage/index/maildir/Makefile.am, src/lib-
	storage/index/mbox/Makefile.am, src/lib-
	storage/index/raw/Makefile.am, src/lib-
	storage/index/shared/Makefile.am, src/lib-storage/list/Makefile.am,
	src/lib-storage/register/Makefile.am, src/lib/Makefile.am, src
	/login-common/Makefile.am, src/master/Makefile.am,
	src/plugins/convert/Makefile.am, src/plugins/expire/Makefile.am,
	src/plugins/fts-squat/Makefile.am, src/pop3-login/Makefile.am,
	src/pop3/Makefile.am, src/tests/Makefile.am, src/util/Makefile.am:
	Build libdovecot.so and libdovecot-storage.so. Based on patch by
	Stephan Bosch.
	[1b586a2fee8b] <HEAD>

	* configure.in:
	This branch is v1.3.UNSTABLE.
	[fdcb1629ddcc] <HEAD>

	* .hgignore, TODO, configure.in, src/auth/Makefile.am, src/auth/auth-
	request.c, src/auth/db-ldap.c, src/auth/main.c, src/auth/mech-
	digest-md5.c, src/auth/mech-gssapi.c, src/auth/mech-winbind.c,
	src/auth/passdb-cache.c, src/auth/passdb-ldap.c, src/auth/passdb.c,
	src/auth/passdb.h, src/auth/userdb.c, src/deliver/auth-client.c,
	src/deliver/auth-client.h, src/deliver/deliver-settings.c,
	src/deliver/deliver-settings.h, src/deliver/deliver.c,
	src/deliver/duplicate.c, src/deliver/duplicate.h, src/deliver/mail-
	send.c, src/imap-login/client.c, src/imap-login/imap-proxy.c,
	src/imap/Makefile.am, src/imap/client.c, src/imap/client.h, src/imap
	/cmd-append.c, src/imap/imap-fetch-body.c, src/imap/main.c, src/lib-
	storage/index/cydir/cydir-save.c, src/lib-storage/index/cydir/cydir-
	storage.c, src/lib-storage/index/dbox/Makefile.am, src/lib-
	storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox/dbox-
	map.c, src/lib-storage/index/dbox/dbox-save.c, src/lib-
	storage/index/dbox/dbox-settings.c, src/lib-storage/index/dbox/dbox-
	settings.h, src/lib-storage/index/dbox/dbox-storage.c, src/lib-
	storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox/dbox-
	sync-rebuild.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-storage.c, src/lib-storage/index/index-
	storage.h, src/lib-storage/index/maildir/maildir-copy.c, src/lib-
	storage/index/maildir/maildir-keywords.c, src/lib-
	storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir
	/maildir-settings.c, src/lib-storage/index/maildir/maildir-
	settings.h, src/lib-storage/index/maildir/maildir-storage.c, src
	/lib-storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
	/maildir-uidlist.c, src/lib-storage/index/mbox/mbox-lock.c, src/lib-
	storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox/mbox-
	save.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
	storage/index/mbox/mbox-sync.c, src/lib-storage/index/shared/shared-
	storage.c, src/lib-storage/list/index-mailbox-list.c, src/lib-
	storage/list/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-
	list-fs.c, src/lib-storage/list/subscription-file.c, src/lib-storage
	/mail-namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage
	/mail-storage-private.h, src/lib-storage/mail-storage-settings.c,
	src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h, src
	/lib-storage/mail-user.c, src/lib-storage/mail-user.h, src/lib-
	storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src
	/lib-storage/mailbox-list.h, src/login-common/main.c, src/master
	/auth-process.c, src/master/child-process.c, src/master/child-
	process.h, src/master/dict-process.c, src/master/login-process.c,
	src/master/mail-process.c, src/master/main.c, src/master/master-
	settings-defs.c, src/master/master-settings.c, src/master/master-
	settings.h, src/plugins/acl/acl-backend.c, src/plugins/acl/acl-
	mailbox-list.c, src/plugins/acl/acl-storage.c, src/plugins/convert
	/convert-storage.c, src/plugins/expire/expire-plugin.c, src/plugins
	/fts-solr/fts-backend-solr.c, src/plugins/imap-acl/imap-acl-
	plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/mail-log/mail-log-plugin.c, src/plugins/mbox-snarf/mbox-
	snarf-plugin.c, src/plugins/quota/quota-maildir.c, src/plugins/quota
	/quota-storage.c, src/plugins/virtual/virtual-storage.c,
	src/pop3-login/client.c, src/pop3-login/pop3-proxy.c,
	src/pop3/client.c, src/pop3/client.h, src/pop3/commands.c,
	src/pop3/main.c:
	Merged configuration rewrite.
	[21d4363a3cf7] <HEAD>

2009-02-09  Timo Sirainen  <tss@iki.fi>

	* src/config/config-parser.c, src/config/config-parser.h,
	src/config/main.c:
	Removed some unnecessary code.
	[fb8f4adc61c4] <HEAD>

	* src/config/config-connection.c, src/config/config-connection.h,
	src/config/config-parser.c, src/config/main.c, src/deliver/deliver-
	settings.c, src/deliver/deliver-settings.h, src/deliver/deliver.c,
	src/master/master-settings.c:
	Added dovecof --exec and made deliver use it instead of forking.
	[8b616cc6d848] <HEAD>

	* src/login-common/login-settings.c:
	doveconf shouldn't check if it has access to ssl files. For example
	deliver doesn't need it.
	[8d4052450e09] <HEAD>

	* src/auth/auth-settings.c, src/config/config-parser.c, src/config
	/settings-get.pl, src/imap/imap-settings.c, src/lib-settings
	/settings-parser.c, src/lib-settings/settings-parser.h, src/lib-
	storage/mail-storage-settings.c, src/lib-storage/mail-storage-
	settings.h, src/login-common/login-settings.c, src/master/master-
	settings.c, src/plugins/expire/expire-settings.c,
	src/pop3/pop3-settings.c:
	doveconf now checks that all settings are ok by calling check
	functions.
	[c37f7113b1ee] <HEAD>

2009-02-03  Timo Sirainen  <tss@iki.fi>

	* src/master/mail-process.c, src/master/master-settings.c, src/master
	/master-settings.h:
	Removed nfs_check. So much trouble and so unreliable..
	[185cc7ad6a30] <HEAD>

	* src/master/mail-process.c:
	If mail_chroot is set, don't fail at startup in dump-capability.
	[0ed8a0f1b42b] <HEAD>

	* src/master/mail-process.c, src/master/master-settings.c, src/master
	/master-settings.h:
	We don't care about plugin settings anymore, removed.
	[c33bd8517c63] <HEAD>

	* src/config/config-parser.c:
	config: Support !include and !include_try.
	[06015880f4c7] <HEAD>

2009-02-02  Timo Sirainen  <tss@iki.fi>

	* .hgignore, src/config/all-settings.h:
	all-settings.h was missing
	[b02e5a575db9] <HEAD>

	* TODO, src/imap/Makefile.am, src/imap/imap-settings.c, src/imap/imap-
	settings.h, src/imap/main.c, src/lib-settings/settings-parser.c, src
	/lib-settings/settings-parser.h, src/master/mail-process.c,
	src/plugins/convert/convert-settings.c, src/plugins/convert/convert-
	settings.h, src/plugins/expire/auth-client.c, src/plugins/expire
	/expire-settings.c, src/plugins/expire/expire-settings.h,
	src/pop3/Makefile.am, src/pop3/main.c, src/pop3/pop3-settings.c,
	src/pop3/pop3-settings.h:
	Plugin setting backwards compatibility support and other fixes.
	[1aacfd9d0d57] <HEAD>

	* TODO, src/lib-storage/mail-namespace.h, src/lib-storage/mail-
	storage-settings.c, src/lib-storage/mail-storage-settings.h, src
	/lib-storage/mail-user.c, src/lib-storage/mail-user.h, src/lib-
	storage/mailbox-list.c, src/lib-storage/mailbox-list.h, src/master
	/mail-process.c, src/master/master-settings.c, src/plugins/acl/acl-
	backend.c, src/plugins/acl/acl-lookup-dict.c, src/plugins/acl/acl-
	lookup-dict.h, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl
	/acl-plugin.c, src/plugins/acl/acl-storage.c, src/plugins/autocreate
	/autocreate-plugin.c, src/plugins/convert/Makefile.am,
	src/plugins/convert/convert-plugin.c, src/plugins/convert/convert-
	settings.c, src/plugins/convert/convert-settings.h,
	src/plugins/convert/convert-storage.c, src/plugins/convert/convert-
	storage.h, src/plugins/convert/convert-tool.c,
	src/plugins/expire/Makefile.am, src/plugins/expire/expire-plugin.c,
	src/plugins/expire/expire-settings.c, src/plugins/expire/expire-
	settings.h, src/plugins/expire/expire-tool.c, src/plugins/fts-solr
	/fts-backend-solr.c, src/plugins/fts-solr/fts-solr-plugin.c,
	src/plugins/fts-solr/fts-solr-plugin.h, src/plugins/fts-squat/fts-
	backend-squat.c, src/plugins/fts/fts-plugin.c, src/plugins/fts/fts-
	storage.c, src/plugins/imap-acl/Makefile.am, src/plugins/imap-acl
	/imap-acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c,
	src/plugins/lazy-expunge/lazy-expunge-plugin.c,
	src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log
	/mail-log-plugin.c, src/plugins/mbox-snarf/mbox-snarf-plugin.c,
	src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-plugin.c,
	src/plugins/quota/quota-plugin.h, src/plugins/quota/quota-storage.c,
	src/plugins/quota/quota.c, src/plugins/quota/quota.h,
	src/plugins/trash/trash-plugin.c:
	Fixed plugins to work with config rewrite.
	[a5555606846b] <HEAD>

2009-02-01  Timo Sirainen  <tss@iki.fi>

	* src/deliver/deliver-settings.c, src/deliver/deliver-settings.h,
	src/imap/imap-settings.c, src/imap/imap-settings.h, src/lib-settings
	/settings-parser.c, src/lib-settings/settings-parser.h, src/master
	/mail-process.c, src/master/master-settings.c,
	src/pop3/pop3-settings.c, src/pop3/pop3-settings.h:
	Fixed variable expansion in master <-> mail processes.
	[f5e35bc340bf] <HEAD>

2009-01-27  Timo Sirainen  <tss@iki.fi>

	* .hgignore, TODO, configure.in, src/Makefile.am,
	src/auth/Makefile.am, src/auth/auth-client-connection.c, src/auth
	/auth-master-connection.c, src/auth/auth-request-handler.c, src/auth
	/auth-request.c, src/auth/auth-settings.c, src/auth/auth-settings.h,
	src/auth/auth-worker-server.c, src/auth/auth-worker-server.h,
	src/auth/auth.c, src/auth/auth.h, src/auth/db-ldap.c,
	src/auth/main.c, src/auth/mech-anonymous.c, src/auth/mech-digest-
	md5.c, src/auth/mech-gssapi.c, src/auth/mech-rpa.c, src/auth/mech-
	winbind.c, src/auth/mech.c, src/auth/mech.h, src/auth/passdb-
	cache.c, src/auth/passdb-cache.h, src/auth/passdb-passwd-file.c,
	src/auth/passdb.c, src/auth/passdb.h, src/auth/userdb-passwd-file.c,
	src/auth/userdb-prefetch.c, src/auth/userdb.c, src/auth/userdb.h,
	src/config/Makefile.am, src/config/common.h, src/config/config-
	connection.c, src/config/config-connection.h, src/config/config-
	parser.c, src/config/config-parser.h, src/config/main.c, src/config
	/settings-get.pl, src/deliver/Makefile.am, src/deliver/deliver-
	settings.c, src/deliver/deliver-settings.h, src/deliver/deliver.c,
	src/deliver/deliver.h, src/imap-login/Makefile.am, src/imap-login
	/client-authenticate.c, src/imap-login/client.c, src/imap-login
	/imap-proxy.c, src/imap/Makefile.am, src/imap/client.c,
	src/imap/client.h, src/imap/cmd-append.c, src/imap/cmd-capability.c,
	src/imap/cmd-delete.c, src/imap/cmd-id.c, src/imap/cmd-idle.c,
	src/imap/cmd-subscribe.c, src/imap/common.h, src/imap/imap-fetch-
	body.c, src/imap/imap-settings.c, src/imap/imap-settings.h, src/imap
	/imap-sync.c, src/imap/main.c, src/lib-settings/Makefile.am, src
	/lib-settings/settings-parser.c, src/lib-settings/settings-parser.h,
	src/lib-storage/Makefile.am, src/lib-storage/index/cydir/cydir-
	storage.c, src/lib-storage/index/dbox/Makefile.am, src/lib-
	storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox/dbox-
	settings.c, src/lib-storage/index/dbox/dbox-settings.h, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox-
	storage.h, src/lib-storage/index/index-mail.c, src/lib-storage/index
	/index-storage.c, src/lib-storage/index/index-storage.h, src/lib-
	storage/index/maildir/Makefile.am, src/lib-storage/index/maildir
	/maildir-copy.c, src/lib-storage/index/maildir/maildir-keywords.c,
	src/lib-storage/index/maildir/maildir-save.c, src/lib-
	storage/index/maildir/maildir-settings.c, src/lib-
	storage/index/maildir/maildir-settings.h, src/lib-
	storage/index/maildir/maildir-storage.c, src/lib-
	storage/index/maildir/maildir-storage.h, src/lib-
	storage/index/maildir/maildir-uidlist.c, src/lib-
	storage/index/mbox/Makefile.am, src/lib-storage/index/mbox/mbox-
	lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox-
	settings.c, src/lib-storage/index/mbox/mbox-settings.h, src/lib-
	storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox-
	storage.h, src/lib-storage/index/mbox/mbox-sync.c, src/lib-
	storage/index/raw/raw-storage.c, src/lib-storage/index/shared
	/shared-storage.c, src/lib-storage/list/index-mailbox-list.c, src
	/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
	/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src
	/lib-storage/list/subscription-file.c, src/lib-storage/mail-
	namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage/mail-
	storage-private.h, src/lib-storage/mail-storage-settings.c, src/lib-
	storage/mail-storage-settings.h, src/lib-storage/mail-storage.c, src
	/lib-storage/mail-storage.h, src/lib-storage/mail-user.c, src/lib-
	storage/mail-user.h, src/lib-storage/mailbox-list-private.h, src
	/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h, src/lib
	/array-decl.h, src/login-common/Makefile.am, src/login-common
	/client-common.c, src/login-common/common.h, src/login-common/login-
	settings.c, src/login-common/login-settings.h, src/login-
	common/main.c, src/login-common/master.c, src/login-common/sasl-
	server.c, src/login-common/ssl-proxy-openssl.c,
	src/master/Makefile.am, src/master/auth-process.c, src/master/child-
	process.c, src/master/child-process.h, src/master/dict-process.c,
	src/master/listener.c, src/master/listener.h, src/master/login-
	process.c, src/master/login-process.h, src/master/mail-process.c,
	src/master/mail-process.h, src/master/main.c, src/master/master-
	settings-defs.c, src/master/master-settings.c, src/master/master-
	settings.h, src/master/ssl-init.c, src/plugins/acl/acl-mailbox-
	list.c, src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins
	/fts-squat/fts-backend-squat.c, src/plugins/fts/fts-storage.c,
	src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap-
	quota-plugin.c, src/plugins/mbox-snarf/mbox-snarf-plugin.c,
	src/plugins/virtual/virtual-storage.c, src/pop3-login/Makefile.am,
	src/pop3-login/client-authenticate.c, src/pop3-login/client.c,
	src/pop3-login/pop3-proxy.c, src/pop3/Makefile.am,
	src/pop3/client.c, src/pop3/client.h, src/pop3/commands.c,
	src/pop3/common.h, src/pop3/main.c, src/pop3/pop3-settings.c,
	src/pop3/pop3-settings.h:
	Initial commit for config rewrite.
	[9d0037a997f4] <HEAD>

2009-04-03  Timo Sirainen  <tss@iki.fi>

	* TODO, dovecot-example.conf, src/lib-index/mail-index-modseq.c, src
	/lib-index/mail-index-private.h, src/lib-index/mail-index-strmap.c,
	src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index-
	sync.c, src/lib-index/mail-index-transaction-private.h, src/lib-
	index/mail-index-transaction.c, src/lib-index/mail-index.h, src/lib-
	index/mail-transaction-log-append.c, src/lib-mail/message-size.c,
	src/lib-storage/index/dbox/dbox-index.c, src/lib-storage/index/dbox
	/dbox-index.h, src/lib-storage/index/dbox/dbox-map.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox-
	storage.h, src/lib-storage/index/index-mail-headers.c, src/lib-
	storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src
	/lib-storage/index/index-storage.c, src/lib-storage/index/maildir
	/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-uidlist.h,
	src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/list
	/mailbox-list-fs.c, src/lib-storage/mail-storage-private.h, src/lib-
	storage/mailbox-list.c, src/lib-storage/mailbox-list.h,
	src/lib/istream.c, src/master/mail-process.c, src/master/main.c,
	src/master/master-settings-defs.c, src/master/master-settings.c,
	src/master/master-settings.h, src/plugins/virtual/virtual-mail.c,
	src/pop3/main.c:
	Merged multi-dbox code.
	[1f7e97e2139e] <HEAD>

	* TODO:
	Updated.
	[ffda403f7072] <HEAD>

	* dovecot-example.conf, src/lib-storage/index/dbox/dbox-map.c, src
	/lib-storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox
	/dbox-storage.h, src/master/mail-process.c, src/master/master-
	settings-defs.c, src/master/master-settings.c, src/master/master-
	settings.h:
	dbox: Added dbox_purge_min_percentage setting.
	[3f5fdd2b25de] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox
	/dbox-storage.c, src/lib-storage/index/dbox/dbox-sync-file.c, src
	/lib-storage/index/dbox/dbox-sync.c, src/lib-storage/index/dbox
	/dbox-sync.h:
	dbox: Renamed cleanup -> purge.
	[4556c33ed83d] <HEAD>

2009-03-31  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/Makefile.am, src/lib-storage/index/dbox
	/dbox-file-fix.c, src/lib-storage/index/dbox/dbox-file.c, src/lib-
	storage/index/dbox/dbox-file.h, src/lib-storage/index/dbox/dbox-
	storage-rebuild.c:
	dbox: If we find a broken dbox file, do the best we can to save the
	mails in there.
	[7bddb84fd282] <HEAD>

	* src/lib-mail/message-size.c:
	Minor code cleanup.
	[639e16989018] <HEAD>

	* src/lib/str-find.c, src/lib/str-find.h, src/tests/test-lib.c:
	Added str_find_get_match_end_pos(). Added unit testing.
	[c8ba50450f12] <HEAD>

2009-03-30  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-file.h, src/lib-storage/index/dbox/dbox-map.c:
	dbox: Optimized saving messages.
	[a7203a35f04c] <HEAD>

	* src/lib-index/mail-index-private.h, src/lib-index/mail-index-sync-
	update.c, src/lib-index/mail-index-sync.c:
	Write to main index file less often.
	[48d2377939c2] <HEAD>

2009-03-25  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-file.h, src/lib-storage/index/dbox/dbox-mail.c, src/lib-
	storage/index/dbox/dbox-map-private.h, src/lib-storage/index/dbox
	/dbox-map.h:
	dbox: Fixed race condition when opening a message that was just
	moved to a different file.
	[67c36cebc975] <HEAD>

	* src/lib-index/mail-index-modseq.c:
	mail_index_map_modseq_clone() caused memory corruption.
	[335b4d648c6f] <HEAD>

2009-03-02  Timo Sirainen  <tss@iki.fi>

	* configure.in, src/imap/main.c, src/lib/restrict-access.c, src/lib
	/restrict-access.h, src/master/child-process.c, src/master/common.h,
	src/master/main.c, src/pop3/main.c:
	Improved logging for core dumping. With Linux use PR_SET_DUMPABLE
	for imap/pop3.
	[8350642f78f2] <HEAD>

2009-03-25  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-map.c:
	dbox: Don't allow copying the same message over 32768 times.
	[5ed59c9decaf] <HEAD>

	* src/lib-index/mail-index-transaction.c, src/lib-index/mail-index.h:
	mail_index_atomic_inc_ext() now returns the current diff sum.
	[07cdd2e39e31] <HEAD>

2009-03-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox
	/dbox-storage.c, src/lib-storage/index/dbox/dbox-storage.h:
	dbox: Delete mailboxes atomically and update its messages'
	refcounts.
	[9f7123fa2e92] <HEAD>

	* src/lib-storage/index/dbox/dbox-storage.c:
	dbox: No longer allow an empty MAILBOXDIR. Future code relies on
	this.
	[79928d158977] <HEAD>

	* src/lib-storage/index/dbox/dbox-storage.c, src/lib-
	storage/index/dbox/dbox-storage.h:
	dbox: Changed the default mailbox dir name, subscriptions and
	uidvalidity filenames.
	[07965db3d13d] <HEAD>

2009-03-12  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/list
	/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-list-fs.c, src
	/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
	Added :MAILBOXDIR= to mail_location to specify the root dir for
	mailboxes.
	[174f6dc92088] <HEAD>

2009-03-23  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox
	/dbox-map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib-
	storage/index/dbox/dbox-save.c, src/lib-storage/index/dbox/dbox-
	storage.c, src/lib-storage/index/dbox/dbox-storage.h, src/lib-
	storage/index/dbox/dbox-sync.c, src/lib-storage/index/dbox/dbox-
	sync.h:
	dbox: Implemented copying by changing refcounts.
	[1414916ad239] <HEAD>

	* src/util/idxview.c:
	idxview: SHow 16bit extension fields also as decimals.
	[48ea43893dfa] <HEAD>

	* src/lib-index/mail-index-transaction.c:
	mail_index_atomic_inc_ext() didn't handle multiple increments within
	a transaction.
	[e854f0140953] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c:
	dbox: Create missing storage directory automatically when needed.
	[314ea9000185] <HEAD>

	* src/lib-storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox
	/dbox-map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib-
	storage/index/dbox/dbox-storage-rebuild.c:
	dbox: Don't give an error if "storage" directory is missing.
	[617f328f8c3a] <HEAD>

	* src/lib-storage/index/dbox/dbox-save.c, src/lib-storage/index/dbox
	/dbox-storage-rebuild.c, src/lib-storage/index/dbox/dbox-storage.c,
	src/lib-storage/index/dbox/dbox-storage.h, src/lib-
	storage/index/dbox/dbox-sync-rebuild.c, src/lib-storage/index/dbox
	/dbox-sync.c:
	dbox: Create usable indexes when mailboxes are created.
	[18635bffc0d4] <HEAD>

	* src/lib-storage/index/index-mail-headers.c, src/lib-storage/index
	/index-mail.c, src/lib-storage/index/index-mail.h:
	Don't cache Date: header if we don't really want it.
	[1d856a4bf9bd] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox
	/dbox-map.h, src/lib-storage/index/dbox/dbox-sync-file.c:
	dbox: Cleaning wasn't actually expunging records from map index.
	[4373c6483df4] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c:
	dbox: Improved "Inconsistency in map index" error message.
	[5732e5a46cbb] <HEAD>

	* src/lib-index/mail-index-sync.c:
	mail_index_sync_get_offsets() now returns offset1 right.
	[dc858d9014ae] <HEAD>

	* src/lib-index/mail-cache.c, src/lib-index/mail-index-private.h, src
	/lib-index/mail-index-strmap.c, src/lib-index/mail-index.c, src/lib-
	index/mail-index.h, src/lib-storage/index/dbox/dbox-map.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/index-storage.h:
	dbox: Make sure indexes are never moved to memory (in case of out-
	of-disk space).
	[f295678cef1e] <HEAD>

	* src/lib-index/mail-transaction-log-file.c:
	Don't reset modseqs when reseting index.
	[8f82eb1f5033] <HEAD>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-mail.c, src/lib-storage/index/dbox/dbox-map-private.h, src
	/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox-
	map.h, src/lib-storage/index/dbox/dbox-storage-rebuild.c, src/lib-
	storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox/dbox-
	sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c, src/lib-
	storage/index/dbox/dbox-sync.h:
	dbox fixes.
	[3ece68d69218] <HEAD>

	* src/util/idxview.c:
	idxview: Updated showing dbox data.
	[733e065099f5] <HEAD>

2009-03-20  Timo Sirainen  <tss@iki.fi>

	* src/lib/istream.c, src/lib/istream.h:
	Added i_stream_is_eof().
	[5deb3ee1d655] <HEAD>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-mail.c, src/lib-storage/index/dbox/dbox-map-private.h, src
	/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox-
	map.h, src/lib-storage/index/dbox/dbox-storage-rebuild.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox-
	sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c:
	dbox bugfixes.
	[57162b905a9a] <HEAD>

	* src/lib-index/mail-index-transaction.c, src/lib-index/mail-
	transaction-log-append.c:
	Removed some asserts that dbox code hits now.
	[c4ac37a70d58] <HEAD>

	* src/lib-index/mail-index-sync.c:
	Mailbox syncing: If syncing wrote to transaction log, update the
	tail offset to include them.
	[78644bad1263] <HEAD>

	* src/lib-index/mail-index-write.c:
	Don't log an error if dovecot.index doesn't exist while trying to
	create the backup.
	[ad69d9cffade] <HEAD>

	* src/lib-storage/index/dbox/dbox-map-private.h, src/lib-
	storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox-
	map.h, src/lib-storage/index/dbox/dbox-save.c, src/lib-
	storage/index/dbox/dbox-storage-rebuild.c, src/lib-
	storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox
	/dbox-sync.c, src/lib-storage/index/dbox/dbox-sync.h:
	dbox: Initial code for handling crashes while writing to map index.
	[e17810deea46] <HEAD>

	* src/lib-index/mail-index-sync.c, src/lib-index/mail-index.h, src
	/lib-index/mail-transaction-log-append.c:
	Added FSYNC flag for transactions.
	[375be2dbeea7] <HEAD>

	* src/lib-index/mail-index-sync.c, src/lib-index/mail-index.h:
	Added mail_index_sync_get_offsets().
	[b12ae0c97069] <HEAD>

2009-03-18  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/Makefile.am, src/lib-storage/index/dbox
	/dbox-file.c, src/lib-storage/index/dbox/dbox-file.h, src/lib-
	storage/index/dbox/dbox-storage-rebuild.c, src/lib-
	storage/index/dbox/dbox-storage-rebuild.h, src/lib-
	storage/index/dbox/dbox-sync-rebuild.c, src/lib-storage/index/dbox
	/dbox-sync.c, src/lib-storage/index/dbox/dbox-sync.h:
	dbox: Initial commit for rebuilding multi-file dbox. Also added
	support for using backup index. These changes are fully untested.
	[cde92fa2bc37] <HEAD>

	* src/lib-index/mail-index-private.h, src/lib-index/mail-index-
	write.c, src/lib-index/mail-index.c, src/lib-index/mail-index.h, src
	/lib-storage/index/dbox/dbox-storage.c, src/lib-storage/index/index-
	storage.c, src/lib-storage/index/index-storage.h:
	dbox: Create dovecot.index.backup files.
	[63a75a03360c] <HEAD>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-file.h, src/lib-storage/index/dbox/dbox-mail.c, src/lib-
	storage/index/dbox/dbox-map-private.h, src/lib-storage/index/dbox
	/dbox-map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox-
	storage.h, src/lib-storage/index/dbox/dbox-sync-rebuild.c:
	dbox: Code cleanups.
	[79d93a807eac] <HEAD>

	* src/lib-storage/index/dbox/dbox-file-maildir.c, src/lib-
	storage/index/dbox/dbox-file.h, src/lib-storage/index/dbox/dbox-
	save.c:
	dbox: When saving a message, put the original mailbox name to
	metadata.
	[7d811ca70d28] <HEAD>

2009-03-13  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-sync-file.c:
	dbox: More error handling.
	[a93c247f80dc] <HEAD>

2009-03-11  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-file.h, src/lib-storage/index/dbox
	/dbox-map.c, src/lib-storage/index/dbox/dbox-sync-file.c:
	dbox: More error handling fixes.
	[ec6428000c5b] <HEAD>

	* src/lib-index/mail-cache-transaction.c, src/lib-index/mail-index-
	modseq.c, src/lib-index/mail-index-sync.c, src/lib-index/mail-index-
	transaction.c, src/lib-index/mail-index.h, src/lib-
	storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox-sync-
	rebuild.c, src/lib-storage/index/index-transaction.c, src/lib-
	storage/list/index-mailbox-list-sync.c:
	Removed rarely used parameters from mail_index_transaction_commit().
	mail_index_transaction_commit_get_pos() can be used where they're
	required.
	[4d4e1cbb61a0] <HEAD>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-file.h, src/lib-storage/index/dbox/dbox-mail.c, src/lib-
	storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox-
	map.h, src/lib-storage/index/dbox/dbox-storage.h, src/lib-
	storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox
	/dbox-sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c:
	dbox: Code cleanups and error handling improvements.
	[fb90b6e3b4b7] <HEAD>

	* src/lib-index/mail-index.c, src/lib-index/mail-index.h, src/lib-
	storage/index/index-storage.c, src/lib-storage/list/index-mailbox-
	list.c:
	Added mail_index_open_or_create().
	[f80f26822262] <HEAD>

	* src/imap/imap-fetch-body.c, src/imap/imap-fetch.c, src/imap/imap-
	fetch.h:
	imap: Code cleanup: Changed buffer to an array.
	[429ef7b9c19b] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox
	/dbox-map.h, src/lib-storage/index/dbox/dbox-sync-file.c:
	dbox: Fixes.
	[268eb42244b4] <HEAD>

	* src/imap/imap-fetch-body.c, src/imap/imap-fetch.h:
	imap: Improve "FETCH .. got too little data" error messages.
	[f30dcf3f85cc] <HEAD>

2009-03-10  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-file.h, src/lib-storage/index/dbox/dbox-map.c, src/lib-
	storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox
	/dbox-sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c:
	dbox: Reimplemented file cleanup in a safer way. Added some more
	error handling.
	[b381f1187f6b] <HEAD>

	* src/lib-storage/mail.c:
	Compile warning fix.
	[f8c2e4c437c9] <HEAD>

	* src/lib-index/mail-index-sync.c, src/lib-index/mail-index-
	transaction-private.h, src/lib-index/mail-transaction-log-append.c,
	src/lib-index/mail-transaction-log-file.c:
	indexes: Fixes to handling shrinking tail offsets.
	[e892aa297b85] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c:
	dbox: When doing a cleanup, need to refresh map index after locking.
	[30a5b6c58793] <HEAD>

	* src/lib-index/mail-index-transaction-private.h, src/lib-index/mail-
	index-transaction.c:
	indexes: Removed unnecessary code.
	[e79ffa619bd1] <HEAD>

2009-03-09  Timo Sirainen  <tss@iki.fi>

	* src/lib-index/mail-transaction-log-file.c:
	Improved "corrupted transaction log file" error message.
	[c2f364d3f389] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c:
	dbox: Make sure we don't append to files that are already unlinked.
	[8dc36dbb74c8] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox
	/dbox-sync-file.c:
	dbox fixes
	[e71b29410395] <HEAD>

	* src/lib-index/mail-transaction-log-append.c:
	If indexes had been reset, extension changes may have been written
	wrong.
	[61795c86bce8] <HEAD>

	* src/lib-index/mail-transaction-log-append.c:
	indexes: Don't add ext-intros unnecessarily twice for ext-rec
	updates. Also did some code cleanups.
	[f54e0ccb91ab] <HEAD>

	* src/lib-index/mail-index-view-sync.c:
	indexes: Crashfix to error handling.
	[dc421589c090] <HEAD>

2009-03-06  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-file.c:
	dbox: Locking fix.
	[e6ea97e43753] <HEAD>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib-
	storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox
	/dbox-sync.c:
	dbox: Fixes to save/expunge/cleanup.
	[6b0c6106b286] <HEAD>

	* src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-index-
	transaction.c:
	mail_index_atomic_inc_ext(): Added error checking.
	[ceb05b3db1d8] <HEAD>

	* src/util/idxview.c:
	idxview: Updated to show dbox message sizes.
	[b8774ddeaf7a] <HEAD>

2009-03-05  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-map.c:
	dbox: Saving shouldn't close any files after all, otherwise locks
	are lost.
	[c3287bf89274] <HEAD>

	* src/lib-index/mail-transaction-log-append.c, src/lib-index/mail-
	transaction-log-file.c:
	indexes: Make sure we don't shrink log_file_tail_offset.
	[993929dfa5fa] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c:
	dbox: Don't close file we appended to if we're still reading from
	it.
	[a5f9f8b67066] <HEAD>

	* src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox
	/dbox-map.h, src/lib-storage/index/dbox/dbox-storage.c, src/lib-
	storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox
	/dbox-sync.c, src/lib-storage/index/dbox/dbox-sync.h:
	dbox: File cleanup is for now done in logout.
	[9f7b62b814a8] <HEAD>

2009-03-04  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib-
	storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox
	/dbox-sync.c, src/lib-storage/index/dbox/dbox-sync.h:
	dbox: Initial support for expunging messages.
	[cb37f2732abc] <HEAD>

	* src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-index-sync-
	private.h, src/lib-index/mail-index-sync-update.c, src/lib-index
	/mail-index-sync.c, src/lib-index/mail-index-transaction-private.h,
	src/lib-index/mail-index-transaction.c, src/lib-index/mail-index.h,
	src/lib-index/mail-transaction-log-append.c, src/lib-index/mail-
	transaction-log.h, src/util/logview.c:
	Added mail_index_atomic_inc_ext() for atomically incrementing
	numbers in extensions.
	[9c50e7303513] <HEAD>

	* src/plugins/virtual/virtual-mail.c:
	virtual: Fixed to work again after set_uid_cache_updates() addition.
	[0fc03e326ccc] <HEAD>

2009-02-25  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox
	/dbox-map.h, src/lib-storage/index/dbox/dbox-save.c:
	dbox: Fixes to saving messages.
	[a48605408d18] <HEAD>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-file.h, src/lib-storage/index/dbox/dbox-map.c, src/lib-
	storage/index/dbox/dbox-map.h, src/lib-storage/index/dbox/dbox-
	save.c:
	dbox: Store message sizes to map index and use them. Some other save
	optimizations.
	[be17526a165d] <HEAD>

	* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox
	/dbox-mail.c, src/lib-storage/index/index-mail.c, src/lib-
	storage/index/index-mail.h, src/lib-storage/index/maildir/maildir-
	mail.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
	storage/index/raw/raw-mail.c, src/lib-storage/mail-copy.c, src/lib-
	storage/mail-storage-private.h:
	Mail copying: Avoid updating cache file because of copying. The mail
	is being opened in any case, so it's unlikely to help anything.
	[a1d920a81adc] <HEAD>

2009-02-24  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox
	/dbox-file.h, src/lib-storage/index/dbox/dbox-map.c, src/lib-
	storage/index/dbox/dbox-save.c:
	dbox: Save optimizations.
	[a0b72838b441] <HEAD>

	* src/lib/ostream-file.c, src/lib/ostream-internal.h,
	src/lib/ostream.c, src/lib/ostream.h:
	Added o_stream_pwrite().
	[47076db1f911] <HEAD>

	* src/lib-storage/index/mbox/mbox-sync.c, src/lib/istream-internal.h,
	src/lib/istream-limit.c, src/lib/istream.c, src/lib/istream.h,
	src/plugins/quota/quota-storage.c:
	Added i_stream_get_size(). Use it instead of i_stream_stat() where
	possible.
	[5106852f552a] <HEAD>

	* src/lib-storage/index/dbox/dbox-file-maildir.c, src/lib-
	storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox/dbox-
	file.h, src/lib-storage/index/dbox/dbox-mail.c, src/lib-
	storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox-
	map.h, src/lib-storage/index/dbox/dbox-save.c, src/lib-
	storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox-
	storage.h, src/lib-storage/index/dbox/dbox-sync-file.c, src/lib-
	storage/index/dbox/dbox-sync-rebuild.c, src/lib-storage/index/dbox
	/dbox-sync.c, src/lib-storage/index/index-storage.c, src/lib-
	storage/index/index-storage.h, src/lib-storage/mail-storage-
	private.h, src/lib-storage/mail.c:
	dbox: Initial support for saving multiple messages per file.
	[84379691de26] <HEAD>

	* src/util/idxview.c:
	idxview: Expand dbox map extension contents.
	[8d951b66a0e5] <HEAD>

	* src/lib/ostream-file.c:
	o_stream_send_istream(): Don't do backwards copying if the area
	doesn't really overlap.
	[334d29caa084] <HEAD>

	* src/lib/ostream-file.c:
	ostream: When copying backwards within a file, update in/outstream
	offsets.
	[3194ac1c6d75] <HEAD>

	* src/lib-index/mail-index-map.c:
	mail_index_map_ext_hdr_check(): Fixed a wrong check.
	[98c84ae0b659] <HEAD>

2009-02-19  Timo Sirainen  <tss@iki.fi>

	* src/util/idxview.c:
	idxview: Support specifying the name of dovecot.index file.
	[3ceb0878ab09] <HEAD>

2009-02-17  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-file-maildir.c, src/lib-
	storage/index/dbox/dbox-file-maildir.h, src/lib-storage/index/dbox
	/dbox-file.c, src/lib-storage/index/dbox/dbox-file.h:
	dbox: Some more code cleanups.
	[9a97b4f8f6d8] <HEAD>

	* src/lib-storage/index/dbox/Makefile.am, src/lib-storage/index/dbox
	/dbox-file-maildir.c, src/lib-storage/index/dbox/dbox-file.c, src
	/lib-storage/index/dbox/dbox-file.h, src/lib-storage/index/dbox
	/dbox-index.c, src/lib-storage/index/dbox/dbox-index.h, src/lib-
	storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox/dbox-
	map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib-
	storage/index/dbox/dbox-save.c, src/lib-storage/index/dbox/dbox-
	storage.c, src/lib-storage/index/dbox/dbox-storage.h, src/lib-
	storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox
	/dbox-sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c, src
	/lib-storage/index/dbox/dbox-sync.h:
	dbox: Cleaned up code to get ready for global storage.
	[e7b7bcbf96b0] <HEAD>

	* src/lib-storage/index/dbox/dbox-file.c:
	dbox: Removed some more unnecessary code.
	[0c600566d7ea] <HEAD>

2009-02-16  Timo Sirainen  <tss@iki.fi>

	* src/lib-storage/index/dbox/dbox-sync-rebuild.c:
	dbox: use mailbox uidvalidity file again for assigning new
	UIDVALIDITY.
	[60a6c6ff6873] <HEAD>

	* src/lib-storage/index/dbox/dbox-file.h, src/lib-storage/index/dbox
	/dbox-index.c, src/lib-storage/index/dbox/dbox-index.h, src/lib-
	storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox/dbox-
	sync-file.c:
	dbox: Removed dbox-index code.
	[0b626cf2dd10] <HEAD>

	* src/lib-storage/index/dbox/dbox-file-maildir.c, src/lib-
	storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox/dbox-
	file.h, src/lib-storage/index/dbox/dbox-index.c, src/lib-
	storage/index/dbox/dbox-index.h, src/lib-storage/index/dbox/dbox-
	save.c, src/lib-storage/index/dbox/dbox-storage.c, src/lib-
	storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox/dbox-
	sync-file.c, src/lib-storage/index/dbox/dbox-sync-rebuild.c, src
	/lib-storage/index/dbox/dbox-sync.c, src/lib-storage/index/dbox
	/dbox-sync.h, src/lib-storage/index/maildir/maildir-uidlist.c, src
	/lib-storage/index/maildir/maildir-uidlist.h:
	dbox: Removed code that is no longer necessary with the redesign.
	 - Maildir code now uses dovecot-uidlist directly instead of
	dbox.index.
	 - Flags and keywords are no longer written to metadata.
	 - Removed metadata modifying code entirely.
	 - dbox.index is no longer read or written. The code will be removed
	soon.
	[fef8259e7277] <HEAD>