History log of /dovecot/src/imap/imap-client.h
Revision Date Author Comments Expand
700f5298a28c60d19936c3c20a6e4ff7d588fd9c 16-Feb-2018 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Add client_create_finish() to finish namespace creation.

1c02804cdc5f1ad830fec081100e951bc67204b4 13-Dec-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Add client_command_context.event and use it as global event while running

fcad7b5f8913030ef5bb6f23022fcdf15a089e14 13-Dec-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Add client.event and use it as mail_*user's parent event

64c7bca60b07c3652f3071913f56c6029d6deae4 13-Dec-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap, pop3: Remove unnecessary call to mail_storage_service_io_deactivate() The context is automatically deactivated when service user is freed.

1519df1d514ed508c9708e3d2a4daf89e9c937e0 05-Oct-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

imap: Drop dependencies on lib-lda settings. Start using lib-smtp/smtp-submit-settings instead. Put any other settings required by IMAPSIEVE in struct imap_settings.

0c803d52adebb6b67e785380f88275f7daa325be 19-Jul-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

imap: Add %{appended} to imap_logout_format

0aa23d8824f31a55928d4631e0e702925d534f6e 19-Jul-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

imap-client: Add %{autoexpunged} to imap_logout_format

d6bb1be2c65b5bef882946a6610e8fdcfd4ea27e 19-Jul-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

imap-client: Add const char *disconnect_reason to client This is to allow using reason given to client_disconnect() via timeout context.

b596cac264eaa0fbd6cd74a279d58accccb7405b 10-Jul-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Don't do autoexpunging when IMAP client is hibernated

08406452bf0deae412437463618ed3f870ed03d5 20-May-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Move struct client_sync_context to imap-sync-private.h and add imap_ prefix

d64280bc41338078701e79aefaab3169686b683d 27-Apr-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Allow plugins to hook into syncing. Ideally all of the existing pieces in the syncing code would start using this at some point, so their code could be moved to a more logical location.

f10f05dfa64b3c005e630b0e1982c15d7ad2114c 24-Apr-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Add client_add_capability()

f231cd77594d5a30e92118a1f6dda31f0e48bb52 21-Apr-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Add imap_client_vfuncs.send_tagline() This allows plugins to catch all the IMAP command replies.

bf9e29ed2d95a81780effae125fe6dca688818c1 04-Apr-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Add client_command_context.human_args Generated with imap_write_args_for_human()

b98f1ffc049e8c4c1677173ea65830aa07b3ef87 19-Feb-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Fix running time in tagged command replies. The timing information was updated only after command_exec() returned. Most of the commands were handled within a single command_exec() though, so at the time when tagline was sent the running_usecs was still zero. The msecs in ioloop timing was correct though, because it relied only on the command start timing info.

9036b11c0f06193bfebab686d75982d7930cb517 19-Feb-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Include info about last command in disconnection log line. Only if LOGOUT isn't sent, because that's already visible.

5334234b155ced693feb925aeabd3a3cda07eacd 19-Feb-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Add imap_client.logged_out at LOGOUT This is useful for determining if client did a clean logout

567b56c2d6a1063cad997c956f3ed1d9d735f14e 19-Feb-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Code cleanup - move command stats to struct client_command_stats

704a96fa677763eef7ae62466e14e83a2f535427 06-Feb-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Add imap_fetch_failure setting This controls what happens when FETCH fails for some mails. The possible values are: disconnect-immediately: This is the original behavior. Whenever FETCH fails for a mail, the FETCH is aborted and client is disconnected. disconnect-after: The FETCH runs for all the requested mails, skipping any mails that returned failures, but at the end the client is still disconnected. no-after: The FETCH runs for all the requested mails, skipping any mails that returned failures. At the end tagged NO reply is returned. If the client attempts to FETCH the same failed mail more than once, the client is disconnected. This is to avoid clients from going into infinite loops trying to FETCH a broken mail.

9ac30c648aebe0660f137af18749917e2b62b556 23-Aug-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Track how much time was spent on waiting for locks.

0dffa25d211be541ee3c953b23566a1a990789df 06-Jun-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

global: unsigned int:1 -> bool:1 perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch]

/dovecot/src/anvil/anvil-connection.c /dovecot/src/anvil/penalty.c /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-penalty.c /dovecot/src/auth/auth-postfix-connection.c /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/db-checkpassword.c /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/db-sql.h /dovecot/src/auth/mech-digest-md5.c /dovecot/src/auth/passdb-pam.c /dovecot/src/auth/userdb-passwd.c /dovecot/src/auth/userdb-sql.c /dovecot/src/auth/userdb-static.c /dovecot/src/config/config-connection.c /dovecot/src/config/config-parser-private.h /dovecot/src/config/doveconf.c /dovecot/src/dict/dict-connection.h /dovecot/src/director/director-connection.c /dovecot/src/director/director-host.h /dovecot/src/director/director.h /dovecot/src/director/doveadm-connection.c /dovecot/src/director/login-connection.c /dovecot/src/director/mail-host.h /dovecot/src/director/user-directory.h /dovecot/src/doveadm/client-connection.h /dovecot/src/doveadm/doveadm-dsync.c /dovecot/src/doveadm/doveadm-mail-index.c /dovecot/src/doveadm/doveadm-mail-mailbox-status.c /dovecot/src/doveadm/doveadm-mail.h /dovecot/src/doveadm/doveadm-print-flow.c /dovecot/src/doveadm/doveadm-print-pager.c /dovecot/src/doveadm/doveadm-print-tab.c /dovecot/src/doveadm/doveadm-print-table.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/dsync/dsync-brain-private.h /dovecot/src/doveadm/dsync/dsync-ibc-private.h /dovecot/src/doveadm/dsync/dsync-ibc-stream.c /dovecot/src/doveadm/dsync/dsync-mailbox-export.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-mailbox-tree.h /dovecot/src/doveadm/server-connection.c /dovecot/src/imap-login/imap-login-client.h /dovecot/src/imap-urlauth/imap-urlauth-client.h /dovecot/src/imap-urlauth/imap-urlauth-login.c /dovecot/src/imap-urlauth/imap-urlauth-worker.c cmd-append.c cmd-idle.c cmd-list.c cmd-select.c cmd-urlfetch.c imap-client.h imap-fetch-body.c imap-fetch.h imap-notify.h imap-search.h imap-sync.c /dovecot/src/indexer/indexer-client.c /dovecot/src/indexer/indexer-queue.h /dovecot/src/indexer/master-connection.c /dovecot/src/indexer/worker-connection.c /dovecot/src/ipc/ipc-connection.h /dovecot/src/lib-auth/auth-client-private.h /dovecot/src/lib-auth/auth-master.c /dovecot/src/lib-auth/auth-master.h /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-compression/istream-bzlib.c /dovecot/src/lib-compression/istream-lz4.c /dovecot/src/lib-compression/istream-lzma.c /dovecot/src/lib-compression/istream-zlib.c /dovecot/src/lib-compression/ostream-bzlib.c /dovecot/src/lib-compression/ostream-lzma.c /dovecot/src/lib-compression/ostream-zlib.c /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-fs/fs-api-private.h /dovecot/src/lib-http/http-client-private.h /dovecot/src/lib-http/http-header-parser.c /dovecot/src/lib-http/http-message-parser.h /dovecot/src/lib-http/http-request-parser.c /dovecot/src/lib-http/http-request.h /dovecot/src/lib-http/http-response.h /dovecot/src/lib-http/http-server-private.h /dovecot/src/lib-http/http-transfer-chunked.c /dovecot/src/lib-http/http-url.c /dovecot/src/lib-http/http-url.h /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-imap-storage/imap-metadata.c /dovecot/src/lib-imap-storage/imap-msgpart-url.c /dovecot/src/lib-imap-storage/imap-msgpart.c /dovecot/src/lib-imap-urlauth/imap-urlauth-connection.c /dovecot/src/lib-imap-urlauth/imap-urlauth-fetch.c /dovecot/src/lib-imap-urlauth/imap-urlauth-fetch.h /dovecot/src/lib-imap-urlauth/imap-urlauth-private.h /dovecot/src/lib-imap/imap-arg.h /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-url.c /dovecot/src/lib-imap/imap-url.h /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log-view-private.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-lda/duplicate.c /dovecot/src/lib-lda/lmtp-client.c /dovecot/src/lib-mail/istream-binary-converter.c /dovecot/src/lib-mail/istream-dot.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/message-decoder.c /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-parser.c /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-search.c /dovecot/src/lib-master/ipc-server.c /dovecot/src/lib-master/master-instance.c /dovecot/src/lib-master/master-login-auth.c /dovecot/src/lib-master/master-login.c /dovecot/src/lib-master/master-login.h /dovecot/src/lib-master/master-service-private.h /dovecot/src/lib-master/master-service-settings-cache.c /dovecot/src/lib-master/master-service-settings.h /dovecot/src/lib-master/master-service.h /dovecot/src/lib-master/service-settings.h /dovecot/src/lib-sql/driver-cassandra.c /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/driver-sqlite.c /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-ssl-iostream/iostream-openssl.h /dovecot/src/lib-storage/index/cydir/cydir-save.c /dovecot/src/lib-storage/index/dbox-common/dbox-file.h /dovecot/src/lib-storage/index/dbox-common/dbox-save.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map-private.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/imapc/imapc-list.h /dovecot/src/lib-storage/index/imapc/imapc-save.c /dovecot/src/lib-storage/index/imapc/imapc-storage.h /dovecot/src/lib-storage/index/imapc/imapc-sync.h /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-rebuild.h /dovecot/src/lib-storage/index/index-search-private.h /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort-string.c /dovecot/src/lib-storage/index/index-thread-finish.c /dovecot/src/lib-storage/index/index-thread-private.h /dovecot/src/lib-storage/index/index-thread.c /dovecot/src/lib-storage/index/istream-mail.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/index/pop3c/pop3c-client.c /dovecot/src/lib-storage/index/pop3c/pop3c-storage.h /dovecot/src/lib-storage/index/raw/raw-storage.h /dovecot/src/lib-storage/list/mailbox-list-fs-iter.c /dovecot/src/lib-storage/list/mailbox-list-index-notify.c /dovecot/src/lib-storage/list/mailbox-list-index-sync.h /dovecot/src/lib-storage/list/mailbox-list-index.h /dovecot/src/lib-storage/list/mailbox-list-iter.c /dovecot/src/lib-storage/list/mailbox-list-none.c /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-search-register.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage-service.c /dovecot/src/lib-storage/mail-storage-service.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail-user.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-search-result-private.h /dovecot/src/lib-storage/mailbox-tree.c /dovecot/src/lib/buffer.c /dovecot/src/lib/connection.h /dovecot/src/lib/file-dotlock.c /dovecot/src/lib/file-dotlock.h /dovecot/src/lib/ioloop-private.h /dovecot/src/lib/istream-crlf.c /dovecot/src/lib/istream-file-private.h /dovecot/src/lib/istream-jsonstr.c /dovecot/src/lib/istream-mmap.c /dovecot/src/lib/istream-private.h /dovecot/src/lib/istream-tee.c /dovecot/src/lib/istream.h /dovecot/src/lib/mempool.h /dovecot/src/lib/module-dir.h /dovecot/src/lib/ostream-file-private.h /dovecot/src/lib/ostream-private.h /dovecot/src/lib/ostream.h /dovecot/src/lmtp/client.h /dovecot/src/lmtp/lmtp-proxy.c /dovecot/src/log/log-connection.c /dovecot/src/login-common/client-common.h /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/service-process.h /dovecot/src/master/service.h /dovecot/src/plugins/acl/acl-api-private.h /dovecot/src/plugins/acl/acl-api.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-lookup-dict.c /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts-squat/squat-trie-private.h /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-indexer.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/fts/fts-storage.h /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/pop3-migration/pop3-migration-plugin.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/pop3/pop3-client.h /dovecot/src/replication/replicator/dsync-client.c /dovecot/src/replication/replicator/notify-connection.c /dovecot/src/replication/replicator/replicator-brain.c /dovecot/src/replication/replicator/replicator-queue.h
5ceeb24b0d12e3368a78e17ce4b14d1c900fb223 17-May-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Include sync timing information in tagged command replies. Show it only when it's larger than 0 to avoid unnecessary output.

3c5d1187e825bc9fd4f8ccf3911cc34df3d3e05f 01-May-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Added struct client_command_context.tagline_reply Can be used by plugins.

c15e8f33c81141381a788bf8f9aa3d407e3b1ee2 23-Mar-2016 Stephan Bosch <stephan@rename-it.nl>

imap: Made LDA settings accessible from plugins. This way, plugins can also send mail.

1ddf959a750f3860feff4ab3f0e908f32740978f 08-Dec-2015 Timo Sirainen <tss@iki.fi>

imap: Added assert to make sure client_command_context isn't freed too early.

117bc062ec4a3770f6e4291e4697895d66d0f18a 24-Nov-2015 Timo Sirainen <tss@iki.fi>

imap: Added extra assert checks to make sure command states are consistent.

c9b76ca218d93dc97e27d6ec04a645e8dc6f228b 21-Sep-2015 Timo Sirainen <tss@iki.fi>

imap: If client disconnects, log the in-progress commands' input/output bytes.

266d72b0b32d5b105de96aac0c050d5a4c0ed3a8 21-Sep-2015 Timo Sirainen <tss@iki.fi>

imap: Improved command timing information reporting. We now report also the time we spent waiting on ioloop. Also fixed reporting command timing information when multiple commands were running in parallel (e.g. SEARCH + FETCH). If multiple commands are running in parallel they all report the same ioloop wait time, because there's no easy way to know which one of them caused the wait.

5ef28f68edef46f69961b19b7c1dcd8ec5a955e8 24-Aug-2015 Timo Sirainen <tss@iki.fi>

Added imap-hibernate process for gathering IDLEing imap processes. imap_hibernate_timeout setting controls how quickly the connection is moved from imap process to imap-hibernate process. Some IMAP extensions like NOTIFY, SEARCH=CONTEXT and COMPRESS aren't supported yet. There's also a new X-STATE command, which can be used to export the current IMAP connection state to a string and later on imported to get back to the original state (a quick resync feature for IMAP clients). However, this command is disabled for now due to the current code being unoptimized for untrusted input.

/dovecot/.hgignore /dovecot/configure.ac /dovecot/src/Makefile.am /dovecot/src/imap-hibernate/Makefile.am /dovecot/src/imap-hibernate/imap-client.c /dovecot/src/imap-hibernate/imap-client.h /dovecot/src/imap-hibernate/imap-hibernate-client.c /dovecot/src/imap-hibernate/imap-hibernate-client.h /dovecot/src/imap-hibernate/imap-hibernate-settings.c /dovecot/src/imap-hibernate/imap-master-connection.c /dovecot/src/imap-hibernate/imap-master-connection.h /dovecot/src/imap-hibernate/main.c Makefile.am cmd-idle.c cmd-x-state.c imap-client-hibernate.c imap-client.c imap-client.h imap-commands.c imap-commands.h imap-common.h imap-master-client.c imap-master-client.h imap-settings.c imap-settings.h imap-state.c imap-state.h main.c /dovecot/src/lib-storage/mail-user.c /dovecot/src/plugins/imap-zlib/imap-zlib-plugin.c
760245ee05c5685122ca29427dffedbeed4b24bc 15-May-2015 Timo Sirainen <tss@iki.fi>

imap: Added %{deleted}, %{expunged} and %{trashed} to imap_logout_format

defeb23b40f1c1af0535a84529383825e5ef8dfe 15-May-2015 Timo Sirainen <tss@iki.fi>

Added %{fetch_hdr/body_count/bytes} variables to imap_logout_format

8808ae64126694d020a4d454972d48e106ab829a 21-Apr-2015 Timo Sirainen <tss@iki.fi>

imap: Include in tagged reply how much running time each IMAP command takes. The running time doesn't include time spent waiting for the client on ioloop.

2df651ae18342cbe72c92d5489af5fc582b65937 25-Sep-2014 Timo Sirainen <tss@iki.fi>

imap, pop3: Show user's proper log prefix when deinitializing users at exit.

59714981ae172b5113be7ca9b8be518b759fc86d 19-Dec-2013 Timo Sirainen <tss@iki.fi>

imap: if mailbox has non-permanent modseqs, never send HIGHESTMODSEQ/MODSEQs.

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

imap: Added initial support for METADATA extension. For now this is enabled only when imap_metadata=yes setting is used. The setting will go away once the feature is complete. Also mail_attribute_dict must be set. TODO: - Metadata doesn't work for public namespaces. There should probably be a mail_attribute_public_dict setting for that. - There isn't any kind of quota or other limits - After ENABLE METADATA start sending untagged METADATA entries to clients - /shared/admin should probably return postmaster_address URL - Check if we handle ACLs correctly - RFC says that it SHOULD be possible to set METADATA entries to \NoSelect mailboxes. We probably will never allow this though.

24491cfd5ea07fa30c11ae8d84e8841865aefcc8 03-Oct-2012 Timo Sirainen <tss@iki.fi>

imap: Removed unnecessary code.

f9511e684858bf5f6ac77ab12254b85b737beae8 15-Sep-2012 Stephan Bosch <stephan@rename-it.nl>

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?..)

/dovecot/.hgignore /dovecot/README /dovecot/configure.in /dovecot/src/Makefile.am /dovecot/src/imap-urlauth/Makefile.am /dovecot/src/imap-urlauth/imap-urlauth-client.c /dovecot/src/imap-urlauth/imap-urlauth-client.h /dovecot/src/imap-urlauth/imap-urlauth-common.h /dovecot/src/imap-urlauth/imap-urlauth-login-settings.c /dovecot/src/imap-urlauth/imap-urlauth-login-settings.h /dovecot/src/imap-urlauth/imap-urlauth-login.c /dovecot/src/imap-urlauth/imap-urlauth-settings.c /dovecot/src/imap-urlauth/imap-urlauth-settings.h /dovecot/src/imap-urlauth/imap-urlauth-worker-settings.c /dovecot/src/imap-urlauth/imap-urlauth-worker-settings.h /dovecot/src/imap-urlauth/imap-urlauth-worker.c /dovecot/src/imap-urlauth/imap-urlauth.c Makefile.am cmd-genurlauth.c cmd-resetkey.c cmd-urlfetch.c imap-client.c imap-client.h imap-commands.c imap-commands.h imap-settings.c imap-settings.h main.c /dovecot/src/lib-imap-urlauth/Makefile.am /dovecot/src/lib-imap-urlauth/imap-urlauth-backend.c /dovecot/src/lib-imap-urlauth/imap-urlauth-backend.h /dovecot/src/lib-imap-urlauth/imap-urlauth-connection.c /dovecot/src/lib-imap-urlauth/imap-urlauth-connection.h /dovecot/src/lib-imap-urlauth/imap-urlauth-fetch.c /dovecot/src/lib-imap-urlauth/imap-urlauth-fetch.h /dovecot/src/lib-imap-urlauth/imap-urlauth-private.h /dovecot/src/lib-imap-urlauth/imap-urlauth.c /dovecot/src/lib-imap-urlauth/imap-urlauth.h
945b6f8c7d73a34e3c467b83b5fa9f057bd768b9 29-Aug-2012 Timo Sirainen <tss@iki.fi>

imap: Added asserts to make sure a tagline isn't sent twice to the same command.

5a7acd67806132cbc1ec9578df60d712d307e4be 21-Aug-2012 Timo Sirainen <tss@iki.fi>

imap: Fixed command output locking.

4ee00532a265bdfb38539d811fcd12d51210ac35 19-Aug-2012 Timo Sirainen <tss@iki.fi>

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]

/dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-settings.c /dovecot/src/auth/auth-settings.h /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/auth.c /dovecot/src/auth/db-ldap.h /dovecot/src/auth/main.c /dovecot/src/auth/passdb-template.c /dovecot/src/auth/passdb.c /dovecot/src/auth/userdb-template.c /dovecot/src/auth/userdb.c /dovecot/src/config/config-parser-private.h /dovecot/src/config/config-parser.c /dovecot/src/dict/dict-connection.h /dovecot/src/dict/dict-settings.h /dovecot/src/director/director-test.c /dovecot/src/director/director.h /dovecot/src/director/mail-host.c /dovecot/src/director/main.c /dovecot/src/director/user-directory.c /dovecot/src/doveadm/doveadm-dump.c /dovecot/src/doveadm/doveadm-kick.c /dovecot/src/doveadm/doveadm-mail-altmove.c /dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mail.h /dovecot/src/doveadm/doveadm-print-flow.c /dovecot/src/doveadm/doveadm-print-pager.c /dovecot/src/doveadm/doveadm-print-table.c /dovecot/src/doveadm/doveadm-print.c /dovecot/src/doveadm/doveadm-server.h /dovecot/src/doveadm/doveadm-settings.h /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/doveadm-who.c /dovecot/src/doveadm/doveadm.c /dovecot/src/doveadm/dsync/dsync-mailbox-export.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-mailbox-tree-private.h /dovecot/src/doveadm/dsync/dsync-mailbox-tree-sync.c /dovecot/src/doveadm/dsync/dsync-slave-pipe.c cmd-list.c imap-client.h imap-commands-util.c imap-commands.c imap-fetch.c imap-fetch.h imap-notify.h imap-search.h /dovecot/src/indexer/worker-connection.c /dovecot/src/ipc/ipc-connection.h /dovecot/src/ipc/ipc-group.c /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-dict/dict-memcached-ascii.c /dovecot/src/lib-dict/dict-redis.c /dovecot/src/lib-dict/dict-sql-settings.c /dovecot/src/lib-dict/dict-sql-settings.h /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-dict/dict-transaction-memory.h /dovecot/src/lib-dict/dict.c /dovecot/src/lib-imap-client/imapc-client-private.h /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-modseq.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-export.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-view.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-transaction-log-view-private.h /dovecot/src/lib-lda/lmtp-client.c /dovecot/src/lib-lda/mail-deliver.h /dovecot/src/lib-mail/istream-attachment-connector.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/rfc2231-parser.c /dovecot/src/lib-mail/test-istream-attachment.c /dovecot/src/lib-master/anvil-client.c /dovecot/src/lib-master/ipc-client.c /dovecot/src/lib-master/master-instance.c /dovecot/src/lib-master/master-service-settings.c /dovecot/src/lib-master/mountpoint-list.c /dovecot/src/lib-settings/settings-parser.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/driver-sqlpool.c /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-storage/index/dbox-common/dbox-file.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map-private.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-save.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/dbox-single/sdbox-save.c /dovecot/src/lib-storage/index/imapc/imapc-storage.h /dovecot/src/lib-storage/index/index-mail-binary.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-search-private.h /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-sync-changes.c /dovecot/src/lib-storage/index/index-thread-finish.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/list/mailbox-list-fs-iter.c /dovecot/src/lib-storage/list/mailbox-list-index-notify.c /dovecot/src/lib-storage/list/mailbox-list-maildir.c /dovecot/src/lib-storage/mail-search-register-human.c /dovecot/src/lib-storage/mail-search-register.c /dovecot/src/lib-storage/mail-storage-hooks.c /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage-settings.h /dovecot/src/lib-storage/mail-user.h /dovecot/src/lib-storage/mailbox-keywords.c /dovecot/src/lib-storage/mailbox-list-iter.c /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-tree.c /dovecot/src/lib/array-decl.h /dovecot/src/lib/array.h /dovecot/src/lib/ioloop-epoll.c /dovecot/src/lib/ioloop-kqueue.c /dovecot/src/lib/ioloop-private.h /dovecot/src/lib/lib.h /dovecot/src/lib/module-context.h /dovecot/src/lib/priorityq.c /dovecot/src/lib/test-aqueue.c /dovecot/src/lib/test-array.c /dovecot/src/lib/var-expand.c /dovecot/src/lmtp/client.h /dovecot/src/lmtp/lmtp-proxy.c /dovecot/src/log/log-connection.c /dovecot/src/master/service-listen.c /dovecot/src/master/service-process-notify.c /dovecot/src/master/service.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-cache.c /dovecot/src/plugins/expire/doveadm-expire.c /dovecot/src/plugins/expire/expire-set.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-lucene/lucene-wrapper.cc /dovecot/src/plugins/fts-solr/fts-backend-solr-old.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/fts/fts-api.c /dovecot/src/plugins/fts/fts-parser-script.c /dovecot/src/plugins/fts/fts-storage.h /dovecot/src/plugins/pop3-migration/pop3-migration-plugin.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-search.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/plugins/virtual/virtual-transaction.h /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-client.h /dovecot/src/replication/replicator/replicator-brain.c /dovecot/src/replication/replicator/replicator-queue.c /dovecot/src/ssl-params/main.c
51cbc45fc1ac5dde29bc2adbb175945df1b4f7d4 13-Aug-2012 Timo Sirainen <tss@iki.fi>

imap: Implemented NOTIFY extension. Requires mailbox_list_index=yes to work (and to show up in capabilities). SubscriptionChange event is still unimplemented.

e34d170f8f0e084bd94bfbc1a7085ece67e508df 25-Jun-2012 Timo Sirainen <tss@iki.fi>

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.

/dovecot/src/anvil/main.c /dovecot/src/auth/auth-request.c /dovecot/src/auth/mech-digest-md5.c /dovecot/src/auth/mech-scram-sha1.c /dovecot/src/auth/passdb-blocking.c /dovecot/src/auth/password-scheme-otp.c /dovecot/src/auth/userdb-blocking.c /dovecot/src/auth/userdb-sql.c /dovecot/src/config/doveconf.c /dovecot/src/config/main.c /dovecot/src/config/old-set-parser.c /dovecot/src/dict/dict-commands.c /dovecot/src/dict/main.c /dovecot/src/director/director-connection.c /dovecot/src/director/director-host.c /dovecot/src/director/director.c /dovecot/src/director/doveadm-connection.c /dovecot/src/director/mail-host.c /dovecot/src/director/main.c /dovecot/src/director/test-user-directory.c /dovecot/src/doveadm/doveadm-dump-dbox.c /dovecot/src/doveadm/doveadm-mail-server.c /dovecot/src/doveadm/doveadm-mailbox-list-iter.c /dovecot/src/doveadm/doveadm-mount.c /dovecot/src/doveadm/doveadm-penalty.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/dsync/doveadm-dsync.c /dovecot/src/doveadm/dsync/dsync-brain-mailbox-tree.c /dovecot/src/doveadm/dsync/dsync-brain-mailbox.c /dovecot/src/doveadm/dsync/dsync-brain-mails.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-mailbox-tree.c /dovecot/src/doveadm/dsync/dsync-slave.c /dovecot/src/doveadm/dsync/dsync-slave.h /dovecot/src/doveadm/server-connection.c /dovecot/src/doveadm/server-connection.h /dovecot/src/imap-login/client.c cmd-fetch.c cmd-idle.c cmd-list.c imap-client.c imap-client.h imap-fetch-body.c imap-sync.c main.c /dovecot/src/indexer/master-connection.c /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-quote.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-map-hdr.c /dovecot/src/lib-index/mail-index-modseq.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-sort-appends.c /dovecot/src/lib-index/mail-index-transaction-update.c /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-write.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-transaction-log-file.c /dovecot/src/lib-index/test-mail-index-transaction-update.c /dovecot/src/lib-index/test-mail-transaction-log-append.c /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-part-serialize.c /dovecot/src/lib-mail/rfc822-parser.c /dovecot/src/lib-mail/test-istream-dot.c /dovecot/src/lib-ntlm/ntlm-des.c /dovecot/src/lib-ntlm/ntlm-des.h /dovecot/src/lib-ntlm/ntlm-encrypt.c /dovecot/src/lib-ntlm/ntlm-encrypt.h /dovecot/src/lib-otp/otp-hash.c /dovecot/src/lib-otp/otp-hash.h /dovecot/src/lib-storage/index/dbox-common/dbox-file-fix.c /dovecot/src/lib-storage/index/dbox-common/dbox-file.c /dovecot/src/lib-storage/index/dbox-common/dbox-sync-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-purge.c /dovecot/src/lib-storage/index/dbox-single/sdbox-copy.c /dovecot/src/lib-storage/index/imapc/imapc-mail.c /dovecot/src/lib-storage/index/imapc/imapc-storage.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort-string.c /dovecot/src/lib-storage/index/index-sort.c /dovecot/src/lib-storage/index/index-status.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync-changes.c /dovecot/src/lib-storage/index/index-sync.c /dovecot/src/lib-storage/index/index-thread.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/index/pop3c/pop3c-client.c /dovecot/src/lib-storage/index/raw/raw-mail.c /dovecot/src/lib-storage/mail-search-build.c /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail.c /dovecot/src/lib-storage/mailbox-get.c /dovecot/src/lib-storage/mailbox-uidvalidity.c /dovecot/src/lib/data-stack.c /dovecot/src/lib/hash.c /dovecot/src/lib/hostpid.c /dovecot/src/lib/iostream-rawlog.c /dovecot/src/lib/md4.c /dovecot/src/lib/md5.c /dovecot/src/lib/mountpoint.c /dovecot/src/lib/nfs-workarounds.c /dovecot/src/lib/nfs-workarounds.h /dovecot/src/lib/seq-range-array.c /dovecot/src/lib/seq-range-array.h /dovecot/src/lib/test-base64.c /dovecot/src/lib/test-network.c /dovecot/src/lib/test-ostream-file.c /dovecot/src/lib/test-seq-range-array.c /dovecot/src/log/log-connection.c /dovecot/src/log/log-connection.h /dovecot/src/login-common/client-common-auth.c /dovecot/src/login-common/login-proxy-state.c /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/main.c /dovecot/src/master/service-anvil.c /dovecot/src/master/service-process.c /dovecot/src/master/service-process.h /dovecot/src/plugins/autocreate/autocreate-plugin.c /dovecot/src/plugins/expire/doveadm-expire.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/imap-zlib/imap-zlib-plugin.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/stats/stats-connection.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/plugins/zlib/doveadm-zlib.c /dovecot/src/plugins/zlib/ostream-zlib.c /dovecot/src/pop3/main.c /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-client.h /dovecot/src/pop3/pop3-commands.c /dovecot/src/replication/aggregator/notify-connection.c /dovecot/src/replication/replicator/notify-connection.c /dovecot/src/stats/main.c /dovecot/src/util/rawlog.c
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4 23-Jun-2012 Timo Sirainen <tss@iki.fi>

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

/dovecot/src/anvil/main.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-settings.h /dovecot/src/auth/auth-stream.h /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/auth.c /dovecot/src/auth/auth.h /dovecot/src/auth/db-checkpassword.h /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/main.c /dovecot/src/auth/mech-anonymous.c /dovecot/src/auth/mech-apop.c /dovecot/src/auth/mech-cram-md5.c /dovecot/src/auth/mech-ntlm.c /dovecot/src/auth/mech-otp-skey-common.c /dovecot/src/auth/mech-plain-common.c /dovecot/src/auth/mech-rpa.c /dovecot/src/auth/mech-winbind.c /dovecot/src/auth/mech.c /dovecot/src/auth/password-scheme-otp.c /dovecot/src/auth/password-scheme.h /dovecot/src/auth/userdb-passwd.c /dovecot/src/auth/userdb-static.c /dovecot/src/auth/userdb.h /dovecot/src/config/config-parser-private.h /dovecot/src/config/config-request.h /dovecot/src/config/doveconf.c /dovecot/src/config/main.c /dovecot/src/dict/main.c /dovecot/src/director/director-connection.c /dovecot/src/director/director-test.c /dovecot/src/director/director.h /dovecot/src/dns/dns-client.c /dovecot/src/doveadm/doveadm-director.c /dovecot/src/doveadm/doveadm-log.c /dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mail-iter.h /dovecot/src/doveadm/doveadm-mail-mailbox-status.c /dovecot/src/doveadm/dsync/doveadm-dsync.c /dovecot/src/doveadm/dsync/dsync-brain.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-slave-io.c /dovecot/src/doveadm/main.c /dovecot/src/imap-login/client.c /dovecot/src/imap-login/client.h cmd-append.c cmd-expunge.c imap-client.h imap-commands-util.h imap-expunge.h imap-fetch-body.c imap-fetch.h imap-search.h imap-sync.c /dovecot/src/indexer/indexer.c /dovecot/src/indexer/master-connection.c /dovecot/src/ipc/client.c /dovecot/src/ipc/main.c /dovecot/src/lib-auth/auth-client-request.c /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-master.c /dovecot/src/lib-auth/auth-master.h /dovecot/src/lib-dict/dict.h /dovecot/src/lib-dns/dns-lookup.h /dovecot/src/lib-imap-client/imapc-connection.h /dovecot/src/lib-imap-storage/imap-msgpart.c /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-url.c /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-alloc-cache.c /dovecot/src/lib-index/mail-index-alloc-cache.h /dovecot/src/lib-index/mail-index-map-hdr.c /dovecot/src/lib-index/mail-index-map.c /dovecot/src/lib-index/mail-index-util.h /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-lda/mail-deliver.h /dovecot/src/lib-lda/smtp-client.h /dovecot/src/lib-mail/istream-binary-converter.c /dovecot/src/lib-mail/istream-dot.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.c /dovecot/src/lib-mail/message-search.h /dovecot/src/lib-mail/message-size.c /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-mail/rfc822-parser.h /dovecot/src/lib-mail/test-istream-header-filter.c /dovecot/src/lib-master/anvil-client.h /dovecot/src/lib-master/ipc-client.h /dovecot/src/lib-master/ipc-server.c /dovecot/src/lib-master/master-service-settings-cache.h /dovecot/src/lib-master/master-service-settings.h /dovecot/src/lib-master/master-service.c /dovecot/src/lib-master/master-service.h /dovecot/src/lib-master/mountpoint-list.c /dovecot/src/lib-ntlm/ntlm-encrypt.c /dovecot/src/lib-ntlm/ntlm-encrypt.h /dovecot/src/lib-otp/otp-parse.c /dovecot/src/lib-settings/settings-parser.c /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/driver-sqlpool.c /dovecot/src/lib-sql/sql-api.c /dovecot/src/lib-storage/index/dbox-common/dbox-file-fix.c /dovecot/src/lib-storage/index/dbox-common/dbox-save.h /dovecot/src/lib-storage/index/dbox-common/dbox-storage.c /dovecot/src/lib-storage/index/dbox-common/dbox-sync-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-map.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-sync.c /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.c /dovecot/src/lib-storage/index/imapc/imapc-mail.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync-changes.h /dovecot/src/lib-storage/index/maildir/maildir-filename-flags.c /dovecot/src/lib-storage/index/maildir/maildir-filename-flags.h /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync-index.c /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-sync.h /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/maildir/maildir-util.c /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/index/raw/raw-storage.c /dovecot/src/lib-storage/index/shared/shared-storage.c /dovecot/src/lib-storage/list/mailbox-list-delete.c /dovecot/src/lib-storage/list/mailbox-list-fs-iter.c /dovecot/src/lib-storage/list/mailbox-list-fs.c /dovecot/src/lib-storage/list/mailbox-list-index-status.c /dovecot/src/lib-storage/list/mailbox-list-index.c /dovecot/src/lib-storage/list/mailbox-list-maildir.c /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-service.c /dovecot/src/lib-storage/mail-storage-service.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail-thread.h /dovecot/src/lib-storage/mail.c /dovecot/src/lib-storage/mailbox-get.c /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/lib-storage/mailbox-tree.c /dovecot/src/lib-storage/mailbox-tree.h /dovecot/src/lib-test/test-common.h /dovecot/src/lib/base64.h /dovecot/src/lib/buffer.h /dovecot/src/lib/child-wait.h /dovecot/src/lib/eacces-error.h /dovecot/src/lib/failures.c /dovecot/src/lib/file-dotlock.c /dovecot/src/lib/hash.c /dovecot/src/lib/hash.h /dovecot/src/lib/hash2.h /dovecot/src/lib/ioloop-notify-fd.h /dovecot/src/lib/ioloop.c /dovecot/src/lib/ioloop.h /dovecot/src/lib/iso8601-date.c /dovecot/src/lib/istream-base64-encoder.c /dovecot/src/lib/istream-chain.c /dovecot/src/lib/istream-chain.h /dovecot/src/lib/istream-crlf.c /dovecot/src/lib/istream-private.h /dovecot/src/lib/istream-seekable.h /dovecot/src/lib/istream.c /dovecot/src/lib/istream.h /dovecot/src/lib/lib-signals.c /dovecot/src/lib/lib-signals.h /dovecot/src/lib/macros.h /dovecot/src/lib/mkdir-parents.c /dovecot/src/lib/module-dir.h /dovecot/src/lib/network.c /dovecot/src/lib/network.h /dovecot/src/lib/ostream-private.h /dovecot/src/lib/ostream.c /dovecot/src/lib/ostream.h /dovecot/src/lib/restrict-access.h /dovecot/src/lib/safe-mkstemp.c /dovecot/src/lib/strfuncs.c /dovecot/src/lib/strfuncs.h /dovecot/src/lib/test-iso8601-date.c /dovecot/src/lib/uri-util.c /dovecot/src/lib/uri-util.h /dovecot/src/lib/var-expand.h /dovecot/src/lmtp/client.h /dovecot/src/lmtp/lmtp-proxy.h /dovecot/src/log/main.c /dovecot/src/login-common/client-common-auth.c /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/login-settings.h /dovecot/src/login-common/sasl-server.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/common.h /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-lucene/lucene-wrapper.h /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts-squat/squat-trie.h /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota.c /dovecot/src/pop3/pop3-client.h /dovecot/src/replication/aggregator/aggregator.c /dovecot/src/replication/replicator/replicator.c /dovecot/src/ssl-params/main.c /dovecot/src/stats/mail-domain.h /dovecot/src/stats/mail-ip.h /dovecot/src/stats/mail-session.h /dovecot/src/stats/mail-user.h /dovecot/src/stats/main.c
6816955a9254b43bff782175ee6762fdc5448b86 21-Jun-2012 Timo Sirainen <tss@iki.fi>

imap: Rewrote FETCH command to use imap-msgpart API.

b55f914c0ade77252cfd798ea8eb9a84bda56315 07-Mar-2012 Timo Sirainen <tss@iki.fi>

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).

00baa9c944ec73865f20a96684dd5887fe5fc186 27-Feb-2012 Timo Sirainen <tss@iki.fi>

imap: Made client_destroy() a virtual method.

0d82d7744160c598ecfe73ec25598ad43596d10c 30-Sep-2011 Timo Sirainen <tss@iki.fi>

imap: Moved partial fetch cache from static variable into struct client.

d8f73a44fcc663152fd1a1331ce03a62a0dec3ba 22-Feb-2011 Timo Sirainen <tss@iki.fi>

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.

51327f2489a4e0e615eb9f7d921473cf8512bb79 01-Jan-2011 Timo Sirainen <tss@iki.fi>

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.

/dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mail-mailbox-status.c /dovecot/src/doveadm/doveadm-mail-search.c /dovecot/src/doveadm/doveadm-mail.c /dovecot/src/doveadm/doveadm-mail.h /dovecot/src/dsync/dsync-worker-local.c cmd-enable.c cmd-select.c cmd-store.c imap-client.c imap-client.h imap-commands-util.c imap-fetch.c imap-search.c imap-status.c imap-status.h imap-sync.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.c /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-status.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/list/index-mailbox-list-sync.c /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/virtual/virtual-save.c /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/pop3/pop3-client.c
5be786ac7cafd3dcd8574edaec31eb414ae92b03 03-Dec-2010 Timo Sirainen <tss@iki.fi>

imap, pop3: Removed previous log prefix hack.

0fb11b6350ecb430cd1888b662aac7624a26adad 03-Dec-2010 Timo Sirainen <tss@iki.fi>

imap, pop3: Try to use the correct log prefix when service_count!=1.

809329fe7be1281bec99dd5d06fd7b8b52752daf 13-Feb-2010 Timo Sirainen <tss@iki.fi>

imap: Added module_contexts to struct client. --HG-- branch : HEAD

7b1bdf60531f8d511e9983e2bd6375938d711cff 13-Feb-2010 Timo Sirainen <tss@iki.fi>

imap: Remember if TLS compression is enabled. --HG-- branch : HEAD

5735e4cc683402a03af73a1bb5f6e50b9a7f619b 07-Feb-2010 Timo Sirainen <tss@iki.fi>

imap-client.h: Updated comments. --HG-- branch : HEAD

4f7987384f306ea93b0258623a4cdd69601f2d0e 27-Oct-2009 Timo Sirainen <tss@iki.fi>

imap: Added support for verbose_proctitle=yes --HG-- branch : HEAD

4da8c6cdefabd31262318c32da3c13de1d9ea953 22-Oct-2009 Timo Sirainen <tss@iki.fi>

Merged single and multi mail_storage_service_*() functions. --HG-- branch : HEAD

cf0ad1a0bddb0787f3d7b408a96d721a8b2a98a3 20-Oct-2009 Timo Sirainen <tss@iki.fi>

Redesigned how login process passes connections to mail processes and changed related APIs. Master process is no longer in the middle. --HG-- branch : HEAD

/dovecot/doc/example-config/conf.d/master.conf /dovecot/src/auth/Makefile.am /dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-master-interface.h /dovecot/src/auth/main.c /dovecot/src/doveadm/doveadm.c /dovecot/src/dsync/dsync.c imap-client.c imap-client.h main.c /dovecot/src/lda/main.c /dovecot/src/lib-master/Makefile.am /dovecot/src/lib-master/master-auth.c /dovecot/src/lib-master/master-auth.h /dovecot/src/lib-master/master-interface.h /dovecot/src/lib-master/master-login-auth.c /dovecot/src/lib-master/master-login-auth.h /dovecot/src/lib-master/master-login.c /dovecot/src/lib-master/master-login.h /dovecot/src/lib-master/master-service-private.h /dovecot/src/lib-master/master-service.c /dovecot/src/lib-master/master-service.h /dovecot/src/lib-storage/mail-storage-service.c /dovecot/src/lib-storage/mail-storage-service.h /dovecot/src/login-common/client-common.c /dovecot/src/login-common/common.h /dovecot/src/login-common/main.c /dovecot/src/login-common/sasl-server.c /dovecot/src/master/Makefile.am /dovecot/src/master/main.c /dovecot/src/master/master-settings.c /dovecot/src/master/master-settings.h /dovecot/src/master/service-auth-server.c /dovecot/src/master/service-auth-server.h /dovecot/src/master/service-auth-source.c /dovecot/src/master/service-auth-source.h /dovecot/src/master/service-monitor.c /dovecot/src/master/service-process.c /dovecot/src/master/service-process.h /dovecot/src/master/service.c /dovecot/src/master/service.h /dovecot/src/pop3/main.c /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-client.h
a8284e999d091cd29210fa75ecdc8076376a7345 16-Oct-2009 Timo Sirainen <tss@iki.fi>

imap, pop3: Moved imap/pop3_client_workarounds setting parsing to config checking. --HG-- branch : HEAD

459f60325f94f486ef057241b42d8a9e9c376fb4 26-May-2009 Timo Sirainen <tss@iki.fi>

imap: Cleaned up "command pending" handling code. Should fix hangs caused by recent changes. --HG-- branch : HEAD

f13c9ae4f96d4d13b3996ec716a959cf3380896c 23-May-2009 Timo Sirainen <tss@iki.fi>

imap, pop3 no longer assume that there's only a single client in process. --HG-- branch : HEAD

6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8 06-May-2009 Timo Sirainen <tss@iki.fi>

Implemented anvil service, which is used to implement mail_max_userip_connections. --HG-- branch : HEAD

/dovecot/.hgignore /dovecot/TODO /dovecot/configure.in /dovecot/dovecot-master-example.conf /dovecot/src/anvil/Makefile.am /dovecot/src/anvil/anvil-connection.c /dovecot/src/anvil/anvil-connection.h /dovecot/src/anvil/common.h /dovecot/src/anvil/connect-limit.c /dovecot/src/anvil/connect-limit.h /dovecot/src/anvil/main.c /dovecot/src/imap-login/client.c imap-client.c imap-client.h /dovecot/src/lib-master/master-interface.h /dovecot/src/lib-master/master-service-settings.c /dovecot/src/lib-master/master-service.c /dovecot/src/lib-master/master-service.h /dovecot/src/lib-storage/mail-user.c /dovecot/src/lib-storage/mail-user.h /dovecot/src/login-common/common.h /dovecot/src/login-common/login-settings.c /dovecot/src/login-common/login-settings.h /dovecot/src/login-common/main.c /dovecot/src/login-common/sasl-server.c /dovecot/src/master/Makefile.am /dovecot/src/master/master-settings.c /dovecot/src/master/service-anvil.c /dovecot/src/master/service-anvil.h /dovecot/src/master/service-auth-server.c /dovecot/src/master/service-log.c /dovecot/src/master/service-log.h /dovecot/src/master/service-monitor.c /dovecot/src/master/service-process-notify.c /dovecot/src/master/service-process-notify.h /dovecot/src/master/service-process.c /dovecot/src/master/service-process.h /dovecot/src/master/service.c /dovecot/src/master/service.h /dovecot/src/pop3-login/client.c /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-client.h
08d6658a4e2ec8104cd1307f6baa75fdb07a24f8 05-May-2009 Mark Washenberger <none@none>

Renamed headers to prevent collision if they were flattened on an install. --HG-- branch : HEAD

/dovecot/src/auth/Makefile.am /dovecot/src/auth/auth-cache.c /dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-common.h /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request.c /dovecot/src/auth/auth-stream.c /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/auth.c /dovecot/src/auth/db-checkpassword.c /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/db-sql.c /dovecot/src/auth/main.c /dovecot/src/auth/mech-anonymous.c /dovecot/src/auth/mech-apop.c /dovecot/src/auth/mech-cram-md5.c /dovecot/src/auth/mech-digest-md5.c /dovecot/src/auth/mech-gssapi.c /dovecot/src/auth/mech-login.c /dovecot/src/auth/mech-ntlm.c /dovecot/src/auth/mech-otp-skey-common.c /dovecot/src/auth/mech-otp-skey-common.h /dovecot/src/auth/mech-otp.c /dovecot/src/auth/mech-plain-common.c /dovecot/src/auth/mech-plain-common.h /dovecot/src/auth/mech-plain.c /dovecot/src/auth/mech-rpa.c /dovecot/src/auth/mech-skey.c /dovecot/src/auth/mech-winbind.c /dovecot/src/auth/mech.c /dovecot/src/auth/passdb-blocking.c /dovecot/src/auth/passdb-bsdauth.c /dovecot/src/auth/passdb-cache.c /dovecot/src/auth/passdb-checkpassword.c /dovecot/src/auth/passdb-ldap.c /dovecot/src/auth/passdb-pam.c /dovecot/src/auth/passdb-passwd-file.c /dovecot/src/auth/passdb-passwd.c /dovecot/src/auth/passdb-shadow.c /dovecot/src/auth/passdb-sia.c /dovecot/src/auth/passdb-sql.c /dovecot/src/auth/passdb-vpopmail.c /dovecot/src/auth/passdb.c /dovecot/src/auth/userdb-blocking.c /dovecot/src/auth/userdb-checkpassword.c /dovecot/src/auth/userdb-ldap.c /dovecot/src/auth/userdb-nss.c /dovecot/src/auth/userdb-passwd-file.c /dovecot/src/auth/userdb-passwd.c /dovecot/src/auth/userdb-prefetch.c /dovecot/src/auth/userdb-sql.c /dovecot/src/auth/userdb-static.c /dovecot/src/auth/userdb-vpopmail.c /dovecot/src/auth/userdb.c Makefile.am cmd-append.c cmd-cancelupdate.c cmd-capability.c cmd-check.c cmd-close.c cmd-copy.c cmd-create.c cmd-delete.c cmd-enable.c cmd-examine.c cmd-expunge.c cmd-fetch.c cmd-id.c cmd-idle.c cmd-list.c cmd-logout.c cmd-lsub.c cmd-namespace.c cmd-noop.c cmd-rename.c cmd-search.c cmd-select.c cmd-sort.c cmd-status.c cmd-store.c cmd-subscribe.c cmd-thread.c cmd-uid.c cmd-unselect.c cmd-unsubscribe.c cmd-x-cancel.c imap-client.c imap-client.h imap-commands-util.c imap-commands-util.h imap-commands.c imap-commands.h imap-common.h imap-expunge.c imap-fetch-body.c imap-fetch.c imap-search-args.c imap-search.c imap-status.c imap-sync.c mail-storage-callbacks.c main.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/pop3-login/client-authenticate.c /dovecot/src/pop3/Makefile.am /dovecot/src/pop3/main.c /dovecot/src/pop3/pop3-capability.h /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-client.h /dovecot/src/pop3/pop3-commands.c /dovecot/src/pop3/pop3-commands.h /dovecot/src/pop3/pop3-common.h