History log of /dovecot/src/imap/imap-fetch.h
Revision Date Author Comments Expand
c1f8d7ab0d8b15f27bbf33324000fc39751d8564 19-Jan-2018 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

imap: support for FETCH SNIPPET

f32c6ed9db6f4c535f97a2020401572efc8abf86 27-Aug-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Add debug logging for [un]hibernation The logs should now clearly say when a client was hibernated and when/why it was was unhibernated.

67c25cb4af273aff7384d5028d459cc9afdf8712 20-May-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Allow plugins to replace existing FETCH handlers They can use imap_fetch_handler_lookup() to get the old init() function. Then they can imap_fetch_handler_unregister() the existing handler and register a new handler, which can do its own work and call the old init() if needed.

cddfd1355db6b60c71d7ee3c0b4f23b3efcc9ad1 03-Apr-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

global: Add mailbox_transaction_set_reason() calls Added to the most important places.

289bd999f282a307b05e6f8beef33155a50fb837 21-Feb-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

imap: Fix error message in failed FETCH's NO reply. This was broken only with the new imap_fetch_failure = no-after setting.

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

imap: Code cleanup - Remove duplicate flags from imap_fetch_state All the cur_flushed, line_partial and line_finished were about the same thing.

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

imap: Fix sending UID only when necessary on broken FETCHes. b748f91d0677fffaa2208b39ebb6db3aeb2e937b changed UID to be sent for most FETCH replies. There was also some existing code that attempted to do this, but didn't fully work. So now: 1) If there are no non-buffered replies, the entire FETCH response isn't sent. 2) If the buffer was already flushed and nothing else was sent, add UID to reply. The code paths for handling this are differently for imap_fetch_failure = disconnect-immediately vs others (depending on imap_fetch_cur_failed() return value).

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.

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
f339a8e73beea7684ea634941ea82593dea522ee 18-May-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

global: Don't assume o_stream_send_istream() return bytes sent. This won't be true soon after its API changes.

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

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

be48f0e5693530f97f60c6f9dce8c8c08a38b584 02-May-2014 Timo Sirainen <tss@iki.fi>

imap: Make sure we don't return empty "* n FETCH ()" reply, which violates RFC 3501 ABNF. It happened only during error conditions, and it would be a bit too much trouble to try to remove the reply entirely, so just append the message UID there.

8391619213e3bea5be470394e0ada6f504cd0885 19-Sep-2012 Timo Sirainen <tss@iki.fi>

imap: Fixed crashing in QRESYNC SELECT.

27a44fcfd8d19bffe0f267f20a2b5d3fe7600fdd 19-Aug-2012 Timo Sirainen <tss@iki.fi>

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.

/dovecot/src/anvil/anvil-connection.c /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/db-dict.c /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-sql.c /dovecot/src/config/config-connection.c /dovecot/src/doveadm/doveadm-mail-mailbox.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/doveadm.c imap-fetch.h /dovecot/src/indexer/indexer-client.c /dovecot/src/lib-dns/dns-lookup.c /dovecot/src/lib-dns/dns-lookup.h /dovecot/src/lib-imap-storage/imap-msgpart.c /dovecot/src/lib-index/mail-index-util.c /dovecot/src/lib-lda/mail-send.c /dovecot/src/lib-mail/istream-header-filter.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/test-istream-header-filter.c /dovecot/src/lib-master/master-service.c /dovecot/src/lib-settings/settings.c /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-purge.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/imapc/imapc-mail-fetch.c /dovecot/src/lib-storage/index/index-mail-binary.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-thread.c /dovecot/src/lib-storage/index/maildir/maildir-mail.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/mbox/mbox-mail.c /dovecot/src/lib-storage/index/pop3c/pop3c-sync.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-header.c /dovecot/src/lib/array.h /dovecot/src/lib/bsearch-insert-pos.c /dovecot/src/lib/bsearch-insert-pos.h /dovecot/src/lib/child-wait.h /dovecot/src/lib/connection.c /dovecot/src/lib/ioloop.h /dovecot/src/lib/istream.h /dovecot/src/lib/macros.h /dovecot/src/lib/module-dir.c /dovecot/src/lib/ostream.h /dovecot/src/lib/strfuncs.c /dovecot/src/lib/strfuncs.h /dovecot/src/lib/test-bsearch-insert-pos.c /dovecot/src/plugins/acl/acl-backend.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/pop3-migration/pop3-migration-plugin.c
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.

e82e363e7a6917f470412d629db6c5b1f5891a35 13-Aug-2012 Timo Sirainen <tss@iki.fi>

imap: FETCH API updated to allow using the same parsed FETCH in multiple mailboxes. This is in preparation for NOTIFY extension.

d10a370b2614712d9cb6a1dd8625f62a071b6377 13-Aug-2012 Timo Sirainen <tss@iki.fi>

imap: FETCH API cleanup: keep fetch state in a separate struct.

306b3f41b05da642d87e7ca7a1496efce9f5902f 11-Aug-2012 Timo Sirainen <tss@iki.fi>

IMAP BINARY extension supports now FETCH BINARY command.

/dovecot/src/doveadm/doveadm-mail.c cmd-fetch.c imap-commands-util.c imap-fetch-body.c imap-fetch.c imap-fetch.h /dovecot/src/lib-imap-storage/imap-msgpart.c /dovecot/src/lib-imap-storage/imap-msgpart.h /dovecot/src/lib-storage/fail-mail.c /dovecot/src/lib-storage/index/Makefile.am /dovecot/src/lib-storage/index/cydir/cydir-mail.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-mail.c /dovecot/src/lib-storage/index/dbox-single/sdbox-mail.c /dovecot/src/lib-storage/index/imapc/imapc-mail.c /dovecot/src/lib-storage/index/index-mail-binary.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/pop3c/pop3c-mail.c /dovecot/src/lib-storage/index/raw/raw-mail.c /dovecot/src/lib-storage/mail-error.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail-user.c /dovecot/src/lib-storage/mail.c /dovecot/src/plugins/virtual/virtual-mail.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.

d6c5ceea8521b92d10e51a59da00c792f6140b1d 01-Mar-2012 Timo Sirainen <tss@iki.fi>

imap: Changed internal FETCH command handling API.

fca397447724c0b58365e69491f583829ff9eadf 08-Feb-2012 Timo Sirainen <tss@iki.fi>

Removed unnecessary code.

eef4ba0cc3e78f8c26804c1c9251a76580a41f0c 29-Mar-2011 Timo Sirainen <tss@iki.fi>

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

/dovecot/src/doveadm/doveadm-mail-altmove.c /dovecot/src/doveadm/doveadm-mail-expunge.c /dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mail-import.c /dovecot/src/doveadm/doveadm-mail-iter.c /dovecot/src/doveadm/doveadm-mail-iter.h /dovecot/src/doveadm/doveadm-mail-search.c /dovecot/src/dsync/dsync-worker-local.c cmd-copy.c cmd-store.c imap-expunge.c imap-fetch-body.c imap-fetch.c imap-fetch.h imap-search.c imap-search.h /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.c /dovecot/src/lib-storage/index/imapc/imapc-search.c /dovecot/src/lib-storage/index/imapc/imapc-storage.h /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-search-private.h /dovecot/src/lib-storage/index/index-search-result.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-status.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-thread.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/lib-storage/test-mailbox.c /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/snarf/snarf-plugin.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-search.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-commands.c
16834f18f903048c772112838c015051642a0e77 21-May-2009 Timo Sirainen <tss@iki.fi>

IMAP: Register FETCH handlers at startup so we don't break if plugins add them. --HG-- branch : HEAD

a342a31752dd71ac444259ca57ad33ea6b79a572 11-Mar-2009 Timo Sirainen <tss@iki.fi>

imap: Code cleanup: Changed buffer to an array. --HG-- branch : HEAD

0011b7d11624ff4d72c1832081285c3edb90c2c3 11-Mar-2009 Timo Sirainen <tss@iki.fi>

imap: Improve "FETCH .. got too little data" error messages. --HG-- branch : HEAD

ca63a68b1dbeeb44c1e71ddf129054f21edc0cb8 11-Mar-2009 Timo Sirainen <tss@iki.fi>

imap: Code cleanup: Changed buffer to an array. --HG-- branch : HEAD

101bc3819d08824cedba3cedbf0ae9a850831328 11-Mar-2009 Timo Sirainen <tss@iki.fi>

imap: Improve "FETCH .. got too little data" error messages. --HG-- branch : HEAD

3a985b4f3481d7061ee0c6ace3a5bb0bcbcb67ad 24-Oct-2008 Timo Sirainen <tss@iki.fi>

QRESYNC: FETCH CHANGEDSINCE and SELECT with modseq shouldn't have returned changes with the same modseq. --HG-- branch : HEAD

c4b376dd6e0c423006d7ac83a39253bcaf8e7c47 03-Jun-2008 Timo Sirainen <tss@iki.fi>

Make mail_search_args an independent structure that can be used for multiple separate searches. --HG-- branch : HEAD

cmd-copy.c cmd-expunge.c cmd-fetch.c cmd-search.c cmd-select.c cmd-sort.c cmd-store.c cmd-thread.c imap-expunge.c imap-expunge.h imap-fetch.c imap-fetch.h imap-search.c imap-search.h imap-sort.c imap-sort.h imap-thread.c imap-thread.h /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/mail-search-build.c /dovecot/src/lib-storage/mail-search-build.h /dovecot/src/lib-storage/mail-search.c /dovecot/src/lib-storage/mail-search.h /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/convert/convert-storage.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-search.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/fts/fts-storage.h /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c
923eb3dde28e4d8841c14fd6b4a69635b7070c3e 15-Mar-2008 Timo Sirainen <tss@iki.fi>

Added QRESYNC support. --HG-- branch : HEAD

a2f250a332dfc1e6cd4ffd196c621eb9dbf7b8a1 15-Mar-2008 Timo Sirainen <tss@iki.fi>

Initial CONDSTORE support. --HG-- branch : HEAD

client.c client.h cmd-append.c cmd-copy.c cmd-fetch.c cmd-search.c cmd-select.c cmd-store.c imap-fetch.c imap-fetch.h imap-status.c imap-sync.c /dovecot/src/lib-imap/imap-util.c /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/Makefile.am /dovecot/src/lib-index/mail-index-map.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync-keywords.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-storage/index/cydir/cydir-mail.c /dovecot/src/lib-storage/index/cydir/cydir-storage.c /dovecot/src/lib-storage/index/dbox/dbox-mail.c /dovecot/src/lib-storage/index/dbox/dbox-storage.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-status.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-transaction.c /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/raw/raw-mail.c /dovecot/src/lib-storage/index/raw/raw-storage.c /dovecot/src/lib-storage/mail-search-build.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail.c
9741f601c80f60fd305a45b4ff492dc7f6b664d8 16-Feb-2008 Timo Sirainen <tss@iki.fi>

If stream ends unexpectedly, it was most likely because of a broken cached field, so mark the cache corrupted. --HG-- branch : HEAD

15144da8b116d887e6954bc5ec6c86b1a61565e7 16-Feb-2008 Timo Sirainen <tss@iki.fi>

If stream ends unexpectedly, it was most likely because of a broken cached field, so mark the cache corrupted. --HG-- branch : HEAD

8039af9679af6fb56116b353fe44f7dd4c08f031 29-Dec-2007 Timo Sirainen <tss@iki.fi>

FLAGS/PERMENENTFLAGS weren't always sent to client early enough. Also optimized sending keywords with FETCH FLAGS. --HG-- branch : HEAD

ca9b4bd99287f7aef3065c9973f8d440bf5bbbc5 22-Sep-2007 Timo Sirainen <tss@iki.fi>

Make sure we do a mailbox sync after flag updates (STORE, FETCH). Also added a new IMAP_SYNC_FLAG_SAFE which is used to figure out if appends and expunges are safe to send to client when delay-newmail workaround is enabled. --HG-- branch : HEAD

c25356d5978632df6203437e1953bcb29e0c736f 16-Sep-2007 Timo Sirainen <tss@iki.fi>

Changed .h ifdef/defines to use <NAME>_H format. --HG-- branch : HEAD

/dovecot/src/auth/auth-cache.h /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-client-interface.h /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-master-interface.h /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-stream.h /dovecot/src/auth/auth-worker-client.h /dovecot/src/auth/auth-worker-server.h /dovecot/src/auth/auth.h /dovecot/src/auth/common.h /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/db-sql.h /dovecot/src/auth/mech.h /dovecot/src/auth/mycrypt.h /dovecot/src/auth/otp-skey-common.h /dovecot/src/auth/passdb-blocking.h /dovecot/src/auth/passdb-cache.h /dovecot/src/auth/passdb.h /dovecot/src/auth/password-scheme.h /dovecot/src/auth/plain-common.h /dovecot/src/auth/userdb-blocking.h /dovecot/src/auth/userdb-static.h /dovecot/src/auth/userdb-vpopmail.h /dovecot/src/auth/userdb.h /dovecot/src/deliver/auth-client.h /dovecot/src/deliver/deliver.h /dovecot/src/deliver/duplicate.h /dovecot/src/deliver/mail-send.h /dovecot/src/deliver/smtp-client.h /dovecot/src/dict/dict-cache.h /dovecot/src/dict/dict-server.h /dovecot/src/imap-login/client-authenticate.h /dovecot/src/imap-login/client.h /dovecot/src/imap-login/imap-proxy.h client.h commands-util.h commands.h common.h imap-expunge.h imap-fetch.h imap-messageset.h imap-search.h imap-sort.h imap-status.h imap-sync.h imap-thread.h /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-auth/auth-server-request.h /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-dict/dict-client.h /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.h /dovecot/src/lib-dict/dict.h /dovecot/src/lib-imap/imap-base-subject.h /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-imap/imap-date.h /dovecot/src/lib-imap/imap-envelope.h /dovecot/src/lib-imap/imap-match.h /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-quote.h /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-hash.h /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/mailbox-list-index-private.h /dovecot/src/lib-index/mailbox-list-index.h /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/mail-types.h /dovecot/src/lib-mail/message-address.h /dovecot/src/lib-mail/message-date.h /dovecot/src/lib-mail/message-decoder.h /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-id.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.h /dovecot/src/lib-mail/message-search.h /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-mail/quoted-printable.h /dovecot/src/lib-mail/rfc822-parser.h /dovecot/src/lib-ntlm/ntlm-byteorder.h /dovecot/src/lib-ntlm/ntlm-des.h /dovecot/src/lib-ntlm/ntlm-encrypt.h /dovecot/src/lib-ntlm/ntlm-flags.h /dovecot/src/lib-ntlm/ntlm-message.h /dovecot/src/lib-ntlm/ntlm-types.h /dovecot/src/lib-ntlm/ntlm.h /dovecot/src/lib-otp/otp-dictionary.h /dovecot/src/lib-otp/otp-hash.h /dovecot/src/lib-otp/otp-parity.h /dovecot/src/lib-otp/otp-parse.h /dovecot/src/lib-otp/otp.h /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/cydir/cydir-storage.h /dovecot/src/lib-storage/index/cydir/cydir-sync.h /dovecot/src/lib-storage/index/dbox/dbox-file.h /dovecot/src/lib-storage/index/dbox/dbox-index.h /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-sync.h /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-sort.h /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.h /dovecot/src/lib-storage/index/maildir/maildir-keywords.h /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync.h /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.h /dovecot/src/lib-storage/index/mbox/mbox-file.h /dovecot/src/lib-storage/index/mbox/mbox-from.h /dovecot/src/lib-storage/index/mbox/mbox-lock.h /dovecot/src/lib-storage/index/mbox/mbox-md5.h /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/list/index-mailbox-list.h /dovecot/src/lib-storage/list/mailbox-list-fs.h /dovecot/src/lib-storage/list/mailbox-list-maildir.h /dovecot/src/lib-storage/list/mailbox-list-subscriptions.h /dovecot/src/lib-storage/list/subscription-file.h /dovecot/src/lib-storage/mail-copy.h /dovecot/src/lib-storage/mail-error.h /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/lib-storage/mailbox-tree.h /dovecot/src/lib/array-decl.h /dovecot/src/lib/array.h /dovecot/src/lib/backtrace-string.h /dovecot/src/lib/base64.h /dovecot/src/lib/bsearch-insert-pos.h /dovecot/src/lib/buffer.h /dovecot/src/lib/close-keep-errno.h /dovecot/src/lib/compat.h /dovecot/src/lib/crc32.h /dovecot/src/lib/data-stack.h /dovecot/src/lib/env-util.h /dovecot/src/lib/failures.h /dovecot/src/lib/fd-close-on-exec.h /dovecot/src/lib/fd-set-nonblock.h /dovecot/src/lib/fdpass.h /dovecot/src/lib/file-cache.h /dovecot/src/lib/file-copy.h /dovecot/src/lib/file-dotlock.h /dovecot/src/lib/file-lock.h /dovecot/src/lib/file-set-size.h /dovecot/src/lib/hash.h /dovecot/src/lib/hex-binary.h /dovecot/src/lib/hex-dec.h /dovecot/src/lib/hmac-md5.h /dovecot/src/lib/home-expand.h /dovecot/src/lib/hostpid.h /dovecot/src/lib/imem.h /dovecot/src/lib/ioloop-internal.h /dovecot/src/lib/ioloop-iolist.h /dovecot/src/lib/ioloop-notify-fd.h /dovecot/src/lib/ioloop.h /dovecot/src/lib/iostream-internal.h /dovecot/src/lib/istream-internal.h /dovecot/src/lib/istream-seekable.h /dovecot/src/lib/istream-tee.h /dovecot/src/lib/istream.h /dovecot/src/lib/lib-signals.h /dovecot/src/lib/lib.h /dovecot/src/lib/macros.h /dovecot/src/lib/md4.h /dovecot/src/lib/md5.h /dovecot/src/lib/mempool.h /dovecot/src/lib/mkdir-parents.h /dovecot/src/lib/mmap-util.h /dovecot/src/lib/module-context.h /dovecot/src/lib/module-dir.h /dovecot/src/lib/mountpoint.h /dovecot/src/lib/network.h /dovecot/src/lib/nfs-workarounds.h /dovecot/src/lib/ostream-crlf.h /dovecot/src/lib/ostream-internal.h /dovecot/src/lib/ostream.h /dovecot/src/lib/primes.h /dovecot/src/lib/printf-format-fix.h /dovecot/src/lib/process-title.h /dovecot/src/lib/randgen.h /dovecot/src/lib/read-full.h /dovecot/src/lib/restrict-access.h /dovecot/src/lib/restrict-process-size.h /dovecot/src/lib/safe-memset.h /dovecot/src/lib/safe-mkdir.h /dovecot/src/lib/safe-mkstemp.h /dovecot/src/lib/sendfile-util.h /dovecot/src/lib/seq-range-array.h /dovecot/src/lib/sha1.h /dovecot/src/lib/str-find.h /dovecot/src/lib/str-sanitize.h /dovecot/src/lib/str.h /dovecot/src/lib/strescape.h /dovecot/src/lib/strfuncs.h /dovecot/src/lib/unichar.h /dovecot/src/lib/unix-socket-create.h /dovecot/src/lib/unlink-directory.h /dovecot/src/lib/unlink-lockfiles.h /dovecot/src/lib/utc-mktime.h /dovecot/src/lib/utc-offset.h /dovecot/src/lib/var-expand.h /dovecot/src/lib/write-full.h /dovecot/src/login-common/client-common.h /dovecot/src/login-common/common.h /dovecot/src/login-common/login-proxy.h /dovecot/src/login-common/master.h /dovecot/src/login-common/sasl-server.h /dovecot/src/login-common/ssl-proxy.h /dovecot/src/master/askpass.h /dovecot/src/master/auth-process.h /dovecot/src/master/capabilities.h /dovecot/src/master/child-process.h /dovecot/src/master/common.h /dovecot/src/master/dict-process.h /dovecot/src/master/dup2-array.h /dovecot/src/master/listener.h /dovecot/src/master/log.h /dovecot/src/master/login-process.h /dovecot/src/master/mail-process.h /dovecot/src/master/master-login-interface.h /dovecot/src/master/master-settings.h /dovecot/src/master/ssl-init.h /dovecot/src/master/syslog-util.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-cache.h /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/convert/convert-plugin.h /dovecot/src/plugins/convert/convert-storage.h /dovecot/src/plugins/expire/auth-client.h /dovecot/src/plugins/expire/expire-env.h /dovecot/src/plugins/expire/expire-plugin.h /dovecot/src/plugins/fts-lucene/fts-lucene-plugin.h /dovecot/src/plugins/fts-lucene/lucene-wrapper.h /dovecot/src/plugins/fts-squat/fts-squat-plugin.h /dovecot/src/plugins/fts-squat/squat-trie-private.h /dovecot/src/plugins/fts-squat/squat-trie.h /dovecot/src/plugins/fts-squat/squat-uidlist.h /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-api.h /dovecot/src/plugins/fts/fts-plugin.h /dovecot/src/plugins/imap-quota/imap-quota-plugin.h /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.h /dovecot/src/plugins/mail-log/mail-log-plugin.h /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.h /dovecot/src/plugins/quota/quota-fs.h /dovecot/src/plugins/quota/quota-plugin.h /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota.h /dovecot/src/plugins/trash/trash-plugin.h /dovecot/src/plugins/zlib/istream-zlib.h /dovecot/src/plugins/zlib/zlib-plugin.h /dovecot/src/pop3-login/client-authenticate.h /dovecot/src/pop3-login/client.h /dovecot/src/pop3-login/pop3-proxy.h /dovecot/src/pop3/capability.h /dovecot/src/pop3/client.h /dovecot/src/pop3/commands.h /dovecot/src/pop3/common.h
f1e9611e93dcb3b745c1904029084fa81644e1b3 29-Jun-2007 Timo Sirainen <tss@iki.fi>

Added more consts to imap-parser API --HG-- branch : HEAD

3ddbbe03fe74b3ee7b1dff4e08ec706d7880d052 28-Dec-2006 Timo Sirainen <tss@iki.fi>

When client fetches message data that has already been expunged, reply with dummy NIL and such values for the message. Don't disconnect the client anymore. --HG-- branch : HEAD

42507d758b053bb483de58fba55c73a9eb5d3fba 20-Dec-2006 Timo Sirainen <tss@iki.fi>

Dovecot is now able to execute multiple commands at the same time. Practically this means commands: FETCH, LIST, SEARCH and syncing output for all commands. For example it's possible that doing two FETCH commands at the same time makes their output mixed together. Non-blocking SEARCH is done by doing search for 20 mails at a time, and then checking if another command is pending. Also added X-CANCEL <tag> command to cancel running commands. --HG-- branch : HEAD

2cfe9983ce7a6280636ee12beccc2e865111967b 15-Dec-2006 Timo Sirainen <tss@iki.fi>

Replaced void *context from a lot of callbacks with the actual context type. Also added/fixed some context type checks. --HG-- branch : HEAD

/dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-master-listener.c /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-sql.c /dovecot/src/auth/passdb-checkpassword.c /dovecot/src/auth/passdb-pam.c /dovecot/src/auth/passdb-sql.c /dovecot/src/auth/userdb-sql.c /dovecot/src/deliver/auth-client.c /dovecot/src/dict/dict-server.c /dovecot/src/imap-login/client-authenticate.c /dovecot/src/imap-login/client.c /dovecot/src/imap-login/client.h /dovecot/src/imap-login/imap-proxy.c client.c client.h cmd-append.c cmd-idle.c imap-fetch-body.c imap-fetch.c imap-fetch.h imap-thread.c /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mailbox-check.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib/ioloop-notify-inotify.c /dovecot/src/lib/ioloop-notify-kqueue.c /dovecot/src/lib/ostream-file.c /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/ssl-proxy-gnutls.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/auth-process.c /dovecot/src/master/auth-process.h /dovecot/src/master/dict-process.c /dovecot/src/master/log.c /dovecot/src/master/login-process.c /dovecot/src/master/master-settings.c /dovecot/src/plugins/expire/auth-client.c /dovecot/src/pop3-login/client-authenticate.c /dovecot/src/pop3-login/client.c /dovecot/src/pop3-login/client.h /dovecot/src/pop3-login/pop3-proxy.c /dovecot/src/pop3/client.c /dovecot/src/util/rawlog.c
00efa7d99981e18e286c02b18c1163dde18ee521 15-Dec-2006 Timo Sirainen <tss@iki.fi>

Type safe callbacks weren't as easy as I thought. Only callback(void *context) can be handled generically. Others can be handled specially, but only if all the parameters are pointers, otherwise eg. int parameter can be replaced with long without compiler giving any warnings. --HG-- branch : HEAD

/dovecot/src/auth/auth-request-handler.h imap-fetch.c imap-fetch.h /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-request.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-hash.h /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-content-parser.c /dovecot/src/lib-mail/message-content-parser.h /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-util.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/lib/lib-signals.c /dovecot/src/lib/lib-signals.h /dovecot/src/lib/macros.h /dovecot/src/login-common/login-proxy.h
59151b71059df1190acd75d8717ed04a7920c862 15-Dec-2006 Timo Sirainen <tss@iki.fi>

Added context parameter type safety checks for most callback APIs. --HG-- branch : HEAD

/dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-sql.c /dovecot/src/auth/main.c /dovecot/src/deliver/deliver.c /dovecot/src/deliver/mail-send.c /dovecot/src/dict/main.c /dovecot/src/imap-login/client.c cmd-append.c imap-fetch.c imap-fetch.h imap-thread.c main.c /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-request.c /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-hash.c /dovecot/src/lib-index/mail-hash.h /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-content-parser.c /dovecot/src/lib-mail/message-content-parser.h /dovecot/src/lib-mail/message-decoder.c /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-decode.h /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-parser.h /dovecot/src/lib-settings/settings.c /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/sql-api.c /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-util.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/mail-search.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/lib/ioloop-notify-dn.c /dovecot/src/lib/ioloop.c /dovecot/src/lib/ioloop.h /dovecot/src/lib/lib-signals.c /dovecot/src/lib/lib-signals.h /dovecot/src/lib/macros.h /dovecot/src/lib/ostream.c /dovecot/src/lib/ostream.h /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/login-proxy.h /dovecot/src/login-common/main.c /dovecot/src/master/main.c /dovecot/src/pop3-login/client.c /dovecot/src/pop3/main.c
8d80659e504ffb34bb0c6a633184fece35751b18 28-Jun-2006 Timo Sirainen <tss@iki.fi>

Array API redesigned to work using unions. It now provides type safety without having to enable DEBUG, as long as the compiler supports typeof(). Its API changed a bit. It now allows directly accessing the array contents, although that's not necessarily recommended. Changed existing array usage to be type safe in a bit more places. Removed array_t completely. Also did s/modifyable/modifiable/. --HG-- branch : HEAD

/dovecot/src/auth/auth-master-listener.c /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/mech-gssapi.c /dovecot/src/auth/userdb-static.c /dovecot/src/dict/dict-server.c client.h cmd-list.c commands-util.c commands-util.h commands.c imap-fetch.c imap-fetch.h /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-dict/dict.c /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-lookup.c /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-sync-ext.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.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-transaction.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /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-index/mail-transaction-log-append.c /dovecot/src/lib-mail/mail-types.h /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-header-search.c /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-sql/sql-api.c /dovecot/src/lib-storage/index/dbox/dbox-keywords.c /dovecot/src/lib-storage/index/dbox/dbox-save.c /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-sync-expunge.c /dovecot/src/lib-storage/index/dbox/dbox-sync-full.c /dovecot/src/lib-storage/index/dbox/dbox-sync.c /dovecot/src/lib-storage/index/dbox/dbox-sync.h /dovecot/src/lib-storage/index/dbox/dbox-uidlist.c /dovecot/src/lib-storage/index/dbox/dbox-uidlist.h /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-sort.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync.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.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/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/index/mbox/mbox-sync-update.c /dovecot/src/lib-storage/index/mbox/mbox-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/lib/array-decl.h /dovecot/src/lib/array.h /dovecot/src/lib/buffer.c /dovecot/src/lib/buffer.h /dovecot/src/lib/ioloop-epoll.c /dovecot/src/lib/istream.c /dovecot/src/lib/istream.h /dovecot/src/lib/lib.h /dovecot/src/lib/module-dir.c /dovecot/src/lib/seq-range-array.c /dovecot/src/lib/seq-range-array.h /dovecot/src/lib/str.c /dovecot/src/lib/str.h /dovecot/src/master/mail-process.c /dovecot/src/master/master-settings.h /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/acl/acl-cache.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/quota/quota-dirsize.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/zlib/zlib-plugin.c
79fcd3f95a6266cc62ceaa753e56dd4456ab7c4b 26-Feb-2006 Timo Sirainen <tss@iki.fi>

Memory leak fixes --HG-- branch : HEAD

6ef7e31619edfaa17ed044b45861d106a86191ef 13-Jan-2006 Timo Sirainen <tss@iki.fi>

Added "bool" type and changed all ints that were used as booleans to bool. --HG-- branch : HEAD

/dovecot/configure.in /dovecot/src/auth/auth-cache.c /dovecot/src/auth/auth-cache.h /dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-master-listener.c /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/auth-request.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth.c /dovecot/src/auth/auth.h /dovecot/src/auth/common.h /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/main.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-ntlm.c /dovecot/src/auth/mech-rpa.c /dovecot/src/auth/passdb-bsdauth.c /dovecot/src/auth/passdb-cache.c /dovecot/src/auth/passdb-cache.h /dovecot/src/auth/passdb-pam.c /dovecot/src/auth/passdb-passwd.c /dovecot/src/auth/passdb-shadow.c /dovecot/src/auth/passdb.h /dovecot/src/auth/password-scheme.c /dovecot/src/auth/password-scheme.h /dovecot/src/auth/userdb-ldap.c /dovecot/src/auth/userdb-prefetch.c /dovecot/src/auth/userdb.h /dovecot/src/imap-login/client-authenticate.c /dovecot/src/imap-login/client-authenticate.h /dovecot/src/imap-login/client.c /dovecot/src/imap-login/client.h client.c client.h cmd-append.c cmd-authenticate.c cmd-capability.c cmd-check.c cmd-close.c cmd-copy.c cmd-create.c cmd-delete.c cmd-examine.c cmd-expunge.c cmd-fetch.c cmd-idle.c cmd-list.c cmd-login.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 commands-util.c commands-util.h commands.c commands.h imap-expunge.c imap-expunge.h imap-fetch-body.c imap-fetch.c imap-fetch.h imap-search.c imap-search.h imap-sort.c imap-sync.c imap-sync.h imap-thread.c namespace.c /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-auth/auth-server-request.c /dovecot/src/lib-auth/auth-server-request.h /dovecot/src/lib-charset/charset-iconv.c /dovecot/src/lib-charset/charset-utf8.c /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-dict/dict.c /dovecot/src/lib-dict/dict.h /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-imap/imap-base-subject.h /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-imap/imap-date.c /dovecot/src/lib-imap/imap-date.h /dovecot/src/lib-imap/imap-envelope.c /dovecot/src/lib-imap/imap-envelope.h /dovecot/src/lib-imap/imap-match.c /dovecot/src/lib-imap/imap-match.h /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-quote.c /dovecot/src/lib-imap/imap-quote.h /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-cache.c /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-lock.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /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-index/mail-transaction-log-append.c /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log-view.c /dovecot/src/lib-index/mail-transaction-log.c /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-address.c /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-body-search.h /dovecot/src/lib-mail/message-content-parser.c /dovecot/src/lib-mail/message-content-parser.h /dovecot/src/lib-mail/message-date.c /dovecot/src/lib-mail/message-date.h /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-header-search.c /dovecot/src/lib-mail/message-header-search.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.c /dovecot/src/lib-mail/message-send.c /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.c /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-ntlm/ntlm-encrypt.c /dovecot/src/lib-ntlm/ntlm-message.c /dovecot/src/lib-ntlm/ntlm-message.h /dovecot/src/lib-ntlm/ntlm.h /dovecot/src/lib-settings/settings.c /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-storage/index/dbox/dbox-list.c /dovecot/src/lib-storage/index/dbox/dbox-mail.c /dovecot/src/lib-storage/index/dbox/dbox-save.c /dovecot/src/lib-storage/index/dbox/dbox-storage.c /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-sync-expunge.c /dovecot/src/lib-storage/index/dbox/dbox-sync.c /dovecot/src/lib-storage/index/dbox/dbox-sync.h /dovecot/src/lib-storage/index/dbox/dbox-uidlist.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mailbox-check.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-list.c /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.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.h /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-file.h /dovecot/src/lib-storage/index/mbox/mbox-list.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-md5.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-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/index/mbox/mbox-sync-update.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/index/mbox/mbox-transaction.c /dovecot/src/lib-storage/mail-search.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-tree.c /dovecot/src/lib-storage/mailbox-tree.h /dovecot/src/lib-storage/subscription-file/subscription-file.c /dovecot/src/lib-storage/subscription-file/subscription-file.h /dovecot/src/lib/array.h /dovecot/src/lib/buffer.c /dovecot/src/lib/buffer.h /dovecot/src/lib/compat.h /dovecot/src/lib/data-stack.c /dovecot/src/lib/data-stack.h /dovecot/src/lib/fd-close-on-exec.c /dovecot/src/lib/fd-close-on-exec.h /dovecot/src/lib/fd-set-nonblock.c /dovecot/src/lib/fd-set-nonblock.h /dovecot/src/lib/file-dotlock.c /dovecot/src/lib/file-dotlock.h /dovecot/src/lib/hash.c /dovecot/src/lib/hash.h /dovecot/src/lib/hex-binary.c /dovecot/src/lib/ioloop-epoll.c /dovecot/src/lib/ioloop-notify-dn.c /dovecot/src/lib/ioloop-notify-inotify.c /dovecot/src/lib/ioloop-poll.c /dovecot/src/lib/ioloop.c /dovecot/src/lib/ioloop.h /dovecot/src/lib/istream-data.c /dovecot/src/lib/istream-file.c /dovecot/src/lib/istream-internal.h /dovecot/src/lib/istream-limit.c /dovecot/src/lib/istream-mmap.c /dovecot/src/lib/istream-seekable.c /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/mempool-alloconly.c /dovecot/src/lib/module-dir.c /dovecot/src/lib/module-dir.h /dovecot/src/lib/network.c /dovecot/src/lib/network.h /dovecot/src/lib/ostream-crlf.c /dovecot/src/lib/ostream-file.c /dovecot/src/lib/ostream-internal.h /dovecot/src/lib/ostream.c /dovecot/src/lib/ostream.h /dovecot/src/lib/printf-upper-bound.c /dovecot/src/lib/restrict-access.c /dovecot/src/lib/restrict-access.h /dovecot/src/lib/restrict-process-size.h /dovecot/src/lib/seq-range-array.c /dovecot/src/lib/seq-range-array.h /dovecot/src/lib/strfuncs.c /dovecot/src/lib/strfuncs.h /dovecot/src/lib/unlink-directory.c /dovecot/src/lib/unlink-directory.h /dovecot/src/lib/var-expand.c /dovecot/src/login-common/client-common.c /dovecot/src/login-common/client-common.h /dovecot/src/login-common/common.h /dovecot/src/login-common/main.c /dovecot/src/login-common/master.c /dovecot/src/login-common/master.h /dovecot/src/login-common/sasl-server.c /dovecot/src/login-common/ssl-proxy-gnutls.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/login-common/ssl-proxy.c /dovecot/src/login-common/ssl-proxy.h /dovecot/src/master/auth-process.c /dovecot/src/master/common.h /dovecot/src/master/log.c /dovecot/src/master/login-process.c /dovecot/src/master/mail-process.c /dovecot/src/master/mail-process.h /dovecot/src/master/main.c /dovecot/src/master/master-login-interface.h /dovecot/src/master/master-settings.c /dovecot/src/master/master-settings.h /dovecot/src/master/ssl-init.c /dovecot/src/master/syslog-util.c /dovecot/src/master/syslog-util.h /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/quota/quota-dict.c /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/quota/quota.h /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/zlib/istream-zlib.c /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3-login/client-authenticate.c /dovecot/src/pop3-login/client-authenticate.h /dovecot/src/pop3-login/client.c /dovecot/src/pop3-login/client.h /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c /dovecot/src/pop3/common.h /dovecot/src/pop3/main.c /dovecot/src/util/rawlog.c
88ea893b45d3ed8d68000921db9156c03cbe1b00 18-Mar-2005 Timo Sirainen <tss@iki.fi>

Send buffered fetch items to client first. Fixes kmail and Thunderbird issues.. --HG-- branch : HEAD

fdc557286bc9f92c5f3bb49096ff6e2bcec0ea79 15-Mar-2005 Timo Sirainen <tss@iki.fi>

Major mail-storage API changes. It's now a bit cleaner and much more plugin friendly. Removed proxy_mailbox* stuff, they were difficult to use and there's now much easier way to replace them. --HG-- branch : HEAD

/dovecot/src/deliver/deliver.c cmd-append.c cmd-copy.c cmd-search.c cmd-store.c common.h imap-expunge.c imap-fetch-body.c imap-fetch.c imap-fetch.h imap-sort.c imap-sync.c imap-thread.c main.c namespace.c /dovecot/src/lib-storage/Makefile.am /dovecot/src/lib-storage/index/index-fetch.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-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-transaction.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /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-transaction.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-transaction.c /dovecot/src/lib-storage/mail-copy.c /dovecot/src/lib-storage/mail-copy.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail.c /dovecot/src/lib-storage/proxy-mail-storage.c /dovecot/src/lib-storage/proxy-mail-storage.h /dovecot/src/lib-storage/proxy-mail.c /dovecot/src/lib-storage/proxy-mail.h /dovecot/src/lib-storage/proxy-mailbox.c /dovecot/src/lib-storage/proxy-mailbox.h /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c
d21f14c01d5546f4bf1b2cbb28ac1f00c24d952a 11-Feb-2005 Timo Sirainen <tss@iki.fi>

If UID FETCH notices in the middle of fetching that message is expunged, don't fail but just don't return all the data. --HG-- branch : HEAD

e60a349c641bb2f4723e4a395a25f55531682d2b 05-Feb-2005 Timo Sirainen <tss@iki.fi>

Moved command-specific variables from struct client to struct client_command_context and changed code to use it. --HG-- branch : HEAD

16c89b1260c9d07c01c83a9219424d3727069b2e 26-Dec-2004 Timo Sirainen <tss@iki.fi>

Initial support for keywords. Syncing to mbox/maildir doesn't work yet. --HG-- branch : HEAD

cmd-append.c cmd-store.c commands-util.c commands-util.h imap-fetch.c imap-fetch.h imap-sync.c /dovecot/src/lib-imap/imap-util.c /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/Makefile.am /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-keywords.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-sync.c /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-index/mail-transaction-log.c /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/mail-transaction-util.c /dovecot/src/lib-mail/mail-types.h /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-status.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /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.c /dovecot/src/lib-storage/index/maildir/maildir-util.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-private.h /dovecot/src/lib-storage/index/mbox/mbox-sync-update.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/mail-copy.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/lib-storage/proxy-mail.c /dovecot/src/lib-storage/proxy-mailbox.c /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c
2ba4e9bedb0fa778dfbccec5370018b4d0040d9c 03-Oct-2004 Timo Sirainen <tss@iki.fi>

If fetching fails, finish sending the untagged FETCH reply correctly. --HG-- branch : HEAD

4c07b08af30e1065f7022980b60474f229d8cadf 28-Sep-2004 Timo Sirainen <tss@iki.fi>

BODY.PEEK[HEADER.FIELDS (...)] list is allowed to contain strings and literals. We didn't handle them correctly before. --HG-- branch : HEAD

95d493c371891ea3b7598926d6b5464eabe27860 21-Aug-2004 Timo Sirainen <tss@iki.fi>

Added netscape-eoh workaround. --HG-- branch : HEAD

2767104d81e97a109f0aa9758792bfa1da325a97 15-Aug-2004 Timo Sirainen <tss@iki.fi>

We never do blocking reads/writes to network anymore. Changed imap and pop3 processes to use a single I/O loop. Not much tested yet, and currently LIST/LSUB may eat too much memory and APPEND eats all CPU. --HG-- branch : HEAD

/dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/password-scheme.c /dovecot/src/imap-login/client-authenticate.c /dovecot/src/imap-login/client.c Makefile.am client.c client.h cmd-append.c cmd-fetch.c cmd-idle.c cmd-search.c common.h imap-fetch-body-section.c imap-fetch-body.c imap-fetch.c imap-fetch.h imap-messageset.c imap-messageset.h imap-search.c imap-search.h imap-thread.c mail-storage-callbacks.c main.c /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-auth/auth-server-request.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-send.c /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib/Makefile.am /dovecot/src/lib/alarm-hup.c /dovecot/src/lib/alarm-hup.h /dovecot/src/lib/file-lock.c /dovecot/src/lib/iostream-internal.h /dovecot/src/lib/iostream.c /dovecot/src/lib/istream-data.c /dovecot/src/lib/istream-file.c /dovecot/src/lib/istream-limit.c /dovecot/src/lib/istream-mmap.c /dovecot/src/lib/istream.c /dovecot/src/lib/istream.h /dovecot/src/lib/lib.c /dovecot/src/lib/ostream-file.c /dovecot/src/lib/ostream-internal.h /dovecot/src/lib/ostream.c /dovecot/src/lib/ostream.h /dovecot/src/lib/strfuncs.c /dovecot/src/lib/strfuncs.h /dovecot/src/pop3-login/client-authenticate.c /dovecot/src/pop3-login/client.c /dovecot/src/pop3/client.c /dovecot/src/pop3/client.h /dovecot/src/pop3/commands.c
e015e2f7e7f48874495f9df8b0dd192b7ffcb5cc 18-Jul-2004 Timo Sirainen <tss@iki.fi>

Header caching redesigned. New design allows caching decisions per field, so they can be divided to temporary/permanent. Cached headers are now always returned in original order, old code didn't guarantee it. Some other caching changes. (still missing code to store changes in caching decisions) --HG-- branch : HEAD

imap-fetch-body-section.c imap-fetch.c imap-fetch.h imap-sort.c imap-thread.c /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-index/Makefile.am /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-decisions.c /dovecot/src/lib-index/mail-cache-fields.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/istream-header-filter.h /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-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-mail.c /dovecot/src/lib-storage/index/mbox/mbox-storage.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/lib-storage/proxy-mail.c /dovecot/src/lib-storage/proxy-mailbox.c
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834 27-Apr-2004 Timo Sirainen <tss@iki.fi>

importing new index code. mbox still broken. --HG-- branch : HEAD

/dovecot/configure.in Makefile.am client.c cmd-append.c cmd-close.c cmd-copy.c cmd-create.c cmd-delete.c cmd-expunge.c cmd-fetch.c cmd-idle.c cmd-list.c cmd-logout.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-unselect.c commands-util.c imap-expunge.c imap-expunge.h imap-fetch-body-section.c imap-fetch.c imap-fetch.h imap-messageset.c imap-messageset.h imap-search.c imap-search.h imap-sort.c imap-thread.c mail-storage-callbacks.c namespace.c /dovecot/src/lib-imap/imap-util.c /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/Makefile.am /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-old.c /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-lock.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-reset.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /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-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log-view.c /dovecot/src/lib-index/mail-transaction-log.c /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/mail-transaction-util.c /dovecot/src/lib-index/mail-transaction-util.h /dovecot/src/lib-index/maildir/Makefile.am /dovecot/src/lib-index/mbox/Makefile.am /dovecot/src/lib-mail/Makefile.am /dovecot/src/lib-mail/mail-types.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-storage/Makefile.am /dovecot/src/lib-storage/index/Makefile.am /dovecot/src/lib-storage/index/index-copy.c /dovecot/src/lib-storage/index/index-expunge.c /dovecot/src/lib-storage/index/index-expunge.h /dovecot/src/lib-storage/index/index-fetch.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-mailbox-check.c /dovecot/src/lib-storage/index/index-messageset.c /dovecot/src/lib-storage/index/index-messageset.h /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/index-sync.c /dovecot/src/lib-storage/index/index-transaction.c /dovecot/src/lib-storage/index/index-update-flags.c /dovecot/src/lib-storage/index/maildir/Makefile.am /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-expunge.c /dovecot/src/lib-storage/index/maildir/maildir-list.c /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.c /dovecot/src/lib-storage/index/maildir/maildir-transaction.c /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/Makefile.am /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.h /dovecot/src/lib-storage/index/mbox/mbox-expunge.c /dovecot/src/lib-storage/index/mbox/mbox-from.c /dovecot/src/lib-storage/index/mbox/mbox-from.h /dovecot/src/lib-storage/index/mbox/mbox-list.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-sync-header.c /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/index/mbox/mbox-sync-update.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/mail-save.c /dovecot/src/lib-storage/mail-save.h /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/proxy-mail-storage.c /dovecot/src/lib-storage/proxy-mail-storage.h /dovecot/src/lib-storage/proxy-mail.c /dovecot/src/lib-storage/proxy-mailbox.c /dovecot/src/lib-storage/proxy-mailbox.h /dovecot/src/lib-storage/register/Makefile.am /dovecot/src/lib-storage/subscription-file/Makefile.am /dovecot/src/lib-storage/subscription-file/subscription-file.c /dovecot/src/lib-storage/subscription-file/subscription-file.h /dovecot/src/lib/Makefile.am /dovecot/src/lib/compat.h /dovecot/src/lib/file-dotlock.c /dovecot/src/lib/file-lock.c /dovecot/src/lib/istream-data.c /dovecot/src/lib/istream-file.c /dovecot/src/lib/istream-limit.c /dovecot/src/lib/istream-mmap.c /dovecot/src/lib/macros.h /dovecot/src/lib/network.c /dovecot/src/lib/read-full.c /dovecot/src/lib/read-full.h /dovecot/src/lib/write-full.c /dovecot/src/lib/write-full.h /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c /dovecot/src/pop3/mail-storage-callbacks.c
b1f57b7183fe44d7d7ba30b944d3de1f015b9253 26-Oct-2003 Timo Sirainen <tss@iki.fi>

Removed fetch_init/fetch_next from mail-storage. search_* makes it unnecessary --HG-- branch : HEAD

6789ed17e7ca4021713507baf0dcf6979bb42e0c 06-Aug-2003 Timo Sirainen <tss@iki.fi>

Index cache file rewrite. It's not finished yet and mbox support is completely broken. But it's getting difficult to maintain outside cvs :) --HG-- branch : HEAD

cmd-copy.c cmd-fetch.c cmd-store.c imap-fetch-body-section.c imap-fetch.c imap-fetch.h imap-search.c imap-thread.c /dovecot/src/lib-imap/imap-envelope.c /dovecot/src/lib-imap/imap-envelope.h /dovecot/src/lib-index/Makefile.am /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-custom-flags.c /dovecot/src/lib-index/mail-index-compress.c /dovecot/src/lib-index/mail-index-data.c /dovecot/src/lib-index/mail-index-data.h /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-open.c /dovecot/src/lib-index/mail-index-rebuild.c /dovecot/src/lib-index/mail-index-update-cache.c /dovecot/src/lib-index/mail-index-update.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/maildir/Makefile.am /dovecot/src/lib-index/maildir/maildir-build.c /dovecot/src/lib-index/maildir/maildir-expunge.c /dovecot/src/lib-index/maildir/maildir-index.c /dovecot/src/lib-index/maildir/maildir-index.h /dovecot/src/lib-index/maildir/maildir-open.c /dovecot/src/lib-index/maildir/maildir-sync.c /dovecot/src/lib-index/maildir/maildir-uidlist.c /dovecot/src/lib-index/maildir/maildir-update-flags.c /dovecot/src/lib-index/mbox/Makefile.am /dovecot/src/lib-index/mbox/mbox-append.c /dovecot/src/lib-index/mbox/mbox-index.c /dovecot/src/lib-index/mbox/mbox-index.h /dovecot/src/lib-index/mbox/mbox-open.c /dovecot/src/lib-index/mbox/mbox-rebuild.c /dovecot/src/lib-index/mbox/mbox-rewrite.c /dovecot/src/lib-index/mbox/mbox-sync-full.c /dovecot/src/lib-index/mbox/mbox-sync.c /dovecot/src/lib-storage/index/index-expunge.c /dovecot/src/lib-storage/index/index-fetch.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-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/mail-search.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/proxy-mailbox.c /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c
6389aeec8c26b585e583c364b48ad12adf741898 23-Jul-2003 Timo Sirainen <tss@iki.fi>

API change for updating message flags. --HG-- branch : HEAD

a5a0a25a2aa6c85e1bbf0f281d515b45018e190e 21-Jan-2003 Timo Sirainen <tss@iki.fi>

Partial fetches are working fast again - faster than ever actually. --HG-- branch : HEAD

5ce2084ada06ade9f44fc2914c34658e9a842dc1 20-Jan-2003 Timo Sirainen <tss@iki.fi>

mail-storage.h interface changes, affects pretty much everything. FETCH, SEARCH, SORT and THREAD handling were pretty much moved from lib-storage/ to imap/ so adding non-index storages would be much easier now. Also POP3 server can now be easily implemented with lib-storage. Not too well tested, and at least one major problem: partial fetching is _slow_. --HG-- branch : HEAD

Makefile.am cmd-append.c cmd-fetch.c cmd-search.c cmd-sort.c cmd-store.c cmd-thread.c commands-util.c commands-util.h imap-fetch-body-section.c imap-fetch.c imap-fetch.h imap-search.c imap-search.h imap-sort.c imap-sort.h imap-thread.c imap-thread.h /dovecot/src/lib-imap/Makefile.am /dovecot/src/lib-imap/imap-envelope.c /dovecot/src/lib-imap/imap-message-cache.c /dovecot/src/lib-imap/imap-message-cache.h /dovecot/src/lib-index/mail-index-data.c /dovecot/src/lib-mail/message-address.c /dovecot/src/lib-mail/message-address.h /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-body-search.h /dovecot/src/lib-mail/message-date.c /dovecot/src/lib-mail/message-date.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-send.c /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-mail/message-tokenize.h /dovecot/src/lib-storage/Makefile.am /dovecot/src/lib-storage/index/Makefile.am /dovecot/src/lib-storage/index/index-copy.c /dovecot/src/lib-storage/index/index-fetch.c /dovecot/src/lib-storage/index/index-fetch.h /dovecot/src/lib-storage/index/index-messageset.c /dovecot/src/lib-storage/index/index-messageset.h /dovecot/src/lib-storage/index/index-msgcache.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort.c /dovecot/src/lib-storage/index/index-sort.h /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-update-flags.c /dovecot/src/lib-storage/index/maildir/maildir-copy.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/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/mail-search.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-sort.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail-thread.h /dovecot/src/lib/strfuncs.c /dovecot/src/lib/strfuncs.h