2011-05-11 Timo Sirainen * .hgsigs: Added signature for changeset aa8dfa085a99 [72c2784fcbc9] [tip] * .hgtags: Added tag 2.0.13 for changeset aa8dfa085a99 [5a9adcae1a0e] * NEWS, configure.in: Released v2.0.13. [aa8dfa085a99] [2.0.13] * .hgignore, doc/man/Makefile.am, doc/man/doveadm-index.1.in, doc/man/doveadm.1.in: man: Added doveadm index. [822bd4936d46] * doc/man/doveadm-director.1.in: man: Added doveadm director dump. [a410f68c5fba] * src/lib/lib-signals.c: Increased highest signal number limit. HP-UX can use at least 44. [a32debbe3496] * src/lib/compat.h: Compile fix for HP-UX [39389620ace4] * doc/example-config/conf.d/10-auth.conf: example-config: Updated auth_krb5_keytab comment. [b41ff254e1d6] * src/config/old-set-parser.c: config: Updated obsolete protocol warning messages. [7f88557102c3] * src/director/user-directory.c: director: Avoid potential problems by making sure users list is always sorted by timestamp. [dab7043e8263] * doc/man/doveconf.1.in: man: Updated doveconf. [a6db801253c6] * src/plugins/fts/fts-storage.c: fts: Added assert to make sure all header data is valid UTF-8. [5e5daccf1de3] * src/lib-mail/message-decoder.c, src/lib-mail/message-header- decode.c: message [header] decoder: Output only valid UTF-8 data. [c392158f374d] * src/lib-mail/message-header-parser.c: message header parser: Fixed handling NUL characters in header names. line->name_len was too large and line->middle pointer may have pointed past allocated memory. These may have caused crashes/corruption (fts, mbox at least). [cef76cf2cec9] * src/lda/main.c: lda: Log destination address and its source with mail_debug=yes [8f605efb15ce] * doc/example-config/conf.d/10-auth.conf: example-config: Updated auth_gssapi_hostname comment. [370bf3d2d54f] 2011-05-10 Timo Sirainen * src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c: zlib: Don't unnecessarily reset istream caches. [66ec075a49d3] * src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c: istream-[b]zlib: stat(exact=FALSE) should always return the same value if file hasn't changed. [15a0687ec9d0] * src/doveadm/doveadm-mail.c: doveadm mailbox status: Don't assert-crash at exit if syncing a mailbox fails. [b74dfa49692b] * src/plugins/acl/acl-mailbox-list.c: acl: Don't waste time doing ACL checks for IMAP LSUB command. [a7f1980d250c] * src/login-common/login-settings.c, src/login-common/login- settings.h: Removed ssl_parameters_file setting. It wasn't used by anything. [40a5f8f07bd2] 2011-05-09 Timo Sirainen * src/util/script-login.c: script-login: When -d isn't given, drop privileges as specified by the service settings. [25a452227a09] * src/util/script-login.c: script-login: Reverted last change. [56a1b3082b4b] * src/util/script-login.c: script-login: Changed default behavior to be to drop privileges. Also since the default is to run as root, allow that. There is now "-n" parameter to avoid dropping privileges. [1bbb45a97cc1] * src/plugins/lazy-expunge/lazy-expunge-plugin.h: Minor typofix. [4e99454e2c7c] * src/lib-settings/settings-parser.c: lib-settings: Crashfix for broken settings under strlist. [74248914cf40] * src/auth/db-ldap.c: auth: Added assert. [3ada82147977] * src/master/master-settings.c: master: Warn if service's vsz_limit < 1 MB It's unlikely anyone wants it to be smaller, and small values give random errors/crashes. [c3f4201f9818] * src/imap/cmd-delete.c, src/imap/cmd-rename.c: imap: RENAME and DELETE wasn't replying with NONEXISTENT resp code. [6790433a1e77] * src/lib-storage/list/mailbox-list-none.c: lib-storage: Fixed LIST/LSUB with LAYOUT=none. It shouldn't have listed INBOX if it didn't match the given patterns. [78286b1a0a16] * src/lmtp/commands.c: lmtp: With lmtp_save_to_detail_mailbox=yes, save mail to detail. The previous behavior required using prefix="" namespace to work. [622d42376fe0] 2011-05-05 Timo Sirainen * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-index.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Added "index" command to add unindexed messages into index/cache/fts. The caching adds only the fields that were previously added to the mailbox's caching decisions, so it won't do anything useful for mailboxes that user's client hasn't accessed yet. [840e27a52e51] * src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index /dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-single/sdbox- mail.c, src/lib-storage/index/index-mail.c, src/lib-storage/index /index-mail.h, src/lib-storage/index/maildir/maildir-mail.c, src /lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw- mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage /mail-storage.h, src/lib-storage/mail.c, src/lib-storage/test- mail.c, src/plugins/virtual/virtual-mail.c: lib-storage: Added mail_parse(). [e9918fd289f3] * src/lib-storage/index/index-transaction.c, src/lib-storage/mail- storage-private.h, src/lib-storage/mail-storage.h, src/lib- storage/mail.c: lib-storage: Added mail_is_cached() [55ff92050bd7] * src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache.h: lib-index: Added mail_cache_field_exists_any() [45f6d523b1a1] 2011-05-04 Timo Sirainen * src/doveadm/doveadm-auth.c: doveadm user: Added -f parameter to show only the specified extra field's value. [23b6234ce0ae] * src/doveadm/doveadm-auth.c: doveadm cleanup: Don't try to keep auth/user comand handlers in same function. [d0f54521bb3b] * src/pop3/pop3-client.c, src/pop3/pop3-client.h, src/pop3/pop3-commands.c: pop3: Added support for showing messages in "pop3 order". [c9b7e829c6a9] * src/lib-storage/index/index-sort.c, src/lib-storage/mail-storage.h: lib-storage: Added MAIL_SORT_POP3_ORDER [fac2d4fe86b1] * src/lib-storage/index/index-mail.c, src/lib-storage/index/maildir /maildir-mail.c, src/lib-storage/index/maildir/maildir-uidlist.h, src/lib-storage/mail-storage.h: lib-storage: Added MAIL_FETCH_POP3_ORDER special field and implemented for Maildir. The idea is that this specifies the order of messages when accessing via POP3. This is useful when migrating both POP3 and IMAP users from servers where their message ordering differes and they still want to be preserved. [bf0a80c91536] * src/pop3/pop3-client.h, src/pop3/pop3-commands.c: pop3: Small code cleanup. [869795a295b5] 2011-05-03 Timo Sirainen * src/director/doveadm-connection.c, src/doveadm/doveadm-director.c: doveadm: Added "director dump" command. It outputs doveadm director commands to add/remove the current host configuration, so if all directors are stopped, their state can be easily restored by running the commands. [c838d40bd38e] * src/lib-index/mail-transaction-log-file.c: lib-index: Try to avoid duplicate "duplicate transaction log sequence" errors. [036260ae0261] * src/lib-storage/list/mailbox-list-subscriptions.c: lib-storage: Remove invalid subscription file entries instead of only ignoring them. [490a81fe688f] 2011-04-30 Timo Sirainen * src/lib-storage/index/dbox-single/sdbox-storage.c: sdbox: In-memory mailbox GUID differed from on-index GUID after mailbox_create(). [663528c5c799] 2011-04-29 Timo Sirainen * src/master/service-listen.c: master: Increased max. listen() backlog 128 -> 511 (by copying Apache) [bf8c2edfbc3e] * doc/example-config/conf.d/10-logging.conf: example-config: Removed plugin/mail_log_group_events since it no longer exists. [46aed30670bb] 2011-04-28 Timo Sirainen * src/lib-storage/index/dbox-common/dbox-file.c: dbox: If file can't be opened read-write, fallback to read-only. [de7c0d84c560] * src/lib-index/mail-transaction-log-file.c: lib-index: If .log file can't be opened read-write, fallback to read-only indexes. [5429f41aa6c1] * src/lib-settings/settings-parser.c: Compiler warning fix. [dfd7df8cd214] * src/lib-storage/index/dbox-multi/mdbox-purge.c: mdbox purge: Fixed warning about corrupted extrefs. [bb0bd8cb6f68] * src/lib-storage/index/mbox/mbox-mail.c: mbox: Looking up GUID/MD5(header) more than once was broken. [36025cbfec3b] * src/doveadm/doveadm-mail-altmove.c, src/lib-storage/index/index- sync-changes.c: Compiler warning fixes about enums. [c2f81056d38f] 2011-04-27 Timo Sirainen * src/lib/ipwd.c: i_getgr*(): OpenBSD workaround. [127b4e08d3c0] 2011-04-20 Timo Sirainen * src/config/config-parser.c, src/config/doveconf.c: config: Avoid growing data stack / memory pools. [b8fa3171f6d7] * src/config/config-parser.c: doveconf: Fixed a broken "subsection has ssl=yes" warning. [7d60cd847c70] * src/lib-lda/mail-deliver.c: lib-lda: If deliver_log_format setting is empty, don't log anything. Patch by Joseph Tam. [0e406e7cb609] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Added asserts to make sure invalid extension records aren't written to uidlist. [fa2e92526716] * src/lib-storage/index/maildir/maildir-uidlist.c, src/lib- storage/index/maildir/maildir-uidlist.h: maildir: Remove invalid extension records from dovecot-uidlist. For now we'll assume that if the key is outside A..Z it's invalid. Since only 4 keys are used currently, there is still a lot of letters available for future use. [4fe53879ceb1] * src/lib-storage/index/maildir/maildir-mail.c: maildir: If uidlist has an empty GUID entry, log an error and remove it. This fixes an assert-crash in dsync. [d3d635ee3016] 2011-04-13 Timo Sirainen * src/config/doveconf.c: doveconf: Added -S parameter to dump a simplified machine readable config. This should make it slightly easier for external programs/scripts to call doveconf and parse its output. [811a6d173bb2] * src/config/config-parser.c: config: Abort local/remote block DNS lookups after 30s and warn after 5s. [cf9c2252a3ea] * src/lib/ipwd.c: Compiling fix for Solaris. [b60d73301c08] 2011-04-12 Timo Sirainen * .hgsigs: Added signature for changeset 606faab2b896 [fef40f957c11] * .hgtags: Added tag 2.0.12 for changeset 606faab2b896 [a957418b55af] * NEWS, configure.in: Released v2.0.12. [606faab2b896] [2.0.12] * src/lib-storage/index/test-index-fetch.c: test-index-fetch unit test fixed. [8101b70e4a27] * src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c: sdbox: When rebuilding index, don't unnecessarily change mailbox's GUID. [bdd5a26ee180] * src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib- storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index /dbox-single/sdbox-storage.h: sdbox: If message file is unexpectedly lost, rebuild index. [d4945c93c33b] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-single/sdbox-sync.c, src/lib-storage/index/dbox-single/sdbox- sync.h: sdbox: Commit expunges to index first before unlinking the files. [edf79127fccd] * src/lib-storage/index/dbox-multi/mdbox-mail.c: mdbox: Fixed mail_get_save_date() returning wrong return value. This broke expire plugin. [2269cea521b6] * src/auth/auth-request.c: auth: Export/import auth_request->successful for auth workers. [bbcef91eac7e] * src/auth/db-ldap.c, src/auth/db-ldap.h: auth: Removed max. request queue limit from LDAP. Old requests get dropped after 60 seconds, but other than that there is probably not much point in having a hard coded limit. [56616bad7310] 2011-04-10 Timo Sirainen * src/lib-storage/mail-storage-service.c: lib-storage: Fixed crash in mail_storage_service_all_init() (doveadm .. -A) [475e6633b1d7] 2011-04-08 Timo Sirainen * src/imap-login/client.c: imap-login: Reduced the max. number of allowed bad commands. This makes it even more sure that we won't reply with anything dangerous when attempting to access us with HTTP client. [a0c1c6f7cf6e] * src/imap-login/client.c: imap-login: Don't allow IMAP command tags that have invalid characters. This simply attempts to prevent HTTP requests from replying with any potentially danerous data that some web browsers might execute, e.g.: curl --request POST -F 'x=""' http://localhost:143/ The above command probably doesn't work, because max. bad commands is reached earlier. But if it isn't, this change makes sure it doesn't return back anything, because '"' and '(' aren't allowed characters. Even if '"' weren't required, there hopefully isn't much to be done without being able to call any functions. [9b94597c3f02] * src/lib-index/mail-cache.c, src/lib-index/mail-index-map-read.c, src /lib-index/mail-index-strmap.c, src/lib-index/mail-index.c, src/lib- index/mail-transaction-log-file.c, src/lib-index/mailbox-list- index.c, src/lib/compat.h: Linux NFS: fstat() may return ENOENT instead of ESTALE in some kernel versions. [d14b0fd0a423] * src/director/director-connection.c, src/director/director.c: director: Improved debug/error logging. [e9139f74c451] * src/director/director-connection.c, src/director/director.c: director: Reset hosts' last_failed timestamps when they're suspected to be working again. This should fix some problems during director removals and additions. [2b7af3a16521] * src/doveadm/doveadm-mail-import.c: doveadm import: Initialize the import user properly. [e2b747f88e54] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: lib-storage: Allow each user lookup to override global mail_storage_service_flags. [1f545a4a1ffb] * src/lib-storage/mail-namespace.c, src/lib-storage/mail-namespace.h: lib-storage: Added mail_namespaces_init_location() for creating a single namespace for user. [dafc2dcc1a64] * src/config/config-parser.c: config: Log a warning if global ssl=no, but some section has ssl=yes/required. Actually supporting per-protocol (or even worse, per-ip) SSL would be too much trouble. [18e87d50a10a] * src/lib/eacces-error.c: eperm_error_get_chgrp(): Changed wiki link. [ab12bc9fcc21] * src/lib/eacces-error.c: eperm_error_get_chgrp(): Improved error message and added a link to wiki. [1319931cfda0] * doc/documentation.txt: Updated main documentation.txt index. [0b8f3ddbe29f] * INSTALL, README, doc/documentation.txt, doc/example-config/dovecot- ldap.conf.ext, doc/example-config/dovecot-sql.conf.ext, doc/example- config/dovecot.conf, src/lda/main.c, src/lib-storage/index/mbox /mbox-storage.c, src/lib-storage/mail-storage-service.c: Changed wiki.dovecot.org links to wiki2.dovecot.org [b6a705c42001] 2011-04-05 Timo Sirainen * src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib- storage/index/dbox-single/sdbox-sync.c: sdbox: Added more error message logging. [654b5a2fc926] * src/lib-index/mail-index-map.c: lib-index: Fix to previous check. [699d181a5578] * src/lib-index/mail-index-map.c: lib-index: Added extra checks against broken extension record introductions. [64f354128f4e] * src/plugins/quota/quota.c: quota: Fixed the quota limit check changes in previous commit. Casting (uint64_t)-1 to (int64_t) isn't a good idea. [6cc356a5d0a5] 2011-04-04 Timo Sirainen * src/plugins/quota/quota-private.h, src/plugins/quota/quota.c: quota: Code cleanup. [230458801916] * src/plugins/quota/quota.c: quota: Fixed checking message count limit when saving multiple mails in transaction. [618f610c7c67] * src/plugins/quota/quota.c: quota: Set quota limit correctly (for code path that doesn't exist). quota_alloc() followed by quota_test/try_alloc() set the "quota left" limit wrong. But this is only a theoretical problem, because nothing actually calls quota_alloc() currently. [8fa544520413] * src/lib-storage/index/index-attachment.c: dbox: External attachment's size was set wrong if base64 MIME part ended unexpectedly. [10ea7f598e11] * src/auth/db-ldap.c: auth: If initial binding to LDAP server hangs, detect it and abort. [cef23de90ff1] 2011-04-03 Timo Sirainen * doc/example-config/conf.d/auth-vpopmail.conf.ext: example-config: Fixed vpopmail config. [0ce50c22f84c] 2011-03-31 Timo Sirainen * src/auth/auth-request.c: auth: Mention auth_username_chars in log when disallowing username because of it. [3eaf0d3a38d4] 2011-03-26 Timo Sirainen * src/lib-settings/settings-parser.c: lib-settings: Fixed crash when trying treat strlist as having a subsection. For example "plugin/foo/bar=yes" crashed, while it should have been just ignored. [746b4e9e7015] * src/lib-index/mail-transaction-log-private.h: lib-index: Delete dovecot.index.log.2 files after 2 days, not after 30 mins. [0d437e2e6949] * src/dsync/dsync-worker-local.c: dsync: Fixed handling expunges of last message when it didn't have a known GUID. [e0f13d7510ef] * src/imap/imap-fetch.c: imap: Use mailbox_get_expunged_uids() for QRESYNC code. [e5547c86528f] * src/lib-storage/index/index-fetch.c, src/lib-storage/index/index- storage.h, src/lib-storage/index/test-index-fetch.c, src/lib-storage /mail-storage-private.h, src/lib-storage/mail-storage.c, src/lib- storage/mail-storage.h, src/lib-storage/test-mailbox.c: lib-storage: Fixed mailbox_get_expunges() to return GUIDs with all mailbox formats. Also added mailbox_get_expunged_uids() for use cases that don't really need GUIDs. [99e3209fc78d] 2011-03-24 Timo Sirainen * src/lmtp/Makefile.am: lmtp: Fixed loading Sieve plugin when configuring --without-shared- libs [8c409049402c] * src/plugins/autocreate/Makefile.am, src/plugins/autocreate /autocreate-plugin.c: autocreate: Disable plugin when running from dsync. [4242a7bf8918] * src/lib-storage/mail-storage.c: lib-storage: Removed extra "don't allow INBOX to be deleted" check. It's already checked in places where it could cause actual harm (accidentally deleting other mailboxes) and where it's not allowed (IMAP). This allows dsync backup to delete unwanted INBOX if the mail location settings allow it. [84354efc93bd] * src/dsync/dsync-worker-local.c: dsync backup: Handle better deletion of mailboxes from destination. [65f4791d0eb4] 2011-03-23 Timo Sirainen * src/lib-storage/mail-namespace.c: lib-storage: When mail_location is looked up from environment, set its unexpanded string properly. This fixes a crash when creating index directories and mail location was autodetected. [a5f9264674fb] * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-mail-iter.h, src/doveadm/doveadm-mail-move.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Added "move" command for moving mails between mailboxes. [d7a02077d91f] 2011-03-22 Timo Sirainen * src/config/config-request.c, src/config/doveconf.c: doveconf: Fixed showing plugin {} section. [a94abbccea0f] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: lib-storage: Added MAIL_STORAGE_SERVICE_FLAG_NO_NAMESPACES flag. [b5768d835e79] 2011-03-21 Timo Sirainen * src/lib-storage/mailbox-list.c: lib-storage: Don't try to create /dovecot.mailbox.index when indexes are disabled. [4f1b77b81cf3] * doc/example-config/dovecot.conf: example-config: Uncommented !include_try local.conf At least one Linux distro wants this. [0dcbd2357451] * src/lib-lda/lmtp-client.c: lmtp/smtp client: Crashfix if remote returned failure to RCPT TO. [31b3f1819c89] 2011-03-17 Timo Sirainen * src/plugins/fts/fts-storage.c: fts: Don't notify storage about finishing indexing if notify_ok callback is NULL. [3d48418b0501] * src/auth/passdb-bsdauth.c, src/auth/passdb-passwd.c, src/auth /userdb-passwd.c, src/auth/userdb.c, src/lda/main.c, src/lib- storage/index/mbox/mbox-lock.c, src/lib-storage/mail-storage- service.c, src/lib/eacces-error.c, src/lib/home-expand.c, src/lib /ioloop-notify-inotify.c, src/lib/lib.c, src/lib/mkdir-parents.c, src/lib/restrict-access.c, src/master/main.c, src/master/service- process.c: Replaced all getpw/gr*() to use i_getpw/gr*() with improved error handling. [02829f7f79c7] * src/lib/Makefile.am, src/lib/ipwd.c, src/lib/ipwd.h: Added i_getpw*() and i_getgr*() wrappers for getpw*()/getgr*(). These functions make error handling easier. [7f5735ab7c35] 2011-03-16 Timo Sirainen * src/master/main.c: master: Don't close stderr if logging goes there. [26d5351649ac] * src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual- storage.c, src/plugins/virtual/virtual-storage.h: virtual: Support +mailbox entries that clear \Recent flag from messages. [be0f0de75e34] * src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib- storage/index/dbox-single/sdbox-storage.c: dbox: Fixed crash on creation of a new mailbox. Broken by recent changes. [310f2784de31] * src/lib/eacces-error.c: eacces_error_get*(): Handle errors to / directory better. [46d46fa3929f] * src/lib-auth/auth-master.c: lib-auth: If connection to auth-master gets lost, reconnect. [7d9db422549a] * src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-storage /mail-storage.c: lib-storage: Moved mailbox_update() assert check from mdbox to common, plus fixed it. [18d801449444] * src/dsync/dsync-brain.c, src/dsync/dsync-data.h, src/dsync/dsync- proxy.c, src/dsync/dsync-worker-local.c, src/dsync/test-dsync- brain.c, src/dsync/test-dsync-proxy-server-cmd.c: dsync: Preserve \Recent flags state (instead of setting everything \Recent). [ad393de782ce] * src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib- storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index /index-storage.c, src/lib-storage/mail-storage.h: lib-storage: Added min_first_recent_uid to struct mailbox_update. Implemented for dbox. Maildir/mbox needs some more code to make this work correctly. [08e4c5d0dc9b] * src/lib-storage/index/index-status.c, src/lib-storage/mail- storage.h: lib-storage: Added first_recent_uid to struct mailbox_status. [4baca6914518] 2011-03-15 Timo Sirainen * src/imap-login/client.c: imap-login: Changed CAPABILITY's tagged OK reply to say post-login capabilities have more. [31d8d43fa6b5] 2011-03-14 Timo Sirainen * src/lib-storage/index/dbox-common/dbox-attachment.c: dbox: Fixed wrong error check while reading external attachments. [890a46b3ab63] 2011-03-12 Timo Sirainen * src/dsync/dsync-brain.c: dsync: When showing mailbox names, show also their GUIDs. [0a1a0d33c1b2] * src/lib-storage/index/dbox-common/dbox-attachment.c: dbox: Give more verbose error message about broken attachment ext- refs. [d3d6ed6d268b] * src/lib-storage/index/dbox-single/sdbox-save.c, src/lib- storage/index/maildir/maildir-save.c: maildir, sdbox: If committed transaction has only aborted msg saves, don't assert-crash. [b896d72d7fa7] * src/dsync/dsync-proxy-client.c: dsync: If remote dsync times out, log a more verbose reason. [4b537650b4de] * src/lib-storage/mail-storage-service.c: lib-storage: When uid/gid is invalid, tell if it's from setting or userdb lookup. [e83eec6d0126] * doc/example-config/conf.d/20-imap.conf, src/imap/cmd-list.c, src/imap/imap-settings.c, src/imap/imap-settings.h: imap: Added tb-lsub-flags to imap_client_workarounds. Patch by Bruno TrĂ©guier. [0405f4c507c9] 2011-03-10 Timo Sirainen * src/dsync/dsync-proxy-server.c: dsync: Reset idle timeouts at the end of i/o callbacks, not beginning. This could make a difference if the callback runs for a long time. [2ac35ed2f943] 2011-03-09 Timo Sirainen * src/lib-imap/imap-id.c: IMAP: Fixed ID command to log the parameters properly. Patch by Mike Abbott / Apple. [3b2c301ab31f] * src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server.c, src/dsync/dsync-proxy.h: dsync: Use a smaller idle timeout value for client than for server. [60c5cf26c3dd] 2011-03-07 Timo Sirainen * src/dsync/dsync-proxy-client.c: dsync: Avoid hanging when saving messages. [33cd03255c94] * src/plugins/expire/expire-plugin.c: expire: Fixed mail_debug logging when same transaction expunged all messages and saved new. [2cb0fb910441] * src/plugins/expire/expire-plugin.c: expire: Added more debugging with mail_debug=yes [63ed0d3f4f52] * src/plugins/expire/expire-plugin.c: expire: When saving first message to expire mailbox, use the oldest message's save-time. This makes it easier to enable and test expire plugin. This also changes how expire dict is used: previously when all messages were expunged in a mailbox its entry was deleted in dict, but now its value is set to 0. [eac54c2dc98b] * .hgsigs: Added signature for changeset 3355b4bbd4ac [47279462da5a] * .hgtags: Added tag 2.0.11 for changeset 3355b4bbd4ac [4f76b03db4cd] * NEWS, configure.in: Released v2.0.11. [3355b4bbd4ac] [2.0.11] * src/lib-storage/mail-storage-settings.c: lib-storage: dotlock_use_excl default was accidentally set to "no". [61ed55d1c870] * src/dsync/dsync-proxy-client.c: dsync: Fixed a timeout/crash when saving messages to remote dsync. [5767657f0170] 2011-03-06 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-map.c: mdbox: Avoid leaking fds when saving many messages larger than mdbox_rotate_size. [d1f30e375f40] 2011-03-05 Timo Sirainen * src/auth/db-ldap.c: auth: Fixed ldap assert-crash. [b44ec48d9425] 2011-03-04 Timo Sirainen * src/plugins/acl/doveadm-acl.c: doveadm acl set: Require non-standard rights to be prefixed with ':' char. [d757b13d84ff] * .hgsigs: Added signature for changeset 755c63ff089f [81d799f52912] * .hgtags: Added tag 2.0.10 for changeset 755c63ff089f [58039a22d17f] * NEWS, TODO, configure.in: Released v2.0.10. [755c63ff089f] [2.0.10] * src/anvil/anvil-connection.c, src/anvil/anvil-settings.c, src/anvil /connect-limit.c, src/anvil/main.c, src/anvil/penalty.c, src/anvil /test-penalty.c, src/auth/auth-cache.c, src/auth/auth-client- connection.c, src/auth/auth-master-connection.c, src/auth/auth- penalty.c, src/auth/auth-request-handler.c, src/auth/auth-request.c, src/auth/auth-settings.c, src/auth/auth-stream.c, src/auth/auth- worker-client.c, src/auth/auth-worker-server.c, src/auth/auth.c, src/auth/db-checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd- file.c, src/auth/db-sql.c, src/auth/main.c, src/auth/mech- anonymous.c, src/auth/mech-cram-md5.c, src/auth/mech-digest-md5.c, src/auth/mech-external.c, src/auth/mech-plain.c, src/auth/mech.c, src/auth/passdb-blocking.c, src/auth/passdb-bsdauth.c, src/auth /passdb-cache.c, src/auth/passdb-checkpassword.c, src/auth/passdb- ldap.c, src/auth/passdb-passwd-file.c, src/auth/passdb-passwd.c, src/auth/passdb-shadow.c, src/auth/passdb-sql.c, src/auth/passdb- static.c, src/auth/passdb-vpopmail.c, src/auth/passdb.c, src/auth /password-scheme-crypt.c, src/auth/password-scheme.c, src/auth /userdb-blocking.c, src/auth/userdb-checkpassword.c, src/auth /userdb-ldap.c, src/auth/userdb-nss.c, src/auth/userdb-passwd- file.c, src/auth/userdb-passwd.c, src/auth/userdb-prefetch.c, src/auth/userdb-sql.c, src/auth/userdb-static.c, src/auth/userdb- vpopmail.c, src/auth/userdb.c, src/config/config-connection.c, src/config/config-filter.c, src/config/config-parser.c, src/config /config-request.c, src/config/config-settings.c, src/config/doveconf.c, src/config/main.c, src/config/old-set- parser.c, src/config/sysinfo-get.c, src/dict/dict-commands.c, src/dict/dict-connection.c, src/dict/dict-settings.c, src/dict/main.c, src/director/auth-connection.c, src/director /director-connection.c, src/director/director-host.c, src/director /director-request.c, src/director/director-settings.c, src/director /director-test.c, src/director/director.c, src/director/doveadm- connection.c, src/director/login-connection.c, src/director/mail- host.c, src/director/main.c, src/director/notify-connection.c, src/director/user-directory.c, src/dns/dns-client-settings.c, src/dns/dns-client.c, src/doveadm/client-connection.c, src/doveadm /doveadm-auth.c, src/doveadm/doveadm-director.c, src/doveadm /doveadm-dump-index.c, src/doveadm/doveadm-dump-log.c, src/doveadm /doveadm-dump-mailboxlog.c, src/doveadm/doveadm-dump-thread.c, src/doveadm/doveadm-dump.c, src/doveadm/doveadm-kick.c, src/doveadm /doveadm-log.c, src/doveadm/doveadm-mail-altmove.c, src/doveadm /doveadm-mail-expunge.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail-import.c, src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-mail-list-iter.c, src/doveadm/doveadm-mail- mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c, src/doveadm /doveadm-mail-search.c, src/doveadm/doveadm-mail-server.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-master.c, src/doveadm/doveadm-mutf7.c, src/doveadm/doveadm-penalty.c, src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-pager.c, src/doveadm/doveadm-print-server.c, src/doveadm/doveadm-print-tab.c, src/doveadm/doveadm-print-table.c, src/doveadm/doveadm-print.c, src/doveadm/doveadm-settings.c, src/doveadm/doveadm-sis.c, src/doveadm/doveadm-util.c, src/doveadm/doveadm-who.c, src/doveadm/doveadm.c, src/doveadm/main.c, src/doveadm/server- connection.c, src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync- brain-msgs.c, src/dsync/dsync-brain.c, src/dsync/dsync-data.c, src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.c, src/dsync/dsync-proxy.c, src/dsync /dsync-worker-local.c, src/dsync/dsync-worker.c, src/dsync/dsync.c, src/dsync/test-dsync-brain-msgs.c, src/dsync/test-dsync-brain.c, src/dsync/test-dsync-common.c, src/dsync/test-dsync-proxy-server- cmd.c, src/dsync/test-dsync-proxy.c, src/dsync/test-dsync-worker.c, src/imap-login/client-authenticate.c, src/imap-login/client.c, src /imap-login/imap-login-settings.c, src/imap-login/imap-proxy.c, src/imap/cmd-append.c, src/imap/cmd-cancelupdate.c, src/imap/cmd- capability.c, src/imap/cmd-check.c, src/imap/cmd-close.c, src/imap /cmd-copy.c, src/imap/cmd-create.c, src/imap/cmd-delete.c, src/imap /cmd-enable.c, src/imap/cmd-examine.c, src/imap/cmd-expunge.c, src/imap/cmd-fetch.c, src/imap/cmd-id.c, src/imap/cmd-idle.c, src/imap/cmd-list.c, src/imap/cmd-logout.c, src/imap/cmd-lsub.c, src/imap/cmd-namespace.c, src/imap/cmd-noop.c, src/imap/cmd- rename.c, src/imap/cmd-search.c, src/imap/cmd-select.c, src/imap /cmd-sort.c, src/imap/cmd-status.c, src/imap/cmd-store.c, src/imap /cmd-subscribe.c, src/imap/cmd-thread.c, src/imap/cmd-uid.c, src/imap/cmd-unselect.c, src/imap/cmd-unsubscribe.c, src/imap/cmd-x-cancel.c, src/imap/imap-client.c, src/imap/imap- commands-util.c, src/imap/imap-commands.c, src/imap/imap-expunge.c, src/imap/imap-fetch-body.c, src/imap/imap-fetch.c, src/imap/imap- search-args.c, src/imap/imap-search.c, src/imap/imap-settings.c, src/imap/imap-status.c, src/imap/imap-sync.c, src/imap/mail-storage- callbacks.c, src/imap/main.c, src/lda/main.c, src/lib-auth/auth- client-request.c, src/lib-auth/auth-client.c, src/lib-auth/auth- master.c, src/lib-auth/auth-server-connection.c, src/lib-charset /charset-iconv.c, src/lib-charset/charset-utf8.c, src/lib-dict/dict- client.c, src/lib-dict/dict-db.c, src/lib-dict/dict-file.c, src/lib- dict/dict-sql-settings.c, src/lib-dict/dict-sql.c, src/lib- dict/dict.c, src/lib-dict/test-dict.c, src/lib-dns/dns-lookup.c, src /lib-fs/fs-api.c, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-common.c, src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c, src/lib-fs/ostream- cmp.c, src/lib-imap/imap-arg.c, src/lib-imap/imap-base-subject.c, src/lib-imap/imap-bodystructure.c, src/lib-imap/imap-date.c, src /lib-imap/imap-envelope.c, src/lib-imap/imap-id.c, src/lib-imap /imap-match.c, src/lib-imap/imap-parser.c, src/lib-imap/imap- quote.c, src/lib-imap/imap-seqset.c, src/lib-imap/imap-utf7.c, src /lib-imap/imap-util.c, src/lib-imap/test-imap-match.c, src/lib-imap /test-imap-parser.c, src/lib-imap/test-imap-utf7.c, src/lib-imap /test-imap-util.c, src/lib-index/mail-cache-compress.c, src/lib- index/mail-cache-decisions.c, src/lib-index/mail-cache-fields.c, src /lib-index/mail-cache-lookup.c, src/lib-index/mail-cache-sync- update.c, src/lib-index/mail-cache-transaction.c, src/lib-index /mail-cache.c, src/lib-index/mail-index-alloc-cache.c, src/lib-index /mail-index-dummy-view.c, src/lib-index/mail-index-fsck.c, src/lib- index/mail-index-lock.c, src/lib-index/mail-index-map-hdr.c, src /lib-index/mail-index-map-read.c, src/lib-index/mail-index-map.c, src/lib-index/mail-index-modseq.c, src/lib-index/mail-index- strmap.c, src/lib-index/mail-index-sync-ext.c, src/lib-index/mail- index-sync-keywords.c, src/lib-index/mail-index-sync-update.c, src /lib-index/mail-index-sync.c, src/lib-index/mail-index-transaction- export.c, src/lib-index/mail-index-transaction-finish.c, src/lib- index/mail-index-transaction-sort-appends.c, src/lib-index/mail- index-transaction-update.c, src/lib-index/mail-index-transaction- view.c, src/lib-index/mail-index-transaction.c, src/lib-index/mail- index-util.c, src/lib-index/mail-index-view-sync.c, src/lib-index /mail-index-view.c, src/lib-index/mail-index-write.c, src/lib-index /mail-index.c, src/lib-index/mail-transaction-log-append.c, src/lib- index/mail-transaction-log-file.c, src/lib-index/mail-transaction- log-view.c, src/lib-index/mail-transaction-log.c, src/lib-index /mailbox-list-index-sync.c, src/lib-index/mailbox-list-index.c, src /lib-index/mailbox-log.c, src/lib-index/test-mail-index-sync-ext.c, src/lib-index/test-mail-index-transaction-finish.c, src/lib-index /test-mail-index-transaction-update.c, src/lib-index/test-mail- transaction-log-append.c, src/lib-index/test-mail-transaction-log- view.c, src/lib-lda/duplicate.c, src/lib-lda/lda-settings.c, src /lib-lda/lmtp-client.c, src/lib-lda/mail-deliver.c, src/lib-lda /mail-send.c, src/lib-lda/smtp-client.c, src/lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c, src/lib-mail/mbox-from.c, src /lib-mail/message-address.c, src/lib-mail/message-date.c, src/lib- mail/message-decoder.c, src/lib-mail/message-header-decode.c, src /lib-mail/message-header-encode.c, src/lib-mail/message-header- parser.c, src/lib-mail/message-id.c, src/lib-mail/message-parser.c, src/lib-mail/message-part-serialize.c, src/lib-mail/message- search.c, src/lib-mail/message-send.c, src/lib-mail/message-size.c, src/lib-mail/quoted-printable.c, src/lib-mail/rfc2231-parser.c, src /lib-mail/rfc822-parser.c, src/lib-mail/test-istream-dot.c, src/lib- mail/test-istream-header-filter.c, src/lib-mail/test-mbox-from.c, src/lib-mail/test-message-address.c, src/lib-mail/test-message- date.c, src/lib-mail/test-message-decoder.c, src/lib-mail/test- message-header-decode.c, src/lib-mail/test-message-header-encode.c, src/lib-mail/test-message-header-parser.c, src/lib-mail/test- message-id.c, src/lib-mail/test-message-parser.c, src/lib-mail/test- quoted-printable.c, src/lib-mail/test-rfc2231-parser.c, src/lib- master/anvil-client.c, src/lib-master/master-auth.c, src/lib-master /master-login-auth.c, src/lib-master/master-login.c, src/lib-master /master-service-settings-cache.c, src/lib-master/master-service- settings.c, src/lib-master/master-service.c, src/lib-master/syslog- util.c, src/lib-settings/settings-parser.c, src/lib- settings/settings.c, src/lib-sql/driver-mysql.c, src/lib-sql/driver- pgsql.c, src/lib-sql/driver-sqlpool.c, src/lib-sql/sql-api.c, src /lib-sql/sql-db-cache.c, src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir-save.c, src/lib- storage/index/cydir/cydir-storage.c, src/lib-storage/index/cydir /cydir-sync.c, src/lib-storage/index/dbox-common/dbox-attachment.c, src/lib-storage/index/dbox-common/dbox-file-fix.c, src/lib- storage/index/dbox-common/dbox-file.c, src/lib-storage/index/dbox- common/dbox-mail.c, src/lib-storage/index/dbox-common/dbox-save.c, src/lib-storage/index/dbox-common/dbox-storage.c, src/lib- storage/index/dbox-common/dbox-sync-rebuild.c, src/lib-storage/index /dbox-multi/mdbox-file.c, src/lib-storage/index/dbox-multi/mdbox- mail.c, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib- storage/index/dbox-multi/mdbox-purge.c, src/lib-storage/index/dbox- multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox- settings.c, src/lib-storage/index/dbox-multi/mdbox-storage- rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src /lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index /dbox-single/sdbox-copy.c, src/lib-storage/index/dbox-single/sdbox- file.c, src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib- storage/index/dbox-single/sdbox-save.c, src/lib-storage/index/dbox- single/sdbox-storage.c, src/lib-storage/index/dbox-single/sdbox- sync-rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync.c, src /lib-storage/index/index-attachment.c, src/lib-storage/index/index- fetch.c, src/lib-storage/index/index-mail-headers.c, src/lib- storage/index/index-mail.c, src/lib-storage/index/index-mailbox- check.c, src/lib-storage/index/index-search-result.c, src/lib- storage/index/index-search.c, src/lib-storage/index/index-sort- string.c, src/lib-storage/index/index-sort.c, src/lib-storage/index /index-status.c, src/lib-storage/index/index-storage.c, src/lib- storage/index/index-sync-changes.c, src/lib-storage/index/index- sync-search.c, src/lib-storage/index/index-sync.c, src/lib- storage/index/index-thread-finish.c, src/lib-storage/index/index- thread-links.c, src/lib-storage/index/index-thread.c, src/lib- storage/index/index-transaction.c, src/lib-storage/index/istream- attachment.c, src/lib-storage/index/istream-mail-stats.c, src/lib- storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir /maildir-filename.c, src/lib-storage/index/maildir/maildir- keywords.c, src/lib-storage/index/maildir/maildir-mail.c, src/lib- storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir /maildir-settings.c, src/lib-storage/index/maildir/maildir- storage.c, src/lib-storage/index/maildir/maildir-sync-index.c, src /lib-storage/index/maildir/maildir-sync.c, src/lib- storage/index/maildir/maildir-uidlist.c, src/lib- storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox /istream-raw-mbox.c, src/lib-storage/index/mbox/mbox-file.c, src /lib-storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox /mbox-mail.c, src/lib-storage/index/mbox/mbox-md5.c, src/lib- storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox- settings.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib- storage/index/mbox/mbox-sync-parse.c, src/lib-storage/index/mbox /mbox-sync-rewrite.c, src/lib-storage/index/mbox/mbox-sync-update.c, src/lib-storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw /raw-mail.c, src/lib-storage/index/raw/raw-storage.c, src/lib- storage/index/raw/raw-sync.c, src/lib-storage/index/shared/shared- list.c, src/lib-storage/index/shared/shared-storage.c, src/lib- storage/index/test-index-fetch.c, src/lib-storage/list/index- mailbox-list-sync.c, src/lib-storage/list/index-mailbox-list.c, src /lib-storage/list/mailbox-list-delete.c, src/lib-storage/list /mailbox-list-fs-flags.c, src/lib-storage/list/mailbox-list-fs- iter.c, src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list /mailbox-list-maildir-iter.c, src/lib-storage/list/mailbox-list- maildir.c, src/lib-storage/list/mailbox-list-none.c, src/lib- storage/list/mailbox-list-subscriptions.c, src/lib-storage/list /subscription-file.c, src/lib-storage/mail-copy.c, src/lib-storage /mail-error.c, src/lib-storage/mail-namespace.c, src/lib-storage /mail-search-build.c, src/lib-storage/mail-search-parser-cmdline.c, src/lib-storage/mail-search-parser-imap.c, src/lib-storage/mail- search-parser.c, src/lib-storage/mail-search-register-human.c, src /lib-storage/mail-search-register-imap.c, src/lib-storage/mail- search-register.c, src/lib-storage/mail-search.c, src/lib-storage /mail-storage-hooks.c, src/lib-storage/mail-storage-service.c, src /lib-storage/mail-storage-settings.c, src/lib-storage/mail- storage.c, src/lib-storage/mail-thread.c, src/lib-storage/mail- user.c, src/lib-storage/mail.c, src/lib-storage/mailbox-list.c, src /lib-storage/mailbox-search-result.c, src/lib-storage/mailbox- tree.c, src/lib-storage/mailbox-uidvalidity.c, src/lib-storage/test- mail-storage.c, src/lib-storage/test-mail.c, src/lib-storage/test- mailbox.c, src/lib-test/test-common.c, src/lib/abspath.c, src/lib/aqueue.c, src/lib/array.c, src/lib/askpass.c, src/lib /backtrace-string.c, src/lib/base64.c, src/lib/bsearch-insert-pos.c, src/lib/buffer.c, src/lib/child-wait.c, src/lib/close-keep-errno.c, src/lib/compat.c, src/lib/crc32.c, src/lib/data-stack.c, src/lib /eacces-error.c, src/lib/env-util.c, src/lib/execv-const.c, src/lib/failures.c, src/lib/fd-close-on-exec.c, src/lib/fd-set- nonblock.c, src/lib/fdatasync-path.c, src/lib/fdpass.c, src/lib /file-cache.c, src/lib/file-copy.c, src/lib/file-dotlock.c, src/lib /file-lock.c, src/lib/file-set-size.c, src/lib/hash-format.c, src/lib/hash-method.c, src/lib/hash.c, src/lib/hash2.c, src/lib/hex- binary.c, src/lib/hex-dec.c, src/lib/home-expand.c, src/lib/hostpid.c, src/lib/imem.c, src/lib/ioloop-notify-dn.c, src/lib/ioloop-notify-fd.c, src/lib/ioloop-notify-inotify.c, src/lib /ioloop-notify-none.c, src/lib/ioloop-poll.c, src/lib/ioloop- select.c, src/lib/ioloop.c, src/lib/iostream.c, src/lib/istream- base64-encoder.c, src/lib/istream-concat.c, src/lib/istream-crlf.c, src/lib/istream-data.c, src/lib/istream-file.c, src/lib/istream- limit.c, src/lib/istream-mmap.c, src/lib/istream-seekable.c, src/lib /istream-tee.c, src/lib/istream.c, src/lib/lib-signals.c, src/lib/lib.c, src/lib/mempool-alloconly.c, src/lib/mempool- datastack.c, src/lib/mempool-system.c, src/lib/mempool-unsafe- datastack.c, src/lib/mempool.c, src/lib/mkdir-parents.c, src/lib /mmap-anon.c, src/lib/mmap-util.c, src/lib/module-dir.c, src/lib/mountpoint.c, src/lib/network.c, src/lib/nfs-workarounds.c, src/lib/ostream-buffer.c, src/lib/ostream-file.c, src/lib/ostream.c, src/lib/printf-format-fix.c, src/lib/priorityq.c, src/lib/process- title.c, src/lib/randgen.c, src/lib/read-full.c, src/lib/restrict- access.c, src/lib/restrict-process-size.c, src/lib/safe-memset.c, src/lib/safe-mkdir.c, src/lib/safe-mkstemp.c, src/lib/sendfile- util.c, src/lib/seq-range-array.c, src/lib/str-find.c, src/lib/str- sanitize.c, src/lib/str.c, src/lib/strescape.c, src/lib/strfuncs.c, src/lib/strnum.c, src/lib/test-aqueue.c, src/lib/test-array.c, src/lib/test-base64.c, src/lib/test-bsearch-insert-pos.c, src/lib /test-buffer.c, src/lib/test-crc32.c, src/lib/test-hash-format.c, src/lib/test-hex-binary.c, src/lib/test-istream-base64-encoder.c, src/lib/test-istream-concat.c, src/lib/test-istream-crlf.c, src/lib /test-istream-seekable.c, src/lib/test-istream-tee.c, src/lib/test- lib.c, src/lib/test-llist.c, src/lib/test-mempool-alloconly.c, src/lib/test-network.c, src/lib/test-ostream-file.c, src/lib/test- primes.c, src/lib/test-priorityq.c, src/lib/test-seq-range-array.c, src/lib/test-str-find.c, src/lib/test-str-sanitize.c, src/lib/test- strescape.c, src/lib/test-strfuncs.c, src/lib/test-time-util.c, src/lib/test-utc-mktime.c, src/lib/test-var-expand.c, src/lib/time- util.c, src/lib/unichar.c, src/lib/unix-socket-create.c, src/lib /unlink-directory.c, src/lib/unlink-old-files.c, src/lib/utc- mktime.c, src/lib/utc-offset.c, src/lib/var-expand.c, src/lib/write- full.c, src/lmtp/client.c, src/lmtp/commands.c, src/lmtp/lmtp- proxy.c, src/lmtp/lmtp-settings.c, src/lmtp/main.c, src/log/log- connection.c, src/log/log-settings.c, src/log/main.c, src/login- common/access-lookup.c, src/login-common/client-common-auth.c, src /login-common/client-common.c, src/login-common/login-proxy-state.c, src/login-common/login-proxy.c, src/login-common/login-settings.c, src/login-common/main.c, src/login-common/sasl-server.c, src/login- common/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c, src /login-common/ssl-proxy.c, src/master/dup2-array.c, src/master/main.c, src/master/master-settings.c, src/master/service- anvil.c, src/master/service-listen.c, src/master/service-log.c, src/master/service-monitor.c, src/master/service-process-notify.c, src/master/service-process.c, src/master/service.c, src/plugins/acl /acl-api.c, src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-backend.c, src/plugins/acl/acl-cache.c, src/plugins/acl/acl-lookup-dict.c, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-plugin.c, src/plugins/acl/acl-shared-storage.c, src/plugins/acl/acl-storage.c, src/plugins/autocreate/autocreate- plugin.c, src/plugins/expire/doveadm-expire.c, src/plugins/expire /expire-plugin.c, src/plugins/expire/expire-set.c, src/plugins/fts- lucene/fts-backend-lucene.c, src/plugins/fts-lucene/fts-lucene- plugin.c, src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts- solr/fts-solr-plugin.c, src/plugins/fts-solr/solr-connection.c, src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts-squat /fts-squat-plugin.c, src/plugins/fts-squat/squat-test.c, src/plugins /fts-squat/squat-trie.c, src/plugins/fts-squat/squat-uidlist.c, src/plugins/fts/fts-api.c, src/plugins/fts/fts-plugin.c, src/plugins/fts/fts-search.c, src/plugins/fts/fts-storage.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap- quota-plugin.c, src/plugins/imap-zlib/imap-zlib-plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log /mail-log-plugin.c, src/plugins/quota/doveadm-quota.c, src/plugins/quota/quota-count.c, src/plugins/quota/quota-dict.c, src/plugins/quota/quota-dirsize.c, src/plugins/quota/quota-fs.c, src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-plugin.c, src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c, src/plugins/snarf/snarf-plugin.c, src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual- mail.c, src/plugins/virtual/virtual-plugin.c, src/plugins/virtual /virtual-save.c, src/plugins/virtual/virtual-search.c, src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual- sync.c, src/plugins/virtual/virtual-transaction.c, src/plugins/zlib /doveadm-zlib.c, src/plugins/zlib/istream-bzlib.c, src/plugins/zlib /istream-zlib.c, src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib /ostream-zlib.c, src/plugins/zlib/zlib-plugin.c, src/pop3-login /client-authenticate.c, src/pop3-login/client.c, src/pop3-login/pop3 -login-settings.c, src/pop3-login/pop3-proxy.c, src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-commands.c, src/pop3/pop3-settings.c, src/ssl-params/main.c, src/ssl-params/ssl- params-openssl.c, src/ssl-params/ssl-params-settings.c, src/ssl- params/ssl-params.c, src/util/gdbhelper.c, src/util/listview.c, src/util/maildirlock.c, src/util/rawlog.c, src/util/script-login.c, src/util/script.c, src/util/tcpwrap-settings.c, src/util/tcpwrap.c: Updated copyright notices to include year 2011. [44d0474a451e] * src/lib-master/anvil-client.c: lib-master: Added reconnection timeout to anvil client. Previously if anvil kept disconnecting, the client was rapidly flooding the logs with errors. [54e354cbf061] * src/master/master-settings.c: master: Allow protocols value to be empty (= same as "none") [a6382acebe7e] * src/master/common.h, src/master/main.c, src/master/service- monitor.c, src/master/service-process.c, src/master/service.c, src/master/service.h: master: Use per-services_list "master is dead" fd, so services know when config is reload. [539da23bff31] * src/master/service.c: master: Memory leak fix if services couldn't be initialized. (On config reload.) [65e943eafe8b] * src/lib-sql/driver-sqlpool.c: lib-sql: When adding more connections to sql pool, connect to them immediately. [e758f10f40c1] * src/lib-sql/driver-pgsql.c: pgsql: Don't assert-crash if query fails when trying to send it. [f95b1e26f1f2] * src/lib-sql/driver-pgsql.c: pgsql: If host isn't given, don't show pgsql((null)) as log prefix (or crash). [27ee65dc87c2] * doc/example-config/dovecot.conf: example-config: Added import_environment. [dfd5a2efd7df] * src/login-common/sasl-server.c: login: Skip auth penalty checks from IPs in login_trusted_networks. [73cad87e2045] * src/auth/auth-penalty.c, src/auth/auth-request.c, src/auth/auth- request.h, src/lib-auth/auth-client-request.c, src/lib-auth/auth- client.h: auth: Allow clients to specify that they want to skip auth penalty check. This is "safe", because the clients specify the IP for the penalty check anyway. [bf6749d4db08] * src/plugins/virtual/virtual-config.c: virtual: Allow search rule continuation lines to begin with tab as well as space. [d32a23fa160d] * src/lib-imap/imap-parser.c: lib-imap: imap_parser_finish_line() didn't return failure on invalid input. [3f21260a72ce] * src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib- storage/index/dbox-single/sdbox-storage.h, src/lib-storage/mail- storage-private.h, src/lib-storage/mail-storage.c: sdbox: Fixed creating mailbox with given GUID. [1ffeb083c993] * src/plugins/acl/doveadm-acl.c: doveadm acl debug: If any errors are noticed, fix them. [325e163a6f84] * src/plugins/acl/acl-api-private.h, src/plugins/acl/acl-api.c, src/plugins/acl/acl-api.h, src/plugins/acl/acl-backend-vfile- acllist.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl- backend-vfile.h: acl: Added acl_backend_nonowner_lookups_rebuild() [313e9af474a4] * src/plugins/acl/doveadm-acl.c: doveadm: Added acl delete command. [20b173d061d9] * src/plugins/acl/doveadm-acl.c: doveadm acl debug: Show also if mailbox has private flags. [6c4f67202ebf] * src/plugins/acl/Makefile.am, src/plugins/acl/acl-api-private.h, src/plugins/acl/acl-api.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-backend.c, src/plugins/acl/acl-lookup-dict.c, src/plugins/acl/acl-lookup-dict.h, src/plugins/acl/doveadm-acl.c: acl: Added doveadm plugin supporting acl get/set/rights/debug commands. [a2120ee55303] * src/lib-storage/mail-storage-service.c: lib-storage: MAIL_STORAGE_SERVICE_FLAG_DEBUG didn't do anything. [35577e832d5a] * src/plugins/acl/acl-lookup-dict.c: acl: Fixed crash when acl_lookup_dict was disabled and user belonged to groups. [c0203b7923d3] 2011-03-02 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-purge.c: mdbox purge: Fixes to handling corrupted mdbox files. [989f3990b254] * src/lib-storage/index/dbox-common/dbox-file.c: mdbox: Storage rebuilding may have skipped over messages if the file was already at EOF. Probably didn't happen except when purging noticed corruption and triggered index rebuild. [fe144ecec678] * src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c: mysql/pgsql: Log prefixes now contain also the hostname. This is useful when there are multiple hosts in use. [965b9019ef2e] 2011-02-28 Timo Sirainen * src/lib-charset/charset-iconv.c: lib-charset: Skip over only invalid characters, not entire buffers around them. [b6f8d4bee20d] * src/doveadm/doveadm-mail-import.c: doveadm import: Fixed potential memory corruption. [2ab52f478b72] * src/doveadm/doveadm-mail.c: doveadm: Unload plugins only after calling command's deinit() function. This fixes a crash on deinit when using a plugin that hooks into user.deinit(). [60daca1d28c7] * src/doveadm/doveadm-mail.c: doveadm: Memory leak fix. [f7cb34c45864] * src/auth/auth-request.c, src/auth/auth-request.h, src/auth/db- ldap.c, src/auth/db-ldap.h, src/auth/passdb-ldap.c, src/auth/userdb- ldap.c: auth: Log a warning if ldap attribute has unexpectedly multiple values. [946d1cd3300b] * src/lib-storage/index/index-thread.c: lib-storage: Failures when building thread index were hidden. [067f038ded8b] 2011-02-25 Timo Sirainen * src/lib-index/mail-index-transaction-export.c: lib-index: If keyword is added and remove within transaction, don't write a broken keyword update. This could have caused "No UID ranges (type=0x400)" errors. [2762bb5a7481] * HEAD branch somehow came back. Removing it again. [679a1fa26479] 2011-02-24 Timo Sirainen * src/lib-index/mail-index-transaction-export.c: lib-index: If keyword is added and remove within transaction, don't write a broken keyword update. This could have caused "No UID ranges (type=0x400)" errors. [b492ad185b53] 2011-02-22 Timo Sirainen * src/config/old-set-parser.c: config: Fixed converting old auth/mail_process_size settings. [2480413a80fb] * src/config/config-request.c: config: Previous commit allows removing "0" from strlist/0/key=value output. [e7fa2906f875] * src/lib-settings/settings-parser.c: lib-settings: Fixed setting "strlist/key=value" when strlist hadn't been initialized yet. This happened when using -O parameter. [bc77e80947c0] * doc/example-config/conf.d/15-lda.conf, src/lib-lda/lda-settings.c, src/lib-lda/lda-settings.h, src/lib-lda/smtp-client.c: lib-lda: Added submission_host setting to send mails via SMTP instead of sendmail. [be78b9fd88e7] * src/imap/imap-client.c, src/imap/imap-client.h: imap: Fixed infinite loop / memory eating with SEARCHRES + pipelining $. If SEARCH RETURN (SAVE) command was running long enough so that Dovecot started executing the next command, and if that command used $ in messageset, Dovecot went into infinite function recursion. [3053befe6a64] 2011-02-22 Mike Kazantsev (sacrilege) * dovecot.service.in: systemd service: added [Install] section, so it can be used independently from dovecot.socket [324f9ca60539] 2011-02-22 Timo Sirainen * src/plugins/expire/doveadm-expire.c: doveadm expire: Added more error and debug messages. [9862e8388a1c] * src/doveadm/doveadm-mail-import.c: doveadm import: Settings weren't correctly used for the import storage. For example plugins weren't loaded, causing problems with zlib compressed messages. [dc4e0320c087] * src/lib-index/mail-transaction-log-view.c: lib-index: Verify that expunge-guid records have valid UID. [9a4c198597d8] 2011-02-18 Timo Sirainen * src/plugins/zlib/doveadm-zlib.c: Compiler warning fix. [cce208f9b393] * src/lib/unichar.c, src/lib/unichar.h: Added uni_utf8_data_is_valid(). [35c6df7f6144] 2011-02-17 Pascal Volk * doc/man/doveadm-quota.1.in: man: Storage quota values are reported in kilobytes. [206cc9b37215] 2011-02-17 Timo Sirainen * src/dsync/dsync-brain-msgs-new.c: dsync: Flush workers' output earlier when saving messages. [b48c31797b93] * src/dsync/dsync-proxy-client.c: dsync: Error handling fix to "proxy client timed out". [b1992c77e9d2] * src/dsync/dsync-proxy-client.c: dsync: Fixed somewhat random failures with saving messages to remote dsync. [7ce47a476656] * src/lib-storage/index/dbox-common/dbox-sync-rebuild.c, src/lib- storage/index/dbox-common/dbox-sync-rebuild.h, src/lib-storage/index /dbox-multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox- single/sdbox-sync-rebuild.c: dbox index rebuild: If alt dir isn't mounted (can't be mkdir()ed), abort rebuild. [159605040ec0] * src/lib-storage/index/dbox-common/dbox-attachment.c: dbox: Check that attachment extref parts won't point outside message. [c9af551124fb] * src/lib/istream-limit.c: istream-limit: Allow seeking past limit without assert-crashing. The next read() will simply return EOF. [7705bd04924c] * doc/example-config/conf.d/20-pop3.conf: example-config: mail_max_userip_connections default is 10, even for pop3. 3 would probably be better, but there's no way to set per- protocol defaults currently. [db7abf4a29e5] * src/lib-sql/driver-pgsql.c: pgsql: Added assert. [b3cb10df15e6] * src/lib-sql/driver-pgsql.c: pgsql: Don't assert-crash on "query timed out" error. [7d265040cd02] * src/lib-storage/mail-storage.c: lib-storage: Fixed renaming mailboxes in a non-private namespace. [3c61817f30bb] * src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c: lmtp: Don't forget LHLO host when sending multiple messages in session. [aba5a6a24b99] 2011-02-11 Timo Sirainen * src/auth/auth-request.c: auth: If username contains invalid chars, log sanitized username even without auth_debug. [049a922c193c] * src/doveadm/doveadm-mail.c: doveadm: Previous mailbox create -s fix broke -A/-u parameters. Fixed now properly the root cause: -S parameter was handled as -s by getopt. [775a3a64ea74] 2011-02-10 Dennis Schridde * src/lib/module-dir.c: Put modulename in quotes when complaining about its non-existence [723a26a7d328] 2011-02-10 Timo Sirainen * src/master/main.c: master: Change stderr to /dev/null just before forking. [08e4280e5bfd] * src/lib-mail/istream-header-filter.c: istream-header-filter: Fixes handling HEADER_FILTER_END_BODY_WITH_LF correctly. [079a81fb5117] * src/lib-storage/list/mailbox-list-maildir.c: Maildir++: Fixed crash when listing subscriptions for a subscriptions=no namespace from LAYOUT=fs namespace. [4374ae187075] * src/doveadm/doveadm.c, src/lib-lda/smtp-client.c, src/lib-master /master-interface.h, src/lib-master/master-service-settings.c, src /lib-master/master-service-settings.h, src/lib-master/master- service.c, src/lib-master/master-service.h, src/lib-storage/mail- storage-service.c, src/master/main.c, src/master/master-settings.c, src/master/master-settings.h, src/master/service-process.c, src/master/service.c, src/master/service.h: Added import_environment setting. This also cleans up different places in code where TZ and other environments are preserved. If it's not in the import_environment setting, it's not preserved. [cec7fa92ff48] * src/doveadm/doveadm-mail.c: doveadm: Fixed giving parameters to mail commands. [98f13cc1e649] 2011-02-08 Timo Sirainen * src/lib-master/master-auth.c: lib-master: If post-login socket disconnects unexpectedly, suggest process_limit being the reason. [443cc3044d91] * src/master/service-monitor.c: master: If process limit is reached, just accept and close the client connection. This makes it a bit clearer what the problem is, so that client can log a better error message. [b399f91ae660] 2011-02-07 Timo Sirainen * src/lib-storage/mail-storage-service.c: lib-storage: Give restrict_access() uid/gid source (userdb or mail_u/gid setting). [888999441619] * src/lib/restrict-access.c, src/lib/restrict-access.h: restrict_access(): Show uid/gid source in setuid()/setgid() failure messages if given. [cb2c008ae3e8] 2011-02-04 Timo Sirainen * src/lmtp/commands.c: lmtp: Fixed handling recipient_delimiter when it was found from domain name. [c34d871a7bb6] 2011-02-02 Timo Sirainen * src/imap/cmd-copy.c: imap: Fixed a hang when trying to COPY to a nonexistent mailbox. [826981b2c5c4] 2011-01-31 Timo Sirainen * src/lib-sql/driver-mysql.c: lib-sql: Implemented sql_result_get_field_value_binary() for MySQL. [5a6e44ca5825] 2011-01-30 Timo Sirainen * dovecot-config.in.in, dovecot.m4: dovecot-config, dovecot.m4: Export SQL_LIBS as DOVECOT_SQL_LIBS [816a6e69d4b5] * src/lib-sql/Makefile.am: lib-sql: Install libdovecot-sql.so as well. [f57d19f262a5] * src/lib-storage/list/mailbox-list-none.c: lib-storage: layout=noop now shows INBOX as existing if namespace has inbox=yes. It also shows INBOX as always being subscribed. [ff73c325ff01] * src/util/script.c: script: Root permissions weren't being dropped before executing the script. [7ec1982fb275] 2011-01-26 Timo Sirainen * src/lib/ioloop.c: ioloop: Use -1 for infinite poll/epoll timeout rather than INT_MAX. Should improve performance a tiny bit and also works around a CPU eater bug in Linux 2.6.37. [16ce45dbcb53] 2011-01-25 Timo Sirainen * src/lib-storage/mailbox-list.c: lib-storage: Give a better error message if mail_location has INBOX but no mail root dir. [fc02e620204d] * src/lib/file-dotlock.c: dotlocks: When locking using hard links, make sure the dotlock's timestamp is new enough. [3582271a897e] 2011-01-24 Timo Sirainen * src/lib-storage/index/dbox-common/dbox-storage.c, src/lib- storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index /dbox-single/sdbox-storage.c: dbox: mailbox_create/update() might not have updated index header correctly. [42ca32299617] 2011-01-21 Timo Sirainen * src/imap/cmd-idle.c: IDLE: Don't assert-crash if IDLE+DONE is sent in same TCP packet. [4741f1b4f9b3] * src/plugins/zlib/Makefile.am, src/plugins/zlib/doveadm-zlib.c: Added doveadm zlibconnect command for testing IMAP COMPRESS. [108754651836] * src/plugins/zlib/ostream-zlib.c: zlib: Make sure output stream flushes the stream automatically when not corked. Fixes hangs with IMAP COMPRESS extension. [b71834419ea3] 2011-01-20 Timo Sirainen * src/lib/file-dotlock.c: dotlocks: Refresh current time after having waited for a lock. [5a3c87124066] * src/lib-storage/mail-storage-service.c: lib-storage: Fixed handling chroot/home for services that don't really chroot (lmtp). [0fc2d00f83df] 2011-01-19 Pascal Volk * src/lmtp/commands.c: lmtp: Write "+ext" part to Delivered-To: header. (reverted changeset 19231e3585db) [a3a7cc0172fd] 2011-01-19 Timo Sirainen * src/auth/auth-request.c: auth: Logging improvement for nopassword=y. [4b16a5b1da62] 2011-01-17 Timo Sirainen * src/lib-index/mail-index.c: lib-index: Avoid corrupting dovecot.index file when recreating it even in case of broken file locking. [7ecc5e10da57] 2011-01-16 Christian Wiese * src/auth/mech-winbind.c: auth: Fixed mech_winbind_ntlm by using mech_winbind_auth_initial() In changeset 9002 a new function named mech_winbind_auth_initial() was introduced, but only the mech_winbind_spnego module part was changed to finally use this function. The mech_winbind_ntlm module part was not properly adapted which leads to a non functioning NTLM authentication mechanism while using winbind, because it will never call the `ntlm_auth` helper. The simple fix is to replace mech_generic_auth_initial() with mech_winbind_auth_initial() as auth_initial "hook" when setting up the mech_winbind_ntlm module, like it is done in the mech_winbind_spnego module. References: - Changeset 9002: http://hg.dovecot.org/dovecot-2.0/diff/9d0037a997f4/src/auth/mech- winbind.c --- src/auth/mech-winbind.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) [d8179b523116] 2011-01-16 Timo Sirainen * doc/man/dsync.1.in: man: Updated dsync.1's -o parameter description. [31ffb4e631ab] * doc/man/dovecot-lda.1.in: man: Added -o parameter to dovecot-lda.1 [9d111f5b22e2] * src/lib/mkdir-parents.c: mkdir_*chown/chgrp(): If chown() fails, rmdir() the directory. [c75a13e5b678] * src/dsync/dsync-data.c: dsync: Fixed crash when mailbox had zero cache_fields but its array was initialized. [113b54dcb950] 2011-01-13 Timo Sirainen * .hgsigs: Added signature for changeset 440fcf8cb338 [af92646d36d6] * .hgtags: Added tag 2.0.9 for changeset 440fcf8cb338 [fc4cbc255691] * NEWS, TODO, configure.in: Released v2.0.9. [440fcf8cb338] [2.0.9] 2011-01-09 Timo Sirainen * src/lib/istream.c: i_stream_read(): Added extra assert. [fdb79a873e37] * src/lib/istream-seekable.c: istream-seekable: Minor code cleanup. [80c055dbea89] * src/auth/passdb.c: auth: Don't give an error if doing a passdb lookup and the result has NULL password. [ed675e34dfa7] * src/lib-sql/driver-pgsql.c: pgsql: When executing synchronous queries, don't wrongly add a connect timeout. [f043ef71b936] * src/lib-storage/index/cydir/cydir-mail.c: cydir: Minor code fix. [73a889098495] 2011-01-08 Timo Sirainen * src/lib/istream-seekable.c: istream-seekable: Minor code cleanup. [5f49aebe8120] 2011-01-05 Timo Sirainen * src/dsync/dsync-worker-local.c: dsync: Don't crash if message can't be saved to destination mailbox. [7bdd06de6f5a] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-file.h, src/lib-storage/index/dbox-multi/mdbox- map.c, src/lib-storage/index/dbox-single/sdbox-save.c: mdbox: Don't leave partially written messages to mdbox files. [39f5ef8d612c] * src/dsync/dsync-brain-msgs.c: dsync: Fixed iterating through mailboxes when using proxy. This fixes "Unexpected reply from server: +" errors. [b32e7bc87a09] 2011-01-04 Timo Sirainen * src/config/config-parser.c: config: Give clear error that auth settings aren't supported inside local/remote blocks. [89f4e4cdbeac] * src/login-common/client-common.c, src/login-common/login-settings.c, src/login-common/login-settings.h: login: ssl_require_client_cert and ssl_username_from_cert settings should have had auth_ prefix. The actual functionality was provided by the auth_* settings, but with these duplicated settings login process didn't give as good error messages. [fd9c01323475] * src/auth/passdb-cache.c: auth: Minor code cleanup, use PASSWORD_HIDDEN_STR macro. [8e84c40b7a67] * src/lib-storage/list/mailbox-list-maildir.c: maildir: Fixed renaming child mailboxes when using a namespace prefix. [6e95552439e1] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Getting mailbox GUID unnecessarily rewrote the uidlist. [af5903102d38] * configure.in: IDLE was listed twice in capabilities. [d607cdd33f0c] * src/dsync/dsync-worker-local.c: dsync: Saved messages' save-date was set to 1970-01-01. [a45ce2faf82a] * src/plugins/virtual/virtual-save.c: virtual: Fixed saving multiple mails in a transaction (e.g. copy multiple messages). [3216c3883a7b] * src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql /driver-sqlite.c: lib-sql: Include Dovecot version number check when loading SQL plugins. [b8896cfa38cb] 2011-01-03 Timo Sirainen * src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h: lib-lda: Simplified mail_deliver_deduplicate_guid_if_needed() API. [48fa29e1c34b] * src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h: lib-storage: Added mailbox_save_get_transaction(). [048d7025c89f] * src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib-lda/mail- deliver.h, src/lmtp/commands.c: lmtp: If delivering duplicate messages to same user's INBOX, use different GUIDs. This is to avoid POP3 clients getting confused with duplicate UIDLs, when using GUIDs as UIDLs. [2b8d7b6bcfc7] * src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index /dbox-single/sdbox-copy.c: dbox: If mail GUID is changed for copied mail, create a new copy of it so it changes. [384d8615039f] 2011-01-01 Timo Sirainen * src/lib-storage/mail-storage.h: lib-storage: Added warning comments about mail_get_*header*utf8(). [c1e71f579adc] * src/lib-storage/index/index-sort.c: lib-storage: Don't double-demimefy headers when DISPLAYFROM/DISPLAYTO sorting. [6813e76eb29e] 2010-12-30 Timo Sirainen * src/lib-storage/list/mailbox-list-delete.c, src/lib-storage/list /mailbox-list-delete.h, src/lib-storage/list/mailbox-list-maildir- iter.c: lib-storage: Fixed deleting symlinked mailbox. [b78e772cf1d2] * src/lib/unlink-directory.c: unlink_directory(): Return ELOOP for unexpected symlinks also when O_NOFOLLOW isn't supported. [c67f4a2a2253] * src/plugins/quota/doveadm-quota.c: doveadm quota: Don't crash if quota isn't enabled. [a293626e09e2] * src/doveadm/doveadm-mail-list-iter.c: doveadm: Fixed mailbox-guid search key to work with shared/public mailboxes. [15c32384817b] * src/auth/passdb-vpopmail.c: vpopmail: "Service disabled" check wasn't being done correctly. [9216e5c861ee] * src/doveadm/doveadm-auth.c: doveadm user: If user isn't found, exit with status 2. [c9b3716e56f7] 2010-12-17 Timo Sirainen * src/lda/main.c: lda: Removed optimization of not creating temp files for large mails when not using Sieve. The backwards seeking was still needed if bouncing the mail because of out of quota. [89936539e3b8] * src/plugins/snarf/snarf-plugin.c: snarf: Make sure destination mailbox is open when syncing it. [b7dd7a966a3a] 2010-12-15 Timo Sirainen * src/lib-master/master-interface.h, src/lib-master/master-service.c, src/master/common.h, src/master/main.c, src/master/service- process.c: master-child API change: Use a separate fd for tracking when master dies. This works around a Linux performance problem where when one process writes to status fd all the other processes of the same service type wake up. [b0ec48006d57] 2010-12-13 Timo Sirainen * src/lib/network.c: net_listen(): If IPv6 isn't supported, don't fallback to IPv4 if my_ip is given. [cde0d403c6ff] * src/plugins/quota/quota.c: quota: Quota warnings could have been executed at incorrect times with some configs. If target mailbox had quota ignored, the warning was sent if the mail would have otherwise exceeded the warning threshold. Same when using multiple quota roots where all of the roots weren't used for the target mailbox. [f3d42a99ce44] 2010-12-09 Timo Sirainen * src/imap/imap-search.c: imap: Fixed a memory leak in ESEARCH [e030df616faf] * src/lib-storage/index/index-mailbox-check.c: lib-storage: Added assert check to make sure we never do timeout_add(0) [694ef2d76d51] 2010-12-08 Timo Sirainen * src/plugins/acl/acl-mailbox-list.c: acl: Crashfix at deinit in some configurations. [7353e3253840] 2010-12-07 Timo Sirainen * src/auth/auth-request.c: auth: Master user login + prefetch userdb changed username to master user. [f9d34d929c3f] * src/auth/passdb-checkpassword.c: auth: Checkpassword's output fields are now logged with auth_debug=yes [6a48a361c63f] 2010-12-06 Timo Sirainen * TODO, src/auth/auth-request-handler.c: auth: When logging in as anonymous user, return "anonymous" userdb extra field. [c41ba33b8e16] * src/lib-storage/index/maildir/maildir-sync.c: maildir: Avoid harder to unnecessarily read uidlist when syncing mailbox. [b7a8d2a357a8] * src/lib-storage/index/maildir/maildir-sync.c: maildir: Avoid unnecessarily reading uidlist when opening mailbox. [8afad3c2928d] * src/lib-storage/mailbox-list.c: lib-storage: Mailbox directory creation didn't properly enforce that the name was valid. The name was checked against "valid existing name" rather than "valid create name", which mainly meant that the name could have contained control characters and other things that weren't really intended. This couldn't be used to cause any security holes though. [4b084f357db1] 2010-12-03 Timo Sirainen * src/lib-master/master-login-auth.c: lib-master: Error message typofix. [6a0f3010d592] * .hgsigs: Added signature for changeset 51e41fcc7856 [485ed7702ce2] * .hgtags: Added tag 2.0.8 for changeset 51e41fcc7856 [6c86c1d5a740] * NEWS, TODO, configure.in: Released v2.0.8. [51e41fcc7856] [2.0.8] * doc/example-config/conf.d/10-master.conf: example-config: Added comments to default_vsz_limit. [7dda7d20b04c] * src/lib-index/mail-index-sync-keywords.c: lib-index: Make static analyzer happier. [0e72f1629096] * src/lib/test-istream-base64-encoder.c: Dead code removal. [383b3acff1ee] * src/lib-storage/mail-copy.c: lib-storage: mail_storage_copy_can_use_hardlink() was always returning TRUE. [2ec2fde979be] * src/lib-storage/index/dbox-common/dbox-attachment.c: dbox: Fixed reading attachments for compressed mails. [235383a75fc7] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-file.h, src/lib-storage/index/dbox-common/dbox- mail.c: dbox: Added dbox_file_get_plaintext_size() for easily getting it. [251612ef4186] * src/lib-master/master-login-auth.c, src/login-common/client- common.c: Log login pid/id for internal failures to allow matching errors between processes. [c6b0e643d2dc] * src/lib-storage/index/index-attachment.c: lib-storage: Fixed storing newlines at the end of base64 attachments. [4455f79f964d] * src/lib/istream-base64-encoder.c: istream-base64-encoder: Fixed reading when parent stream returned little data. [e5dcc12f8dba] * src/auth/userdb-passwd.c, src/lib-fs/fs-posix.c: Compiler warning fixes. [014a6a0a93cf] * src/lib/ioloop.c: ioloop: Don't leak memory when detecting a leaked timeout. [8fa2c23e9256] * src/lib/ioloop.c: ioloop log: Added asserts [23eb7ec9c37d] * src/lib-storage/mail-storage-service.c: mail storage service: Use ioloop log prefix automation. This properly fixes imap/pop3 when using with client_limit>1. [1d1cd60d5429] * src/lib/ioloop-epoll.c, src/lib/ioloop-internal.h, src/lib/ioloop- kqueue.c, src/lib/ioloop-poll.c, src/lib/ioloop-select.c, src/lib/ioloop.c, src/lib/ioloop.h: ioloop: Added support for per-io/timeout callback log prefix automation. [1bac1c09201a] * src/imap/cmd-append.c, src/imap/cmd-idle.c, src/imap/imap-client.c, src/imap/imap-client.h, src/imap/imap-search.c, src/pop3/pop3-client.c: imap, pop3: Removed previous log prefix hack. [841f56ea9d54] * src/imap/imap-client.c, src/pop3/pop3-client.c: imap, pop3: Small optimization to last logging change. Also added FIXMEs. This is an ugly way to change log prefixes. [c9c9ea2bdec9] * src/imap/cmd-append.c, src/imap/cmd-idle.c, src/imap/imap-client.c, src/imap/imap-client.h, src/imap/imap-search.c, src/pop3/pop3-client.c: imap, pop3: Try to use the correct log prefix when service_count!=1. [8ebf513b875c] * src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-sync- update.c, src/lib-index/mail-transaction-log-append.c, src/lib-index /mail-transaction-log-file.c, src/lib-index/mail-transaction-log.h: lib-index: Added "transaction boundary" record for future compatibility. [b7d13ee51aa4] 2010-12-02 Timo Sirainen * src/lib/lib.c: lib_init(): Call srand() with a bit better seed. [8e30a07d8dd0] * src/auth/auth-request-handler.c: auth: Fail if auth client tries to use a duplicate ID. [6c9bc37fcf41] * src/lib-master/master-login-auth.c: lib-master: Try to use auth request ID numbers from wider range to ease debugging. [16dbbb57a4b2] * src/auth/auth-request.c, src/auth/auth-request.h: auth: passdb credentials lookup fix when using multiple passdbs. If at least one passdb returns "user unknown" and the last passdb returns "credential lookup not supported", the proper return value is still "user unknown". [627aeadb0955] * src/lib-master/master-login-auth.c: lib-master: Added extra debug info for a "user not found" error message. [4113324354f5] * src/lib-index/mail-index-sync-update.c: lib-index: Added a missing sanity check for expunge-guid record's uid. This fixes a non-self healing assert-crash. [e12572ca4454] 2010-11-30 Timo Sirainen * doc/example-config/conf.d/20-lmtp.conf, src/lmtp/commands.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-settings.h: lmtp: Added lmtp_save_to_detail_mailbox setting. [d7886c6d9ba5] * src/master/service-process.c: master: Fixed crash due to recent SSL key password askpass change. [6e6d3a1cf799] * src/lib/askpass.c: askpass: Removed unnecessary code. [a131a498731f] * src/lib/askpass.c: askpass: Allow reading password from stdin even if it's not a tty. [719ce27f9955] * src/master/common.h, src/master/main.c: master: Use t_askpass() for getting the manual SSL key password. [28db9b177087] * src/lib/askpass.c: t_askpass(): Removed a limit of 1024 bytes for the password. [6ea1671108f1] 2010-11-29 Timo Sirainen * src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c, src/lmtp /lmtp-settings.c, src/lmtp/lmtp-settings.h: lmtp: Recent change broke accessing mail_temp_dir. Also when it happened, an error message wasn't always logged. [77d582b2dc51] * src/lib-fs/fs-sis.c: fs-sis: Memory leak fix. [5e82c5b1b4a9] * src/doveadm/doveadm-mail-import.c: doveadm import: Free memory used by source storage at deinit. [97b3d4b714cf] 2010-11-26 Pascal Volk * doc/man/doveadm-import.1.in: man: doveadm-import.1: Added missing argument descriptions. [9e54d61d57fb] 2010-11-26 Timo Sirainen * TODO: TODO updated [0757f4f5b882] * src/auth/userdb-ldap.c, src/auth/userdb-sql.c: auth sql/ldap: Allow using global %variables in iterate_query/filter. No per-query %variables are defined, but e.g. %{hostname} or %{env:*} can be used. [8ca8de045df1] * src/login-common/client-common-auth.c: login: Fixed potential assert-crash during failed proxy authentication. [e9b90ff13910] * src/auth/main.c: auth: Assume inet_listeners are auth client listeners if they exist. [fe8e82b5bff9] * src/auth/main.c: auth: Minor error message fix. [3abefa63b8e7] 2010-11-25 Pascal Volk * doc/man/Makefile.am, doc/man/doveadm-altmove.1.in, doc/man/doveadm- expunge.1.in, doc/man/doveadm-fetch.1.in, doc/man/doveadm-force- resync.1.in, doc/man/doveadm-import.1.in, doc/man/doveadm- mailbox.1.in, doc/man/doveadm-purge.1.in, doc/man/doveadm- quota.1.in, doc/man/doveadm-search.1.in, doc/man/doveadm.1.in, doc/man/global-options-formatter.inc, doc/man/global-options.inc, doc/man/option-S-socket.inc, doc/man/sed.sh: man: Added "-S socket_path" description. [fee02c0565e7] 2010-11-24 Timo Sirainen * src/doveadm/doveadm-mail.c: doveadm: -s was already used by some mailbox commands, renamed to -S. Also added -S to usage output. [17a67be8edb5] 2010-11-24 Pascal Volk * src/doveadm/doveadm.c: doveadm: Removed -s option from the usage message (according to 66428c763354) [a9bf33946acf] 2010-11-23 Timo Sirainen * src/lib-storage/mail-storage-settings.c: lib-storage: mail_temp_dir setting should have done %variable expansion. [0bc3751c6657] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm-settings.c, src/doveadm/doveadm-settings.h, src/doveadm/doveadm.c: doveadm: Moved -s parameter among -u/-A parameters, since it's only used by mail commands. [66428c763354] 2010-11-23 Pascal Volk * doc/man/doveadm.1.in, doc/man/global-options-formatter.inc, doc/man /global-options.inc: man: Added -s parameter. [21966f298a3c] 2010-11-23 Timo Sirainen * src/lib-index/mail-transaction-log.c: lib-index: Don't try to stat() in-memory index. [e6076467fbf0] 2010-11-23 Pascal Volk * doc/man/doveadm-import.1.in: man: *roff syntax-fix. [464fe0e62078] * src/doveadm/doveadm.c: doveadm: Added -s parameter to the usage message. [9c2e49d13fd3] 2010-11-23 Timo Sirainen * doc/man/doveadm-import.1.in: man: Make it clear that doveadm-import allows dest_parent to be "" [16338d5462ba] * doc/man/doveadm.1.in: man: Added pointer to doveadm-import from doveadm main man page. [ef24f74f32d7] * src/lib-storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir /maildir-sync.h: maildir: Log a warning if scanning new/ or cur/ takes over 60s. [69efe4b2bc80] * src/lib-master/master-service-settings.c, src/lib-master/master- service-settings.h: lib-master: Added missing master_service_get_settings_parser() required by recent change. [94fd6fee57a1] * src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index /dbox-single/sdbox-copy.c, src/lib-storage/index/maildir/maildir- copy.c, src/lib-storage/mail-copy.c, src/lib-storage/mail-copy.h, src/lib-storage/mail-storage-private.h: lib-storage: If disable_reflink_copy_to=TRUE, disable hardlink/refcount copying. [10c2540e91b9] * src/doveadm/doveadm-mail-server.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/doveadm/main.c: doveadm server: Fixes to command/parameter handling. [490138318288] * src/doveadm/doveadm.c: doveadm: Added -s parameter to execute mail command via given doveadm socket. [8c14551c5e26] * src/doveadm/client-connection.c: doveadm-server: Don't disconnect client after each command. [8b82ccf48f32] 2010-11-22 Timo Sirainen * src/imap/cmd-idle.c: imap: Make sure IDLE isn't broken too early if DONE is sent in multiple packets. [66a523135836] * src/plugins/quota/quota.c: quota: If user has unlimited quota, ignore any specific quota rules. [3a93121f652a] * src/doveadm/client-connection.c: doveadm-server: Fixed command parameter handling. [b724ef3bdc0a] 2010-11-19 Timo Sirainen * src/lib-master/anvil-client.c, src/lib-master/anvil-client.h: lib-master: Added missing anvil_client_is_connected() [f5bec4e94b55] * src/imap/main.c, src/pop3/main.c: imap, pop3: Fixed giving any -parameters. [0d455d1a9ea6] 2010-11-18 Timo Sirainen * src/auth/auth-penalty.c: auth: If we get disconnected from anvil and can't reconnect, die. [3e4a65a74c40] * src/auth/auth-client-connection.c: auth: Fixed assert-crash at deinit if there were clients left with pending auth requests. [9a9f65bcbe19] * src/plugins/snarf/Makefile.am, src/plugins/snarf/snarf-plugin.c: snarf: Added mbox_snarf setting to enable snarfing only optionally. [8adacd9c03b2] * configure.in, src/plugins/Makefile.am, src/plugins/mbox- snarf/Makefile.am, src/plugins/mbox-snarf/mbox-snarf-plugin.c, src/plugins/mbox-snarf/mbox-snarf-plugin.h, src/plugins/snarf/Makefile.am, src/plugins/snarf/snarf-plugin.c, src/plugins/snarf/snarf-plugin.h: Replaced broken mbox-snarf plugin with a more generic snarf plugin. [7446b066fc75] * src/pop3/pop3-client.c: pop3: Avoid crash when updating proctitle if client init fails. [9c96b54c8a76] * src/lib-storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox /mbox-storage.c: mbox: Allow mail_privileged_group locking for INBOXes also in inbox=no namespaces. [1afad049f37f] * configure.in: configure: And small fix to previous --with-systemdsystemunitdir fix. [94c5d2189006] * configure.in: configure: --with-systemdsystemunitdir wasn't working right. [e0b42fcf31a1] * configure.in: configure: Use AS_HELP_STRING() macro. [ae5b5961a6a7] * src/master/service-listen.c: master: Compiling fix when systemd is enabled. [36c80d0bdd8a] 2010-11-17 Timo Sirainen * Makefile.am, configure.in, dovecot.service.in, dovecot.socket, src /lib-master/master-service.c, src/master/Makefile.am, src/master/main.c, src/master/sd-daemon.c, src/master/sd-daemon.h, src/master/service-listen.c: Added support for systemd. Based on patch by Christophe Fergeau [84eb4afebc95] * configure.in: configure: Use PKG_PROG_PKG_CONFIG to find pkg-config binary. [c1d8fb31c1ad] * src/lib-mail/istream-header-filter.c: istream-header-filter: Fixed header name validation to use case- insensitive comparison. [e7299f187938] * src/lib-master/master-login-auth.c: lib-master: If auth master login fails, make sure error message is logged. [aec1f1614028] * src/lib-sql/driver-mysql.c: mysql: When using multiple hosts, it never connected to more than the first one. [666fd046ab7f] * src/lib-sql/driver-sqlpool.c: lib-sql: Connect earlier to fallback host when using multiple hosts and primary fails. [990abbb6d3dd] * src/master/master-settings.c: master: Allow services' vsz_limit to be 0 (unlimited) [2456cd0917d3] 2010-11-16 Timo Sirainen * src/anvil/anvil-settings.c, src/auth/auth-settings.c, src/config /config-settings.c, src/dict/dict-settings.c, src/director/director- settings.c, src/dns/dns-client-settings.c, src/doveadm/doveadm- settings.c, src/imap/imap-settings.c, src/log/log-settings.c, src/pop3/pop3-settings.c, src/ssl-params/ssl-params-settings.c, src/util/tcpwrap-settings.c: Services' default vsz_limit wasn't actually using default_vsz_limit but rather 4 GB. [8793036f6de8] * src/lib-storage/mail-storage-service.c: Fixed home=/home/./user style chrooting to work again. [eeaf30cfad36] * src/master/master-settings.c: master: Fail if service's vsz_limit is less than 1 kB [f78260c108b0] * src/imap-login/imap-login-settings.c, src/pop3-login/pop3-login- settings.c: imap/pop3-login: Default vsz_limit=64 caused it to be unlimited, not 64 MB. [ddd929c68c0f] * src/lib-storage/index/mbox/mbox-file.c: mbox: Another utime()=EPERM log message hiding. [586d549732f5] * src/lib-storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox /mbox-sync.c: mbox: Ignore utime()=EPERM failures when trying to set atime back. This happens with shared mboxes when file's owner isn't the process's euid. [3daec8435d29] 2010-11-15 Timo Sirainen * src/lib/istream-base64-encoder.c: istream-base64-encoder: Set the stream seekable if parent stream is seekable. [3aced5ececd7] * src/imap/main.c, src/lib-master/master-interface.h, src/lmtp/main.c, src/master/service-process.c, src/pop3/main.c, src/util/script- login.c: "Running standalone?" check now uses a new DOVECOT_CHILD_PROCESS environment rather than GENERATION. The GENERATION environment was already set in some systems for Java. [10c163bb5e22] * src/lib-settings/settings-parser.c: lib-settings: Improved performance of previous duplicate key parsing change. [172942ae0b58] * src/lib-settings/settings-parser.c: lib-settings: Fixed parsing settings when the key was duplicated to multiple roots. Previously only the first one got the value set, now all of them get it. [656da7e0d6b9] * src/imap/imap-settings.c, src/imap/imap-settings.h, src/master /master-settings.c, src/master/master-settings.h, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h: Removed unused auth/mail_debug settings from structs. [d9913925a111] * src/lib/istream-file.c: istream-file: Minor error message fix. [8a28deb29320] * src/lib/Makefile.am, src/lib/test-istream-base64-encoder.c, src/lib /test-lib.c, src/lib/test-lib.h: Added unit test for istream-base64-encoder. [bb6fc4e13bc9] * src/lib/istream-base64-encoder.c: istream-base64-encoder: Fixed seeking to beginning of stream. [b1d946388d9b] * src/lib/istream-base64-encoder.c: istream-base64-encoder: Don't add unwanted trailing [CR]LF [3f19e7e43506] * src/lib-storage/index/dbox-common/dbox-mail.c: dbox: dbox file could have been closed too early in some situations, causing EBADF errors. [967de059f94d] * src/lib/istream-base64-encoder.c: stream-base64-encoder: Added support for seeking backwards in stream. [eb08ed7c6a7b] * src/lib/istream-internal.h, src/lib/istream.c: istream: Exported i_stream_default_seek() [236ed6d5b391] * src/lib-storage/index/dbox-single/sdbox-storage.c: sdbox: Fixed race condition when one session opens a mailbox while another is still creating it. This happened mostly when nonexistent INBOX was being opened by multiple sessions at the same time. [dbcbf6a46710] 2010-11-10 Timo Sirainen * src/anvil/main.c: anvil: Don't die until all of our clients have gone. [67fbf09d3fa5] 2010-11-09 Timo Sirainen * src/lib-settings/settings-parser.c, src/lib/env-util.c, src/lib/env- util.h, src/lib/process-title.c: Added env_get_environ_p() as more portable way of accessing environ variable. Implemented with OS X using _NSGetEnviron(). [e60061623012] * doc/example-config/conf.d/15-lda.conf: example-config: sendmail_path defaults to /usr/sbin/sendmail, not /usr/lib/sendmail [f89b4de6688d] * doc/example-config/dovecot.conf: example-config: Moved include conf.d/*.conf last in dovecot.conf. This fixes problems where conf.d/ files try to modify settings in dovecot.conf, especially managesieve adding itself to protocols setting. [638db56a53ec] * src/dsync/dsync-worker-local.c: dsync: Don't assert-crash if trying to convert mailbox whose name is too long. [fa62e1a578a0] * src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib/ostream-zlib.c: istream-[b]zlib: Corking now affects also the parent stream. [631e0d846e57] * src/lib/failures.c: liblib: Delay sending log prefix updates until it's needed. This avoids sending them unnecessarily. [e2a880387cca] * src/imap/cmd-logout.c, src/imap/imap-client.c: imap: Uncork at logout a bit later. [fa911bf1cbee] * src/lib-master/master-login-auth.c: lib-master: Don't wait for handshake before sending auth-master request. [e72ab743b8df] * src/lib-storage/mailbox-list.c: lib-storage: Fixed expanding "~" (without '/' afterwards) in mail_location [d1cf770dbef5] 2010-11-08 Timo Sirainen * NEWS: NEWS: Split too long line. [f859a6e06b62] * .hgsigs: Added signature for changeset d0d3aca1c958 [27fce4d468e9] * .hgtags: Added tag 2.0.7 for changeset d0d3aca1c958 [bd36f254bcac] * NEWS, TODO, configure.in: Released v2.0.7. [d0d3aca1c958] [2.0.7] * src/lmtp/commands.c: lmtp: Don't allow mixed proxy/non-proxy RCPT TO destinations. Although the code attempts to handle this case already, the DATA replies aren't sent in correct order. [97e60c1a4f8d] * src/lmtp/lmtp-proxy.c: lmtp proxy: Don't internally finish proxying before client has even sent DATA command. This fixes some crashes when all recipients were invalid. [748e613fd73a] * src/lib/istream-tee.c: istream-tee: Fixed to work right when input stream didn't start from offset 0. [2a252c9cda5e] * src/lib-storage/index/maildir/maildir-mail.c: maildir: p_strdup() GUID and UIDL_BACKEND to make sure they don't change unexpectedly. [11169c6c6e8d] 2010-11-05 Timo Sirainen * src/lib-index/mail-transaction-log-file.c: lib-index: Fixed another transaction log read optimization. Buffer's size should always be the same as sync_offset, otherwise some optimizations could think that the data doesn't have to be re-read even though it was updated in disk already. [878746da7992] * src/lib-index/mail-transaction-log-file.c: lib-index: Fix to transaction log read optimization. The log wasn't always refreshed while locked when it should have. [7f8f73bed7f9] * src/lib-auth/auth-master.c: lib-auth: Less leaky fix to previous auth_master_*() bugfix. [57477db05aff] * src/lib-auth/auth-master.c: lib-auth: Don't crash in auth_master_*() lookups if caller hasn't created ioloop. [55d144a33e62] 2010-11-04 Timo Sirainen * src/plugins/quota/quota-maildir.c, src/plugins/quota/quota- storage.c, src/plugins/quota/quota.c: quota: Better fix to avoid counting quota for virtual mailboxes. [5a10aaf6f510] * src/lib-storage/mail-storage-private.h, src/plugins/virtual/virtual- storage.c: virtual: Set MAIL_STORAGE_CLASS_FLAG_NOQUOTA to storage's class_flags. [37833c393ef8] * src/lib-index/mail-transaction-log-file.c: lib-index: Minor error message improvement. [16abe905f897] * src/lib-fs/fs-posix.c: lib-fs / posix: If create/link/rename fails with ENOENT, try creating parent dir multiple times. This avoids random failures when the parent dir happens to be removed at just the right time. [952dc335eb75] * src/lib-storage/index/dbox-common/dbox-storage.c: dbox: Minor optimization when creating a mailbox when its alt dir already existed. Patch by DINH ViĂªt HoĂ  [ed94f6d615ef] * src/login-common/ssl-proxy-openssl.c: ssl: Call OpenSSL_add_all_algorithms() to make some OpenSSL versions happy. [8fed40bfaaba] * src/lib-storage/index/istream-attachment.c: istream-attachment: Error handling improvements. [455bea720c13] * src/lib/istream-concat.c: istream-concat: Fixed error handling when one of the stream read()s failed. [71e13b4a44d4] * src/config/config-parser-private.h, src/config/config-parser.c: config parser: Log an error about missing '}'. [e57054f88e66] * src/lib/istream-base64-encoder.c: istream-base64-encoder: Panic if stat() is tried to be called with exact size. [af252c044393] * src/lib-storage/index/istream-attachment.c: istream-attachment: Removed parent stream's size sanity check. It didn't work right with base64 streams. [29c71b6e354e] 2010-11-03 Timo Sirainen * src/lda/main.c: lda: If Sieve is disabled, don't create temp files for large mails. [fd44ba1fa729] * src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h: lib-lda: mail_deliver_save() tries now to avoid re-parsing message header when logging the result. [b9487d271b72] * src/plugins/zlib/Makefile.am, src/plugins/zlib/doveadm-zlib.c: doveadm dump: Added imapzlib type to uncompress IMAP's COMPRESS DEFLATE I/O traffic. [e21d08bf5e9d] * src/doveadm/doveadm-dump.c, src/doveadm/doveadm-dump.h, src/doveadm/doveadm.c: doveadm dump: Allow plugins to add more dump types [708fd6faca39] * src/master/master-settings.c: master: Log a warning at startup if anvil's client_limit is too low. [97b286b6ec45] * src/lmtp/lmtp-settings.c: lmtp: Minor code cleanup: s/lmtp_login_/lmtp_/ [d3d07da70102] * src/director/main.c: director: Show number of connections in process title if verbose_proctitle=yes [a69ad6b69481] * src/anvil/main.c: anvil: Show number of connections in process title if verbose_proctitle=yes [7b1aae5f7bd5] * src/lib-master/master-service-settings.c, src/lib-master/master- service-settings.h, src/lib-master/master-service.c, src/lib-master /master-service.h: lib-master: Added MASTER_SERVICE_FLAG_UPDATE_PROCTITLE for showing number of connections in ps. The title is still only updated if verbose_proctitle=yes, so this allows binaries to easily just set the flag and lib-master handles the rest. [4d91cec713cf] * src/auth/main.c: auth workers: Don't unnecessary connect to anvil. [3ce7879e3ac0] * src/master/master-settings.c, src/master/service.c: master: default_process_limit wasn't actually used anywhere, rather the default was unlimited. [b4b6bf889044] 2010-11-02 Timo Sirainen * src/lib-storage/list/mailbox-list-maildir-iter.c: lib-storage: Maildir++ mailbox listing could have given wrong flags to parent mailboxes. [eb72f2523ffa] * src/imap/imap-client.c: imap: Removed accidentally commited debug code. [055e5206b836] * src/lib-master/master-login-auth.c: lib-master: Stop accepting new connections after auth-master gets disconnected. [9f179255b796] * src/imap/main.c, src/pop3/main.c: imap, pop3: Use absolute path to auth-master socket. [0b77044fbdd4] * src/auth/db-ldap.c: ldap auth: Hide password_noscheme from debug logs unless auth_debug_passwords=yes [1fab347c4b94] * src/auth/passdb-sql.c: sql auth: Fixed using password_noscheme [840a488289ac] * src/auth/auth-request.c, src/auth/passdb-cache.c: auth: Disable auth caching entirely for master users. The cache key contains only the master username, without the logged-in username, so wrong data could be looked up from cache. [075963b71b94] * src/imap/cmd-select.c, src/imap/imap-client.c, src/imap/main.c: imap: Fixed SELECT QRESYNC not to crash on mailbox close if a lot of changes were being sent. [1d381325a973] * src/auth/passdb-vpopmail.c, src/auth/userdb-vpopmail.c: auth: vpopmail passdb/userdb uses now auth-worker processes by default. Adding blocking=no parameter disables this. [5a8533404979] * src/lib-storage/index/dbox-common/dbox-file.h: dbox: Comment update. [2b709ff27b3a] * src/imap/cmd-list.c: imap: Fixed LIST-STATUS when listing subscriptions with subscriptions=no namespaces. [3e59dbe29f81] * src/plugins/mail-log/mail-log-plugin.c: mail-log plugin: Log mailbox name as virtual name rather than physical name. [4ee632794f0b] * src/director/main.c: director: inet_listener port finder should ignore doveadm's port. [f55b91aaddfe] 2010-11-01 Timo Sirainen * src/plugins/quota/quota-storage.c: quota: Added a temporary hack to avoid virtual mailboxes being counted in quota. [b7511f567d2e] 2010-10-25 Timo Sirainen * src/dsync/dsync-proxy-server-cmd.c: dsync: Make sure MSG-GET command doesn't hang. [601065674f74] * src/dsync/dsync-proxy-client.c: dsync: Added more idle timeout resets to proxying. [a408c08784bc] * src/lib-storage/index/dbox-common/dbox-mail.c: dbox: mail_get_special() for POP3 UIDL or GUID return value wasn't permanent enough. Another call to mail_get_*() could have caused the string to point to some garbage. [94be7b193c48] * src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server.c, src/dsync/dsync-worker-local.c: dsync: Error handling fixes. [f52d4d77f16f] * src/dsync/dsync-worker-local.c: dsync: If msg input reading fails, don't also log a wrong "Unknown internal error" line. [d46a3fca7259] * src/lib-storage/mail-storage.h: lib-storage: Comment update to mail_get_stream() [1b2caff94b49] * src/master/main.c: master: Use env_clean_except() instead of doing it ourself. [d1fd5b84d410] * src/lib-master/master-service.c: lib-master: Use env_clean_except() for master_service_env_clean() [e0a97842182f] * src/lib/env-util.c, src/lib/env-util.h: Added env_clean_except() [fe72469ccdf5] * src/lib-master/master-service.c: lib-master: Code cleanup for master_service_env_clean() [7cf8e3094b39] * src/doveadm/doveadm-mail-expunge.c: doveadm expunge: Sync mailbox after commit to make sure messages get physically expunged. [d991b5c99397] * src/lib-storage/index/maildir/maildir-save.c: maildir: Duplicate GUIDs during a single save transaction weren't handled correctly. [c8eb81e1b5d6] 2010-10-21 Timo Sirainen * src/lib/file-set-size.c: file_preallocate(): Don't ignore ENOSPC with OSX either, caller will check it. [aaca506ea33b] * src/lib/file-set-size.c: file_preallocate(): Added support for OS X. [f6e45e83796b] * src/doveadm/doveadm-mail-fetch.c: doveadm fetch: Added support for pop3.uidl field. [3b13bd2d64f4] * NEWS: NEWS: mdbox_preallocate_space is for ext4, not ext3. [9aa158bd50eb] * configure.in: configure: Use sdbox name instead of dbox in the help. [a7d99b69523a] * .hgsigs: Added signature for changeset 8a838dcf8e76 [ece681b7bb4e] * .hgtags: Added tag 2.0.6 for changeset 8a838dcf8e76 [bc4baed68068] * NEWS, TODO, configure.in: Released v2.0.6. [8a838dcf8e76] [2.0.6] * src/doveadm/doveadm-sis.c: Static analyzer warning fix. [a6eb233ac3ba] * src/doveadm/doveadm-mail-import.c: doveadm import: Code correctness fix (wasn't visible to users) [d9a66fa6e206] * src/lib-fs/fs-posix.c: lib-fs: Fixed error handling for posix.write_stream_finish() [75cc38d62711] * src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index /dbox-multi/mdbox-file.h, src/lib-storage/index/dbox-multi/mdbox- mail.c, src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib- storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib- storage/index/dbox-single/sdbox-file.c, src/lib-storage/index/dbox- single/sdbox-file.h, src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib- storage/index/dbox-single/sdbox-sync.c: dbox: Reverted the "check if altpath is mounted" change for now. If alt path didn't yet exist, it reported bogus errors. It should somehow check if there is anything under the alt root dir. [9e400f6963eb] * src/dsync/dsync-worker-local.c: dsync: Make sure POP3 UIDL string isn't corrupted while saving it. [4f90256c0e9c] * src/lib-storage/index/dbox-common/dbox-save.c, src/lib-storage/mail- storage.c: lib-storage: Make sure POP3 UIDLs aren't tried to be saved with LFs. [3959ddbc633c] * src/lib-master/master-login-auth.c: Compiler warning fix. [f38e4e1465c8] * src/auth/auth-settings.c, src/auth/auth-settings.h, src/auth/userdb- passwd.c: auth: userdb passwd iteration now lists only users within first_valid_uid..last_valid_uid range. [745ef289b0ea] * src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index /dbox-multi/mdbox-file.h, src/lib-storage/index/dbox-multi/mdbox- mail.c, src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib- storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib- storage/index/dbox-single/sdbox-file.c, src/lib-storage/index/dbox- single/sdbox-file.h, src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib- storage/index/dbox-single/sdbox-sync.c: dbox: If alt path is lost, fail with an error rather than rebuilding indexes. This could be simply because alt storage is unmounted at the time and rebuilding would just lose messages. If this error happens unintentionally, it's still possible to fix it with "doveadm force-resync". [099925543768] * src/dsync/dsync.c: dsync: Don't crash if USER environment isn't set and -u parameter isn't given. [760d84e274ad] 2010-10-20 Timo Sirainen * doc/example-config/conf.d/10-mail.conf: example-config: Added a warning about mail_attachment* being experimental. [ca2f5af61e7d] * doc/example-config/conf.d/10-mail.conf: example-config: Added mail_attachment_* settings. [d55afae11f89] * src/plugins/zlib/zlib-plugin.c: zlib: Hook into mail.istream_opened() method rather than mail.get_stream() This fixes zlib plugin to work with mail attachments. [82a1bdac2e4e] * src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index /dbox-common/dbox-attachment.c, src/lib-storage/index/dbox-common /dbox-attachment.h, src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index/dbox-common/dbox-file.h, src/lib-storage/index /dbox-common/dbox-mail.c, src/lib-storage/index/dbox-multi/mdbox- mail.c, src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib- storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src /lib-storage/index/maildir/maildir-mail.c, src/lib- storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw- mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage /test-mail.c, src/plugins/virtual/virtual-mail.c: lib-storage: Added istream_opened() method to struct mail. This can be hooked into by plugins that want to do something with the message's stream in the message file, rather than the virtual resulting stream visible to client. For example when using dbox attachments, this stream contains only the data in the dbox files without any external attachments. [d94957cafd3e] * src/lib/istream-concat.c: istream-concat: Avoid assert-crashing. [90fb346baeb2] * doc/example-config/conf.d/10-mail.conf, src/lib-storage/index/dbox- multi/mdbox-file.c, src/lib-storage/index/dbox-multi/mdbox- settings.c, src/lib-storage/index/dbox-multi/mdbox-settings.h, src /lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index /dbox-multi/mdbox-storage.h: mdbox: Added mdbox_preallocate_space setting to preallocate size for newly created files. [b884441a713f] * configure.in, src/lib/file-set-size.c, src/lib/file-set-size.h: Added file_preallocate() to preallocate space to a file without changing its size. Implemented for Linux. Doesn't look like other OSes support this. [22c81f884032] * src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index /dbox-single/sdbox-copy.c, src/lib-storage/index/index-storage.c, src/lib-storage/index/index-storage.h, src/lib-storage/index/maildir /maildir-copy.c, src/lib-storage/index/maildir/maildir-save.c, src /lib-storage/index/maildir/maildir-storage.h: dbox, maildir: When copying messages, copy the cached fields also. Copy only fields whose caching decision is not "no" in the destination mailbox. [8ccf177754b3] * src/lib-storage/index/index-status.c: lib-storage: mailbox_get_status(): return cache fields allocated from data stack. Allocating them from mailbox's pool just wastes memory if it's called multiple times for same mailbox. [8a6cdefd829a] * src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache.h: lib-index: Added mail_cache_register_get_field(). [f170b3e39a34] 2010-10-19 Timo Sirainen * src/pop3/pop3-client.c: pop3: Don't crash if client disconnects in output handler. [5f9919f9e321] * src/lib/ioloop-iolist.c: ioloop: If io_add() is called twice for same fd, give a bit more informative panic message. [f7f2edaf6dca] * src/lib-mail/istream-header-filter.c: istream-header-filter: Fix to previous change. [0ac9af7f7d5b] * src/config/settings-get.pl, src/lib-storage/index/Makefile.am, src /lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index /dbox-common/Makefile.am, src/lib-storage/index/dbox-common/dbox- attachment.c, src/lib-storage/index/dbox-common/dbox-attachment.h, src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-save.c, src/lib-storage/index/dbox-common/dbox- storage.c, src/lib-storage/index/dbox-common/dbox-storage.h, src /lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-storage/index /dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox- single/Makefile.am, src/lib-storage/index/dbox-single/sdbox-copy.c, src/lib-storage/index/dbox-single/sdbox-file.c, src/lib- storage/index/dbox-single/sdbox-file.h, src/lib-storage/index/dbox- single/sdbox-save.c, src/lib-storage/index/dbox-single/sdbox- storage.c, src/lib-storage/index/dbox-single/sdbox-storage.h, src /lib-storage/index/dbox-single/sdbox-sync.c, src/lib-storage/index /index-attachment.c, src/lib-storage/index/index-attachment.h, src /lib-storage/index/index-storage.c, src/lib-storage/index/istream- attachment.c, src/lib-storage/index/istream-attachment.h, src/lib- storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox /mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib- storage/mail-storage-private.h, src/lib-storage/mail-storage- settings.c, src/lib-storage/mail-storage-settings.h, src/lib-storage /test-mailbox.c, src/plugins/virtual/virtual-storage.c: lib-storage: Added support for saving mail attachments separately via filesystem API. Currently this works only with sdbox and mdbox backends. [28eaaa23f2c6] * src/lib/Makefile.am, src/lib/istream-base64-encoder.c, src/lib /istream-base64-encoder.h: liblib: Added istream for reading binary data as base64-encoded. [ce5bb3246ffb] * src/doveadm/Makefile.am, src/doveadm/doveadm-sis.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: Added commands for managing SiS directories. [21c70ff6b344] * configure.in, src/Makefile.am, src/lib-dovecot/Makefile.am, src/lib- fs/Makefile.am, src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-api.h, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis- common.c, src/lib-fs/fs-sis-common.h, src/lib-fs/fs-sis-queue.c, src /lib-fs/fs-sis.c, src/lib-fs/ostream-cmp.c, src/lib-fs/ostream- cmp.h: Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends. [e3fe87b855ef] * src/lib/Makefile.am, src/lib/hash-format.c, src/lib/hash-format.h, src/lib/test-hash-format.c, src/lib/test-lib.c, src/lib/test-lib.h: liblib: Added API for easily building hash strings based on given format string and input. [22689f4ceecb] * src/lib/Makefile.am, src/lib/hash-method.c, src/lib/hash-method.h, src/lib/md4.c, src/lib/md4.h, src/lib/md5.c, src/lib/md5.h, src/lib/sha1.c, src/lib/sha1.h, src/lib/sha2.c, src/lib/sha2.h: liblib: Added a common API for accessing all hash methods. [368fd1cce4d6] * src/lib-mail/istream-header-filter.c: istream-header-filter: Drop duplicate headers instead of assert- crashing with them. [d95510ee0c8f] 2010-10-18 Timo Sirainen * src/plugins/acl/acl-mailbox.c: acl: Recent change broke setting acls. [0908326bf4b9] * .hgignore, doc/man/Makefile.am, doc/man/doveadm-import.1.in, src/doveadm/Makefile.am, src/doveadm/doveadm-mail-import.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Added import command for importing mails from other storages. [6c2d5ed0b664] * src/doveadm/client-connection.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Call mail command's init() only after service storage is initialized. [507d4c4859cf] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: lib-storage: Added no_userdb_lookup flag to storage service lookups. [27289650ed4c] * src/lib/Makefile.am, src/lib/ostream-file.c, src/lib/test-lib.c, src/lib/test-lib.h, src/lib/test-ostream-file.c: ostream-file: Fixed potential crash in write_at() and also fixed attempted optimization. [17957b5082cd] * src/lib-index/mail-index-lock.c: lib-index: More undoing of locking code changes. [0dae63c1af96] * src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-mailbox.c: acl: Fixed memory leaks. [7b47c5a321b9] * src/auth/auth-settings.c: auth: Default for auth_cache_negative_ttl was supposed to be 1 hour, not disabled. [94608c2debe2] * src/auth/auth-request.c: auth: Log userdb cache hits and misses with auth_debug=yes [b0ef4e803b1a] * src/lib-storage/mail-storage.c: lib-storage: Log a debug message if shared user's storage root doesn't exist with mail_debug=yes [953e7c6e546b] * src/plugins/acl/acl-backend-vfile.c: acl: Avoid passing NULL parameter to printf %s when mail_debug=yes [00637db0e54c] 2010-10-16 Timo Sirainen * src/pop3/pop3-client.c: pop3: Recent corking change caused hangs. [b8803a1e2dc2] * src/lib-index/mail-index-sync-ext.c, src/lib-mail/istream-header- filter.c, src/plugins/acl/acl-backend-vfile.c: Removed some dead code. [794f09e5571d] * src/lib-index/mail-index-sync-update.c: lib-index: Work around clang static analyzer's false positive "dead code" issue. [84a9dc26108f] * src/lib-lda/duplicate.c: lib-lda: Make sure duplicate_init() handles non-existent home correctly. With previous change mail_user_get_home() always set home, but this is good anyway. [0521ab2380cf] * src/lib-storage/mail-user.c: lib-storage: mail_user_get_home(): Make sure user_r is always set. [811e49651662] * src/lib-storage/mail-storage.c: lib-storage: mailbox_get_guid() crashed if storage didn't support GUIDs. [092d5ba2dcfa] * src/lib/istream-concat.c: istream-concat: Fixed another memory leak. [cc81de55245f] * src/lmtp/commands.c: lmtp: Don't access freed memory if input couldn't be opened as raw mail. This shouldn't really have ever happened. [d44e64390bdd] 2010-10-15 Timo Sirainen * src/lib-mail/istream-header-filter.c, src/lib-mail/test-istream- header-filter.c: istream-header-filter: Assert-crash if headers aren't given sorted. [0d689c112c6e] * src/master/main.c: Compiler warning/error fix to recent logging API changes. [9dd776345b22] * src/lmtp/commands.c: lmtp: Reverted last change after all. Besides, the error code was wrong. [a771ccba0c31] * src/lmtp/commands.c: lmtp: Don't allow saving zero byte sized messages. [2c364acbc293] * src/lib/ioloop-epoll.c: epoll: Suggest not-so-UUOC if epoll_ctl() fails for stdin [7a839a028dfa] * src/lib/istream-concat.c: istream-concat: Fixed a memory leak. [f48b52b9427e] * src/lib-storage/index/index-transaction.c: lib-storage: Added assert to transaction rollback to make sure all mails are freed. The same assert was already in commit, so this should be fine. [d2910cd43d1d] * src/auth/auth-penalty.c: auth: Make sure auth request is kept referenced during the lookup. [0b509f1ee95c] * src/lib-master/master-service.c: lib-master: Properly fixed accepting FIFO connections with BSDI. [3385e9028410] * src/log/log-connection.c: log: Avoid calling time() unnecessary when logging multiple lines. [80097e5c38e9] * src/lib/failures.c, src/lib/failures.h: Failure logging supports now getting timestamp as parameter. [e68366e88099] * src/doveadm/doveadm-log.c, src/lib-test/test-common.c, src/lib/failures.c, src/lib/failures.h, src/log/log-connection.c, src/master/main.c: Cleaned up log callbacks and made them more extensible. fatal_failure_callback_t type is now gone, there's only failure_callback_t left that has a struct pointer as parameter. More parameters can be easily added to the struct in future. [4933c3095ee2] * src/plugins/acl/acl-mailbox-list.c: acl: Log mailbox names that are skipped due to missing lookup right with mail_debug=yes [b0e4edc4d79a] * src/lib-storage/index/shared/shared-storage.c: lib-storage: Log attempted accesses to nonexistent users' mails with mail_debug=yes. [b277b71fb57f] * src/lib-storage/index/shared/shared-storage.c: lib-storage: Use MAIL_STORAGE_FLAG_NO_AUTOVERIFY for creating shared namespace storages. This avoids failing storage creation for nonexistent users. Previous failure made it possible for logged in users to figure out what other usernames existed on the system. [2d6396330099] * src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h: lib-storage: Added MAIL_STORAGE_FLAG_NO_AUTOVERIFY to skip checking storage root dir existence. [0cc916fc09f9] * src/auth/passdb-ldap.c, src/auth/userdb-ldap.c: ldap: Compare LDAP attribute names case-insensitively. [a8b9d7fdc646] * src/auth/userdb-ldap.c: ldap: Log a warning if iterate_attrs has other fields than 'user'. [5cc31ecf199e] 2010-10-14 Timo Sirainen * src/lib-storage/index/maildir/maildir-util.c: maildir: Check correctly if file is a symlink. Patch by Mike Abbott / Apple. [df6f5d270a46] * src/lib-index/mail-index-lock.c: lib-index: Put back some of the removed locking complexity. This fixes a crash when mmap_disable=no and a index was mmap()ed (which keeps the index locked) and later its read-lock was tried to be changed to write-lock. [ff1ac6f22ba1] * src/login-common/client-common.c: *-login: If client didn't log in, don't log mpid in logout message. [c38f630dae09] * src/imap/imap-client.c, src/pop3/pop3-client.c: imap, pop3: Cork TCP connection before trying to flush output in output callback. [f3aa8be626fa] * src/lib-storage/mail-storage.c: lib-storage: If mailbox deletion failed, we crashed while trying to write undelete record to index. [a3e40c6b14fe] * src/lib-index/mailbox-log.c: lib-index: Don't reopen mailbox log file too often. [03ac8057710d] * src/lib-index/mailbox-log.c: lib-index: Mailbox log writing was trying to write to a closed log file fd. [80a080814041] * src/auth/auth-request.c: auth: Give a better error message if pass=yes can't be used in master passdb. [f451ffa51772] 2010-10-06 Timo Sirainen * src/plugins/quota/quota-maildir.c: quota: Log a warning if Maildir++ quota is enabled for non-Maildir storage. [6ea01abfaea9] * src/master/main.c: master: Parse and check full config at startup. [092c39cf86b9] * src/lib-master/master-service-settings.c, src/lib-master/master- service-settings.h: lib-master: Added support for parse_full_config input option for settings parsing. [d63b48a452f1] * src/config/doveconf.c: doveconf: Added -p parameter to parse full config even if -m module is given. [8d36d8f5fcef] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Write only base filenames to uidlist. Previously the old filename was used to guess the initial filename, but nowadays we do that by building the filename based on flags in index. [cc969ee7074b] * src/lib-storage/mail-search-register-imap.c: imap search: Fixed YOUNGER/OLDER [84014f0baaf4] * src/lib-storage/index/index-search.c: search: If body search fails due to I/O error, keep the result as "unknown". Found by Vadim Okun [41454ed5a3eb] * src/lda/main.c: lda: -m parameter's UTF-8 validity wasn't checked correctly. Found by Vadim Okun [c4f91b9acb01] * src/lib-lda/mail-deliver.c: lib-lda: Fixed error handling if newly delivered mail couldn't be opened. Found by Vadim Okun. [74ede782269d] * src/lib-index/mail-index-transaction-finish.c, src/lib-index/mail- index-transaction-private.h, src/lib-index/mail-index-transaction.c: lib-index: Always update index map while committing a transaction. The previous code was doing this only in some situations, which was probably enough, except maybe in some special cases. The log file was also read until EOF always anyway, so the only thing this was saving was some CPU. With the new behavior the committing stage should be more reliable, and also makes it easier to do changes without accidentally breaking it. [ab2222fd3f5d] * src/lib-index/mail-cache-transaction.c, src/lib-index/mail-index- transaction-private.h, src/lib-index/mail-index-transaction- update.c: lib-index: Cache offsets were sometimes written pointing to an older cache file. [d0ddc30f0eef] * src/lib-index/mail-index-fsck.c, src/lib-index/mail-index-private.h, src/lib-index/mail-index-transaction.c, src/lib-index/mail-index- write.c, src/lib-index/mail-index.c, src/lib-index/mail-transaction- log-append.c, src/lib-index/mail-transaction-log-file.c, src/lib- index/mail-transaction-log-private.h, src/lib-index/mail- transaction-log.c, src/lib-index/test-mail-transaction-log-view.c: lib-index: Avoid unnecessary pread()s at end of transaction log file. If we've already read until EOF while the file has been locked, there's no need to do it again. Previously this worked while index was being synced, but not while committing a transaction. [41e99ee5c1dd] * src/lib-index/mail-index-lock.c: lib-index: Removed unnecessary code from lock handling. The code was intended only for blocking write-locks, but those haven't been used for a long time now. [814adaed5b00] * src/lib-dict/dict-client.c: lib-dict: If connect() to dict socket fails, log an error, but don't die. [c61cc8fd42ef] * src/plugins/quota/quota.c: quota: Give better error message for connect() EACCES failure to quota-warning socket. [93fe557c0f7b] 2010-10-05 Timo Sirainen * src/auth/passdb-static.c: auth: Added lookup_credentials() support for passdb static [e92d2aaab3e4] * src/imap/cmd-idle.c: imap IDLE: Don't send "Still here" notifications if there is already data in output buffer. [73c6b077bcba] * src/master/main.c: master: Get only master-related configuration from doveconf at startup. [760e584b352b] * src/lib-storage/index/maildir/maildir-save.c: maildir: Don't assert-crash when saving a message without locking uidlist. [e2f9baa436f2] 2010-10-04 Timo Sirainen * src/lib/priorityq.c: priority queue: Set item's idx value to invalid when it's removed from queue. This should assert-crash on double-removes more reliably. [4db5123f91e4] * src/lmtp/lmtp-proxy.c: lmtp proxy: Avoid hanging at the end of message input. [1f784904111b] * src/lib-storage/list/subscription-file.c, src/lib-storage/list /subscription-file.h, src/lib-storage/mailbox-list.c: lib-storage: Don't write to dovecot.mailbox.log if setting subscription didn't actually change anything. [45812039b7ce] * src/lib-index/mailbox-log.c: lib-index: Fixed leaking fds when writing to dovecot.mailbox.log [2b8b2875af26] * src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap- quota-plugin.c, src/plugins/imap-zlib/imap-zlib-plugin.c: imap-* plugins: Use the new imap_client_created_hook_set() to set the hook. This avoids accessing variables directly, which allows Dovecot to give better error messages if imap-* plugins are tried to be loaded by non-imap binary. [1df6a392a613] * src/imap/imap-common.h, src/imap/main.c: imap: Added imap_client_created_hook_set() to update the hook. [31a34cff1ebe] * configure.in: configure: Added IDLE to banner CAPABILITY to make Blackberry happy. [b63b6ad01448] * src/login-common/ssl-proxy-openssl.c: login: Give a better error message if ssl_cert=path is attempted without '<' [a508ff1db74c] 2010-10-01 Timo Sirainen * .hgsigs: Added signature for changeset 2690facaa927 [b0e0dc5c3dd3] * .hgtags: Added tag 2.0.5 for changeset 2690facaa927 [7bf1818ff32b] * NEWS, TODO, configure.in: Released v2.0.5. [2690facaa927] [2.0.5] * src/lmtp/commands.c: lmtp: Make sure we partial messages aren't saved if client disconnects during DATA. [a75e62340aa5] * src/lib-storage/list/mailbox-list-subscriptions.c, src/lib- storage/list/subscription-file.c: lib-storage: Don't wrongly ignore subscriptions=no namespace entries. [da9185d1309c] * src/dsync/dsync.c: dsync: Fail if both source and destination mail location point to same directory. This should prevent some accidents. [39ef52bc4999] * src/config/config-request.c: config: Show time/size setting values as more human readable. [7c4e4a6b1714] * src/imap/imap-client.c, src/plugins/imap-zlib/imap-zlib-plugin.c: imap: Don't reset input/output byte counters when COMPRESS is started. [766564bb051f] * src/lib/istream.c, src/lib/istream.h: Added i_stream_get_absolute_offset(). [0c82fe7ce578] * src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c: zlib: eof_offset wasn't always set right, causing assert-crashes. [e7768ec9d3de] * src/plugins/zlib/istream-bzlib.c: zlib: Fixed istream-bzlib also with mark=TRUE seeking [138d848b1e22] * src/plugins/zlib/istream-zlib.c: zlib: Fixed istream-zlib when using seeking with mark=TRUE (i.e. mbox) [ab24859c3527] * doc/example-config/conf.d/20-pop3.conf, src/pop3/pop3-client.c, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h: pop3: Added pop3_fast_size_lookups setting. [c172f2a384f5] * src/lib-storage/mail-storage.h: mail-storage.h comments updated. [d48456c46a49] * src/pop3/pop3-client.c: pop3: Code cleanup for mailbox opening code. [0da6f86c0ef5] * src/plugins/acl/acl-api.h, src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-backend.c, src/plugins/acl/acl-cache.c: acl: Fixed the logic of merging multiple ACLs. [90642b388d7e] * src/plugins/acl/acl-backend-vfile.c: acl: Reverted last change. It still allows reading the default ACL from .DEFAULT file. [ef94878e8573] * src/plugins/acl/acl-backend-vfile.c: acl: Avoid extra open() on a directory for default acl. [e12b7ee0a9dc] 2010-09-30 Timo Sirainen * src/plugins/acl/acl-lookup-dict.c: acl: Avoid opening two dict iterators at the same time. [ecc0bc80288c] * configure.in, src/lib-dict/Makefile.am: dict: Support file backend also with dict proxy. [e3fbe13c0eab] * src/doveadm/doveadm-mail-fetch.c: doveadm fetch: Fixed fetching uid field. [d6582f3ee54d] * src/auth/auth-client-connection.c, src/auth/auth-request-handler.c, src/auth/auth-request-handler.h: auth: Don't assert-crash if a request still succeeds after its client connection is gone. [bc782780d0fe] * src/auth/auth-request-handler.c, src/auth/auth-request.h: auth: Avoid crashing when finishing failed requests that already timed out. [dfa2b49d8298] * src/plugins/virtual/virtual-storage.c: virtual: Allow opening virtual mailboxes that refer to non-existing mailboxes. It could be intentional that not everyone has the same set of mailboxes always. [32f68d621f1d] * src/lib-index/mail-index-sync.c: lib-index: If mail_index_sync_begin() fails, don't assert-crash [a7a953486a0b] * src/director/director-connection.c: director: Properly detect invalid command parameters in director<->director connections. Found by Paul E. Black. [a224997afefd] 2010-09-29 Timo Sirainen * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Avoid recreating uidlist all the time when indexes are disabled. This code originally existed because old records weren't removed from uidlist->records and so this compression would never have been done, but 0818f0a49704 changed this behavior. [10544c9cd8e8] * src/lib-storage/index/maildir/maildir-mail.c: maildir: Avoid opening cache file when getting physical message size. [dd53d1a27358] * src/lib-storage/index/index-mail.c, src/lib-storage/index/index- mail.h, src/lib-storage/index/maildir/maildir-mail.c, src/lib- storage/index/maildir/maildir-uidlist.c, src/lib- storage/index/maildir/maildir-uidlist.h: Maildir: If mail's virtual size can be found from filename/uidlist, do it instead of using cache. This is especially useful with POP3 to avoid opening cache file. [906746b4f383] * src/lib-index/mail-transaction-log-file.c: lib-index: If transaction log file is small enough, just read all of it to memory immediately. [062da0b83c01] * src/lib-index/mail-index-sync.c, src/lib-storage/index/maildir /maildir-storage.h, src/lib-storage/index/maildir/maildir-sync.c: maildir: Avoid refreshing transaction log immediately on first sync. [49bd77c018bd] * src/lib-index/mail-index.c, src/lib-index/mail-transaction-log.c: lib-index: Avoid refreshing transaction log immediately after it was opened. [8af455e61dad] * src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual- storage.c: virtual: Don't unnecessarily stat() the virtual directory. Its existence is checked automatically when trying to open dovecot- virtual file. [e140d7aab969] * src/pop3/Makefile.am: pop3: Fixed virtual plugin when compiling --without-shared-libs [5db6b49f31c4] * src/lib-index/mail-transaction-log-private.h, src/lib-index/mail- transaction-log.c: lib-index: Don't waste time on every mailbox open checking if .log.2 should be deleted. [e670e8a97a8f] * src/lib-storage/list/mailbox-list-maildir.c: Maildir++: When opening namespace prefix as mailbox, don't add extra '/' to path names. [c992b1942e08] 2010-09-28 Timo Sirainen * src/config/doveconf.c, src/lda/main.c, src/lib-master/master- service-settings.c, src/lib-master/master-service-settings.h, src /lib-storage/mail-storage-service.c, src/lib-storage/mail-storage- service.h: lda: If doveconf fails, make it exit with EX_TEMPFAIL. [002a702cf06a] * src/login-common/client-common.h, src/login-common/sasl-server.c: login: If master login fails, tell auth process to free the auth request. [9939f0565916] * src/lib-storage/index/maildir/maildir-mail.c, src/lib- storage/index/maildir/maildir-storage.h, src/lib- storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/maildir/maildir-util.c: maildir: If we see unwanted non-empty directories in new/ or cur/, move them to ../extra-* [cf1e5238f747] * src/config/config-parser.c: config: Don't even try to open * src/lib-storage/index/dbox-single/sdbox-copy.c: sdbox: Fixed memory leak when copying messages with hard links. [d75a01131ddc] * src/config/config-parser.c: config: Verify settings plugins' versions are valid if they're specified. [81a3da7f6413] * src/config/config-parser.c: doveconf: Expand "key=$key" variable even without -x parameter. Without this expansion it hides what the settings actually contain. [1c3d9244f248] * src/lib-storage/list/subscription-file.c: lib-storage: Buffer writes to subscriptions file. [432208994270] * src/lib-storage/list/subscription-file.c: lib-storage: Avoid fsyncing subscriptions file when it doesn't change or if mail_fsync=never. [4959db811d29] * src/plugins/zlib/Makefile.am, src/plugins/zlib/zlib-plugin.c: zlib: Avoid using hardcoded storage name strings. [a3c8026d0305] * src/plugins/zlib/zlib-plugin.c: zlib: dbox storage is now called sdbox. [c359ee549df7] 2010-09-26 Timo Sirainen * .hgsigs: Added signature for changeset 7f5c5778c4b9 [3b2dada4ba64] * .hgtags: Added tag 2.0.4 for changeset 7f5c5778c4b9 [ceecb0f6a790] * NEWS, TODO, configure.in: Released v2.0.4. [7f5c5778c4b9] [2.0.4] * src/lib-storage/index/maildir/maildir-storage.c: Maildir: Fixed accessing INBOX whose tmp/ directory was lost. [5b0a1974fc6f] * src/imap/imap-commands-util.c: imap: Give better error message for "Unknown namespace" [45a62c8637e8] 2010-09-24 Timo Sirainen * src/lib/module-dir.c: module_dir_load(): Make it clearer that "Skipping module" debug message is normal. [bac6907a14a8] * src/lib-storage/index/dbox-multi/mdbox-storage.c: mdbox: Removed unused code. [b2e9ecbc82fe] * src/lib-sql/driver-pgsql.c: pgsql: Avoid epoll_ctl() errors when closing connection. [68c44e8740a2] * src/lib-storage/index/maildir/maildir-save.c: maildir: Another assert for saving messages. [c7a5d25dceb6] * src/lib-storage/index/dbox-single/sdbox-storage.c: sdbox: Use "sdbox" name in the internal storage structure. This fixes copying with hard links. [1070b54b9471] * src/lib-storage/index/maildir/maildir-save.c, src/lib- storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/maildir/maildir-sync.c: maildir: Added extra asserts. [c2d50bd35dc4] * src/lib-storage/index/maildir/maildir-save.c: maildir: Don't waste time stat()ing if generated filename is in tmp/. [aa18316e271d] * src/lib-storage/list/subscription-file.c: lib-storage: Check valid subscriptions list entries with _is_valid_existing_name() [9e8e18e4072c] 2010-09-23 Timo Sirainen * src/plugins/quota/quota.c: quota: When logging about obsolete rule, log the full rule string. [a15b0d032c27] * src/plugins/quota/quota.c: quota: When logging about obsolete rule, log also the quota root name. [8e057c95e44e] * src/config/old-set-parser.c: config: Added conversion support for obsolete sieve/sieve_storage settings. [0569f9f5b754] * src/lib-storage/list/subscription-file.c: lib-storage: Log and hide invalid entries in subscriptions file. [5b83114df036] * src/anvil/anvil-settings.c, src/auth/auth-settings.c, src/director /director-settings.c, src/lib-master/service-settings.h, src/log /log-settings.c, src/master/master-settings.c: Fail at startup if process_limit>1 for services that don't support it. [ce75971127a2] * src/lib-master/master-login-auth.c: lib-master: If auth server is restarted, still log a warning about aborted auth request. [acd30d4601f9] * src/lib-storage/index/maildir/maildir-save.c, src/lib- storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/maildir/maildir-sync.h: maildir: Log a warning if mailbox synchronization takes longer than 1 min. [41b3ab0a3241] * src/lib-storage/index/maildir/maildir-sync-index.c: maildir: Use correct enum for getting uidlist record GUID. [62d3c2dfee6d] * src/lib-storage/index/maildir/maildir-mail.c: maildir: Fixed a race condition in getting a new message's GUID. [9d9cb38f1b5d] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Code cleanup: Use MAILDIR_UIDLIST_HDR_EXT_* when building the header string. [24b84a62d8fe] * src/lib-storage/index/maildir/maildir-sync-index.c: maildir: Don't add GUIDs to "external expunge" records. There's no point. [48567ea799ba] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: When uidlist file is recreated and reread, clear old records from memory. This should avoid wasting some memory and also fix "Duplicate file entry" errors. [0818f0a49704] * src/lib-storage/index/maildir/maildir-copy.c, src/lib- storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir /maildir-storage.h: maildir: Cleaned up filename/guid preserving code on save/copy. [77e71551fe55] * src/dsync/dsync-worker-local.c: dsync: Avoid assert-crashing when trying to create a reserved mailbox name (e.g. dbox-Mails) [4a753371ae73] * src/lib-storage/index/maildir/maildir-sync-index.c: maildir: Fixed expunging messages with GUIDs in uidlist. [c24206d083e8] * src/lib-lda/duplicate.c: lib-lda: Fixed handling duplicate database when user has no home dir. Now it gives a clear error message and doesn't crash with some OSes. [75e466740c57] * src/lib-index/mail-transaction-log-file.c, src/lib-index/mail- transaction-log-private.h: lib-index: Log a warning if transaction log lock is kept over 3 minutes. [6d6d9f49f61b] 2010-09-22 Timo Sirainen * configure.in, src/auth/passdb-vpopmail.c: Attempt to fix vpopmail support. [02a9cf90ad02] * src/lib-dict/dict-file.c: dict-file: Don't leak fd on deinit. [7cf2b8b8a720] 2010-09-21 Timo Sirainen * src/plugins/quota/quota-count.c, src/plugins/quota/quota-private.h: dict quota: Avoid crashing if quota recalculation tries to recurse. [ee91aee81d0d] * src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c, src/plugins/quota/quota.h: quota: Avoid calling i_fatal() on initialization errors, plus some other fixes. [3780caa2a6f2] * src/lib-storage/mail-user.c, src/lib-storage/mail-user.h: lib-storage: If user->error is set during initialization, fail user creation. [7dd6ff192718] * src/ssl-params/ssl-params-settings.c: ssl-params: Don't start it at startup if Dovecot is compiled without SSL support. [c758655c6270] * src/lib-storage/index/maildir/maildir-save.c: Maildir: If POP3 UIDL is specified for saved message, add it to uidlist. [3f04426b00fb] * src/lib-storage/mail-storage.c: lib-storage: Added assert against empty UIDL in mailbox_save_set_pop3_uidl(). [ad81284d43ff] * src/dsync/dsync-worker-local.c: dsync: Don't set POP3 UIDLs to empty values. [8b1ec21f50e6] * src/lib-auth/auth-client-request.c: lib-auth: Last change broke multi-step auth mechanisms. [0d101d089b5b] * src/lib-dict/dict-client.c: dict client: If connect to server socket fails with EACCES, give better error message. [c6783cbd0235] * src/plugins/expire/doveadm-expire.c: doveadm-expire: Improved debug logging. [0c22286d5fc7] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Added iterate_single_user mail context field. [dc98970aef85] * src/lda/main.c: lda: If mail_debug=yes and no -d parameter is given, log where username is taken from. [942bb9258e49] 2010-09-20 Timo Sirainen * src/lib-auth/auth-client-request.c: lib-auth: Make sure auth request isn't tried to be double-freed on error conditions. This could have happened if auth server crashed. [af45e2f36059] * src/lib/network.c: Make sure no data is leaked across processes via struct ip_addr fields. [e403f4dc95ea] * src/lib-master/master-login-auth.c: lib-master: When finishing auth, don't send REQUEST if auth process has restarted. This avoids unnecessary "Master requested auth for nonexistent client" errors when auth process restarts (crashes). [16330c0c8ef4] * src/lib-lda/Makefile.am, src/lib-storage/Makefile.am: lda, storage .so libs: Added explicit linking against other .so libs they require Based on patch by Funda Wang [26e88084bbc0] * src/lib-storage/index/dbox-multi/mdbox-map-private.h, src/lib- storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox- multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox-storage.c: mdbox: If :INDEX=path is specified, keep storage indexes there also. [012a1773ebfd] 2010-09-17 Timo Sirainen * .hgsigs: Added signature for changeset a475e8d4eb21 [b44b8ba23c5c] * .hgtags: Added tag 2.0.3 for changeset a475e8d4eb21 [b153157e4e73] * NEWS, TODO, configure.in: Released v2.0.3. [a475e8d4eb21] [2.0.3] * src/lib-storage/list/mailbox-list-fs-iter.c: lib-storage: If subscriptions contains an invalid entry, don't crash with fs layout. [f7bd4059c6af] * src/lib/fdpass.c: fdpass: Use memcpy() to access data in CMSG_DATA(). This fixes at least AIX where the previous way was broken for some reason. [bdf922d26534] * src/lib/ioloop-poll.c: poll: Added a workaround for AIX to get it to notice IO_ERRORs [4a5e2be6e112] 2010-09-16 Timo Sirainen * src/lib-storage/index/maildir/maildir-mail.c, src/lib- storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir /maildir-uidlist.c, src/lib-storage/index/maildir/maildir-uidlist.h: maildir: uidlist can now override message's GUID [b93405cdd4e9] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Use array_bsearch() in uidlist instead of reimplementing it. [6a99212b636d] * src/lib-storage/list/mailbox-list-fs.c: lib-storage: Recent change broke creating mailboxes with fs layout. [0540815363b6] * src/doveadm/doveadm-mail.c: doveadm: Give binary name to plugin loading code so it can give better error messages. [7000a9833b19] 2010-09-15 Timo Sirainen * src/dsync/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync.c: dsync: Don't crash/hang if syncing fails before ioloop is started. [eb5adb193064] * src/master/service-monitor.c: master: Fixed previous "client/process_limit reached" log change. [f026e809113d] * src/lib-storage/mail-namespace.c: lib-storage: Fail if list=yes namespace prefix starts with hierarchy separator. [c39dcf0504e6] * src/lib-mail/message-parser.c: lib-mail: Previous message parser optimization caused infinite looping with some mails. [14a6e526900d] 2010-09-14 Timo Sirainen * src/lib-index/mail-index-transaction-update.c: lib-index: day_first_uid[] array wasn't kept properly up to date. The result was that caching decisions could have been sometimes slightly wrong. Based on patch by Paul E. Black. [8b6b0412dc18] * src/master/service-monitor.c: master: If service with process_limit=1 reaches client_limit, log it better. [fac83abe8aaf] * src/lib/failures.c: When writing to logs, ignore write()=EINTR failures from non- terminal signals. The previous code failed after 3 successive EINTRs, which was possible if the process got a lot of signals (e.g. master process getting lots of SIGCHLD signals). [5626fee3b7b9] * src/lib/lib-signals.c, src/lib/lib-signals.h: Added signal_term_counter that keeps track of how many terminal signals have been received. [7f364dafc675] * src/dsync/dsync-worker-local.c: dsync: Fixed creating \noselect mailboxes. [02d78c4a0a51] * src/dsync/dsync-worker-local.c: dsync: Don't create \Noselect mailboxes as selectable mailboxes, rather just don't create them. This fixes creating extra empty mailboxes when mirroring mbox+fs layout and maildir++ layout. [7305a7787536] * src/lib-storage/index/shared/shared-list.c, src/lib-storage/list /mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src /lib-storage/list/mailbox-list-none.c, src/lib-storage/mail- storage.c, src/lib-storage/mailbox-list-private.h, src/lib-storage /mailbox-list.c, src/lib-storage/mailbox-list.h, src/plugins/acl /acl-mailbox-list.c: lib-storage: Added mailbox_list_create_dir() [ba924e3ee4ae] * src/lib/istream-crlf.c: istream-crlf: Fixed assert-crash. [2e1226259979] * src/lib-settings/settings-parser.c: lib-settings: Give a better error message for invalid boolean values [2d80fc07124a] * doc/example-config/conf.d/15-lda.conf, src/lda/main.c, src/lib-lda /lda-settings.c, src/lib-lda/lda-settings.h, src/lmtp/commands.c: Added lda_original_recipient_header setting. Removed non-standard use of Envelope-To: header. [8bd2bd410c73] * src/lda/main.c, src/lib-lda/mail-deliver.h, src/lmtp/commands.c: lda: Added -r parameter to specify final recipient address. (As opposed to -a which specifies original recipient address.) This is going to be used by Sieve checks. [d56a28e83f32] * src/plugins/quota/quota-private.h, src/plugins/quota/quota.c: quota: Added support for reverse quota warnings. Based on patch by Jeroen Koekkoek [d6dc68825427] 2010-09-13 Timo Sirainen * src/plugins/quota/doveadm-quota.c: doveadm quota: Removed unused search_args. This fixes a crash when used with doveadm_expire plugin. [4a67c3a3ec6f] * src/login-common/client-common-auth.c: *-login: Ignore ENOTCONN error for shutdown() It's probably just a duplicate of a previous read() failure. [babeebf041c4] * src/lib/iostream.c: iostream: Call destroy callback after the destroy() method is called. [18ab89f4d6a1] * src/lib-sql/driver-mysql.c: mysql: When sql_exec() fails, log an error. [90bdbeb132a7] * src/lib-sql/driver-mysql.c: mysql: When query fails because connection gets lost, use MySQL failure message instead of generic one. [bcb61478f04d] * src/plugins/acl/acl-mailbox-list.c: acl: Don't break if mailbox listing returns an empty name. [4fc447d1281e] * src/login-common/login-proxy-state.c: login proxy: If proxy-login pipe isn't found, don't log an error. The pipe exists only when director is enabled. [7b629b219be5] * src/lib-index/mail-index-fsck.c: lib-index: fsck shouldn't assert-crash when no .log file exists [f97b0b163e01] * src/lib-index/mail-index-map-read.c: lib-index: readonly status was checked wrong when deleting corrupted index files. [39fef730dec3] * src/lib-master/master-service-settings.c: lib-master: If config file can't be even stat()ed (e.g. permission error), give better error msg. [c98cdeb2c67a] * src/lda/main.c: lda: If destination user isn't found, exit with EX_NOUSER, not EX_TEMPFAIL. [69a3dfe6dba3] 2010-09-08 Timo Sirainen * .hgsigs: Added signature for changeset f4eb53065879 [0003c55ccb75] * .hgtags: Added tag 2.0.2 for changeset f4eb53065879 [643b2fb14b55] * NEWS, TODO, configure.in: Released v2.0.2. [f4eb53065879] [2.0.2] * src/plugins/acl/acl-backend-vfile.c: acl: Make sure acl-list and dict is rebuild when replacing/clearing ACLs [cbc30c72b3ce] * src/plugins/acl/acl-lookup-dict.c: acl: Fixed removing entries from shared dict when rebuilding [d377c610b19d] * configure.in, dovecot.m4: dovecot.m4: Added --with-moduledir and export dovecotdir [711b5f193f04] * src/lmtp/main.c: lmtp: Read initial settings with service=lmtp [7fef89fea00e] * src/auth/userdb-static.c: auth: If no passdb is specified, don't fail when userdb static tries to verify user existence. [e392f5f65cd8] * src/auth/auth-settings.c, src/config/old-set-parser.c: Don't fail with auth_cache_size=0 [52e197994a55] * src/config/old-set-parser.c: config: Automatically convert old-style auth_cache_size value. [77075d202fc1] * src/auth/auth-settings.c: auth: Fail if auth_cache_size value is too small. [27d235096cca] * src/auth/auth-cache.c: auth: Don't crash if auth_cache_size has a very small value. [9dc3c6de6e82] * src/login-common/client-common-auth.c: login: Crashfix when client disconnects before auth process has started. [af71d71e4b88] 2010-09-07 Timo Sirainen * src/lib-sql/driver-sqlpool.c: sql pool: Delay creating a transaction until commit is called. Otherwise sql connection is reserved for the duration of the transaction. [902f008f17cf] * src/lib-master/master-auth.c, src/lib-storage/index/index-mail.c, src/lib/fdpass.c, src/login-common/ssl-proxy-openssl.c: Compiler warning fixes. [d72b4a74a992] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Avoid unnecessary uidlist recreation during mail delivery. [c7e1c71c5ec5] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: If uidlist isn't read, don't mark its UIDs as being known when saving. [65b0e7b4eda9] 2010-09-06 Timo Sirainen * src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c: zlib: Potential assert-crashfix. [0d5f21aeda68] * src/lib-storage/mailbox-list.c: lib-storage: Don't fail with "maildir_name not supported" when using empty DIRNAME= [b00d3a367d79] * src/lib-storage/index/maildir/maildir-sync-index.c: maildir: Minor code cleanup. [ab72c0760133] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: If we see duplicate file with retry_rewind set, try rewinding first. [e2a267b64619] 2010-09-03 Timo Sirainen * src/config/config-parser.c: config: Give an error if "block {" continues with non-whitespace. [a05834588ffb] * src/lib/mempool-alloconly.c: alloconly mempool: Clear pool with memset(), not safe_memset(). [124dd0840ed8] * src/lib/Makefile.am, src/lib/mempool-alloconly.c, src/lib/mempool- system-clean.c, src/lib/mempool.h: liblib: Removed unused system-clean and alloconly-clean mempools. They're just making the code messier and slower. [0b1c1db31387] * src/lib-imap/test-imap-match.c: test-imap-match: Don't use "clean" alloconly mempool, there's no point. [fef504af51b1] 2010-09-02 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-save.c: mdbox: If save fails due to lock failure, don't assert-crash [c24b0dd6e3ac] * src/lib-index/mail-index-lock.c, src/lib-index/mail-transaction-log- file.c, src/lib-index/mail-transaction-log-private.h, src/lib-index /mail-transaction-log.c: lib-index: Lock timeout setting wasn't actually used in all places. [2dca300aee5c] * src/lib-storage/index/shared/shared-storage.c: lib-storage: Fail earlier if shared namespace prefix contains modifiers. [2c4bdec44065] * src/lib-storage/mail-namespace.c: lib-storage: Minor namespace error handling cleanup. [6812a4bf6566] * src/lib-storage/mail-namespace.c: lib-storage: Give an error about duplicate namespace prefixes. [a3f016b7b914] * src/config/config-parser.c, src/config/config-parser.h, src/config/doveconf.c: doveconf: Quote output values when necessary. [31387c9d5b88] * src/lib-storage/mail-namespace.c: lib-storage: If shared namespace uses %% in location, but not in prefix, fail with error. [4d8b54fc4ef5] * src/director/director-connection.c: director: If outgoing connection dies soon, mark the host as failed to avoid immediate reconnect. [ff5a47012287] * src/plugins/fts/fts-storage.c: fts: More percentage counter calculation fixes. Patch by William Blunn [d55d6a72a043] 2010-09-01 Timo Sirainen * src/plugins/fts/fts-storage.c: fts: Removed float calculations from "Indexed n% of the mailbox" message. [1012052e2e85] * src/doveadm/doveadm-mail-list-iter.c: doveadm: Support accessing mailboxes in non-private namespaces. The default is still the same as "*", and wildcards won't cross namespace boundaries so unless the namespace prefix is explicitly used non-private namespaces are still invisible. [267385a0ccd3] * src/imap/cmd-idle.c: imap: Don't hang if client sends IDLE + DONE pipelined. [c7b351d415d9] * src/imap/cmd-idle.c: imap: Make sure we don't crash when client disconnects during IDLE with lots of changes. [4d9768fd1a55] * src/imap/imap-commands-util.c: imap: Fixed a crash with tb-extra-mailbox-sep workaround and selecting "ns-prefix/" box. [75611e9088b6] * src/lib-storage/mail-storage.c: lib-storage: If mailbox deletion fails, mark the index back as undeleted. [eecc2fda78c1] * src/lib/istream.c: i_stream_next_line(): Fix for the previous optimization. [0c73829cd1f8] * src/master/master-settings.c: master: Make sure base_dir has at least 0755 permissions. [bc5c9bd4bc7e] * src/imap/cmd-select.c: imap: If selecting a mailbox fails, close the already selected mailbox. [a428dd6fe3e7] * src/lib/istream-crlf.c: istream-crlf optimization. Based on patch by Len7hir [5163d94d4272] * src/lib/istream.c: istream_next_line() optimization. Based on patch by Len7hir [e9358064c45e] * src/lib-mail/message-parser.c: lib-mail: Optimized message parser code. Based on patch by Len7hir [e275c4f02501] 2010-08-31 Timo Sirainen * src/auth/auth-worker-server.c: auth: Give better EACCES error if we can't connect to auth-worker. [1d895c7a753d] * src/lib/eacces-error.c: access_get_error(): Fixed to give better error messages with relative paths. [8db227a70bec] * configure.in: configure: vpopmail is broken, fail configure if --with-vpopmail is used. [f90590836165] * src/lib/restrict-access.c: Fixed setgid() failure error message. Based on patch by Clint Adams [1cb0325ff6df] 2010-08-26 Timo Sirainen * src/config/old-set-parser.c: doveconf: When logging an obsolete warning, log a note about using doveconf. [c5111fb65b0b] 2010-08-24 Timo Sirainen * .hgsigs: Added signature for changeset 8baa8ccb4021 [e7dd800e1e3c] * .hgtags: Added tag 2.0.1 for changeset 8baa8ccb4021 [4d9ab55954ad] * NEWS, configure.in: Released v2.0.1. [8baa8ccb4021] [2.0.1] * src/lib-storage/index/dbox-common/dbox-storage.h: dbox: Create dbox temp files with ".temp." prefix, not "temp." This makes it consistent with the rest of the created temp files and also gets any stale temp files deleted. [c562721dff2d] * src/lib-storage/mail-storage-service.c: lda: Don't fail with "mail_uid/mail_gid not set" error when running without -u. [14190cceb903] * src/plugins/quota/quota-storage.c: quota: Mark the mailbox deleted before starting to reduce quota. This fixes race conditions with another process modifying the same mailbox at the same time. [6933cfa5315a] * src/lib-storage/mail-storage-private.h, src/lib-storage/mail- storage.c: lib-storage: Allow mailbox_mark_index_deleted() to be called multiple times within same mailbox alloc. [72b5a0af6e4e] 2010-08-23 Timo Sirainen * src/plugins/fts-solr/fts-backend-solr.c: fts-solr: Fixes to previous data encoding changes. Patch by Erik Hetzner [0f6e3c9037d5] * src/lib/base64.c, src/lib/base64.h: Added base64_is_valid_char() [f0d3d7eb0604] * src/lib/buffer.c: liblib: Don't segfault if write is attempted beyond non-dynamic buffer's bounds. [edb490f2ad6a] * src/dsync/dsync-proxy-client.c: dsync: Assert-crashfix with remote dsyncing. [f5e8fffacc92] * src/auth/auth-request-handler.c: auth: Crashfix when aborting auth request doing async passdb/userdb lookup. [d2b49c7d4046] * src/auth/db-sql.c: auth: Abort any pending SQL requests earler to avoid crashes. [8b85c3b89343] * src/lib-sql/driver-pgsql.c, src/lib-sql/driver-sqlpool.c, src/lib- sql/sql-api.h: lib-sql: sql_disconnect() now aborts all pending requests. [b88b207b79b2] * src/imap/cmd-select.c: imap: Fixed parsing SELECT QRESYNC parameters [17174c55008b] * src/imap/cmd-select.c: imap: Fail if QRESYNC seqset parameters use '*' [04fc57a7a425] * src/lib-imap/imap-seqset.c, src/lib-imap/imap-seqset.h: lib-imap: Added imap_seq_set_nostar_parse() [cd0e0e44d4eb] * doc/man/dsync.1.in: man: Updated dsync man page. [c0ea2ceae362] * src/dsync/dsync-brain.c: dsync: If worker fails, abort earlier. [6ef21adeb61d] * src/dsync/dsync.c: dsync: Execute remote dsync binary before dropping privileges. [83f98d61bea2] * configure.in: configure: --with-ssl=gnutls gives error now immediately [ab75eff633aa] 2010-08-20 Timo Sirainen * src/plugins/fts-solr/fts-backend-solr.c: fts-solr: Replace characters not valid for XML with replacement char. [38674aff6956] * src/lib/unichar.c, src/lib/unichar.h: Added a global utf8_replacement_char variable. [6105706de7b6] * src/master/service-process.c: master: Fixed log_path=/dev/stderr [d7a3abc9e0e0] * src/lib-storage/mail-storage-service.c: lib-storage: Don't complain about missing UID/GID when running as root is allowed (standalone). [807bc9ea1411] * src/lib-storage/mail-storage-service.c: lib-storage: Give better error message if user is missing UID/GID [53e74e057506] * doc/example-config/conf.d/10-master.conf: example-config: Added example dict service [bb69d9d96b88] * src/imap/imap-settings.c, src/lmtp/lmtp-settings.c, src/master /master-settings.c, src/master/master-settings.h, src/pop3/pop3-settings.c: Reverted previous commit. It's a stupid feature: mail_access_groups already exists. [a8397390075d] * src/imap/imap-settings.c, src/lmtp/lmtp-settings.c, src/master /master-settings.c, src/master/master-settings.h, src/pop3/pop3-settings.c: Added default_mail_extra_groups setting. imap/pop3/lmtp services' extra_groups defaults to it. For now this default is empty to make sure existing installations don't break. [2735d9afd842] * src/lib-storage/mail-storage-service.c: lib-storage: Preserve permission settings in master's service blocks. Most importantly preserve extra_groups setting. [d6f387fe1275] * src/master/service-process.c: master: Set RESTRICT_* environment even when drop_priv_before_exec=yes Otherwise the executed process could still try to drop some of the privileges (groups). [77a043a1ddb5] * src/lib-storage/mail-namespace.c: lib-storage: Log namespace location with mail_debug=yes [892f0db489cd] 2010-08-19 Timo Sirainen * doc/example-config/dovecot-ldap.conf.ext: doc: Updated tls_cert/key_file comment in dovecot-ldap.conf.ext [539da76585cc] * src/imap/imap-fetch.c: imap: Don't crash with QRESYNC SELECT specifying sequences larger than mailbox's message count. [83c0e7687e5e] * src/pop3-login/client.c: pop3: Show APOP challenge only when APOP auth mechanism is enabled. [eed1426f55a9] * src/lib-master/master-service.c: lib-master: Fixed accepting FIFO connections with BSDI. [565f18727209] * src/lib/unichar.c, src/lib/unichar.h: UTF-8 string validity was still checked incorrectly. [a83963495e55] 2010-08-18 Timo Sirainen * src/lib-index/mail-index.c: lib-index: Give a clearer error message for syscall failing with EFBIG. [706f30fa4028] * src/lib-index/mail-index.c: lib-index: Put all syscall error logging through one function. [038f25c02bb7] * src/lib/unichar.c: UTF-8 string validity was checked incorrectly. [8c46bf2c5176] 2010-08-17 Timo Sirainen * src/auth/auth-request.c: auth: Pass requested_login_user to auth worker processes. [3ba227176cde] * src/auth/auth-request.c: auth: Added more master user login debugging. [7428338c8df2] 2010-08-16 Timo Sirainen * src/lib/eacces-error.c: eaccess_error_get(): If UID/GID doesn't have name, show it as [4f90b4114450] * src/lib-master/service-settings.h, src/master/master-settings.c, src/master/service.c: master: Give better error messages for unknown users/groups. [a2e60bd5d9a7] * configure.in: configure: v2.0.0 is no longer UNSTABLE development branch. [2156583b00e2] * .hgsigs: Added signature for changeset d0d3ba81d205 [30dee90dca5e] * .hgtags: Added tag 2.0.0 for changeset d0d3ba81d205 [aa40b9d5699c] * NEWS, configure.in: Released v2.0.0. [d0d3ba81d205] [2.0.0] 2010-08-13 Timo Sirainen * .hgsigs: Added signature for changeset c5de2eb14a97 [4cebeefc617c] * .hgtags: Added tag 2.0.rc6 for changeset c5de2eb14a97 [2a59fef6863d] * NEWS, configure.in: Released v2.0.rc6. [c5de2eb14a97] [2.0.rc6] * configure.in, src/login-common/ssl-proxy-openssl.c: Compile fix for some OpenSSL version. [53147e8bdaf9] 2010-08-12 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-purge.c: mdbox: Use unlimited buffer size when copying metadata while purging. [a56e9deffa54] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-mail.c: dbox: Don't allow unlimited buffer size when reading message body. [ae4a82ced01e] * src/lib/istream.c, src/lib/istream.h: Added i_stream_get_max_buffer_size(). [136ce9b2e039] * src/lib-sql/sql-api.c: lib-sql: Fail if trying to register a duplicate sql driver. [11538925cbbb] * src/lib-storage/list/mailbox-list-fs-iter.c: lib-storage: Fixed listing shared INBOX with FS layout [4d8ae218af73] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib- storage/index/dbox-single/sdbox-sync-rebuild.c: dbox: Reset cache files when rebuilding indexes. This is especially important if there are broken cached GUIDs for messages, which will cause GUID mismatches when trying to expunge messages. [ab8ca4ded5ac] * src/lib-index/mail-cache.c, src/lib-index/mail-cache.h: lib-index: Added mail_cache_reset(). [117053f20528] * src/lib-storage/index/maildir/maildir-mail.c: Maildir: If trying to open a directory as message, try to rmdir it. [651e51de34b7] * src/lib/istream-file.c: i_stream_create_fd(): If opening a directory, set stream_errno=EISDIR [faac0d16d141] * src/lib-storage/list/mailbox-list-delete.c: lib-storage: When trying to delete "trash" directory, ignore EBUSY errors. [25f401276f9b] * src/lib/unlink-directory.c: unlink_directory(): Don't log EBUSY error for unlink(.nfs*) directly. The caller can decide if it wants to log it. [2aec6c74902c] * src/lib-master/master-login.c: lib-master: Prefix log messages with username during auth/post-login lookups. [6f2c1fb1b7f1] * src/imap-login/imap-proxy.c, src/login-common/client-common-auth.c, src/login-common/client-common.h, src/pop3-login/client.h, src/pop3-login/pop3-proxy.c: login proxy: Show proxy state in "disconnected" error message. [c27bca966b54] * src/login-common/client-common-auth.c, src/login-common/login- proxy.c: login proxy: Error message improvements. [b9bdcfd6eaa7] * src/lib/module-dir.c: module_dir_load(): Support multiple binaries for checking dependency [4b59b19628b1] * src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h: lib-lda: Added mail_deliver_hook_set() [a75589746450] 2010-08-11 Timo Sirainen * src/plugins/quota/quota-storage.c: quota: Fixed updating quota when sync_notify() had been called outside regular syncing. [8c6912bc0db0] * src/lib/ioloop-notify-inotify.c: Improved "Inotify instance limit exceeded" error message. [6b22e2a8c534] 2010-08-10 Timo Sirainen * .hgsigs: Added signature for changeset 4a2d840a80bb [8ad06727a77f] * .hgtags: Added tag 2.0.rc5 for changeset 4a2d840a80bb [0585c67fd78a] * NEWS, TODO, configure.in: Released v2.0.rc5. [4a2d840a80bb] [2.0.rc5] * src/auth/db-ldap.h: ldap: Reduce max. queued request count to 8. OpenLDAP seems to default to 16 worker threads. [3cda9f2f48bd] * src/lib/strfuncs.c: p_strdup(): Small optimization. Patch by Len7hir [7f550a7bd9d7] 2010-08-09 Timo Sirainen * src/dsync/dsync-brain.c, src/dsync/dsync-proxy-server.c, src/dsync /dsync-worker.c: dsync: Error handling fixes. Mainly fixes quota of quota error while saving. [88309dcfdab5] * src/ssl-params/main.c: ssl-params: Comment update. [59b0e70c8f14] * src/ssl-params/main.c, src/ssl-params/ssl-params-settings.c: ssl-params: Generate missing SSL parameters immediately at Dovecot startup. (Instead of waiting until the first SSL client connection arrives.) [b8a09fa4acc4] * src/lib-master/service-settings.h, src/master/master-settings.c, src/master/service-monitor.c, src/master/service-process.c, src/master/service.c, src/master/service.h: master: Added service type=startup for starting one service process at startup. [351948b4dc6c] * src/plugins/listescape/listescape-plugin.c: listescape: Crashfix for some configurations. [ed61aee681b8] * src/lib/mountpoint.c: mountpoint_get(): Skip rootfs mounts with Linux. Fixes fs quota for such systems. Patch by Patrick McLean. [3f5c53f84d0a] * src/plugins/listescape/listescape-plugin.c: listescape: Fixed listing for namespaces whose prefixes had escapeable chars. Based on patch by Samuel Kvasnica [18d95a2d0aba] * src/plugins/imap-acl/imap-acl-plugin.c: imap-acl: Initial SETACL box owner +rights should apply on top of default rights, not empty rights. So typically this should be a no- op when mailbox doesn't yet have explicit rights for owner. [bbfe3a00bc74] * src/plugins/imap-acl/imap-acl-plugin.c: imap-acl: Don't allow ACL commands for mailboxes that don't exist. [8814ced6d012] 2010-08-06 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-map.c: mdbox: Make sure we don't try to append to a file we already closed. [874422af78b1] * src/plugins/acl/acl-mailbox-list.c: acl: Crashfix when using namespaces without ACLs. [1aa2ccceacb9] * src/plugins/listescape/listescape-plugin.c: listescape: Crashfix for listing subscriptions for subscriptions=no namespaces. [3fc1f263827c] * src/lib-mail/istream-header-filter.c: istream-header-filter: Another assert crashfix. [f7b5732820dd] * configure.in: configure: Recent change broke getting libcurl cflags/libs. [1f817738b093] * src/lib-mail/istream-header-filter.c: istream-header-filter: Fixed assert [dd3e70c85d43] * src/doveadm/doveadm-util.c: doveadm -D: Log module dlopen() failures as debug messages, not errors. [41e6ffa319b7] * src/lib/module-dir.c: module_dir_load(): If ignore_dlopen_errors and debug is set, still log a debug message about failure. [99996236fa51] * src/lib-storage/mail-storage-hooks.c: lib-storage: Another fix for handling hooks with multiple plugins. [e54df5af98ac] * src/plugins/quota/quota-count.c: dict quota: Don't fail quota recalculation if mailbox syncing fails with non-temp error. This could happen e.g. with mbox if a file isn't in a valid mbox. [a933f7db45f9] * src/lib-storage/index/index-mail.c: lib-storage: Fixed mbox/cydir crashing on cache parsing deinit. [4ef2280ee490] * src/lib-storage/index/cydir/cydir-save.c: cydir: Fixed crashing when saving was aborted early (e.g. by out of quota) [b38708f38e6c] * AUTHORS: AUTHORS: There's no more dovecotpw.c [a30a30d1e25a] 2010-08-05 Timo Sirainen * src/plugins/lazy-expunge/lazy-expunge-plugin.c: lazy-expunge: Don't crash when using shared users. [641e86843234] * configure.in: configure: AC_CHECK_PROG() calls now allow specifying full path to prog via environment. For example MYSQL_CONFIG=/foo/mysql_config allows overriding mysql_config path. [ebb4362b6d0d] * src/plugins/listescape/listescape-plugin.c: listescape: Fixed to support multiple simultaneous mailbox list iterators. [e77310eedfbb] * src/plugins/lazy-expunge/lazy-expunge-plugin.c: lazy-expunge: Use mailbox_list_created hook to override list methods. [756752d91378] * src/plugins/quota/quota-plugin.c, src/plugins/quota/quota-plugin.h, src/plugins/quota/quota-storage.c: quota: Use mailbox_list_created hook to override list methods. [c92414173290] * src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-plugin.c, src/plugins/acl/acl-plugin.h: acl: Override mailbox list functions in mailbox_list_created hook. [2311b5ca4d3f] * src/plugins/acl/acl-backend-vfile.c: acl: Crashfix for handling namespaces that don't have a paths. [ddf343de34a4] * src/imap/cmd-subscribe.c, src/imap/imap-commands-util.c, src/lib- storage/mail-namespace.c, src/lib-storage/mailbox-list.c, src/lib- storage/mailbox-list.h, src/plugins/acl/acl-backend-vfile.c: lib-storage: Removed mailbox_list_get_hierarchy_sep(). Its usage wasn't correct. Especially with listescape plugin loaded the function was returning the wrong separator. list->ns->real_sep should be used instead. [827ebadc5995] * src/plugins/listescape/listescape-plugin.c: listescape: Use mailbox_list_created hook for overriding its methods. [415151aaa6de] * src/doveadm/Makefile.am: doveadm: Fixed linking with --as-needed flag. Patch by Eray Aslan [335434b424b8] * configure.in: configure: Reverted last change, it doesn't work like that.. [6eb1311ac8e2] * configure.in: configure: Use the detected mysql_config location. Patch by Bradley Giesbrecht [d54444b8f539] 2010-08-04 Timo Sirainen * .hgsigs: Added signature for changeset 71b2cb9895d9 [9f00b538de1b] * .hgtags: Added tag 2.0.rc4 for changeset 71b2cb9895d9 [4d35c0fe08ca] * NEWS, configure.in: Released v2.0.rc4. [71b2cb9895d9] [2.0.rc4] * src/doveadm/doveadm-mail-server.c: doveadm: Removed unnecessary code. [f980dcbe3b51] * src/doveadm/client-connection.c: doveadm: Doveadm server may have messed up print output with extra username strings. [3e0fb1a07ff1] * src/plugins/acl/acl-backend-vfile.c: acl: Give a better error message when trying to update ACLs for object without local path. [ad0ef9c40381] * src/plugins/imap-acl/imap-acl-plugin.c: imap-acl: Don't allow accessing "" as mailbox. [85bdc6f6ff30] * src/plugins/virtual/virtual-storage.c: virtual: Added support for IDLE notifications. [eb1f471a924d] * src/dsync/dsync-brain-msgs.c: dsync backup: Don't go to infinite loop when mailbox needs to be recreated. [e9cc262e4bbb] * src/lib-storage/index/maildir/maildir-save.c: maildir: When copying can't preserve filename, preserve S/W sizes anyway. [33ea7477c6a9] * src/plugins/quota/quota-maildir.c: quota-maildir: Avoid leaving maildirsize deleted when quota recalculation is wanted. [353d73775b69] * src/lib/network.c, src/lib/network.h: net_accept(), net_getsock/peername(): Return UNIX sockets with family=port=0. A lot of checks inside our code assumes that family is either AF_INET, AF_INET6 or 0. struct ip_addr doesn't support anything else either, so having AF_UNIX as family but without a way to get the socket name from the struct isn't very helpful either. [10c4c9d5fb5b] * src/doveadm/doveadm-director.c: doveadm director map/add/remove: Fixed handling IP address as parameter. Only host names were working correctly. [9cf0d33f3fe9] 2010-08-03 Timo Sirainen * dovecot-config.in.in: dovecot-config: Include SSL_LIBS as part of LIBDOVECOT_LOGIN. [7edfd661cbfa] * src/imap-login/Makefile.am, src/pop3-login/Makefile.am: Makefile: imap/pop3-login now links SSL_LIBS explicitly. This fixes compiling in some systems where they didn't get included automatically (or the automatic linking used wrong libraries). [b45e0637a5ef] * src/dsync/dsync-worker-local.c: dsync: Handle syncing subscriptions correctly for subscriptions=no namespaces. [62abbfe45cde] * src/lib-sql/driver-pgsql.c: pgsql: Changed the way IO handlers are added/removed. Remove IO handlers before calling any pgsql functions, so that if it closes the socket, we don't later try to remove IO for already closed socket. [e31570bccb92] * src/plugins/quota/quota-storage.c: quota: Fixed ns=prefix to work for private namespaces. [7c4b4f07d64e] 2010-08-02 Timo Sirainen * doc/example-config/conf.d/20-imap.conf, src/imap-login/client- authenticate.c, src/imap-login/client-authenticate.h, src/imap- login/client.c, src/imap/imap-client.c: imap: imap_capability = +foo only adds new capabilities instead of replacing everything. [ac31be20d279] * src/plugins/mail-log/mail-log-plugin.c: mail-log: Added support for mailbox_create event [59af5fd42221] * src/plugins/notify/notify-plugin-private.h, src/plugins/notify /notify-plugin.c, src/plugins/notify/notify-plugin.h, src/plugins/notify/notify-storage.c: notify: Added support for mailbox_create [1d3de1178b93] * src/plugins/notify/Makefile.am, src/plugins/notify/notify-noop.c, src/plugins/notify/notify-plugin.h: notify: Removed noop functions, they're no longer needed. [de24228a6a5b] * src/plugins/mail-log/mail-log-plugin.c: mail-log: Register only the notify callbacks we actually care about, leave rest NULL. [ca8ec8456cb1] * src/plugins/notify/notify-plugin.c: notify: Ignore notify callbacks that are NULL. [61de50936fcd] * src/auth/auth-request.c: auth: Support "username" and "domain" extra fields also for userdb. [63124518977a] 2010-07-31 Timo Sirainen * src/lib-storage/index/shared/shared-storage.c: lib-storage: Fixed setting refcount to autocreated shared namespace. [85f3420afb7c] * src/lib-storage/mail-namespace.c: lib-storage: Added assert. [65c26f530d3c] * src/lib-storage/index/index-status.c: lib-storage: Don't fail if messages are expunged during counting mailbox's virtual size. [662e0bce9de0] 2010-07-30 Timo Sirainen * src/lib-storage/index/mbox/mbox-save.c: mbox: Use HEADER_FILTER_END_BODY_WITH_LF flag with input stream filter. This fixes a bug where wrong message size was cached while saving messages that didn't end with LF. [e9f24817d472] * src/lib-mail/istream-header-filter.c, src/lib-mail/istream-header- filter.h, src/lib-mail/test-istream-header-filter.c: istream-header-filter: Added HEADER_FILTER_END_BODY_WITH_LF flag. If body doesn't end with LF character, it adds it automatically. [22e20ccc14bc] * src/lib-storage/index/mbox/mbox-save.c: mbox: Fields weren't being added to cache file during message saving. [b43c8d765d44] * src/lib-storage/mail-storage-service.c, src/lib/module-dir.c, src/lib/module-dir.h: If module can't be loaded due to missing dependency, suggest a setting how to do it. [02c9154efe81] 2010-07-28 Timo Sirainen * src/doveadm/Makefile.am: Makefile: Fixed compiling dsync with older automake versions. Patch by Naresh. [d5a923df60d4] 2010-07-26 Timo Sirainen * src/dsync/dsync.c: dsync: When using -u parameter, chdir() to user's home. [716b77e16d39] * src/lib-storage/index/mbox/mbox-sync.c: mbox: Fixed assert-crashing on failures with read-only mboxes [4d5158130e2c] * src/plugins/lazy-expunge/lazy-expunge-plugin.c: lazy-expunge: Keep internal namespaces referenced. Fixes crash with dsync. [bab22fff6d25] * src/lib-storage/mail-namespace.c, src/lib-storage/mail-namespace.h: lib-storage: Added refcounting support for namespaces [edb8f06c7346] * src/lib-storage/mail-storage.c: lib-storage: Don't crash in mailbox_transaction_commit() if plugin aborts transaction. [25a1c1739a63] 2010-07-23 Timo Sirainen * src/plugins/acl/acl-backend-vfile.c: acl: If ACL file exists in mail root directory, use it as namespace's default ACLs. [636d34f650c2] * src/director/main.c: director: Fixed director_doveadm_port setting to actually work. [3ef50adb7abf] * .hgignore, doc/example-config/dovecot.conf, src/doveadm/Makefile.am, src/doveadm/client-connection.c, src/doveadm/client-connection.h, src/doveadm/doveadm-mail-server.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/doveadm/doveadm-print-server.c, src/doveadm/doveadm-print.c, src/doveadm/doveadm-print.h, src/doveadm/doveadm-server.h, src/doveadm/doveadm-settings.c, src/doveadm/doveadm-settings.h, src/doveadm/doveadm-util.c, src/doveadm/doveadm-util.h, src/doveadm/main.c, src/doveadm/server- connection.c, src/doveadm/server-connection.h, src/lib-master /master-service-private.h, src/lib-master/master-service.c, src/lib- master/master-service.h, src/plugins/expire/doveadm-expire.c: doveadm: Added client/server architecture support for running mail commands. This is done when doveadm_worker_count is non-zero. [b60e225386bf] * src/doveadm/doveadm.c: doveadm: Duplicate settings so they won't be corrupted by user settings lookup. [158be8d93ddc] * src/doveadm/doveadm-print.c: doveadm: Fixed printing sticky headers when stream printing was also used. [1cfbdcfc7676] * src/director/doveadm-connection.c: director: If doveadm connection disconnects before handshake, don't loop forever. [06a7435b6f53] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Make a couple of functions global for future use. [839469d13df3] * src/doveadm/doveadm-print.c, src/doveadm/doveadm-print.h, src/doveadm/doveadm.c: doveadm: Moved print formatters list to doveadm.c [00033e2470ec] * src/doveadm/Makefile.am, src/doveadm/doveadm-mail.h, src/doveadm /doveadm-util.c, src/doveadm/doveadm-util.h, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: Code cleanup: Moved some functions to doveadm-util.[ch] [19574f77a021] * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mutf7.c: doveadm: Code cleanup: Moved "mailbox mutf7" command to separate file. It's not really a "mail command", so it shouldn't be in the same file as them. [43804bdf697e] * src/doveadm/doveadm-print-tab.c: doveadm: Tab formatter was printing extra spaces. [45473cd0e3e6] 2010-07-22 Timo Sirainen * src/doveadm/doveadm-mail-expunge.c: doveadm expunge: Check if search query is ok only once, not for each user. [4513949b26b3] * doc/example-config/conf.d/15-lda.conf, src/auth/auth-master- connection.c, src/auth/db-passwd-file.c, src/lib-dict/dict.h, src /lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib- storage/index/index-mail-headers.c, src/lib-storage/index/index- mail.c, src/lib-storage/index/index-search.c, src/lib-storage/index /index-thread.c, src/lib-storage/index/maildir/maildir-keywords.h, src/lib-storage/index/maildir/maildir-util.c, src/lib- storage/index/shared/shared-storage.c, src/lib-storage/list/mailbox- list-maildir.c, src/lib-storage/mail-storage.h, src/lib-storage /mailbox-list.c, src/plugins/fts-solr/fts-backend-solr.c, src/plugins/virtual/virtual-sync.c: Fixing my english: s/non-?existing/nonexistent/ [05031751cc21] * src/doveadm/doveadm-mail-mailbox-status.c: doveadm mailbox status: Show mailbox name in UTF8 in output. [93aee2609041] * src/doveadm/doveadm-mail-mailbox-status.c: doveadm mailbox status: Fixed listing non-ASCII mailbox names. [f4c8ca0bfd6d] * src/lib-storage/mailbox-list.c: lib-storage: Fixed mailbox_list_mailbox() for INBOX in under non- root mail dir. [459bd9621197] * doc/example-config/conf.d/10-director.conf, src/director/director- settings.c, src/director/director-settings.h, src/director/main.c: director: Added director_doveadm_port for accepting doveadm TCP connections. [ab85d17947db] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm.c: doveadm: When priting help to some command, exit with status 1. [ec35e240db6c] 2010-07-21 Timo Sirainen * src/auth/db-sql.c, src/auth/db-sql.h, src/auth/passdb-sql.c, src/auth/userdb-sql.c: auth: If built-in SQL query fails, log it clearly that it was using built-in one. [584957cba877] * src/dsync/dsync-worker-local.c: dsync: Queue local msg-get requests instead of assert-crashing. [e3519ec18f03] * src/lib/network.c: net_connect_ip*(): Fixed FreeBSD kludging. [4fb7e5327efc] 2010-07-20 Timo Sirainen * .hgsigs: Added signature for changeset a15b694f1d64 [4ffc063a5eff] * .hgtags: Added tag 2.0.rc3 for changeset a15b694f1d64 [4dc4ef1fcf38] * NEWS, configure.in: Released v2.0.rc3. [a15b694f1d64] [2.0.rc3] * src/config/doveconf.c: doveconf: Removed unnecessary code. [50b34366038d] * src/doveadm/doveadm-director.c: Make static analyzer happier. [1412056b5ab6] * src/doveadm/doveadm-director.c: doveadm director map: Print also records for unknown users. [25113ae51940] * src/lmtp/commands.c: lmtp: Don't write "+ext" part to Delivered-To: header. [19231e3585db] * configure.in: configure: Make sure mysql libs/cflags aren't used if they don't work. [45b835e6f59c] * src/lib-storage/mail-storage-hooks.c: lib-storage: Fixed hooks with plugins that didn't override any vfuncs [5b3202a069fa] * src/lib-auth/auth-master.c: lib-auth: Don't abort userdb iteration if it takes longer than 1 minute. [fd4cf27c179b] * src/auth/userdb-ldap.c: auth: Make sure ldap userdb iteration request isn't aborted too early. [d8af22b91beb] * src/auth/userdb-blocking.c: auth: Fixed a crash on cancelled userdb iteration. [8424d5efa6ad] * src/lib-storage/mail-storage-hooks.c: lib-storage: Fix to hooks with multiple plugins [5179e8f41cf4] * src/dsync/dsync-brain-msgs-new.c: dsync: Fixed potential crash with remote syncing. [a109e140bdf5] * src/lmtp/client.c: lmtp: Increased client idle timeout to 5 minutes. Some MTAs can spend a while doing DNS lookups during the LMTP session. [cfda26381f58] * autogen.sh: autogen.sh: If wiki docs can't be downloaded/uncompressed, fail early. [598b1334fbba] 2010-07-19 Timo Sirainen * src/master/service.c: master: Fixed dropping pending listener connections when throttling a service. [8da0bbb53e7d] * src/config/config-parser.c, src/config/old-set-parser.c: config: Handle obsolete imap_client_workarounds [d26cf5445598] * src/doveadm/doveadm-director.c: doveadm director: Give up waiting for handshake after 5 seconds. [be3663900ea8] * src/auth/userdb-blocking.c: auth: Make sure userdb iteration doesn't free memory too early if it's aborted. [f178792fb820] * src/dsync/dsync-proxy-client.c: dsync: Fixed potential assert crashes with remote dsyncing. [e6f376a1c755] * src/lib-index/mailbox-log.c: lib-index: Fixed reading mailbox logs larger than 128 records. [204eaf35e144] * src/lib-storage/index/dbox-multi/mdbox-purge.c: mdbox: Fixed some race condition problems with purging. [e4d870bed095] * src/lib-storage/mail-storage-hooks.c: Increased initial memory pool size [6217bc3589b8] * src/lib-storage/index/dbox-multi/mdbox-map.c: mdbox: Handle better trying to copy an already purged message. It shouldn't log "refcount update lost map_uid" error. [39d3894dc2f9] * src/lib-storage/index/dbox-multi/mdbox-save.c: mdbox: Copying wasn't locking map index early enough. [1e0916e4700c] * src/lib-storage/index/dbox-multi/mdbox-save.c: mdbox: Small code cleanup. [bb2c6be5be5c] * src/doveadm/doveadm-dump-index.c: doveadm dump: Fixed dumping sdbox/mdbox fields. [39b33769614b] 2010-07-17 Timo Sirainen * src/auth/auth-worker-server.c: auth: Fixed a potential crash on deinit. [cfd15170dff7] 2010-07-16 Pascal Volk * src/doveadm/doveadm-auth.c, src/doveadm/doveadm-director.c, src/doveadm/doveadm-dump.c, src/doveadm/doveadm-kick.c, src/doveadm /doveadm-log.c, src/doveadm/doveadm-mail-mailbox.c, src/doveadm /doveadm-master.c, src/doveadm/doveadm-penalty.c, src/doveadm /doveadm-pw.c, src/doveadm/doveadm-who.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: Removed long usage from doveadm commands. It's no longer needed since manual pages are displayed. [875598cd7e26] 2010-07-16 Timo Sirainen * src/lib-storage/mail-storage-hooks.c: lib-storage: Fixed handling hooks when more than 2 were used. [6b66aad2a997] * src/plugins/mail-log/mail-log-plugin.c: mail-log: Add dummy events only for copy/save events, not others [f590e5a76d7d] * src/plugins/mail-log/mail-log-plugin.c: mail-log: Fixed logging save/copy [222472f295f3] * src/plugins/mail-log/mail-log-plugin.c: mail-log: Fixed to actually read plugin settings. [e827618654ec] * dovecot.m4: dovecot.m4: Don't use grep -e, it's not standard. [b8c4316a5d40] * src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h: lib-lda: mail_deliver_save_open() API changed to return also error code. [db22952d406a] * src/dsync/dsync-proxy-client.c: dsync: Fixed a potential assert-crash with remote dsyncing. (worker->msg_get_data.input == NULL) [ff034cc11785] * src/lib-settings/settings-parser.c: lib-settings: Do proper alignment for dynamically added structs. Fixes a crash with some CPUs. [ba76cf7467c4] * src/dsync/dsync-proxy-client.c, src/dsync/dsync-worker-local.c: dsync: Added more asserts to dsync_worker_finish() handling [38fcf81cc9e0] * configure.in: configure: If fd passing check fails, abort [8cf47a359213] * src/lib/fdpass.c: configure wasn't compiling fd pass checking program correctly. [fd79394f7652] * src/doveadm/doveadm-director.c: doveadm director map: Fixed -f parameter crash [d0f032ea0aec] * src/lmtp/commands.c: lmtp: Removed FIXME comment [b3f88a516a49] * src/lmtp/client.h: lmtp: Reverted accidentally committed debug code [bbbb542f1e2d] 2010-07-16 Pascal Volk * doc/man/doveadm-director.1.in: man/doveadm-director.1: Added description of "director map"'s -f option. [26936bdd3801] 2010-07-16 Timo Sirainen * src/auth/auth-worker-server.c: auth worker: Reset lookup timeout each time a line is received for a multi-line lookup. [d13c1043096e] * src/doveadm/doveadm-director.c: doveadm director map: Added -f parameter to alternatively get a list of usernames. [2d6bac30ea75] 2010-07-15 Pascal Volk * doc/man/option-A.inc: man/option-A: Mention userdb/LDAP iterate_attrs and iterate_filter settings. [e58a270a6287] * doc/man/Makefile.am: man/Makefile: Made manpages depend on includes. [dc670a1914b7] 2010-07-15 Timo Sirainen * src/lib/istream-file.c, src/lib/istream.h: Added i_stream_create_file() for creating istream from lazily opened file. [b7d98c5db865] 2010-07-15 Pascal Volk * doc/man/doveadm-director.1.in: man/doveadm-director.1: Added description of command "director map" [6e0a2ce2910c] 2010-07-15 Timo Sirainen * src/doveadm/doveadm-director.c: doveadm director map: Support looking up a hostname. Also fixed director remove to work properly with multiple IPs. [cd1dbde147cd] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-file.h, src/lib-storage/index/dbox-common/dbox- mail.c, src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib- storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib- storage/index/dbox-single/sdbox-sync-rebuild.c: dbox: Split dbox_file_seek() from dbox_file_get_mail_stream() [7520b31ea95b] * doc/example-config/conf.d/10-mail.conf: example-config: Added mail_temp_dir. [b6693d570960] * src/lib-storage/index/dbox-single/sdbox-storage.c: sdbox: Removed flock() check. It's not used by sdbox. [8af3e40dd614] * src/director/doveadm-connection.c, src/doveadm/doveadm-director.c: doveadm: Added "director map" command to list user -> host mappings. [4138737f41e6] * src/lda/main.c, src/lib-storage/mail-storage-settings.c, src/lib- storage/mail-storage-settings.h, src/lib-storage/mail-user.c, src /lib-storage/mail-user.h, src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp- settings.h, src/plugins/quota/quota-fs.c: Added mail_temp_dir setting, used by deliver and lmtp for creating temp mail files. [7a6cf8dae9bf] 2010-07-14 Timo Sirainen * doc/man/doveadm-altmove.1.in, doc/man/doveadm-dump.1.in, doc/man /doveadm-force-resync.1.in, doc/man/doveadm-user.1.in: man: Also renamed "dbox" to "sdbox" [0d16970d9df3] * configure.in, src/lib-storage/index/dbox-single/sdbox-storage.c, src /lib-storage/index/dbox-single/sdbox-storage.h, src/lib- storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib- storage/index/dbox-single/sdbox-sync.c: Renamed "dbox" to "sdbox". Keep also dbox as an alias for it. [76ee1fa16012] * src/director/notify-connection.c: director: Log an error if read() fails for notify fifo [8fed05799c00] * src/master/service-listen.c: master: Open FIFO listeners as RDWR, so if the last writer goes away we won't get EOFs. [510b627687f8] * src/login-common/login-proxy-state.c: login proxy: Set notify fd nonblocking. [65cda5124e99] * src/director/director-connection.c: director: Fixed handling HOST-FLUSH commands. [9e41df232dd6] * src/doveadm/doveadm-director.c: doveadm director flush: Fixed giving correct usage. [75441abd8d6f] * src/lib-lda/mail-deliver.c: lib-lda: If FROM envelope is known, tell about it to lib-storage when saving mail [8af852eb3277] * src/lib-storage/index/mbox/mbox-save.c: mbox: Write empty From_-line envelope as MAILER-DAEMON [14ac329dcba1] * src/lib-storage/index/mbox/mbox-save.c: mbox: When generating envelope to From_-line, don't append a second @owndomain if username already has one. [c34681558f46] 2010-07-13 Timo Sirainen * src/imap/cmd-list.c: imap: Fixed checking if list=children namespace has children. [3972e896865d] * src/util/rawlog.c: rawlog: Don't steal -options from the program that's going to be run. [14132e025946] * doc/solr-schema.xml: solr-schema: Removed all references to unused "any" field. [3e70abe7ee36] 2010-07-13 Pascal Volk * doc/man/option-A.inc: man: Use pkgsysconfdir instead of sysconfdir also in included files. [9ffa8d9a2ee3] 2010-07-12 Timo Sirainen * src/auth/auth-client-connection.c: auth: Changed "new auth connection" debug message [ba450b2dcffa] * src/imap/cmd-list.c, src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/mailbox-list.h: lib-storage: Show "foo/" style replies only for IMAP LIST command. Internally those replies just mess up things. [9ccfbed9c570] * src/lib-storage/index/dbox-common/dbox-file.c: dbox: Added a sanity check so that too small dbox files won't be appended to. [0a2dc81ed513] * src/dsync/dsync-brain.c, src/dsync/dsync-worker.c: dsync: Don't give errors when doing a remote sync and there are no changes. [5e285530914c] * src/dsync/dsync-proxy-client.c: dsync: Added assert [fa883e27a6de] * src/dsync/dsync-proxy-client.c: dsync: Log an error if dsync server sends invalid reply for FINISH. [95de0b0b6171] * src/doveadm/doveadm.c: doveadm: Give a better error message if we can guess that unknown command is due to unloaded plugin. [490500f0c09b] * src/lib-storage/list/mailbox-list-delete.c, src/lib-storage/list /mailbox-list-fs.c, src/lib/unlink-directory.c: Handle rmdir() failing with EEXIST the same as failing with ENOTEMPTY. This is allowed by POSIX, and at least Solaris does that. [6ebe8d8fd1fd] * src/dsync/dsync-worker-local.c: dsync: Added a comment. [30317b89b101] * doc/man/Makefile.am, doc/man/doveadm-altmove.1.in, doc/man/doveadm- auth.1.in, doc/man/doveadm-director.1.in, doc/man/doveadm-kick.1.in, doc/man/doveadm-log.1.in, doc/man/doveadm-penalty.1.in, doc/man /doveadm-quota.1.in, doc/man/doveadm-user.1.in, doc/man/doveadm- who.1.in, doc/man/doveadm.1.in, doc/man/doveconf.1.in, doc/man /dovecot-lda.1.in, doc/man/dovecot.1.in, doc/man/dsync.1.in, doc/man/sed.sh: man: Use pkgsysconfdir instead of explicit sysconfdir/dovecot [a2bbd6c3624a] * doc/example-config/Makefile.am: doc Makefile: Define and use pkgsysconfdir instead of dovecotconfdir [ca5cea0c614a] 2010-07-12 Pascal Volk * doc/man/doveadm-director.1.in, doc/man/doveadm-penalty.1.in, doc/man /doveadm-who.1.in: man/doveadm-{who,penalty,director}.1: Added -a host:port description. [e546af72d6bb] 2010-07-12 Timo Sirainen * src/doveadm/doveadm-director.c, src/doveadm/doveadm-penalty.c, src/doveadm/doveadm-who.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm director/penalty/who: Support also communicating via TCP sockets. [16db2af2b831] * src/lib/network.c, src/lib/network.h: liblib: Added net_connect_ip_blocking(). [5ea9394b5ced] * src/doveadm/doveadm-director.c: doveadm director status: "users" column header was wrong. [24e92489d7b7] 2010-07-11 Timo Sirainen * src/doveadm/doveadm-director.c: doveadm director status: Print output using the print API, not printf. [243e01c2d7ba] * src/lib-storage/list/mailbox-list-fs-iter.c: layout=fs: Fixed checking if pattern was valid with hierarchy separator wasn't the default '/' For example if separator was ';', which the code internally converted to '/', it would have been possible to try to list e.g. ";*", which could have been translated to "/*". Luckily this wasn't actually working, but it could have caused other broken replies and possibly some problems with ACL plugin. [fec7013c628b] * src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail- expunge.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm- mail-list-iter.c, src/doveadm/doveadm-mail-mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail- search.c, src/dsync/dsync-worker-local.c, src/imap/cmd-list.c, src /lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib- storage/index/shared/shared-list.c, src/lib-storage/list/mailbox- list-fs-iter.c, src/lib-storage/list/mailbox-list-maildir-iter.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-storage /mailbox-list.c, src/lib-storage/mailbox-list.h, src/plugins/acl /acl-backend-vfile-acllist.c, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-shared-storage.c, src/plugins/listescape /listescape-plugin.c, src/plugins/quota/quota-count.c, src/plugins/quota/quota-maildir.c, src/plugins/virtual/virtual- config.c: lib-storage: Removed code related to listing mailboxes with non- virtual names. The non-virtual listing code would have already crashed with assert. [b25a30644e68] * src/plugins/acl/acl-mailbox-list.c: acl: Fixed crashing on FS layout with non-default hierarchy separator. [54807112d1d6] * src/lib-storage/index/index-fetch.c: lib-storage: mailbox_get_expunges() didn't return any expunges if modseq was too low. This fixes problems with dsync creating back expunged messages. [486754f4f2ea] * src/dsync/test-dsync-brain.c: dsync: Fixed unit tests [cd4db940dcbf] * src/dsync/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync.c, src/dsync/test-dsync-brain.c: dsync: Fixed brain unit test not to crash at deinit. [fd33ccbf235e] * Merge heads [d2b09976c704] 2010-07-10 Timo Sirainen * src/lib/process-title.c: process_title_init(): Don't assert-crash with empty environment. [77f244924009] * Branch merging.. Something weird's going on. [068c54732c96] * src/dsync/dsync-proxy-client.c: dsync: Fixed a potential hang with remote syncing. [67445c0f55c0] 2010-07-10 Pascal Volk * doc/man/Makefile.am: man/Makefile: Eliminated $< and $@. [96baed198b27] 2010-07-10 Timo Sirainen * src/dsync/dsync-brain-msgs-new.c: dsync: Fixed accidentally committed broken code (also in default branch now) [94c5bfb31951] * Another try at closing HEAD branch, which accidentally opened with last commit.. [7dd7adba1c9e] * src/dsync/dsync-brain-msgs-new.c: dsync: Fixed accidentally committed broken code. [3613b4d996ba] * Closing HEAD branch. [bac0353c53c4] * src/lib/process-title.c: Make static analyzer happier. [def45252ab48] * src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c, src/dsync/dsync-worker-local.c: dsync: Fixed flushing asserts [d9d1272d99b7] * src/dsync/dsync.c: dsync: Fixed giving dsync command as a path to a binary without parameters. [1f9080e9a530] * src/lda/main.c: lda: Don't set mail_full_filesystem_access=yes internally. It's not necessary. Also it probably wasn't even working. [f93507788bc3] * src/dsync/dsync-worker-local.c: dsync: Added extra assert [06e4a422aa91] * src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.h, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker-private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h, src/dsync/test- dsync-worker.c: dsync: Fixed assert-crashing when messages couldn't be sent fast enough to remote [56cf4f6261dd] 2010-07-09 Timo Sirainen * .hgsigs: Added signature for changeset fd0497f5a496 [02447bd723e8] * .hgtags: Added tag 2.0.rc2 for changeset fd0497f5a496 [b6821e44bed8] * NEWS, configure.in: Released v2.0.rc2. [fd0497f5a496] [2.0.rc2] 2010-07-09 Pascal Volk * doc/man/Makefile.am: man/Makefile: Made targets more explicit to fix building with some versions make. [c1f72627d246] 2010-07-09 Timo Sirainen * doc/man/doveadm-search-query.7: man: Updated HEADER explanation in doveadm-search-query.7 [531ad5c449d1] * TODO: TODO updated. [23daee5d8496] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-file.h, src/lib-storage/index/dbox-single/sdbox- file.c, src/lib-storage/index/dbox-single/sdbox-file.h, src/lib- storage/index/dbox-single/sdbox-sync.c: dbox: dbox_file_move() was used by only single-dbox, so moved it there. [8ec35eb6d7b3] * src/dsync/dsync-brain.c, src/dsync/dsync-proxy.c: dsync: Fixed creating mailboxes with remote dsync. [0ece958ef45b] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail-user.c: Increased some initial mempool sizes. [065ff4f1c504] 2010-07-08 Timo Sirainen * src/dsync/Makefile.am: dsync: Fixed loading virtual plugin when compiled --without-shared- libs [ba60cc0b58df] * src/plugins/virtual/virtual-storage.h, src/plugins/virtual/virtual- sync.c: virtual: If non-matching messages weren't expunged within same session, they never got expunged. [00a7d6624657] * src/director/mail-host.c: director: director_mail_servers setting can now contain host names. [065c414a5c07] * src/director/director-connection.c: director: Avoid "Received SYNC while already synced" error. [2060d3d08702] * src/director/director-connection.c, src/director/director- connection.h, src/director/director.c: director: Make sure all director connections are deinitialized at exit. [ea4701f11668] * src/lib/mountpoint.c: mountpoint_get()+Solaris: Reset mnttab before each lookup. Patch by Juergen Obermann [5113bada22b2] * src/plugins/quota/quota-fs.c: quota-fs: With mail_debug=yes, log also additional mount points that are added. Based on patch by Juergen Obermann. [4db139722e4f] 2010-07-07 Timo Sirainen * src/doveadm/doveadm.c: doveadm: With GLIBC allow subcommand -options to be anywhere in command line. [dcd740f453a4] * src/doveadm/doveadm-mail.c: doveadm: Changed "user doesn't exist" error message. [bff3789b8953] * src/lib-storage/index/index-storage.c, src/lib-storage/index/index- storage.h, src/lib-storage/mailbox-list-private.h, src/lib-storage /mailbox-list.c: lib-storage: Make sure index directory is created early enough for mailbox.log For example if subscriptions were added before any mailbox was opened, the index dir may not have been created yet. [6571b3a9c44f] * src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index /dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox- storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-sync.c: mdbox: Storage rebuild changes weren't actually being committed to disk. [668e810e6578] * src/lib-storage/mail-storage-service.c: mail-storage-service: Initialize logging with proper settings a bit earlier. [b0e0d4537496] * src/lib-storage/mail-storage-service.c, src/plugins/imap-acl/imap- acl-plugin.c, src/plugins/imap-acl/imap-acl-plugin.h, src/plugins /imap-quota/imap-quota-plugin.c, src/plugins/imap-quota/imap-quota- plugin.h, src/plugins/imap-zlib/imap-zlib-plugin.c, src/plugins /imap-zlib/imap-zlib-plugin.h: imap plugins now give a nicer error if tried to be loaded for non- imap binary. [c53fb625b07e] * src/lib/module-dir.c, src/lib/module-dir.h: module_dir_load(): Added support for checking binary name dependency. [10ff5c7e7f40] * src/auth/auth-master-connection.c: auth: Add "user" field to all PASS lookup replies. [4db258f7ce91] * src/dsync/test-dsync-brain.c: dsync: Another unit test fix. [7ebbd6925c41] * src/dsync/test-dsync-brain.c: dsync: Fixed unit test to not access freed memory. [056c3240a912] * src/plugins/fts-solr/fts-backend-solr.c: fts-solr: Compiling fix. Patch by nareshov. [912a11f476cc] 2010-07-06 Timo Sirainen * src/dsync/dsync.c: dsync: Refuse to run if we detect virtual hierarchy separators differ for mail locations. The real separators can differ, but to work properly there must be a default namespace with a separator defined. [cd0d3392366e] * src/plugins/zlib/istream-zlib.c: istream zlib: Change "unexpected EOF" errno from EINVAL to EPIPE. This should give at least a bit nicer logout reasons when imap-zlib is used and connection is closed. [ab2670833cb7] * src/lib-index/mail-index-transaction-finish.c: lib-index: Crashfix in some cases when flags unexpectedly weren't changed [962c9144a31d] * src/imap/cmd-list.c, src/lib-lda/mail-deliver.c, src/lib- storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib- storage/index/index-storage.c, src/lib-storage/index/maildir /maildir-storage.c, src/lib-storage/index/mbox/mbox-lock.c, src/lib- storage/index/mbox/mbox-storage.c, src/lib-storage/index/shared /shared-storage.c, src/lib-storage/list/mailbox-list-delete.c, src /lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list /mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir- iter.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-storage /mail-namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage /mail-storage-private.h, src/lib-storage/mail-storage.c, src/lib- storage/mailbox-list.c, src/plugins/acl/acl-mailbox-list.c, src/plugins/fts/fts-storage.c, src/plugins/listescape/listescape- plugin.c, src/plugins/quota/quota-maildir.c: Fixes to INBOX sharing. NAMESPACE_FLAG_INBOX was split to two flags: _FLAG_INBOX_USER (this namespace has the user's own INBOX) and _FLAG_INBOX_ANY (namespace has INBOX, either user's own or another user's). [07353259bb41] * src/lib-settings/settings-parser.c: lib-settings: settings_parse_unalias() crashed if given strlist key. [c52acd672735] * src/lib-index/mail-index-sync-update.c: lib-index: Minor code cleanup / commenting. [0ffb55c4d323] * src/lib-storage/mail-search-register-imap.c: lib-storage: Don't crash if invalid parameter is given to SEARCH OLDER. [b9a5ad0324c8] 2010-07-05 Timo Sirainen * src/dsync/dsync.c: dsync: Log "changes caused a desync" as a warning, not as verbose info. [2f290e28283a] * src/lib-master/master-service.c: lib-master: Removed -s parameter handler. It existed only for kind- of-compatibility between Postfix master. If someone actually wants such compatibility, a wrapper script would work too. [5738c65ad037] * src/dsync/dsync-brain.c, src/dsync/dsync-worker-local.c, src/dsync /dsync-worker-private.h, src/dsync/dsync-worker.c, src/dsync/dsync- worker.h, src/dsync/dsync.c: dsync: If verbosity is enabled, log why desyncing was caused. [ba9f33f9c6c3] * src/dsync/dsync-worker-local.c: dsync: Detect duplicate mailbox GUIDs and fail if it happens. [529e85c548a9] * src/config/old-set-parser.c: config: v1.x parser failed with some settings if pigeonhole wasn't installed. [8f6703ce6528] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox rebuild: Fixed looking up original mailbox name for mails. [d464e23e357c] * src/plugins/quota/quota-fs.c: quota-fs/rquota: If soft limit is zero, fallback to returning hard limits. [ec62342fa241] * src/plugins/quota/quota-fs.c: quota-fs: Added support for NFSv4 rquota. Based on patch by Martin Schanzenbach, which also borrowed comment from linuxquota. [4f4096096364] * src/plugins/quota/quota-fs.c: quota-fs: Removed rq_active check from rquota usage. Apparently it's not set by all implementations, and other tools also ignore it. If it actually is necessary in some systems, this could be added back and enabled optionally. [c187993c96f2] * src/dsync/dsync-brain.c: dsync backup: Fail if it looks like backup is running in wrong direction. [42dfcf9c896b] * src/dsync/dsync-brain-msgs.c: dsync: If msg iteration fails, don't crash. [18bebc4faa6b] * src/lib/module-dir.c: module_dir_load(): Don't crash with "" plugin list. Patch by Stephan Bosch. [bc35bf7f7502] 2010-07-03 Timo Sirainen * dovecot-config.in.in: dovecot-config: Don't include iconv in LIBDOVECOT_DEPS [4a4f7add34d9] * doc/man/Makefile.am: Makefile: Include dovecot-config.1 in distribution. [019aae896f03] 2010-07-02 Pascal Volk * doc/dovecot-initd.sh: doc/dovecot-initd.sh: Updated base_dir detection. [9b9d6a596688] 2010-07-02 Timo Sirainen * doc/man/Makefile.am, doc/man/doveadm-config.1, src/doveadm/Makefile.am, src/doveadm/doveadm.c: doveadm config is now alias for doveconf. [c1546ed8ddb6] * .hgsigs: Added signature for changeset d4d6ebad3d33 [44be8496bc19] * .hgtags: Added tag 2.0.rc1 for changeset d4d6ebad3d33 [e3e837b088ba] * NEWS, configure.in: Released v2.0.rc1. [d4d6ebad3d33] [2.0.rc1] * src/director/director-test.c: director-test: Make static analyzer happy. [11472e64ea7d] * autogen.sh: autogen.sh: Use wiki2-export for docs for now. [3d737e1ed65e] * src/lib/module-dir.c: module_dir_load(): Ignore duplicates in module names. [e586c030e430] * doc/example-config/conf.d/10-director.conf, src/director/login- connection.c, src/director/login-connection.h, src/director/main.c: director: Added support for LMTP proxying. [1683324ac632] 2010-07-02 Pascal Volk * doc/man/dsync.1.in: man: dsync.1: Added link to "dsync design". [eaa42f370481] 2010-07-02 Timo Sirainen * src/config/old-set-parser.c: config: Fixed converting some managesieve settings. [c83071fc50e6] * doc/man/doveadm.1.in: man: Updated doveadm exit status info. [79db41b9e1a0] * src/config/old-set-parser.c: config: Handle protocols=managesieve as protocols=sieve [4cec50afed94] * src/lib-storage/list/mailbox-list-fs.c: mbox: Support deleting a directory if it contains an empty .imap/ directory. [737ee10e8104] * src/lib/module-dir.c: openbsd: Hide errors written by dlopen() if we wanted to ignore them. doveadm loads all plugins at startup that it can. It shouldn't be printing unnecessary error messages to stderr. [d52e9033c3bf] * src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib- storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index /index-storage.c: lib-storage: When mailbox_update() sets highest-modseq, make sure modseqs are enabled. [3f9435c616e4] * src/dsync/dsync-brain-msgs-new.c: dsync: Removed the new message counter. It wasn't working very well. Especiall with remote connections it went quickly through, even though it could still take minutes to actually transfer all the data. [8384ba48ecf6] 2010-07-02 Pascal Volk * doc/man/dovecot.1.in, doc/man/dsync.1.in: man: dovecot.1: Added AUTHOR section. dsync.1: Indented lists in EXAMPLE section. Added missing escape. [a34f5f7b17a2] 2010-07-02 Timo Sirainen * Makefile.am: Makefile: Stop generated ChangeLog at v1.2.rc1. If someone wants full history, they can get it from hg. [0ca72121aa46] 2010-07-01 Timo Sirainen * src/doveadm/doveadm.c: doveadm help: Fixed crash. [4dd679310f12] * doc/man/dsync.1.in: man: Fixed previous dsync man page commit [2162b9082283] 2010-07-01 Pascal Volk * doc/man/doveadm.1.in: man/doveadm.1: Typo fix. [3ae1c14a8c06] 2010-07-01 Timo Sirainen * doc/man/dsync.1.in: man: dsync man page updated. [2676d86d3286] * dovecot.m4: dovecot.m4: Added LIBDOVECOT_CONFIG_INCLUDE [211aa7bab239] * src/dsync/dsync-proxy.c: dsync: More fixes to parsing proxied mailbox deletion records. [2996ff9d2779] * .hgignore: Removed old binaries from .hgignore [9605c74b1f19] * src/dsync/test-dsync-proxy-server-cmd.c: dsync: Fixed unit test. [e0c52292b586] * src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c: dsync: Fixed proxying protocol to handle sending deleted mailboxes without failing. [54c3d17a4038] * src/dsync/dsync-proxy.c: dsync: Fixed assert-crashing on exporting a "deleted mailbox" record to proxy. [d701f254ca4e] * src/dsync/dsync-brain-msgs-new.c: dsync: Fixed assert-crash with remote syncing. [be38abc90df3] * src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index /dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox- save.c: mdbox: If one save fails, but others succeed, don't assert-crash at commit. [3bc1cef3ac4c] * doc/man/doveadm-dump.1.in, doc/man/doveadm-purge.1.in, doc/man /doveadm-pw.1.in, doc/man/dsync.1.in: man pages: Use wiki2.dovecot.org links until wiki2 becomes the default. [245cd41837ff] * src/dsync/dsync.c: dsync: Removed -r parameter. dsync backup should be used instead. [b8a74b3fb16d] * src/dsync/dsync-brain-msgs-new.c: dsync -v: Make sure the n/m message counter is flushed to stdout. [3c7d3258ac1d] * src/dsync/dsync-brain.c: dsync: Changed verbose "xx changed" messages to be clearer what they mean. [b94e6bf6b9c9] * src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c: dsync: When -v parameter is given, show progress counter of saving new messages. [b37c85676f8e] * src/dsync/dsync-brain-msgs-new.c: dsync: Fixes to handling copying. [cfee7da47bf0] * src/plugins/quota/quota-fs.c: quota-fs: Compiler warning fix on some OSes. [c27e9a035b67] * src/dsync/dsync-brain.c: dsync: Potential crashfix, plus some compiler warning fixes. [9798d57644ba] * TODO: TODO updated [148fccbe9f32] * src/dsync/dsync.c: dsync backup: Added -R parameter to reverse backup direction. [c36dbec5cb9f] * src/dsync/dsync-brain.c, src/dsync/dsync-data.h, src/dsync/dsync- proxy.c, src/dsync/dsync-worker-local.c, src/dsync/test-dsync- brain.c, src/dsync/test-dsync-proxy-server-cmd.c: dsync: Find changed mailboxes also based on number of messages in them. [28639e01a479] * src/dsync/dsync-brain.c: dsync: Another try at not increasing mailbox uidnext/highestmodseq on failure [49b226835cd2] * src/lib-storage/list/mailbox-list-delete.c, src/lib-storage/list /mailbox-list-delete.h, src/lib-storage/list/mailbox-list-fs.c: lib-storage: When renaming a mailbox, make sure any unnecessary directories get deleted. [f4b809b83a13] * src/lib-storage/list/mailbox-list-fs.c: lib-storage: MAILBOX_LIST_PATH_TYPE_ALT_DIR path lookups weren't returning NULL with non-dbox. [636fb64394a5] * src/dsync/dsync-brain.c: dsync: If dsync fails in any way, don't increase mailboxes' next_uid/highestmodseq. [b4f029f7793a] * src/dsync/dsync-brain-msgs.c, src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync.c: dsync: Added backup command, which syncs source to destination, discarding any changes in dest. It doesn't work perfectly in all situations. Especially if destination had saved/expunged mails in INBOX, dsync can't resolve it. For non-INBOXes it deletes the mailbox and fails a bit later, so that the next dsync can do a full resync for the mailbox. [cf7f6912af02] * src/dsync/dsync-worker-local.c: dsync: Log an error if saving mail fails (e.g. because of quota) [f319af83ae36] * src/lib-storage/index/dbox-single/sdbox-save.c: single-dbox: Also some error handling fixing. [220e7b0f03c2] * src/lib-storage/index/dbox-multi/mdbox-save.c: mdbox: More error handling fixing. [7bd8464ef333] * src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index /dbox-multi/mdbox-save.c: mdbox: Error handling fixes. [16e0992583e2] * src/master/service-process.c: master: Compile fix for non-Linux OSes [451852aa0200] * src/config/old-set-parser.c: config: Rename protocol managesieve {} to protocol sieve {} [7d418cc60853] * src/dsync/test-dsync-brain-msgs.c: dsync: Fixed unit test to work again. [6ef22459c39f] 2010-06-30 Timo Sirainen * src/dsync/dsync.c: dsync mirror: If arg has '/', assume it's a script. [26faf8ae5024] * src/dsync/dsync.c: dsync: Merged convert and mirror commands, parameter autodetection figures out what to do. [78b4cf49d3cd] * src/master/service-process.c: master: Improved core dump error messages. [e350532d8ce0] * src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-sync- update.c, src/lib-index/mail-index-transaction-export.c, src/lib- index/mail-index-transaction-finish.c, src/lib-index/mail-index- transaction-private.h, src/lib-index/mail-index-transaction- update.c, src/lib-index/mail-index.h, src/lib-index/mail- transaction-log-file.c, src/lib-index/mail-transaction-log.h, src /lib-index/test-mail-index-transaction-finish.c, src/lib-index/test- mail-index-transaction-update.c, src/lib-storage/index/cydir/cydir- mail.c, src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib- storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox- single/sdbox-mail.c, src/lib-storage/index/index-mail.c, src/lib- storage/index/index-mail.h, src/lib-storage/index/index- transaction.c, src/lib-storage/index/maildir/maildir-mail.c, src /lib-storage/index/maildir/maildir-save.c, src/lib- storage/index/maildir/maildir-storage.h, src/lib-storage/index/mbox /mbox-mail.c, src/lib-storage/index/raw/raw-mail.c, src/lib-storage /mail-storage-private.h, src/lib-storage/mail-storage.h, src/lib- storage/mail.c, src/lib-storage/test-mail.c, src/plugins/virtual /virtual-mail.c: Removed mail_update_uid() / mail_index_update_uid(). It was working properly only with mdbox and there wasn't really a need for it. [b265dee142a6] * src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-brain-msgs.c, src/dsync/dsync-brain-private.h, src/dsync/dsync-worker-local.c, src/dsync/test-dsync-brain.c: dsync: Rewrote copying and uid conflict resolution code. Added tons of comments. The uid conflict resolution is now done using copy+expunge, without needing a special "change uid" feature from lib-storage. [372af44dca85] * src/plugins/quota/quota.c: quota: With mail_debug=yes, show the non-default rule bytes/messages with "+" prefix. [b09638ebb87d] * src/doveadm/doveadm.c: doveadm help: Don't read settings (doveconf seems to mess up terminal) [8468998b98ab] 2010-06-30 Pascal Volk * src/imap/main.c, src/pop3/main.c: imap, pop3: Added an assert to client_connected(). [1799fbbd104b] 2010-06-30 Timo Sirainen * src/doveadm/Makefile.am, src/doveadm/doveadm.c: doveadm help: Show man pages instead of small usage strings. [b07bb05789cf] 2010-06-29 Timo Sirainen * src/lib-index/mail-index-sync-update.c: lib-index: Added a missing error logging. [3156315704ef] * src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib- storage/index/dbox-single/sdbox-storage.h, src/lib-storage/index /dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single /sdbox-sync.c, src/lib-storage/index/dbox-single/sdbox-sync.h: single-dbox: Fixed broken mailbox handling. [9d9be6aa3a55] * src/lib-storage/index/dbox-single/Makefile.am, src/lib-storage/index /dbox-single/sdbox-sync-file.c, src/lib-storage/index/dbox-single /sdbox-sync.c, src/lib-storage/index/dbox-single/sdbox-sync.h: single-dbox: Simplified syncing code. [4e5032891954] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-single/sdbox-sync-file.c: single-dbox: Fixed moving mails to alt storage. [a195689c4d38] * src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-mail-iter.h: doveadm altmove: Sync all mailboxes after moving mails. [077fb09819e2] * src/lib-sql/driver-pgsql.c: pgsql: Fixes for errors handling with synchronous sql queries. [2167bea550e1] 2010-06-29 Pascal Volk * doc/example-config/dovecot.conf: example-config: Mention `doveconf -n` instead of `dovecot -n` [8c52ebde02a6] 2010-06-28 Timo Sirainen * src/lib-storage/index/dbox-common/dbox-storage.c, src/lib- storage/index/dbox-common/dbox-storage.h, src/lib-storage/index /dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single /sdbox-storage.c, src/lib-storage/list/mailbox-list-fs.c: [m]dbox: If alt-dir exists for a mailbox while trying to create it, rebuild mailbox indexes. This makes sure that if there are any mails in the alt-dir, they become visible rather than be overwritten. [ad122febbf26] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: Don't fail storage rebuild just because storage/ directory doesn't exist. It may be an account for a new user that doesn't yet have any mails. [243166e7dd2d] * src/lib-storage/index/index-mail.c, src/lib-storage/index/maildir /maildir-mail.c, src/plugins/zlib/zlib-plugin.c: lib-storage: Use mail->saving, not mail->uid==0 to check if mail is being saved. The uid may be non-zero when saving with dsync. [267ad2b32276] * doc/example-config/Makefile.am: example-config: Don't include README file in distribution tarball. [6cce8b2a9121] 2010-06-28 Pascal Volk * doc/example-config/conf.d/Makefile.am: example-config: Added missing config files to the Makefile. [de800a774943] 2010-06-28 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-map-private.h, src/lib- storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox- multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index /dbox-multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox- multi/mdbox-storage-rebuild.h, src/lib-storage/index/dbox-multi /mdbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-sync.c, src /lib-storage/index/dbox-multi/mdbox-sync.h: mdbox: Modified map locking behavior to avoid deadlocks when rebuilding storage. If both mailbox and map index need to be locked, the map index must now be locked first. Mailbox syncing optimistically tries to first sync without map locking, but if it sees expunges, it restarts with the map lock. The map lock is held now slightly longer during sync than before, but it shouldn't be noticeable. [612df9b3df83] * src/lib-index/mail-index-sync.c, src/lib-index/mail-index.h: lib-index: Added mail_index_sync_has_expunges() [b2aca3e50f44] * src/imap/imap-client.c, src/pop3/pop3-client.c: imap, pop3: Forced disconnection of client didn't always close connection immediately. [f4238836c566] 2010-06-28 Pascal Volk * .hgignore, Makefile.am, configure.in, doc/Makefile.am, doc/man/Makefile.am, doc/man/deliver.1, doc/man/doveadm- altmove.1.in, doc/man/doveadm-auth.1.in, doc/man/doveadm- director.1.in, doc/man/doveadm-dump.1.in, doc/man/doveadm- expunge.1.in, doc/man/doveadm-fetch.1.in, doc/man/doveadm-force- resync.1.in, doc/man/doveadm-help.1.in, doc/man/doveadm-kick.1.in, doc/man/doveadm-log.1.in, doc/man/doveadm-mailbox.1.in, doc/man /doveadm-penalty.1.in, doc/man/doveadm-purge.1.in, doc/man/doveadm- pw.1.in, doc/man/doveadm-quota.1.in, doc/man/doveadm-reload.1, doc/man/doveadm-search-query.7, doc/man/doveadm-search.1.in, doc/man /doveadm-stop.1, doc/man/doveadm-user.1.in, doc/man/doveadm- who.1.in, doc/man/doveadm.1.in, doc/man/doveconf.1.in, doc/man /dovecot-lda.1.in, doc/man/dovecot.1.in, doc/man/dsync.1.in, doc/man /global-options-formatter.inc, doc/man/global-options.inc, doc/man/option-A.inc, doc/man/option-u-user.inc, doc/man/reporting- bugs.inc, doc/man/sed.sh: doc: added manual pages [be2b7d2901a0] 2010-06-28 Timo Sirainen * dovecot-config.in.in: dovecot-config: Added LIBDOVECOT_CONFIG_INCLUDE [9be162cc2c52] * src/master/service-monitor.c: master: Most service processes were being idle-killed much too quickly. [59c952713e94] * src/plugins/quota/quota.c: quota: Fixed a potential crash with dict quota at deinit. [3de690764509] * src/dict/main.c: dict: Unregister modules after unregistering dict drivers. Fixes a crash at deinit when sql drivers were built as plugins. [a1daaaa5d1f5] 2010-06-27 Pascal Volk * doc/auth-protocol.txt: doc/auth-protocol.txt: fixed encoding failure. [c4194f5e3934] 2010-06-25 Timo Sirainen * doc/example-config/conf.d/10-auth.conf, doc/example- config/dovecot.conf: example-config: Moved disable_plaintext_auth to 10-auth.conf [5326d6b2f36e] * src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h: lib-lda: Added mail_deliver_save_open() for merging code with sieve. [c8b6dd6d86d1] * src/lib-sql/sql-db-cache.c: sql cache: Free all unused connections at deinit. [9086b081c339] * src/lib-index/mail-transaction-log.c: lib-index: fsync change broke .newlock dotlock for transaction log. [9127a9f4a020] * doc/example-config/conf.d/10-mail.conf, src/config/old-set-parser.c, src/config/settings-get.pl, src/lib-index/mail-cache-compress.c, src /lib-index/mail-cache-transaction.c, src/lib-index/mail-cache.c, src /lib-index/mail-index-private.h, src/lib-index/mail-index-write.c, src/lib-index/mail-index.c, src/lib-index/mail-index.h, src/lib- index/mail-transaction-log-append.c, src/lib-index/mail-transaction- log-file.c, src/lib-index/mail-transaction-log-private.h, src/lib- index/mail-transaction-log.c, src/lib-index/mailbox-list-index- sync.c, src/lib-index/mailbox-list-index.c, src/lib- storage/index/cydir/cydir-save.c, src/lib-storage/index/cydir/cydir- storage.c, src/lib-storage/index/dbox-common/dbox-file.c, src/lib- storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox- multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox- storage.c, src/lib-storage/index/dbox-single/sdbox-save.c, src/lib- storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index /index-storage.c, src/lib-storage/index/maildir/maildir-save.c, src /lib-storage/index/maildir/maildir-uidlist.c, src/lib- storage/index/mbox/mbox-save.c, src/lib-storage/mail-storage- settings.c, src/lib-storage/mail-storage-settings.h, src/lib/Makefile.am, src/lib/fsync-mode.h: Renamed fsync_disable to mail_fsync=optimized|always|never. [7f19062f58fd] * src/lib-storage/mail-user.c: lib-storage: Call settings_check() after duplicating settings struct. Fixes lock_method setting. lock_method was always ignored and the default fcntl was used. [0dc6f14c271d] * src/lib-settings/settings-parser.c: lib-settings: settings_check() now also checks dynamic parsers. [8d76b2cef0b5] * src/anvil/anvil-settings.c, src/auth/auth-settings.c, src/config /config-settings.c, src/dict/dict-settings.c, src/director/director- settings.c, src/dns/dns-client-settings.c, src/imap-login/imap- login-settings.c, src/imap/imap-settings.c, src/lib-master/service- settings.h, src/lmtp/lmtp-settings.c, src/log/log-settings.c, src/master/master-settings.c, src/master/master-settings.h, src/master/service-monitor.c, src/master/service.c, src/master/service.h, src/pop3-login/pop3-login-settings.c, src/pop3/pop3-settings.c, src/ssl-params/ssl-params-settings.c, src/util/tcpwrap-settings.c: Added support for per-service idle kill timeout. Director and anvil services are by default never killed. This also fixes the errors about idling director process not dying. [d41694c931d0] 2010-06-24 Timo Sirainen * src/lib-storage/index/shared/shared-storage.c: lib-storage: Shared namespaces shouldn't have NAMESPACE_FLAG_INBOX set. There is only one namespace with INBOX. [c9a62b0d9d36] * src/director/auth-connection.c, src/director/auth-connection.h, src/director/director-connection.c, src/director/director- connection.h, src/director/director-host.h, src/director/director- request.c, src/director/director-test.c, src/director/director- test.sh, src/director/director.c, src/director/director.h, src/director/doveadm-connection.c, src/director/main.c: director: Lots of fixes. It should be pretty stable now. [a07aa85f68c9] * src/config/config-parser-private.h, src/config/config-parser.c: config: Added hook_config_parser_begin so plugins can change default settings. [7885030184ab] * src/config/Makefile.am: config: Install all useful config*.h files. [661b2138cb7b] * src/lib-master/master-service.c: lib-master: MASTER_SERVICE_FLAG_NO_IDLE_DIE wasn't actually working. [c9e8144974f1] * src/director/main.c: director: Compiling fix for Solaris. [c5e78bd1d758] 2010-06-23 Timo Sirainen * src/lmtp/client.h, src/lmtp/commands.c: lmtp: BODY=* setting wasn't reset with RSET [c237fcea3f0c] * src/doveadm/doveadm-dump-index.c, src/lib-index/mail-cache.c, src /lib-index/mail-index-lock.c, src/lib-index/mail-index-private.h, src/lib-index/mail-index-strmap.c, src/lib-index/mail-index.c, src /lib-index/mail-index.h, src/lib-index/mail-transaction-log-file.c, src/lib-index/mail-transaction-log.c, src/lib-storage/index/dbox- common/dbox-sync-rebuild.c, src/lib-storage/index/dbox-multi/mdbox- map.c, src/lib-storage/index/index-storage.c, src/lib- storage/index/maildir/maildir-keywords.c, src/lib- storage/index/maildir/maildir-uidlist.c, src/lib-storage/index/mbox /mbox-lock.c, src/lib-storage/list/index-mailbox-list.c, src/lib- storage/mail-storage-private.h, src/lib-storage/mail-storage- settings.c, src/lib-storage/mail-storage-settings.h, src/lib-storage /mail-storage.c: Added mail_max_lock_timeout setting. This could be useful inside lda/lmtp protocol sections to avoid them from spending too much time waiting for locks, since they can easily just return "try again later". [c3ee4421e86a] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: Fixed assert-crash on storage rebuild if file got lost. [182d1834f643] * src/lib-storage/mail-search-build.c: lib-storage: Changed error message. [1cc5486f466b] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: Storage rebuild handles now duplicate file ids (in primary+alt storage) correctly. If a duplicate file is found, it's given a new file id and the file is renamed. [b4c88ba95a6f] * src/lib-storage/index/index-mail-headers.c: lib-storage: When getting decoded headers, don't fail when MIME encoded-words expand to LFs. This fixes errors like: Corrupted index cache file dovecot.index.cache: Broken header Subject for mail UID 1 [f0e077c5c5f3] * src/plugins/quota/quota-storage.c: quota: Fixed a memory leak on deinit. Based on patch by Mike Abbott / Apple. [37df22ecd572] 2010-06-22 Timo Sirainen * src/plugins/fts-solr/fts-backend-solr.c: fts-solr: Previous change wasn't complete. [29178cec0506] * src/plugins/fts-solr/fts-backend-solr.c: fts-solr: Fixed handling indexing for multiple body parts. [776e2d96f6bb] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: Removed broken optimization from storage rebuild, possibly causing broken results. [7ad62742116d] * src/plugins/fts/fts-api-private.h, src/plugins/fts/fts-storage.c: fts: Give binary MIME part data only to FTS backends that support it. [6fca3a8622f8] * src/lib-storage/index/shared/shared-list.c: shared storage: Fixed handling LIST reference string. [86665b63c70b] * src/lib-storage/index/dbox-multi/mdbox-purge.c: mdbox: Previous change was broken, fixed now properly to make purge fail early. [754edf799dac] * src/lib-storage/index/dbox-multi/mdbox-purge.c: mdbox: When purging finds that mailbox is corrupted, stop going through other files. [be6931536ee0] * src/doveadm/doveadm-dump-index.c: doveadm dump: Detect also if directory has dovecot.map.index [280fe153a7ba] 2010-06-21 Timo Sirainen * src/doveadm/doveadm-mail.c: doveadm: Mail commands assert-crashed when using -u wildcards. [407e7ff098ca] * src/doveadm/doveadm-print-pager.c: doveadm: Minor code cleanup to print formatter. [d78370005268] * src/doveadm/doveadm-print-pager.c: doveadm: Added LF after ^L in pager so that the output is nicer to look at with "less". [15a6c64df84a] * src/doveadm/doveadm-mail-fetch.c: doveadm fetch: Removed some unnecessary code. [a3face3fd1d0] * src/doveadm/doveadm-mail-fetch.c: doveadm fetch: Write output using formatter. Use pager as default. [bc03e6443ca7] * src/doveadm/Makefile.am, src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-pager.c, src/doveadm/doveadm-print- private.h, src/doveadm/doveadm-print-tab.c, src/doveadm/doveadm- print-table.c, src/doveadm/doveadm-print.c, src/doveadm/doveadm- print.h: doveadm: Added "pager" formatter and a function to output streamed output values. [c4e906be2ca3] * src/lib-charset/charset-iconv.c: lib-charset: Don't assert-crash when iconv() skips lots of invalid input. [28cfb347296a] * src/doveadm/doveadm-mail-fetch.c: doveadm fetch hdr.*: Show the hdr.name prefix even if the header doestn't exist. [172a0c7cebbb] * src/lib-storage/mail-search-register-human.c: lib-storage: Human search parser crashed if mailbox name was missing. [52e2f3a8054f] * src/doveadm/doveadm-print.c: doveadm: Don't crash with tab formatter at deinit. [c23ca08ca085] * src/director/user-directory.c: director: Minor code cleanup. [e5730fb45680] * src/director/director-connection.c: director: Don't send expired user records to remote servers. [d3dfe9c271bc] * src/director/main.c: director: Don't kill ourself when idling. [01c148824d52] * src/lib-master/master-service.c, src/lib-master/master-service.h: lib-master: Added MASTER_SERVICE_FLAG_NO_IDLE_DIE. [11cb0e93ff32] * src/auth/auth-master-connection.c: auth: Fixed sending "userdb iteration not supported" failure to client. [585318bf974d] * src/master/main.c: master: Don't try to parse -options if they're not the first parameters. [1d5cd1d835a1] * src/plugins/virtual/virtual-config.c: virtual: Fixed a crash when freeing an allocated, but unopened mailbox. Based on patch by e-frog. [7d05cef711bb] * src/doveadm/doveadm-mail-list-iter.c, src/doveadm/doveadm-mail-list- iter.h, src/doveadm/doveadm-mail-mailbox.c: doveadm: Ignore non-selectable mailboxes for most commands. [08b879b79236] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-private.h, src/doveadm/doveadm-print- tab.c, src/doveadm/doveadm-print-table.c, src/doveadm/doveadm- print.c, src/doveadm/doveadm-print.h: doveadm: Output flushing fixes. [4e54843f11d0] * src/doveadm/doveadm-print-table.c: doveadm: Table formatter crashed with large output. [542d859f0223] 2010-06-19 Timo Sirainen * src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail-list- iter.c: doveadm: Fixed assert-crash with mailbox foo/* in all commands, not just fetch. [573cb66e9180] 2010-06-18 Timo Sirainen * src/doveadm/doveadm-mail-fetch.c: doveadm: Fixed assert-crash when listing mailbox foo/* [9a852084bbeb] * src/director/director.c: director: Debug logging crashfix. [47c1329e4e65] * src/director/director-connection.c: director: Send PINGs every 15 seconds for idling director connections. [e75dab14bb2f] * src/director/director-connection.c, src/director/director- connection.h, src/director/director-request.c, src/director/director.c, src/director/director.h, src/director /doveadm-connection.c, src/director/mail-host.c, src/director/main.c: director: A lot of fixes. [f0fb8151c6b4] * src/director/director-test.c: director-test: Some fixes [e6f15ba78007] * src/director/director-test.sh: director-test.sh: Removed absolute path from director-test executable [da7a307ab4f1] * src/director/director-test.sh: director-test: Added a script that generates test config files and other necessary info. [fb917e3a8f07] * src/director/director-connection.c: director: If same user gets redirected to two hosts, don't crash later. [ecf195115922] * src/director/director-test.c: director-test improvements. [6aa749b789ef] * src/director/director-connection.c: director: Debug message improvements. [61708c33154d] * src/lib/buffer.c: DEBUG: Removed buffer's tests against overflows. It slows down too much. [2e686a6403e3] * src/master/service.c: master: Fixed crash on deinit (maybe also on reload). [334d9b18f437] 2010-06-17 Timo Sirainen * src/imap/cmd-list.c, src/lib-storage/index/dbox-multi/mdbox-storage- rebuild.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib- storage/mailbox-list.c, src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-shared- storage.c: mailbox list iter: Require MAILBOX_LIST_ITER_VIRTUAL_NAMES flag. The backend code will be simplified later by removing two code paths for virtual/non-virtual names. [99d56a37edd0] * src/plugins/quota/quota-count.c, src/plugins/quota/quota-maildir.c: quota: Consistently assume that mailbox names in quota rules are virtual names. The previous code mixed virtual/real name lookups. [6d0b4dfc0829] * src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list /mailbox-list-maildir-iter.c: lib-storage: Fixed listing mailbox flags for subscriptions=no namespaces. [7330bb240c75] * src/lib-storage/list/mailbox-list-fs-iter.c: lib-storage: Fixed getting flags for subscribed mailboxes with non- default namespace settings. [3128f592ef5c] * .hgignore, src/director/Makefile.am, src/director/director- connection.c, src/director/director-test.c, src/director/director.c, src/director/director.h, src/director/main.c: director: Added initial testing framework and some debugging output. [659bb1a26da4] * src/director/director-connection.c, src/director/director-host.c, src/director/director-host.h: director: Handle CONNECT commands (properly). [75d5e31ea8cc] * src/director/mail-host.c: director: director_mail_servers setting now allows ip1-ip2 ranges. [870cd20ada71] * src/director/director-connection.c: director: Outgoing director connections shouldn't be counted as master clients. [467ca06a7dbe] * src/doveadm/doveadm-print.c: doveadm: Another -A crashfix for mail commands that don't print anything. [81e496a5b412] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm-print.c, src/doveadm /doveadm-print.h: doveadm: Don't crash when mail command that doesn't print anything uses -A. [c9b793187ca6] * src/doveadm/doveadm-director.c: doveadm director: Make sure write()s send everything. [744638eb4c1a] * src/imap/imap-client.c, src/lmtp/client.c, src/pop3/pop3-client.c: imap, pop3, lmtp: Close network sockets with net_disconnect(). [b2ffb6846973] * src/lib/network.c: net_disconnect(): Ignore ECONNRESET error. [c24ee1ebb159] * src/imap/cmd-uid.c: imap: UID commands could have written garbage to process title. Patch by Mike Abbott / Apple [c03424ecf8e5] 2010-06-16 Timo Sirainen * doc/example-config/conf.d/10-master.conf: example-config: Updated LMTP listeners. [9eee74e3c6c5] * doc/example-config/conf.d/10-logging.conf: example-config: Updated log_path comment to include syslog. [08523562c134] * doc/example-config/conf.d/10-master.conf: example-config: Show "user" field for service auth/auth-worker [a55da849216c] * src/doveadm/doveadm-log.c: doveadm log find: Avoid printing "syslog" as log path. [a05e3bbc4e46] * src/lib-storage/index/index-search.c: lib-storage: Fixed header searches to work correctly when there are multiple headers with same name. [3e50223d0014] * src/doveadm/doveadm-log.c, src/lib-master/master-service-settings.c, src/lib-master/master-service.c: Log paths now support "syslog" string. [3edf323da761] * src/doveadm/doveadm-log.c: doveadm log find: Find the log more reliably. [dd1f0a7127a9] * src/doveadm/doveadm-mail-mailbox-status.c: doveadm mailbox status: Added "all" field as an alias for showing everything. [33f9b211f213] * src/plugins/quota/doveadm-quota.c: doveadm quota get: Report quota percentage more accurately. The *100 can't overflow quota, since quota is reported in kilobytes. [dec8986d33ea] * src/plugins/quota/quota-dict.c: dict quota: Quota recalculation always doubled the quota with pgsql. [7a7bfdd708ff] 2010-06-15 Timo Sirainen * src/auth/main.c: auth: Fixed crash when a plugin was trying to register password scheme. [a74f743e2c56] * src/lib-storage/index/dbox-multi/mdbox-save.c: mdbox: Flush dbox file's input buffer after writing to the file. [26594f6d784a] * src/plugins/expire/doveadm-expire.c: Compile fix. [d1f7b5e17252] 2010-06-14 Timo Sirainen * src/auth/userdb-nss.c: userdb nss: Default to blocking=yes. [7b497f801178] * src/auth/mech-plain.c: auth: Fixed code comment. [d15d5d828d6b] * src/lib-storage/mailbox-list.c: lib-storage: Use macros instead of magic '0' and '1' characters. [d24cd07babb6] * src/lib-storage/mailbox-list.c: mailbox_list_get_unexpanded_path(): Don't crash if namespace location is already expanded. [6e1247609440] * src/config/doveconf.c: doveconf: Support listing multiple specified keys. Support listing specified sections. [d110c46e6936] * src/config/doveconf.c: doveconf: Config file warning check should use base_dir, not PKG_RUNDIR. [1f006c9e5795] * src/lib-master/master-login.c: lib-master: Post-login scripts can now exit to prevent user from logging in, without logging error. [356afa6263d4] * src/login-common/sasl-server.c: login: Fixed crash with service_count=1 and when reaching max number of connections from user+ip. [05700fe85e22] * src/lib-storage/mail-storage-hooks.c: lib-storage: Fixed handling mail_allocated hook. [07a7d352af66] * src/lib-imap/imap-match.c: lib-imap: Compiler warning fix. [88b6665b48da] 2010-06-13 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-map.c: mdbox: Fixed crashing when marking mdbox corrupted and mdbox map had open transactions. [b6163de8dffa] * src/lib-index/mail-index-view.c, src/lib-index/mail-index.h: lib-index: Added mail_index_view_get_transaction_count(). [aa66db4073c5] 2010-06-12 Timo Sirainen * src/doveadm/doveadm-print-table.c: doveadm: Include termios.h, not sys/termios.h.. [7a02b84ad7f5] * src/doveadm/doveadm-print-table.c: doveadm: Compile fix for Solaris. [c50d42277cc3] * src/doveadm/doveadm-print-table.c: doveadm: Use struct winsize, not struct ttysize to get the terminal width. [c55de307d9f9] * src/doveadm/doveadm-print-table.c: doveadm: Use actual terminal width for table formatter if possible. [2f3ce92f53ff] * src/doveadm/doveadm-who.c: doveadm who: s/service/proto/ in header name. [f35949b56863] * .hgsigs: Added signature for changeset 0c23ff04394f [f972a82055c1] * .hgtags: Added tag 2.0.beta6 for changeset 0c23ff04394f [e2b5dcb6c5a1] * configure.in: Released v2.0.beta6. [0c23ff04394f] [2.0.beta6] * src/lib/module-context.h: MODULE_CONTEXT() now avoids directly returning NULL to make static analyzer happier. [aec2a41abe4a] * src/lmtp/commands.c: lmtp: Make static analyzer happier. [0565807f7ca1] * src/login-common/sasl-server.c: login: Removed dead code. [e3881b95a93d] * src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: Marked help() with noreturn attribute. [8f0eef1c6f17] 2010-06-11 Timo Sirainen * TODO: TODO updated. [93c3d6a46446] * src/dsync/dsync-brain.c, src/dsync/dsync-data.c, src/dsync/dsync- data.h, src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy- server-cmd.c, src/dsync/dsync-worker-local.c, src/dsync/dsync- worker-private.h, src/dsync/dsync-worker.c, src/dsync/dsync- worker.h, src/dsync/test-dsync-worker.c, src/dsync/test-dsync- worker.h: dsync: Fixed syncing \noselect mailboxes. [c955d4789553] * src/doveadm/doveadm.c: doveadm: Renamed -F to -f. [b135e13f42b2] * src/lib-storage/mailbox-list.c: mailbox_list_get_unexpanded_path(): Don't crash with -o mail_location=.. [ed156c989067] * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail- search.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print- private.h, src/doveadm/doveadm-print-tab.c, src/doveadm/doveadm- print-table.c, src/doveadm/doveadm-print.c, src/doveadm/doveadm- print.h, src/doveadm/doveadm-who.c, src/doveadm/doveadm.c, src/plugins/quota/doveadm-quota.c: doveadm: Output is now written via "formatter" interface. The default can be changed with -f parameter. Currently implemented 3 formatters: flow, tab and table. [c4fdccf298bf] * src/lib-storage/index/shared/shared-storage.c, src/lib- storage/index/shared/shared-storage.h: lib-storage: Fixed crashing on accessing shared mailboxes. [f37d19f1c0a3] * src/plugins/quota/quota-fs.c: quota-fs, Solaris: Don't try to open quotas file with NFS mounts. [e6185d7c9732] * src/lib/failures.c: Logging lines longer than PIPE_BUF caused an extra empty line to be logged. [5ede18fe35fa] 2010-06-09 Timo Sirainen * src/master/service-monitor.c, src/master/service-process.h: master: If an idling process seems stuck, log an error and disable it. [3fa10300c70c] * src/lib-master/master-service-private.h, src/lib-master/master- service.c: lib-master: Try to send master status more reliably. [67b8de25154c] * src/doveadm/doveadm-mail-mailbox-status.c, src/doveadm/doveadm- mail.c, src/doveadm/doveadm-mail.h: doveadm: Don't fail immediately if some mailbox can't be opened. [e3d2d9427d3d] * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Added mailbox status command. [9c4b07e13cd2] * src/imap/imap-status.c: imap: STATUS (X-GUID) added extra space to result. [425f635ebaa9] * src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail- search.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/plugins/quota/doveadm-quota.c: doveadm: Mail commands now prefix each line with username if -A parameter is given. [3dfe1690b568] * src/doveadm/doveadm-mail-fetch.c: doveadm fetch: Added "user" field. [9f9f9d9e4a79] * src/config/config-parser.c, src/config/config-parser.h, src/config/doveconf.c: doveconf: Renamed lip/rip filters to local/remote, which also support DNS lookups now. [c147a2653f9c] * src/config/config-parser.c: doveconf: Show local, remote name/bits {} blocks with the /bits part. [cc6ebfa394d3] * src/lib-storage/mail-storage-hooks.c: lib-storage: Fixes to recent plugin API change. [6d32cf98b5f3] * src/lib-master/master-auth.c: lib-master: Error logging fix for 64bit systems. [e85e6b1df82f] * src/lib-master/master-auth.c: lib-master: Added timeout to master login attempts and improved error logging. [7385d8090890] * src/login-common/client-common-auth.c: login: If master login fails, make sure the client gets disconnected. [a859ab0d760e] * src/login-common/client-common-auth.c, src/login-common/sasl- server.c, src/login-common/sasl-server.h: login: Master login internal failures weren't handled correctly. [279bf7435603] * src/config/config-connection.c, src/config/config-filter.c, src/config/config-filter.h, src/config/config-parser.c, src/config/doveconf.c, src/lib-master/master-service-settings- cache.c, src/lib-master/master-service-settings.c, src/lib-master /master-service-settings.h, src/lib/network.h, src/login-common /login-settings.c, src/login-common/login-settings.h: config: local_name foo {} is now for TLS SNI. local foo {} only resolves foo to its IP. [b7fadc4eac7a] 2010-06-08 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-map.c: mdbox: stat() storage directory first before trying to mkdir it. [1aaa4b51cb14] * src/auth/auth-request-handler.c, src/auth/main.c: auth: Abort pending penalty lookups earlier in deinit. [149d57c1a9c0] * src/auth/auth-penalty.c: auth: Fixed a memory leak when looking up penalty value from anvil. [6f85840f8171] * src/lib-storage/mail-namespace.c: lib-storage: Set mail_namespace.unexpanded_set also when no namespaces are defined. [9f546fe13fc5] * src/auth/auth-client-connection.c, src/auth/auth-master- connection.c, src/auth/auth-request-handler.c, src/auth/auth- request-handler.h, src/auth/auth-request.c, src/auth/auth-request.h, src/auth/auth.c, src/auth/auth.h, src/auth/main.c, src/auth/passdb.c, src/auth/userdb.c: auth: Changed how auth deinitilization works. [190a5278e58b] * src/auth/auth-request-handler.c, src/auth/auth-request-handler.h, src/auth/auth-request.c, src/auth/auth-request.h, src/auth/mech- cram-md5.c, src/auth/mech-digest-md5.c, src/auth/mech-gssapi.c, src/auth/mech-login.c, src/auth/mech-ntlm.c, src/auth/mech-otp.c, src/auth/mech-rpa.c, src/auth/mech-skey.c, src/auth/mech-winbind.c, src/auth/mech.c, src/auth/mech.h: auth: Removed unnecessary auth_request callback and context uses. [94f78f415811] 2010-06-07 Timo Sirainen * src/lmtp/lmtp-proxy.c: lmtp proxy: Fixed 30 second delay after finishing DATA. [2d6cf78982dc] * src/lmtp/commands.c: lmtp proxy: Fixed passdb username change. [d2037445feed] * src/auth/auth-request-handler.c: auth: More async auth request deinit fixing. [68287c257c0a] * src/master/main.c: master: Small code cleanup. [cf496a6d669e] * src/auth/auth-request-handler.c: auth: Another attempt in trying to fix crashed at deinit on pending async auth request lookups. [fd447208ccb9] * src/login-common/main.c: login: Deinit auth socket after destroying clients to avoid crash. [2f084e625f09] * src/auth/auth-request.c: auth: Fixed prefetch userdb interaction with passdb changing username. If userdb_* fields were set before user was changed, prefetch returned the unchanged username. [48ac56ad4768] * src/doveadm/doveadm.c: doveadm: stop and reload commands now run with minimal initialization code. This allows them to work even if there is something wrong with config file. [c73ddaa39ca4] * src/lib-storage/mail-storage-hooks.c, src/lib-storage/mail-storage- hooks.h, src/lib-storage/mail-storage-private.h, src/lib-storage /mail-user.h, src/lib-storage/mail.c, src/lib-storage/mailbox-list- private.h, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl- mailbox.c, src/plugins/acl/acl-plugin.c, src/plugins/acl/acl- plugin.h, src/plugins/acl/acl-storage.c, src/plugins/expire/expire- plugin.c, src/plugins/fts-solr/fts-solr-plugin.c, src/plugins/fts /fts-plugin.c, src/plugins/fts/fts-plugin.h, src/plugins/fts/fts- storage.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/listescape/listescape-plugin.c, src/plugins/mbox-snarf /mbox-snarf-plugin.c, src/plugins/notify/notify-storage.c, src/plugins/quota/quota-plugin.c, src/plugins/quota/quota-plugin.h, src/plugins/quota/quota-storage.c, src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-storage.c, src/plugins/zlib/zlib- plugin.c: lib-storage: Plugin API changed to run plugin functions in correct order. Previously the hooks were run in correct order, but the functions they overrode were run in reverse order. This caused problems when multiple plugins were used. [4b20e692c606] * src/lib-storage/index/index-storage.c, src/lib-storage/mail-storage- private.h, src/lib-storage/mail-storage.c, src/plugins/lazy-expunge /lazy-expunge-plugin.c: Mailbox deletion: Delay marking its index deleted until ACL has had a chance to abort the deletion. [3a0601cb9e67] 2010-06-05 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-map.c: mdbox: Removed unnecessary code line. [6f5d3e035652] 2010-06-04 Timo Sirainen * TODO: TODO updated. [e9fed6359699] * src/lib-storage/index/dbox-common/dbox-storage.c, src/lib- storage/index/dbox-common/dbox-storage.h, src/lib-storage/index /dbox-multi/mdbox-map-private.h, src/lib-storage/index/dbox-multi /mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-map.h, src/lib- storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib- storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index /dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox-single/sdbox- storage.c: dbox, mdbox: Fixed race conditions when creating mailboxes. [7fc5db26f6eb] * src/util/rawlog.c: rawlog: Rewrote timestamp handling. Now with -t parameter each line begins with timestamp. [6b35189988dc] * src/util/script-login.c, src/util/script.c: script, script-login: Tell GNU getopt() not to access -parameters after first non-parameter. [7567896556bd] * src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index /dbox-common/dbox-save.c, src/lib-storage/index/dbox-multi/mdbox- mail.c, src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib- storage/index/dbox-single/sdbox-copy.c, src/lib-storage/index/dbox- single/sdbox-mail.c, src/lib-storage/index/index-mail.c, src/lib- storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir /maildir-save.c, src/lib-storage/index/mbox/mbox-save.c, src/lib- storage/mail-storage.h: lib-storage: Fixed accessing uncommitted saved mails with dsync dsync preserves uids, so uid==0 check won't work for detecting such mails. [b5d8a7a8695e] * src/lmtp/commands.c: lmtp: Compile fix. [0602b39ff3ce] * src/dsync/Makefile.am: dsync: Fixed loading plugins when built --without-shared-libs [5d2715ae9068] * src/lib-dict/dict-client.c: dict client: Allow connecting to server multiple times in a second. [24caf08ae7af] * src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index /dbox-multi/mdbox-map-private.h, src/lib-storage/index/dbox-multi /mdbox-map.c, src/lib-storage/index/index-storage.c, src/lib- storage/index/maildir/maildir-util.c, src/lib-storage/mail- namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage /mailbox-list-private.h, src/lib-storage/mailbox-list.c: When creating shared directories, preserve parent dir's permissions if it has setgid bit enabled. This works only if location path uses %variables. The directories up to last variable are created by preserving parent directory's modes, while the rest of the directories are created with 0700. For example with "/var/mail/%d/%2n/%n/Maildir", "/var/mail/domain/nn" preserves /var/mail's permissions, while the "username/Maildir" directories have 0700 mode. [0dfd28b930b3] * src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/cydir/cydir-storage.h, src/lib-storage/index/dbox- multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-multi /mdbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-storage.h, src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib- storage/index/dbox-single/sdbox-storage.h, src/lib- storage/index/maildir/maildir-storage.c, src/lib- storage/index/maildir/maildir-storage.h, src/lib-storage/index/mbox /mbox-save.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib- storage/index/mbox/mbox-storage.h, src/lib-storage/index/raw/raw- storage.c, src/lib-storage/index/raw/raw-storage.h, src/lib- storage/index/shared/shared-storage.c, src/lib-storage/index/shared /shared-storage.h, src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual- storage.h: Avoid including mailbox-list-private.h everywhere. [3e51c846f293] * src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list /mailbox-list-maildir.c, src/lib-storage/mailbox-list-private.h, src /lib-storage/mailbox-list.c: lib-storage: Added mailbox_list_get_root_path() to reduce code duplication. [e747257bc382] * src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list- private.h, src/lib-storage/mailbox-list.c: lib-storage: Code cleanup. [e056d42c9711] * src/auth/main.c: auth: Deinit auth request handler before pass/userdbs [b578861bfa40] * src/plugins/mail-log/mail-log-plugin.c: mail-log: If saved uid isn't available, log an error instead of crashing. This shouldn't happen, except when saving to virtual mailbox. [e575fd47c3a5] * src/plugins/mail-log/mail-log-plugin.c: mail-log: Code cleanup. [57723949babb] * src/plugins/mail-log/mail-log-plugin.c: mail-log: Show lda/lmtp deliveries as "save", not "copy from Dovecot Delivery Mail". [1c2d74e3e312] * src/auth/main.c: auth: When stopping, try to wait for auth clients to disconnect. This should avoid auth failures during config reloads. [5260724def1f] * src/util/script.c: script: Clear environment before running the script. [c7ab127fe8ae] 2010-06-02 Timo Sirainen * src/plugins/quota/doveadm-quota.c: doveadm quota get: Avoid integer overflows with really high quota usage. [3b25ca20f005] * src/auth/auth-request.c: auth: Added %{login_user}, %{login_username} and %{login_domain} variables that are set for master logins. [5ae4a5c14f5b] * src/plugins/quota/doveadm-quota.c: doveadm quota get: Print usage also in percentages. [49b3a9e170be] * doc/example-config/conf.d/90-acl.conf, doc/example- config/conf.d/90-plugin.conf: example-config: Moved ACL settings to a separate .conf file. [1f8251fc8db5] * doc/example-config/conf.d/90-plugin.conf, doc/example- config/conf.d/90-quota.conf: example-config: Moved quota configuration to a separate .conf file and improved the comments. [913e8d4d07b9] * src/plugins/quota/quota.c: quota: Use the new "script" service for executing quota warnings. This improves the performance, especially when the process is handling multiple users, because it no longer has to fork a process and wait for the script to finish. Example configuration: plugin { quota_warning = storage=90%% quota-warning 90 %u } service quota-warning { executable = script /usr/local/bin/quota- warning.sh user = vmail unix_listener quota-warning { } } The quota-warning.sh will be executed with parameters 90 and username. [a179fcbbf960] * .hgignore, src/util/Makefile.am, src/util/script.c: Added "script" service that can be used to easily execute programs via UNIX socket. [19c661891964] * src/lib-master/master-login.c, src/util/script-login.c: script-login: Added version check to the protocol. [3ac8c5dd9c30] * src/util/script-login.c: script-login: Error message fix. [c86b90148906] * src/anvil/anvil-connection.c, src/auth/auth-worker-client.c, src/config/config-connection.c, src/director/doveadm-connection.c, src/doveadm/doveadm-director.c, src/lib-master/master-service.c, src /lib-master/master-service.h: Added version_string_verify() and removed code duplication with it. [4274d1549fa0] * .hgignore, src/util/Makefile.am, src/util/script-login.c, src/util/script.c: Renamed "script" binary to "script-login". [addb2c6c1dfb] * src/auth/auth-master-connection.c, src/auth/auth-master- connection.h, src/auth/auth-request-handler.c, src/auth/auth- request-handler.h, src/auth/auth-request.c, src/auth/auth-request.h: auth: Fixes to destroying pending async userdb requests at deinit. [1e890076c4e9] * src/lib-dict/dict-client.c: lib-dict: Changed proxy client's idle timeout from 1 second to 0. [50a0c05fb4e7] * configure.in, doc/example-config/conf.d/10-auth.conf, doc/example- config/conf.d/auth-static.conf.ext, src/auth/Makefile.am, src/auth /passdb-static.c, src/auth/passdb.c: auth: Added passdb static. [df93f0c290ea] * configure.in, src/auth/userdb-static.c: auth: Removed USERDB_STATIC macro. It's always built anyway. [d8a801d2d3f1] * src/auth/auth-request.c: auth: Recent change caused userdb lookups to crash. The deinit bug that it tried to fix isn't fixed yet. [dc94f9240ec1] 2010-06-01 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: When rebuilding storage, don't use map records that have wrong size. [1b45f9641924] * doc/example-config/conf.d/10-mail.conf: example-config: Updated global mail_plugins comment. [1afb59ce219b] * src/config/old-set-parser.c: config: Fixed handling obsolete [ipv6addr]:port listen setting. [9952cbe2f839] * src/config/old-set-parser.c, src/lib/network.c, src/master/service.c: Added support for [] around ipv6 addresses everywhere. [bdb46ba87203] * src/plugins/acl/acl-backend-vfile.c: acl: Allow tabs between extended acl names. [484eb8f1f074] * configure.in: configure: Don't use spaces after -I and -L compiler flags. Apparently they break in some setups. Patch by Ben DJ. [044589aca7c6] * src/lib/lib-signals.c: Compile fix for OSX 10.3. [785f1507fed8] * src/plugins/virtual/virtual-config.c: virtual: Fixed looking up namespace for save-destination mailbox (!ns/box) [9bd63ce9db85] * src/imap/imap-settings.c: imap: Removed a no-op outlook-idle imap client workaround. [d4b29a288fa1] * doc/example-config/conf.d/20-imap.conf, src/imap/imap-fetch-body.c, src/imap/imap-settings.c, src/imap/imap-settings.h: imap: Removed netscape-eoh (Netscape 4.x) from imap client workarounds. This client should be long dead by now. Also the workaround causes Dovecot to violate IMAP RFC, so it's not really recommended anyway. [22699553569f] * src/auth/auth-client-connection.c, src/auth/auth-request-handler.c, src/auth/auth-request-handler.h, src/auth/auth-request.c: auth: Aborting pending async requests on deinit caused crashes. [3ef582c3fb72] * src/lib-mail/istream-header-filter.c: header filter istream: Avoid seeking backwards when caller just wants to reset the stream buffers. [941608f8b3fb] 2010-05-31 Timo Sirainen * src/lmtp/commands.c: lmtp: Fixes to seteuid calls. When delivering to multiple users, the first user's mail should be deinitialized with that user's effective uid. Also there's no point in setting uid to 0 between deliveries to multiple users. [55b8480849b0] * src/lib-index/mail-cache.c: lib-index: If index is read-only, always fail when trying to lock cache file. [7adc45a6da2e] * src/imap/cmd-idle.c: imap: Fixed previous idle change more correctly. The previous way could have crashed in some situations. [ba9d1b490bc3] * src/imap/cmd-idle.c: imap: If client was disconnected while IDLEing (e.g. storage error), it got stuck instead. [38ce28c0bca3] * src/lib-index/mail-transaction-log.c: lib-index: Try to handle index directory deletion more nicely. [3efe9dcbed3e] * src/lib-storage/mailbox-uidvalidity.c: lib-storage: Don't log rename() error if dovecot-uidvalidity didn't contain valid value. [2bb7ce1fb8a0] * src/lib-lda/mail-deliver.c: lib-lda: If two LDAs try to autocreate the same mailbox at the same time, don't fail the other one. [c4f56ed9dae0] * src/auth/db-passwd-file.c: auth: Improved passwd-file's EACCES error messages. [dcfabc2e2143] * src/doveadm/doveadm-mail-mailbox.c: doveadm: Removed an unnecessary code line. [eac68d311ce3] * src/director/login-connection.c: director: Update connection counts also on login connection deinit. [c82a7922fca9] * src/lib-storage/index/index-mail.c: lib-storage: mail_get_stream() no longer sets stream_r if it returns failure. This fixes e.g. FETCH RFC822.* commands when input couldn't be read. [4199565b9ce2] * src/imap/imap-fetch-body.c, src/lib-storage/index/index-mail.c: If read() from a mail stream fails, log the stream name (filename typically). [e5b491043b5e] 2010-05-28 Timo Sirainen * src/imap/cmd-list.c: imap: LIST now handles better if INBOX is in a different namespace than prefix="" [4faaf5b037d5] * src/doveadm/doveadm-log.c: doveadm log find: Wait 1 second after logging, to give syslog time to write to files. [f9d1059f81ce] * src/plugins/quota/quota.c: quota: Non-default quota rules should now have '+' before the limit value. This should make it clearer what it means. The obsolete way without '+' might be changed in future to actually mean an absolute quota limit. [e61c783ab241] * src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm mailbox convert renamed to doveadm mailbox mutf7. [4d3be20243c2] * src/plugins/quota/quota-fs.c: quota-fs: Log also mountpoint type with mail_debug=yes. [e502f52f160c] * src/doveadm/doveadm-auth.c, src/doveadm/doveadm-mail.c: doveadm: Detect '?' also as wildcard character in usernames. [e7b0366f9cfb] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/doveadm/doveadm.c: doveadm: Group subcommands into a single line in usage output. [cfa4a9dcb832] * src/doveadm/doveadm.c: doveadm help now also outputs to stdout. [425823ba9fcb] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/doveadm/doveadm.c: doveadm help and without parameters now writes output to stdout, otherwise stderr. [c3f1a15f50ca] * src/master/main.c: master: dovecot --log-error now internally calls doveadm log test. [8f63f17fdb0c] * src/master/main.c: master: Added reload and stop back to usage help string. [e420e196f80a] * src/doveadm/Makefile.am, src/doveadm/doveadm-log.c, src/doveadm /doveadm-master.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: Added log test|reopen|find commands. [86fd141577c3] * src/master/main.c: dovecot: Removed reload and stop handlers. "dovecot arg" now execs "doveadm arg". [257eb30cc529] * src/doveadm/Makefile.am, src/doveadm/doveadm-master.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: Added stop and reload commands. [c740a50ab676] * src/doveadm/doveadm-mail.c: doveadm: force-resync now fails if mailbox name isn't valid UTF-8 [b6c027d9631f] * src/lib-storage/mail-search-register-human.c: lib-storage: Human search parser now fails if given mailbox name isn't valid UTF8. [046948ccdbfb] * src/doveadm/doveadm-mail.c: doveadm force-resync: Get mailbox name as UTF-8. [6f4bfa83aabd] * src/doveadm/doveadm-mail-mailbox.c: doveadm mailbox *: Removed -7 and -8 parameters from most commands, UTF-8 is used always. [2127b6e9096d] * src/doveadm/doveadm-mail-fetch.c: doveadm fetch: mailbox field value is printed as UTF-8, not mUTF-7. [93eaae8617c8] * src/lib-storage/mail-search-register-human.c: lib-storage: human search arg parser now gets mailbox name using UTF-8. [15cda53f4e79] * src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql /driver-sqlite.c, src/lib-sql/driver-sqlpool.c, src/lib-sql/sql-api- private.h: lib-sql: Don't try to reconnect on deinit or intentional disconnect. Fixes a timeout leak. [f9e5c73a988b] * src/lib-sql/driver-mysql.c, src/lib-sql/driver-sqlite.c: mysql, sqlite: Update db state to disconnected on deinit. [8c521fd311c6] * src/master/service.c: master: Make sure throttle timeout isn't added for already destroyed services. [bd0088e294ec] 2010-05-27 Timo Sirainen * src/doveadm/doveadm-director.c: doveadm: Minor help text change. [515a8cbd3d1e] * src/master/service-monitor.c: master: Fixed crash on config reload. [9bb17fe5465f] * src/doveadm/doveadm-mail.c: doveadm: -u parameter now allows wildcards for usernames. [6ac0459a6f0e] * src/doveadm/doveadm-settings.c: doveadm: Added config dependency to mail_user settings. If doveadm gets the configuration by execing doveconf, it won't get these settings without the dependency. [d7b9712d1dfc] * src/doveadm/doveadm.c: doveadm: Preserve $HOME when execing doveconf. [34621611fb33] * src/doveadm/doveadm-auth.c: doveadm user: User listing is done now by using wildcards in usernames. [ca0503623ff2] * src/plugins/expire/Makefile.am, src/plugins/expire/doveadm-expire.c, src/plugins/expire/expire-env.c, src/plugins/expire/expire-env.h, src/plugins/expire/expire-plugin.c, src/plugins/expire/expire-set.c, src/plugins/expire/expire-set.h, src/plugins/expire/expire-tool.c: expire: Rewrote expire-tool as a plugin for doveadm. Whenever using some doveadm mail command with -A parameter, the plugin checks if it can get the list of potentially matching users from the expire database. Currently only the list of users is filtered based on expire database, list of mailboxes could also be filtered but this isn't supported (yet). [da750dc62c14] * src/plugins/quota/doveadm-quota.c: doveadm quota: Fixed to work with new doveadm API [caecf9866909] * src/lib-storage/mail-search-register-human.c: lib-storage: Human search date parser now supports UNIX timestamps. [59322f74214b] * src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail- expunge.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm- mail-mailbox.c, src/doveadm/doveadm-mail-search.c, src/doveadm /doveadm-mail.c, src/doveadm/doveadm-mail.h, src/doveadm/doveadm- settings.c, src/doveadm/doveadm-settings.h, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: mail commands can now be extended more easily by plugins. Also plugins can now override the list of -A users. [07c9d1115029] * src/doveadm/doveadm-auth.c: doveadm user: If no user parameters are given, list all usernames. [85e22167529f] * src/lib-storage/index/dbox-single/sdbox-save.c: dbox: Copying messages crashed. [f2ece87f9fea] * src/plugins/lazy-expunge/lazy-expunge-plugin.c: lazy-expunge: Don't crash if lazy_expunge setting isn't enabled for user. [47f186130a4d] * src/util/tcpwrap.c: Compiler warning fix. [75b8bde60e65] * src/config/doveconf.c: doveconf now shows "key = " prefix, unless -h parameter is given. [19730f396800] * src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index /dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-single/sdbox- save.c, src/lib-storage/index/maildir/maildir-save.c: dbox, mdbox, maildir: If saving one mail fails in transaction, don't fail subsequent saves. [a0fccb6367f4] * src/anvil/main.c, src/auth/main.c, src/config/main.c, src/dict/main.c, src/director/main.c, src/dns/dns-client.c, src/dsync/dsync.c, src/imap/main.c, src/lib-master/master-service.c, src/lib-master/master-service.h, src/lmtp/main.c, src/log/main.c, src/login-common/main.c, src/pop3/main.c, src/ssl-params/main.c, src/util/script.c, src/util/tcpwrap.c: lib-master API changed to avoid accidentally leaking client connections. This change also fixes many such leaks. [b8d3c96e61a7] * TODO: TODO updated. [7b8bd33c96f9] 2010-05-26 Timo Sirainen * src/doveadm/doveadm-auth.c: doveadm auth: Fail if after password there is more parameters. [3d928798d278] * src/doveadm/doveadm-auth.c: doveadm auth: Return with exit code 0 if auth succeeded, 1 if failed, others if error. [5a875b6a5982] * src/doveadm/doveadm-auth.c: doveadm auth: Fix to previous change, it broke auth completely. [5e7ca577e23a] * src/lib-auth/auth-client.c, src/lib-auth/auth-client.h: lib-auth: Added auth_client_is_disconnected(). [4f21121408b3] * src/doveadm/doveadm-auth.c: doveadm auth: If we can't connect to auth socket, die instead of hanging. [bb17ad464528] * src/lib-storage/mail-copy.c: lib-storage: Don't assert-crash when copying a mail fails. [0918cb06c906] * doc/example-config/conf.d/10-mail.conf: example-config: Namespace indentation should have been 2 spaces, not 3. [7cbc5854fbeb] * src/lib-storage/index/shared/shared-storage.c: lib-storage: Allow shared namespace prefix to use %variable modifiers. [b497a302e5cf] * src/lib-storage/mail-storage-private.h, src/plugins/zlib/zlib- plugin.c: lib-storage: Removed unnecessary struct mail_save_context.saved_physical_size [4eaebea097db] * src/lda/Makefile.am, src/lmtp/Makefile.am: lda, lmtp: Fixed library dependency tracking in Makefiles. [2fa46ba7ff2f] * src/lib-storage/index/dbox-common/dbox-save.c, src/lib-storage/index /dbox-common/dbox-save.h, src/lib-storage/index/dbox-multi/mdbox- save.c, src/lib-storage/index/dbox-single/sdbox-save.c: dbox: Figure out internally when message's "physical size" doesn't match "written size". [e84e72fb1af9] * src/lib-sql/driver-mysql.c: lib-sql: Fixed getting number of affected rows with MySQL. [0c15a760dab8] * doc/example-config/dovecot.conf: example-config: Fixed example dict config filenames. [c23fb6cc5bb5] 2010-05-25 Timo Sirainen * src/director/director-connection.c, src/director/doveadm- connection.c, src/director/notify-connection.c: director: Update connection count when client disconnects. [26cfc1c3a4b1] * src/plugins/quota/quota-fs.c: quota-fs: If FS quota is enabled, create (some of) users' temp files to /tmp. [bd8ed4b97fe3] * src/lib-storage/mail-user.c, src/lib-storage/mail-user.h: lib-storage: mail_user.get_temp_prefix() method added. [e63dd7e7ea6e] * configure.in: configure: --without-shared-libs should use static liblda for lda/lmtp. [f0141862bdca] * src/lib-storage/index/mbox/mbox-storage.c: mbox: If write fails with EFBIG, give an error that mentions ulimit -f. [f7527971fed0] * src/lib-index/mail-transaction-log-view.c: lib-index: Fix to recent error handling change. [fb1cc2f5d681] * src/lmtp/client.h, src/lmtp/commands.c: lmtp: Add Return-Path: header. Also with only one RCPT TO, add Delivered-To: header. [61c3124bba93] * src/lib/hostpid.c: Die if system hostname contains '/' character. [4c28061ce7a6] * src/lib-storage/index/index-storage.c: lib-storage: If read-only mailbox uses private flags, don't return it as READ-ONLY. [2f7b7747867e] * src/lib-index/mail-transaction-log-file.c, src/lib-index/mail- transaction-log-view.c, src/lib-storage/index/index-sync.c: Changed some index error handling conditions to log an error instead of assert-crash. [6d68b7b25ae7] * src/lib-index/mail-index-sync-update.c: lib-index: On errors, close sync view before fsck to avoid assert- crash. [b08abace44ed] * src/lib-master/master-service-settings-cache.c: Increased initial memory pool size. [d285a4ee07c4] * src/lib-storage/index/maildir/maildir-sync-index.c: maildir: Expunging last messages may have assert-crashed if their filenames had changed. [487e58ebb764] * src/lib-index/mail-transaction-log-append.c: lib-index: Recent "save transaction commits to memory" may have assert-crashed sometimes. [8b67ccc4e2af] 2010-05-20 Timo Sirainen * src/lib-sql/driver-mysql.c: mysql: Fixed assert-crashing on transaction commits. [1e45b463b93a] * doc/example-config/conf.d/10-logging.conf, src/login-common/login- settings.c: Added mail process pid to default login_log_format_elements [b715f1e39f25] * src/doveadm/doveadm-auth.c, src/doveadm/doveadm-director.c, src/doveadm/doveadm-kick.c, src/doveadm/doveadm-penalty.c, src/doveadm/doveadm-settings.c, src/doveadm/doveadm-settings.h, src/doveadm/doveadm-who.c, src/doveadm/doveadm.h: doveadm: Look up sockets from base_dir rather than hardcoded PKG_RUNDIR. [43a5acc09eb8] * configure.in, src/lib/process-title.c: Added process title hack support for OS X. [348eb4754085] * src/director/director-connection.c, src/director/director.c, src/director/director.h, src/director/doveadm-connection.c, src/doveadm/doveadm-director.c: Added doveadm director flush command for dropping user associations from memory. This should probably mainly be used for testing. [ef1de95396d4] * src/auth/auth-client-connection.c, src/auth/auth-request-handler.c, src/auth/auth-request-handler.h, src/lib-auth/auth-client-request.c, src/lib-auth/auth-client.h, src/login-common/sasl-server.c: login: Tell auth process to free aborted auth requests. [f70433791464] * src/director/director.c, src/director/director.h, src/director /doveadm-connection.c, src/director/mail-host.c, src/director/mail- host.h, src/director/main.c, src/doveadm/doveadm-director.c: doveadm director status user: Show more ways of what user's potential hosts are. [1bc3d5589c5a] * src/director/director-connection.c, src/director/director-request.c, src/director/director.c, src/director/director.h, src/director /doveadm-connection.c, src/director/mail-host.c, src/director/mail- host.h, src/director/main.c: director: Code cleanup - keep mail hosts in a struct rather than in static variables. [19336bddada2] * src/director/doveadm-connection.c, src/doveadm/doveadm-director.c: doveadm director status username now returns which server the user is assigned to. [c57c1ff9c5f1] * src/director/director-connection.c: director: Preserve old mail server state when a new director connects to ring. [5f77c91f3df0] * src/director/director-connection.c, src/director/director.c: director: Fixes to connecting to remote director. [350208d17fcd] * src/plugins/quota/quota-dict.c, src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-private.h, src/plugins/quota/quota.c: quota: Added ignoreunlimited option to quota roots to disable tracking users with unlimited quota. [e688d58b0112] * src/plugins/imap-quota/imap-quota-plugin.c: imap-quota: If user has no quota roots, don't return QUOTAROOT reply. [295e12b91054] * src/master/service-process.c: master: If process running as root didn't dump core, don't suggest non-working workarounds. [8954b4d78dd2] * src/lib-imap/imap-parser.c: imap parser: Fail immediately if we see unexpected ')' while reading atom. [01f81b9e9586] * src/master/service-monitor.c, src/master/service.c: master: If throttling a service and there are no service processes, drop all queued connection attempts. [2b5af8843142] 2010-05-19 Timo Sirainen * src/director/director-connection.c, src/director/director.c, src/director/director.h: director: If we logged that we're delaying connections, also log when we continue. [d1012db03a1c] * src/doveadm/doveadm-mail-fetch.c: doveadm fetch: Added support for hdr. field. [b43d6d2ef2fb] * src/director/director.c: director: Use net_try_bind() to try to find our own IP. [7d3d6ee01bfc] * src/lib/network.c, src/lib/network.h: liblib: Added net_try_bind() [40964653930c] * src/director/director.c: director: Fixed finding the director's own IP in case system has multiple. [ed633bfb8c59] * src/director/director.c: director: Create outgoing connections from our own known IP. [098f517e902c] * src/doveadm/doveadm-mail-fetch.c: doveadm fetch: Added support for imap.envelope, imap.body and imap.bodystructure fields. [4ec22f3bfd9f] * src/lib-storage/mailbox-list.c: lib-storage: mailbox_list_iter_init_namespaces() didn't match INBOX pattern correctly. [2587eb79a83d] * src/config/doveconf.c: doveconf : Don't output the "key =" prefix. [1c1db8a6cfc7] * src/director/director-connection.c, src/director/user-directory.c, src/login-common/login-proxy-state.c: Compiler warning fixes. [d6d59ff58511] * src/director/main.c: director: Crashfix at exit if proxy-notify fifo hadn't been used yet. [16fbdcbb6dcb] * src/plugins/quota/quota-maildir.c: maildir++ quota: Support "NOQUOTA" as valid backend string. [b42184927518] * src/director/main.c: director: Use auth-login socket, not login/login so it works as non- root. [c17e111b0d65] * src/auth/auth-settings.c, src/auth/main.c: auth: Create auth-login socket by default where internal user can connect to. [f15b3aac5443] * src/lib/strnum.c: str_to_gid(): Allow negative GIDs on OS X. [3ee6b83c1689] * src/login-common/login-proxy-state.c: login: Don't log an error at startup if proxy-notify fifo hasn't been enabled. [0877d6920960] * src/director/director-connection.c, src/director/director-host.h, src/director/director.c: director: If connecting to director fails, try connecting to next one. [9d886ae434c3] * src/director/login-connection.c: director: If we need to send a failure reply to login process, make it a temp failure. [fc94106ca7e9] * doc/example-config/conf.d/10-director.conf, src/director/Makefile.am, src/director/director-settings.c, src/director/login-connection.c, src/director/main.c, src/director /notify-connection.c, src/director/notify-connection.h: director: Tell login proxy to notify director of open connections every director_user_expire/2 secs. [2a5336ad86cd] * src/login-common/client-common-auth.c, src/login-common/client- common.c, src/login-common/client-common.h, src/login-common/login- proxy-state.c, src/login-common/login-proxy-state.h, src/login- common/login-proxy.c, src/login-common/login-proxy.h, src/login- common/main.c: login proxy: If passdb returns proxy_refresh=, send username to proxy-notify fifo every n secs. [c872378a8de6] * src/master/service-listen.c, src/master/service.c: master: Fixes to listening in fifos. [0fc0cc9e0952] * src/director/doveadm-connection.c: director: Memory leak fix. [12316378922e] * .hgignore, configure.in, doc/example-config/conf.d/10-director.conf, src/Makefile.am, src/director/Makefile.am, src/director/auth- connection.c, src/director/auth-connection.h, src/director/director- connection.c, src/director/director-connection.h, src/director /director-host.c, src/director/director-host.h, src/director /director-request.c, src/director/director-request.h, src/director /director-settings.c, src/director/director-settings.h, src/director/director.c, src/director/director.h, src/director /doveadm-connection.c, src/director/doveadm-connection.h, src/director/login-connection.c, src/director/login-connection.h, src/director/mail-host.c, src/director/mail-host.h, src/director/main.c, src/director/user-directory.c, src/director /user-directory.h, src/doveadm/Makefile.am, src/doveadm/doveadm- director.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h: Added initial implementation of a director process (for NFS users). There are still some unimplemented features and bugs. Also changing mail server list doesn't yet make sure that other directors won't assign the same user to a different server at the same time. [5f350b5ff6d9] * src/lib-auth/auth-server-connection.c: lib-auth: Crashfix if server sent broken input. [1753fe048fee] * doc/example-config/conf.d/10-mail.conf: example-config: Example namespace's hidden value default was wrong. [fb6bc399f5c3] 2010-05-18 Timo Sirainen * src/master/service-monitor.c: master: Create the login <-> master notify file into base_dir instead of /tmp. [ae84eb604f84] * src/plugins/listescape/listescape-plugin.c: listescape: Fixed listing INBOX when namespace prefix was used. [4ba05c3702be] 2010-05-17 Timo Sirainen * src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts-squat/fts- backend-squat.c, src/plugins/fts/fts-api-private.h, src/plugins/fts /fts-api.c, src/plugins/fts/fts-api.h, src/plugins/fts/fts- storage.c: fts: Backends can now index non-text body parts if they support it. [757cb3148407] 2010-05-14 Timo Sirainen * src/lib-master/master-service-settings.c: lib-master: If config path isn't a socket, don't try to connect() to it. This avoids some SELinux errors. [7bb35ad5e80e] * src/lib-index/mail-transaction-log-append.c: lib-index, mmap_disable=yes: Save data also to memory after appending to transaction log. This seems to fix a bug at least with CentOS 4.8 kernel (2.6.9-89.0.25.ELsmp) where after a write() a read() didn't realize that data was written, so it returned EOF too early. Of course, this change also improves performance since it avoids re- reading the same data that was just written. [664d1b2f6b46] * src/lib-index/mail-transaction-log-file.c: lib-index: Give a better error message if transction log file shrinks unexpectedly. [361157623f2a] * src/lib-storage/index/maildir/maildir-copy.c: maildir: Fixed a memory leak when copying with hardlinks. [4c7b240eccdf] * src/master/main.c: dovecot --build-options shows IO_BLOCK_SIZE [4506efe5f238] * src/lib-index/mail-cache-lookup.c, src/lib-index/mail-index-map- read.c, src/lib-index/mail-transaction-log-file.c: lib-index: Use IO_BLOCK_SIZE [2937ca64faa9] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib- storage/index/mbox/mbox-file.c, src/lib-storage/mail-storage- private.h, src/lib/compat.h, src/lib/file-set-size.c, src/lib /istream-internal.h, src/lib/ostream-file.c, src/lib/ostream.c: Use IO_BLOCK_SIZE macro to specify how large read/write syscalls to use. [88d7a36c7fa5] * src/login-common/main.c: login: Allow command line to override login socket path. [df2599ab2cee] 2010-05-13 Timo Sirainen * src/master/master-settings.c: master: Don't include disabled unix/fifo_listeners in duplicate checks. [706e411a134d] * src/plugins/quota/doveadm-quota.c: doveadm quota get: Show current usage even if quota is unlimited. [de9259065123] * src/plugins/quota/Makefile.am, src/plugins/quota/doveadm-quota.c: quota: Fixed doveadm plugin to compile again with new API. [49252a5fcdde] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm.c: doveadm: Don't crash when giving only first word of multi-word command. [9f1fb4978a4a] * src/master/main.c: dovecot: Fixed handling --parameters with some OSes. [5b628ee2888d] * src/config/doveconf.c: doveconf: Don't crash if -c points to nonexisting file. [da5096512d54] * src/doveadm/doveadm.c: doveadm: Minor code cleanup. [b73e0f51dad1] * src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Added subscribe/unsubscribe commands. [76d4b3ac7bfa] * src/doveadm/doveadm-mail-mailbox.c: doveadm mailbox *: Added -s flag for updating/listing subscriptions. [9a86c335c3ed] * src/util/Makefile.am, src/util/imap-utf7.c: Removed imap-utf7 binary. doveadm mailbox convert replaced it. [715b74280077] * src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: Added convert command to convert mailbox names between mUTF-7/UTF-8 [0741e7003efa] * src/doveadm/doveadm.c: doveadm: Added support for multi-word (non-mail) commands. [f491253bb457] * src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm mailbox *: Added -7 and -8 parameters to translate between mUTF7/UTF-8 mailbox names. [c9463679f71e] * src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail- expunge.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm- mail-mailbox.c, src/doveadm/doveadm-mail-search.c, src/doveadm /doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Changed mail command API to be more easily extensible. [0c9db163d538] * src/imap/imap-status.c: imap: Renamed X-VSIZE to X-SIZE in STATUS, since IMAP always uses virtual sizes. [13af90173e4f] * src/doveadm/doveadm-dump-index.c, src/lib-storage/index/index- status.c, src/lib-storage/index/index-storage.h: lib-storage: Expunging messages didn't update mailbox_status.virtual_size [f7ef21ab49ba] * src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index /dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-single/sdbox- mail.c, src/lib-storage/index/index-mail.c, src/lib-storage/index /index-search.c, src/lib-storage/index/maildir/maildir-mail.c, src /lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw- mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage /test-mail.c, src/plugins/virtual/virtual-mail.c: lib-storage: Removed struct mail.get_index_mail(). get_real_mail() is basically the same. [66bb67e074e2] * src/lib-storage/test-mail.c: lib-storage: Unit test fix. [fc664579ee4f] 2010-05-12 Timo Sirainen * src/imap/imap-fetch.c: imap: Added FETCH X-REAL-UID for getting physical mail's UID in a virtual mailbox. [ed1a37587471] * src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index /dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-single/sdbox- mail.c, src/lib-storage/index/index-mail.c, src/lib-storage/index /index-mail.h, src/lib-storage/index/maildir/maildir-mail.c, src /lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw- mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage /mail-storage.h, src/lib-storage/mail.c, src/plugins/virtual /virtual-mail.c: lib-storage: Added mail_get_real_mail() that returns physical mail in a virtual mailbox. [a6150ca30304] * src/imap/imap-status.c: STATUS: Give an error with empty status list. [00771a8ab6fb] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/doveadm/doveadm.c: doveadm help: Fixed to work with multi-word commands. [bc0b336efef7] * src/auth/auth-client-connection.c, src/auth/auth-client- connection.h, src/auth/auth-master-connection.c, src/auth/auth- request-handler.c, src/auth/auth-request-handler.h, src/auth/auth- settings.c, src/auth/main.c, src/login-common/main.c: auth: Separate auth and login connections. Non-login requests are freed immediately after auth finished. The login connections are used by Dovecot internally, while the auth connections are for SMTP AUTH etc. [1a3c9bd45b11] * src/lib/restrict-access.c, src/lib/restrict-access.h: Added restrict_access_get_env() [a8a8686e6979] * src/lib-sql/driver-mysql.c: mysql: Fixed crashing on invalid queries. [6599d3d52c76] * src/lmtp/main.c: lmtp: Set user/group at startup as specified in service block. [70cfc89a3936] * src/imap/imap-status.c: imap: Added STATUS (X-VSIZE) command for getting mailbox's virtual size. [119d8eebda38] * src/doveadm/doveadm-dump-index.c, src/lib-storage/index/index- status.c, src/lib-storage/index/index-storage.c, src/lib- storage/index/index-storage.h, src/lib-storage/mail-storage.h: lib-storage: Added support for quickly getting mailbox's virtual size. [51d0f5d8cc65] 2010-05-11 Timo Sirainen * src/lib/module-context.h: MODULE_CONTEXT() now returns NULL if the whole module hasn't been registered yet. This fixes a crash with thread handling. [521e36311440] 2010-05-09 Pascal Volk * src/auth/Makefile.am, src/auth/password-scheme-crypt.c, src/auth /password-scheme.c, src/auth/password-scheme.h, src/doveadm/doveadm- pw.c: auth: added new password scheme names {BLF,SHA256,SHA512}-CRYPT. Their availability depends on the used libc. doveadm pw: added '-r rounds' option for the password schemes mentioned above. [2ead7574bb08] 2010-05-09 Timo Sirainen * src/doveadm/doveadm-pw.c: doveadm pw: Call deinit functions. [1485d8bafb5e] * .hgsigs: Added signature for changeset 6b15f36d40c9 [db432a472f3c] * .hgtags: Added tag 2.0.beta5 for changeset 6b15f36d40c9 [c3583ec39f67] * configure.in: Released v2.0.beta5. [6b15f36d40c9] [2.0.beta5] * TODO: TODO updated. [5779cbc79020] * doc/example-config/conf.d/10-master.conf, src/master/master- settings.c: Changed default_internal_user to dovenull. [79a3aef47ddf] * src/lib-sql/driver-sqlpool.c: lib-sql: Code cleanup to make clang's static analyzer happy. [c7c6dbf542b3] * src/doveadm/doveadm-mail-search.c: doveadm search: Minor fix. [b90d0670dfd4] 2010-05-08 Timo Sirainen * src/lib-storage/mail-storage-settings.c: lib-storage: Removed accidentally committed debug code. [1fe8f8d4e92d] 2010-05-07 Timo Sirainen * src/doveadm/doveadm-mail.c, src/imap/imap-search-args.c, src/lib- storage/mail-search-register-human.c, src/lib-storage/mail-search- register-imap.c, src/lib-storage/mail-search-register.h, src/lib- storage/mail-storage-settings.c, src/lib-storage/mail-storage.c, src/plugins/virtual/virtual-config.c: Mail search register getting API change to fix a doveadm crash bug. [0a35407e6ff4] 2010-05-05 Timo Sirainen * src/lib-sql/Makefile.am: lib-sql: Fixed compiling --with-sql=plugin. Patch by Michal Hlavinka. [5d76f5b13883] * src/lib-sql/driver-sqlpool.c: lib-sql: Compiler warning fix. [4c71be924a00] * src/config/config-parser.c, src/config/config-parser.h, src/config/doveconf.c, src/config/main.c: config: Unload modules at exit. [3fc759d5e736] 2010-05-04 Timo Sirainen * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-list.c, src/doveadm/doveadm-mail-mailbox.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Renamed "list" to "mailbox list" and added mailbox create/rename/delete. [3afbdf732a75] * src/master/service.c: master: If inet listener uses DNS name, which returns multiple IPs, listen in all of them. [1ea46423cfd0] * src/lib-storage/mail-user.c, src/plugins/quota/quota.c: Increased initial memory pool sizes. [a4614f53d298] * doc/example-config/dovecot-sql.conf.ext, src/lib-sql/Makefile.am, src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql /driver-sqlite.c, src/lib-sql/driver-sqlpool.c, src/lib-sql/sql-api- private.h, src/lib-sql/sql-api.c, src/lib-sql/sql-api.h: lib-sql: Use generic sql connection pooling code for mysql/pgsql. It's possible to give multiple host settings to do load balancing / HA. If one host is down, another one is tried. All queries are automatically retried in another host if they fail in first one. Since PostgreSQL support async queries, Dovecot can create multiple connections to the database as needed, so it can do lookups in parallel. The number of connections can be changed with maxconns=n in connect_query, the default is 5. [1c8cc349ef55] * src/lib-dict/dict-sql.c: lib-dict: Minor code cleanup. [669e8266927e] * src/lib-dict/dict-client.c: dict proxy client: Don't crash in commit if there is no connection to server. [7102daca9089] * src/auth/passdb-bsdauth.c: bsdauth: Crashfix [fa77ca53ad6c] * src/login-common/client-common.c: Compile fix [c5e5f18e7685] * src/auth/auth-request-handler.c, src/lib-auth/Makefile.am, src/lib- auth/auth-client-interface.h, src/lib-auth/auth-master.c, src/lib- master/master-interface.h, src/lib-master/master-login-auth.c, src /login-common/client-common.h: auth/login related timeouts are now in one place and they make more sense. Most importantly now auth client doesn't abort lookup before server does. [e08dd68309a9] * src/auth/auth-request.c, src/auth/auth-request.h: auth: Minor code fix/cleanup. [90410a8f3786] * src/auth/auth-request-handler.c: auth: Don't crash when auth requests timeout. [83b4020d1edf] 2010-05-03 Timo Sirainen * src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql /driver-sqlite.c: lib-sql: Make driver structs const. [da497a62cf44] * src/lib-dict/dict-sql.c, src/lib-sql/Makefile.am, src/lib-sql/sql- db-cache.c, src/lib-sql/sql-db-cache.h, src/lib-sql/sql-pool.c, src /lib-sql/sql-pool.h: lib-sql: Renamed "sql pool" to "sql db cache", since that's what it is. [e0d02ae9d50f] * src/auth/auth-common.h, src/auth/auth-master-connection.c, src/auth /auth-request-handler.c, src/auth/auth-request.c, src/auth/auth- request.h, src/auth/auth-settings.c, src/auth/auth-settings.h, src/auth/main.c, src/auth/userdb-static.c: auth: If verbose_proctitle=yes, show auth request counts in ps. - wait: waiting for auth client to do something (either continue multistep auth mechanism or issue master request for a finished auth) - passdb: waiting for passdb lookup to finish - userdb: waiting for userdb lookup to finish [6243376eff60] * src/auth/auth-request-handler.c: auth: Give a better error message to client when auth request timeouts. [d8dd3149a98b] * src/auth/auth-request-handler.c: auth: Log a message when auth request is removed due to timeout. [2a132661c029] * src/lib-master/master-login-auth.c: lib-master: Don't crash after timeouting an auth-master request. [1fd45deee948] 2010-04-30 Timo Sirainen * src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail- expunge.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm- mail-list.c, src/doveadm/doveadm-mail-search.c, src/doveadm/doveadm- mail.c, src/doveadm/doveadm-mail.h, src/plugins/quota/doveadm- quota.c: doveadm: Changed mail command handler API. This should help add some new future features. [f05909834219] * src/doveadm/doveadm-auth.c: doveadm user: s/auth/userdb/ socket path in usage. [f195e11fd919] * src/doveadm/doveadm-mail.c, src/plugins/quota/doveadm-quota.c: doveadm: Fixed empty usage_args checks. [ff13bd98ed0d] * src/doveadm/doveadm-mail.c: doveadm: If command is known not to take any parameters, give error if any are given. [d651255481dc] * src/plugins/quota/doveadm-quota.c: doveadm: quota get/recalc are now two-word commands, so parameters come after them, not in the middle. [40da334e2513] * src/doveadm/doveadm-mail.c: doveadm: Added support for multi-word commands. [65e21dc80414] * src/imap/imap-fetch-body.c: imap: If FETCH notices cached message size is wrong, mark cache corrupted (second such check). [be74fa9bfcc9] * src/doveadm/doveadm-mail-search.c: doveadm search: Don't print "mailbox-guid" and "uid" texts in output. [529fee1603e5] * src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail-list- iter.c: doveadm fetch/search/etc: Handle "NOT" correctly in search query. [b9efc1ca4c37] * src/lib-storage/index/index-search.c, src/lib-storage/mail-search.c, src/lib-storage/mail-search.h: lib-storage: Fixes/optimizations to SEARCH_MAILBOX*. [dedf835014a2] * src/doveadm/doveadm-mail-fetch.c: doveadm fetch: Don't print field name if fetching only a single field. [6327433bccb9] * src/doveadm/doveadm-mail-fetch.c: doveadm fetch: Don't print mail separator if fetching only a specific mail. [47d49b7edb4b] * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-search.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Added search command. [0aa904c74f76] * src/lib-storage/index/index-search.c: lib-storage optimization: SEARCH_MAILBOX* should be checked before cache lookups. [957e907834e7] * src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-mail- fetch.c: doveadm fetch: Added support for mailbox-guid search key/fetch field. [5d0027f17bd8] * src/lib-storage/index/index-search.c, src/lib-storage/mail-search- register-human.c, src/lib-storage/mail-search.c, src/lib-storage /mail-search.h: lib-storage: Added support for searching with mailbox GUID. [389a251c9cfe] * src/auth/db-checkpassword.c, src/auth/db-checkpassword.h, src/auth /passdb-checkpassword.c, src/auth/userdb-checkpassword.c: auth: passdb/userdb checkpassword args now supports %variable expansion [5f3f0d5f9dd8] * doc/example-config/conf.d/10-auth.conf: example-config: auth-checkpassword include wasn't listed in 10-auth.conf [8a8d954b90ba] 2010-04-29 Timo Sirainen * src/login-common/client-common-auth.c: login proxy: "ssl" and "starttls" handlers make more sense now. - "starttls" no longer requires "ssl", and "starttls=anycert" is now possible. - "ssl=any-cert" updates the default port. - "ssl=anything" now also enables ssl instead of being ignored. [d693c4a97d41] * src/lib-storage/mail-search-parser-imap.c: lib-storage: Fixed () sublists in IMAP SEARCH parser. [888ac9037642] * src/lib-storage/index/maildir/maildir-sync-index.c: maildir: If we detect MH as the cause of unexpunging, log it in the error message. [80f77153d49c] * src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib/ostream-zlib.c: zlib: Fixed zlib/bzlib ostream flushing to report correctly when it's finished. This caused imap-zlib plugin to eat all CPU when stream compression was used. Patch by Apple. [c8f4cb187343] * src/lib-storage/mailbox-list.c: lib-storage: Create all files/dirs with u+rwX mode, even if source file/dir doesn't have it. This is mostly important when creating index files for read-only mailboxes. [ec84aad32983] * src/master/main.c: dovecot: Show the hg version also in "Dovecot starting up" log message. [22f69f7d16ab] * src/lib/buffer.c: DEBUG: Try to catch stale pointer dereferences to buffers after they've grown. In normal use some such bugs may not be noticed easily, because the buffer's memory allocation size is large enough that when adding another element the pointer doesn't change. [7037222941dc] * src/lib-index/test-mail-index-transaction-update.c: lib-index: Minor unit test fix. [1b52e859933a] * src/lib-index/Makefile.am, src/lib-index/mail-index-sync-ext.c, src /lib-index/mail-index-sync-private.h, src/lib-index/test-mail-index- sync-ext.c: lib-index: mail_index_sync_ext_atomic_inc() does now better error checking. [204bb387aeed] * src/lib-index/mail-index-sync-ext.c: lib-index: Another fix attempt for handling atomic inc with INT_MAX. [78742ad02c88] * src/lib-index/mail-index-sync-ext.c: lib-index: Minor fix to handling atomic inc with INT_MIN value. [a2d7c699abbb] * src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index /dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-multi/mdbox- map-private.h, src/lib-storage/index/dbox-multi/mdbox-map.c, src /lib-storage/index/dbox-multi/mdbox-map.h, src/lib-storage/index /dbox-multi/mdbox-purge.c, src/lib-storage/index/dbox-multi/mdbox- save.c, src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib- storage/index/dbox-multi/mdbox-storage.h, src/lib-storage/index /dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox-multi/mdbox- sync.h: mdbox: Renamed dbox_map* to mdbox_map*. [ac62dbb6a355] * src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index /dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox- storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-sync.c: mdbox: Changed error messages to contain "mdbox" prefix instead of "dbox". [6e1bbf87749f] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-storage.h, src/lib-storage/index/dbox-multi/mdbox- mail.c, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib- storage/index/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox- multi/mdbox-purge.c, src/lib-storage/index/dbox-multi/mdbox-storage- rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src /lib-storage/index/dbox-multi/mdbox-storage.h, src/lib-storage/index /dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox-single/sdbox- storage.c: mdbox: Avoid rebuilding storage if another process already did it. [de0ed7bea201] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: Storage rebuild should ignore ACLs for mailboxes. [85d6fb746783] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: Storage rebuild now silently ignores m.*.lock files if they exist. [1f5570ec0682] * src/lib/failures.c: Syslog messages now contain Warning:, Error: and Debug: prefixes also. So everything except Info: now has a prefix. [7493f94d544c] * src/imap/main.c, src/pop3/main.c: Compiler warning fix. [6d9265a3a620] * src/doveadm/doveadm.c: doveadm: Updated usage text. [541344dd60a7] * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Added expunge command. [8e3b8efa195e] 2010-04-28 Timo Sirainen * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-mail-iter.h: doveadm: Removed more code duplication from altmove/fetch commands. [c7cb58f1d2c6] * src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail- fetch.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Reduced code duplication. [f10ad708d748] * src/doveadm/doveadm-mail-fetch.c: doveadm fetch: If invalid fetch field is given, print list of available fields. [1ec4eb879f0e] * src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail.c: doveadm fetch: Added "fields to fetch" parameter. [c8981561c5f2] * src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail.c: doveadm fetch: Added support for fetching mails from multiple mailboxes. [dab4fb9f8140] * src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-list- iter.c: doveadm altmove: Fixed assert-crashing [f986a5b1f500] * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-list.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Added list command for listing users' mailboxes. [f99720c01ba2] * src/doveadm/doveadm-mail-altmove.c: doveadm altmove: Use the new mailbox list iteration API. [63dbfb4c2f71] * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-list-iter.c, src/doveadm/doveadm-mail-list-iter.h: doveadm: Added API for iterating through mailboxes more easily. [3d48ead930ba] * src/dsync/dsync-worker-local.c, src/lib-storage/mail-namespace.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h, src/plugins/virtual/virtual-config.c: lib-storage: mailbox_list_iter_init_namespaces() has more filtering capabilities now. - namespace types - MAILBOX_LIST_ITER_STAR_WITHIN_NS flag so that "*" doesn't escape beyond the namespace it started in. [af59d2d02f33] * src/lib-storage/mail-search.c, src/lib-storage/mail-search.h: lib-storage: Added mail_search_args_match_mailbox() [71e40ea473cf] * src/lib-storage/mail-search-build.c, src/lib-storage/mail-search- build.h: lib-storage: Added mail_search_build_add() [d5ca3aebc4ee] * src/lib-storage/index/index-search.c, src/lib-storage/mail-search- register-human.c, src/lib-storage/mail-search-register-imap.c, src /lib-storage/mail-search.c, src/lib-storage/mail-search.h: lib-storage: Added MAILBOX_GLOB search arg. Query builders now use it instead of MAILBOX. [3c9770bae39e] * src/lib-storage/mail-search.c: lib-storage: mail_search_args_equal() wasn't comparing string arguments correctly. [6b38d832839f] * src/lib-imap/imap-match.c, src/lib-imap/imap-match.h, src/lib-imap /test-imap-match.c: lib-imap: Added imap_match_globs_equal(). [9d411eeb7998] * src/lib-imap/imap-match.c, src/lib-imap/imap-match.h, src/lib-imap /test-imap-match.c: lib-imap: Added imap_match_dup(). [bb8ccf1ae2ac] * src/lib-test/test-common.c: lib-test: Call lib_deinit(). [f0d13439baea] 2010-04-26 Timo Sirainen * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-storage.h, src/lib-storage/index/dbox-multi/mdbox- map.c: mdbox: Automatically delete old temp.* files from storage/ directory. [abf262317b2c] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-file.h: mdbox: Recent change enabled dotlocking always, instead of using flock. [4f6fa828d0c9] * src/lmtp/commands.c: lmtp: Removed duplicate checking, at least for now. If duplicate checking is done, DATA should also send proper reply for them. [b13146b6a91b] 2010-04-23 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-map.c: mdbox: "Message has been copied too many times" error contains now refcounts. [6a3eaad2bae6] * configure.in: Link lmtp/lda with dovecot-lda shared library, not static library. [bd649ac7a741] * src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib-lda/mail- deliver.h: lib-lda: Added mail_deliver_get_log_var_expand_table(). [82d5351b5d39] * Makefile.am, configure.in, dovecot-config.in.in, dovecot.m4, src/lda/Makefile.am, src/lib-lda/Makefile.am, src/lmtp/Makefile.am: lib-lda is now an installed shared library. [1319fa7a7266] * src/lib-lda/mail-deliver.c: deliver_log_format: Increased max. message-id length to 200 chars. [62256701a326] 2010-04-21 Timo Sirainen * src/lda/Makefile.am, src/lmtp/Makefile.am: lda, lmtp: Fixed using virtual plugin when not using shared libs. [8818db00d347] * doc/example-config/conf.d/10-mail.conf: example-config: mdbox_altmove setting no longer exists, removed it. [b3cfa3dfd5ba] * doc/example-config/conf.d/10-logging.conf, src/lib-lda/mail- deliver.c: deliver_log_format: Added support for size and vsize [6a27203d4439] 2010-04-20 Timo Sirainen * src/config/doveconf.c: doveconf now prints only the one setting's value. [b6b81af98381] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-file.h: mdbox: If flock() isn't available, use dotlock files. This allows again using client_limit > 1 without corrupting dbox files. [0eff8ef104e6] * src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib- storage/index/dbox-multi/mdbox-storage.c: mdbox: Purge crashed if it purged all messages from a file. [944f4335845f] * src/lib-storage/mail-search-register-human.c: lib-storage: Fixed parsing human search parameter dates. [94ee28a11c47] * src/config/old-set-parser.c, src/doveadm/Makefile.am, src/doveadm /doveadm-mail-altmove.c, src/doveadm/doveadm-mail.c, src/doveadm /doveadm-mail.h, src/lib-storage/index/dbox-multi/Makefile.am, src /lib-storage/index/dbox-multi/mdbox-file-purge.c, src/lib- storage/index/dbox-multi/mdbox-file.h, src/lib-storage/index/dbox- multi/mdbox-mail.c, src/lib-storage/index/dbox-multi/mdbox-map- private.h, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib- storage/index/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox- multi/mdbox-purge.c, src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-settings.c, src/lib- storage/index/dbox-multi/mdbox-settings.h, src/lib-storage/index /dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-multi/mdbox- storage.h, src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib- storage/index/dbox-multi/mdbox-sync.h: mdbox: Moving messages to alt storage is done done with doveadm altmove command. The command can take an arbitrary search query listing what messages should exist in alt storage. If the message has been copied to multiple mailboxes, the search query must match all the instances of the message. Since the search query can now be specified in command line, mdbox_altmove setting was also removed. [a92389387cb7] * src/lib-storage/index/dbox-common/dbox-storage.h, src/lib- storage/index/dbox-single/sdbox-storage.h, src/lib-storage/index /dbox-single/sdbox-sync.c: dbox: Moved SDBOX_INDEX_FLAG_ALT macro to dbox-common. [129bc5eab66a] * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-fetch.c, src/imap /imap-search-args.c, src/lib-storage/Makefile.am, src/lib-storage /mail-search-build.c, src/lib-storage/mail-search-build.h, src/lib- storage/mail-search-parser-cmdline.c, src/lib-storage/mail-search- parser-imap.c, src/lib-storage/mail-search-parser-private.h, src /lib-storage/mail-search-parser.c, src/lib-storage/mail-search- parser.h, src/lib-storage/mail-search-register-human.c, src/lib- storage/mail-search-register-imap.c, src/lib-storage/mail-search- register.h, src/plugins/virtual/virtual-config.c: Added support for mail search input parsers. doveadm now uses command line parser. [4a98f01eaaac] 2010-04-19 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-sync.c: mdbox: More comment updates to syncing. [422ab02950b7] * src/lib-storage/index/dbox-multi/mdbox-sync.c: mdbox: Minor optimization for syncing expunges. [cf88ac9665f7] * src/lib/seq-range-array.c, src/lib/seq-range-array.h: seq_range_array_add() returns now TRUE if seq was already in array. [4ee1d2312d83] * src/lib-storage/index/dbox-multi/mdbox-sync.c: mdbox: Added a comment about how expunging works. [8e6cb40f577f] * src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index /dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox- storage.c, src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib- storage/index/dbox-multi/mdbox-sync.h: mdbox: Optimization: Don't update map UIDs' refcounts via array when it's not necessary. [c2c2c1dd252e] * src/lib-storage/index/dbox-multi/mdbox-save.c: mdbox: Comment update [0eb423848dc1] 2010-04-16 Timo Sirainen * src/config/old-set-parser.c: config: Added support for parsing obsolete setting ssl_disable. [a6b050cc4a9a] * src/lib-storage/list/mailbox-list-delete.c: lib-storage: Mailbox deletion via trash directory works now better with NFS. [c2f00a85a177] * src/lib-storage/mail-namespace.c: lib-storage: Fixed autocreating namespaces for shared users in some situations. [960c6936ba6a] * src/lib-storage/index/shared/shared-storage.c: lib-storage: Shared namespace's prefix_len wasn't updated after prefix was truncated. [8d45d4884019] * src/lib-dict/dict-client.c: dict proxy client: Timeout lookups after 30 s, log warning if lookup takes >5 s. [ba3c809c18e5] * src/plugins/imap-quota/imap-quota-plugin.c: imap-quota: Iterate quota roots only once when replying to GETQUOTAROOT. This halves the required dict lookup count. [4b14271e04db] * src/lib-dict/dict-client.c: dict proxy: Disconnect from dict server after 1 second of idling. Reconnecting is pretty cheap and it's not good to have many idling dict server processes. [bf08bb1807cf] * src/dict/dict-settings.c: dict: Changed default client_limit to 1. [69894aaab23c] * src/dict/dict-connection.c: dict: Client count wasn't updated when client disconnected, causing problems later. [91ef3309968a] * src/imap/cmd-idle.c: idle: Do cork/uncork when sending "OK Still here" notification. [ffc28ea81538] * src/lib-dict/dict-file.c: dict file: Get file's initial permissions based on parent directory. [b3947e64546a] * src/auth/password-scheme.c: auth: Removed special case check for MD5-CRYPT from wrong password scheme checking. [af46998fdccf] 2010-04-14 Timo Sirainen * src/imap-login/client.c, src/login-common/client-common-auth.c, src /login-common/client-common.c, src/login-common/login-common.h, src /login-common/login-settings.c, src/login-common/main.c, src/login- common/sasl-server.c, src/pop3-login/client.c: login: Keep binary-specific defaults in a struct. [57e53ecebbd3] * src/imap-login/client.c, src/login-common/client-common-auth.c, src /login-common/login-common.h, src/pop3-login/client.c: login: If proxy returns ssl=yes and no port, switch port to imaps/pop3s. [5f3edac6b3bf] * dovecot.m4: dovecot.m4: Added serial number. [9188fc60d615] * src/lib-storage/index/raw/raw-storage.c: raw: Fixed opening raw mailbox with filename. [eacb5fd16599] * doc/example-config/conf.d/20-pop3.conf, src/pop3/pop3-client.c, src/pop3/pop3-client.h, src/pop3/pop3-commands.c: pop3: Added %u=old/new UIDL hash to pop3_logout_format. It expands to "/ -> /" or if they're the same, simply "/". The idea is that if previous session's doesn't match next one's and prev.new_msg_count = next.old_msg_count, it could indicate that the UIDLs changed for some reason. But if they do match and client still redownloaded messages, it's most likely a client side problem. [e019febd7eb3] * src/auth/auth-request.c, src/auth/auth-stream.c, src/auth/auth- worker-client.c, src/auth/userdb-blocking.c: auth: Fixed userdb tempfail to work with blocking userdbs. [093591e1110b] * src/auth/auth-worker-client.c: auth: Removed userdb checking code from passdb code paths. [4f06636cd03f] * src/master/master-settings.c: master: Require protocols=none to not have any protocols. [ca663b6f63a4] * doc/example-config/conf.d/10-master.conf: example-config: Added auth-userdb socket with comments. [200a6532483b] 2010-04-13 Timo Sirainen * src/doveadm/Makefile.am, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Added initial code for fetch command. [51eea5bb3336] * src/imap/imap-search-args.c, src/lib-storage/Makefile.am, src/lib- storage/mail-search-build.c, src/lib-storage/mail-search-build.h, src/lib-storage/mail-search-register-human.c, src/lib-storage/mail- search-register-imap.c, src/lib-storage/mail-search-register.c, src /lib-storage/mail-search-register.h, src/lib-storage/mail-storage- private.h, src/lib-storage/mail-storage.c, src/plugins/virtual /virtual-config.c: lib-storage: Added search query building from human-friendly input. [3649ad8c9f9a] * src/lib-storage/mail-search-register.c: lib-storage: Minor optimization to search build initialization code. [8d1d1eb2c2a0] * src/lib-storage/Makefile.am, src/lib-storage/mail-search-build.c, src/lib-storage/mail-search-build.h, src/lib-storage/mail-search- register-imap.c, src/lib-storage/mail-search-register.c, src/lib- storage/mail-search-register.h, src/lib-storage/mail-storage- private.h, src/lib-storage/mail-storage.c: lib-storage: Rewrote search query building code to be more modular. [c6db5769942f] * doc/example-config/dovecot.conf: example-config: Added a note about !include file ordering. [3e427a0c1790] * doc/example-config/conf.d/10-mail.conf: example-config: Removed some old comments that aren't really useful anymore. [1b634a3932d0] * src/lib-storage/index/index-search.c, src/lib-storage/mail-search- build.c, src/lib-storage/mail-search.c, src/lib-storage/mail- search.h: lib-storage: Added support for searching save date. [4ade4d8c66c5] * Makefile.am: make distcheck now runs code via clang static analyzer if it exists. [762a4216352f] * src/auth/mech-gssapi.c: Static analyzer warning fix. [caf8c5d39ab2] * run-test.sh: run-test: Fixed to work correctly with older Valgrind versions. [892d28020605] * Makefile.am: Makefile: Added run-test.sh to tarball. [b11f69e5078e] * src/lib-storage/mail-storage-service.c: mail storage service: Fixed chroot handling. [9d4a9abf3ec3] * src/lib-storage/mail-storage-settings.c: lib-storage: Check for mail_plugin_dir existence only in config binary. Other binaries may already have chrooted when the check is done. [7d541fcfcb5e] * src/lib/module-dir.c: module_dir_load_missing(): If all modules are already loaded, don't scan plugin directory. [88959ce9c8e4] * src/plugins/quota/quota-dict.c: quota: If dict quota update fails, log an error. [b24789f95476] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-multi/Makefile.am, src/lib-storage/index/dbox-multi/mdbox- storage.c, src/lib-storage/index/dbox-single/Makefile.am, src/lib- storage/index/dbox-single/sdbox-storage.c: dbox: Use flock() for file locking if possible. If not, require client_limit=1. Maybe some day dbox code can be redesigned in a way that allows it to work with fcntl() locking too. [3d585e69aa95] 2010-04-12 Timo Sirainen * src/lmtp/commands.c: lmtp: Crashfix to multiple RCPT TOs when the first mail couldn't be used as a copy source. [6b7b2987c41f] * src/lib-lda/mail-deliver.c: lib-lda: Added assert. [a73f3da6d7a8] * doc/example-config/conf.d/Makefile.am: Makefile: Updated renamed *.conf filenames. [06bd06c2f523] 2010-04-10 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-sync.c: mdbox: If storage directory doesn't exist while trying to purge, ignore it. [5dac1012e47e] * src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index /dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox- map.h, src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src /lib-storage/index/dbox-multi/mdbox-storage.c: mdbox: Purging shouldn't give "unknown error" if mdbox storage doesn't exist. [2200450752bd] * doc/example-config/conf.d/10-auth.conf, doc/example- config/conf.d/10-logging.conf, doc/example- config/conf.d/10-mail.conf, doc/example- config/conf.d/10-master.conf, doc/example-config/conf.d/10-ssl.conf, doc/example-config/conf.d/15-lda.conf, doc/example- config/conf.d/20-imap.conf, doc/example-config/conf.d/20-lmtp.conf, doc/example-config/conf.d/20-pop3.conf, doc/example- config/conf.d/90-plugin.conf, doc/example-config/conf.d/auth.conf, doc/example-config/conf.d/imap.conf, doc/example- config/conf.d/lda.conf, doc/example-config/conf.d/lmtp.conf, doc /example-config/conf.d/logging.conf, doc/example- config/conf.d/mail.conf, doc/example-config/conf.d/master.conf, doc /example-config/conf.d/plugin.conf, doc/example- config/conf.d/pop3.conf, doc/example-config/conf.d/ssl.conf: example-config: Added nn- prefix to *.conf files so the sort ordering makes more sense. This is especially important to get mail_plugins = $mail_plugins example working in protocol sections. [4dd372d1e80a] * src/config/config-parser.c: config: !include * added files in reverse sort order. [e25b0ecfc758] * src/plugins/imap-zlib/imap-zlib-plugin.c: imap-zlib: Fixed crash if imap_zlib_compress_level setting wasn't set. [454ea8812d54] * src/lmtp/commands.c: lmtp: Fixed crash when multiple mails were saved and second one failed. [cc00fdf1943b] * src/lib-storage/index/dbox-multi/mdbox-sync.c: mdbox: If purging found corrupted files, it didn't auto-rebuild storage. [8f67eaebfc17] 2010-04-09 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: Fixed assert-crashing in storage rebuild. [f15e96e46715] 2010-04-08 Timo Sirainen * configure.in: configure: Fix to older autoconfs [829cc91ed831] * src/auth/auth-request-handler.c: auth: Fixed SASL authentication broken by recent changes. [23e87e78c66e] * src/lib-master/master-service.c: lib-master: Fixed version mismatch error message. [a0d0ed6a2b63] * Makefile.am, configure.in, src/auth/Makefile.am, src/imap/Makefile.am, src/lib-auth/Makefile.am, src/lib- charset/Makefile.am, src/lib-dict/Makefile.am, src/lib- dns/Makefile.am, src/lib-imap/Makefile.am, src/lib- index/Makefile.am, src/lib-lda/Makefile.am, src/lib- mail/Makefile.am, src/lib-master/Makefile.am, src/lib- settings/Makefile.am, src/lib-sql/Makefile.am, src/lib- storage/Makefile.am, src/lib-storage/index/Makefile.am, src/lib- storage/index/cydir/Makefile.am, src/lib-storage/index/dbox- common/Makefile.am, src/lib-storage/index/dbox-multi/Makefile.am, src/lib-storage/index/dbox-single/Makefile.am, src/lib- storage/index/maildir/Makefile.am, src/lib- storage/index/mbox/Makefile.am, src/lib- storage/index/raw/Makefile.am, src/lib- storage/index/shared/Makefile.am, src/lib-storage/list/Makefile.am, src/lib-test/Makefile.am, src/lib/Makefile.am, src/login- common/Makefile.am, src/plugins/notify/Makefile.am, src/pop3/Makefile.am: configure: Removed --enable-header-install. It's now always enabled. There didn't seem to be much point in keeping it optional anymore. They're now more useful than before because shared libraries are also installed. [eee1e2a1c25b] * src/plugins/virtual/virtual-storage.c: virtual: Added assert. [e47de5f3caae] * src/lib-imap/imap-arg.h: imap-arg: Added IMAP_ARG_IS_NSTRING(). [5ba59cc8b235] * dovecot.m4: dovecot.m4: Export DOVECOT_CFLAGS/LIBS/SSL_LIBS [0fa195674d1a] * src/plugins/virtual/virtual-config.c: virtual: Fixed showing error messages for mailbox open. [eca1b44a5d71] * src/plugins/virtual/virtual-storage.c: virtual: If backend mailbox isn't found, don't use NOTFOUND error code. [a1b18a7c829f] * src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual- storage.c: virtual: Don't crash when trying to reopen a closed mailbox. [09ecf24a798b] 2010-04-07 Timo Sirainen * src/lib-master/master-login.c: lib-master: Fixed errors with post-login scripts. [af7beceda361] * src/lib-storage/index/index-transaction.c: lib-storage: Removed wrong asserts (causing crashes in quota plugin). [3823670df351] * src/lib-master/master-login.c: lib-master: Log an error if login client disconnects too early. [5074e30d72d4] * src/lib-master/master-login.c: lib-master: Client connection counting fix. [c0fe14f76760] * src/lib-storage/mail-storage-private.h, src/lib-storage/mail- storage.c, src/lib-storage/mail-storage.h: lib-storage: Panic if deiniting storage before closing its mailboxes. [085253f549f8] * src/plugins/quota/doveadm-quota.c: Compiler warning fix. [5d888efd6d4e] * src/lib-master/master-login.c: lib-master: Fixed checking if login connection was already closed. [c2a1163e584f] * src/lib-settings/settings-parser.c: lib-settings: Fixed parsing octal numbers. [063a584858bf] * src/lib-master/master-login.c, src/lib-master/master-service- private.h, src/lib-master/master-service.c: lib-master: Changed post-login process's client counting to make sense again. This should also fix problems where a new process isn't created because an existing one is waiting for auth request reply. [64bead0067b0] * src/plugins/virtual/virtual-storage.c: Increased initial memory pool size. [7649c491b744] * src/lib-master/master-auth.c: lib-master: Aborting master auth request caused a crash. [2d8100dca18e] * src/lib-master/master-login.c: lib-master: Login client connection wasn't closed on some error conditions. [b93ae980b66b] * src/plugins/imap-zlib/imap-zlib-plugin.c: Compiler warning fix. [9efddc9abfce] * src/lib-master/master-login-auth.c, src/lib-master/master-login- auth.h: lib-master: Added timeout for auth master lookups. [0979e9e1e124] * src/lib-master/master-login.c: lib-master: Crashfix for handling auth master lookup failures. [6aaa6fcba131] * src/dsync/dsync.c: dsync: Added -D (debug) parameter. [f344426dab0a] * src/dsync/dsync.c: dsync: Changed -A parameter to -C. -A might in future mean "all users", similar to doveadm. [d9ec5fdb2d63] * src/doveadm/doveadm-kick.c, src/doveadm/doveadm-who.c: doveadm: Updated usage strings. [a3b211df3ae3] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Added more consts to code. [1ca491b04710] * src/doveadm/doveadm-mail.c: doveadm: Mail commands now take username as -u parameter and all with -A. If -u or -a isn't given, use the current user's settings (without userdb lookup). [e0fe42c6424b] * src/lib/strnum.c: str_to_*(): Fixed them to actually work. [6973977bf626] * src/dsync/dsync-worker-local.c: dsync: Don't crash if shared namespace exists. [ad6b245cf3b5] * src/plugins/expire/expire-tool.c: expire-tool: Improved -t output. [77e9d36b3f82] * src/lib/strfuncs.c, src/lib/strfuncs.h: Removed is_numeric(). It's now called str_is_numeric(). [01ab9b93f8bb] * src/anvil/anvil-connection.c, src/auth/auth-client-connection.c, src/auth/auth-master-connection.c, src/auth/auth-request-handler.c, src/auth/auth-request.c, src/auth/auth-worker-client.c, src/auth /auth-worker-server.c, src/auth/mech-digest-md5.c, src/auth/passdb- pam.c, src/auth/userdb.c, src/config/config-connection.c, src/config /config-parser.c, src/dict/dict-commands.c, src/imap/cmd-fetch.c, src/imap/cmd-select.c, src/imap/cmd-store.c, src/lib-auth/auth- master.c, src/lib-auth/auth-server-connection.c, src/lib-dict/dict- client.c, src/lib-dict/dict-db.c, src/lib-master/master-login- auth.c, src/lib-master/master-service.c, src/lib-settings/settings- parser.c, src/lib-sql/sql-api.c, src/lib-storage/index/dbox-multi /mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-storage- rebuild.c, src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib- storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib- storage/index/maildir/maildir-keywords.c, src/lib- storage/index/maildir/maildir-mail.c, src/lib-storage/mail-search- build.c, src/lib-storage/mail-storage-service.c, src/lib/file- dotlock.c, src/lib/network.c, src/lib/restrict-access.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/expire/expire- env.c, src/plugins/fts-squat/fts-backend-squat.c, src/plugins/imap- quota/imap-quota-plugin.c, src/plugins/imap-zlib/imap-zlib-plugin.c, src/plugins/trash/trash-plugin.c, src/plugins/zlib/zlib-plugin.c: Started using str_to_*() functions instead of libc's ones. [260e190306b0] * src/lib/Makefile.am, src/lib/lib.h, src/lib/strnum.c, src/lib/strnum.h: Added str_to_*() for converting strings to numbers, plus a few helper functions. The str_to_*() return failure also if integer is too large or too small to fit into destination. [b262aad23e59] * src/auth/auth-worker-client.c: auth: Code cleanup. [88a7e034ebc1] 2010-04-06 Timo Sirainen * src/pop3/pop3-client.c: pop3: Don't break client connection count if client init fails. [1735958db2f1] * src/master/service-listen.c: master: Added asserts. [4fc3aed0ef03] * src/lib-storage/mailbox-list.c: mailbox_list_mailbox(): Avoid crashing with shared namespace prefix. [0e7125f1e27e] * src/lib-storage/mailbox-list.c: mailbox_list_mailbox(): Don't show namespace prefix as selectable if it points to INBOX. [944591ed8ceb] 2010-04-05 Timo Sirainen * src/auth/db-passwd-file.c, src/auth/db-passwd-file.h, src/auth /passdb-passwd-file.c, src/auth/userdb-passwd-file.c: auth: Fixed using same passwd-file with different username_format settings. [2fbd31f90277] * src/lib-master/master-service-settings-cache.c, src/lib-master /master-service-settings-cache.h, src/lib-master/master-service- settings.h, src/lib-settings/settings-parser.c, src/lib-settings /settings-parser.h, src/lib-storage/mail-storage-service.c, src /login-common/login-settings.c: Fixed memory leak when parsing settings. [46d4f3264417] * src/plugins/fts-squat/squat-uidlist.c: Removed unnecessary variable. [8627be1f6de9] * src/config/config-request.c, src/lib-index/mail-cache-compress.c, src/lib-index/mailbox-list-index-sync.c, src/lib-index/test-mail- transaction-log-view.c, src/lib-mail/test-message-id.c, src/lib- storage/mail-storage-service.c, src/lib/test-istream-crlf.c: Small code changes to make static analyzer happier. [fa08ed2b7560] * src/util/gdbhelper.c: gdbhelper: Check wait() status result a bit more correctly. [3b8542d58181] * src/auth/mech-winbind.c, src/config/config-filter.c, src/doveadm/doveadm.h, src/lib-index/mail-index-sync-ext.c, src/lib- index/mail-transaction-log-view.c, src/lib-mail/message-decoder.c, src/lib-storage/index/index-sort-string.c, src/lib-storage/mail- search.c, src/lib/env-util.c, src/lib/test-istream-concat.c, src/lib /test-istream-seekable.c, src/plugins/expire/expire-plugin.c: Small code changes to make static analyzer happier. [c32f55615055] * src/lib/var-expand.c: var_has_key(): Small code cleanup. [462376c65e73] * src/lib-index/mail-index-map.c: lib-index: Small code cleanup. [7d76f4a9c5c8] * src/plugins/virtual/virtual-sync.c: virtual: Small code cleanup. [d61ffd81124c] * src/lib-storage/mailbox-list.c: lib-storage: Avoid crash with pointless configs. [bd2ac7e2fc40] * src/plugins/acl/acl-backend-vfile.c: acl: Updating empty ACL to empty triggered unnecessary disk write. [960a01833e4c] * src/lib-index/mail-transaction-log-view.c: lib-index: Small code cleanup. [a65dbdedb202] * src/lmtp/commands.c: lmtp: Crashfix for handling invalid MAIL/RCPT commands. [c435103ee0ff] * src/lib-index/mail-cache-transaction.c: lib-index: Minor code cleanup. [767eb5691fe2] * src/auth/mech-otp.c, src/auth/passdb-sql.c, src/lib- storage/index/mbox/mbox-storage.c: Removed dead code. [30815e260f47] * src/plugins/fts-solr/solr-connection.c: solr: Error handling fix when Solr didn't return 200. [1786d44bf90f] * src/imap-login/client-authenticate.c, src/imap-login/client.c, src/imap/cmd-append.c, src/imap/cmd-cancelupdate.c, src/imap/cmd- enable.c, src/imap/cmd-expunge.c, src/imap/cmd-fetch.c, src/imap /cmd-list.c, src/imap/cmd-search.c, src/imap/cmd-select.c, src/imap /cmd-sort.c, src/imap/cmd-status.c, src/imap/cmd-store.c, src/imap /cmd-thread.c, src/imap/imap-client.c, src/imap/imap-commands- util.c, src/imap/imap-fetch-body.c, src/imap/imap-search-args.c, src/imap/imap-search.c, src/imap/imap-status.c, src/lib- imap/Makefile.am, src/lib-imap/imap-arg.c, src/lib-imap/imap-arg.h, src/lib-imap/imap-bodystructure.c, src/lib-imap/imap-envelope.c, src /lib-imap/imap-id.c, src/lib-imap/imap-parser.c, src/lib-imap/imap- parser.h, src/lib-imap/imap-util.c, src/lib-storage/mail-search- build.c, src/plugins/imap-quota/imap-quota-plugin.c, src/plugins /imap-zlib/imap-zlib-plugin.c: lib-imap: Changed imap_arg accessing APIs. The new one is easier for both coders and static analyzers. [dbc864c0cff7] * src/plugins/virtual/virtual-storage.c: virtual: Improved user-visible error messages. [314f230b3a00] * src/lda/main.c, src/lmtp/client.c: lda, lmtp: Use layout=none for the raw mail storage. This removes the need for hardcoded /tmp dir and avoids stat(/tmp/Dovecot Delivery Mail). [9c94f073d014] * src/lib-storage/index/index-storage.c, src/lib- storage/list/Makefile.am, src/lib-storage/list/mailbox-list-none.c, src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list.c, src /lib-storage/mailbox-list.h, src/lib-storage/register/Makefile.am: lib-storage: Added "none" mailbox list driver. Fixed the most obvious crashes when using the driver. [6b1f08814e59] * src/lib-index/mail-index-alloc-cache.c: lib-index: mail_index_alloc_cache_get() now allows mailbox_path=NULL. Also did a small code cleanup with this change. [6a65c0e043e2] * src/lib-auth/auth-master.c: lib-auth: Make sure auth_master_*_lookup() returns non-NULL fields. [5e3e00d11ca5] * src/lib-storage/mail-storage-service.c: mail storage service: -o parameter now overrides userdb settings too. [f9e6078ca95c] * src/lib-master/master-service-settings.c, src/lib-master/master- service-settings.h: lib-master: Added master_service_set_has_config_override(). [cdef53978a77] * src/lib-settings/settings-parser.c, src/lib-settings/settings- parser.h: Added settings_parse_unalias(). [49c0232047f0] * src/lib-storage/mail-storage.c: lib-storage: Don't crash if root mail directory isn't given. [373e2b3a050a] * src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list /mailbox-list-maildir-iter.c: lib-storage: MAILBOX_LIST_ITER_NO_AUTO_INBOX flag didn't work correctly. [87b7fc7f1e7d] * src/lib-storage/index/maildir/maildir-storage.c, src/lib- storage/list/mailbox-list-maildir-iter.c, src/lib-storage/mailbox- list.c: mailbox_list_mailbox(): Fixed INBOX and root dir lookups. [1930cc14cb11] * src/dsync/dsync.c: dsync: Set module/service for config lookup. [93c82d873408] * src/lib-storage/index/mbox/mbox-storage.c: mbox: Check at storage init that root dir isn't a file. Delaying this check will just cause all kinds of errors later on. [f8d9bf024e0f] * src/dsync/dsync-worker-local.c: dsync: Don't repeatedly try to keep opening the same failing mailbox. [ea5bb5676b3f] * src/imap/cmd-select.c: Recent changes broke compiling. [c0cbcb9ea3c1] * src/lib-lda/mail-send.c: lib-lda: Crashfix when sending rejection mail with Auto-Submitted: header. [24661838390f] * src/auth/passdb.c: auth: Don't pass uninitialized value to callback function. (Even though callback shouldn't use it then.) [53c6cbb2932b] * src/plugins/quota/quota-maildir.c: Maildir++ quota: Error handling fix. [d931e61516d0] * src/lib-storage/list/mailbox-list-maildir-iter.c: layout=maildir++: Minor code cleanup. [2a4a4140c999] * src/lib-storage/index/mbox/mbox-sync.c: mbox: Potential crashfix if some plugin enabled sync_notify (e.g. quota). [49fa7e735b87] * src/master/service.c: master: Checking if fifo_listener was disabled was broken. [ac69462fc549] * src/login-common/sasl-server.c: login: Crashfix on error conditions. [321ec63de44f] * src/lib-index/mail-transaction-log.c: lib-index: Crashfix on error handling. [c88e1b2658a8] * src/auth/auth-master-connection.c, src/auth/auth-request-handler.c, src/config/old-set-parser.c, src/dict/dict-commands.c, src/doveadm /doveadm-dump-log.c, src/imap/cmd-close.c, src/imap/cmd-list.c, src/imap/cmd-select.c, src/imap/cmd-sort.c, src/imap/cmd-unselect.c, src/lda/main.c, src/lib-imap/imap-match.c, src/lib-index/mail-cache- transaction.c, src/lib-index/mail-index-sync-ext.c, src/lib-index /mail-index-sync-update.c, src/lib-index/mail-index-view-sync.c, src /lib-index/mail-index-view.c, src/lib-index/mail-transaction-log- file.c, src/lib-lda/mail-send.c, src/lib-mail/message-header- decode.c, src/lib-mail/message-header-parser.c, src/lib-mail/test- istream-header-filter.c, src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index/dbox-common/dbox-file-fix.c, src/lib- storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index/index- mail.c, src/lib-storage/index/index-thread.c, src/lib- storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir /maildir-storage.h, src/lib-storage/index/maildir/maildir-sync.c, src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib- storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox/mbox- save.c, src/lib-storage/index/mbox/mbox-sync-update.c, src/lib- storage/list/mailbox-list-fs.c, src/lib-storage/mail-storage- service.c, src/lib/askpass.c, src/lib/file-cache.c, src/lib/file- dotlock.c, src/lib/home-expand.c, src/lib/istream-tee.c, src/lib /seq-range-array.c, src/lib/strescape.c, src/lib/strfuncs.c, src /login-common/client-common-auth.c, src/login-common/ssl-proxy- openssl.c, src/master/main.c, src/plugins/fts-squat/squat-trie.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/pop3/pop3-client.c, src/util/maildirlock.c: Removed dead code. [0f98525e4567] * src/lib-index/mail-index-view-sync.c: lib-index: View syncing error handling fix. [f72884695084] * src/lib-storage/index/dbox-common/dbox-file-fix.c: dbox file fixing: If I/O error happens during read, don't finish the fix. [1f97d4217f73] * src/lib-mail/message-address.c: message address parser: Fixed potential problems with parsing invalid address groups. [ae8294182346] * src/lib-storage/list/mailbox-list-maildir.c: layout=maildir++: Fixed deleting mailboxes with mailbox=file storages (e.g. mbox) [59445c4055ab] * src/lib-storage/index/mbox/mbox-sync.c: mbox: Sync write error handling fix. [4a8f0388e854] * src/lib-storage/index/dbox-common/dbox-file.c: dbox: Save error handling fix. [0bc933c35a17] * src/lib-storage/index/cydir/cydir-sync.c: cydir: Error handling fix. [be9be5111ce2] * src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.h, src/dsync/dsync-worker-local.c: dsync: Verify that msg-get and msg-copy reply has the correct UID. [ba75ab0c3e10] * src/plugins/quota/doveadm-quota.c: doveadm quota get: Fixed error handling. [4f23c349da0d] 2010-04-04 Timo Sirainen * src/doveadm/doveadm-dump-log.c: doveadm dump log: Write uid[s]= prefix before all UID numbers. [3504ce6159f3] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h: doveadm: Marked some functions ATTR_NORETURN. [d9e773db6920] * src/lib/ioloop-epoll.c: epoll: Improved error messages. [60a25bda7e02] * src/lib-storage/index/dbox-common/dbox-sync-rebuild.c: dbox: When rebuilding index, don't try to shrink next_uid. [cf302ede55bc] * src/lib-storage/index/dbox-single/sdbox-storage.h, src/lib- storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib- storage/index/dbox-single/sdbox-sync.c: sdbox: Removed unused code. [1e118fd825c7] * src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib- storage/index/dbox-single/sdbox-storage.h, src/lib-storage/index /dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single /sdbox-sync.c: sdbox: Avoid logging multiple adjacent "Invalid dbox header size" errors. [d16bfa082e88] * src/lib-storage/index/dbox-single/sdbox-storage.c: sdbox: mailbox_update() could have changed UIDVALIDITY incorrectly. [46ede677961d] 2010-04-03 Timo Sirainen * src/auth/passdb-vpopmail.c: vpopmail: Load vpopmail modules at startup. Hopefully helps with crashing? [7835a672117f] 2010-03-31 Timo Sirainen * src/dsync/dsync.c: dsync: Changed -b parameter to -m to be more consistent with dovecot-lda. [4e527339da8b] * src/dsync/dsync.c: dsync: Usage had wrong -a parameter. [b261004b8492] * src/auth/auth-master-connection.c, src/auth/auth-request-handler.c, src/auth/auth-stream.c, src/auth/auth-stream.h, src/auth/auth- worker-client.c, src/auth/passdb-blocking.c, src/auth/userdb- blocking.c: auth: If userdb lookup returns tempfail, return reason field (if any). [b40ec803421e] * doc/auth-protocol.txt, src/doveadm/doveadm-auth.c, src/doveadm /doveadm-mail.c, src/dsync/dsync.c, src/imap/main.c, src/lib-auth /auth-master.c, src/lib-auth/auth-master.h, src/lib-master/master- auth.c, src/lib-master/master-auth.h, src/lib-master/master-login- auth.c, src/lib-master/master-login-auth.h, src/lib-master/master- login.c, src/lib-master/master-login.h, src/lib-storage/mail- storage-service.c, src/lib-storage/mail-storage-service.h, src/lmtp/commands.c, src/login-common/client-common-auth.c, src /login-common/sasl-server.c, src/login-common/sasl-server.h, src/pop3/main.c: Added support for userdb lookup to fail with a reason (many API changes). [2e08ce368bc0] * src/auth/auth-request.c: auth: If userdb lookup fails internally, don't cache the result. [ce7ed594d99e] 2010-03-29 Timo Sirainen * src/lib-storage/list/mailbox-list-fs-iter.c: fs layout: Fixed listing child mailboxes under INBOX. [dbb05e38295a] * src/lib-storage/mail-storage-service.c: Dynamic setting allocation was still a bit wrong. [b791ebb2c700] 2010-03-27 Timo Sirainen * src/master/service-listen.c: master: Changed listener backlog calculations. [aefa279e2c70] * src/master/service-listen.c: master: Increased listen backlog for services without many processes. [96496e1d3d12] 2010-03-27 Pascal Volk * is-tagged.py: is-tagged.py: Don't fail if Mercurial isn't available. [84ffb38839b9] 2010-03-27 Timo Sirainen * src/pop3/main.c: pop3: Don't crash if INBOX can't be opened. [110ef59372cd] * src/lib-storage/mail-storage.c: lib-storage: Fix to previous change: Don't access freed memory. [f4ff6c7cdafe] * src/lib-storage/mail-storage.c, src/lib-storage/mail-user.h: lib-storage: If INBOX can't be opened/synced, log an error once. [0f0b8e1a2c55] * configure.in: configure: Removed special casing from tcpwrap settings. ifdef check handles this now in the actual code. (And now I see that I could have avoided that change by just fixing this check to use "== yes" instead of "!= no", but what's done is done.) [6891d20929ca] * src/config/settings-get.pl: config: Fixed all-settings building script. [2178c4569f38] * configure.in: configure: Minor description fix to previous change. [864b17ec5fac] * configure.in: configure: Disabled tcp-wrappers by default. At least until someone figures out why it fails in Slackware with "undefined reference to yp_get_default_domain" error. [51150f2b3be8] * src/plugins/zlib/zlib-plugin.c: zlib: Fixed compiling if both zlib and bzlib weren't used. [89c602af7e09] * src/lib-sql/driver-pgsql.c: pgsql: Don't leak memory if query returns multiple results. Found by Rainer Weikusat. [5a6aaf88f15c] * src/lib-master/master-service-settings.c, src/lib-master/master- service-settings.h, src/lib-storage/mail-storage-service.c: Dynamic settings parser allocation logic was wrong. Default setting structures were being cleared after settings parser pool was freed. [fdb352eecdac] * src/lib-master/master-service-settings.c, src/lib/abspath.c, src/lib/abspath.h: Added t_binary_abspath(). [f483bbface26] * src/imap/imap-fetch-body.c, src/lib-mail/message-search.c, src/lib- mail/message-search.h, src/lib-storage/index/index-mail.c, src/lib- storage/index/index-mail.h, src/lib-storage/index/index-search.c, src/lib-storage/mail-storage-private.h, src/lib-storage/mail- storage.h, src/lib-storage/mail.c, src/lib-storage/test-mail.c, src/plugins/virtual/virtual-mail.c: lib-storage: mail_get_parts() no longer returns const pointer. The struct message_part contained context-pointer and other APIs were using it, so the pointer really couldn't be const without casting it away sometimes. [679e99e430d7] 2010-03-27 Pascal Volk * .hgignore, Makefile.am, is-tagged.py, src/config/doveconf.c, src/master/main.c, update-version.sh: {master,doveconf}: Show the version with hg's node id, if unreleased. Affects output from `dovecot --version` and `doveconf`. [a2c6c91635b5] 2010-03-27 Timo Sirainen * src/lib-index/mail-index-modseq.c, src/lib-index/mail-index-sync.c, src/lib-otp/otp-parse.c, src/lib-settings/settings-parser.c, src/lib /execv-const.c, src/lib/fdpass.c: Avoid casting away const qualifiers wherever possible. [be5b93c18203] * src/lib/macros.h: Added CONST_STRUCT_MEMBER_P() and removed unused (broken) STRUCT_MEMBER(). [961ded33ca0a] * src/auth/mech-winbind.c, src/auth/passdb-checkpassword.c, src/auth /userdb-checkpassword.c, src/dsync/dsync.c, src/lib-lda/smtp- client.c, src/lib-master/master-service-settings.c, src/lib-settings /settings-parser.c, src/master/main.c, src/util/script.c: Replaced execv*() with execv*_const() wherever possible. [43f2452b7dd8] * src/lib/Makefile.am, src/lib/execv-const.c, src/lib/execv-const.h: Added execv_const() and execvp_const() helper functions. [ddbc6e8b2776] * configure.in, run-test.sh, src/anvil/Makefile.am, src/dsync/Makefile.am, src/lib-dict/Makefile.am, src/lib- imap/Makefile.am, src/lib-index/Makefile.am, src/lib- mail/Makefile.am, src/lib-storage/index/Makefile.am, src/lib/Makefile.am: If valgrind exists, run unit tests using it. If valgrind prints any errors, fail the test. [c78fe7920deb] * src/lib-mail/test-message-decoder.c: Unit test fix. [c892f3f4aae8] 2010-03-26 Timo Sirainen * src/lib-master/master-service-settings-cache.c: lib-master: Fixed local host {} specific settings. Based on fix by Julien Moutinho [ad135ced2732] * src/lib-storage/mail-namespace.c: lib-storage: Namespace debug logging now logs the namespace name also. [094c6a082caf] * src/auth/auth-worker-client.c: auth: Error handling fix. [407c131ab50f] * src/auth/auth-request.c: auth: Added "tempfail" userdb field. [53f4e8e0166a] 2010-03-25 Pascal Volk * doc/example-config/Makefile.am: example-config: Don't fail on the README file if builddir != srcdir. [a044c605fecf] 2010-03-25 Timo Sirainen * src/util/tcpwrap-settings.c: tcpwrap: If tcpwrap support isn't built, don't add its service to config. [8f5bc2a21f99] * src/config/settings-get.pl: config: Parser script now supports preserving #ifdefs around service_settings. [b218d4ec6996] * src/imap/main.c, src/pop3/main.c: imap, pop3: Added -u parameter to do userdb lookup. [93be85bb9db8] * src/lib-master/master-service-settings.c: lib-master: When getting settings via doveconf, tell it our module. [2d7b7fb99693] * src/master/main.c: master: Get settings without specifying module. [eecf62b49475] * src/config/doveconf.c: doveconf -e: Expands $variables and * src/config/config-connection.c, src/config/config-filter.c, src/config/config-parser-private.h, src/config/config-parser.c, src/config/config-parser.h, src/config/config-request.c, src/config/doveconf.c, src/config/main.c: doveconf: When module is given, ignore checks for non-required settings. [02e0d6f0e1d4] * configure.in: configure: Fixed libwrap checking in some systems. [5b0a88cb9a12] * src/config/old-set-parser.c, src/master/master-settings.c: config: Avoid problems with trailing '/' in base_dir. [2fde82ea7cd9] * src/auth/auth-settings.c: auth: Increased default client_limit to 4096. [7d7540af8446] * src/master/master-settings.c: config: Log a warning if auth service's client_limit is too low. [4191ba54c8aa] 2010-03-23 Timo Sirainen * src/dsync/dsync-brain.c: dsync: Added extra sanity check. [f6c2c0866aff] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib- storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index /dbox-multi/mdbox-storage.h: mdbox: Do delayed storage rebuild when closing mailbox. Doing it on storage destroy causes problems. [52d9b2d8c1e8] * src/util/script.c: script: Fixed using mail_uid/mail_gid settings as fallback. [841bfacb7ec3] 2010-03-22 Timo Sirainen * src/lib-sql/driver-mysql.c: mysql: Fixed compiling with older libraries that didn't support CLIENT_MULTI_RESULTS. [9aa107613324] * src/lib-storage/index/dbox-common/dbox-mail.c: dbox_mail_get_save_date(): Last change was broken. [9202254c8499] * src/lib-storage/index/maildir/maildir-mail.c: maildir: get_save_date() should return 0, not the timestamp. Patch by Rainer Weikusat [1b588519f00c] * .hgsigs: Added signature for changeset 38e98c234af5 [0f1b86898124] * .hgtags: Added tag 2.0.beta4 for changeset 38e98c234af5 [1f25490893d6] * TODO, configure.in: Released v2.0.beta4. [38e98c234af5] [2.0.beta4] * src/lib/macros.h: Asserts now use __FUNCTION__ instead of __PRETTY_FUNCTION__. With gcc these had the same output, but clang's __PRETTY_FUNCTION__ returns a larger output that's not useful. [56fd824b1d65] * src/lib/macros.h: Removed unused GNUC_FUNCTION* macros. [399f855035bc] 2010-03-21 Timo Sirainen * src/lib-storage/index/dbox-common/dbox-save.h, src/lib-storage/index /dbox-single/Makefile.am, src/lib-storage/index/dbox-single/sdbox- copy.c, src/lib-storage/index/dbox-single/sdbox-file.c, src/lib- storage/index/dbox-single/sdbox-file.h, src/lib-storage/index/dbox- single/sdbox-save.c, src/lib-storage/index/dbox-single/sdbox- storage.h: sdbox: Copying is now done with hard links. [1bb98ad1af8b] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-file.h, src/lib-storage/index/dbox-common/dbox- mail.c, src/lib-storage/index/dbox-common/dbox-save.c, src/lib- storage/index/dbox-single/sdbox-save.c: dbox: Don't write save-date to metadata, use file's ctime as fallback. Copying must change the save-date, so it couldn't work well in metadata. [cc42255736ad] * src/lib-storage/index/dbox-single/sdbox-mail.c: sdbox: Don't break when trying to access mail that's just being expunged. [d87741f0e95a] 2010-03-19 Timo Sirainen * src/plugins/mail-log/mail-log-plugin.c: Increased initial memory pool size. [b7d7b44fcbc8] * src/auth/auth-request.c: auth: Previous change broke non-master logins.. [5050e2eb1bfe] * src/auth/auth-request.c, src/auth/auth.c: auth: Fixed master user logins. [b05793c609ac] * src/config/config-parser.c: config: Changed key=$key to expand to first parser that changed it. This allows adding chained settings, like: key=foo key=$key bar key=$key baz -> key=foo bar baz [9621bb06b15c] * src/lib-settings/settings-parser.c, src/lib-settings/settings- parser.h: Added settings_parse_is_changed(). [48f6353e2226] * doc/example-config/conf.d/imap.conf, doc/example- config/conf.d/lda.conf, doc/example-config/conf.d/lmtp.conf, doc /example-config/conf.d/mail.conf, doc/example- config/conf.d/pop3.conf: example-config: Added global mail_plugins, set per-protocol mail_plugins=$mail_plugins. [5798fdd4ad70] * src/config/doveconf.c: doveconf: Added -x parameter to expand $variables and * src/config/config-parser.c: config: Added support for "key=$key stuff" [513c43179ca9] * src/auth/auth-request.c: auth: Do username checks/translations even when ssl_username_from_cert=yes [bcd43231f723] * src/auth/auth-settings.c, src/auth/auth-settings.h, src/auth/auth.c, src/auth/auth.h, src/auth/main.c: auth: Fixed support for per-service auth settings. [bdef690d41d5] * src/config/config-connection.c, src/config/config-filter.c, src/config/config-filter.h, src/config/config-parser.c, src/config /config-parser.h, src/config/config-request.c, src/lib-master /master-service-settings.c, src/lib-master/master-service- settings.h: config: Send client a services names that have more specific settings. [30e2d65eb67a] * src/lib-master/master-service.c: lib-master: If binary isn't standalone, enable core dumping at startup. Dropping privileges again should disable dumping, and later it's decided by the binary itself it wants to be dumpable. [edd11ffa467c] * src/lib-storage/mail-namespace.c: Check that namespace's alias_for points to a namespace with compatible storage. [566360ae12fc] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: Storage rebuild panics now earlier if its namespace unexpectedly isn't found. [de26a4054910] * src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index /dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-single/sdbox- mail.c: dbox: Use mail's transaction view instead of mailbox's view whenever possible. This fixes crash when saving/copying fails. [ae9d00b1ffdd] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: Don't crash when rebuilding index if there's no alt storage dir. [d133801d8e83] * src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index /dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-single/sdbox- save.c, src/lib-storage/index/index-mail.c, src/lib-storage/index /index-search.c, src/lib-storage/index/index-sort-string.c, src/lib- storage/index/index-storage.h, src/lib-storage/index/index- transaction.c, src/lib-storage/index/maildir/maildir-save.c, src /lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox /mbox-save.c, src/lib-storage/mail-storage-private.h, src/plugins/expire/expire-plugin.c: lib-storage: Moved index transaction/view from index_transaction to mailbox_transaction. [0cf62ad4c7bf] 2010-03-18 Pascal Volk * src/doveadm/Makefile.am, src/doveadm/doveadm-kick.c, src/doveadm /doveadm-who.c, src/doveadm/doveadm-who.h, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: Added doveadm kick command. Moved some parts from doveadm- who.c to doveadm-who.h, so they can be reused. [b13e01d82083] 2010-03-18 Timo Sirainen * src/lib-master/master-service.c: lib-master: Don't assert-crash if client_limit < service_count. [183b1b4f6386] * src/master/service.c: master: Service's client_limit wasn't set correctly when service_count was non-zero. [41ce0172dcc8] * src/doveadm/doveadm-who.c: doveadm who: Use wildcards for user matching. [819fbb179cbc] * src/lib/Makefile.am, src/lib/wildcard-match.c, src/lib/wildcard- match.h: Added wildcard_match*() for matching strings with '*' and '?' wildcards. [f7d14405de09] * src/lib-master/master-service-settings.c: lib-master: -k parameter now always applies settings from environment. Otherwise the result would be inconsistent when executing doveconf vs. using config socket. [480bf5fefcce] * src/imap/imap-settings.c, src/pop3/pop3-settings.c: imap, pop3: Changed default client_limit to 1. So even if service_count is disabled, by default no more than 1 connection is allowed for the process. [53dadf274cc7] 2010-03-17 Timo Sirainen * src/lib-storage/mail-storage-service.c: mail_storage_service_read_settings() avoided execing doveconf too aggressively. [7fa0cd9e3a89] 2010-03-16 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index /dbox-multi/mdbox-save.c: mdbox: Don't crash when accessing a copied mail that hasn't been committed yet. [b7c66370b0f7] * src/plugins/acl/acl-backend-vfile.c: acl: Don't crash if opening dovecot-acl fails with EACCES. [6b03aee63752] * src/lib-master/master-service-settings.c, src/lib-master/master- service.h: lib-master: Environment variables no longer override settings. Also did some other cleanups to settings reading and removed unused features. [1de4b554c914] * src/doveadm/doveadm.c: doveadm: Disable all debug logging, unless -D parameter is given. [7df150529ce3] * src/doveadm/doveadm-mail.c: doveadm: Continue going through users if one user's init fails. [35cda1373e6f] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: mail_storage_service_lookup_next() returns -2 for if _next() fails. [2c0e9bea1bea] * src/lib-storage/mail-storage-service.c: mail_storage_service_next() didn't always set error string. [03b679cd8d1f] * src/doveadm/doveadm-mail.c, src/lib-storage/mail-storage-service.c, src/lib-storage/mail-storage-service.h, src/plugins/expire/expire- tool.c, src/util/script.c: mail_storage_service_lookup*() now separates userdb lookup and user setting errors. [15860795f158] * src/lib-storage/mail-storage-service.c: mail_storage_service_next() now only returns -1 if user's privileges are invalid. [a66d3650e3c3] * src/auth/auth-worker-server.c: auth: Compiler warning fixes. [f855ac569e2f] * src/lib-storage/mail-storage-service.c: mail storage service: Make sure we never exec doveconf when looking up config. [c6890ec714ec] * src/lib-master/master-service-settings.c, src/lib-master/master- service-settings.h: lib-master: Added never_exec flag to master_service_settings_read(). [f4486ab0ebdb] * src/doveadm/doveadm.c: doveadm: Keep config socket permanently open. This fixes a problem when config lookup was attempted while privileges were dropped. [0a469d9f1ea4] * src/auth/auth-worker-client.c, src/auth/auth-worker-client.h, src/auth/auth-worker-server.c, src/auth/passdb.c, src/auth/passdb.h, src/auth/userdb.c, src/auth/userdb.h: auth worker: Verify that both client and server see the same passdb/userdb IDs. [91ae9577aca9] * src/auth/auth-worker-client.c: auth: Fixed blocking userdb lookups. [bf26a6ec3389] * src/auth/auth-worker-client.c: auth worker: Fixes to handling invalid input from auth server. [55e3817f09da] * src/auth/auth-settings.c: auth: Changed worker process to die after auth server closes its connection. [87c462c463cc] * src/util/tcpwrap.c: tcpwrap: Added allow/deny severity to fix compiling on some systems. Patch by Tomi Vainio [0d17bb09c358] * src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap- quota-plugin.c: plugins: Changed to use the new client_find_namespace() API. [05e93cd2cb86] * src/imap/cmd-append.c, src/imap/cmd-copy.c, src/imap/cmd-create.c, src/imap/cmd-delete.c, src/imap/cmd-rename.c, src/imap/cmd-select.c, src/imap/cmd-status.c, src/imap/cmd-subscribe.c, src/imap/imap- commands-util.c, src/imap/imap-commands-util.h: imap: Some mailbox accessing commands failed with wrong error message. [7443f0b5218f] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: Rebuilding storage ignored mails in alt storage. [cc0a8b0347f9] * src/config/old-set-parser.c: config: Fixed checking if listen setting contained an obsolete port value. [1630026e8803] * src/master/master-settings.c, src/master/service.c: master: login dir was created with wrong group. [7fd91455b66e] * src/master/master-settings.c: master: Create login dir even when we don't change its gid. [31184f3d868b] * src/lib/safe-mkdir.c: safe_mkdir(): uid/gid can now be -1 to mean "don't change it". [acc07775bab3] 2010-03-15 Timo Sirainen * src/lib-storage/mail-namespace.c: Namespace debug log message logged list value wrong. [56dda1de9b6f] 2010-03-14 Timo Sirainen * doc/example-config/conf.d/auth-system.conf.ext, src/auth/passdb- bsdauth.c, src/auth/passdb-passwd.c, src/auth/passdb-shadow.c: auth: passdb bsdauth, passwd and shadow are now blocking by default. [5a20039e8a54] * src/auth/auth-settings.c: auth: Auth master process is now running as default_internal_user by default. Workers are still running as root, so PAM will continue to work as before. [858ad8aa7f8b] * src/master/service.c: master: Allow unix_listeners to also have user=$default_*_user [1e333d2918f1] * src/auth/auth.c, src/auth/main.c, src/auth/passdb-cache.h: auth: Fixed crash at deinit. [4ca5dfd58d47] * src/lib-storage/index/dbox-multi/mdbox-sync.c: mdbox: Fixed a race condition when expunging messages. [3f43b5c47a0e] * src/auth/mech-gssapi.c: auth: Compile fix for gssapi. [841af633f8d0] * src/auth/auth-settings.c: auth: Fixed compiling config binary. [cb26518a7e51] 2010-03-13 Timo Sirainen * src/lib-sql/driver-mysql.c: mysql: Enable CLIENT_MULTI_RESULTS Based on patch by Alain Williams [612db456c090] * src/auth/auth-client-connection.c, src/auth/auth-master- connection.c, src/auth/auth-request-handler.c, src/auth/auth- request-handler.h, src/auth/auth-request.c, src/auth/auth-request.h, src/auth/auth-settings.c, src/auth/auth-settings.h, src/auth/auth- worker-client.c, src/auth/auth.c, src/auth/auth.h, src/auth/db- ldap.c, src/auth/main.c, src/auth/mech-anonymous.c, src/auth/mech- digest-md5.c, src/auth/mech-gssapi.c, src/auth/mech-rpa.c, src/auth /mech-winbind.c, src/auth/passdb-cache.c, src/auth/passdb-ldap.c, src/auth/passdb-pam.c, src/auth/passdb.c, src/auth/passdb.h, src/auth/userdb-ldap.c, src/auth/userdb-prefetch.c, src/auth/userdb.c, src/auth/userdb.h: auth: Initial support for per-protocol auth settings. Currently the list of services is hard-coded. This should be changed so that config lookup returns the service names. [6e639833c3fc] * src/auth/auth-client-connection.c, src/auth/auth.c, src/auth/auth.h, src/auth/main.c, src/auth/mech.c, src/auth/mech.h: auth: Moved mechanism list out of struct auth. It could have been good there, except mechanism list is sent before there's any knowledge of what type of client is on the other side. Maybe in future different mechanism list could be given based on the unix socket name. [2b56c8b1e5ad] * src/auth/auth.c, src/auth/passdb-ldap.c, src/auth/passdb-passwd- file.c, src/auth/passdb-passwd.c, src/auth/passdb-shadow.c, src/auth /passdb-sql.c, src/auth/passdb.c, src/auth/passdb.h, src/auth /userdb-ldap.c, src/auth/userdb-passwd-file.c, src/auth/userdb- sql.c, src/auth/userdb.c, src/auth/userdb.h: auth: Store args in passdb/userdb_module, so init() doesn't need it as parameter. [ac58cc0c71aa] * src/auth/auth.c, src/auth/passdb.c, src/auth/passdb.h, src/auth/userdb.c, src/auth/userdb.h: auth: Completely removed struct auth_*db from *db.c [7909611180a8] * src/auth/auth.h, src/auth/passdb.c, src/auth/userdb.c: auth: Removed unused pool parameter from struct auth_passdb/auth_userdb. [cff28ea08c4a] * src/auth/auth-master-connection.c, src/auth/auth-worker-client.c, src/auth/auth.c, src/auth/passdb-bsdauth.c, src/auth/passdb- checkpassword.c, src/auth/passdb-ldap.c, src/auth/passdb-pam.c, src/auth/passdb-passwd-file.c, src/auth/passdb-sql.c, src/auth /passdb-vpopmail.c, src/auth/passdb.c, src/auth/passdb.h, src/auth /userdb-blocking.c, src/auth/userdb-blocking.h, src/auth/userdb- checkpassword.c, src/auth/userdb-ldap.c, src/auth/userdb-nss.c, src/auth/userdb-passwd-file.c, src/auth/userdb-passwd.c, src/auth /userdb-sql.c, src/auth/userdb-static.c, src/auth/userdb-vpopmail.c, src/auth/userdb.c, src/auth/userdb.h: auth: passdb/userdb backends no longer know about struct auth_passdb/auth_userdb. [3d085b851db8] * src/auth/auth-request.c, src/auth/auth-settings.c, src/auth/auth- worker-client.c, src/auth/auth.h, src/auth/passdb-blocking.c, src/auth/passdb.c, src/auth/passdb.h, src/auth/userdb-blocking.c, src/auth/userdb.c, src/auth/userdb.h: auth: Cleaned up struct auth_passdb/auth_userdb. [52eb8317514f] * src/auth/auth-settings.c: auth: Recent changes broke auth_username_chars checking. [f93195ae4bed] * src/auth/auth-common.h, src/auth/auth-request-handler.c, src/auth/auth.c, src/auth/auth.h, src/auth/main.c: auth: auth_penalty is now a global single instance. [56fc8bbe114c] * src/auth/auth-client-connection.c, src/auth/auth-request-handler.c, src/auth/auth-request-handler.h: auth: Auth request handler no longer keeps struct auth pointer. [5642902ae47b] * src/auth/auth-request.c, src/auth/auth-settings.c, src/auth/auth- settings.h, src/auth/auth-worker-server.c, src/auth/auth-worker- server.h, src/auth/auth.h, src/auth/main.c, src/auth/passdb- blocking.c, src/auth/passdb-bsdauth.c, src/auth/passdb- checkpassword.c, src/auth/passdb-ldap.c, src/auth/passdb-pam.c, src/auth/passdb-passwd-file.c, src/auth/passdb-sql.c, src/auth /passdb-vpopmail.c, src/auth/passdb.c, src/auth/userdb-blocking.c, src/auth/userdb-checkpassword.c, src/auth/userdb-ldap.c, src/auth /userdb-nss.c, src/auth/userdb-passwd-file.c, src/auth/userdb- passwd.c, src/auth/userdb-sql.c, src/auth/userdb-static.c, src/auth /userdb-vpopmail.c, src/auth/userdb.c: auth: auth_userdb and auth_passdb no longer has pointer to struct auth. [1a4c2e4bff75] * src/auth/auth-request.c, src/auth/auth-settings.c, src/auth/auth- settings.h, src/auth/auth.c, src/auth/auth.h, src/auth/mech-digest- md5.c, src/auth/mech-rpa.c: auth: Moved some variables generated from settings to struct auth_settings. [9675d9a54ac9] * src/lib/ioloop-select.c: ioloop-select: IO_ERROR wasn't really working. [f2b9387ba047] * src/config/config-connection.c, src/config/config-filter.c, src/config/config-filter.h, src/config/config-request.c, src/config /config-request.h, src/config/doveconf.c: doveconf: Show protocol/remote/local sections. [6acd45009331] 2010-03-12 Timo Sirainen * src/auth/auth-settings.c: Create auth-client socket by default. [653ae02bf8cf] * src/lib-storage/list/mailbox-list-fs-iter.c: fs mailbox list: Don't show duplicate INBOXes [144858dc0820] 2010-03-11 Timo Sirainen * src/lib-storage/index/maildir/maildir-uidlist.c, src/lib- storage/index/mbox/istream-raw-mbox.c, src/lib-storage/index/mbox /mbox-sync-update.c, src/lib/test-istream-concat.c, src/lib/test- istream-seekable.c, src/master/service-anvil.c: Compiler warning fixes. [588892d877dc] 2010-03-10 Timo Sirainen * README: README: Updated RFC list. [f49bb060d83d] 2010-03-09 Timo Sirainen * src/imap-login/client.c: imap-login: Give a helpful error message if user tries to log in without giving command tag. [70a861ba3115] * src/config/old-set-parser.c: config: Fixed obsolete listen setting check to handle multiple addresses. Currently it doesn't handle obsolete settings having multiple addresses. [a38d597c5b59] * src/config/old-set-parser.c: config: Don't parse IPv6 address in listen setting as obsolete host:port. [bed9f7593c0e] * configure.in: configure: --with-lucene fails now with suggestion to use Solr instead. [3ebd6a4ad55a] * src/config/config-request.c: config: Keep unique section names in setting keys. [6abbea248921] * src/lib-storage/mail-storage-service.c: mail storage service: mail_debug=yes now logs what happens to userdb settings. [2d082200657d] * src/lib-storage/mail-storage-service.c: mail storage service: Only some userdb extra fields were used. [ce166f70ea71] * src/lib-index/mail-index-alloc-cache.c: lib-index: Index alloc cache fixes. It wasn't really working. [131436a6b8b3] * src/lib-storage/index/dbox-multi/mdbox-storage.c: Compiler warning fix. [f1a2a8097903] * src/config/config-parser-private.h: config: Forgot to add header file. [370ee9717a6c] * src/lib/istream-limit.c: Reverted recent istream-limit cleanup. It broke things. [1473de6ba383] * src/config/Makefile.am, src/config/config-parser.c, src/config/old- set-parser.c, src/config/old-set-parser.h: config: Added support for reading v1.2 config files. [3a575415ce1a] * src/master/master-settings.c, src/master/service.c: master: Don't complain about duplicate inet_listeners with port=0 (they're ignored). [7c2e38d7390c] * src/auth/auth.c: auth: Master passdbs weren't working. [3f9c7a8a92b9] * src/lib-storage/mailbox-list.c: Don't crash when trying to list shared namespace prefix. [83166197d2a5] * src/lib/failures.c, src/lib/mempool-alloconly.c: Reversing accidentally committed debug code. [6d260794f278] 2010-03-08 Timo Sirainen * src/doveadm/doveadm-who.c: doveadm: Minor code cleanup. [bf978f2de0fd] * src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index /dbox-multi/mdbox-file.h, src/lib-storage/index/dbox-multi/mdbox- settings.c, src/lib-storage/index/dbox-multi/mdbox-settings.h, src /lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index /dbox-multi/mdbox-storage.h: mdbox: Removed mdbox_max_open_files setting. It's now hard coded to 2, and the files are closed after 30 seconds of being unused. [863eafcf8428] * src/login-common/client-common.c, src/login-common/client-common.h: login: Always disconnect clients after 3 minutes if they haven't logged in. [c56358283605] * src/lib-index/mail-index-transaction.c: lib-index: When index is reset, make sure old dovecot.index gets deleted. [6a2f7843327c] * src/lib-storage/index/dbox-single/sdbox-mail.c: dbox: Don't assert-crash if trying to read a mail that's being saved. [42e5d937555e] * src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c: zlib: Fixed seeking in zlib/bzlib input stream. [d05561b0c257] * src/lib/failures.c, src/lib/mempool-alloconly.c, src/lib/restrict- access.c: Improved setgid/setuid failure's error message. [2795a5c52d92] * doc/example-config/conf.d/auth-ldap.conf.ext, doc/example- config/conf.d/auth-sql.conf.ext: example-config: Added userdb static to auth-ldap|sql.conf.ext. [97216501ba6b] * src/lib-storage/index/dbox-multi/mdbox-mail.c: mdbox: Minor error message improvement. [5be757538f8a] * src/plugins/quota/Makefile.am, src/plugins/quota/doveadm-quota.c, src/plugins/quota/quota-plugin.h: Added doveadm quota plugin. [6248d194f430] * src/doveadm/Makefile.am, src/doveadm/doveadm-mail.c, src/doveadm /doveadm-settings.c, src/doveadm/doveadm-settings.h, src/doveadm/doveadm.c: doveadm: Added support for plugins. [b06d874708d4] * src/lib/module-dir.c, src/lib/module-dir.h: module_dir_load*(): Added ignore_dlopen_errors flag. [c9dc5c447db5] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: mail storage service: Exported modules as mail_storage_service_modules. [02d4cc578d4b] * src/lib-storage/mail-storage-service.c: mail storage service: Fixed crashing when iterating through all users. [8f8d2f8e029c] * src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c: zlib: Several fixes to zlib/bzlib istreams. [681e1c702899] * src/lib/istream-limit.c: Simplified up istream-limit implementation. [d49913d2d75a] 2010-03-06 Timo Sirainen * doc/example-config/conf.d/Makefile.am, doc/example-config/conf.d /auth-checkpassword.conf.ext, doc/example-config/conf.d/auth- deny.conf.ext, doc/example-config/conf.d/auth-ldap.conf.ext, doc /example-config/conf.d/auth-master.conf.ext, doc/example- config/conf.d/auth-passwdfile.conf.ext, doc/example-config/conf.d /auth-sql.conf.ext, doc/example-config/conf.d/auth-system.conf.ext, doc/example-config/conf.d/auth-vpopmail.conf.ext, doc/example- config/conf.d/auth.conf: example-config: Moved passdbs and userdbs to separate auth-*.conf.ext files. [b1d5982ffd14] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox index rebuild: GUID wasn't kept for messages. [f7755658257d] * src/doveadm/doveadm-dump-log.c: doveadm: dump didn't autodetect log if the path didn't contain '/' [68042df10756] * src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c: zlib: Improved error message logging. Log input stream names. [257556760b62] * src/lda/main.c, src/lib-storage/index/cydir/cydir-mail.c, src/lib- storage/index/dbox-common/dbox-file.c, src/lib-storage/index/maildir /maildir-mail.c, src/lib-storage/index/mbox/istream-raw-mbox.c, src /lib-storage/index/mbox/istream-raw-mbox.h, src/lib- storage/index/mbox/mbox-file.c, src/lib-storage/index/raw/raw- storage.c, src/plugins/zlib/zlib-plugin.c: Set input stream names for mail file streams. [638c4ea4a9ce] * src/login-common/ssl-proxy-openssl.c: Increased initial memory pool size. [2375e84fd344] * src/lib/iostream-internal.h, src/lib/iostream.c, src/lib/istream- file.c, src/lib/istream-mmap.c, src/lib/istream-seekable.c, src/lib/istream.c, src/lib/istream.h, src/lib/ostream-file.c, src/lib/ostream.c, src/lib/ostream.h: i/ostreams can now have a name (e.g. file path). [5f16e488e7f6] * src/plugins/imap-zlib/imap-zlib-plugin.c, src/plugins/zlib/istream- bzlib.c, src/plugins/zlib/istream-zlib.c, src/plugins/zlib/istream- zlib.h, src/plugins/zlib/zlib-plugin.c, src/plugins/zlib/zlib- plugin.h: zlib: If reading corrupted compressed mail files, log an error. [def12863b620] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: Fixed rebuilding map index that had duplicate records. [95f5ea024043] * src/lib-storage/index/dbox-common/dbox-sync-rebuild.c: dbox index rebuild: Fixed setting next-uid and highest-modseq. [3bfb1e9f556b] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib- storage/mail-namespace.c, src/lib-storage/mail-storage.c: mdbox: Don't crash when trying to rebuild storage at deinit. [e3672e7c0f9f] * src/master/main.c: "dovecot stop" now waits for up to 3 seconds for master to actually die. [a81aceb9f55b] * src/lib-master/master-service-settings.c: lib-master: If config lookup from socket fails, fallback to execing doveconf. [1a76670bb50e] * src/imap/cmd-list.c: LIST-STATUS: When listing subscriptions, don't return STATUS for unsubscribed parents. [211df1a0646e] 2010-03-05 Timo Sirainen * README: README: Updated RFC list. [a342e91e8815] 2010-03-04 Timo Sirainen * src/anvil/penalty.c: anvil: Recent changes broke penalty timeout handling. [f48ce6049176] * src/lib-master/master-login.c: lib-master: Disconnect from auth service immediately after receiving reply. With the current code we can't reuse the connection anyway. [ada20715c470] * doc/example-config/conf.d/auth.conf, src/auth/auth-cache.c, src/auth /auth-cache.h, src/auth/auth-request.c, src/auth/passdb-cache.c: auth_cache_negative_ttl is now also used for password mismatches. [81e085f9bd75] * src/lib-master/anvil-client.c: lib-master: Call anvil callback in a separate data stack frame. [40eb5d5e6fbf] * src/lib/module-dir.c: Don't call module's deinit() if its init() hasn't been called. [65a91a112d7f] * src/lib-master/master-service-private.h, src/lib-master/master- service.c: lib-master: Avoid sending status updates to master too often. [df4d4fd0db00] * src/master/service-monitor.c: master: Try to read multiple status updates in a single read(). [43a278ca5354] * src/lib-storage/list/mailbox-list-fs-iter.c: LIST (SUBSCRIBED): Don't assert-crash if list contained a name ending with separator. [c691706eee06] 2010-03-03 Timo Sirainen * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: uidlist wasn't compressed often enough. [fe302c2714a3] 2010-03-02 Timo Sirainen * src/anvil/penalty.c: Compiler warning fix. [60bc95bc10f2] * src/lib-storage/index/dbox-common/dbox-sync-rebuild.c, src/lib- storage/index/dbox-multi/mdbox-storage-rebuild.c: [m]dbox: Fixes to rebuilding a broken index. [154f52b7a6fd] * src/lib-storage/index/dbox-multi/mdbox-map.c: mdbox: Don't assert-cras if refcount in map file is too low. [9930d93bbd11] * src/login-common/sasl-server.c: *-login: When showing mail_max_userip_connections error, show the limit also. [893abe2f65e0] * src/lib-lda/Makefile.am, src/lib-lda/lmtp-client.c, src/lib-lda /lmtp-client.h, src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp /lmtp-proxy.h, src/lmtp/main.c, src/lmtp/main.h: lmtp proxy: Added support for DNS lookups. [cc3f6adc1e0b] * src/lmtp/lmtp-proxy.c: lmtp proxy: Crashfix. [bd28e6f29711] * src/anvil/test-penalty.c: Compiler warning fixes. [fb0666d3b067] * src/anvil/penalty.c, src/anvil/test-penalty.c: Compiler warning fixes. [b2156189c319] 2010-03-01 Timo Sirainen * src/lib-storage/index/index-thread.c: lib-storage: Don't loop infinitely on deinit when INBOX was auto- created. [f56c227a7fc9] * src/config/config-parser.c: config: Allow key=$var to contain other text after the $var. [4b744015a8ae] * src/lib/eacces-error.c: eacces_error_get*(): Mention if euid is parent directory's owner. [6a8ee83cbc8c] 2010-02-28 Timo Sirainen * src/plugins/acl/acl-mailbox-list.c: acl: Don't assert-crash if LIST returns mailbox name ending with separator. [64f6c458aaff] * src/lib-master/master-service-settings-cache.c: lib-master: Fixed crash on settings-cache deinit. [a5b4cbf46b9b] * src/lib-lda/lda-settings.c: lda: Default to /usr/sbin/sendmail, not to deprecated /usr/lib/sendmail. [7646f9783da0] * src/lib-lda/mail-deliver.c: lda: Enable "delivering to namespace prefix = INBOX" only for INBOX namespace. [1a888e13bf7f] * src/lib-master/master-service-settings-cache.c, src/lib-storage /mail-storage-service.c: Memory leak fixes. [dfca32cdab43] * src/lib-master/master-login.c: lib-master: Fixed crashing when using post-login scripts. [197d9beec207] * src/util/script.c: script: We want incoming fd to be blocking to avoid EAGAIN errors. [156f24de1081] * src/lib/unichar.c, src/lib/unicodemap.pl: unichar: Optimized 8bit character conversions. [23858ce6422e] * src/lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c, src/lib-mail/test-istream-header-filter.c, src/lib/istream- internal.h, src/lib/istream-tee.c, src/lib/istream.c, src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c: istreams: Reading sometimes returned wrong data, if parent istream had been modified. We'll now track changes to parent istream using access counters. If parent's access counter isn't the same as child's, the parent stream is seeked to expected position. [de2798fbbae6] * src/lib/istream-file.c: file istream: If trying to seek backwards in unseekable stream, panic. The previous way of just setting an error flag was getting ignored too easily and causing silent corruption in such situations. [6e32dbc4cd8f] 2010-02-25 Timo Sirainen * src/lib/istream.c: Removed istream test code that hasn't been tried for years. [0c3e147505f4] 2010-02-22 Timo Sirainen * src/lib-settings/settings-parser.c: Settings parser: Fixed overriding settings in strlist blocks. For example plugin {} settings couldn't be overridden by userdb. [ba19f3c077a8] * src/lib-storage/index/dbox-single/sdbox-storage.c: dbox: mailbox_update() ignored cache_fields. [c77e71e0c5bd] * src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib- storage/index/index-storage.c, src/lib-storage/index/index- storage.h: mdbox: mailbox_update() ignored cache_fields. [58e9e66050e9] * src/login-common/login-settings.c: pop3-login: Don't crash at startup. [32d6dd7ce7cb] * src/lib-storage/index/mbox/mbox-mail.c: mbox: Fixed header-md5/GUID lookup when it's done with mbox file unlocked. [d825d532db87] * src/lib-storage/index/dbox-common/dbox-save.c: dbox: Save POP3 UIDL if it's specified. [676ba1a630e1] * src/lib-master/master-service-settings-cache.c, src/lib-storage /mail-storage-service.c: config reading: Don't crash if caller specified module=NULL or service=NULL. [5e6f64050daa] 2010-02-20 Timo Sirainen * .hgsigs: Added signature for changeset 81e79df3fed8 [8aaf030ae510] * .hgtags: Added tag 2.0.beta3 for changeset 81e79df3fed8 [69d7fd0b175c] * NEWS, TODO, configure.in: Released v2.0.beta3. [81e79df3fed8] [2.0.beta3] * src/lib-master/Makefile.am: Makefile: Added missing master-service-settings.h [aaa6d5a58b2b] * src/lib-master/master-service.c: lib-master: Ignore SIGALRM and SIGPIPE as early as possible. For example alarm() is used while reading configuration, which is done before master_service_init_finish(). [aee98ecae688] * src/lib-master/master-service-settings.c: lib-master: Error handling fixes when reading config. [7394d1b828f7] * src/lib-master/master-login.c, src/lib-master/master-service- private.h, src/lib-master/master-service.c: lib-master: Make sure IO listeners aren't added back while doing auth lookup. [68169de12764] * src/config/config-connection.c, src/config/config-filter.c, src/config/config-filter.h, src/config/config-parser.c, src/config /config-request.c, src/config/config-request.h, src/config/doveconf.c, src/lib-master/Makefile.am, src/lib-master /master-service-settings-cache.c, src/lib-master/master-service- settings-cache.h, src/lib-master/master-service-settings.c, src/lib- master/master-service-settings.h, src/lib-storage/mail-storage- service.c, src/lib-storage/mail-storage-service.h, src/lib-storage /mail-storage-settings.c, src/lib-storage/mail-storage-settings.h, src/lmtp/client.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp- settings.h, src/login-common/login-settings.c, src/login-common /login-settings.h, src/login-common/main.c, src/login-common/ssl- proxy-openssl.c, src/master/main.c: lib-master: Added support for caching config lookups. Currently caching won't work if config has any remote {} blocks. [bf4822f0846b] * src/lib-settings/settings-parser.c, src/lib-settings/settings- parser.h: lib-settings: Added some consts to parameters. [19a5f933849c] * src/lmtp/commands.c: lmtp: Always use "lmtp" module when looking up configuration. [24467421976b] * src/imap/imap-client.c: Increased initial memory pool size. [6c24afbea40e] * src/lib/network.c, src/lib/network.h: liblib: Added net_ip_cmp(). [a4666cc8cb7b] * src/imap-login/client.c, src/pop3-login/client.c: *-login: Change login_set_roots earlier. [81537f59512a] * src/lib/mempool-alloconly.c, src/lib/mempool.h: liblib: Added pool_alloconly_get_total_used/alloc_size() functions. [d7108785c40a] * src/lib-settings/settings-parser.c: settings_parse_stream_read(): Try using existing data from stream first. [07059f9aead8] * src/lib-master/master-service-settings.c: lib-master: Minor config code cleanup. [eb3b89650eaf] * src/lib-index/mail-index-alloc-cache.c: lib-index: Keep indexes open while they are in alloc-cache. [e2c2ce0ce5fa] * src/lib-index/mail-index-alloc-cache.c: lib-index: When a closed index's refcount drops to 0, free it immediately. [3c0d86e79040] * src/lib-index/mailbox-log.c: mailbox log: Don't log an error if two processes rotate the log at the same time. [cdced48a276a] * src/lib-index/mail-index-strmap.c, src/lib-storage/index/index- storage.c, src/lib-storage/index/index-thread-private.h, src/lib- storage/index/index-thread.c: lib-storage: Thread strmap must not be opened before index is opened. [0b139aae6276] * src/doveadm/Makefile.am, src/doveadm/doveadm-penalty.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: Added penalty command to dump auth penalty state. [f69f32ffa9c6] * src/anvil/anvil-connection.c, src/anvil/penalty.c, src/anvil/penalty.h: anvil: Added PENALTY-DUMP command to dump penalty state. [1282d027ce67] * src/anvil/penalty.c: anvil: Fixed penalty "last update" tracking. [3f2d9da0c6bc] * src/anvil/anvil-connection.c: anvil: Disconnect client if it sends invalid input. [e51089454ab0] * src/doveadm/doveadm-dump-index.c, src/doveadm/doveadm-dump- mailboxlog.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: Removed duplication of unixdate2str(). [e71eb3faa075] * src/anvil/Makefile.am: Makefile: Fixed building anvil test. [5ee9e82f3b68] * src/auth/auth-penalty.c: auth: Track penalty for IPv6 addresses with their /48 mask. [77d990bee666] * src/anvil/Makefile.am, src/anvil/anvil-connection.c, src/anvil/penalty.c, src/anvil/penalty.h, src/anvil/test-penalty.c, src/auth/auth-penalty.c: auth/anvil: Penalty is no longer increased if the same user+pass combination was recently used. This should avoid penalty increasing for IPs where a user's misconfigured client tries to keep authenticating with wrong user/pass. This check works only for plaintext authentication. Currently the code that keeps track of what user/passwords have been tried is pretty simple, and hardcoded to remember max. 10 of them. [4cdb58bb0360] * src/lib-storage/list/mailbox-list-fs-iter.c: fs layout: Don't "File name too long" errors if giving too long path to LIST. [5380ee17392f] 2010-02-19 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-mail.c: mdbox: Fixed plugins accessing unsaved mail's stream. [d3e2444aa0ea] * src/plugins/zlib/zlib-plugin.c: zlib: Fixed the check to disallow saving messages that look compressed. [fce6ee7ab18f] * src/lib-storage/index/dbox-common/dbox-mail.c: dbox: Fixed looking up physical size when it wasn't in metadata. [97a4289d6d4b] * Makefile.am: Makefile: Added empty install-exec-hook to fix older automakes. [f11ffb8a65f8] * src/lib-auth/auth-client.c, src/lib-auth/auth-client.h, src/login- common/main.c: *-login: If we disconnect from auth server, make sure we reconnect back when necessary. [ce1dd7328b20] * src/plugins/zlib/zlib-plugin.c: zlib: Added support for dbox and mdbox. [300ac0c2cac3] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-file.h, src/lib-storage/index/dbox-common/dbox- mail.c, src/lib-storage/index/dbox-common/dbox-save.c, src/lib- storage/index/dbox-multi/mdbox-file-purge.c, src/lib-storage/index /dbox-multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox- single/sdbox-sync-rebuild.c, src/lib-storage/mail-storage-private.h: lib-storage: Added support for plugins to specify message's physical size when saving. Changed dbox to save this value to metadata, and use when present. [19df4309e389] * src/lib-storage/index/istream-mail-stats.c, src/lib/istream-limit.c: filter istreams: Let default seek implementation optimize away unnecessary seeks. [90f4663211ba] * src/lib-storage/index/dbox-common/dbox-save.c, src/lib-storage/index /dbox-common/dbox-save.h, src/lib-storage/index/dbox-multi/mdbox- save.c, src/lib-storage/index/dbox-single/sdbox-save.c: dbox: Allow plugins to change output stream while saving messages. [0723154256d9] * src/lib-auth/auth-server-connection.c: lib-auth: Make sure reconnection timeout if removed after getting connected. [082bd896e448] * src/log/Makefile.am, src/log/common.h, src/log/log-connection.c, src/log/main.c: log: Removed unnecessary common.h. [a16d3b54b9bb] * src/login-common/client-common.c, src/login-common/login-common.h, src/login-common/main.c: *-login: Disconnect from auth server after idling for a minute. [fc77d1cd1201] * src/lib-auth/auth-client.c, src/lib-auth/auth-client.h, src/lib-auth /auth-server-connection.c, src/lib-auth/auth-server-connection.h: lib-auth: Added auth_client_disconnect(). [7a7b2cbc6f91] * src/auth/auth-request-handler.c: auth: Don't leak memory if auth client sends a buggy request. [fa8a0f453774] * src/auth/auth-client-connection.c, src/auth/auth-request-handler.c, src/auth/auth-request-handler.h, src/auth/auth-request.c, src/auth /auth-request.h: auth: Don't loop through active requests every 5 seconds, looking for timeouts. [d3697efd18f3] 2010-02-18 Timo Sirainen * dovecot.m4: dovecot.m4: Don't use any AS_*() macros. Also removed version checking because it was done with AS_* macro. RHEL5 doesn't have new enough autoconf.. [ae23a1a94376] * dovecot.m4: dovecot.m4: Default dovecotdir to $prefix/lib/dovecot/ [912c132337ed] * configure.in: configure: Set ACLOCAL_AMFLAGS so make finds dovecot.m4. [c5cbc99f4627] * Makefile.am, autogen.sh, configure.in, dovecot.m4, src/plugins/fts- solr/Makefile.am, src/plugins/fts-squat/Makefile.am, src/plugins /imap-acl/Makefile.am, src/plugins/imap-quota/Makefile.am, src/plugins/imap-zlib/Makefile.am, src/plugins/mail-log/Makefile.am, src/plugins/trash/Makefile.am: Added dovecot.m4 file that external plugins can use. Based on patch by Dennis Schridde. [80a11f8650a4] * src/dict/dict-commands.c, src/lib-dict/dict-client.c, src/lib-dict /dict-file.c, src/lib-dict/dict-private.h, src/lib-dict/dict-sql.c, src/lib-dict/dict.c, src/lib-dict/dict.h: dict: Added dict_iterate_init_multiple(). [6aa76d89195d] * src/dsync/dsync-data.c, src/dsync/dsync-proxy.c, src/dsync/dsync- worker-local.c, src/dsync/test-dsync-common.c, src/imap/imap- status.c, src/lib-storage/mail-storage.h, src/lib-storage/mail.c: Added mail_guid_128_to_string(). Used it in several places. [5ec28d7a5d13] * src/auth/password-scheme.c: auth: Added SHA512 and SSHA512 password schemes. Based on patch by Mark Washenberger. [6936dbe28947] * src/lib/sha2.c, src/lib/sha2.h: Added sha512_*() functions. [9c188cfba679] * src/lib-storage/mail-copy.c: lib-storage: Fixed error handling in mailbox_copy(). [a792d411e73e] * src/lib-storage/list/mailbox-list-fs.c: mailbox_list_get_mailbox_name_status(): Fixed INBOX handling with FS layout. [c0c4898fc803] * src/lib-storage/index/mbox/Makefile.am, src/lib-storage/index/mbox /mbox-storage.c: mbox: Fail at startup if service doesn't have client_limit=1. [28c3486864f6] * src/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox /mbox-sync-private.h, src/lib-storage/index/mbox/mbox-sync.c: mbox: Fixed getting header MD5 (GUID) if it wasn't already in index. [5284f3662431] * src/imap/imap-fetch.c: imap: FETCH X-GUID and X-MAILBOX didn't add a space after their value. [fdd652c73073] * src/lib-storage/mailbox-list.c: mail_full_filesystem_access=yes: Replace absolute path with mailbox name whenever possible. For example "foo", "~/mail/foo" and "~user/mail/foo" can all point to the same "foo" mailbox. When accessing it via "foo", it may have different index settings and such, so convert the other forms to it whenever possible. [2c994f2f1ce6] * doc/example-config/conf.d/mail.conf, src/lib-storage/index/maildir /maildir-copy.c, src/lib-storage/index/maildir/maildir-settings.c, src/lib-storage/index/maildir/maildir-settings.h: maildir: Always try to preserve message GUIDs when copying. Because of this, maildir_copy_preserve_filename setting is now removed. [1b38bf29ac40] * src/lib-storage/index/maildir/maildir-copy.c, src/lib- storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir /maildir-storage.h: maildir_copy_with_hardlinks=yes no longer has a race condition. [502d6048a281] * src/lib-storage/index/maildir/maildir-save.c: maildir save: Detect when trying to use duplicate GUIDs (filenames) and rename them. [386b13dfee04] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Make sure we message's UID isn't tried to be changed unexpectedly. [9fdeca77d421] * src/lib-storage/index/maildir/maildir-sync-index.c: maildir: Message GUID wasn't correctly set to expunge-GUID transaction records. [843a9d68f2f5] 2010-02-15 Timo Sirainen * src/plugins/virtual/virtual-storage.c: virtual: Implement required new methods. [e4a8cc98fd15] * src/lib-storage/list/mailbox-list-maildir-iter.c: maildir++: Fixed listing INBOX [c5cbaca43811] * src/lib-storage/index/maildir/maildir-storage.c: maildir: Crashfix to mailbox_update() [6247eb25fd1a] * src/dsync/dsync-worker-local.c: dsync: Don't try to change INBOX's GUID. [8d5e2deb4ce0] * src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/mail- storage.c: mbox: Make sure we have valid mailbox GUID when returning it. [1afcc09c2c6c] * src/lib-storage/index/mbox/istream-raw-mbox.c: mbox: istream_raw_mbox_get_body_size() no longer crashes if header wasn't read. [8f251e0bc02d] * src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib- storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index /index-storage.c: mailbox_update(): Updating uid_validity requires also reseting index. [a3ec94b25456] * src/lib-storage/index/mbox/mbox-storage.c: mbox: Don't allow INBOX creation succeed, if it already exists. [189197f30055] * src/dsync/dsync-worker-local.c: dsync: Skip alias namespaces when syncing subscriptions. [bc376612e590] * src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.c, src/lib- storage/index/index-transaction.c, src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list.c: Memory usage optimizations. [1d6e99a9703f] * src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.c: dsync: Error handling fixes. [6a8db6824157] * src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index /dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single /sdbox-storage.c, src/lib-storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw /raw-storage.c: lib-storage: Increased initial mailbox pool sizes. [44759fb882aa] * src/lib-storage/index/mbox/mbox-storage.c: mbox: Don't return mailbox GUID if it's coming from in-memory index. [ead16c7d9291] * src/plugins/lazy-expunge/lazy-expunge-plugin.c: lazy_expunge: Fixes to handling mailbox deletion and renames. [4fd02780d09f] * src/lib-storage/mail-storage.c: Mailbox deletion: If mailbox deletion seems to have crashed, allow retrying the deletion. We'll assume that if deletion transaction was written over 5 minutes ago, the deletion crashed. [eae6e4a7ee55] * src/lib-index/mail-index.c, src/lib-index/mail-index.h, src/lib- index/mail-transaction-log.c, src/lib-index/mail-transaction-log.h: lib-index: Added mail_index_get_modification_time(). [31aca1df525b] * src/lib-storage/index/index-storage.c, src/lib-storage/list/mailbox- list-fs.c, src/lib-storage/mail-storage.c: lib-storage: Fixes to rename error handling. [ea8f213f0e19] * src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index /dbox-common/dbox-storage.c, src/lib-storage/index/index-storage.c, src/lib-storage/index/maildir/maildir-storage.c, src/lib- storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox/mbox- storage.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib- storage/mail-storage-private.h, src/lib-storage/mail-storage.c: lib-storage: Removed INBOX auto-creating from backend code. Added bool box->inbox. [26b9138d561f] * src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index /dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single /sdbox-storage.c, src/lib-storage/index/index-storage.c, src/lib- storage/index/index-storage.h, src/lib-storage/index/maildir /maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src /lib-storage/index/raw/raw-storage.c, src/lib-storage/mail- storage.c: lib-storage: Use a default non-NULL mailbox.free() so plugins don't have to check for it. [debbf3f39e0c] * src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index /dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single /sdbox-storage.c, src/lib-storage/index/index-storage.c, src/lib- storage/index/index-thread-private.h, src/lib-storage/index/index- thread.c, src/lib-storage/index/maildir/maildir-storage.c, src/lib- storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw/raw- storage.c, src/lib-storage/mail-storage-private.h, src/lib-storage /mail-storage.c, src/lib-storage/test-mailbox.c, src/plugins/acl /acl-mailbox.c, src/plugins/fts/fts-storage.c, src/plugins/quota /quota-storage.c, src/plugins/virtual/virtual-storage.c: lib-storage: Added mailbox.free() method. Use it instead of close() where necessary. [e8fc01d03aea] * src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index /dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-single/sdbox- save.c, src/lib-storage/index/maildir/maildir-copy.c, src/lib- storage/index/maildir/maildir-save.c, src/lib-storage/index/mbox /mbox-save.c, src/lib-storage/mail-storage.c: lib-storage: Removed some code duplication. [0bcb415c7a71] * src/imap/cmd-rename.c, src/imap/imap-commands-util.c, src/imap/imap- commands-util.h, src/lib-storage/list/mailbox-list-fs.c: Fixed creating mailboxes over \noselect mailboxes. [14b287a3523e] * src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index /dbox-common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox- storage.h, src/lib-storage/index/dbox-multi/mdbox-storage.c, src /lib-storage/index/dbox-single/sdbox-storage.c, src/lib- storage/index/maildir/maildir-settings.c, src/lib- storage/index/maildir/maildir-settings.h, src/lib- storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox /mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib- storage/list/Makefile.am, src/lib-storage/list/mailbox-list- delete.c, src/lib-storage/list/mailbox-list-fs-flags.c, src/lib- storage/list/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox- list-fs.c, src/lib-storage/list/mailbox-list-fs.h, src/lib- storage/list/mailbox-list-maildir-iter.c, src/lib-storage/list /mailbox-list-maildir.c, src/lib-storage/list/mailbox-list- maildir.h, src/lib-storage/mail-storage-settings.c, src/lib-storage /mail-storage-settings.h, src/lib-storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h, src/plugins/virtual/virtual-storage.c: lib-storage: Changed mailbox_list.iter_is_mailbox() API. [be5590207f20] 2010-02-14 Timo Sirainen * src/plugins/listescape/listescape-plugin.c: listescape: Crashfix [709351cde842] * src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c: Compiler warning fix. [9b57e7f41c53] * src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-mailbox.c, src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log /mail-log-plugin.c, src/plugins/notify/notify-noop.c, src/plugins/notify/notify-plugin-private.h, src/plugins/notify /notify-plugin.c, src/plugins/notify/notify-plugin.h, src/plugins/notify/notify-storage.c: Fixed plugins to use the new mailbox rename API. [38897b223957] * src/dsync/dsync-worker-local.c, src/imap/cmd-rename.c, src/lib- storage/index/cydir/cydir-storage.c, src/lib-storage/index/dbox- common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox- storage.h, src/lib-storage/index/dbox-multi/mdbox-storage.c, src /lib-storage/index/dbox-single/sdbox-storage.c, src/lib- storage/index/index-storage.c, src/lib-storage/index/index- storage.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib- storage/index/mbox/mbox-storage.c, src/lib-storage/index/raw/raw- storage.c, src/lib-storage/index/shared/shared-list.c, src/lib- storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-list- maildir.c, src/lib-storage/mail-storage-private.h, src/lib-storage /mail-storage.c, src/lib-storage/mail-storage.h, src/lib-storage /mailbox-list-private.h, src/lib-storage/mailbox-list.c, src/lib- storage/mailbox-list.h, src/lib-storage/test-mailbox.c, src/plugins /lazy-expunge/lazy-expunge-plugin.c, src/plugins/virtual/virtual- storage.c: lib-storage: Mailbox renaming API changed. [292562f9b12c] * src/lib-storage/index/dbox-single/sdbox-file.c, src/lib- storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index /dbox-single/sdbox-storage.h, src/lib-storage/index/dbox-single /sdbox-sync-rebuild.c: sdbox: Fixed accessing alt directories. [3d7fb69184b3] * src/plugins/zlib/ostream-zlib.c: zlib: If writing without being corked, flush the stream. [52e1f46fe0ba] * src/lib/ostream-file.c, src/lib/ostream-internal.h, src/lib/ostream.c: ostream: If cork method isn't implemented, keep track of corking state internally. [3b544841d5d7] 2010-02-13 Timo Sirainen * src/lib-storage/mail-storage.c: mailbox_open(): Don't crash if opening non-stream mailbox fails. [72a345621cd2] * doc/example-config/conf.d/master.conf: example-config: Updated default_*_user comments. [285465d71322] * doc/example-config/conf.d/master.conf, src/anvil/anvil-settings.c, src/dict/dict-settings.c, src/dns/dns-client-settings.c, src/imap- login/imap-login-settings.c, src/master/master-settings.c, src/master/master-settings.h, src/master/service.c, src/pop3-login/pop3-login-settings.c, src/util/tcpwrap-settings.c: Added default_internal_user and default_login_user settings, which services use as default users. [bf84cb98bd04] * src/config/config-parser.c, src/config/config-parser.h, src/config /config-request.c, src/config/config-request.h, src/lib-settings /settings-parser.c, src/lib-settings/settings-parser.h: config: $setting as value returns the setting's current value. [c26002b81f57] * src/master/service.c: master: Check for the existence of service executable after all. [951a90e95ebe] * configure.in: configure: If libwrap isn't used, don't add its service to doveconf. [dc6cf5f10602] * src/login-common/ssl-proxy-openssl.c: Compiler warning fix. [ec7a2fe4aab2] * configure.in: configure: libwrap detection cleared $LIBS [b14e694fc8b4] * configure.in, src/plugins/Makefile.am, src/plugins/imap- zlib/Makefile.am, src/plugins/imap-zlib/imap-zlib-plugin.c, src/plugins/imap-zlib/imap-zlib-plugin.h, src/plugins/zlib/zlib- plugin.c, src/plugins/zlib/zlib-plugin.h: Added imap-zlib plugin for enabling COMPRESS=DEFLATE extension. [29f5567e0a9a] * src/plugins/zlib/ostream-zlib.c: zlib: o_stream_create_deflate() shouldn't have enabled zlib header. [15feca627630] * src/lib-imap/imap-parser.c, src/lib-imap/imap-parser.h: lib-imap: Added imap_parser_set_streams(). [e0e6d941941c] * src/imap/imap-client.c, src/imap/imap-client.h: imap: Added module_contexts to struct client. [57814e99b451] * src/imap/imap-client.h, src/imap/main.c, src/lib-master/master- auth.h, src/login-common/sasl-server.c, src/login-common/ssl-proxy- openssl.c, src/login-common/ssl-proxy.c, src/login-common/ssl- proxy.h: imap: Remember if TLS compression is enabled. [fd5141e85076] * src/lib/ostream.c: o_stream_uncork(): Use flush() as default uncork operation. [9f0014f19bd3] * src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c, src/plugins/zlib/istream-zlib.h, src/plugins/zlib/zlib-plugin.c: zlib: Reimplemented gz/bz2 input streams by using the uncompression functions directly. [74d9dbee1399] * src/lib-storage/index/index-mail.c, src/lib-storage/index/index- mail.h: lib-storage: If plugin changes mail's input stream, don't assert- crash on close. [d73634c82feb] 2010-02-12 Timo Sirainen * src/lib/istream.c: i_stream_grow_buffer(): Never shrink the buffer. [fe70069debcb] * src/doveadm/doveadm-mail.c, src/dsync/dsync-worker-local.c, src/imap /cmd-append.c, src/imap/cmd-copy.c, src/imap/cmd-create.c, src/imap /cmd-delete.c, src/imap/cmd-select.c, src/imap/imap-status.c, src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib- storage/index/cydir/cydir-storage.c, src/lib-storage/index/dbox- common/dbox-storage.c, src/lib-storage/index/dbox-multi/mdbox- storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-storage.h, src/lib- storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index /dbox-single/sdbox-storage.h, src/lib-storage/index/index-storage.c, src/lib-storage/index/index-storage.h, src/lib-storage/index/maildir /maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src /lib-storage/index/raw/raw-storage.c, src/lib-storage/mail-storage- private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail- storage.h, src/lib-storage/test-mail-storage.h, src/lib-storage /test-mailbox.c, src/lmtp/commands.c, src/plugins/autocreate /autocreate-plugin.c, src/plugins/expire/expire-tool.c, src/plugins /imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap-quota- plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/listescape/listescape-plugin.c, src/plugins/mbox-snarf /mbox-snarf-plugin.c, src/plugins/quota/quota-count.c, src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual- storage.c, src/plugins/zlib/zlib-plugin.c, src/pop3/pop3-client.c: lib-storage: Removed input parameter from mailbox_alloc(), added mailbox_open_stream() [b7c8221cea5b] * src/auth/auth-request.c: auth: When caching user-given passwords, cache their SHA1, not the plaintext. [46ae2e53d688] 2010-02-10 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-file-purge.c: Compiler warning fix. [134d59aece1a] * Makefile.am, dovecot-config.in.in: dovecot-config: Renamed DOVECOT_*DIR to dovecot_*dir after all. This makes using them easier in Makefile.ams as install destination paths. [4458ce041538] 2010-02-09 Timo Sirainen * src/lib-index/mail-cache.c, src/lib-index/mail-index.c: lib-index: Fixed logging file creation EACCES failures. [442c980d6221] * src/dsync/dsync-worker-local.c, src/imap/cmd-list.c, src/imap/cmd- status.c, src/imap/imap-status.c, src/imap/imap-status.h, src/lib- storage/index/cydir/cydir-storage.c, src/lib-storage/index/dbox- multi/mdbox-storage.c, src/lib-storage/index/dbox-single/sdbox- storage.c, src/lib-storage/index/index-storage.c, src/lib- storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox /mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib- storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src /lib-storage/mail-storage.h, src/lib-storage/test-mailbox.c, src/plugins/virtual/virtual-storage.c: lib-storage: STATUS_GUID moved to mailbox_get_guid() that can fail. [3609c8a35c36] * src/config/config-request.c, src/lib-storage/index/dbox-common/dbox- mail.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib- storage/list/mailbox-list-fs.c, src/lib-storage/mail-storage- service.c, src/login-common/main.c: Increased initial memory pool sizes. [e202b2b86702] * src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-multi/mdbox-file.c, src/lib-storage/index/dbox-multi/mdbox- map.c: mdbox: Saving now closes newly created files if they become full. Newly created files also aren't locked anymore, they're not visible to others anyway until map index is updated. [9c68c8d42ff2] * src/login-common/main.c: login: tcpwrappers change caused crashes at startup. [9f0c4800cb13] * src/lib-storage/index/dbox-multi/mdbox-file-purge.c: mdbox: If purge deleted a whole file, it didn't expunge map records immediately. [912ef25c2dcf] * src/doveadm/doveadm-dump-index.c: doveadm dump index: Another crashfix. [c7e827ab156e] * src/doveadm/doveadm-dump-index.c: doveadm dump index: Fixed assert-crash. [3712e2dcc856] * src/lib-index/mail-index-sync.c, src/lib-index/mail-index.h, src /lib-storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox- multi/mdbox-sync.c, src/lib-storage/index/dbox-single/sdbox-sync.c, src/lib-storage/index/index-storage.h, src/lib-storage/index/index- sync.c, src/lib-storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw/raw- sync.c, src/lib-storage/mail-storage-private.h, src/lib-storage /mail-storage.c: Mailbox deletion: Fixed race condition where a mailbox couldn't get deleted. [9740c4858a57] * src/lib-index/mail-index-private.h, src/lib-index/mail-index.c, src /lib-storage/index/dbox-common/dbox-sync-rebuild.c, src/lib- storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index/index- storage.c: lib-index: Don't close index files if they're still being used by another mailbox. [93fe3aa23bdb] * src/dsync/dsync-worker-local.c, src/imap/cmd-delete.c, src/lib- storage/index/cydir/cydir-storage.c, src/lib-storage/index/dbox- common/dbox-mail.h, src/lib-storage/index/dbox-common/dbox- storage.c, src/lib-storage/index/dbox-common/dbox-storage.h, src /lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index /dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox- storage.c, src/lib-storage/index/dbox-single/sdbox-storage.c, src /lib-storage/index/index-storage.c, src/lib-storage/index/index- storage.h, src/lib-storage/index/index-transaction.c, src/lib- storage/index/maildir/maildir-storage.c, src/lib- storage/index/maildir/maildir-storage.h, src/lib-storage/index/mbox /mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib- storage/index/shared/shared-list.c, src/lib- storage/list/Makefile.am, src/lib-storage/list/mailbox-list- delete.c, src/lib-storage/list/mailbox-list-delete.h, src/lib- storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-list- fs.h, src/lib-storage/list/mailbox-list-maildir.c, src/lib- storage/list/mailbox-list-maildir.h, src/lib-storage/mail-copy.h, src/lib-storage/mail-storage-private.h, src/lib-storage/mail- storage.c, src/lib-storage/mail-storage.h, src/lib-storage/mailbox- list-private.h, src/lib-storage/mailbox-list.c, src/lib-storage /mailbox-list.h, src/lib-storage/test-mailbox.c, src/plugins/acl /acl-mailbox-list.c, src/plugins/acl/acl-mailbox.c, src/plugins /lazy-expunge/lazy-expunge-plugin.c, src/plugins/listescape /listescape-plugin.c, src/plugins/mail-log/mail-log-plugin.c, src/plugins/notify/notify-noop.c, src/plugins/notify/notify-plugin- private.h, src/plugins/notify/notify-plugin.c, src/plugins/notify /notify-plugin.h, src/plugins/notify/notify-storage.c, src/plugins/quota/quota-storage.c, src/plugins/virtual/virtual- storage.c: lib-storage: Mailbox deletion API changed. Mailbox deletion should now be free of race conditions. The actual file deletion code is now responsibility of mailbox_list backend. [1fd7833c16ca] * src/imap/imap-commands.c: imap: Mark DELETE command as potentially closing mailbox. That happens if DELETE is used on the selected mailbox. [9cefc944d82a] * src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-sync- update.c, src/lib-index/mail-index-sync.c, src/lib-index/mail-index- transaction-export.c, src/lib-index/mail-index-transaction- private.h, src/lib-index/mail-index-transaction-update.c, src/lib- index/mail-index-transaction.c, src/lib-index/mail-index.c, src/lib- index/mail-index.h, src/lib-index/mail-transaction-log-file.c, src /lib-index/mail-transaction-log-private.h, src/lib-index/mail- transaction-log.h: lib-index: Added support for undeleting a deleted index. [22354f505277] * src/lib-index/mail-index-private.h, src/lib-index/mail-index-sync- update.c, src/lib-index/mail-index-sync.c, src/lib-index/mail-index- transaction-update.c: lib-index: Index deletion is now a request that gets finalized by index sync. [6552652a9504] 2010-02-08 Timo Sirainen * src/imap/cmd-delete.c, src/imap/cmd-rename.c, src/imap/cmd- subscribe.c, src/imap/imap-commands-util.c, src/imap/imap-commands- util.h, src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list /mailbox-list-maildir.c, src/lib-storage/mailbox-list.h, src/plugins/acl/acl-mailbox-list.c: mailbox_list_get_mailbox_name_status() now separates between existing mailbox and dir. [a9922c28f5cb] * src/lib-storage/mailbox-list.c: mailbox_name_get_sha128() truncated the returned GUID too early. [cf6f3ce452d3] 2010-02-07 Timo Sirainen * src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h: lib-storage: Added mail_storage_get_user(). [64c8e5e792e9] * src/master/service.c: master: Don't check if service's executable exists if there are no listeners. [488530ada460] * src/master/service.c: master: service's have_inet_listeners wasn't tracked correctly. [8d931f94fdf6] * src/plugins/expire/Makefile.am: expire Makefile: Link with .lo, not .o. Helps at least with dependency tracking. [2b4e61bfb645] * Makefile.am, dovecot-config.in.in: dovecot-config: Renamed field names to be more consistent. [3e162b623291] * dovecot-config.in.in: dovecot-config: LIBDOVECOT_STORAGE_INCLUDE was missing lib-storage/ include. [23b91bb080a9] * dovecot-config.in.in: dovecot-config: Added LIBDOVECOT_IMAP_INCLUDE for imap-specific code. [8f81a3990c62] * dovecot-config.in.in: dovecot-config: Removed lib-storage from LIBDOVECOT_INCLUDE [c919c72033f8] * src/doveadm/doveadm-mail.c, src/dsync/dsync-worker-local.c, src/imap /cmd-append.c, src/imap/cmd-close.c, src/imap/cmd-copy.c, src/imap /cmd-create.c, src/imap/cmd-delete.c, src/imap/cmd-logout.c, src/imap/cmd-select.c, src/imap/cmd-unselect.c, src/imap/imap- client.c, src/imap/imap-status.c, src/lda/main.c, src/lib-index /mail-index-alloc-cache.c, src/lib-index/mail-index-alloc-cache.h, src/lib-lda/mail-deliver.c, src/lib-storage/index/dbox-multi/mdbox- storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index/index-storage.c, src/lib-storage/index/maildir /maildir-storage.c, src/lib-storage/mail-storage.c, src/lib-storage /mail-storage.h, src/lmtp/client.c, src/lmtp/commands.c, src/plugins/autocreate/autocreate-plugin.c, src/plugins/expire /expire-tool.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins /imap-quota/imap-quota-plugin.c, src/plugins/lazy-expunge/lazy- expunge-plugin.c, src/plugins/mbox-snarf/mbox-snarf-plugin.c, src/plugins/quota/quota-count.c, src/plugins/quota/quota-storage.c, src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual- storage.c, src/pop3/pop3-client.c: lib-storage: Split mailbox_close() and mailbox_free() functionality. [8b138b29dc01] * src/imap/imap-client.h: imap-client.h: Updated comments. [bd06d9b159fa] * src/lib-storage/index/cydir/cydir-save.c, src/lib- storage/index/cydir/cydir-storage.c, src/lib-storage/index/cydir /cydir-storage.h, src/lib-storage/index/cydir/cydir-sync.c, src/lib- storage/index/dbox-common/dbox-mail.c, src/lib-storage/index/dbox- common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox-sync- rebuild.c, src/lib-storage/index/dbox-common/dbox-sync-rebuild.h, src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index /dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox- storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-storage.h, src/lib- storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox- single/sdbox-file.c, src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-save.c, src/lib- storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index /dbox-single/sdbox-storage.h, src/lib-storage/index/dbox-single /sdbox-sync-file.c, src/lib-storage/index/dbox-single/sdbox-sync- rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync.c, src/lib- storage/index/index-mail-headers.c, src/lib-storage/index/index- mail.c, src/lib-storage/index/index-mail.h, src/lib-storage/index /index-mailbox-check.c, src/lib-storage/index/index-search.c, src /lib-storage/index/index-status.c, src/lib-storage/index/index- storage.c, src/lib-storage/index/index-storage.h, src/lib- storage/index/index-sync-changes.c, src/lib-storage/index/index- sync-changes.h, src/lib-storage/index/index-sync-private.h, src/lib- storage/index/index-sync-search.c, src/lib-storage/index/index- sync.c, src/lib-storage/index/index-thread-private.h, src/lib- storage/index/index-thread.c, src/lib-storage/index/index- transaction.c, src/lib-storage/index/maildir/maildir-copy.c, src /lib-storage/index/maildir/maildir-keywords.c, src/lib- storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir /maildir-save.c, src/lib-storage/index/maildir/maildir-storage.c, src/lib-storage/index/maildir/maildir-storage.h, src/lib- storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir /maildir-uidlist.c, src/lib-storage/index/maildir/maildir-uidlist.h, src/lib-storage/index/maildir/maildir-util.c, src/lib- storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox/mbox- lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib- storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox- storage.c, src/lib-storage/index/mbox/mbox-storage.h, src/lib- storage/index/mbox/mbox-sync-parse.c, src/lib-storage/index/mbox /mbox-sync-update.c, src/lib-storage/index/mbox/mbox-sync.c, src /lib-storage/index/raw/raw-storage.c, src/lib-storage/index/raw/raw- storage.h, src/lib-storage/index/raw/raw-sync.c, src/lib- storage/index/test-index-fetch.c, src/lib-storage/mail-storage- private.h, src/plugins/virtual/virtual-config.c, src/plugins/virtual /virtual-mail.c, src/plugins/virtual/virtual-search.c, src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual- storage.h, src/plugins/virtual/virtual-sync.c: lib-storage: *_mailboxes don't descend from index_mailbox anymore, it's now a context. [56b1d4dd9c7d] * src/dict/dict-commands.c, src/dict/dict-connection.c, src/lib-dict /dict-client.c, src/lib-dict/dict-db.c, src/lib-dict/dict-file.c, src/lib-dict/dict-private.h, src/lib-dict/dict-sql.c, src/lib- dict/dict.c, src/lib-dict/dict.h, src/plugins/acl/acl-lookup-dict.c, src/plugins/expire/expire-tool.c: lib-dict: Changed dict_iterate API. [7309b5c84ca9] * src/lib-storage/index/index-storage.c, src/lib-storage/index/index- storage.h: lib-storage: mailbox can no longer be looked up from mail_index_view. It's not necessarily anymore and I'm not sure if they should be 1:1. [9780cd3cc48a] * src/lib-storage/index/cydir/cydir-save.c, src/lib- storage/index/cydir/cydir-storage.c, src/lib-storage/index/cydir /cydir-sync.c, src/lib-storage/index/dbox-common/dbox-sync- rebuild.c, src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib- storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox- multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-multi /mdbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-sync.c, src /lib-storage/index/dbox-single/sdbox-mail.c, src/lib-storage/index /dbox-single/sdbox-save.c, src/lib-storage/index/dbox-single/sdbox- storage.c, src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync.c, src/lib- storage/index/index-fetch.c, src/lib-storage/index/index-mail- headers.c, src/lib-storage/index/index-mail.c, src/lib-storage/index /index-search-result.c, src/lib-storage/index/index-search.c, src /lib-storage/index/index-sort-string.c, src/lib-storage/index/index- status.c, src/lib-storage/index/index-storage.c, src/lib- storage/index/index-storage.h, src/lib-storage/index/index-sync- search.c, src/lib-storage/index/index-sync.c, src/lib-storage/index /index-thread.c, src/lib-storage/index/index-transaction.c, src/lib- storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir /maildir-mail.c, src/lib-storage/index/maildir/maildir-save.c, src /lib-storage/index/maildir/maildir-storage.c, src/lib- storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir /maildir-uidlist.c, src/lib-storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox /mbox-mail.c, src/lib-storage/index/mbox/mbox-save.c, src/lib- storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox- sync-parse.c, src/lib-storage/index/mbox/mbox-sync.c, src/lib- storage/index/raw/raw-storage.c, src/lib-storage/index/raw/raw- sync.c, src/lib-storage/index/test-index-fetch.c, src/lib-storage /mail-storage-private.h, src/lib-storage/mail-storage.c, src/plugins/virtual/virtual-mail.c, src/plugins/virtual/virtual- search.c, src/plugins/virtual/virtual-storage.c, src/plugins/virtual /virtual-sync.c: lib-storage: Moved struct mail_index_* from index_mailbox to mailbox. We're relying more and more of all mailboxes being used via lib-index, and this change makes accessing the indexes easier. [e7f066508299] * src/lib-index/Makefile.am, src/lib-index/mail-index-alloc-cache.c, src/lib-index/mail-index-alloc-cache.h, src/lib-index/mail-index.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index /dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single /sdbox-storage.c, src/lib-storage/index/index-storage.c, src/lib- storage/index/index-storage.h, src/lib-storage/index/maildir /maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src /lib-storage/index/raw/raw-storage.c, src/lib-storage/index/shared /shared-storage.c, src/lib-storage/mail-storage.c, src/lib-storage /mailbox-list.c, src/plugins/virtual/virtual-storage.c: Moved mail_index lookup cache from lib-storage to lib-index. Removed some code duplication as a result. [9d3b5cbef222] * src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-private.h, src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index- transaction-export.c, src/lib-index/mail-index-transaction- private.h, src/lib-index/mail-index-transaction-update.c, src/lib- index/mail-index-transaction.c, src/lib-index/mail-index.c, src/lib- index/mail-index.h, src/lib-index/mail-transaction-log-file.c, src /lib-index/mail-transaction-log-private.h, src/lib-index/mail- transaction-log.h, src/lib-storage/index/cydir/cydir-save.c, src /lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index /dbox-single/sdbox-save.c, src/lib-storage/index/index-storage.c, src/lib-storage/index/index-transaction.c, src/lib- storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir /maildir-save.c, src/lib-storage/index/mbox/mbox-save.c: Added support for marking mailbox index deleted. Don't allow any changes after that. This is going to help with race conditions when deleting mailboxes. [fc0ac73f0b36] * src/lib-storage/list/mailbox-list-fs.c: fs layout: We didn't properly prevent maildir_name from being used in mailbox names. [302a4f807276] * src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index /dbox-common/dbox-storage.c, src/lib-storage/index/index-storage.c, src/lib-storage/index/maildir/maildir-storage.c, src/lib- storage/index/mbox/mbox-storage.c, src/lib-storage/index/shared /shared-list.c, src/lib-storage/list/mailbox-list-fs.c, src/lib- storage/list/mailbox-list-maildir.c, src/lib-storage/mail-storage- private.h, src/lib-storage/mail-storage.c, src/lib-storage/mailbox- list-private.h, src/lib-storage/mailbox-list.h, src/plugins/acl/acl- mailbox-list.c, src/plugins/acl/acl-mailbox.c: lib-storage: Moved mailbox directory creation code to mailbox_list backend. [5fe70b5da1b8] 2010-02-06 Timo Sirainen * src/lib-storage/index/dbox-common/dbox-storage.c, src/lib- storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index /dbox-single/sdbox-storage.c: dbox: Moved more mailbox creation code to dbox-common. [bdb1ea37ccee] * src/lib-storage/index/mbox/istream-raw-mbox.c: mbox: raw mbox stream's stat() now returns mail size as stream size if it's known. [b1597605c3ef] * src/lib-storage/index/dbox-multi/mdbox-save.c: mdbox saving: Fallback to using non-exact mail size if exact isn't available. The size is used only to check if it would make mdbox file become too large. [e9f4efacf692] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Make sure we don't append to uidlist that has already been recreated. [cfe7d639fa03] * src/lib-dict/Makefile.am, src/lib-sql/Makefile.am, src/lib- storage/register/Makefile.am, src/plugins/quota/Makefile.am: Makefiles: Use nodist_*_SOURCES to exclude generated .c files from dist. [518572a630a8] * .hgignore, configure.in, doc/example-config/dovecot.conf, src/login- common/Makefile.am, src/login-common/access-lookup.c, src/login- common/access-lookup.h, src/login-common/login-settings.c, src /login-common/login-settings.h, src/login-common/main.c, src/util/Makefile.am, src/util/tcpwrap-settings.c, src/util/tcpwrap.c: Added support for tcpwrappers and potentially other login access checks. [51a978045f47] * src/plugins/acl/acl-plugin.c, src/plugins/autocreate/autocreate- plugin.c, src/plugins/expire/expire-plugin.c, src/plugins/fts-lucene /fts-lucene-plugin.c, src/plugins/fts-solr/fts-solr-plugin.c, src/plugins/fts-squat/fts-squat-plugin.c, src/plugins/fts/fts- plugin.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap- quota/imap-quota-plugin.c, src/plugins/lazy-expunge/lazy-expunge- plugin.c, src/plugins/listescape/listescape-plugin.c, src/plugins /mbox-snarf/mbox-snarf-plugin.c, src/plugins/notify/notify-plugin.c, src/plugins/quota/quota-plugin.c, src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-plugin.c, src/plugins/zlib/zlib- plugin.c: plugins: Use DOVECOT_VERSION instead of PACKAGE_VERSION. [d4fd28f07507] * configure.in: config.h: Added DOVECOT_* macros for PACKAGE_* macros. [928312d6017c] * src/lib/module-context.h: module-context.h: Include required array.h internally. [5e2075b5b25f] * src/lib-storage/index/index-search.c: lib-storage: Use mailbox_status() to get number of messages in search code. This doesn't really change anything, except makes it possible for plugins to hide some messages. [e0b6f739510d] * src/plugins/zlib/Makefile.am, src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib/ostream-zlib.c, src/plugins/zlib/ostream-zlib.h, src/plugins/zlib/zlib-plugin.c: zlib plugin: Added support for compressing Maildir mails while saving. [9f0e01905171] * src/lib/ostream.c: ostream: Added default failure handling if write_at() isn't implemented. [174275bcb1a5] * src/lib-index/mail-index-strmap.c: lib-index: Changed strmap's crc32 field to be backwards compatible. [b87a15fc462a] * src/lib/Makefile.am, src/lib/crc32.c, src/lib/test-crc32.c, src/lib /test-lib.c, src/lib/test-lib.h: crc32*() didn't return a standard CRC32 value. [dcfcedb32ea2] 2010-02-05 Timo Sirainen * src/imap/imap-search-args.c: Compiler warning fix. [05ae3f2e079e] * src/lib-dict/Makefile.am, src/lib-dict/dict.c, src/lib-dict/dict.h, src/lib-dict/test-dict.c: lib-dict: Added dict_[un]escape_string(). [2cfe01556d6c] * src/imap/imap-search-args.c: imap search args: Allocate uidset from correct memory pool. Shouldn't have caused any bugs, but this is the intended way. [7ebf82401e7a] 2010-02-02 Timo Sirainen * doc/example-config/conf.d/mail.conf, src/lib-storage/index/dbox- common/dbox-file.c, src/lib-storage/index/dbox-common/dbox-file.h, src/lib-storage/index/dbox-multi/mdbox-file-purge.c, src/lib- storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index/dbox- multi/mdbox-file.h, src/lib-storage/index/dbox-multi/mdbox-map- private.h, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib- storage/index/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox- multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox- settings.c, src/lib-storage/index/dbox-multi/mdbox-settings.h, src /lib-storage/index/dbox-multi/mdbox-sync.c: mdbox: Purging now also moves mails to alt storage (if it's used). mdbox_altmove setting specifies how old files should be moved. [c60910419861] * src/lib-storage/mailbox-list.c: Don't ignore :ALT=path in mail_location. [55cce06818b8] * doc/example-config/conf.d/mail.conf, src/lib-storage/index/dbox- multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox- settings.c, src/lib-storage/index/dbox-multi/mdbox-settings.h: mdbox: Removed quite pointless mdbox_purge_min_percentage setting. [8098d0fa929a] * doc/example-config/conf.d/mail.conf, src/lib-storage/index/dbox- multi/mdbox-settings.c, src/lib-storage/index/dbox-multi/mdbox- settings.h: mdbox: Removed unused mdbox_rotate_min_size setting. [253889fc317f] * src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index /dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox- sync.c, src/lib-storage/index/dbox-multi/mdbox-sync.h: mdbox: Removed forced automatic purging for now. It was too ineffecient. [2917f019b179] * doc/example-config/conf.d/mail.conf, src/lib-storage/index/dbox- multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox- settings.c, src/lib-storage/index/dbox-multi/mdbox-settings.h: mdbox_rotate_days changed to mdbox_rotate_interval, supporting one second resolution. [b0b63deab22a] * src/plugins/expire/expire-tool.c: expire-tool: Change config module so we'll actually read all necessary settings. [bbfa22045215] * src/plugins/expire/expire-tool.c: expire-tool: Check and log an error if dict iteration fails. [568c437ad951] * src/dict/dict-commands.c, src/lib-dict/dict-client.c: dict proxy: Iteration failure wasn't passed to dict client. [5e50d5597474] * src/login-common/ssl-proxy-openssl.c: login: Now properly disable SSLv2 support. [9a5f3e3b0197] * src/login-common/ssl-proxy-openssl.c: login: Use SSLv23_server_method() after all. It appears to be the only method that supports both SSLv3 and TLSv1 connections, without breaking the other one. [b0239838bdfe] 2010-02-01 Timo Sirainen * src/plugins/notify/notify-plugin.c: notify plugin: Require plugin to be same version as Dovecot. [a07a699b3831] * src/plugins/notify/Makefile.am: notify plugin: Install headers if --enable-header-install is used. Patch by Mark Washenberger. [c9e0ee292a08] * Makefile.am: dovecot-config: Avoid using $(pkglibexecdir), it doesn't work with old automakes. [de9d6dae7fe5] 2010-01-31 Timo Sirainen * .hgsigs: Added signature for changeset 357995a6c270 [a978089d090b] * .hgtags: Added tag 2.0.beta2 for changeset 357995a6c270 [40081c368a29] * TODO, configure.in: Released v2.0.beta2. [357995a6c270] [2.0.beta2] * src/lib-index/mail-index-transaction-update.c: mail_index_update_flags_range(): Fixed merging last update. [2893ca172707] * Makefile.am: dovecot-config: LIBDOVECOT_INCLUDE shouldn't have been dropped from installed file. [8dcfb629a060] * src/login-common/Makefile.am, src/login-common/client-common-auth.c, src/login-common/login-proxy.c, src/login-common/login-proxy.h: login: Proxying supports now doing DNS lookups for host names. [23956a9b915b] * configure.in, src/Makefile.am, src/dns/Makefile.am, src/dns/dns- client-settings.c, src/dns/dns-client.c, src/lib-dns/Makefile.am, src/lib-dns/dns-lookup.c, src/lib-dns/dns-lookup.h, src/lib- dovecot/Makefile.am: Added dns-client service and library for doing async dns lookups. [8f9fc7fa7c73] * src/lib/macros.h: Added CONTEXT_CALLBACK2() helper macro. [45709a87e4b3] * Makefile.am, dovecot-config.in.in: dovecot-config: Don't rely on installed .la files. [89928f671350] * src/login-common/client-common-auth.c, src/login-common/login- proxy.c, src/login-common/login-proxy.h: login: Proxy code API cleanup. [6b3dc91ae0c5] * src/master/main.c: master: Removed non-existing -cb parameter description from --help. [c06033a1f147] * Makefile.am, dovecot-config.in.in: Changed dovecot-config file to contain useful content. [5a10d0fb008d] * src/login-common/ssl-proxy-openssl.c: login: Completely drop support for SSLv2. [449fa953210b] 2010-01-29 Timo Sirainen * src/dsync/dsync-brain-msgs-new.c: dsync: Small optimization. [6799298bfa27] * src/dsync/dsync-brain-msgs-new.c: dsync: Message list wasn't sorted properly, which caused sync to be incomplete. [e9046fc7c6b4] * src/lib-master/master-service-settings.c: lib-master: When standalone binary reads config from config socket, ignore environment. [9a6015507c78] * src/lib-storage/index/mbox/mbox-sync.c: mbox: Fixed assert-crash after sometimes creating pseudo mail. [992bb0c85ee9] * src/lib-settings/settings-parser.c: lib-settings: Treat blocks with empty names as unique names, instead of merging them. [4c9c9111e361] 2010-01-28 Timo Sirainen * src/config/config-filter.c: config: Added support for protocol !name {} [25c1ed070b3c] * src/lmtp/commands.c: lmtp: Switch back to running as root after deliver a mail. [de1bf8a51556] * src/lib-storage/mail-storage-settings.c, src/lib-storage/mail- storage-settings.h: Namespaces can now have names. This could make some types of configuration cleaner. [1a7c861bca43] * configure.in: configure: Another try at fixing Berkeley DB check to not give an error. [20963e8ec560] * src/master/service.c: master: inet_listener {port=0} and unix/fifo_listener {mode=0} now disables it. [476de3a45cf8] * configure.in: configure: Fixed Berkeley DB check to not give an error. [db89ece5a19d] * src/lib-master/master-login.c: lib-master: Fixed using post-login scripts. [873b2aff9196] * doc/example-config/conf.d/auth.conf: example-config: Fixed example auth.conf. [51452840b8b4] * doc/example-config/conf.d/master.conf, src/imap-login/imap-login- settings.c, src/lib-master/service-settings.h, src/master/master- settings.c, src/pop3-login/pop3-login-settings.c: Added default inet_listeners for imap/pop3-login. [9ab4539b736d] * src/config/doveconf.c: doveconf: Don't add extra space to "block {" for unique blocks. [11708783b5b3] 2010-01-27 Timo Sirainen * src/lib-storage/list/mailbox-list-maildir.c: Increased initial memory pool size. [2d118c4e6957] * src/lib-settings/settings-parser.c: lib-settings: Initialize block{}s, even if they don't have anything inside. For example if there's an empty userdb {}, it should give an error instead of being silently ignored. [477bd56cdb3e] * src/lib-master/Makefile.am, src/lib-master/master-service-private.h, src/lib-master/master-service-settings.c, src/lib-master/master- service.c: lib-master: When executing standalone, try first to read config from global socket. [379b993c5ca6] * src/lib-index/mail-cache-transaction.c: mail cache: Avoid infinite loops. [193fa6e7635c] * doc/auth-protocol.txt, src/auth/auth-master-connection.c, src/auth /auth-request-handler.c, src/lib-master/master-login-auth.c: auth master lookups: If request isn't found, return FAIL instead of NOTFOUND. [cab5f2e7b806] * src/lib-master/master-login.c: lib-master: Don't leak post-login connections. [f4e64cb17aea] * src/auth/auth-settings.c: auth: Fixed "userdb is missing driver" error. [bea4b2d1f27f] 2010-01-26 Timo Sirainen * src/lib-lda/lda-settings.c: hostname setting now defaults to fqdn. postmaster_address defaults to postmaster@. [e1d112ef2e4c] * doc/example-config/conf.d/logging.conf, src/auth/auth-request.c, src/auth/auth-request.h, src/auth/auth-settings.c, src/auth/auth- settings.h, src/auth/passdb-bsdauth.c, src/auth/passdb-sia.c: Added auth_verbose_passwords = no|plain|sha1. [941511db13c3] 2010-01-25 Timo Sirainen * src/plugins/acl/acl-backend-vfile.c: acl: Don't give admin rights to all owner mailboxes. The SETACL IMAP command should already prevent this. If this situation is created by modifying dovecot-acl file manually, it's probably intentional. [667fea930ec3] * src/lib-dict/Makefile.am: Makefile: Updated dict-drivers-register.c to depend on config.h [0ff07b4ad306] * src/anvil/anvil-connection.c, src/anvil/anvil-settings.c, src/anvil /connect-limit.c, src/anvil/main.c, src/anvil/penalty.c, src/auth /auth-cache.c, src/auth/auth-client-connection.c, src/auth/auth- master-connection.c, src/auth/auth-penalty.c, src/auth/auth-request- handler.c, src/auth/auth-request.c, src/auth/auth-settings.c, src/auth/auth-stream.c, src/auth/auth-worker-client.c, src/auth /auth-worker-server.c, src/auth/auth.c, src/auth/db-checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd-file.c, src/auth/db-sql.c, src/auth/main.c, src/auth/mech-anonymous.c, src/auth/mech-cram- md5.c, src/auth/mech-digest-md5.c, src/auth/mech-external.c, src/auth/mech-plain.c, src/auth/mech.c, src/auth/passdb-blocking.c, src/auth/passdb-bsdauth.c, src/auth/passdb-cache.c, src/auth/passdb- checkpassword.c, src/auth/passdb-ldap.c, src/auth/passdb-passwd- file.c, src/auth/passdb-passwd.c, src/auth/passdb-shadow.c, src/auth /passdb-sql.c, src/auth/passdb-vpopmail.c, src/auth/passdb.c, src/auth/password-scheme.c, src/auth/userdb-blocking.c, src/auth /userdb-checkpassword.c, src/auth/userdb-ldap.c, src/auth/userdb- nss.c, src/auth/userdb-passwd-file.c, src/auth/userdb-passwd.c, src/auth/userdb-prefetch.c, src/auth/userdb-sql.c, src/auth/userdb- static.c, src/auth/userdb-vpopmail.c, src/auth/userdb.c, src/config /config-connection.c, src/config/config-filter.c, src/config/config- parser.c, src/config/config-request.c, src/config/config-settings.c, src/config/doveconf.c, src/config/main.c, src/config/sysinfo-get.c, src/dict/dict-commands.c, src/dict/dict-connection.c, src/dict/dict- settings.c, src/dict/main.c, src/doveadm/doveadm-auth.c, src/doveadm /doveadm-dump-index.c, src/doveadm/doveadm-dump-log.c, src/doveadm /doveadm-dump-mailboxlog.c, src/doveadm/doveadm-dump-thread.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-who.c, src/doveadm/doveadm.c, src/dsync/dsync-brain-msgs-new.c, src/dsync /dsync-brain-msgs.c, src/dsync/dsync-brain.c, src/dsync/dsync- data.c, src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy- server-cmd.c, src/dsync/dsync-proxy-server.c, src/dsync/dsync- proxy.c, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.c, src/dsync/dsync.c, src/dsync/test-dsync-brain-msgs.c, src/dsync /test-dsync-brain.c, src/dsync/test-dsync-common.c, src/dsync/test- dsync-proxy-server-cmd.c, src/dsync/test-dsync-proxy.c, src/dsync /test-dsync-worker.c, src/imap-login/client-authenticate.c, src /imap-login/client.c, src/imap-login/imap-login-settings.c, src /imap-login/imap-proxy.c, src/imap/cmd-append.c, src/imap/cmd- cancelupdate.c, src/imap/cmd-capability.c, src/imap/cmd-check.c, src/imap/cmd-close.c, src/imap/cmd-copy.c, src/imap/cmd-create.c, src/imap/cmd-delete.c, src/imap/cmd-enable.c, src/imap/cmd- examine.c, src/imap/cmd-expunge.c, src/imap/cmd-fetch.c, src/imap /cmd-id.c, src/imap/cmd-idle.c, src/imap/cmd-list.c, src/imap/cmd- logout.c, src/imap/cmd-lsub.c, src/imap/cmd-namespace.c, src/imap /cmd-noop.c, src/imap/cmd-rename.c, src/imap/cmd-search.c, src/imap /cmd-select.c, src/imap/cmd-sort.c, src/imap/cmd-status.c, src/imap /cmd-store.c, src/imap/cmd-subscribe.c, src/imap/cmd-thread.c, src/imap/cmd-uid.c, src/imap/cmd-unselect.c, src/imap/cmd- unsubscribe.c, src/imap/cmd-x-cancel.c, src/imap/imap-client.c, src/imap/imap-commands-util.c, src/imap/imap-commands.c, src/imap /imap-expunge.c, src/imap/imap-fetch-body.c, src/imap/imap-fetch.c, src/imap/imap-search-args.c, src/imap/imap-search.c, src/imap/imap- settings.c, src/imap/imap-status.c, src/imap/imap-sync.c, src/imap /mail-storage-callbacks.c, src/imap/main.c, src/lda/main.c, src/lib- auth/auth-client-request.c, src/lib-auth/auth-client.c, src/lib-auth /auth-master.c, src/lib-auth/auth-server-connection.c, src/lib- charset/charset-iconv.c, src/lib-charset/charset-utf8.c, src/lib- dict/dict-client.c, src/lib-dict/dict-db.c, src/lib-dict/dict- file.c, src/lib-dict/dict-sql-settings.c, src/lib-dict/dict-sql.c, src/lib-dict/dict.c, src/lib-imap/imap-base-subject.c, src/lib-imap /imap-bodystructure.c, src/lib-imap/imap-date.c, src/lib-imap/imap- envelope.c, src/lib-imap/imap-id.c, src/lib-imap/imap-match.c, src /lib-imap/imap-parser.c, src/lib-imap/imap-quote.c, src/lib-imap /imap-seqset.c, src/lib-imap/imap-utf7.c, src/lib-imap/imap-util.c, src/lib-imap/test-imap-match.c, src/lib-imap/test-imap-parser.c, src /lib-imap/test-imap-utf7.c, src/lib-imap/test-imap-util.c, src/lib- index/mail-cache-compress.c, src/lib-index/mail-cache-decisions.c, src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache- lookup.c, src/lib-index/mail-cache-sync-update.c, src/lib-index /mail-cache-transaction.c, src/lib-index/mail-cache.c, src/lib-index /mail-index-dummy-view.c, src/lib-index/mail-index-fsck.c, src/lib- index/mail-index-lock.c, src/lib-index/mail-index-map-hdr.c, src /lib-index/mail-index-map-read.c, src/lib-index/mail-index-map.c, src/lib-index/mail-index-modseq.c, src/lib-index/mail-index- strmap.c, src/lib-index/mail-index-sync-ext.c, src/lib-index/mail- index-sync-keywords.c, src/lib-index/mail-index-sync-update.c, src /lib-index/mail-index-sync.c, src/lib-index/mail-index-transaction- export.c, src/lib-index/mail-index-transaction-finish.c, src/lib- index/mail-index-transaction-sort-appends.c, src/lib-index/mail- index-transaction-update.c, src/lib-index/mail-index-transaction- view.c, src/lib-index/mail-index-transaction.c, src/lib-index/mail- index-util.c, src/lib-index/mail-index-view-sync.c, src/lib-index /mail-index-view.c, src/lib-index/mail-index-write.c, src/lib-index /mail-index.c, src/lib-index/mail-transaction-log-append.c, src/lib- index/mail-transaction-log-file.c, src/lib-index/mail-transaction- log-view.c, src/lib-index/mail-transaction-log.c, src/lib-index /mailbox-list-index-sync.c, src/lib-index/mailbox-list-index.c, src /lib-index/mailbox-log.c, src/lib-index/test-mail-index-transaction- finish.c, src/lib-index/test-mail-index-transaction-update.c, src /lib-index/test-mail-transaction-log-append.c, src/lib-index/test- mail-transaction-log-view.c, src/lib-lda/duplicate.c, src/lib-lda /lda-settings.c, src/lib-lda/lmtp-client.c, src/lib-lda/mail- deliver.c, src/lib-lda/mail-send.c, src/lib-lda/smtp-client.c, src /lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c, src /lib-mail/mbox-from.c, src/lib-mail/message-address.c, src/lib-mail /message-date.c, src/lib-mail/message-decoder.c, src/lib-mail /message-header-decode.c, src/lib-mail/message-header-encode.c, src /lib-mail/message-header-parser.c, src/lib-mail/message-id.c, src /lib-mail/message-parser.c, src/lib-mail/message-part-serialize.c, src/lib-mail/message-search.c, src/lib-mail/message-send.c, src/lib- mail/message-size.c, src/lib-mail/quoted-printable.c, src/lib- mail/rfc2231-parser.c, src/lib-mail/rfc822-parser.c, src/lib-mail /test-istream-dot.c, src/lib-mail/test-istream-header-filter.c, src /lib-mail/test-mbox-from.c, src/lib-mail/test-message-address.c, src /lib-mail/test-message-date.c, src/lib-mail/test-message-decoder.c, src/lib-mail/test-message-header-decode.c, src/lib-mail/test- message-header-encode.c, src/lib-mail/test-message-header-parser.c, src/lib-mail/test-message-id.c, src/lib-mail/test-message-parser.c, src/lib-mail/test-quoted-printable.c, src/lib-mail/test- rfc2231-parser.c, src/lib-master/anvil-client.c, src/lib-master /master-auth.c, src/lib-master/master-login-auth.c, src/lib-master /master-login.c, src/lib-master/master-service-settings.c, src/lib- master/master-service.c, src/lib-master/syslog-util.c, src/lib- settings/settings-parser.c, src/lib-settings/settings.c, src/lib-sql /driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql/sql-api.c, src/lib-sql/sql-pool.c, src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir-save.c, src/lib- storage/index/cydir/cydir-storage.c, src/lib-storage/index/cydir /cydir-sync.c, src/lib-storage/index/dbox-common/dbox-file-fix.c, src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index /dbox-common/dbox-mail.c, src/lib-storage/index/dbox-common/dbox- save.c, src/lib-storage/index/dbox-common/dbox-storage.c, src/lib- storage/index/dbox-common/dbox-sync-rebuild.c, src/lib-storage/index /dbox-multi/mdbox-file-purge.c, src/lib-storage/index/dbox-multi /mdbox-file.c, src/lib-storage/index/dbox-multi/mdbox-mail.c, src /lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index /dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox- settings.c, src/lib-storage/index/dbox-multi/mdbox-storage- rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src /lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index /dbox-single/sdbox-file.c, src/lib-storage/index/dbox-single/sdbox- mail.c, src/lib-storage/index/dbox-single/sdbox-save.c, src/lib- storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index /dbox-single/sdbox-sync-file.c, src/lib-storage/index/dbox-single /sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single/sdbox- sync.c, src/lib-storage/index/index-fetch.c, src/lib-storage/index /index-mail-headers.c, src/lib-storage/index/index-mail.c, src/lib- storage/index/index-mailbox-check.c, src/lib-storage/index/index- search-result.c, src/lib-storage/index/index-search.c, src/lib- storage/index/index-sort-string.c, src/lib-storage/index/index- sort.c, src/lib-storage/index/index-status.c, src/lib-storage/index /index-storage.c, src/lib-storage/index/index-sync-changes.c, src /lib-storage/index/index-sync-search.c, src/lib-storage/index/index- sync.c, src/lib-storage/index/index-thread-finish.c, src/lib- storage/index/index-thread-links.c, src/lib-storage/index/index- thread.c, src/lib-storage/index/index-transaction.c, src/lib- storage/index/istream-mail-stats.c, src/lib-storage/index/maildir /maildir-copy.c, src/lib-storage/index/maildir/maildir-filename.c, src/lib-storage/index/maildir/maildir-keywords.c, src/lib- storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir /maildir-save.c, src/lib-storage/index/maildir/maildir-settings.c, src/lib-storage/index/maildir/maildir-storage.c, src/lib- storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir /maildir-uidlist.c, src/lib-storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib- storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox/mbox- lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib- storage/index/mbox/mbox-md5.c, src/lib-storage/index/mbox/mbox- save.c, src/lib-storage/index/mbox/mbox-settings.c, src/lib- storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox- sync-parse.c, src/lib-storage/index/mbox/mbox-sync-rewrite.c, src /lib-storage/index/mbox/mbox-sync-update.c, src/lib- storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw/raw- mail.c, src/lib-storage/index/raw/raw-storage.c, src/lib- storage/index/raw/raw-sync.c, src/lib-storage/index/shared/shared- list.c, src/lib-storage/index/shared/shared-storage.c, src/lib- storage/index/test-index-fetch.c, src/lib-storage/list/index- mailbox-list-sync.c, src/lib-storage/list/index-mailbox-list.c, src /lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list /mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir- iter.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib- storage/list/mailbox-list-subscriptions.c, src/lib-storage/list /subscription-file.c, src/lib-storage/mail-copy.c, src/lib-storage /mail-error.c, src/lib-storage/mail-namespace.c, src/lib-storage /mail-search-build.c, src/lib-storage/mail-search.c, src/lib-storage /mail-storage-hooks.c, src/lib-storage/mail-storage-service.c, src /lib-storage/mail-storage-settings.c, src/lib-storage/mail- storage.c, src/lib-storage/mail-thread.c, src/lib-storage/mail- user.c, src/lib-storage/mail.c, src/lib-storage/mailbox-list.c, src /lib-storage/mailbox-search-result.c, src/lib-storage/mailbox- tree.c, src/lib-storage/mailbox-uidvalidity.c, src/lib-storage/test- mail-storage.c, src/lib-storage/test-mail.c, src/lib-storage/test- mailbox.c, src/lib-test/test-common.c, src/lib/abspath.c, src/lib/aqueue.c, src/lib/array.c, src/lib/askpass.c, src/lib /backtrace-string.c, src/lib/base64.c, src/lib/bsearch-insert-pos.c, src/lib/buffer.c, src/lib/child-wait.c, src/lib/close-keep-errno.c, src/lib/compat.c, src/lib/crc32.c, src/lib/data-stack.c, src/lib /eacces-error.c, src/lib/env-util.c, src/lib/failures.c, src/lib/fd- close-on-exec.c, src/lib/fd-set-nonblock.c, src/lib/fdatasync- path.c, src/lib/fdpass.c, src/lib/file-cache.c, src/lib/file-copy.c, src/lib/file-dotlock.c, src/lib/file-lock.c, src/lib/file-set- size.c, src/lib/hash.c, src/lib/hash2.c, src/lib/hex-binary.c, src/lib/hex-dec.c, src/lib/home-expand.c, src/lib/hostpid.c, src/lib/imem.c, src/lib/ioloop-notify-dn.c, src/lib/ioloop-notify- fd.c, src/lib/ioloop-notify-inotify.c, src/lib/ioloop-notify-none.c, src/lib/ioloop-poll.c, src/lib/ioloop-select.c, src/lib/ioloop.c, src/lib/iostream.c, src/lib/istream-concat.c, src/lib/istream- crlf.c, src/lib/istream-data.c, src/lib/istream-file.c, src/lib /istream-limit.c, src/lib/istream-mmap.c, src/lib/istream- seekable.c, src/lib/istream-tee.c, src/lib/istream.c, src/lib/lib- signals.c, src/lib/lib.c, src/lib/mempool-alloconly.c, src/lib /mempool-datastack.c, src/lib/mempool-system-clean.c, src/lib /mempool-system.c, src/lib/mempool-unsafe-datastack.c, src/lib/mempool.c, src/lib/mkdir-parents.c, src/lib/mmap-anon.c, src/lib/mmap-util.c, src/lib/module-dir.c, src/lib/mountpoint.c, src/lib/network.c, src/lib/nfs-workarounds.c, src/lib/ostream- buffer.c, src/lib/ostream-file.c, src/lib/ostream.c, src/lib/printf- format-fix.c, src/lib/priorityq.c, src/lib/process-title.c, src/lib/randgen.c, src/lib/read-full.c, src/lib/restrict-access.c, src/lib/restrict-process-size.c, src/lib/safe-memset.c, src/lib /safe-mkdir.c, src/lib/safe-mkstemp.c, src/lib/sendfile-util.c, src/lib/seq-range-array.c, src/lib/str-find.c, src/lib/str- sanitize.c, src/lib/str.c, src/lib/strescape.c, src/lib/strfuncs.c, src/lib/test-aqueue.c, src/lib/test-array.c, src/lib/test-base64.c, src/lib/test-bsearch-insert-pos.c, src/lib/test-buffer.c, src/lib /test-hex-binary.c, src/lib/test-istream-concat.c, src/lib/test- istream-crlf.c, src/lib/test-istream-seekable.c, src/lib/test- istream-tee.c, src/lib/test-lib.c, src/lib/test-llist.c, src/lib /test-mempool-alloconly.c, src/lib/test-network.c, src/lib/test- primes.c, src/lib/test-priorityq.c, src/lib/test-seq-range-array.c, src/lib/test-str-find.c, src/lib/test-str-sanitize.c, src/lib/test- strescape.c, src/lib/test-strfuncs.c, src/lib/test-time-util.c, src/lib/test-utc-mktime.c, src/lib/test-var-expand.c, src/lib/time- util.c, src/lib/unichar.c, src/lib/unix-socket-create.c, src/lib /unlink-directory.c, src/lib/unlink-old-files.c, src/lib/utc- mktime.c, src/lib/utc-offset.c, src/lib/var-expand.c, src/lib/write- full.c, src/lmtp/client.c, src/lmtp/commands.c, src/lmtp/lmtp- proxy.c, src/lmtp/lmtp-settings.c, src/lmtp/main.c, src/log/log- connection.c, src/log/log-settings.c, src/log/main.c, src/login- common/client-common-auth.c, src/login-common/client-common.c, src /login-common/login-proxy-state.c, src/login-common/login-proxy.c, src/login-common/login-settings.c, src/login-common/main.c, src /login-common/sasl-server.c, src/login-common/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c, src/login-common/ssl-proxy.c, src/master/dup2-array.c, src/master/main.c, src/master/master- settings.c, src/master/service-anvil.c, src/master/service-listen.c, src/master/service-log.c, src/master/service-monitor.c, src/master /service-process-notify.c, src/master/service-process.c, src/master/service.c, src/plugins/acl/acl-api.c, src/plugins/acl /acl-backend-vfile-acllist.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-backend.c, src/plugins/acl/acl-cache.c, src/plugins/acl/acl-lookup-dict.c, src/plugins/acl/acl-mailbox- list.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-plugin.c, src/plugins/acl/acl-shared-storage.c, src/plugins/acl/acl-storage.c, src/plugins/autocreate/autocreate-plugin.c, src/plugins/expire /expire-env.c, src/plugins/expire/expire-plugin.c, src/plugins/expire/expire-tool.c, src/plugins/fts-lucene/fts- backend-lucene.c, src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins/fts-lucene/lucene-wrapper.cc, src/plugins/fts-solr/fts- backend-solr.c, src/plugins/fts-solr/fts-solr-plugin.c, src/plugins /fts-solr/solr-connection.c, src/plugins/fts-squat/fts-backend- squat.c, src/plugins/fts-squat/fts-squat-plugin.c, src/plugins/fts- squat/squat-test.c, src/plugins/fts-squat/squat-trie.c, src/plugins /fts-squat/squat-uidlist.c, src/plugins/fts/fts-api.c, src/plugins/fts/fts-plugin.c, src/plugins/fts/fts-search.c, src/plugins/fts/fts-storage.c, src/plugins/imap-acl/imap-acl- plugin.c, src/plugins/imap-quota/imap-quota-plugin.c, src/plugins /lazy-expunge/lazy-expunge-plugin.c, src/plugins/listescape /listescape-plugin.c, src/plugins/mail-log/mail-log-plugin.c, src/plugins/mbox-snarf/mbox-snarf-plugin.c, src/plugins/quota/quota- count.c, src/plugins/quota/quota-dict.c, src/plugins/quota/quota- dirsize.c, src/plugins/quota/quota-fs.c, src/plugins/quota/quota- maildir.c, src/plugins/quota/quota-plugin.c, src/plugins/quota /quota-storage.c, src/plugins/quota/quota.c, src/plugins/trash /trash-plugin.c, src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual-mail.c, src/plugins/virtual/virtual- plugin.c, src/plugins/virtual/virtual-save.c, src/plugins/virtual /virtual-search.c, src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-sync.c, src/plugins/virtual/virtual- transaction.c, src/plugins/zlib/istream-bzlib.c, src/plugins/zlib /istream-zlib.c, src/plugins/zlib/zlib-plugin.c, src/pop3-login /client-authenticate.c, src/pop3-login/client.c, src/pop3-login/pop3 -login-settings.c, src/pop3-login/pop3-proxy.c, src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-commands.c, src/pop3/pop3-settings.c, src/ssl-params/main.c, src/ssl-params/ssl- params-openssl.c, src/ssl-params/ssl-params-settings.c, src/ssl- params/ssl-params.c, src/util/gdbhelper.c, src/util/imap-utf7.c, src/util/listview.c, src/util/maildirlock.c, src/util/rawlog.c, src/util/script.c: Updated copyright notices to include year 2010. [615eef3139c2] * configure.in, src/lib-dict/dict-db.c: Disabled Berkeley DB support until someone fixes it. [6ecb1b7528c9] * src/plugins/Makefile.am: --with-lucene was actually enabling solr. [2af2a6afb3e5] * src/lib/compat.c, src/lib/compat.h: Removed my_strptime(). It was just causing problems and wasn't used anywhere after all. [28f35797059a] * doc/example-config/conf.d/auth.conf, src/auth/auth-settings.c: auth: Don't use section names for passdb/userdb driver names. When using section names, it wasn't possible to use the same driver more than once without an error. [a2ed5c020cfa] * src/config/config-parser.c: doveconf: If config parsing fails, don't crash. [3117e9f35e45] * src/auth/auth-settings.c: auth: passdb { pass and master } settings weren't working. [9c80cc65def8] * doc/example-config/conf.d/master.conf: example-config: s/process_count/process_limit/ [f8ab17253dff] 2010-01-24 Timo Sirainen * src/auth/passdb-passwd-file.c, src/auth/userdb-passwd-file.c: passwd-file: Give a better error message if args (path) is empty. [354d3b1eee03] 2010-01-23 Timo Sirainen * src/lib-master/master-auth.c: lib-master: Try for 0.5 secs to connect to master-auth socket. [823356f533c5] * src/config/doveconf.c, src/master/main.c: doveconf: Log a warning if Dovecot was last started using a different config file. [26b5209dc4f4] * src/lib/abspath.c, src/lib/abspath.h: Added t_readlink(). [749e7f1df078] 2010-01-22 Timo Sirainen * src/config/config-parser.c: doveconf: Fix to previous change. [cd29a6801e75] * src/config/config-parser.c, src/config/config-request.c, src/config /config-request.h, src/config/doveconf.c: doveconf: Dump config to stdout even when there are errors, just show them afterwards. [b01b9eff1f15] * src/master/master-settings.c: master: Fail if service's executable is empty. [f1a0f9a66164] * configure.in: Added LIST-STATUS to CAPABILITY list. [7fe775a404b1] 2010-01-20 Timo Sirainen * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: dropping expunged uidlist records didn't update hash table. [e48e81c2b874] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir + pop3_lock_session: Don't crash when opening mailbox causes uidlist rewrite. [32d6a4112147] 2010-01-19 Timo Sirainen * doc/example-config/conf.d/lda.conf, src/lib-lda/lda-settings.c: recipient_delimiter defaults to "+" now. Also added to example- config. [69c793c7f185] * src/plugins/virtual/virtual-mail.c: virtual: wanted_headers needs to be kept referenced. [45f360c1c9eb] * src/lib-index/mail-index-transaction-update.c: mail_index_update_flags_range(): Fixed out-of-bounds read. [57eb71a78375] * src/plugins/virtual/virtual-mail.c: virtual MAILBOX_FETCH_MAILBOX_NAME: Return mail's physical mailbox name. When using a virtual mailbox of other virtual mailboxes, this changes the behavior from returning a virtual mailbox's name to returning the underlying physical mailbox's name. [b6ea12ec49c8] * src/plugins/virtual/virtual-mail.c: virtual: mail_set_uid() crashed. [bbcefa2a3976] * src/lib-storage/index/index-mail.c: lib-storage: Return mail's mailbox name with namespace prefix. [e1de7e7ae4f9] * src/lib-storage/index/index-storage.c: lib-storage: Mailbox virtual name was set wrong with multiple namespaces. [26583093cb54] * src/lib-storage/mail-namespace.c: namespace list=children: Fail if namespace prefix doesn't end with separator. [907dc8769491] * src/config/config-request.c: doveconf: Show time settings with "s" suffix to make it clear they're seconds. [e7f3a0e6e2a4] * src/master/master-settings.c: master: Changed unix_listener mode setting to octal type. [4d703a15d6b8] * src/config/config-request.c, src/lib-settings/settings-parser.c, src /lib-settings/settings-parser.h: config: Added support for "octal integer", which is just printed as octal. [443927a546e2] 2010-01-18 Timo Sirainen * src/lib/eacces-error.c: eacces_error_get*(): Check and warn if multiple uids/gids have same name. [b8966b8133f2] 2010-01-06 Timo Sirainen * src/plugins/expire/expire-tool.c: expire-tool: Don't crash at startup. [40abbeaa7a12] 2010-01-02 Timo Sirainen * configure.in: configure: Use -llber for ldap only if necessary. [2882650531e0] * src/login-common/Makefile.am: login-common: Install headers. [127fb230e269] * src/imap-login/client-authenticate.c, src/imap-login/client.c, src /imap-login/imap-proxy.c, src/login-common/Makefile.am, src/login- common/client-common-auth.c, src/login-common/client-common.c, src /login-common/common.h, src/login-common/login-common.h, src/login- common/login-proxy.c, src/login-common/login-settings.c, src/login- common/main.c, src/login-common/sasl-server.c, src/login-common/ssl- proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c, src/pop3-login /client-authenticate.c, src/pop3-login/client.c, src/pop3-login/pop3-proxy.c: login-common: Renamed common.h to login-common.h [9ae939146ff7] * src/lib-master/Makefile.am: lib-master: Install headers. [19695965c40e] 2009-12-31 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-save.c: mdbox: Removed broken assert. [16acdd049281] * TODO: TODO updated. [dfca2414c0a0] * src/dsync/Makefile.am, src/dsync/dsync-brain.c, src/dsync/dsync- data.c, src/dsync/dsync-data.h, src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy.c, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.c, src/dsync /test-dsync-brain-msgs.c, src/dsync/test-dsync-brain.c, src/dsync /test-dsync-common.c, src/dsync/test-dsync-proxy-server-cmd.c, src/dsync/test-dsync-proxy.c, src/dsync/test-dsync-worker.c: dsync: Initial code to sync mailbox list without dir GUID support. Not complete yet. [96db209efe22] * src/lib-storage/index/shared/shared-list.c, src/lib-storage/list /mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src /lib-storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h: lib-storage: Added mailbox_list_delete_dir() to (try to) delete a \noselect mailbox. [3c12d0376cef] * src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/cydir/cydir-storage.h, src/lib-storage/index/dbox- common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox- storage.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib- storage/index/maildir/maildir-storage.h, src/lib-storage/index/mbox /mbox-storage.c, src/lib-storage/index/mbox/mbox-storage.h, src/lib- storage/index/shared/shared-list.c, src/lib-storage/list/mailbox- list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib- storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src /lib-storage/mailbox-list.h: lib-storage: Removed mailbox_list_get_guid(). Directory GUIDs are pretty pointless. [f20bced53213] * src/auth/auth-request.c, src/auth/password-scheme.c, src/auth /password-scheme.h: auth_debug_passwords: If password is correct but scheme is wrong, try to detect and log it. [de75c45e6765] 2009-12-29 Timo Sirainen * doc/example-config/conf.d/lda.conf: example-config: Updated postmaster_address. [99dbadd0492b] 2009-12-30 Pascal Volk * src/lib-lda/lda-settings.c: lda-settings: Try to set the the postmaster_address if it wasn't configured. [d6d1df7ea4e0] 2009-12-29 Timo Sirainen * doc/example-config/conf.d/pop3.conf, src/lib-storage/mail-storage- settings.c, src/pop3/pop3-client.c, src/pop3/pop3-commands.c, src/pop3/pop3-common.h: pop3: Added %g = GUID to pop3_uidl_format. [0462fcfb809a] 2009-12-23 Timo Sirainen * src/master/master-settings.c: master: Log warning if unix_listener begins with base_dir's path. [6f67d3ce4ac4] * doc/example-config/conf.d/pop3.conf: example-config: Added missing pop3_save_uidl setting. [263068802498] * src/lda/Makefile.am: Install deliver -> dovecot-lda symlink. [7a0a89d81699] * src/master/master-settings.c: master: Give error message with unknown names in protocols setting. [e4e31fa845a5] * src/lib-storage/index/index-storage.c: mailbox_update() wasn't updating cache fields correctly. [8f2c4d0f7247] * src/lib-storage/index/maildir/maildir-storage.c: maildir storage: Don't keep memory pointing to mailbox list. Storage is no longer directly related to mailbox list, and the list may be freed. [f4b3e4366e3e] * src/dsync/dsync-worker-local.c: dsync convert: Skip namespaces that have non-empty location setting. [c3423cfc5244] * doc/example-config/conf.d/master.conf: example-config: Comment fix. [9eb28fc864db] * src/imap/cmd-list.c: imap: LIST "" inbox shouldn't crash when using namespace with "INBOX." prefix. [35dbb3595beb] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Fixed potential assert-crashes with "Duplicate file entry" handling. [c8322124d615] * doc/example-config/conf.d/mail.conf: example-config: Fixed shared namespace example. [f011d7801572] 2009-12-22 Timo Sirainen * src/login-common/login-settings.c: *-login: Removed redundant %{hostname} variable. [07e688afe81b] * src/lib/Makefile.am, src/lib/test-lib.c, src/lib/test-lib.h, src/lib /test-var-expand.c, src/lib/var-expand.c: var_expand(): Added support for built-in host, pid and env:* variables. [e1b725d02c30] * src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c: mdbox: Fixed rebuilding mdbox storage. [c3d85a07888c] * src/lib-storage/index/dbox-common/dbox-file.c: dbox: Added assert. [824b7072c6d9] * src/lib/istream-seekable.c, src/lib/test-istream-seekable.c: istream-seekable: If we're immediately at EOF after copying buffer to file, don't corrupt the buffer. [5d7ee047667f] * src/lib/mempool-system.c: DEBUG: i_free() now clears the memory before freeing it. [19787c343ef1] * src/master/main.c: master: When writing startup errors to stderr, use the correct type prefix. [76af32fae1e2] 2009-12-21 Timo Sirainen * src/dsync/dsync-worker-local.c: dsync: If mailbox exists in both sides, create it as name_guid in other side. [e3db0a5889b7] * src/dsync/dsync-brain.c, src/dsync/dsync-data.h, src/dsync/dsync- proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync- proxy.c, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker- private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h, src/dsync/test-dsync-brain.c, src/dsync/test-dsync-proxy-server- cmd.c, src/dsync/test-dsync-worker.c, src/lib-storage/mailbox-list- private.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox- list.h: dsync: Write mailbox changelog records using original timestamps. [eba3e50fef36] 2009-12-18 Timo Sirainen * src/dsync/dsync.c: dsync: Updated usage. [cf20258a44ed] * src/dsync/dsync.c: dsync: Updated -a parameter description. [1f2bef73d052] 2009-12-17 Timo Sirainen * src/imap/imap-fetch.c: imap: Refresh index before starting a FETCH, so it sees updated flags immediately. [bb04510465d3] * src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-plugin.c, src/plugins/acl/acl-plugin.h, src/plugins/acl/acl-storage.c, src/plugins/notify/notify-storage.c, src/plugins/quota/quota- plugin.c, src/plugins/quota/quota-plugin.h, src/plugins/quota/quota- storage.c: plugins: Simplified code by using mailbox_allocated hook. [8e9e67a94e16] 2009-12-16 Timo Sirainen * src/login-common/ssl-proxy-openssl.c: verbose_ssl: Don't log SSL info messages with "BIO failed" prefix. [55baae8ed874] * src/lib-storage/index/index-storage.c, src/lib-storage/index/index- thread-private.h, src/lib-storage/index/index-thread.c, src/lib- storage/mail-storage-hooks.c, src/lib-storage/mail-storage-hooks.h: lib-storage: mailbox_index_opened hook renamed to mailbox_opened. [43239594b65b] * src/lib-storage/mail-storage.h: mail-storage.h: Another comment update. [c339b0f7d087] * src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list.c: lib-storage: Don't clear errors unnecessarily (and inconsistently). [1cb0e7cf3750] * src/lib-storage/mail-storage.h: mail-storage.h: Updated comments, moved around functions. [6ee8264b0284] * src/doveadm/doveadm-mail.c, src/dsync/dsync-worker-local.c, src/imap /cmd-close.c, src/imap/cmd-select.c, src/imap/imap-status.c, src/imap/imap-sync.c, src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib-storage/index/index-storage.h, src/lib-storage/index/index- sync.c, src/lib-storage/list/index-mailbox-list-sync.c, src/lib- storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src /lib-storage/mail-storage.h, src/lib-storage/test-mailbox.c, src/lmtp/commands.c, src/plugins/expire/expire-tool.c, src/plugins /lazy-expunge/lazy-expunge-plugin.c, src/plugins/mbox-snarf/mbox- snarf-plugin.c, src/plugins/quota/quota-count.c, src/plugins/quota /quota-storage.c, src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-sync.c, src/pop3/pop3-client.c, src/pop3/pop3-commands.c: lib-storage: Changed mailbox_sync() and mailbox_sync_deinit() APIs. Although we're already in beta stage, this is simple enough of a change that it shouldn't matter much. Having syncing also return status information made the API ugly and the status information wasn't even wanted all that often. [50364f04cf13] * src/imap/imap-sync.c, src/lib-storage/mail-storage.h: Removed MAILBOX_SYNC_AUTO_STOP sync flag. It wasn't used anywhere. [c17386a4e594] * src/lib-lda/lmtp-client.c: lmtp client: data_output_callback may have been called unnecessarily. [c96b02a477a0] * src/lib-storage/mail-storage-service.c: mail storage service: When duping settings, they need to be also checked. The checking part may also parse some settings and store data to the structures. [2f554f19adb5] * src/lib/abspath.c: t_get_current_dir(): Don't overflow buffer with >128 length directories. [482d43792090] * src/lib/lib-signals.c: lib-signals: Compile fix for Hurd (SA_SIGINFO not available). Based on patch by Marco Nenciarini. [9c2fe6d0b684] * src/lib-storage/index/shared/shared-list.c, src/lib-storage/list /mailbox-list-fs.c, src/lib-storage/list/mailbox-list-fs.h, src/lib- storage/list/mailbox-list-maildir-iter.c, src/lib-storage/list /mailbox-list-maildir.c, src/lib-storage/list/mailbox-list- maildir.h, src/lib-storage/mailbox-list.h: Avoid using PATH_MAX. [e7cd1b10f18b] * src/lib/abspath.c, src/lib/abspath.h, src/lib/eacces-error.c, src/lib/nfs-workarounds.c: Added t_get_current_dir() and use it instead of getcwd(). [13be6ac759ee] * src/lda/main.c, src/master/main.c: Use t_abspath() instead of duplicating code. [28a14e2fe5d6] * src/lib/failures.c: Don't use static sized buffers for writing log open failure errors. [28ff2944d4e9] * src/lib-master/master-service-settings.c: lib-master: Use t_abspath() to resolve relative path, not realpath(). [876990dc41c2] 2009-12-15 Timo Sirainen * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h, src/lmtp/main.c, src/util/script.c: mail storage service: Some flag enums were missing FLAG_ in the middle. [569206178c09] * src/doveadm/doveadm-auth.c, src/lib-auth/auth-master.c, src/lib-auth /auth-master.h, src/lib-storage/mail-storage-service.c, src/lib- storage/mail-storage-service.h, src/lmtp/main.c: Idle-disconnecting auth master connections is now optional. LMTP no longer does it. [3907cc4ecc4b] * doc/example-config/conf.d/master.conf, src/imap/imap-settings.c, src/pop3/pop3-settings.c: imap, pop3: Set default process limit to 1024, like it was in v1.x. [eb5795c49550] * src/master/master-settings.c: config: Don't fail if process_min_avail is set and process_limit is the default. [72a0ec4b7e26] * src/lmtp/client.c: lmtp: Increased initial client pool size. [caee83356d7b] * src/lib/lib-signals.c: lib-signals: Set signal pipe fds non-blocking to make sure read/write doesn't hang. [2d7e2e76a100] * src/lib-storage/index/maildir/maildir-copy.c, src/lib- storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir /maildir-storage.h, src/plugins/quota/quota-storage.c: maildir: Always add S=size to filenames. It's necessary for using zlib plugin and doesn't hurt much anyway. [eabe311c8649] * configure.in, src/lib/env-util.c: Compile fix for systems where unsetenv() returns void. FreeBSD 6.4, for example. [617fa0739538] * src/lmtp/commands.c: lmtp: Don't lose first 128k of data with >128k mails. [1aea146d39e1] 2009-12-14 Timo Sirainen * configure.in, src/plugins/fts-solr/Makefile.am, src/plugins/fts- squat/Makefile.am, src/plugins/imap-acl/Makefile.am, src/plugins /imap-quota/Makefile.am, src/plugins/mail-log/Makefile.am, src/plugins/trash/Makefile.am: OSX: Don't try add plugin dependencies. It just breaks plugin loading. [5df19422d561] * src/dsync/Makefile.am: Makefile: Compile fix for systems requiring libiconv. [394a63985b33] * src/imap/imap-settings.c: imap_client_workarounds defaults to empty now, not deprecated outlook-idle. [c86764388c69] * src/plugins/lazy-expunge/lazy-expunge-plugin.c: lazy-expunge: Fixed deleting mailboxes that didn't have expunged messages. [bef8da2e6b0c] * src/plugins/lazy-expunge/lazy-expunge-plugin.c: lazy-expunge: Support a single-namespace configuration. If a mailbox is deleted, its contents are merged with the existing expunged messages. [b2f31df5f5da] * src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-plugin.c, src/plugins/acl/acl-plugin.h, src/plugins/lazy-expunge/lazy-expunge- plugin.c, src/plugins/listescape/listescape-plugin.c, src/plugins/notify/notify-storage.c, src/plugins/quota/quota- plugin.c, src/plugins/quota/quota-plugin.h, src/plugins/quota/quota- storage.c: plugins: Use mail_namespace_storage_added hook instead of mailbox_list_created. In mailbox_list_created the storage hasn't yet overridden the list functions. [43895027cab9] * src/lib-storage/mail-namespace.c, src/lib-storage/mail-storage- hooks.c, src/lib-storage/mail-storage-hooks.h: lib-storage: Added mail_namespace_storage_added hook. [bc9dbd257811] * src/imap/cmd-copy.c: imap COPY: Don't give "fetch stream header+body" hint to lib- storage. Usually copying is done by hard linking, not reading the whole message body. [64a01185564b] 2009-12-13 Timo Sirainen * .hgsigs: Added signature for changeset 594a349067f6 [52672e49c428] * .hgtags: Added tag 2.0.beta1 for changeset 594a349067f6 [6baa8073eaf3] * TODO, configure.in: Released v2.0.beta1. [594a349067f6] [2.0.beta1] * doc/example-config/Makefile.am: Makefile: Delete example-config/README in distclean. [8610b6e687e5] * src/lib-index/test-mail-index-transaction-update.c: mail-index-transaction-update unit test fix. [240739b27688] * doc/example-config/Makefile.am: Makefile: Add example-config/README.in to tarballs. [1c2e553809b2] * src/lib-storage/index/dbox-common/dbox-storage.c, src/lib- storage/index/maildir/maildir-storage.c, src/lib-storage/mailbox- uidvalidity.c, src/lib-storage/mailbox-uidvalidity.h: dovecot-uidvalidity*: Create files with correct permission. [7f2e9c793af8] * src/lib-storage/mailbox-list.c: mailbox log: Create file with correct permission. [d4c645713656] * src/lib-master/master-login-auth.c, src/lib-master/master-login- auth.h, src/lib-master/master-login.c, src/lib-master/master- login.h, src/lib-master/master-service-private.h, src/lib-master /master-service.c: imap, pop3: Close auth/config connections when we stop accepting more connections. [a0d99b374aa4] * src/lib-master/master-service.c: lib-master: Close listener fds when we stop accepting more connections. [32949365f28d] * src/util/script.c: script: Close extra fds before executing post-login script. [484be10242a7] * src/config/config-request.c: config: Compiler warning fix. [20d54d23785a] * .hgignore, configure.in, src/plugins/Makefile.am, src/plugins/convert/Makefile.am, src/plugins/convert/convert- plugin.c, src/plugins/convert/convert-plugin.h, src/plugins/convert /convert-storage.c, src/plugins/convert/convert-storage.h, src/plugins/convert/convert-tool.c: Deleted convert plugin and convert-tool. dsync replaces them. [2c9b01cb6e08] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-settings.c: Added setting aliases: mail for mail_location, both of them for namespace location. Removed special case handling for changing mail to mail_location in userdb. [da03d0ecd3e7] * src/lib-settings/settings-parser.c, src/lib-settings/settings- parser.h: settings parser: Added support for setting name aliases. [17596238d8ea] * src/lib-settings/settings-parser.c, src/lib-settings/settings- parser.h: lib-settings: settings_get_time/size() are now public. [3bcd4697a7cc] * src/plugins/expire/expire-env.c, src/plugins/expire/expire-env.h, src/plugins/expire/expire-plugin.c, src/plugins/expire/expire- tool.c: expire plugin: Changed configuration. Instead of: expire = box1 7 box2 14 expire_altmove = box3 4 use now: expire = box1 7d expire2 = box2 14d expire3 = box3 4d altmove Instead of 7d and 14d it's also possible to use 1w and 2w. All the regular "time" setting values work actually, minimum expire time is 1sec. [46691becc45e] * src/imap/main.c, src/pop3/main.c: imap, pop3: Don't crash if post-login socket path wasn't given. [06bddee57586] * src/util/script.c: script: Don't load mail plugins. [093865257852] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: Added mail_storage_service_restrict_setenv(). [2a74d458339d] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: Mail storage service: Added MAIL_STORAGE_SERVICE_NO_PLUGINS flag. [21c0676961e8] 2009-12-11 Timo Sirainen * src/util/Makefile.am, src/util/script.c: script: Added enough features to get rawlog working again. Also added -d parameter to drop privileges before executing script. [b07f913040b1] * src/imap/main.c, src/lib-master/master-login.c, src/lib-master /master-login.h, src/pop3/main.c, src/util/Makefile.am, src/util/script.c: imap, pop3: Added back ability to run post-login scripts. [e9cbc461c525] * src/lib/Makefile.am, src/lib/abspath.c, src/lib/abspath.h: Added t_abspath*(). [395b53cebaac] * src/lib/Makefile.am, src/lib/strfuncs.c, src/lib/strfuncs.h, src/lib /test-lib.c, src/lib/test-lib.h, src/lib/test-strfuncs.c: Added p_strarray_dup(). [c2386c4594d5] * src/imap/main.c, src/pop3/main.c: imap, pop3: If client creation fails, update lib-master connection count. [f0fd3bd7c122] * src/imap/main.c, src/lib-master/master-login.c, src/pop3/main.c: *-login: Check for missing username in lib-master code. [6c9d97878efe] * src/anvil/main.c, src/lib-master/master-interface.h, src/master /service-anvil.c, src/master/service-anvil.h, src/master/service- log.c, src/master/service-process.c, src/master/service.c, src/master/service.h: anvil: After master gets a SIGHUP, start logging via new log process. [802b9ebe79e6] * src/lib-master/master-login.c: lib-master: Minor error message fixes. [32ad99f146d1] 2009-12-10 Timo Sirainen * src/dsync/Makefile.am: dsync tests: Link also with libcharset. [8196200d4fb9] * src/dsync/Makefile.am: dsync tests: Link with iconv libraries to avoid compiler errors in some systems. [868c0d6462f4] * src/lib/bsearch-insert-pos.h: Compile fix for non-gcc. [b6e4cb26c3cb] 2009-12-09 Timo Sirainen * src/login-common/main.c: *-login: If we've a pending shutdown and auth connection gets lost, kill clients. If master and auth processes had died, we would never get another connection. [a164075ea33a] * src/lib-auth/auth-client-request.c, src/lib-auth/auth-client.c, src /lib-auth/auth-client.h, src/login-common/sasl-server.c: *-login: Get auth connection cookie earlier so its lookup can't fail. [32e77c570529] * src/lib-auth/auth-client.c: auth client: Added asserts. [3ac17da0d723] * src/lib-storage/index/mbox/mbox-sync.c: mbox: If mbox parsing notices unexpected corruption, don't assert- crash. [b15a3277d7d4] * src/lib-storage/index/mbox/istream-raw-mbox.c: mbox: Log an error if From_-line gets lost/corrupted unexpectedly. [576abd71121c] * src/plugins/expire/expire-env.c: expire: Settings now support spaces in mailbox names by using quoted strings. [ba7a62453316] * src/plugins/virtual/virtual-sync.c: virtual optimization: If saved highest-modseq matches current one, don't try to find higher ones. [b7ce62749fd7] * src/plugins/virtual/virtual-sync.c: virtual: Fixed updating virtual mailbox based on flag changes. [aa97e059ca32] * src/doveadm/doveadm-dump-index.c: doveadm dump index: Decode virtual storage's index header. [8df262408a10] * src/lib-master/master-service.c: lib-master: Die on SIGINT only if we're running standalone or not handling clients. [e6362e056ef2] * src/dsync/dsync.c: dsync: Removed MASTER_SERVICE_FLAG_STD_CLIENT flag, since it's not really one. [bbdfe2ef328b] * .hgignore, doc/example-config/Makefile.am, doc/example- config/README.in: Install README file to config directory, which points to example- config. [b1e0c10143fa] * configure.in: configure: Added -llber to ldap libs. Fixes linking in some systems. Patch by Marco Nenciarini. [7456f5768184] * src/lib/process-title.c: Compile fix for non-Linux. [3d13ea0c687f] 2009-11-27 Pascal Volk * doc/dovecot-initd.sh: doc/dovecot-initd.sh extended LSB run-time dependencies [73679e39f072] 2009-12-08 Timo Sirainen * src/plugins/quota/quota.c: quota: Minor code cleanup. [b166d2cc49a6] * src/plugins/quota/quota-maildir.c, src/plugins/quota/quota- private.h, src/plugins/quota/quota.c: Maildir++ quota: % limits weren't updated when limits were read from maildirsize. [4002e686d38d] * src/lib/compat.c: Fixed my_strptime() wrapper. [2f294ba2168a] * src/lib/lib.c, src/lib/process-title.c, src/lib/process-title.h: process title hack: Free allocated memory at deinit. [32aba99c2e4f] * src/login-common/ssl-proxy-openssl.c: *-login: Fixed a minor memory leak. [328e42919f2f] * doc/example-config/conf.d/ssl.conf: example-config: Updated ssl_key_password comments. [3badaa16d524] * doc/example-config/conf.d/ssl.conf, src/login-common/login- settings.c, src/login-common/login-settings.h, src/login-common/ssl- proxy-openssl.c: *-login: ssl_ca_file setting changed to ssl_ca. [0da209ff80d5] * src/imap/cmd-list.c: imap: Fixed listing namespaces with multiple hierarchy separators. [3a1f6c1a8485] * src/config/config-parser.c, src/lib-settings/settings.c: config parser: If line ends with '\' continuation, remove extra whitespace before it. [05cfc267aa3d] 2009-12-07 Timo Sirainen * src/plugins/expire/expire-env.c: expire plugin: Log debug messages with i_debug(), not i_info(). [93b3a6e63531] * src/plugins/expire/expire-env.c: expire plugin: Fixed debug logging to use mail_debug setting. [84e400f3fc1f] * src/lib/module-dir.c: Fixed compiling without module support. [7bfb37044928] * src/auth/main.c, src/config/config-parser.c, src/dict/main.c, src /lib-storage/mail-storage-service.c, src/lib/module-dir.c, src/lib /module-dir.h: module_dir_load*() API changed to take settings struct, with debug field. Fixed debug logging to also go from info log to debug log. [55c42d2f7002] * src/lmtp/lmtp-proxy.c: lmtp proxy: Fixed output timeout handling. [abe02cf3bd47] * src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap- quota-plugin.c: imap-* plugins: Advertise capability only if user actually has plugin loaded. [7330a21e7d03] * src/lib-storage/mail-user.c, src/lib-storage/mail-user.h: lib-storage: Added mail_user_is_plugin_loaded(). [1062e6ca6310] * src/lib-storage/mail-storage-service.c: lib-storage: Added support for per-user plugins. [932afc022ea1] * src/lib-storage/mail-storage-hooks.c: lib-storage: Use module_get_plugin_name() instead of doing it ourself. [784d2920761f] * src/lib/module-dir.c, src/lib/module-dir.h: Added module_dir_load_missing() and module_get_plugin_name(). [f0a6461b86ee] * src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src/lmtp/lmtp- proxy.c: lmtp proxy fixes. [3662241f75f2] * src/lib-storage/mail-storage-hooks.c, src/lib-storage/mail-storage- hooks.h: lib-storage: Forgot to add new files for plugin API change. [ea17056d2df9] 2009-12-04 Timo Sirainen * src/lib/env-util.c: Check return value if unsetenv(). [927cc04cd5e8] * src/lib-storage/Makefile.am, src/lib-storage/list/index-mailbox- list-sync.c, src/lib-storage/list/index-mailbox-list.c, src/lib- storage/mail-namespace.c, src/lib-storage/mail-namespace.h, src/lib- storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src /lib-storage/mail-user.c, src/lib-storage/mail-user.h, src/lib- storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src/lib/module-dir.c, src/lib/module-dir.h, src/lib/strfuncs.c, src/lib/strfuncs.h, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-plugin.c, src/plugins/acl/acl-plugin.h, src/plugins/acl/acl-storage.c, src/plugins/autocreate/autocreate- plugin.c, src/plugins/autocreate/autocreate-plugin.h, src/plugins/convert/convert-plugin.c, src/plugins/convert/convert- plugin.h, src/plugins/expire/expire-plugin.c, src/plugins/expire /expire-plugin.h, src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins/fts-lucene/fts-lucene-plugin.h, src/plugins/fts-solr /fts-solr-plugin.c, src/plugins/fts-solr/fts-solr-plugin.h, src/plugins/fts-squat/fts-squat-plugin.c, src/plugins/fts-squat/fts- squat-plugin.h, src/plugins/fts/fts-plugin.c, src/plugins/fts/fts- plugin.h, src/plugins/fts/fts-storage.c, src/plugins/imap-acl/imap- acl-plugin.c, src/plugins/imap-acl/imap-acl-plugin.h, src/plugins /imap-quota/imap-quota-plugin.c, src/plugins/imap-quota/imap-quota- plugin.h, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.h, src/plugins/listescape/listescape-plugin.c, src/plugins/listescape /listescape-plugin.h, src/plugins/mail-log/mail-log-plugin.c, src/plugins/mail-log/mail-log-plugin.h, src/plugins/mbox-snarf/mbox- snarf-plugin.c, src/plugins/mbox-snarf/mbox-snarf-plugin.h, src/plugins/notify/notify-plugin-private.h, src/plugins/notify /notify-plugin.c, src/plugins/notify/notify-plugin.h, src/plugins/notify/notify-storage.c, src/plugins/quota/quota- plugin.c, src/plugins/quota/quota-plugin.h, src/plugins/quota/quota- storage.c, src/plugins/trash/trash-plugin.c, src/plugins/trash /trash-plugin.h, src/plugins/virtual/virtual-plugin.c, src/plugins/virtual/virtual-plugin.h, src/plugins/zlib/zlib- plugin.c, src/plugins/zlib/zlib-plugin.h: lib-storage: Plugin hook API changed to support per-user plugins within a process. [a9eda7672869] * src/config/settings-get.pl: Changed settings-get.pl to understand the MEMBER() macro removal. [3448f1bc6966] * src/anvil/anvil-settings.c, src/auth/auth-settings.c, src/auth/auth.c, src/auth/db-ldap.c, src/auth/db-sql.c, src/auth /mech-anonymous.c, src/auth/mech-apop.c, src/auth/mech-cram-md5.c, src/auth/mech-digest-md5.c, src/auth/mech-external.c, src/auth/mech- gssapi.c, src/auth/mech-login.c, src/auth/mech-ntlm.c, src/auth /mech-otp.c, src/auth/mech-plain.c, src/auth/mech-rpa.c, src/auth /mech-skey.c, src/auth/mech-winbind.c, src/auth/passdb-bsdauth.c, src/auth/passdb-checkpassword.c, src/auth/passdb-ldap.c, src/auth /passdb-pam.c, src/auth/passdb-passwd-file.c, src/auth/passdb- passwd.c, src/auth/passdb-shadow.c, src/auth/passdb-sia.c, src/auth /passdb-sql.c, src/auth/passdb-vpopmail.c, src/auth/userdb- checkpassword.c, src/auth/userdb-ldap.c, src/auth/userdb-nss.c, src/auth/userdb-passwd-file.c, src/auth/userdb-passwd.c, src/auth /userdb-prefetch.c, src/auth/userdb-sql.c, src/auth/userdb-static.c, src/auth/userdb-vpopmail.c, src/config/config-settings.c, src/dict /dict-settings.c, src/imap-login/imap-login-settings.c, src/imap /imap-settings.c, src/lib-dict/dict-client.c, src/lib-dict/dict- db.c, src/lib-dict/dict-file.c, src/lib-dict/dict-sql.c, src/lib- index/mail-index-strmap.c, src/lib-index/mailbox-list-index.c, src /lib-lda/duplicate.c, src/lib-lda/lda-settings.c, src/lib-master /master-service-settings.c, src/lib-settings/settings-parser.c, src /lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql /driver-sqlite.c, src/lib-sql/sql-api.c, src/lib-storage/index/cydir /cydir-storage.c, src/lib-storage/index/dbox-multi/mdbox-settings.c, src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib- storage/index/dbox-single/sdbox-storage.c, src/lib- storage/index/maildir/maildir-settings.c, src/lib- storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox /mbox-settings.c, src/lib-storage/index/mbox/mbox-storage.c, src /lib-storage/index/raw/raw-storage.c, src/lib-storage/index/shared /shared-list.c, src/lib-storage/index/shared/shared-storage.c, src /lib-storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox- list-maildir.c, src/lib-storage/mail-storage-settings.c, src/lib- storage/test-mail-storage.c, src/lib-storage/test-mailbox.c, src/lib/macros.h, src/lib/mempool-alloconly.c, src/lib/mempool- datastack.c, src/lib/mempool-system-clean.c, src/lib/mempool- system.c, src/lib/mempool-unsafe-datastack.c, src/lmtp/lmtp- settings.c, src/log/log-settings.c, src/login-common/login- settings.c, src/master/master-settings.c, src/plugins/acl/acl- backend-vfile.c, src/plugins/convert/convert-storage.c, src/plugins /fts-lucene/fts-backend-lucene.c, src/plugins/fts-solr/fts-backend- solr.c, src/plugins/fts-squat/fts-backend-squat.c, src/plugins/quota /quota-maildir.c, src/plugins/virtual/virtual-storage.c, src/pop3-login/pop3-login-settings.c, src/pop3/pop3-settings.c, src /ssl-params/ssl-params-settings.c, src/util/maildirlock.c: Removed MEMBER() macro. Require C99 style struct initializer. [b757dab45756] 2009-12-03 Timo Sirainen * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Removed logging extraneous errors, again. [48b8752c793d] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Removed logging extraneous errors. [68309cd6548d] * src/lib-storage/index/maildir/maildir-copy.c: maildir_copy_preserve_filename=yes could have caused crashes. [2277467334fb] 2009-12-02 Timo Sirainen * src/auth/auth-client-connection.c, src/auth/auth-master- connection.c, src/auth/auth-worker-server.c, src/auth/passdb.c, src/auth/password-scheme.c, src/auth/userdb.c, src/config/config- parser.c, src/imap/cmd-list.c, src/imap/imap-commands-util.c, src/imap/imap-search.c, src/imap/imap-sync.c, src/lib-dict/dict- file.c, src/lib-dict/dict.c, src/lib-index/mail-index-map.c, src/lmtp/lmtp-proxy.c, src/master/master-settings.c, src/master /service-listen.c, src/master/service-log.c, src/master/service- monitor.c, src/master/service.c, src/ssl-params/main.c: Use array_foreach() more. [ad3fb3f929fc] * src/lib/array.h, src/lib/test-array.c: Added array_foreach_idx() [cc4e9d1fef7e] 2009-11-25 Timo Sirainen * src/auth/mech-digest-md5.c, src/auth/password-scheme.c, src/lib- index/mail-index-sync-keywords.c, src/lib-index/mail-transaction- log-append.c, src/lib/buffer.c, src/lib/buffer.h, src/pop3-login/client.c: Removed buffer_create_static_hard(). buffer_create_data() handles most of the situations where it was wanted. [f8151445662e] * src/lib-storage/mail-storage-service.c: mail_privileged_group was parsed as user, not group. Patch by Apple. [a1018630276b] 2009-11-24 Timo Sirainen * src/lmtp/lmtp-proxy.c: lmtp proxy: Crashfix on hanging connections. [04b0ee571f47] * src/lmtp/lmtp-proxy.c: lmtp proxy: Assert-crashfix to handling DATA input timeout. [99e069c98709] * src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-proxy.h: lmtp proxy: More error handling fixes. [96152031f5d9] * src/lmtp/lmtp-proxy.c: lmtp proxy: Don't crash if all RCPT TOs fail to a remote. [8f6995923fbd] * src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src/lmtp/lmtp- proxy.c: LMTP client API changes. Should be easier to use now. [a144e918938c] * src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src/lmtp/lmtp- proxy.c: lmtp proxy: Error handling fix. [9500cfbe5dbf] 2009-11-23 Timo Sirainen * src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src/lmtp/lmtp- proxy.c: lmtp: Error handling fixes. [6ab1e2f4ca55] * src/pop3-login/client.c: pop3-login: Don't crash in QUIT command. [aba3cb15f082] * src/lmtp/lmtp-proxy.c: lmtp proxy: Fix to handling "no new input" reads. [c5c360a88067] * src/lmtp/lmtp-proxy.c: lmtp proxy: Stalling remote servers weren't detected correctly. [4eadbf965d1f] * src/lib/istream-tee.c, src/lib/istream-tee.h, src/lib/test-istream- tee.c: Added tee_i_stream_child_is_waiting(). [9d878b1dc028] * src/imap/cmd-list.c, src/imap/cmd-status.c, src/imap/imap-commands- util.c, src/imap/imap-commands-util.h, src/imap/imap-commands.c, src/imap/imap-commands.h, src/imap/imap-status.c, src/imap/imap- status.h: imap: Don't send NONEXISTENT resp code to non-delete operations. [b79bc02aec6d] * src/lib-storage/mail-storage-service.c: mail storage service: And added missing #include for previous change. [ce0ff560cd80] * src/lib-storage/mail-storage-service.c: mail storage service: If chdir() fails with EACCES, give a better error message. [05b50522442f] * src/lib-lda/lmtp-client.c: lmtp client: Don't crash if lmtp_client_send_more() is called after failure. [c9f5b2734710] * src/plugins/fts-squat/squat-trie.c: fts-squat: Fixed searching multi-byte characters. [f34528b52196] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Changed index/uidlist mismatch from assert-crashing to logging an error. [aa8a12288c93] * src/lib-index/mail-index-sync-ext.c: lib-index: Replaced ext-header update assert with "index corrupted" error handling. [711fbedaad9d] * src/lib/Makefile.am: Makefile: Added UnicodeData.txt to distribution. [247f137f17d8] 2009-11-20 Timo Sirainen * src/lib/compat.h: OS X: Fixed compiler warning about missing fdatasync() prototypes. [940212bda6ea] * src/lib-index/mail-transaction-log.h: lib-index: MAIL_TRANSACTION_TYPE_MASK didn't contain the new _EXT_HDR_UPDATE32. [5ed426229f20] 2009-11-19 Timo Sirainen * src/lib-index/mail-transaction-log.h: lib-index: Updated MAIL_TRANSACTION_EXT_MASK to include thew new _EXT_HDR_UPDATE32. [b12f7da461e3] * src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-index-sync-private.h, src/lib-index/mail-index- sync-update.c, src/lib-index/mail-index-transaction-export.c, src /lib-index/mail-transaction-log.h: mail_index_update_header_ext(): Couldn't handle >=64k headers. [8b3c802556a9] 2009-11-19 Pascal Volk * doc/dovecot-initd.sh: doc/dovecot-initd.sh added LSB-compliant info block. Updated base_dir detection. [7ad38188c36b] 2009-11-19 Timo Sirainen * src/lib-master/service-settings.h: Define inet_listener_settings array type. [8503b074bec0] * src/lib-storage/mailbox-list-private.h, src/lib-storage/mailbox- list.c, src/lib-storage/mailbox-list.h: Added mailbox_list_set_changelog_writable(). [d29bb46a1929] * src/lib-settings/settings-parser.c: Compiler warning fixes. [2789f87b6828] * src/master/master-settings.c: master: Give a nicer error message if duplicate listeners exist. [b21b3b373c74] * src/master/master-settings.c: master: Create base_dir with 0755 permissions, not 0777. [17eac5a18ce4] * src/dsync/dsync-brain.c, src/dsync/dsync-proxy-client.c, src/dsync /dsync-proxy-server-cmd.c, src/dsync/dsync-worker-local.c, src/dsync /dsync-worker-private.h, src/dsync/dsync-worker.c, src/dsync/dsync- worker.h, src/dsync/dsync.c, src/dsync/test-dsync-proxy-server- cmd.c, src/dsync/test-dsync-worker.c: dsync: Fixed problems with syncing mailbox names that are invalid on other side. [036db604f86c] * src/lib/compat.c, src/lib/compat.h: Added a wrapper for strptime() to work around issues with glibc. [0b101a864534] * src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c: dsync: Sync mailbox renames. [b99a19d5a93c] 2009-11-18 Timo Sirainen * src/master/service-listen.c: master: unix_listener's user/group wasn't being used. [ce18bbd3e964] * src/lmtp/client.c: lmtp: Use hostname setting. [6aa11c638f54] * src/dsync/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync- proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync- worker-local.c, src/dsync/dsync-worker-private.h, src/dsync/dsync- worker.c, src/dsync/dsync-worker.h, src/dsync/dsync.c: dsync: If some uid/modseq changes couldn't be done, exit with different value. [9f2e8d230bd5] * src/lib-index/mail-cache-transaction.c, src/lib-index/mail-index- modseq.c, src/lib-index/mail-index-private.h, src/lib-index/mail- index-sync-update.c, src/lib-index/mail-index-sync.c, src/lib-index /mail-index-transaction-private.h, src/lib-index/mail-index- transaction.c, src/lib-index/mail-index.h, src/lib- storage/index/cydir/cydir-save.c, src/lib-storage/index/cydir/cydir- storage.h, src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib- storage/index/dbox-multi/mdbox-storage.h, src/lib-storage/index /dbox-single/sdbox-save.c, src/lib-storage/index/dbox-single/sdbox- storage.h, src/lib-storage/index/index-storage.h, src/lib- storage/index/index-transaction.c, src/lib-storage/index/maildir /maildir-save.c, src/lib-storage/index/maildir/maildir-storage.h, src/lib-storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox /mbox-storage.h, src/lib-storage/list/index-mailbox-list-sync.c, src /lib-storage/mail-storage.h: Transaction commits can now track how many uid/modseq updates were ignored. [75d3d4374dda] * src/lmtp/client.c: lmtp: Don't leak a client timeout and crash later. [cc5d8a5deab2] * src/lib-storage/mail-storage-service.c: MAIL_STORAGE_SERVICE_FLAG_ENABLE_CORE_DUMPS: Also chdir() to home dir. [7664afedc7bb] * src/lmtp/main.c: lmtp: If -D parameter is given, enable core dumps. [4183f16e6f60] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: mail-storage-service: Added MAIL_STORAGE_SERVICE_FLAG_ENABLE_CORE_DUMPS flag. [dffe7da9ca2e] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: Added mail_storage_service_user_get_settings_parser(). [28cdf09c062b] * src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server.c, src/dsync/dsync-proxy-server.h, src/dsync/dsync-proxy.h: dsync: Added handshaking to proxy protocol. [a339eeca23fb] * src/dsync/Makefile.am, src/dsync/dsync.c: dsync: Fixed -u convert. [def159693f9a] * src/lib-auth/auth-master.c: lib-auth: Fixed "auth input" debug messages. [27c2692dbe42] 2009-11-17 Timo Sirainen * src/lib-storage/list/mailbox-list-fs-iter.c: layout=fs: Fixed listing mailboxes under INBOX with non-mbox storages. [0729e84246e9] * src/dsync/test-dsync-common.c: dsync: Minor unit test update. [e94d43687351] * src/dsync/dsync-brain.c, src/dsync/dsync-data.h, src/dsync/dsync- proxy.c, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.h, src/dsync/dsync.c, src/dsync/test-dsync-brain.c, src/dsync/test- dsync-proxy-server-cmd.c, src/dsync/test-dsync-proxy.c: dsync: Added support for different source/dest hierarchy separators. [ff403fe262e5] * src/dsync/dsync.c: dsync: Write usage directly to stderr instead of via logging. [a7be031eb51d] * src/dsync/dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync.c: dsync convert converts mailbox without proxying. Renamed -e parameter to "mirror". [22ffa2eb68c0] * src/dsync/dsync.c: dsync: Changed local/remote log prefixes. [415a87bdeacd] * src/dsync/dsync.c: dsync: Require "server" parameter to start in server mode. [7a206ede2e7e] * src/lib-storage/mail-user.c: mail_user_*home_expand(): Use home_expand_tilde() instead of duplicating the code. [ffac955d80ef] * src/lib-storage/index/dbox-multi/mdbox-storage.c: mdbox: mailbox_update() was updating uidvalidity to random values. [d1d810348e65] * src/dsync/dsync-worker-local.c: dsync: Try creating INBOX before fallbacking to just updating it. [9670b1268a9a] * src/auth/main.c: auth: Unload modules earlier to avoid crashes. [3f0752af52db] * src/dsync/dsync-worker-local.c, src/imap/cmd-copy.c, src/imap/cmd- store.c, src/imap/imap-expunge.c, src/imap/imap-fetch.c, src/imap /imap-search.c, src/lib-storage/index/index-search-result.c, src /lib-storage/index/index-search.c, src/lib-storage/index/index- storage.h, src/lib-storage/index/index-thread.c, src/lib-storage /mail-storage-private.h, src/lib-storage/mail-storage.c, src/lib- storage/mail-storage.h, src/lib-storage/test-mailbox.c, src/plugins/convert/convert-storage.c, src/plugins/expire/expire- tool.c, src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts /fts-storage.c, src/plugins/mbox-snarf/mbox-snarf-plugin.c, src/plugins/quota/quota-count.c, src/plugins/quota/quota-storage.c, src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual- search.c, src/plugins/virtual/virtual-storage.h, src/plugins/virtual /virtual-sync.c, src/pop3/pop3-client.c, src/pop3/pop3-commands.c: mailbox_search_next*() API changed to return bool. If search fails, it'll be noticed anyway by mailbox_search_deinit(). [0156d98bc822] * src/lib-storage/index/mbox/mbox-mail.c: mbox: Minor error message improvement. [f8e03cda78d9] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: Added global -v (verbose) and -D (debug) options. Removed "doveadm -v". [93c87044469f] * src/lib-lda/lmtp-client.c: lmtp client: Fix to handling multiple recipients (and errors). [3836c67fa5f1] * src/dsync/dsync-data.c: dsync: dsync_mailbox_dup() wasn't duping cache fields. [062fe605cd19] * src/lmtp/client.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp- settings.h: lmtp: memdup default settings so RCPT TO settings lookups won't overwrite them. [6431c35a9670] * src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src/lmtp/lmtp- proxy.c: lmtp proxy: Fixes to error handling. [d784be144b4d] * src/lmtp/lmtp-proxy.c: lmtp proxy: If remote hangs without replying to end-of-DATA dot, don't crash. [26eb1b52a23f] 2009-11-16 Timo Sirainen * src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-brain-msgs.c, src/dsync/dsync-data.h, src/dsync/dsync-proxy-client.c, src/dsync /dsync-proxy-server-cmd.c, src/dsync/dsync-proxy.c, src/dsync/dsync- proxy.h, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker- private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h, src/dsync/test-dsync-brain.c, src/dsync/test-dsync-common.c, src/dsync/test-dsync-proxy.c, src/dsync/test-dsync-worker.c, src/dsync/test-dsync-worker.h: dsync: Sync mailboxes' cache fields. [278d4da53141] * src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache.h: mail_cache_register_fields(): Update caching decisions from input fields. [d7e946e3c0c4] * src/lib-storage/index/index-status.c, src/lib-storage/index/index- storage.c, src/lib-storage/mail-storage.h: lib-storage: Added support for listing/adding cache fields. [69c2aa08cf2c] * configure.in, src/config/all-settings.h, src/config/config-parser.c, src/config/settings-get.pl, src/lib-master/service-settings.h, src/master/master-settings.h: config: Allow settings plugins to specify also new default services. [e18645b47984] * src/lib/module-dir.c, src/lib/module-dir.h: Added module_get_symbol_quiet(). [12434655f2e5] * src/lmtp/lmtp-proxy.c: lmtp proxy: After killing a hanging server connection, try reading more input. [5ecda3558f2a] * src/lmtp/lmtp-proxy.c: lmtp proxy: When client fails, don't stop reading DATA input until "." is seen. [c48703f5ce25] * src/lib-lda/lmtp-client.c: lmtp client: Fail immediately if server disconnects. [fed94dd1991b] * src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c, src/dsync /dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync /dsync-worker-local.c, src/dsync/dsync-worker-private.h, src/dsync /dsync-worker.c, src/dsync/dsync-worker.h, src/dsync/test-dsync- proxy-server-cmd.c, src/dsync/test-dsync-worker.c, src/dsync/test- dsync-worker.h: dsync: Fixed subscription syncing to work with namespace prefixes. [b5b253d35612] * src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server.c, src/dsync/dsync-proxy-server.h, src/dsync/dsync-proxy.h: dsync: Added 15 min connection timeout. [2e4fc44c6160] * src/dsync/dsync-worker-local.c: dsync: Compiler warning fix. [32a754b2d79b] 2009-11-13 Timo Sirainen * src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c, src/dsync /dsync-data.c, src/dsync/dsync-data.h, src/dsync/dsync-proxy- client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy- server.h, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker- private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h, src/dsync/test-dsync-brain.c, src/dsync/test-dsync-proxy-server- cmd.c, src/dsync/test-dsync-worker.c, src/dsync/test-dsync-worker.h: dsync: Added support for subscription syncing. [b63fd6156663] * src/lib-storage/mailbox-list.c: Delay initializing mailbox changelog index, so mbox has time to override its path. [4267c30ded97] * src/lib/array.h: array_bsearch(): Cast return value to proper type. [38941d54ec5d] * src/dsync/dsync-worker-local.c: dsync: Fixed getting mailbox list GUID when using non-default hierarchy separator. [d1ace3dbc94a] * src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.c, src/dsync/test-dsync-proxy-server-cmd.c: dsync: Avoid hanging. [05893dd71338] * src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c: dsync: Wait for all saves to finish before updating mailboxes' metadata. The mailbox updating could try closing the same mailbox that still has an unfinished save. [513cff2a7008] * src/dsync/dsync-worker-local.c: dsync: Delay enabling modseqs until modseq>1 is seen. [00aba806af0b] * src/lib-index/mail-index-transaction-update.c: lib-index: Ignore modseq->1 updates, they can never happen. [2a2261f5a0be] 2009-11-12 Timo Sirainen * src/anvil/main.c, src/config/main.c, src/log/main.c, src/ssl- params/main.c: anvil, config, log, ssl-params: Drop privileges as configured. [4933856b86d7] * src/anvil/main.c, src/master/service-process.c: anvil: Stay alive until it has no more clients. [506fba223006] * src/auth/auth-worker-client.c, src/auth/auth-worker-client.h, src/auth/main.c: auth worker: Don't start breaking if connection to auth master dies. [1c29c69248e0] * src/auth/main.c: auth: Unload plugins after everything else is deinitialized. Fixes a crash at deinit when SQL drivers were plugins. [8d47c9dbe9cb] * src/lib-storage/index/maildir/maildir-save.c: maildir: Recent flags weren't set correctly. [aeac8a0cd60a] * src/lib-sql/driver-mysql.c: Increased initial mysql driver memory pool size. [675e1e198dce] * src/lib-auth/auth-server-connection.c: auth client: Don't crash after aborting auth requests. [49f6fc5b60a8] * src/lib-mail/rfc2231-parser.c, src/lib-mail/test-rfc2231-parser.c: rfc2231 parser: Fixed parsing "key*". [037299bb2199] 2009-11-11 Timo Sirainen * src/master/main.c: Removed duplicate master_service variable. Patch by Apple. [3baf1cb9fdda] * src/auth/auth.c: auth: Another try at connecting to anvil-auth-penalty while still root. [75b48fa3aec4] * src/auth/auth-request-handler.c, src/auth/auth.c, src/auth/auth.h: auth: Connect to anvil-auth-penalty before dropping root privileges. [9bec70f26637] * src/master/capabilities-posix.c: master: Give master also CAP_KILL capability. [49d92c3fa17a] * src/lda/main.c, src/lib-lda/mail-deliver.c: mail_deliver_save() now takes mailbox name as UTF-8 and internally converts to mUTF-7. [05d94015d0ef] 2009-11-10 Timo Sirainen * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: Forgot to commit mail_storage_service_user_get_input(). [c21543e87190] * src/plugins/acl/acl-backend-vfile.c: acl: Merge group rights if user belongs to more than one. [b55069127635] * src/plugins/acl/acl-mailbox-list.c: acl: mailbox_name_status() shouldn't hide its existence if user has any rights to it. [9cf3caefec2c] * src/lib-lda/lda-settings.c, src/lmtp/commands.c: recipient_delimiter: Allow multi-character delimiters. [0d659ac4656d] * src/lib-lda/lda-settings.c, src/lib-lda/lda-settings.h, src/lmtp/client.h, src/lmtp/commands.c: Added recipient_delimiter setting that LMTP server now uses. [51160ecbacaf] * src/imap-login/client-authenticate.c, src/login-common/client- common-auth.c, src/login-common/client-common.c, src/login-common /client-common.h, src/pop3-login/client-authenticate.c: *-login: Removed per-connection auth failure penalties. Trust auth server to do it. [7d9cd9b7da08] * src/auth/Makefile.am, src/auth/auth-penalty.c, src/auth/auth- penalty.h, src/auth/auth-request-handler.c, src/auth/auth-request.c, src/auth/auth-request.h, src/auth/mech.h, src/auth/passdb.h, src/auth/userdb.h: auth: Added auth failure penalty tracking based on remote IP address. [fbff8ca77d2e] * src/lib-master/anvil-client.c, src/lib-master/anvil-client.h, src /login-common/main.c: anvil client: Added more features. [13da60f934da] * src/lib-auth/auth-server-connection.c: lib-auth: Don't crash if callback destroys the auth client. [9702da6d3b6a] * src/anvil/Makefile.am, src/anvil/anvil-connection.c, src/anvil /anvil-settings.c, src/anvil/common.h, src/anvil/main.c, src/anvil/penalty.c, src/anvil/penalty.h: anvil: Added support for penalty tracking. [ea209b33ef96] 2009-11-09 Timo Sirainen * .hgsigs: Added signature for changeset d52d842e8f81 [e6840e39ebc7] * .hgtags: Added tag 2.0.alpha3 for changeset d52d842e8f81 [87622c521233] * configure.in: Released v2.0.alpha3. [d52d842e8f81] [2.0.alpha3] * src/lib/unichar.c, src/lib/unichar.h: Added uni_utf8_str_is_valid(). [64df978b2926] * src/lib-lda/Makefile.am, src/lib-lda/mail-deliver.c: lib-lda: Log mailbox name using UTF-8, not mUTF-7. [d57dcba5dd24] * src/master/service-process.c: master: Don't suggest adding -D parameter to non-login processes. [5e92e1ed4e91] * src/auth/userdb-vpopmail.c: vpopmail: Removed vauth_open() call. Apparently it's not the right way. [d62c2361c3b6] * src/master/common.h, src/master/main.c: Removed all traces of auth-success file checking. The file no longer got written after pre/post-login process redesign and maybe it's too much trouble to get it back. [d861e380a059] * src/lib-index/mail-transaction-log-file.c: index: If we see duplicate transaction log files, avoid corrupting the newer one. [38d3e668dc1f] * src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-proxy.h: lmtp proxy: Add Received: header. [c11324abe1a8] * src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h: lmtp client: Added support for writing given string as headers. [147627c8433a] * src/lib-lda/lmtp-client.c: lmtp client: More fixes to handling RCPT TO failures. [353a30947b91] * src/lib-lda/lmtp-client.c, src/lmtp/lmtp-proxy.c: lmtp, lmtp client: More fixes to handling failures. [aa8729e340ba] * src/lmtp/lmtp-proxy.c: lmtp proxy: Added data input timeout. [2ad1ad1e1083] * src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c: lmtp: Disable idle timeout while proxying. [cb7b2901f1f8] * doc/example-config/conf.d/auth.conf, doc/example- config/conf.d/imap.conf, doc/example-config/conf.d/mail.conf, src/auth/auth-settings.c, src/config/config-request.c, src/imap /imap-settings.c, src/lib-settings/settings-parser.c, src/lib- settings/settings-parser.h, src/lib-storage/index/mbox/mbox- settings.c, src/lib-storage/mail-storage-settings.c: Added "time" (interval) setting type, which supports s/m/h/d/w suffixes. [7215f4142901] * doc/example-config/conf.d/auth.conf, doc/example- config/conf.d/imap.conf, doc/example-config/conf.d/mail.conf, doc /example-config/conf.d/master.conf, src/auth/auth-settings.c, src/auth/auth-settings.h, src/auth/passdb-cache.c, src/config /config-request.c, src/imap/imap-settings.c, src/imap/imap- settings.h, src/lib-master/service-settings.h, src/lib-settings /settings-parser.c, src/lib-settings/settings-parser.h, src/lib- storage/index/dbox-multi/mdbox-settings.c, src/lib-storage/index /dbox-multi/mdbox-settings.h, src/lib-storage/index/mbox/mbox- settings.c, src/lib-storage/index/mbox/mbox-settings.h, src/lib- storage/index/mbox/mbox-storage.c, src/master/master-settings.c, src/master/master-settings.h, src/master/service-process.c, src/master/service.c, src/master/service.h: Added "size" setting type, which supports B/k/M/G/T suffixes. [4b663b9e63af] * src/lib-storage/index/index-mailbox-check.c: IDLE: After seeing a change, don't check for more changes every 0,5 seconds. [cd1ce06a0ee5] * src/lib-lda/lda-settings.c: lib-lda: If hostname setting is empty, default to system's hostname. [b93d2e668eba] * src/lmtp/lmtp-proxy.c: lmtp proxy: After all DATA input is read, stop trying to read more of it. [84a1776dd1c3] * src/lib-lda/lmtp-client.c: lmtp client: Handle failures better. [09dd23dd6ee0] * src/lib-master/master-service.c: lib-master: Don't try to close config fd early after all. Login processes can do another config lookup when TLS hostname is given. [e556ff1dbab1] * src/lmtp/commands.c: lmtp: Fixed accessing uninitialized memory. [2526861b8417] * src/lmtp/commands.c: lmtp: Read protocol=lmtp settings. [409c782237d2] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: Added mail_storage_service_init_settings(). [4109e7f29735] * src/lmtp/Makefile.am: lmtp: Link smtp-client.o explicitly so Sieve can use it. [26e6636aa82e] * src/config/config-request.c: config: Handle chained dependencies. [0785c83ce8c4] 2009-11-08 Jørgen P. Tjernø * src/lib/unicodemap.pl: Make unicodemap.pl give correct return code when it fails to complete, so that make will stop processing. [8984dc0e7c72] 2009-11-06 Timo Sirainen * doc/example-config/Makefile.am: Makefile: Updated *.conf files to be *.conf.ext [cd4b7135cf3c] 2009-11-06 Pascal Volk * doc/example-config/dovecot.conf, doc/example- config/dovecot.conf.ext: example-config: Dropped ".ext" extension from dovecot.conf [c1d8e1b02f89] 2009-11-06 Timo Sirainen * src/lib-storage/index/maildir/maildir-sync-index.c: maildir: Having a lot of keywords assert-crashed with "stack frame changed". [2e00f9da27ad] * src/login-common/common.h, src/login-common/main.c, src/login-common /sasl-server.c: *-login: Use new anvil library to do async anvil lookups. [e99c02873d8c] * src/lib-master/Makefile.am, src/lib-master/anvil-client.c, src/lib- master/anvil-client.h: lib-master: Added anvil client code. [8ebf82849077] * src/lib-master/master-service-private.h, src/lib-master/master- service.c, src/lib-master/master-service.h: lib-master: Added master_service_stop_new_connections(). [7bdb5816f797] 2009-11-05 Timo Sirainen * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: mail storage service: Added MAIL_STORAGE_SERVICE_NO_LOG_INIT flag. [18f5fdeed659] * src/lib/Makefile.am, src/lib/llist.h, src/lib/test-lib.c, src/lib /test-lib.h, src/lib/test-llist.c: Added DLLIST2_*() functions for doubly linked list with head and tail. [07e0e2b4abe1] * src/lib/llist.h: DLLIST_REMOVE(): Set removed item's prev/next pointers to NULL. [16d40abb75b8] * doc/example-config/conf.d/auth.conf, doc/example-config/dovecot- db.conf, doc/example-config/dovecot-db.conf.ext, doc/example-config /dovecot-dict-sql.conf, doc/example-config/dovecot-dict- sql.conf.ext, doc/example-config/dovecot-ldap.conf, doc/example- config/dovecot-ldap.conf.ext, doc/example-config/dovecot-sql.conf, doc/example-config/dovecot-sql.conf.ext, doc/example- config/dovecot.conf, doc/example-config/dovecot.conf.ext: example-config: Added ".ext" extension for ldap/sql/dict-sql/db config files. This separates them from the rest of the config files that can be directly included from conf.d/. [32d007b5f41d] * src/lmtp/main.c: lmtp: Keep connection to config process open. [e0db66c8b9a9] * src/lmtp/client.c: lmtp: Don't crash if LHLO isn't given. [584e848fc957] * src/lmtp/client.c, src/lmtp/commands.c, src/lmtp/main.c: lmtp: Improved logging. [597f969a9870] * src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h, src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c: lmtp: Add Received: header, with a session ID. Log the session ID also. [ba3574ed9f74] * src/lib-storage/mail-storage-private.h, src/lib-storage/mail- storage.h: lib-storage: Moved mail_generate_*() to be public functions. [b2925a5d9cf7] * src/lib-storage/index/dbox-common/dbox-storage.c: dbox notify: Look for dbox index files from index dir, not mail root dir. [ea4a80ee0283] * src/auth/auth-worker-server.c: auth: Drop idling worker processes after 5 minutes, not 30 minutes. [96838accb6af] * src/lib-storage/mail-storage-service.c: mail storage service: Create auth master connection if necessary when returning it. [5866ea3cfa71] * src/lib-storage/index/mbox/mbox-sync.c: mbox: Don't close input stream when syncing. This breaks copying. [77b704cda90b] * doc/example-config/conf.d/Makefile.am: Makefile: Added missing lmtp.conf. [f69c5c25f176] * src/master/dup2-array.c, src/master/service-monitor.c, src/master /service-process.c: master: Make sure processes aren't created if its service is stopped. [8ee2bb8f23a0] * src/lib/array.h: array_foreach_modifiable() was broken in non-C99 compilers. Patch by Apple. [1c089f4f3e48] 2009-11-04 Timo Sirainen * src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-brain-msgs.c, src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.c, src/dsync/dsync-proxy-server.h, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.c: dsync: Several fixes [df908e821744] 2009-11-02 Timo Sirainen * src/lib-storage/index/mbox/mbox-sync.c: mbox: Fixed mailbox_update() to update next-uid properly. [5a4318e65ba7] * src/lib-storage/index/mbox/mbox-save.c: mbox: Added support for saving messages with wanted UIDs. [4acd259d2b9c] * src/lib-index/mail-index-transaction.c: lib-index: Don't refresh index after transaction commit if nothing was changed. [a5e545002bf5] * src/imap-login/imap-proxy.c: imap proxy: Always send post-login capability to client. The original code did it only when client had used CAPABILITY command. Now it's also sent in tagged reply to login/authenticate command if the remote server didn't already add it. [9c4740670030] 2009-10-30 Timo Sirainen * src/dsync/Makefile.am: dsync: Put the binary into bin/, not libexec/. [2a00f1d762b0] * src/lib-storage/list/mailbox-list-fs-iter.c: mbox: Fixed listing INBOX when NO_AUTO_INBOX flag was set. [3e85df7dc65a] * src/lib-settings/settings-parser.c: settings parser: Allow multiple strlist blocks with same name. They just get merged. [dfbdb1e8deb6] * src/util/rawlog.c: rawlog: Make also created socketpair fds nonblocking. [83464a815f46] * src/util/rawlog.c: rawlog: Make sure to set fds nonblocking to avoid hangs. [4ba2db4794ab] * src/lib-storage/index/mbox/mbox-sync.c: mbox: Fixed setting initial explicit uidvalidity/uidnext on mailbox creation. [b0cdefe35909] * src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-proxy-client.c: dsync: Message bodies were saved only partially. [51618f48242b] 2009-10-29 Timo Sirainen * src/lib-storage/index/mbox/mbox-mail.c: mbox: Return header MD5 allocated from mail's data pool, not data stack. [635fda7ed49c] * src/lib-storage/index/index-storage.c, src/lib-storage/index/index- storage.h, src/lib-storage/index/mbox/mbox-storage.c, src/lib- storage/index/mbox/mbox-storage.h, src/lib-storage/index/shared /shared-list.c, src/lib-storage/list/mailbox-list-fs.c, src/lib- storage/list/mailbox-list-maildir.c, src/lib-storage/mailbox-list- private.h, src/lib-storage/mailbox-list.c: mbox: Added support for mailbox directory GUIDs. [db1a9e0853f5] * src/lib-storage/index/mbox/mbox-mail.c: mbox: Use header MD5 as message's GUID. [ded4cbe648fc] * src/lib-storage/index/mbox/mbox-mail.c: mbox: Fixed looking up header MD5 values when they didn't exist yet. [1484bfe9bb2a] * src/lmtp/Makefile.am: lmtp: Link with all the same unused .o files as lda. [410b72cf8567] * src/lda/Makefile.am: lda: Link with message-header-encode.o so Sieve plugin can use it. [704b1fd3c92f] * src/lib-settings/settings-parser.c: settings: Allow referencing strlists without section key (e.g. plugin/foo vs. plugin/0/foo) [9ecf2adadc4f] * src/lib-settings/settings-parser.c: settings parser: Don't crash if trying to expand a setting under strlist. [988ea1049fa5] * src/dsync/dsync-proxy-client.c: dsync proxy client: Improved error handling. [89d924850fb1] * src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-worker-private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h, src/dsync/dsync.c: dsync: Added -r option to make that sync side read-only. [e5bd42b8c2f0] 2009-10-28 Timo Sirainen * src/login-common/login-settings.c, src/login-common/login- settings.h, src/login-common/main.c, src/login-common/ssl-proxy- openssl.c: *-login: Added support for TLS SNI. [67b88d1a12f2] * src/login-common/client-common.c, src/login-common/login-proxy.c, src/login-common/main.c, src/login-common/ssl-proxy-openssl.c, src /login-common/ssl-proxy.c, src/login-common/ssl-proxy.h: ssl: Don't start handshake until client has been set. [3f1c47797dee] * src/lib-master/master-service-settings.c, src/lib-master/master- service-settings.h: lib-master: Support local_host and remote_host in config lookups. [7b774a0c3493] * src/login-common/ssl-proxy-openssl.c: *-login: Create SSL context for each different SSL config, instead of changing each connection. [168f2e6ef6d6] * src/login-common/ssl-proxy-openssl.c: ssl: Improved error message logging. [09fe6d98cf98] * src/config/config-connection.c, src/config/config-filter.c, src/config/config-filter.h, src/config/config-parser.c, src/config/doveconf.c: config: Renamed remote/local_ip to just remote/local and added support for hostnames. [a90d9bb6fec3] * src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h: dsync: Check for errors when saving messages. [55b60c79c54c] * src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.c, src/dsync/dsync-worker.c, src/lib-storage/index/index-storage.c: Memory allocation tweaks. [eb9a262fde74] * src/dsync/dsync-brain.c, src/dsync/dsync-proxy-client.c: dsync: Memory usage tweaks. [a553595ce5a9] * src/lib-storage/index/maildir/maildir-storage.c: maildir: mailbox_update() crashed if mailbox wasn't yet open. [e3d0385ce703] * src/lib/data-stack.c: data stack: Fixes to handling out-of-memory situations. [728a029f56f9] * src/lib/failures.c, src/lib/str.c: Minor memory allocation tweaks. [c84c4f705e69] * src/lib-mail/message-header-encode.c: message_header_encode(): Line lengths weren't calculated properly with some characters. [6c32cc350164] * src/lib/str-sanitize.c, src/lib/test-str-sanitize.c: str_sanitize(): Don't break UTF-8 input. [f68c2cc1b32b] 2009-10-27 Timo Sirainen * src/lib-mail/Makefile.am, src/lib-mail/message-header-encode.c, src /lib-mail/message-header-encode.h, src/lib-mail/test-message-header- encode.c: Added message header (RFC 2047) encoder. [104edcb89a70] * src/lib/eacces-error.c: eaccess_error*(): Error message updated. [66eaf7b1e36b] * src/lda/main.c: lda: Removed accidentally committed debug change. [b470c03b7164] * src/lib-mail/message-header-parser.c, src/lib-mail/test-message- header-parser.c: message header parser: Require input buffer to be larger than 1 byte to avoid hangs. [233cda69b00a] * src/lib-mail/message-header-parser.c, src/lib-mail/test-message- header-parser.c: message header parser: Fixed parsing lines larger than input buffer. [ee3f9bc4f5b7] * src/lib/test-istream-concat.c: test-istream-concat: Don't use uninitialized variable. [86110f830311] * src/lda/main.c: lda: Fixed binary setuid-checking. [13b3a3ce892c] * src/lib-index/mail-transaction-log-file.c: Test WORDS_BIGENDIAN with #if, not #ifdef. Patch by Apple. [b55afe3e957c] * src/lib/array.h: array.h: Compile fix for non-C99 compilers. [1e0c572f1937] * src/lib-storage/index/index-mailbox-check.c, src/lib-storage/index /index-storage.h: mailbox_notify_changes(): Delay sending notifications for 500 msecs. If the notification is done immediately, IDLE may not notice the change because it's not finished yet. [e9c8a21e95e4] 2009-10-26 Timo Sirainen * src/anvil/anvil-settings.c: anvil: Keep always one process running by default. [b0017c5dd411] * src/master/main.c, src/master/service-anvil.c, src/master/service- anvil.h, src/master/service-listen.c, src/master/service-monitor.c, src/master/service-process.c, src/master/service.c, src/master/service.h: master: anvil process now stays alive across SIGHUPs. [01676e67cf38] * src/lib-master/master-login-auth.c, src/lib-master/master-login- auth.h, src/lib-master/master-login.c, src/lib-master/master- service-private.h, src/lib-master/master-service.c: lib-master: Fixes to handling master-login services. [9d13e9f78d52] * src/login-common/client-common.c, src/login-common/common.h, src /login-common/main.c: *-login: Show better state with verbose_proctitle=yes. [3e7e08af2991] * src/config/config-connection.c, src/config/config-request.c, src/config/config-request.h, src/config/doveconf.c: Previous config change broke master's startup. [46d08ae1314f] * src/config/config-connection.c, src/config/config-request.c, src/config/config-request.h, src/config/doveconf.c: doveconf -n/-a: Don't dump default service settings. This code is just getting uglier and uglier.. [d647b795da6d] * src/config/config-request.c, src/config/doveconf.c: doveconf -n: Don't show unchanged service settings. [c94ca1acd623] * src/imap/main.c, src/lib-master/master-login.c, src/lib-master /master-login.h, src/lib-master/master-service-private.h, src/lib- master/master-service.c, src/pop3/main.c: imap, pop3: Connection counting fixes. Multiple real connections can come from "login connections". For now don't even try to count login connections. [40d8df2b4111] * src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h, src/pop3/pop3-common.h, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h: pop3: Added support for verbose_proctitle=yes [02e852b2c2c3] * src/imap/imap-client.c, src/imap/imap-client.h, src/imap/imap- common.h, src/imap/imap-settings.c, src/imap/imap-settings.h, src/imap/main.c: imap: Added support for verbose_proctitle=yes [585bceaf98bb] * src/lib-mail/message-parser.c: message_parser_init_from_parts(): Removed wrong assert. [b57588b298aa] * src/master/master-settings.c, src/master/master-settings.h: master: Removed unused verbose_proctitle setting. [e758ed7c2cb4] * src/lib-master/master-service-settings.c: If connect() fails to UNIX config socket, don't try to exec doveconf. [582659cebfdf] * configure.in, src/lib-master/master-service.c, src/lib/process- title.c, src/lib/process-title.h, src/util/rawlog.c: Fixed Linux proctitle hack and enabled it by default now. [affb52c62add] * src/lib/test-istream-seekable.c: test-istream-seekable: Minor improvements. [34aa0445aa14] * src/lib/Makefile.am, src/lib/test-istream-concat.c, src/lib/test- istream-seekable.c, src/lib/test-lib.c, src/lib/test-lib.h: Added unit tests for istream-seekable istream-concat. [49599bbfc900] * src/lib-test/test-common.c, src/lib-test/test-common.h: lib-test: Added test_istream_create(). [7c3605774b93] * src/lib/istream-concat.c: istream-concat: Fixed a lot of bugs. [891d8650f3f8] * src/lib/istream-seekable.c: istream-seekable: Don't assert-crash when input buffer becomes full. [65c6568515ce] * src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/doveadm/doveadm.c: doveadm: Fixed printing help for purge and force-resync commands. [2b9eb115fbd7] * src/config/all-settings.h, src/config/config-parser.c, src/config /config-parser.h, src/config/doveconf.c, src/config/main.c, src/config/settings-get.pl: config: Added support for dynamically loaded settings. [4dc080520769] 2009-10-23 Timo Sirainen * doc/example-config/conf.d/master.conf: example-config: Comment out default defaults from master.conf. [2571cbc88302] * doc/example-config/conf.d/master.conf, src/anvil/Makefile.am, src/anvil/anvil-settings.c, src/auth/auth-settings.c, src/config/Makefile.am, src/config/config-parser.c, src/config /config-settings.c, src/config/settings-get.pl, src/dict/dict- settings.c, src/imap-login/imap-login-settings.c, src/imap/imap- settings.c, src/lib-master/Makefile.am, src/lib-master/service- settings.h, src/lib-settings/settings-parser.c, src/lib-settings /settings-parser.h, src/lmtp/lmtp-settings.c, src/log/Makefile.am, src/log/log-settings.c, src/master/master-settings.c, src/master /master-settings.h, src/pop3-login/pop3-login-settings.c, src/pop3/pop3-settings.c, src/ssl-params/ssl-params-settings.c: Moved default service settings from master.conf to source code. [afe52d60989c] * src/master/master-settings.c, src/master/service.c: master: service's vsz_limit=0 should disable the limit, not make it use the default. [272bec780e26] * src/auth/auth-settings.c, src/config/config-request.c, src/config /settings-get.pl, src/dict/dict-settings.c, src/dict/dict- settings.h, src/imap-login/imap-login-settings.c, src/imap/imap- settings.c, src/imap/imap-settings.h, src/lib-dict/dict-sql- settings.c, src/lib-lda/lda-settings.c, src/lib-lda/lda-settings.h, src/lib-master/master-service-settings.c, src/lib-master/master- service-settings.h, src/lib-settings/settings-parser.c, src/lib- settings/settings-parser.h, src/lib-settings/settings.c, src/lib- settings/settings.h, src/lib-storage/index/dbox-multi/mdbox- settings.c, src/lib-storage/index/maildir/maildir-settings.c, src /lib-storage/index/mbox/mbox-settings.c, src/lib-storage/mail- storage-service.c, src/lib-storage/mail-storage-settings.c, src/lib- storage/mail-storage-settings.h, src/lmtp/lmtp-settings.c, src/lmtp /lmtp-settings.h, src/login-common/login-settings.c, src/login- common/login-settings.h, src/master/master-settings.c, src/master /master-settings.h, src/pop3-login/pop3-login-settings.c, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h, src/ssl-params /ssl-params-settings.c: Changed all settings related structs to const and changed APIs to make it work. [d589d568a19d] * src/lib-storage/mail-storage-settings.c, src/master/master- settings.c: services, unix/fifo_listeners and namespaces are now sections with unique name. [9e0123366fc5] * src/config/config-parser.c, src/config/config-request.c, src/lib- settings/settings-parser.c, src/lib-settings/settings-parser.h: config: Added SET_DEFLIST_UNIQUE type. Settings in unique sections can be overridden. [eaac22ecc168] * doc/example-config/conf.d/mail.conf, src/lib-storage/mail-storage- settings.c: namespace section name now points to prefix, not type. [429641734346] * doc/example-config/conf.d/master.conf, src/master/master-settings.c: master: unix_listener settings can now have the path in the block name. [f7943875e069] * doc/example-config/conf.d/mail.conf, doc/example- config/dovecot.conf: example-config: Moved shutdown_clients to main dovecot.conf. [a768005d1549] * src/dict/main.c, src/imap/imap-settings.c, src/imap/imap-settings.h, src/imap/main.c, src/lib-master/master-service-private.h, src/lib- master/master-service-settings.c, src/lib-master/master-service- settings.h, src/lib-master/master-service.c, src/lib-master/master- service.h, src/log/main.c, src/login-common/login-proxy.c, src /login-common/login-proxy.h, src/login-common/main.c, src/master/service.c, src/pop3-login/client.c, src/pop3/main.c, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h: Handle shutdown_clients globally for all services. Delay shutting down processes until it's convenient for them, but if they're not gone in 30 seconds forcibly stop. And if that doesn't help, master will start killing them in 60 seconds. [7f0ccd367351] * src/imap-login/client.c, src/login-common/sasl-server.c, src/pop3-login/client.c: *-login: Make sure input isn't being handled while not connected to auth process. [47fdfd49af13] * src/lib-auth/auth-server-connection.c: lib-auth: When connection dies, reset structure variables properly. [ae639ce8cea6] * src/doveadm/doveadm-dump-index.c: doveadm dump: Fixed printing unaligned cache data with CPUs that require alignment. [79f1c3ae4a98] * src/doveadm/doveadm.c: doveadm: Fixed resetting getopt() for non-glibc. [56274bd4693c] 2009-10-23 Pascal Volk * src/doveadm/doveadm-who.c: doveadm who: reformatted command output [c316e7198ae3] 2009-10-22 Timo Sirainen * .hgsigs: Added signature for changeset 6b75cb16d427 [2800d96a37c6] * .hgtags: Added tag 2.0.alpha2 for changeset 6b75cb16d427 [1097194c5b1b] * NEWS, TODO, configure.in: Released v2.0.alpha2. [6b75cb16d427] [2.0.alpha2] * src/ssl-params/ssl-params.c: ssl_parameters_regenerate=0 wasn't disabling it. [6e8abac7a439] * src/imap/imap-settings.c, src/pop3/pop3-settings.c: shutdown_clients default should have been "yes". [46fb78ac0c46] * src/auth/auth-worker-client.c, src/auth/main.c: auth worker client deinit fixes. [e519b53b3f87] * src/auth/auth-worker-server.c, src/lib-auth/auth-master.c, src/lib- auth/auth-server-connection.c, src/lib-master/master-login-auth.c, src/lib-master/master-service-settings.c, src/login-common/main.c: Use net_connect_unix_with_retries() instead of duplicating the code everywhere. [e027503ddb6b] * src/lib/network.c, src/lib/network.h: Added net_connect_unix_with_retries(). [1bc88aa1373f] * src/auth/auth-worker-client.c, src/auth/main.c: auth: Cleaned up auth worker client deinit code. [faf2339212b8] * src/lda/main.c, src/lib-lda/duplicate.c, src/lib-lda/duplicate.h, src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h: lib-lda: Fixed duplicate database to work with multiple users per process. [85f3282cfe4f] * configure.in: configure: Removed --with-sql-drivers parameter. I'm not sure what it tried to do. [3a32306aa473] * src/login-common/login-settings.c: login_greeting setting now supports %variables. [ae2d8b121f91] * doc/example-config/conf.d/master.conf: example-config: Set process_limit=1 to auth service. We'd currently break if there were more. [23cdea955eb3] * src/doveadm/doveadm.c: doveadm: Reset getopt() after handling lib-master parameters. [383da67215d9] * src/doveadm/doveadm-who.c: doveadm who -1: Fixed filtering. [508f5536a0a7] * src/doveadm/doveadm-who.c: doveadm who: Added -1 parameter. Added connection's protocol. [257bb6f74138] * src/doveadm/doveadm-mail.c: doveadm: When iterating through all users, don't drop privileges permanently. [6fcc5a684b83] * src/lib-storage/mail-storage-service.c: mail storage service: Fixed iterating through all users. [9df00624855b] * src/lib-master/master-service.c: lib-master: Fixed getopt_string containing "+" GNU extension. [ef1ca7e1a9f9] * src/doveadm/Makefile.am, src/doveadm/doveadm-who.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h: doveadm: Added "who" command to list connected users based on anvil information. [b8df77326978] * src/anvil/anvil-connection.c, src/anvil/connect-limit.c, src/anvil /connect-limit.h: anvil: Added CONNECT-DUMP command to dump connect-limit state. [1110edddec36] * src/imap/imap-client.c, src/login-common/sasl-server.c, src/pop3/pop3-client.c: Changed anvil ident string to have the protocol first, so username can contain '/' chars. [19e67ad17398] * doc/example-config/conf.d/lda.conf: example-config: Added lda_mailbox_autocreate/_autosubscribe settings. [a173fa193324] * doc/example-config/conf.d/lmtp.conf: example-config: Added lmtp.conf. [c15659a9a3a6] * doc/example-config/conf.d/imap.conf, doc/example- config/conf.d/lda.conf, doc/example-config/conf.d/mail.conf, doc /example-config/conf.d/pop3.conf: example-config: Plugin setting updates. [7ddd6d3315a0] * src/ssl-params/ssl-params.c: ssl-params: When generating parameters, run the process with priority +15. [0893112306d1] * src/imap/main.c: imap: Compiling fix. [38c307c7af2a] * src/lib-storage/mail-storage-service.c: mail storage service: Returning "nice" from userdb again changes process priority. [8e3fd502d54e] * .hgignore: .hgignore updated. [dfbbbde95e5f] * src/imap/main.c, src/pop3/main.c: imap/pop3: Cleaned up initialization code. [ff200b8e4929] * src/imap/main.c, src/pop3/main.c: imap/pop3 now supports multiple connections/process, removed the restriction. [cb6dc691fa5a] * src/lda/main.c, src/lib-storage/index/shared/shared-storage.c, src /lib-storage/mail-namespace.c, src/lib-storage/mail-storage- service.c, src/lib-storage/mail-storage-service.h, src/lib-storage /mail-storage-settings.c, src/lib-storage/mail-storage-settings.h, src/lib-storage/mail-user.c, src/lib-storage/mail-user.h, src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c, src/lmtp /lmtp-settings.c, src/lmtp/main.c: lib-storage: Changed APIs to fix reading settings for multiple users. [545bdb7670d2] * src/lib-settings/settings-parser.c, src/lib-settings/settings- parser.h: settings_find_dynamic() now takes const pointer. [1eedcee69ce7] * src/lib-storage/index/maildir/maildir-sync-index.c: maildir: Expunging last messages from mailbox caused crashing. [47e1756f6047] * src/lib/file-dotlock.c: file_dotlock_create(): If nfs_flush is enabled, fdatasync after writing PID. This makes sure that the write() doesn't fail later in close() and cause problems. [9ef0821a2ce7] 2009-10-21 Timo Sirainen * src/doveadm/doveadm-mail.c, src/dsync/dsync.c, src/imap/imap- client.c, src/imap/imap-client.h, src/imap/main.c, src/lda/main.c, src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h, src/lib-storage/mail-user.c, src/lib-storage /mail-user.h, src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c, src/lmtp/main.c, src/lmtp/main.h, src/plugins/convert/convert-tool.c, src/plugins/expire/expire- tool.c, src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h: Merged single and multi mail_storage_service_*() functions. [d1384c2b08e5] * src/plugins/notify/Makefile.am: Makefile: Don't symlink notify plugin to subdirs. It's not necessary anymore. [3c87c0b18090] * src/lib-storage/mail-storage-service.c: mail_storage_service_multi*() didn't use userdb lookup results. [545a9694dcb8] * src/lmtp/main.c: lmtp: Fixed crashing caused by recent API changes. [9c640a1eb8b6] 2009-10-20 Timo Sirainen * doc/example-config/conf.d/master.conf, src/auth/Makefile.am: dovecot-auth binary renamed to auth. [915cd421895f] * src/lda/main.c: lda: Cleaned up parameter handling. [e248c1e53e00] * src/lib/ioloop-epoll.c: ioloop-epool: Panic on epoll_ctl() failures so it's easier to find the bug. [0598391a86e8] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-settings.c: mail_chroot can now contain %variables. [f6257036f7ef] * src/lib-storage/mail-user.c: Allow mail_users_init() without giving socket path. [92f2dac233b0] * src/lib-storage/mail-storage-service.c: Don't allow relative home directory paths. [cb2882c142e1] * src/anvil/main.c, src/auth/main.c, src/config/doveconf.c, src/config/main.c, src/dict/main.c, src/doveadm/doveadm.c, src/dsync/dsync.c, src/imap-login/client.c, src/imap/main.c, src/lda/main.c, src/lib-master/master-service.c, src/lib-master /master-service.h, src/lib/process-title.c, src/lib/process-title.h, src/lmtp/main.c, src/log/main.c, src/login-common/main.c, src/master/main.c, src/plugins/convert/convert-tool.c, src/plugins/expire/expire-tool.c, src/pop3/main.c, src/ssl- params/main.c, src/util/rawlog.c: Moved process title init to lib-master. With Linux-hack enabled it now preserves command args. [b584904d3bc7] * src/anvil/main.c, src/auth/main.c, src/config/doveconf.c, src/config/main.c, src/dict/main.c, src/doveadm/doveadm.c, src/dsync/dsync.c, src/imap/main.c, src/lda/main.c, src/lib-master /master-service-private.h, src/lib-master/master-service.c, src/lib- master/master-service.h, src/lmtp/main.c, src/log/main.c, src/login- common/main.c, src/master/main.c, src/plugins/convert/convert- tool.c, src/plugins/expire/expire-tool.c, src/pop3/main.c, src/ssl- params/main.c: Moved most of getopt() handling to lib-master. [1e63221f5c83] * src/master/master-settings.c: master: Don't remove auth-worker.* sockets at startup. They're no longer used. [1ae1d47aaef8] * src/imap/main.c: imap: Removed all dump-capability handling. We don't use it anymore. [1c166f7d673e] * src/login-common/main.c, src/master/master-settings.c, src/master /master-settings.h, src/master/service-process.c: Fixed login processes' core dump handling. [50db5e7bddd9] * src/lib-auth/auth-server-connection.c: lib-auth: Crashfix. [7df7b68ad503] * doc/example-config/conf.d/master.conf: example-config: Added '/' to "chroot=empty/" to make it clearer it's a dir. [f08cf2a07907] * src/master/service-process.c: master: Drop trailing '/' from services' chroot directory. [64bbf4296220] * doc/example-config/conf.d/ssl.conf, src/login-common/login- settings.c: ssl_ciphers_list: Disable anonymous and export ciphers by default. [c80eb856a742] * src/imap-login/Makefile.am, src/imap-login/client.c, src/imap- login/client.h, src/imap-login/imap-login-settings.c, src/imap-login /imap-login-settings.h, src/login-common/client-common.c, src/login- common/client-common.h, src/login-common/common.h, src/login-common /login-settings.c, src/login-common/login-settings.h, src/login- common/main.c, src/pop3-login/Makefile.am, src/pop3-login/client.c, src/pop3-login/pop3-login-settings.c, src/pop3-login/pop3-login- settings.h: imap-login: If imap_capability is set, use it. [9a71228ea41c] * src/lib-settings/settings-parser.c: lib-settings: Allow settings parsers with zero byte setting structures. [ac674fc9de57] * src/lib-settings/settings-parser.c, src/lib-settings/settings- parser.h: lib-settings: Added settings_check() to check specific setting structure. [a16c9fbfe22c] * src/lib-settings/settings-parser.c, src/lib-settings/settings- parser.h: settings_parser_get_list() returns now NULL-terminated list. [9cd71f3a6f96] * src/auth/auth-settings.c, src/config/all-settings.h, src/config /config-filter.c, src/config/config-parser.c, src/config/config- parser.h, src/config/config-request.c, src/config/doveconf.c, src/config/settings-get.pl, src/dict/dict-settings.c, src/imap/imap- settings.c, src/lib-lda/lda-settings.c, src/lib-master/master- service-settings.c, src/lib-settings/settings-parser.c, src/lib- settings/settings-parser.h, src/lib-storage/index/dbox-multi/mdbox- settings.c, src/lib-storage/index/maildir/maildir-settings.c, src /lib-storage/index/mbox/mbox-settings.c, src/lib-storage/mail- storage-settings.c, src/lmtp/lmtp-settings.c, src/login-common /login-settings.c, src/master/master-settings.c, src/pop3/pop3-settings.c, src/ssl-params/ssl-params-settings.c: struct setting_parser_info now specifies the module name. [dcda7c495eb6] * src/auth/auth-settings.c, src/dict/dict-settings.c, src/imap/imap- settings.c, src/lib-lda/lda-settings.c, src/lib-master/master- service-settings.c, src/lib-settings/settings-parser.c, src/lib- settings/settings-parser.h, src/lib-storage/index/dbox-multi/mdbox- settings.c, src/lib-storage/index/maildir/maildir-settings.c, src /lib-storage/index/mbox/mbox-settings.c, src/lib-storage/mail- storage-settings.c, src/lmtp/lmtp-settings.c, src/login-common /login-settings.c, src/master/master-settings.c, src/pop3/pop3-settings.c, src/ssl-params/ssl-params-settings.c: Reordered struct setting_parser_info fields to make using them easier. [5a25b4ec5694] * src/imap/imap-fetch.c: QRESYNC: Fixed fallback handling to fetching expunged UIDs (again). [183373d83021] * src/config/config-parser.c, src/lib-settings/settings.c: settings parser: Warn if a line has '#' character not preceded by whitespace. This should help with people trying to give '#' character in e.g. a password and wondering why it's not working. [5bdae566e0dc] * src/imap/cmd-append.c: imap: If client disconnects while appending, don't treat the rest of the message as commands. [f3cdf16a31a5] 2009-10-19 Timo Sirainen * src/master/service-process.c: master: Removed some unnecessary code. [57134fd23d4c] * doc/example-config/conf.d/master.conf, src/auth/Makefile.am, src/auth/auth-client-connection.c, src/auth/auth-client- connection.h, src/auth/auth-master-connection.c, src/auth/auth- master-interface.h, src/auth/main.c, src/doveadm/doveadm.c, src/dsync/dsync.c, src/imap/imap-client.c, src/imap/imap-client.h, src/imap/main.c, src/lda/main.c, src/lib-master/Makefile.am, src /lib-master/master-auth.c, src/lib-master/master-auth.h, src/lib- master/master-interface.h, src/lib-master/master-login-auth.c, src /lib-master/master-login-auth.h, src/lib-master/master-login.c, src /lib-master/master-login.h, src/lib-master/master-service-private.h, src/lib-master/master-service.c, src/lib-master/master-service.h, src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h, src/login-common/client-common.c, src/login- common/common.h, src/login-common/main.c, src/login-common/sasl- server.c, src/master/Makefile.am, src/master/main.c, src/master /master-settings.c, src/master/master-settings.h, src/master /service-auth-server.c, src/master/service-auth-server.h, src/master /service-auth-source.c, src/master/service-auth-source.h, src/master /service-monitor.c, src/master/service-process.c, src/master /service-process.h, src/master/service.c, src/master/service.h, src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h: Redesigned how login process passes connections to mail processes and changed related APIs. Master process is no longer in the middle. [4fe8c4382712] * src/master/service.c: master: service_signal() reimplemented using the service process linked list. [33c448ce13f9] * src/master/service-process.c, src/master/service-process.h, src/master/service.h: master: Keep service's processes in an easily accessible linked list. [fea8122e1deb] * src/doveadm/doveadm-auth.c, src/lib-auth/auth-master.c, src/lib-auth /auth-master.h, src/lib-storage/mail-storage-service.c, src/lib- storage/mail-user.c: lib-auth: Changed auth_master_user_lookup() API. [15a71c18a0f8] * src/auth/userdb-passwd-file.c: passdb-file: When iterating through users, skip empty lines and comments. [d3f59a7a8e03] 2009-10-17 Pascal Volk * src/doveadm/doveadm-pw.c: doveadm pw: Use t_askpass() instead of getpass() [596a8ab6820e] 2009-10-18 Timo Sirainen * configure.in, src/imap/cmd-sort.c, src/lib-storage/index/index-sort- string.c, src/lib-storage/index/index-sort.c, src/lib-storage/mail- storage.h: imap: Implemented SORT=DISPLAY extension (draft-ietf-morg- sortdisplay-02). [61619cad4d0e] * configure.in: configure: FLEXIBLE_ARRAY_MEMBER value was reversed. [634588d51ae6] 2009-10-16 Timo Sirainen * src/imap/cmd-subscribe.c, src/imap/imap-client.h, src/imap/imap- commands-util.c, src/imap/imap-common.h, src/imap/imap-fetch-body.c, src/imap/imap-settings.c, src/imap/imap-settings.h, src/imap/imap- sync.c, src/imap/main.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h, src/pop3/pop3-commands.c, src/pop3/pop3-common.h, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h: imap, pop3: Moved imap/pop3_client_workarounds setting parsing to config checking. [fdfe0236d50a] 2009-10-18 Timo Sirainen * src/lib-master/master-service-private.h, src/lib-master/master- service-settings.c, src/lib-master/master-service.c, src/lib-master /master-service.h: lib-master: Added _NO_CONFIG_SETTIGS and _NO_ENV_SETTINGS flags. [4d21bb0fff3a] * configure.in, src/anvil/Makefile.am, src/auth/Makefile.am, src/config/Makefile.am, src/dict/Makefile.am, src/doveadm/Makefile.am, src/dsync/Makefile.am, src/imap- login/Makefile.am, src/imap/Makefile.am, src/lda/Makefile.am, src/lmtp/Makefile.am, src/log/Makefile.am, src/master/Makefile.am, src/plugins/convert/Makefile.am, src/plugins/expire/Makefile.am, src/plugins/fts-squat/Makefile.am, src/pop3-login/Makefile.am, src/pop3/Makefile.am, src/ssl-params/Makefile.am, src/util/Makefile.am: Makefiles: Separated LIBDOVECOT and LIBDOVECOT_DEPS. [6a1c96577476] * src/lib-storage/mail-copy.c: mail_storage_copy(): Don't unreference keywords too many times. [755e6208d8ce] 2009-10-16 Timo Sirainen * src/lib-master/master-auth.c, src/lib-master/master-service.c, src/plugins/autocreate/autocreate-plugin.c, src/plugins/listescape /listescape-plugin.c: Updated copyright comments. [fc9d62ac86d1] * src/lib-storage/index/mbox/mbox-save.c: mbox: Write the last LF before fdatasync(). [003a21d9e826] * src/login-common/login-proxy-state.c, src/login-common/login-proxy- state.h, src/login-common/login-proxy.c: imap/pop3 proxy: Track "destination down" state separately for IP+ports, not just IPs. In some systems different ports could get redirected to different servers. [b3c3675ba466] * doc/wiki/Makefile.am.in: doc/wiki/Makefile.am fix. [9110c752e32e] * src/lib-storage/index/mbox/mbox-save.c: mbox: Make sure failed saves get rolled back with NFS. [b0a871a899dd] * src/lib/ostream.c, src/lib/ostream.h: Added o_stream_get_buffer_avail_size(). [ede6701cfe7a] * src/lib/ostream-buffer.c, src/lib/ostream-file.c, src/lib/ostream- internal.h, src/lib/ostream.c: ostream: Simplified implementing ostreams. Some functions are no longer necessary to implement. Moved some code to be common among all ostreams. [bad043de6a7a] 2009-10-16 Pascal Volk * src/auth/auth-client-connection.c, src/auth/auth-master- connection.c, src/auth/auth-request.c, src/auth/db-passwd-file.c, src/auth/passdb.c, src/auth/userdb-ldap.c, src/auth/userdb- prefetch.c, src/lib-auth/auth-master.c, src/lib-auth/auth-server- connection.c, src/lib-lda/mail-send.c, src/lib-storage/index/maildir /maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src /lib-storage/mail-namespace.c, src/lib-storage/mail-storage- service.c, src/lib-storage/mailbox-list.c, src/login-common/client- common-auth.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/acl /acl-backend.c, src/plugins/acl/acl-lookup-dict.c, src/plugins/acl /acl-storage.c, src/plugins/autocreate/autocreate-plugin.c, src/plugins/convert/convert-plugin.c, src/plugins/expire/expire- plugin.c, src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins /fts-squat/fts-backend-squat.c, src/plugins/fts/fts-storage.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/quota /quota-dict.c, src/plugins/quota/quota-fs.c, src/plugins/quota /quota-storage.c, src/plugins/quota/quota.c, src/plugins/trash /trash-plugin.c: Log debug-level messages with i_debug(). [62b37dcf173e] 2009-10-15 Timo Sirainen * src/lib-index/mail-transaction-log-file.c: lib-index: looking up offset for transaction log's initial modseq failed. [1120a013da33] * src/plugins/expire/expire-plugin.c: expire: Mailbox names should be written to dict using their virtual name. [73ad4e348343] * doc/wiki/Makefile.am.in: --without-docs: make install no longer mkdirs wiki directory. [c38d2169eb5b] * doc/Makefile.am, doc/wiki/Makefile.am.in: --without-docs: make install no longer installs any docs. [f89bb026843f] * src/login-common/ssl-proxy-openssl.c: Potential crashfix for OpenSSL < 0.9.8. [04f8e91fe0ec] * src/plugins/quota/quota-maildir.c: quota-maildir: Don't crash at startup. [646a7173ad3d] * src/imap/cmd-idle.c: imap: IDLE now sends "Still here" notifications to same user's connections at the same time. Perhaps this will save some battery power with mobile clients that open multiple connections. [7f77bc5a866c] * doc/example-config/dovecot.conf: example-config: Updated listen setting's comment. [1d2d55d9779e] * doc/example-config/dovecot.conf: example-config: Updated listen setting's comments. [593433307e0a] * src/master/master-settings.c: master: inet_listener.address's default wasn't using "listen" setting. [8e531edac6e9] * src/lib-index/mail-index-view-sync.c: lib-index: Give nicer error if index's log position suddenly goes backwards. [359a4e4f0892] * src/plugins/fts/fts-plugin.c: fts: Fixed loading the plugin. [5cb810c55b4a] * src/master/service-anvil.c, src/master/service-anvil.h, src/master /service-monitor.c: master: Add IO listeners to anvil after forking. Fixes kqueue. [5147503f4123] * src/plugins/quota/quota-fs.c: quota-fs: If mount=path isn't specified, don't fail with multiple quota roots. [14eeed133d57] * src/lib/ioloop-kqueue.c: ioloop-kqueue: Improved error messages. [ebebf0b447c7] * src/lib/istream-seekable.c: istream-seekable: If we can't write temp file, fallback to using memory without limits. [713e66a4cd07] 2009-10-14 Timo Sirainen * src/lib-lda/lmtp-client.c: Compiler warning fix. [e8e508c44d6e] * src/lib-mail/test-mbox-from.c: mbox_from_parse() unit test fix. [0ae1bf609141] * src/lib-mail/mbox-from.c, src/lib-mail/test-mbox-from.c: mbox_from_parse(): When timezone is missing, use the given time's tz, not the current tz. [d9576cda2f33] * doc/auth-protocol.txt: auth-protocol.txt: Updated version to 1.1. [17fefd7fe7b9] * src/auth/auth-master-interface.h, src/lib-auth/auth-client- interface.h: Increased auth protocol's minor version to 1. [9bf8e8fce7f7] * doc/auth-protocol.txt: auth-protocol.txt: Updated with the new cookie changes. [957dd8eb1e5a] * src/auth/auth-client-connection.c, src/auth/auth-client- connection.h, src/auth/auth-master-connection.c, src/lib-auth/auth- client.c, src/lib-auth/auth-client.h, src/lib-auth/auth-server- connection.c, src/lib-auth/auth-server-connection.h, src/lib-master /master-interface.h, src/login-common/sasl-server.c, src/master /service-auth-source.c: auth: Identify clients using a 128bit random cookie on top of the existing PID. When master is finishing the login, it must give this cookie to REQUEST command and it must match what auth process knows. This change makes it safe to do client/master login without a dedicated master process. [aa30fc7d771a] * src/lda/main.c: lda: Escape local-part if it begins/ends with '.'. [b81f4a4076de] * src/lmtp/commands.c: lmtp: Drop quotes around local-part in RCPT TO command if possible. [21a09d9105b2] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir_very_dirty_syncs=yes: Make sure uidlist shrinks eventually. [4996ca56a1ee] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Saving a mail after fast syncing caused slow sync the next time. [e7aa137f3a11] 2009-10-12 Timo Sirainen * .hgsigs: Added signature for changeset 7dc28f9b899d [5cb162da8708] * .hgtags: Added tag 2.0.alpha1 for changeset 7dc28f9b899d [defd46cae8ad] * NEWS, TODO, configure.in: Released v2.0.alpha1. [7dc28f9b899d] [2.0.alpha1] * src/dsync/Makefile.am: Makefile.am: Some of test-dsync*.c files weren't included in tarball. [794604d4dd1a] * src/plugins/notify/Makefile.am: Makefile.am: notify-plugin-private.h wasn't listed correctly. [154f1b1fa5d6] * src/doveadm/Makefile.am: Makefile.am: Added missing doveadm.h [6aeb7528265b] * src/lib-storage/Makefile.am: Makefile.am: Added missing test-mail-storage.h [a1a6d91ec250] * src/lmtp/commands.c: lmtp: Changed QUIT message: "Logged out" -> "Client quit". [4074f1bed39a] * src/config/config-parser.c: doveconf: When not expanding * src/config/doveconf.c: doveconf: -N doesn't require parameter. [6595049c53b2] * src/auth/passdb-bsdauth.c: bsdauth: And compile fix to previous change.. [7440353dc617] * src/auth/passdb-bsdauth.c: bsdauth: Use PLAIN as default_pass_scheme instead of CRYPT. [f5c2bc161baa] * src/config/doveconf.c: doveconf: Improved "config not found" error. [92e1273cf55a] * doc/example-config/Makefile.am: "make install" now creates sysconfdir/dovecot/ directory. [762acf3cce32] * src/auth/passdb-bsdauth.c: bsdauth: Set default pass scheme to CRYPT. [21636cae54e6] * src/lmtp/Makefile.am, src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp- settings.h, src/lmtp/main.c: lmtp: Added lmtp_proxy setting (it's no longer hardcoded to yes). [ddcc3391adf9] * src/lib-index/mail-index-transaction-update.c, src/login- common/main.c: Removed some unused FIXME code. [499f5575d503] * src/imap-login/client.c, src/login-common/common.h, src/login-common /login-settings.c, src/login-common/login-settings.h, src/login- common/main.c, src/pop3-login/client.c: *-login: Login binaries can now set up their own private settings. [45cdc5539c93] * src/lda/main.c: deliver: Don't escape addresses with "." in local-part. [e8fc7ee87410] 2009-10-10 Timo Sirainen * src/login-common/login-settings.c, src/login-common/login- settings.h: Removed unused login_chroot setting. [d7b3ed9814cb] 2009-10-09 Timo Sirainen * src/login-common/client-common.c: *-login: Close auth client connection after (proxying) process no longer needs it. [cf376fcbd6ff] * src/lib-master/master-service.c: lib-master: If config fd is kept open, close it after last connection has been created. [40a71105529b] * src/lib-master/master-service-settings.c: lib-master: Timeout reading configuration after 10 seconds. [ebe9b1e7a46b] * src/master/main.c: master: If config process doesn't exist when reloading config, create one to avoid hanging. [fa9d2204b453] * src/master/service-monitor.c: master: Delay starting up config process until it's actually needed. [364dc7ae87e4] * src/imap/imap-fetch.c: QRESYNC: Fixed fallback handling to fetching expunged UIDs. [60e8f45d71a7] * src/imap/imap-fetch.c: QRESYNC: Minor code cleanup by renaming variables to be more understandable. [6e109ea7b506] * src/master/main.c, src/master/service-log.c: master: Fixed reloading configuration. [940d11bc5039] * src/config/config-parser.c: config: key=" * src/lib-settings/settings-parser.h: Comment update. [6556754b6c24] * src/config/config-filter.c, src/config/config-parser.c: config: Conflict handling fix. [85e532d170cc] * doc/example-config/conf.d/master.conf, doc/example- config/dovecot.conf, src/master/master-settings.c, src/master /master-settings.h, src/master/service-listen.c, src/master/service.c, src/master/service.h: master: Added back "listen" setting, which is the default address for inet_listeners. [f69fda5d7af5] * src/master/service-monitor.c: master: Allow idle-killing the last service process, except anvil. [f14b6c68ddce] * src/master/service-anvil.c: master: Removed accidentally committed debug code. [20b8f66d9f4e] * src/master/main.c: master: If service user isn't specified, keep original gid instead of using 0. [e5fccc9d4831] * src/master/service-listen.c: master: Cleaned up chown() error logging: don't show -1 as 2^64-1. [59b985cd3aca] * src/master/service-monitor.c: Compiler warning fix. [4a2fa8ec5c8c] * src/master/main.c: dovecot --build-options: Added "Mail storages" list back. [7c091e3e0266] * src/master/main.c: dovecot --build-options: List nss if it's enabled. [90622fad99a0] * src/imap/imap-fetch.c: imap: Don't crash on SELECT .. QRESYNC if it didn't give seq-uid map. [0e27ce1b0c37] * configure.in: configure: Use cache for more checks. [e7f8f15f1c4c] * src/plugins/Makefile.am: plugins: mail_log links notify plugin now, so build notify first. [22fe48dbed89] * src/auth/mech-gssapi.c: auth: Fixed compiling with --with-gssapi=plugin [e62d4a8c6035] * doc/example-config/conf.d/mail.conf: example-config: dbox_* settings were renamed to mdbox_*. [80a99cd5148f] 2009-10-08 Timo Sirainen * src/plugins/fts-solr/Makefile.am, src/plugins/fts-solr/fts-solr- plugin.c, src/plugins/fts-solr/fts-solr-plugin.h, src/plugins/fts- squat/Makefile.am, src/plugins/fts-squat/fts-squat-plugin.c, src/plugins/fts-squat/fts-squat-plugin.h, src/plugins/imap- acl/Makefile.am, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins /imap-acl/imap-acl-plugin.h, src/plugins/imap-quota/Makefile.am, src/plugins/imap-quota/imap-quota-plugin.c, src/plugins/imap-quota /imap-quota-plugin.h, src/plugins/mail-log/Makefile.am, src/plugins /mail-log/mail-log-plugin.c, src/plugins/mail-log/mail-log-plugin.h, src/plugins/trash/Makefile.am, src/plugins/trash/trash-plugin.c, src/plugins/trash/trash-plugin.h: plugins: Added dependencies. The dependencies can only be checked if the dlopen() can successfully open the module, so use (apparently) non-portable ltlibrary linking to force the libraries we depend on to load with us. [399d769e593c] * src/lib/module-dir.c: module_dir_load(): Support _dependencies array listing required modules. [bdd87f9ccccf] * doc/example-config/conf.d/master.conf, src/master/master-settings.c, src/master/master-settings.h, src/master/service-process.c, src/master/service.c, src/master/service.h: master: Added default_vsz_limit setting, which defaults to 256 MB. [a15182f41f30] * .hgignore, src/doveadm/Makefile.am, src/doveadm/doveadm-dump- index.c, src/doveadm/doveadm-dump-log.c, src/doveadm/doveadm-dump- mailboxlog.c, src/doveadm/doveadm-dump-thread.c, src/doveadm /doveadm-dump.c, src/doveadm/doveadm-dump.h, src/doveadm/doveadm.c, src/doveadm/doveadm.h, src/util/Makefile.am, src/util/idxview.c, src/util/logview.c, src/util/mailboxlogview.c, src/util/threadview.c: util/*view binaries are now accessed via "doveadm dump". listview binary stays for now, since mailbox list indexes won't work anyway and they might get a complete redesign. [c862648185b8] * src/lib-index/mail-cache.c, src/lib-index/mail-index-map-read.c, src /lib-index/mail-index-write.c, src/lib-index/mail-index.c, src/lib- index/mail-transaction-log-file.c, src/lib-index/mail-transaction- log.c, src/lib-index/mailbox-list-index.c: lib-index: Take MAIL_INDEX_OPEN_FLAG_READONLY more seriously. Don't do any filesystem changes to the index when it's set, even if corrupted index files are detected. [a425ba46a64c] * src/lib/compat.c, src/lib/compat.h: compat: Renamed all my_*() fallback functions to i_my_*(). This fixes at least my_pread() conflict with libmysqlclient. [910059d94bbc] * .hgignore, src/doveadm/Makefile.am, src/doveadm/doveadm-auth.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h, src/util/Makefile.am, src/util/authtest.c: authtest binary is now accessed via "doveadm auth" and "doveadm user". [4c532d8222f3] * src/lib/Makefile.am, src/lib/askpass.c, src/lib/askpass.h, src/master/Makefile.am, src/master/askpass.c, src/master/askpass.h: Moved askpass() from master/ to lib/. Added t_askpass(). [3721ae3917fc] * .hgignore, src/doveadm/Makefile.am, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-pw.c, src/doveadm/doveadm.c, src/doveadm/doveadm.h, src/util/Makefile.am, src/util/dovecotpw.c: dovecotpw binary is now accessed via "doveadm pw". [d9cb9d03e50e] * .hgignore, configure.in, src/Makefile.am, src/doveadm/Makefile.am, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/doveadm/doveadm.c, src/doveadm/doveadm.h, src/util/Makefile.am, src/util/doveadm.c: Moved doveadm to a separate directory and made it a bit more easily extensible. [a02c1d9df1bf] * src/dict/dict-commands.c, src/dict/dict-connection.c, src/dsync /dsync-brain-msgs.c, src/dsync/dsync-brain.c, src/imap/imap- client.c, src/imap/imap-fetch.c, src/lib-auth/auth-client.c, src /lib-index/mail-index-fsck.c, src/lib-index/mail-index-map-read.c, src/lib-index/mail-index-map.c, src/lib-index/mail-index-modseq.c, src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-index-sync- update.c, src/lib-index/mail-index-sync.c, src/lib-index/mail-index- transaction-finish.c, src/lib-index/mail-index-transaction-sort- appends.c, src/lib-index/mail-index-transaction-update.c, src/lib- index/mail-index-view-sync.c, src/lib-sql/driver-mysql.c, src/lib- sql/driver-pgsql.c, src/lib-storage/index/index-search-result.c, src /lib-storage/index/index-sort-string.c, src/lib-storage/index/index- sync-search.c, src/lib/seq-range-array.c, src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/fts-squat/squat-trie.c, src/plugins/quota/quota- storage.c, src/plugins/quota/quota.c: Use array_foreach*() in some useful places. [c610321584ca] * src/lib-lda/lmtp-client.c: smtp client: Failure wasn't sent properly for more than one recipient. [2c703e55d247] * src/lib-index/mail-index-sync-ext.c: lib-index: With >1 expunge handlers deinit was called with wrong sync_context. Currently there was only one expunge handler so this wasn't a real problem. [687c30b1539a] * src/lib-index/mail-index-modseq.c: Expunging messages caused in-memory modseqs to be wrong. [68869bf8aa31] * src/lib/array.h: Added array_foreach() and array_foreach_modifiable(). [ada435a92e93] * src/ssl-params/Makefile.am: ssl-params: Don't put SSL_LIBS to dependencies. [c20d6f518451] 2009-10-07 Timo Sirainen * src/ssl-params/ssl-params: Removed accidentally committed ssl-params binary. [0980d64f5bae] * src/ssl-params/main.c: ssl-params: Track client connection count correctly. [33532261ce0c] * src/master/service-anvil.c: master: Fixes to handling anvil service. [fb16190aa088] * src/lib-settings/settings-parser.c: settings parser: copying boolean values also copied some unintended memory. [e19832d735aa] 2009-10-07 Pascal Volk * .hgignore: ssl-params: dropped ssl-params binary / added to .hgignore [0d3bb7c55af1] 2009-10-07 Timo Sirainen * src/ssl-params/main.c, src/ssl-params/ssl-params, src/ssl-params /ssl-params.c: ssl-params: Several bugfixes. [96d87de9eba9] * src/ssl-params/main.c, src/ssl-params/ssl-params: ssl-params: Name the program correctly. [d44e5ff84614] * src/login-common/client-common.c: *-login: Don't set connection fd to non-blocking twice. [bab48f48d64d] * src/login-common/ssl-proxy-openssl.c: *-login: Read SSL parameters using the new ssl-params service. [79917d163689] * configure.in, doc/example-config/conf.d/master.conf, src/Makefile.am, src/ssl-params/Makefile.am, src/ssl-params/main.c, src/ssl-params/ssl-params, src/ssl-params/ssl-params-openssl.c, src /ssl-params/ssl-params-settings.c, src/ssl-params/ssl-params- settings.h, src/ssl-params/ssl-params.c, src/ssl-params/ssl- params.h: Added ssl-params binary that login process uses to read SSL parameters. [ea36bad4d9da] * doc/example-config/conf.d/master.conf, src/lib-auth/Makefile.am, src /lib-auth/auth-client-private.h, src/lib-auth/auth-client-request.c, src/lib-auth/auth-client-request.h, src/lib-auth/auth-client.c, src /lib-auth/auth-client.h, src/lib-auth/auth-server-connection.c, src /lib-auth/auth-server-connection.h, src/lib-auth/auth-server- request.c, src/lib-auth/auth-server-request.h, src/login-common /client-common.h, src/login-common/main.c, src/login-common/sasl- server.c, src/pop3-login/client-authenticate.c, src/pop3-login/client.c, src/pop3-login/client.h, src/util/authtest.c: lib-auth: Changed API to connect to only a single specified auth socket. Login processes now always connect to socket called "auth". [097588a7903c] * src/master/Makefile.am, src/master/ssl-init-gnutls.c, src/master /ssl-init-main.c, src/master/ssl-init-openssl.c, src/master/ssl- init.c, src/master/ssl-init.h: master: Removed all SSL related code. It doesn't belong there. [9716b5a4b14a] * src/auth/auth-client-connection.c: auth: VERSION should have been sent before MECH, not after. [9e28fcdc74ab] * src/log/log-connection.c: log: Don't use 100% CPU when log connection closes. [1aff70cee4d9] 2009-10-07 Pascal Volk * src/master/main.c: master: Added --help option [22276a4717ca] 2009-10-07 Timo Sirainen * src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index /dbox-single/sdbox-save.c: dbox: Getting dbox file for non-first unsaved mail crashed. [26588f1b0870] * src/master/main.c: master: Updated --help. Patch by Pascal Volk [9a09b4d6dbd2] 2009-10-06 Timo Sirainen * configure.in, src/lib-storage/index/Makefile.am, src/lib- storage/index/dbox-common/Makefile.am, src/lib-storage/index/dbox- common/dbox-file-fix.c, src/lib-storage/index/dbox-common/dbox- file.c, src/lib-storage/index/dbox-common/dbox-file.h, src/lib- storage/index/dbox-common/dbox-mail.c, src/lib-storage/index/dbox- common/dbox-mail.h, src/lib-storage/index/dbox-common/dbox-save.c, src/lib-storage/index/dbox-common/dbox-save.h, src/lib-storage/index /dbox-common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox- storage.h, src/lib-storage/index/dbox-common/dbox-sync-rebuild.c, src/lib-storage/index/dbox-common/dbox-sync-rebuild.h, src/lib- storage/index/dbox-multi/Makefile.am, src/lib-storage/index/dbox- multi/mdbox-file-purge.c, src/lib-storage/index/dbox-multi/mdbox- file.c, src/lib-storage/index/dbox-multi/mdbox-file.h, src/lib- storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox- multi/mdbox-map-private.h, src/lib-storage/index/dbox-multi/mdbox- map.c, src/lib-storage/index/dbox-multi/mdbox-map.h, src/lib- storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox- multi/mdbox-settings.c, src/lib-storage/index/dbox-multi/mdbox- settings.h, src/lib-storage/index/dbox-multi/mdbox-storage- rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.h, src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib- storage/index/dbox-multi/mdbox-storage.h, src/lib-storage/index /dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox-multi/mdbox- sync.h, src/lib-storage/index/dbox-single/Makefile.am, src/lib- storage/index/dbox-single/sdbox-file.c, src/lib-storage/index/dbox- single/sdbox-file.h, src/lib-storage/index/dbox-single/sdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-save.c, src/lib- storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index /dbox-single/sdbox-storage.h, src/lib-storage/index/dbox-single /sdbox-sync-file.c, src/lib-storage/index/dbox-single/sdbox-sync- rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync.c, src/lib- storage/index/dbox-single/sdbox-sync.h, src/lib- storage/index/dbox/Makefile.am, src/lib-storage/index/dbox/dbox- file-fix.c, src/lib-storage/index/dbox/dbox-file-maildir.c, src/lib- storage/index/dbox/dbox-file-maildir.h, src/lib-storage/index/dbox /dbox-file.c, src/lib-storage/index/dbox/dbox-file.h, src/lib- storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox/dbox-map- private.h, src/lib-storage/index/dbox/dbox-map.c, src/lib- storage/index/dbox/dbox-map.h, src/lib-storage/index/dbox/dbox- save.c, src/lib-storage/index/dbox/dbox-settings.c, src/lib- storage/index/dbox/dbox-settings.h, src/lib-storage/index/dbox/dbox- storage-rebuild.c, src/lib-storage/index/dbox/dbox-storage- rebuild.h, src/lib-storage/index/dbox/dbox-storage.c, src/lib- storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox/dbox- sync-file.c, src/lib-storage/index/dbox/dbox-sync-rebuild.c, src /lib-storage/index/dbox/dbox-sync.c, src/lib-storage/index/dbox /dbox-sync.h: Split dbox (single-dbox) and mdbox (multi-dbox) into separate storage backends. This cleans up the code, makes it faster and also fixes some bugs. Super-fast maildir migration code was also dropped, at least for now. [0bb321c347ae] * src/log/log-connection.c: log: Log input wasn't read correctly. [ff4c83871f4d] * src/lib-master/master-interface.h: struct log_service_handshake: Removed unused max_lines_per_sec. [173435e81938] * src/lib-index/mail-cache-transaction.c, src/lib-index/mail-index- transaction.c, src/lib-storage/index/index-mail.c, src/lib- storage/index/index-transaction.c: Don't assert-crash after noticing cache file corruption. [2d160210b306] * configure.in, src/login-common/ssl-proxy-openssl.c: Compiling fix for OpenSSL 0.9.7 and older. [ba12a404d3b3] 2009-10-05 Timo Sirainen * .hgignore, src/util/Makefile.am, src/util/authtest.c: Added authtest utility for doing passdb and userdb lookups. [87c40d1d2b6c] * src/lib-index/mail-index-view-sync.c: lib-index: Fixed v2.0 forwards compatibility support. Expunges were handled wrong. [309ef3136fa0] * src/imap/main.c, src/lib-storage/mail-storage-service.c, src/lib- storage/mail-storage-service.h, src/pop3/main.c: imap, pop3: Process permissions weren't properly dropped. [4b28edba5ff9] * src/imap/main.c, src/pop3/main.c: imap, pop3: Root mail access wasn't properly disallowed. [a249daa4d960] * src/lib/Makefile.am: unicodemap.c now gets recreated if unicodemap.pl changes. [4d7c7f4b8ab6] * src/lib/failures.c: If info/debug log can't be opened, log about it to error log. [0af777d3e34a] * src/imap/cmd-list.c: LSUB "" %: List namespace prefix if namespace has separate subscriptions. [f68b322167d7] * src/login-common/client-common.c, src/login-common/client-common.h, src/login-common/sasl-server.c: *-login: Log more precise reasons for some auth failures. [c492325acdcf] * src/lib-auth/auth-master.c: auth-master lookup: Give better error message on connect() EACCES errors. [8a1eef211ad6] 2009-10-01 Timo Sirainen * src/lib-storage/mail-storage-service.c: Crashfix. [6a3667ea47d7] * src/lib/unichar.c, src/lib/unicodemap.pl: New UnicodeMap.txt has >16bit multi-decomposition keys, support them. [c89df0c0e313] * src/login-common/client-common.c: imap-login: "Disconnected for inactivity" should be sent as BYE. [22f1076b3d03] 2009-09-30 Timo Sirainen * src/imap-login/imap-proxy.c: imap proxy: Don't fail if LOGIN parameters were sent using literals. [aaf93388d061] * doc/example-config/conf.d/logging.conf, src/lib-master/master- service-settings.c, src/lib-master/master-service-settings.h, src /lib-master/master-service.c, src/lib/failures.c, src/lib/failures.h, src/master/main.c, src/master/service-process.c: Added debug_log_path setting and i_debug() call. Patch by Pascal Volk. [80472a77d765] * src/master/main.c: master: Build help and --log-error message to stderr, not stdout. [e139e62cfa22] * src/lib/process-title.c: process_title_set(): Don't include executable name in setproctitle(), it's done internally. [4b18863b7213] * src/imap/imap-client.c: imap: Reduce command pool's initial size. [3441e6613ab4] * src/master/service-anvil.c: master: Fix to previous change, don't crash at service deinit. [907e781f7999] * src/master/service-anvil.c, src/master/service-anvil.h, src/master /service-process.c, src/master/service.h: master: If anvil isn't used, read and discard all anvil input coming from mail processes. [c998a51b7be4] * src/master/service-listen.c: master: Use a hard coded backlog=128 when listen()ing. [65eb3d129bc9] * src/imap-login/imap-proxy.c: imap proxy: Don't log "unexpected input" errors about tagged CAPABILITY replies. [b381d3852d70] * src/login-common/main.c: *-login: fd limit wasn't set correctly. [0d5d10a3273c] * src/lib-index/mail-index.c: Avoid assert-crashing when two processes try to create index at the same time. [7aea0156986a] * src/config/config-parser.c, src/lib-settings/settings.c: Allow config file line lengths to be unlimited. [ab80ebdc6557] * src/lda/main.c: deliver: Changed all EX_CONFIGs to EX_TEMPFAILs to avoid bounces. [8342893350b2] * src/lib/fd-close-on-exec.c: fd_debug_verify_leaks() didn't check the last_fd. [4169c35b6285] 2009-09-29 Timo Sirainen * src/lib/data-stack.h, src/lib/failures.h, src/lib/macros.h: Added ATTR_HOT and ATTR_COLD macros. Use them in a couple of places. [12089b6343bf] * src/login-common/ssl-proxy-openssl.c: ssl: If given ssl key is for a different cert, give a nicer error message. [53b2a88ee6d0] 2009-09-28 Timo Sirainen * src/lib-storage/index/index-search-result.c: Assert-crashfix when updating saved search results. [dac192bbd97f] * src/lib-storage/mail-search.c: mail_search_args_init(): Added an assert. [92463a3c3af4] * configure.in: configure: Use mysql_config to find where mysql exists. [a22c9e8a01ae] * src/lib-storage/mailbox-list.c: mail_location: If it ends with ":", ignore it instead of adding ":" character. If ":" is really wanted, it should be done with "::". [413f5cf35694] * src/plugins/quota/quota.c: quota: Don't crash with non-Maildir++ quota backend. Patch by Brandon Davidson. [739d8d99bafe] * src/login-common/ssl-proxy-openssl.c: login: ssl_security string now also shows the used compression. [9b4bb1a7d789] 2009-09-23 Timo Sirainen * src/imap-login/client.h, src/imap-login/imap-proxy.c: imap proxy: Detect and log invalid remote input. [aedf642c8bc8] 2009-09-13 Timo Sirainen * src/lib-auth/auth-client-interface.h: auth: Increased AUTH_CLIENT_MAX_LINE_LENGTH. [49cd8e736a8a] * src/plugins/acl/acl-backend-vfile.c: acl: Use namespace prefix when looking up global ACLs. [6fac2ade5dd6] * src/plugins/acl/acl-mailbox.c: acl: Don't crash when creating children under a mailboxes with global ACL. [364ee96c6195] * src/lib-mail/Makefile.am, src/lib-mail/message-header-decode.c, src /lib-mail/test-message-header-decode.c: message_header_decode*() should ignore LWSP between two encoded- words. [9444d7964766] * src/plugins/quota/quota-dict.c, src/plugins/quota/quota-dirsize.c, src/plugins/quota/quota-fs.c, src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-private.h, src/plugins/quota/quota.c: maildir quota: Limits weren't read early enough from maildirsize file. [27904121ae72] 2009-09-11 Timo Sirainen * src/master/main.c: master: Use "master: " prefix in log messages. [accb1c02e03c] * TODO: TODO updated. [97d5c31dcc9e] * doc/example-config/conf.d/mail.conf, doc/example- config/dovecot.conf, src/imap/imap-settings.c, src/imap/imap- settings.h, src/master/master-settings.c, src/master/master- settings.h, src/master/service-process.c, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h: verbose_proctitle setting works again. [307a5f65f74d] * src/imap-login/client.c, src/login-common/client-common-auth.c, src /login-common/client-common.c, src/login-common/client-common.h, src /login-common/login-proxy.c, src/login-common/login-proxy.h, src /login-common/main.c, src/login-common/ssl-proxy-openssl.c, src /login-common/ssl-proxy.c, src/login-common/ssl-proxy.h, src/pop3-login/client.c: *-login: Fixes to SSL/login proxy connection counting. [d60fa42fbaac] * src/master/main.c, src/master/master-settings.c, src/master/master- settings.h: master: auth setting blocks don't exist anymore, removed them. [4dd2430a7c62] * src/master/main.c: master: Startup warnings written to stderr should end with LF. [cb3760f21777] * src/master/main.c: master: "auth trouble" message should have been written only to stderr. [2f2e1a3ae633] 2009-09-10 Timo Sirainen * src/config/doveconf.c: doveconf: Crashfix [9287d59dbf69] * src/lib-mail/quoted-printable.c, src/lib-mail/test-quoted- printable.c: quoted-printable decoding didn't handle QP after soft line breaks correctly. Patch by Yamazaki Hideto. [281ea23515ce] * src/lib-master/master-auth.c, src/lib-master/master-interface.h, src /lib-master/master-service-private.h, src/lib-master/master- service.c, src/lib-master/master-service.h, src/login-common/client- common.c, src/login-common/login-settings.c, src/login-common/login- settings.h, src/login-common/main.c, src/master/service-auth- source.c, src/master/service-auth-source.h, src/master/service- monitor.c, src/master/service-process.c, src/master/service- process.h, src/master/service.h: *-login: Fixed dropping oldest connection when reaching all limits. [77228b5431e1] * src/config/config-request.c: config: Increased initial memory pool size. [2e94a44c34ff] * src/login-common/client-common.c: *-login: Don't leak client when it's aborted while waiting for reply from master. [5bcb78c2eabb] * src/lib-dict/dict-sql.c: Compiler warning fixes. [b1857ba4347a] * src/lib-storage/index/maildir/maildir-sync-index.c: maildir: Save cur/ mtime to index after moving saved messages there, not before. [d39dbfad7f69] * src/lib-storage/index/maildir/maildir-sync-index.c: maildir: Removed some unnecessary code. [317cb0a6744b] * src/lib/unlink-directory.c: unlink_directory(): Log if unlink()ing some file fails. [81011be1092f] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Don't force a resync when saving. [d20df975253a] 2009-09-09 Timo Sirainen * src/plugins/zlib/zlib-plugin.c: zlib: Don't allow clients to save compressed data directly. This way clients can't try to exploit uncompression bugs in zlib/bzlib. [aecf6e5be9e2] 2009-09-08 Timo Sirainen * src/lib-master/master-interface.h, src/login-common/ssl-proxy- openssl.c, src/master/main.c, src/master/service-process.c: dovecot -p: And fixed it to really work this time. [3e4f64af6c9a] * src/login-common/ssl-proxy-openssl.c, src/master/Makefile.am, src/master/common.h, src/master/main.c, src/master/service- process.c, src/master/service.c, src/master/service.h: dovecot -p (ask ssl key password from command line) works again. [e819f6dfe5f4] * doc/example-config/conf.d/logging.conf, src/anvil/main.c, src/auth/main.c, src/config/main.c, src/dict/main.c, src/lib-master /master-service.c, src/lib-master/master-service.h, src/lib-storage /mail-storage-service.c, src/lib-storage/mail-storage-settings.c, src/lib-storage/mail-storage-settings.h, src/log/main.c, src/login- common/main.c, src/master/main.c, src/plugins/convert/convert- tool.c: Removed mail_log_max_lines_per_sec setting and related code. It's pretty unnecessary and there's really no good way to implement it with shared log pipes. [37bc3a3d4464] * src/lib/failures.c, src/log/log-connection.c: Logging via log service: Added support for changing process's log prefix. [d7bbe0964b0d] * src/config/config-parser.c, src/config/config-request.c, src/lib- settings/settings-parser.c, src/lib-settings/settings-parser.h: config: When reporting errors in variable-strings, skip over the "0" prefix. [5f61efdc9f35] * src/master/service-process.c: master: Require auth source and destination processes to use different UIDs. [6d3732cf8b3c] * src/master/service-monitor.c: master: When killing idle processes, don't kill the service's last one. [e5edd68453fe] * src/master/service-process.c, src/master/service.h: master: Minor cleanups. [3265d6e98c46] * src/master/service-monitor.c, src/master/service-process.c, src/master/service-process.h: master: Kill extra idling processes. [29ebf1c9ff26] * src/lib/lib-signals.c: lib-signals: Don't assert-crash with nested signal handler calls. [54c0c2c24f2c] * src/master/main.c: master: Write "last died with error" only to stderr, not to log. [88801acf025a] * src/master/main.c: master: SIGHUP now logs that config was reread. [329b1f01052a] * src/log/main.c, src/master/main.c: master: SIGUSR1 now reopens logs. [45e87a15cf48] * src/auth/auth-master-connection.c: auth: Allow PASS lookups also in userdb sockets, not just master sockets. [987d244a7a3e] * src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-proxy.h: lmtp client, proxy: Several bugfixes. [22d27318bb18] 2009-09-07 Timo Sirainen * src/plugins/notify/notify-storage.c: Removed unused code. [6e5cc5d4cec4] * src/login-common/login-proxy-state.h: Compiling fix. [7afe868ee86f] * src/lib/time-util.c, src/lib/time-util.h: Compiling fix. [21612b2b7b85] * src/master/main.c: master: Fixes to logging startup errors. [7675eb23bba8] 2009-09-06 Timo Sirainen * src/auth/userdb-vpopmail.c: vpopmail: Call vauth_open(), which is required by vpopmail 5.5.0. [7681ae18ed03] * src/master/main.c: master: Log startup errors as well as writing them to stderr. [3d362066d0e8] * src/lib-storage/list/mailbox-list-subscriptions.c: Don't assert-crash when listing subscriptions with a >256 chars long mailbox name. [906dbaba14a9] * src/lib-dict/dict-client.h: lib-dict: Changed default dict socket name. [33855e50b4c7] * src/plugins/quota/quota-dict.c: dict quota: When updating quota, recalculate it when necessary. [a521d09c3ab9] * src/dict/dict-server.c, src/dict/dict-server.h: dict: Removed unused files. [54813ca63b26] * src/dict/dict-commands.c, src/dict/dict-connection.h, src/lib-dict /dict-client.c, src/lib-dict/dict-client.h, src/lib-dict/dict-db.c, src/lib-dict/dict-file.c, src/lib-dict/dict-private.h, src/lib-dict /dict-sql.c, src/lib-dict/dict.c, src/lib-dict/dict.h: dict: Added support for async commits. Changed dict_atomic_inc() behavior. [0f7b25f3e2ce] * src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src/lib-sql /driver-sqlite.c, src/lib-sql/sql-api-private.h, src/lib-sql/sql- api.c, src/lib-sql/sql-api.h: lib-sql: Added sql_update_get_rows(). [551c273f4844] * src/lib-index/mail-transaction-log-file.c: lib-index: Minor code cleanup. [69152c0d40a1] * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-map.c, src/lib-storage/index/dbox/dbox-storage.c, src/lib- storage/index/dbox/dbox-storage.h: dbox: Don't set +x bit for created files. [ba690c9aea70] * src/lib-storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox /dbox-save.c, src/lib-storage/index/dbox/dbox-storage.h: dbox: Allow getting streams to messages being saved. [af8424c95825] * src/imap/cmd-select.c, src/imap/imap-client.c, src/imap/imap-sync.c: imap: Some text is required after resp-text-codes (HIGHESTMODSEQ/CLOSED). [38fbf201824c] * src/anvil/anvil-connection.c: anvil: Recovered from my insanity and reverted changes to fifo reading code. [87fed6f0bbfe] * src/anvil/anvil-connection.c: anvil: Fixed reading from FIFOs. [52027b59beb5] 2009-09-04 Timo Sirainen * src/config/config-filter.c, src/config/config-filter.h, src/config /config-parser.c, src/config/config-request.c, src/config/doveconf.c, src/config/main.c, src/lib-master/master- service.c, src/lib-settings/settings-parser.c: Memory leak fixes. [8ad868df4649] * src/anvil/main.c, src/lib-master/master-service.c, src/login-common /sasl-server.c: anvil: Stop immediately when master asks, instead of waiting for clients to finish. [cce684dfe3e7] * src/imap/main.c, src/pop3/main.c: imap, pop3: shutdown_clients setting wasn't working. [e11bd2547bb2] * src/lib-master/master-service-private.h, src/lib-master/master- service.c, src/lib-master/master-service.h: lib-master: Added master_service_set_die_with_master. [c58c40a83bbd] * src/lib-master/master-service-settings.c: lib-master: Don't assert-crash if process gets a signal while reading config. [3de6af0eb499] * src/master/common.h, src/master/main.c, src/master/service-auth- server.c, src/master/service-listen.c, src/master/service-monitor.c, src/master/service.c, src/master/service.h: master: Several fixes to handling SIGHUPs. [31a283729295] * src/login-common/main.c: *-login: If connecting to anvil fails with EAGAIN, try again a few times. [199857627883] * src/config/config-parser.c, src/config/config-request.c: config: Increased initial pool sizes. [831adf94c39f] * src/master/main.c: master: Changed the WhyDoesItNotWork info message. [6880916a8eef] * src/master/master-settings.c, src/master/master-settings.h, src/master/service-monitor.c, src/master/service-process.c: master: Added process_min_avail setting for services. [af7f0be02d3b] * src/master/service-monitor.c, src/master/service-process.c: master: Check process_limit for auth dest processes. Log when reaching limit. [8a38b5b82a1d] * src/master/service-auth-server.c, src/master/service-auth-source.c: master: Fixed reporting auth failure reporting to client. [1cdee825e414] * src/lmtp/commands.c, src/plugins/expire/expire-tool.c, src/util/doveadm.c: lmtp, expire-tool, doveadm: Set service for config lookups. [464c01ae9f0c] * src/lib-master/master-service.c: lib-master: Make sure master_status.available_count is updated correctly. [63d2755c9211] * src/auth/auth-master-connection.c: auth: Don't notify lib-master when primary master connection was destroyed, since it wasn't created through it. [6168a479c54b] * src/anvil/anvil-connection.c, src/config/config-connection.c, src /lib-master/master-service-settings.c, src/login-common/main.c, src/master/service-anvil.c: anvil, config: Use the name in initial VERSION handshake. [1d2d0aa8e313] * src/anvil/anvil-connection.c, src/anvil/anvil-connection.h, src/anvil/main.c: anvil: Read from FIFOs in packets instead of using streams. [c90ba3f3fa51] * src/lib-master/master-service.c, src/lib-master/master-service.h: lib-master: Fixes to handling FIFO connections. Also expose the FIFOness to caller. [5b36fa967538] * src/lib-master/master-service-settings.c: lib-master: Execute doveconf with -f service=, not -p parameter. [3e20e23154e0] 2009-09-03 Timo Sirainen * src/config/config-filter.c, src/config/config-filter.h, src/config /config-parser.c: config: When we detect a conflict, log where in config it came from. [864693ced870] * src/config/doveconf.c: doveconf: -f protocol is now an alias for -f service. [717688db5e82] * src/config/config-parser.c: config: Added some nesting requirements to remote_ip, local_ip and protocol. [d3d8ba13faa6] * src/config/config-connection.c, src/config/config-filter.c, src/config/config-filter.h, src/config/config-parser.c, src/config /config-request.c, src/config/config-request.h, src/config/doveconf.c: config: Several fixes. Now per-ip settings work properly. doveconf parameters were also changed. Now it's possible to ask configuration for a specified filter. [f9ca1a1ebcf8] * src/lib-settings/settings-parser.c, src/lib-settings/settings- parser.h: Added settings_parser_apply_changes() for copying changed settings. [2e502c0e23e7] 2009-09-02 Timo Sirainen * src/lib-storage/mail-storage-settings.c, src/master/master- settings.c: settings: Don't crash if no namespaces or services have been created. [0830fbbdfecd] * src/config/config-filter.c, src/config/config-filter.h, src/config /config-parser.c, src/config/config-parser.h, src/config/config- request.c, src/config/doveconf.c: config: Code cleanups. [6103d925e018] * src/config/config-request.c, src/config/config-request.h, src/config/doveconf.c: doveconf -N dumps only settings that have been explicitly set. [5ae02fad67da] * src/lib-settings/settings-parser.c, src/lib-settings/settings- parser.h: Settings parser: Support keeping track of what settings were explicitly set. [649245b1552e] * src/lib-settings/settings-parser.c, src/lib-settings/settings- parser.h: settings parser: Removed unused settings_parse_save_input(). [2765e7fb2202] 2009-09-01 Timo Sirainen * src/lib-lda/mail-send.c: lda: Don't send rejects to any messages that have Auto-Submitted header. [1bb29c3fad82] * src/auth/mech-digest-md5.c, src/auth/mech-rpa.c: auth: digest-md5, rpa mechanisms no longer require the realm to be listed in auth_realms. [27fc3665b4dd] 2009-08-31 Timo Sirainen * src/master/service-process.c: master: If process uid/gid is too high, refer to last_valid_* settings instead of first_valid_*. Based on patch by Pascal Volk. [070e5e24df41] * src/plugins/virtual/virtual-sync.c: virtual: Don't crash if trying to change a message that was already expunged in backend mailbox. [faa19e000b57] * src/lib-storage/mailbox-list.c: lib-storage: Allow selecting namespace prefix even when list=no. [39561fccb623] * src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox /dbox-mail.c, src/lib-storage/index/maildir/maildir-mail.c, src/lib- storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw- mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage /mail-storage.h, src/lib-storage/mail.c, src/lib-storage/test- mail.c, src/plugins/virtual/virtual-mail.c, src/pop3/pop3-commands.c, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h: Added pop3_save_uidl setting. When UIDLs are sent to client, save them to dovecot-uidlist. This allows changing pop3_uidl_format without messages getting re-downloaded. It's also useful with virtual POP3 INBOX when UIDLs are based on IMAP UIDs that may not be as stable as in non-virtual INBOX. [ecb05365f520] * doc/example-config/conf.d/auth.conf, src/auth/auth-settings.c, src/auth/auth-settings.h, src/auth/main.c, src/config/config- parser.c: config: Removed auth sections completely for now. They might come back in some other more generic form. [cf27080f3fcf] * doc/example-config/conf.d/auth.conf, doc/example- config/conf.d/mail.conf: example-config: Moved auth_socket_path to mail.conf. [f5dcc960ab7a] * src/auth/main.c: auth: Use net_getunixname() instead of implementing it ourself. [4efd13c0f778] * src/lib/network.c, src/lib/network.h: Added net_getunixname(). [95fba8612a87] * Makefile.am, configure.in, doc/Makefile.am, doc/dovecot-db- example.conf, doc/dovecot-dict-sql-example.conf, doc/dovecot-ldap- example.conf, doc/dovecot-sql-example.conf, doc/example- config/Makefile.am, doc/example-config/conf.d/Makefile.am, doc /example-config/conf.d/auth.conf, doc/example- config/conf.d/imap.conf, doc/example-config/conf.d/lda.conf, doc /example-config/conf.d/logging.conf, doc/example- config/conf.d/mail.conf, doc/example-config/conf.d/master.conf, doc /example-config/conf.d/plugin.conf, doc/example- config/conf.d/pop3.conf, doc/example-config/conf.d/ssl.conf, doc /example-config/dovecot-db.conf, doc/example-config/dovecot-dict- sql.conf, doc/example-config/dovecot-ldap.conf, doc/example-config /dovecot-sql.conf, doc/example-config/dovecot.conf, dovecot- example.conf, dovecot-master-example.conf, src/config/Makefile.am, src/config/config-connection.c, src/config/config-parser.c, src/config/doveconf.c, src/config/main.c, src/lib- master/Makefile.am: Split dovecot-example.conf to multiple files. Also it's now installed under docdir. [e95135898a3c] * src/master/master-settings.c, src/master/master-settings.h, src/master/service.c: master: If ssl=no, skip inet_listeners with ssl=yes. [331cf0bd593e] * src/master/service-monitor.c, src/master/service-process.c, src/master/service.c, src/master/service.h: master: Fixes to checks using service's client_limit. [2dc1e03cad11] * src/lib-master/master-interface.h, src/lib-master/master-service.c, src/master/master-settings.c, src/master/master-settings.h, src/master/service-process.c: Added service_count setting to limit how many requests a service can handle before dying. [d76916a6df44] * src/login-common/client-common.c, src/login-common/login-settings.c, src/login-common/login-settings.h: Removed last traces of login_process_per_connection setting. [777d8121356d] * dovecot-example.conf, dovecot-master-example.conf, src/master /master-settings.c, src/master/master-settings.h, src/master/service.c: protocols setting works again. Services can now specify which protocol they implement and they can quickly enabled/disabled by modifying protocols setting. imaps and pop3s are no longer separate protocols. [2fa181d56c20] * dovecot-example.conf: dovecot-example.conf: Removed (most) settings that are no longer used. [3e9f77da6a6f] * dovecot-master-example.conf: dovecot-master-example.conf: Added some comments. [4bd18ca73175] * dovecot-example.conf, src/auth/auth-settings.c, src/config/config- parser.c: config: Auth settings now require the "auth_" prefix also inside auth blocks. [3f4d796db5fd] * src/config/config-parser.c: config: Code cleanups. [a0ec16185806] * src/lmtp/Makefile.am, src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-proxy.h, src/lmtp/main.c: lmtp: Added initial support for proxying mails to other LMTP/SMTP servers. [3a16bec9c961] * src/lib-lda/Makefile.am, src/lib-lda/lmtp-client.c, src/lib-lda /lmtp-client.h: lib-lda: Added LMTP client code. [c3da5347b1c5] * src/lib-auth/auth-master.c, src/lib-auth/auth-master.h, src/lib- storage/mail-storage-service.c, src/lib-storage/mail-storage- service.h, src/lib-storage/mail-user.c: Added auth_master_pass_lookup() and changed auth_master_used_lookup() API. User lookup can now send local/remote IPs and ports to auth process. [0919ab922086] * src/lib-storage/index/index-fetch.c: Minor code cleanup. [46adc15b33d9] 2009-08-28 Timo Sirainen * src/lib-imap/imap-quote.c: imap_quote*(): If fix_text=FALSE and input contains CRs or LFs, use literals. [0b8492a4f219] * src/lib-imap/imap-bodystructure.c, src/lib-imap/imap-envelope.c, src /lib-imap/imap-quote.c, src/lib-imap/imap-quote.h: imap_quote*() now have fix_text parameter. If it's not set, input isn't modified at all. [dad7264633a9] * src/plugins/acl/acl-mailbox.c, src/plugins/notify/notify-storage.c, src/plugins/quota/quota-storage.c: Plugins now use mail_save_context.copying instead of their own save_hacks. [63b7223cce4b] * src/lib-storage/mail-copy.c, src/lib-storage/mail-storage-private.h: mailbox_copy() now sets mail_save_context.copying=TRUE. [9f5bbc4780a1] * src/auth/mech-gssapi.c: gssapi: Apparently all usernames end with NUL. Allow it. [7f05f59d4205] * src/imap/imap-fetch.c: qresync: Fixed off-by-one modseq comparison when figuring out what VANISHED replies to send. [9996521d883a] * src/imap/imap-fetch.c: imap: Don't crash if SELECT .. QRESYNC doesn't specify list of UIDs. [8f92498a6c88] * src/config/config-parser.c: config: Read auth_* settings correctly that don't exist inside auth {} [88246989a806] * src/auth/main.c: auth: More fixes to figuring out what type the auth socket is. [c9a111a50579] * doc/dovecot-ldap-example.conf: dovecot-ldap-example.conf: Changed the example "base" setting. [3d69f2392d5e] * src/lib/file-set-size.c: file_set_size() was broken with OSes that didn't support posix_fallocate(). [865ad92d0eb3] * src/plugins/acl/acl-mailbox-list.c: acl: Don't use dovecot-acl-list with public namespaces. All mailboxes in a public namespace are typically in dovecot-acl-list anyway. [9d55ed4fbd26] * src/lib/lib-signals.c: Solaris: Don't crash when signal handler is called with siginfo_t=NULL. [11e3058af06c] 2009-08-25 Timo Sirainen * src/auth/db-ldap.c: ldap: Don't log an error when server disconnects us because of idling. [fb555af36c0f] * src/lib-storage/index/maildir/maildir-sync.c: maildir: Fixed maildir_sync_get_changes() to work as it should have. [830958d044ec] 2009-08-24 Timo Sirainen * src/plugins/mail-log/Makefile.am, src/plugins/mail-log/mail-log- plugin.c: Reimplemented mail-log plugin using notify plugin framework. Patch by Mark Washenberger / Rackspace. [d1cdc927ea3c] * configure.in, src/plugins/Makefile.am, src/plugins/notify/Makefile.am, src/plugins/notify/notify-noop.c, src/plugins/notify/notify-plugin-private.h, src/plugins/notify /notify-plugin.c, src/plugins/notify/notify-plugin.h, src/plugins/notify/notify-storage.c: Added a notify plugin that can be used as a generic event catching framework by other plugins. Patch by Mark Washenberger / Rackspace. [f751c23561f9] * src/login-common/client-common-auth.c: *-login: If proxying is enabled but no host is given, don't crash. [211853d48eaf] * src/auth/main.c: auth: Don't crash at startup if auth socket name doesn't contain "-". [07e966c5e5d3] * src/auth/auth-worker-server.c: auth worker server: Don't assert-crash if the whole reply doesn't come in one packet. [fa76c740ee41] * src/master/main.c: master: If execv() fails with ENOMEM, mention the vsz_limit setting. [aad3157d52a1] * src/lib-master/master-service.c: lib-master: If accept() fails and there are no clients, die instead of waiting forever. [41188b7db88a] 2009-08-17 Timo Sirainen * src/lib-storage/index/maildir/maildir-mail.c: maildir: If opening a mail fails with EACCES, log a better error message. [3c33f864b4ae] * src/lib-lda/mail-send.c, src/lib-lda/smtp-client.c, src/lib-lda /smtp-client.h: smtp_client_open() API changed to take lda_settings instead of mail_deliver_context. [882a0a6cc92e] * src/auth/auth-master-connection.c: auth: Added PASS command for auth-master socket to do passdb lookups. [620183ce36f9] * src/auth/auth-master-connection.c, src/auth/auth-master- connection.h, src/auth/main.c: auth: Added auth-master socket that's allowed to do REQUEST commands. [7f9fcd00a819] * dovecot-example.conf, dovecot-master-example.conf, src/auth/main.c, src/lib-storage/mail-storage-settings.c: Renamed auth-master socket to auth-userdb socket. [fc0022950bad] * src/plugins/mbox-snarf/mbox-snarf-plugin.c: mbox-snarf: Keep the mailbox locked while snarfing to avoid duplicates. [825fd2b3f48e] 2009-08-15 Timo Sirainen * src/plugins/acl/acl-api.c: acl: When looking up ACL defaults, use global/local default files if they exist. [f906b5dbc5fb] * .hgignore: .hgignore: Added mailboxlogview [529b02c56ebe] 2009-08-14 Timo Sirainen * src/plugins/listescape/listescape-plugin.c: listescape: Fixed to work with dynamically created shared namespaces. [051f2fd43558] * src/lib-storage/mail-namespace.c: namespace initialization: Allow plugins to override namespace.real_sep. [4acd3444ca43] * src/plugins/listescape/listescape-plugin.c: listescape: Handle properly subscriptions to namespaces with subscriptions=no. [f61dd34e3c35] * src/lib-settings/settings-parser.c: settings parser: If first line begins with "ERROR ", return it as the error message. [4011a41cf404] * src/lib-master/master-service-settings.c, src/lib-master/master- service-settings.h, src/master/main.c, src/master/master-settings.h, src/master/service-auth-source.c, src/master/service-monitor.c, src/master/service-monitor.h, src/master/service-process.c, src/master/service.c, src/master/service.h: master: Support reloading configuration. [da330a07e45c] * src/config/all-settings.h, src/config/config-connection.c, src/config/config-filter.c, src/config/config-filter.h, src/config /config-parser.c, src/config/config-parser.h, src/config/doveconf.c, src/config/main.c, src/config/settings-get.pl: config: If master module requests configuration, reread it before replying. If new configuration is invalid, send an ERROR reply back. [d7ccdbb58a03] * src/lib-test/test-common.c, src/lib-test/test-common.h: lib-test: Added test_istream_set_max_buffer_size(). [0287c38ba6bf] * src/lib-settings/settings-parser.c: setting_parse_environ(): Don't crash if environ=NULL. [26a351f8ed07] * src/lib/istream-crlf.c, src/lib/test-istream-crlf.c: lf-istream: Don't assert-crash if last character in buffer is CR, not followed by LF. [a13837027b29] * src/auth/mech-cram-md5.c, src/auth/mech-digest-md5.c, src/auth/mech- gssapi.c: auth: Check for potentially dangerous NULs in usernames. [99f5dd282f48] 2009-08-13 Timo Sirainen * src/imap/cmd-subscribe.c: tb-extra-mailbox-sep workaround works better now. Mailbox is subscribed without trailing separator. Unsubscribe tries to remove both with and without separator. [f0a45d8a7984] * src/plugins/listescape/listescape-plugin.c: listescape: Don't escape characters in namespace prefixes. [544a4627c81a] * src/lib/Makefile.am, src/lib/test-istream-tee.c, src/lib/test-lib.c, src/lib/test-lib.h: Added unit test for istream-tee. [57ae66e0fd38] * src/lib/Makefile.am, src/lib/test-istream-crlf.c, src/lib/test- istream.c, src/lib/test-lib.c, src/lib/test-lib.h: Renamed test-istream.c to test-istream-crlf.c [bba7c46359ac] * src/lib-index/mail-index-transaction-view.c: Transaction view: Don't assert-crash if record size grows during transaction. [3296870a8510] * dovecot-master-example.conf, src/master/service.c: master: Allow inet_listener address to specify multiple addresses. [252bb3d23fb9] * src/lib-master/master-interface.h, src/login-common/client-common- auth.c, src/login-common/client-common.c, src/login-common/client- common.h: *-login: Allow auth input to be larger than the rest of the input. [e4235adb3044] * src/imap-login/client.c, src/login-common/client-common-auth.c, src /login-common/client-common.c, src/login-common/client-common.h, src/pop3-login/client.c: *-login: Allow backend to parse SASL responses from client (for managesieve). [19912e4a2fb3] * src/lmtp/commands.c: lmtp: Use new mail block sizes. [8a6d1d2db78c] * src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox /dbox-file.c, src/lib-storage/index/index-mail.c, src/lib- storage/index/index-mail.h, src/lib-storage/index/maildir/maildir- mail.c, src/lib-storage/index/mbox/mbox-file.c, src/lib- storage/index/raw/raw-storage.c, src/lib-storage/mail-storage- private.h: Use separate read block sizes when reading only message header vs. full message. [72b79f58ce1b] * src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox /dbox-file.c, src/lib-storage/index/maildir/maildir-mail.c, src/lib- storage/index/mbox/mbox-file.c, src/lib-storage/index/raw/raw- storage.c: lib-storage: Actually use MAIL_READ_BLOCK_SIZE sized blocks when reading mails. [3bbad277bef0] * src/lib/istream-internal.h, src/lib/istream.c, src/lib/istream.h: Added i_stream_set_init_buffer_size(). [85abd99007c3] 2009-08-12 Timo Sirainen * src/login-common/login-proxy-state.c, src/login-common/login-proxy- state.h: login proxy: And added new files missing from previous commit. [e27785694615] * src/login-common/client-common-auth.c: login proxy: Changed "unavailable" error message. [a260d5ac01bf] * src/login-common/Makefile.am, src/login-common/login-proxy.c, src /login-common/login-proxy.h, src/login-common/main.c: login-proxy: If proxy destination is known to be down, fail immediately. We'll use simple rules: 1. If connection to destination server failed more recently than it succeeded AND there is currently at least one client trying to connect to it, fail immediately without even trying to connect. 2. Whenever a connection to destination server fails because of timeout or some connect failure AND last successful connection to server was before our connect() started, update the "last failed" timestamp. With these rules there are no unnecessary connect() attempts or waits to servers that are down. When the server does come back up, it's noticed immediately. [da0a48b243a2] * src/login-common/client-common-auth.c, src/login-common/client- common.h, src/login-common/login-proxy.c, src/login-common/login- proxy.h: login proxy: Added client_proxy passdb extra field to specify proxy's connect timeout. [8e099a00f8a9] * src/lib/Makefile.am, src/lib/test-lib.c, src/lib/test-lib.h, src/lib /test-time-util.c: Added unit tests for timeval_*(). [1bcd692d6312] * src/lib/time-util.c: timeval_diff_*() fixes. [6ff08c7c9f03] * src/plugins/fts-squat/squat-test.c, src/plugins/fts/fts-storage.c: Use timeval_diff_*() more. [306e450a3515] * src/imap/imap-search.c, src/lib-storage/index/index-search.c, src /lib-storage/index/maildir/maildir-filename.c, src/lib/Makefile.am, src/lib/ioloop.c, src/lib/time-util.c, src/lib/time-util.h, src/plugins/fts-squat/squat-test.c: Moved all struct timeval comparing/calculation code to lib/time- util. [8716936443db] * src/login-common/ssl-proxy-openssl.c: Fixed openssl malloc() failure check. [78a47e564e90] * src/imap-login/client.c, src/login-common/client-common-auth.c, src /login-common/client-common.c, src/login-common/client-common.h, src/pop3-login/client.c: *-login: Abstract out SASL continue reply sending (for managesieve). [50df3e60ab85] 2009-08-11 Timo Sirainen * src/lib/ostream-buffer.c: ostream-buffer: Don't grow buffer above max_buffer_size. [7c0b29275651] * src/imap-login/client.c, src/login-common/client-common.c, src/pop3-login/client.c: *-login: Call client_vfuncs.destroy() on client_destroy(), not on unref. [935b9cfc1905] * src/lib-storage/index/dbox/dbox-map.c, src/lib/ostream-internal.h: Compiler warning fixes. [e5e74a4f07e9] * src/lib-mail/test-message-header-parser.c: test-message-header-parser: Removed accidentally committed debug code. [4168fd6a6a33] 2009-08-09 Timo Sirainen * README, src/lib-imap/imap-resp-code.h: draft-gulbrandsen-imap-response-codes became RFC 5530. [70dab9dedda0] 2009-08-10 Timo Sirainen * src/lib-storage/index/maildir/maildir-save.c: maildir: Another fix to handling saves/UID changes. [299b55312e1c] * src/lib-storage/index/istream-mail-stats.c: istream-mail-stats: Don't double-reference parent stream. [815a76964e87] * src/dsync/dsync-brain.c: dsync: Minor verbose logging improvements. [ab4e247d326d] * src/lib-storage/index/maildir/maildir-save.c: maildir: Don't assert-crash if we're changing UIDs without saving mails. [f36fbaeddbf8] 2009-08-09 Timo Sirainen * src/imap-login/client-authenticate.c, src/login-common/client- common-auth.c, src/pop3-login/client-authenticate.c: *-login: Moved ssl=required checking to login-common. [1c01e6bf1090] * src/imap-login/client-authenticate.c, src/imap-login/client- authenticate.h, src/imap-login/client.c, src/imap-login/client.h, src/imap-login/imap-proxy.c, src/imap-login/imap-proxy.h, src/login- common/Makefile.am, src/login-common/client-common-auth.c, src /login-common/client-common.c, src/login-common/client-common.h, src /login-common/common.h, src/login-common/login-proxy.c, src/login- common/login-proxy.h, src/login-common/main.c, src/login-common /sasl-server.c, src/login-common/ssl-proxy-openssl.c, src/login- common/ssl-proxy.c, src/login-common/ssl-proxy.h, src/pop3-login /client-authenticate.c, src/pop3-login/client-authenticate.h, src/pop3-login/client.c, src/pop3-login/client.h, src/pop3-login/pop3-proxy.c, src/pop3-login/pop3-proxy.h: *-login: Moved most of the common code to login-common. [e30495ae11de] * src/lib-storage/mail-storage.c: lib-storage: Don't crash if trying to use unknown storage class. [c2037505a66b] * src/imap-login/client-authenticate.c, src/imap-login/client- authenticate.h, src/imap-login/client.c, src/imap-login/client.h, src/imap-login/imap-proxy.c, src/login-common/client-common.h, src/pop3-login/client-authenticate.c, src/pop3-login/client.c, src/pop3-login/client.h, src/pop3-login/pop3-proxy.c: *-login: Use a common client_send_line() API. [b9ad5b841f7e] * src/imap-login/client-authenticate.c, src/login-common/sasl- server.c, src/login-common/sasl-server.h, src/pop3-login/client- authenticate.c: *-login: Moved common code to sasl_server_get_advertised_mechs(). [fc025d93b274] * src/lib-storage/mailbox-list.c: Don't crash when listing shared namespace prefix. [e616c3d00c2c] * src/plugins/autocreate/autocreate-plugin.c: autocreate: Fixed autosubscribing to mailboxes in subscriptions=no namespaces. Also log autosubscribe failures if mail_debug=yes. [e90fd94136d0] 2009-08-07 Timo Sirainen * src/lib-storage/index/index-thread.c: IMAP: Fixed THREAD .. INTHREAD crashing. Also cleaned up the code a bit. [9ae6f4e875ca] * configure.in, src/plugins/quota/quota-fs.c: configure: Removed --with-linux-quota parameter. It was useful only in some broken setups and even there it can be specified with CPPFLAGS instead. [ea5d2bd9deb9] * src/lib-storage/index/maildir/maildir-uidlist.c: dbox: Don't crash when trying to update migrated maildir's uidlist. Normally this shouldn't happen though. [c06b7c5f2c8c] * src/plugins/quota/Makefile.am: quota: Don't link rpcsvc library. It shouldn't be necessary since we generate our own rquota_xdr.c [de0bd8eeaad9] * configure.in: configure: Allow --with-linux-quota=n to be only 1 or 2. [48324f717aca] * src/lib-storage/index/index-sort-string.c: sort: Don't assert-crash if sort indexes are broken. [b7c589751c5b] * src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts/fts-api- private.h, src/plugins/fts/fts-storage.c: fts: Fixed crashing with Squat. A better solution would be for Squat to use existing mailboxes' Squat indexes, but for now this isn't done. [c16ee25ec37b] * src/plugins/virtual/virtual-storage.c: virtual: If opening backend mailbox fails, show the maibox name. [2d2911c23232] * src/auth/db-ldap.c: ldap: Fixed hang when >128 requests were sent at once. Based on patch by Marek Miska. [c5cdc49d5138] * src/lib-storage/mailbox-list.c: lib-storage: Disallow control characters in mailbox names when creating them. [60b76a35bb2c] * src/login-common/ssl-proxy-openssl.c: *-login: If OpenSSL fails with malloc failure, log an error. [2e725e1aaac6] * src/lib-storage/index/maildir/maildir-save.c: maildir+deliver: Add all existing messages to uidlist if it doesn't exist yet. [f108a865dbca] * src/master/ssl-init.c: Compiler warning fix when building without SSL. [95ea01bb65f5] 2009-08-06 Timo Sirainen * src/lib-storage/index/index-mail-headers.c, src/lib-storage/index /index-mail.h: index-mail: Expose tee_stream so plugins can read the stream too while mail is being read. [80c0e8bd1e47] 2009-08-05 Timo Sirainen * src/dsync/dsync-brain-msgs-new.c, src/dsync/dsync-brain-msgs.c, src/dsync/dsync-brain-private.h, src/dsync/dsync-brain.c, src/dsync /dsync-brain.h, src/dsync/dsync-data.c, src/dsync/dsync-data.h, src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.c, src/dsync/dsync-proxy-server.h, src/dsync/dsync-proxy.c, src/dsync/dsync-proxy.h, src/dsync/dsync- worker-local.c, src/dsync/dsync-worker-private.h, src/dsync/dsync- worker.c, src/dsync/dsync-worker.h, src/dsync/dsync.c, src/dsync /test-dsync-brain-msgs.c, src/dsync/test-dsync-brain.c, src/dsync /test-dsync-common.c, src/dsync/test-dsync-proxy-server-cmd.c, src/dsync/test-dsync-proxy.c, src/dsync/test-dsync-worker.c, src/dsync/test-dsync-worker.h: dsync: Lots of updates and fixes. [d9a96da46d4a] * src/util/Makefile.am, src/util/mailboxlogview.c: Added mailboxlogview utility for viewing mailbox logs. [d354dc450c63] * src/util/logview.c: logview: UID updates increase modseq. [1c0132ccb0be] * src/lib-storage/index/maildir/maildir-storage.c, src/lib-storage /mailbox-list-private.h, src/lib-storage/mailbox-list.c, src/lib- storage/mailbox-list.h: lib-storage: Fill mailbox log with mailbox delete/rename/(un)subscribes. [fd534ee2c08e] * src/lib-index/Makefile.am, src/lib-index/mailbox-log.c, src/lib- index/mailbox-log.h: lib-index: Added mailbox transaction log. It's a much simplified version of mail transaction log. [d21f2f0b1e11] * src/lib/ioloop-poll.c: ioloop poll: Added assert to catch double-io_add()s. [111812403bea] * src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/cydir/cydir-storage.h, src/lib-storage/index/dbox /dbox-storage.c, src/lib-storage/index/dbox/dbox-storage.h, src/lib- storage/index/maildir/maildir-storage.c, src/lib- storage/index/maildir/maildir-storage.h, src/lib-storage/mailbox- list.c, src/lib-storage/mailbox-list.h: Added mailbox_list_get_guid() to get/create directory GUID. Directory GUIDs are mainly useful for dsync to identify \Noselect mailboxes. [73daab8251eb] * src/lib-storage/index/maildir/maildir-mail.c, src/lib- storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir /maildir-storage.h: maildir: mail_update_uid() now updates uidlist also. [7315aa70dfcf] * src/lib-storage/index/maildir/maildir-save.c: Maildir: Allow specifying recent flags for saved messages. [64ab55223d69] * src/lib-storage/index/index-mail.c: mail_update_flags(): Allow removing recent flag from message. [b7af600f0c62] * src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/index- storage.c, src/lib-storage/index/index-storage.h, src/lib- storage/index/maildir/maildir-storage.c: mailbox_update(): Update index also. [dd4c5e43c55a] * src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index- transaction-finish.c, src/lib-index/mail-index-transaction- private.h, src/lib-index/mail-index-transaction-update.c, src/lib- index/mail-index.h, src/lib-index/test-mail-index-transaction- finish.c: lib-index: Added mail_index_update_highest_modseq(). [1411f157ffdd] * src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index- transaction-export.c, src/lib-index/mail-index-transaction-update.c, src/lib-index/mail-index-transaction.c, src/lib-index/mail- transaction-log-file.c: lib-index: Fixes to handling UID changes. [773b91d3ed13] 2009-08-04 Timo Sirainen * src/login-common/ssl-proxy-openssl.c: ssl_username_from_cert=yes: Don't truncate username, don't allow NULs in it. [89a3b2d09a26] * src/imap/cmd-delete.c, src/imap/imap-commands-util.c: imap: Fixed tb-extra-mailbox-sep workeround. [497b2f2bd175] 2009-08-03 Timo Sirainen * src/lib-storage/index/index-mail.h, src/lib-storage/index/maildir /maildir-mail.c, src/lib-storage/mail-storage.c: lib-storage: Use less memory from data stack. [51d280d34bfa] * src/lib-storage/index/maildir/maildir-save.c: maildir: If saving fails, revert also changes to indexes. Fixes a crash in that situation. [5f2bcf817c94] * src/lib-index/mail-index-transaction-update.c: mail_index_expunge: Drop also modseq updates when expunging a newly appended record. [810a70b696fc] * src/dsync/Makefile.am, src/lib-imap/Makefile.am, src/lib- index/Makefile.am, src/lib-mail/Makefile.am, src/lib- storage/index/Makefile.am, src/lib/Makefile.am: Makefiles: Changed check-test to depend on all-am to fix build dependency problems. [1d3fbe678158] * src/Makefile.am: Removed unused "make test" handling. [bfa65235e772] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Don't recreate dovecot-uidlist all the time. [d7e915fc741c] * src/plugins/listescape/listescape-plugin.c: listescape: Fixed problems with handling mailbox listing. [ddc3593a2091] * src/lib-storage/list/mailbox-list-maildir.c: maildir++: When renaming child mailboxes, don't check for ACLs. If we had access to rename the root, we must rename the children as well since that's what IMAP expects. [3876c3818628] 2009-08-02 Timo Sirainen * src/imap/cmd-append.c, src/imap/cmd-copy.c, src/imap/cmd-create.c, src/imap/cmd-delete.c, src/imap/cmd-list.c, src/imap/cmd-rename.c, src/imap/cmd-select.c, src/imap/cmd-status.c, src/imap/cmd- subscribe.c, src/imap/imap-commands-util.c, src/imap/imap-commands- util.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib- storage/list/mailbox-list-maildir.c, src/lib-storage/mail- namespace.c, src/lib-storage/mailbox-list.c, src/lib-storage /mailbox-list.h, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins /imap-quota/imap-quota-plugin.c: Allow namespace prefix to be opened as mailbox, if it already exists. [1ba2a0637719] * src/lib/env-util.c, src/lib/env-util.h, src/lib/lib.c: lib_deinit() now frees memory used by env_put(). [d48c8c0c1d29] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Don't access uninitialized variables. [140558f1987a] 2009-07-31 Timo Sirainen * src/lib-storage/index/dbox/dbox-storage.c, src/lib- storage/index/dbox/dbox-sync-rebuild.c, src/lib- storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox /mbox-sync.c, src/lib-storage/mail-storage-private.h, src/lib- storage/mail-storage.c: Removed mailbox_guid_is_empty(), use mail_guid_128_is_empty() directly instead. [8da945eb4176] * dovecot-example.conf: dovecot-example.conf: Fixed !include examples. [ad2852741fce] 2009-07-30 Timo Sirainen * src/lib-storage/index/cydir/Makefile.am, src/lib-storage/index/cydir /cydir-save.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/cydir/cydir-storage.h, src/lib-storage/index/cydir /cydir-transaction.c, src/lib-storage/index/dbox/Makefile.am, src /lib-storage/index/dbox/dbox-save.c, src/lib-storage/index/dbox /dbox-storage.c, src/lib-storage/index/dbox/dbox-storage.h, src/lib- storage/index/dbox/dbox-transaction.c, src/lib-storage/index/index- storage.h, src/lib-storage/index/index-transaction.c, src/lib- storage/index/maildir/Makefile.am, src/lib-storage/index/maildir /maildir-copy.c, src/lib-storage/index/maildir/maildir-save.c, src /lib-storage/index/maildir/maildir-storage.c, src/lib- storage/index/maildir/maildir-storage.h, src/lib- storage/index/maildir/maildir-transaction.c, src/lib- storage/index/mbox/Makefile.am, src/lib-storage/index/mbox/mbox- save.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib- storage/index/mbox/mbox-storage.h, src/lib-storage/index/mbox/mbox- transaction.c, src/lib-storage/index/raw/Makefile.am, src/lib- storage/index/raw/raw-storage.c, src/lib-storage/index/raw/raw- storage.h, src/lib-storage/index/raw/raw-transaction.c, src/lib- storage/index/shared/shared-storage.c, src/lib-storage/mail-storage- private.h, src/lib-storage/mail-storage.c, src/lib-storage/test- mail-storage.c, src/plugins/virtual/virtual-save.c, src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual- storage.h, src/plugins/virtual/virtual-transaction.c, src/plugins/virtual/virtual-transaction.h: index-storage: Simplified the way transactions are are created/finished. Removed also mail_storage.class_init/deinit since they're no longer used for anything. [ef135231b675] * src/plugins/virtual/virtual-storage.c: virtual: Fixed to work again without crashing after several API changes. [20934905ccdc] * src/imap/cmd-append.c, src/imap/cmd-copy.c: imap: Support UID-less saves/copies after all. Virtual backend can't return them. [fb8f0a3d51dc] * src/lib-index/mail-transaction-log.c: index: Fix to previous cleanups. [497b17e8bb91] * src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index/dbox /dbox-save.c, src/lib-storage/index/index-mail.c, src/lib- storage/index/index-search.c, src/lib-storage/index/index-storage.h, src/lib-storage/index/index-transaction.c, src/lib- storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir /maildir-save.c, src/lib-storage/index/mbox/mbox-save.c, src/lib- storage/index/mbox/mbox-transaction.c: index-storage: Code cleanups. [f704410ce580] * src/lib-storage/index/index-storage.c, src/lib-storage/index/index- storage.h, src/lib-storage/index/index-transaction.c, src/lib- storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/mbox/mbox-sync-private.h, src/lib-storage/index/mbox /mbox-sync.c: mbox: Removed unused MBOX_SYNC_LAST_COMMIT and related code. [1b537cceb640] * src/lib-storage/index/index-mail.c, src/lib-storage/index/index- storage.c, src/lib-storage/index/index-storage.h, src/lib- storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox/mbox- save.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib- storage/index/mbox/mbox-storage.h, src/lib-storage/index/mbox/mbox- sync-parse.c, src/lib-storage/index/mbox/mbox-sync.c: index-storage: Moved mail MD5 calculation code to mbox-specific code. Nothing else used it. [9f1616eeffb8] * src/lib-storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox /dbox-sync.c, src/lib-storage/index/index-storage.c, src/lib- storage/index/index-storage.h, src/lib-storage/index/index-sync.c, src/lib-storage/index/maildir/maildir-save.c, src/lib- storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/maildir/maildir-sync.c, src/lib-storage/index/mbox /mbox-file.c, src/lib-storage/index/mbox/mbox-sync-private.h, src /lib-storage/index/mbox/mbox-sync-update.c, src/lib- storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw/raw- sync.c, src/plugins/virtual/virtual-sync.c: index-storage: Code cleanup. [fa5e27725f6b] * src/lib-storage/index/dbox/dbox-storage.c, src/lib-storage/index /index-storage.c, src/lib-storage/index/index-storage.h: index-storage: Code cleanup. [ac98c24da6ee] * src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index/dbox /dbox-save.c, src/lib-storage/index/index-storage.h, src/lib- storage/index/index-transaction.c, src/lib-storage/index/maildir /maildir-copy.c, src/lib-storage/index/maildir/maildir-save.c, src /lib-storage/index/mbox/mbox-save.c: Removed duplicated flags from struct index_transaction_context. [f123bb8afd1c] * src/lib-index/mail-index.c: mail_index_chown(): Check for fchown() failing with EPERM, not EACCES. [37bdd5ce828f] * src/lib-index/mail-transaction-log-file.c, src/lib-index/mail- transaction-log-private.h, src/lib-index/mail-transaction-log.c: index: Code cleanups. [6e4b79ca75cc] * src/lib-index/mail-cache-compress.c, src/lib-index/mail-cache-sync- update.c, src/lib-index/mail-cache-transaction.c, src/lib-index /mail-cache.c, src/lib-index/mail-index-lock.c, src/lib-index/mail- index-map-read.c, src/lib-index/mail-index-private.h, src/lib-index /mail-index-strmap.c, src/lib-index/mail-index-sync-update.c, src /lib-index/mail-index-write.c, src/lib-index/mail-index.c, src/lib- index/mail-transaction-log-append.c, src/lib-index/mail-transaction- log-file.c, src/lib-index/mail-transaction-log-private.h, src/lib- index/mail-transaction-log.c, src/lib-index/mailbox-list-index- sync.c, src/lib-index/mailbox-list-index.c: index: Removed duplication of mail_index_open_flags from struct mail_index. [126132cb1c19] * src/lib/file-set-size.c: Handle posix_fallocate() failures correctly. Check also for AIX's "not supported" failure. Based on patch by Ralf Becker. [cff3cb25a3e9] 2009-07-29 Timo Sirainen * src/dsync/dsync-data.h, src/dsync/test-dsync-common.c, src/dsync /test-dsync-common.h, src/dsync/test-dsync-proxy-server-cmd.c, src /lib-storage/index/dbox/dbox-storage.h, src/lib- storage/index/maildir/maildir-uidlist.c, src/lib- storage/index/maildir/maildir-uidlist.h, src/lib-storage/index/mbox /mbox-storage.h, src/lib-storage/mail-storage-private.h, src/lib- storage/mail-storage.c, src/lib-storage/mail-storage.h, src/lib- storage/mail.c: Removed MAILBOX_GUID_SIZE macro, use MAIL_GUID_128_SIZE everywhere. They were required to be the same size anyway. [9e3e3166a5c9] * src/lib/file-dotlock.c: Fixed file_dotlock_open*() logging errors in some OSes. Patch by Ralf Becker. [03b52be4da81] 2009-07-28 Timo Sirainen * src/dsync/dsync-worker-local.c: dsync: Sync messages' modseqs. [535797d56631] * src/lib-index/mail-index-modseq.c, src/lib-index/mail-index- modseq.h, src/lib-index/mail-index-sync-update.c, src/lib-index /mail-index-transaction-export.c, src/lib-index/mail-index- transaction-finish.c, src/lib-index/mail-index-transaction- private.h, src/lib-index/mail-index-transaction-update.c, src/lib- index/mail-index.h, src/lib-index/mail-transaction-log-append.c, src /lib-index/mail-transaction-log-file.c, src/lib-index/mail- transaction-log-private.h, src/lib-index/mail-transaction-log- view.c, src/lib-index/mail-transaction-log.h, src/lib-index/test- mail-index-transaction-finish.c, src/lib-index/test-mail-index- transaction-update.c, src/lib-index/test-mail-transaction-log- append.c, src/lib-index/test-mail-transaction-log-view.c, src/lib- storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir- save.c, src/lib-storage/index/dbox/dbox-mail.c, src/lib- storage/index/dbox/dbox-save.c, src/lib-storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src/lib-storage/index/maildir /maildir-mail.c, src/lib-storage/index/maildir/maildir-save.c, src /lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox /mbox-save.c, src/lib-storage/index/raw/raw-mail.c, src/lib-storage /mail-storage-private.h, src/lib-storage/mail-storage.c, src/lib- storage/mail-storage.h, src/lib-storage/mail.c, src/lib-storage /test-mail.c, src/plugins/virtual/virtual-mail.c, src/plugins/virtual/virtual-save.c, src/util/logview.c: Added ability to specify message's minimum modseq value. [b09d9350a2d9] * src/lib-storage/index/mbox/mbox-save.c: mbox: Allow setting \Recent flag when also specifying message's UID. [d303e3319720] * src/lib-storage/index/maildir/maildir-save.c: mbox, maildir: Allow setting \Recent flag when also specifying message's UID. [ceb55c870ed3] * src/dsync/dsync-proxy-client.c, src/dsync/dsync-proxy.c, src/dsync /test-dsync-proxy-server-cmd.c, src/dsync/test-dsync-proxy.c: dsync: Sync also \Recent flags. [4d12ca03c4c0] 2009-07-27 Timo Sirainen * src/plugins/virtual/virtual-sync.c: virtual: Fixed to work with new mail_index_append_finish_uids() API. [ce253d167757] * src/dsync/Makefile.am, src/dsync/dsync-brain-msgs-new.c, src/dsync /dsync-brain-msgs.c, src/dsync/dsync-brain-private.h, src/dsync /dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync-data.c, src/dsync/dsync-data.h, src/dsync/dsync-proxy-client.c, src/dsync /dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.c, src/dsync /dsync-proxy-server.h, src/dsync/dsync-proxy.c, src/dsync/dsync- proxy.h, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker- private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h, src/dsync/dsync.c, src/dsync/test-dsync-brain-msgs.c, src/dsync /test-dsync-brain.c, src/dsync/test-dsync-common.c, src/dsync/test- dsync-common.h, src/dsync/test-dsync-proxy-server-cmd.c, src/dsync /test-dsync-worker.c, src/dsync/test-dsync-worker.h: dsync: Lots of improvements and fixes. Appears to be somewhat working now. [4d5cc6ce68aa] * src/lib-storage/index/maildir/maildir-save.c, src/lib- storage/index/maildir/maildir-storage.h, src/lib- storage/index/maildir/maildir-uidlist.c, src/lib- storage/index/maildir/maildir-uidlist.h: maildir: Support saving messages with specified UIDs. [be433e394f69] * src/lib-index/mail-index-transaction-update.c, src/lib-index/mail- index.h, src/lib-index/test-mail-index-transaction-update.c, src /lib-storage/index/cydir/cydir-save.c, src/lib-storage/index/dbox /dbox-map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib- storage/index/dbox/dbox-save.c, src/lib-storage/index/maildir /maildir-save.c: Changed mail_index_append_assign_uids() to mail_index_append_finish_uids() with API changes. It's now possible to call mail_index_append() with UIDs before locking mailbox and have the _finish_uids() change them if another session had already used those UIDs. [fb8bc26d7194] * src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list /mailbox-list-maildir-iter.c, src/lib-storage/mailbox-list.h: Added MAILBOX_LIST_ITER_NO_AUTO_INBOX for listing INBOX only when it already exists. [b56b06cdd1d7] * src/lib-storage/index/maildir/maildir-storage.c: maildir_list_iter_is_mailbox() should return 0 for non-existing maildirs. [80cf689acdb4] * src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index- transaction-export.c, src/lib-index/mail-index-transaction-finish.c, src/lib-index/mail-index-transaction-private.h, src/lib-index/mail- index-transaction-update.c, src/lib-index/mail-index.h, src/lib- index/mail-transaction-log.h, src/lib-index/test-mail-index- transaction-finish.c, src/lib-index/test-mail-index-transaction- update.c, src/lib-storage/index/cydir/cydir-mail.c, src/lib- storage/index/dbox/dbox-mail.c, src/lib-storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src/lib-storage/index/index- transaction.c, src/lib-storage/index/maildir/maildir-mail.c, src /lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw- mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage /mail-storage.h, src/lib-storage/mail.c, src/lib-storage/test- mail.c, src/plugins/virtual/virtual-mail.c: Added ability to change existing messages' UIDs with mail_[index_]update_uid(). [cf187692fcfe] * src/plugins/expire/expire-tool.c: expire-tool: Compiler warning fixes. [77e629913bfc] * src/auth/mech-gssapi.c: gssapi: Error handling fix. [30652466135d] * src/auth/mech-gssapi.c: gssapi: Fixed compiling for non-MIT/Heimdal GSSAPI implementations (Solaris). [e4df9322a094] * configure.in: configure: clock_gettime()'s -lrt adding dropped everything else from $LIBS. [00399010c88a] * src/config/config-parser.c, src/lib-settings/settings.c: Compiling fix for systems without GLOB_BRACE. [3771a638cadb] 2009-07-26 Timo Sirainen * src/lib-storage/index/maildir/maildir-uidlist.c: maildir uidlist: Added better next_uid error tracking. [ef1e18f24173] * src/lib-storage/index/maildir/maildir-sync-index.c: maildir: When UIDVALIDITY changes, don't reset uid_next to 1 in uidlist. [05f2da3576a4] * src/plugins/quota/quota-maildir.c: maildir++ quota: Quota was sometimes updated wrong when it was being recalculated. [3d3d090db66f] * src/lib-index/mail-cache-lookup.c: cache file: If offset isn't 32bit aligned, assume it's corrupted. [436d2bead41b] * src/auth/mech-gssapi.c: gssapi: Fail authentication if mechanism type isn't Kerberos 5. Also check GSS_KRB5_NT_PRINCIPAL_NAME more correctly. [a5d87492c083] * src/auth/mech-gssapi.c: gssapi: Don't do krb5_kuserok() to authz_name. It shouldn't be necessary. [c163bc483c9e] * configure.in, dovecot-example.conf, src/config/config-parser.c, src /lib-settings/settings.c: dovecot.conf: Added support for !include globs. Based on patch by Thomas Guthmann. [6cc6913fee1c] * src/lib/mempool-system-clean.c, src/lib/mempool-system.c: Don't include malloc.h if it doesn't have malloc_usable_size(). [462dcad58a92] * src/plugins/lazy-expunge/lazy-expunge-plugin.c: lazy-expunge: Drop \Deleted flag when moving message. [4fdc1fadb529] * src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual- storage.h, src/plugins/virtual/virtual-sync.c: virtual: If another session adds a new mailbox to index, handle it without crashing. For now we'll just disconnect the session. [1858d2fe330b] * src/plugins/virtual/virtual-storage.c: virtual: Minor code cleanup. [3816c5011c53] * src/lib-mail/Makefile.am, src/lib-mail/message-decoder.c, src/lib- mail/test-message-decoder.c: message-decoder: Fixed assert-crashes caused by the previous quoted- printable change. [4c255c7b6245] * src/auth/passdb-pam.c: pam: Fixed compiler warning with BSDs. [5decb25661bd] * src/lib-mail/Makefile.am, src/lib-mail/message-header-decode.c, src /lib-mail/quoted-printable.c, src/lib-mail/quoted-printable.h, src /lib-mail/test-quoted-printable.c: Split quoted-printable parsing to q-p body parsing and "Q" header parsing. Fixed also several other issues in quoted-printable parsing to get it fully RFC compliant. [2dce50fc0d9f] * src/imap/main.c, src/pop3/main.c: imap/pop3: Compiling fix. [1780d56a9160] * src/lib-mail/test-mbox-from.c: test-mbox-from: Compile fix. [072b005181e8] * src/lib-storage/index/maildir/maildir-storage.c: Maildir LAYOUT=fs: Default INBOX path to Maildir root. [cc8c020707c1] * src/plugins/acl/acl-backend-vfile.c: acl: Support spaces in user/group identifiers. [f29a25420a82] * src/master/service-process.c: master: Handle better chdir()ing to home dir. [dfe15bb24fdb] * configure.in: configure: Check sasl.h existence only when using --with-ldap. Patch by Pascal Volk. [dc6d35b51b68] * configure.in: configure: Use -lrt for clock_gettime() if necessary. [cef143e8719d] * configure.in: configure: Support finding PostgreSQL without pg_config after all. [5714aba539f0] 2009-07-24 Timo Sirainen * src/imap/main.c, src/pop3/main.c: If imap/pop3 service is tried to be started without being auth_dest_service, log better error. If login_executable=imap/pop3, give better error message. [ad5d34c9031d] * src/lib-storage/mail-namespace.c: mail_location setting wasn't used if namespaces weren't defined. [1644c25bfbef] * src/imap/cmd-delete.c: imap delete: Use mailbox_backends_equal() for finding if we're deleting selected mailbox. [5024551304d9] * src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h: Added mailbox_backends_equal(). [6b6d6e094674] * src/imap/cmd-append.c, src/imap/cmd-copy.c, src/lib-lda/mail- deliver.c, src/lib-storage/index/cydir/cydir-save.c, src/lib- storage/index/dbox/dbox-save.c, src/lib-storage/index/index- storage.h, src/lib-storage/index/index-transaction.c, src/lib- storage/index/maildir/maildir-save.c, src/lib-storage/index/mbox /mbox-save.c, src/lib-storage/mail-storage-private.h, src/lib- storage/mail-storage.c, src/lib-storage/mail-storage.h, src/lib- storage/test-mailbox.c, src/plugins/acl/acl-mailbox.c, src/plugins/expire/expire-plugin.c, src/plugins/fts/fts-storage.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/mail-log /mail-log-plugin.c, src/plugins/quota/quota-storage.c: mailbox_transaction_commit_get_uids() changed to _get_changes() with more generic API. Saved UIDs are no longer necessarily in a simple x:y range. [47356e8dda45] 2009-07-21 Timo Sirainen * src/lib/lib-signals.c: lib-signals: Redesigned how delayed signals are handled. Fixes signal handler hanging infinitely in write() when many signals were sent rapidly. [028878f7063a] * src/lib/utc-offset.c: utc_offset() was broken with year's first/last day if struct tm.tm_gmtoff didn't exist. [22ede7ce7be4] * src/lib-index/mail-index-transaction-view.c: Transaction view: Fixed getting extension data from messages whose flags had changed. [d1c159e447a2] 2009-07-20 Timo Sirainen * src/lib-storage/index/shared/shared-storage.c: shared mailboxes: If only %%n is specified in prefix, default to current user's domain. [ab31f0f00912] 2009-07-17 Timo Sirainen * src/dsync/dsync-brain.c, src/dsync/test-dsync-brain.c: dsync: Handle missing mail GUIDs. [16849c0931be] * src/lib-storage/mail-storage-private.h, src/lib-storage/mail- storage.h: mail_guid_128_is_empty() is now a public function. [3b285975bb15] * src/dsync/dsync-brain.c: dsync: Some fixes. [fb91695ec0bf] * src/auth/mech-gssapi.c: GSSAPI: Fixed memory leak on error conditions. [8c370896b657] * configure.in: configure: Use pg_config for figuring out PostgreSQL include/libs paths. pg_config has existsed since v7.1, so don't bother using any fallbacks. [ac52d79b7b94] 2009-07-16 Timo Sirainen * src/dsync/dsync-brain.c, src/dsync/dsync-data.h, src/dsync/test- dsync-brain.c: dsync: Skip syncing mailboxes whose uidvalidity/uidnext/highest- modseq hasn't changed. [ffda7bd92ebc] 2009-07-15 Timo Sirainen * src/dsync/dsync-brain.c, src/dsync/dsync-data.h, src/dsync/dsync- proxy.c, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker.h, src/dsync/test-dsync-brain.c, src/dsync/test-dsync-proxy.c: dsync: Use expunged messages' GUIDs to determine what to do with missing messages at end of mailbox. If GUIDs match, expunge the message. If they don't match, treat it as UID conflict. [b11a3eda2477] * src/lib/test-hex-binary.c: Added missing test-hex-binary.c from earlier commit. [c4118cfa1085] * src/lib-storage/mail-storage-private.h, src/lib-storage/mail- storage.c, src/lib-storage/mail-storage.h, src/lib-storage/mail.c: mail_generate_guid_128_hash() is now a public function. [54f84f569ca0] * src/lib-index/mail-transaction-log.c, src/lib-index/mail- transaction-log.h: Added mail_transaction_log_get_tail(). [c8be44ff1090] * src/lib/Makefile.am, src/lib/hex-binary.c, src/lib/hex-binary.h, src/lib/test-lib.c, src/lib/test-lib.h: Added binary_to_hex_append(). [7fc9e93fe745] * src/imap/imap-sync.c: IMAP: When QRESYNC is enabled, don't crash when a new mail is received while IDLEing. [4f9267f13944] * src/lib-storage/index/Makefile.am, src/lib-storage/index/test-index- fetch.c: Added unit test for mailbox_get_expunges(). [85064a01ddfd] * src/lib-storage/index/index-fetch.c: Several fixes to mailbox_get_expunges(). [ee69a1de3b30] * src/plugins/virtual/virtual-storage.c: virtual: Compiler warning fix. [bbaa7a30b6cb] * src/plugins/virtual/virtual-storage.c: virtual: Compiling fix. [d8792caeede1] * src/plugins/quota/Makefile.am: quota-fs: Building fixes. [4ea40abcc301] 2009-07-14 Timo Sirainen * src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/index- fetch.c, src/lib-storage/index/index-storage.h, src/lib- storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox /mbox-storage.c, src/lib-storage/index/raw/raw-storage.c: Renamed index_storage_get_expunged_uids to index_storage_get_expunges. [ce601bb82183] * src/lib-index/Makefile.am, src/lib-index/mail-index-transaction- finish.c, src/lib-index/mail-index-transaction-private.h, src/lib- index/mail-index-transaction-update.c, src/lib-index/test-mail- index-transaction-finish.c, src/lib-index/test-mail-index- transaction-update.c: mail index transactions: More code cleanups and unit tests. [b45be8d8b388] * src/lib-index/mail-index-transaction-finish.c: mail index transaction: Dropping duplicate expunges changed expunges' GUIDs. [e8b9f78d2b3c] 2009-07-13 Timo Sirainen * src/imap/imap-fetch.c, src/lib-index/mail-index-sync-update.c, src /lib-index/mail-index-sync.c, src/lib-index/mail-index-transaction- export.c, src/lib-index/mail-index-transaction-finish.c, src/lib- index/mail-index-transaction-private.h, src/lib-index/mail-index- transaction-update.c, src/lib-index/mail-index-transaction-view.c, src/lib-index/mail-index-transaction.c, src/lib-index/mail-index- view-sync.c, src/lib-index/mail-index.h, src/lib-index/mail- transaction-log-append.c, src/lib-index/mail-transaction-log-file.c, src/lib-index/mail-transaction-log-view.c, src/lib-index/mail- transaction-log.h, src/lib-mail/mail-types.h, src/lib- storage/index/dbox/dbox-file-fix.c, src/lib-storage/index/dbox/dbox- file.c, src/lib-storage/index/dbox/dbox-file.h, src/lib- storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox- save.c, src/lib-storage/index/dbox/dbox-storage-rebuild.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox- storage.h, src/lib-storage/index/dbox/dbox-sync-file.c, src/lib- storage/index/dbox/dbox-sync.c, src/lib-storage/index/dbox/dbox- sync.h, src/lib-storage/index/index-fetch.c, src/lib-storage/index /index-mail.c, src/lib-storage/index/index-storage.h, src/lib- storage/index/index-sync-changes.c, src/lib-storage/index/index- sync-changes.h, src/lib-storage/index/maildir/maildir-sync-index.c, src/lib-storage/index/mbox/mbox-sync.c, src/lib-storage/mail- storage-private.h, src/lib-storage/mail-storage.c, src/lib-storage /mail-storage.h, src/lib-storage/mail.c, src/lib-storage/test- mailbox.c, src/util/logview.c: Keep track of expunged messages' GUIDs and expose them via mailbox_get_expunges(). The message GUIDs are stored in expunge records to transaction log. Before doing the final expunge, Maildir and dbox verify that the GUID in expunge request matches the current actual GUID. The GUID is stored in 128 bit field. If the real GUID isn't 128 bit, the bits are taken from SHA1 of the GUID. [2558ba736207] * src/lib-index/mail-index-map.c, src/lib-index/mail-index-modseq.c, src/lib-index/mail-index-transaction-export.c, src/lib-index/mail- transaction-log-file.c, src/lib-index/mail-transaction-log- private.h, src/lib-index/mail-transaction-log-view.c, src/lib-otp /otp-parse.c, src/lib-storage/index/index-mail.c, src/lib- storage/index/maildir/maildir-save.c, src/lib/buffer.c, src/lib/buffer.h, src/lib/str.c: buffer_create_[const_]data() API change: Take buffer_t as parameter instead of allocating it. [3da42dafa798] * src/lib-index/Makefile.am, src/lib-index/mail-index-transaction- finish.c, src/lib-index/mail-index-transaction-private.h, src/lib- index/mail-index-transaction-update.c, src/lib-index/mail-index- transaction.c, src/lib-index/test-mail-index-transaction-update.c: Moved around mail-index-transaction code and added initial unit tests. [cae78e734cdb] * src/lib-index/mail-index-view-sync.c: Mail index view syncs: Simplify code for getting list of expunges. [8c17eb6c28d6] * src/lib-index/mail-cache-transaction.c, src/lib-index/mail-cache.h, src/lib-storage/index/index-transaction.c, src/lib- storage/index/maildir/maildir-save.c: More fixes to cache changes. [a0b8777ac846] * src/lib-storage/index/cydir/cydir-transaction.c, src/lib- storage/index/dbox/dbox-transaction.c, src/lib-storage/index/index- transaction.c, src/lib-storage/index/maildir/maildir-transaction.c, src/lib-storage/index/mbox/mbox-transaction.c, src/lib- storage/index/raw/raw-transaction.c: Fix to previous cache changes: Cache transaction was commited too early. [430832cf3cf0] * src/lib-index/mail-index-transaction-finish.c: Fix to previous flag update changes: Avoid crashes / infinite looping. [8bdfb66bf660] * src/lib-index/mail-index-transaction-finish.c: If all flag changes are dropped, make sure we don't write anything to transaction log. [e852cb4c5cd2] * src/lib-index/mail-index-transaction-finish.c, src/lib-index/mail- index-transaction-private.h, src/lib-index/mail-index-transaction.c: mail_index_update_flags*() now does a better job of merging flag changes together. [1f8629349b41] * src/lib-index/mail-index-transaction.c: Fixed expunging appended message that had atomic extension changes done. [2f54270904bf] * src/lib-index/mail-index.c: Previous commit accidentally removed mail_index_keywords_create(). [d670b5d66302] * src/lib-index/mail-index-transaction.c, src/lib-index/mail-index.c: Moved mail_index_keywords_*() to mail-index.c. [ed9b4bc28913] * src/lib-index/Makefile.am, src/lib-index/mail-index-private.h, src /lib-index/mail-index-transaction-private.h, src/lib-index/mail- index-transaction.c, src/lib-index/mail-index-util.c, src/lib-index /mail-index-util.h: Moved mail_index_seq_array_*() to mail-index-util.c and added its own .h file. [2cab7f501986] * src/lib-index/mail-cache-transaction.c, src/lib-index/mail-index- transaction-private.h, src/lib-index/mail-index-transaction.c: Isolated all cache transaction handling code to a single file. [546adc9dd14b] 2009-07-27 Timo Sirainen * src/imap/imap-fetch.c: IMAP: FETCH X-* parameters weren't working. [cf930dc6a7fe] 2009-07-10 Timo Sirainen * src/imap/imap-commands.c, src/imap/imap-fetch.c, src/lib-index/mail- index-strmap.c, src/lib-index/mailbox-list-index-sync.c, src/lib- mail/istream-header-filter.c, src/lib-storage/index/dbox/dbox- storage-rebuild.c, src/lib-storage/index/index-thread.c, src/lib- storage/index/maildir/maildir-uidlist.c, src/plugins/acl/acl- backend-vfile.c, src/plugins/fts/fts-storage.c, src/plugins/virtual /virtual-storage.c, src/plugins/virtual/virtual-sync.c: Use array_bsearch*(). [d404d34097f2] * src/lib/bsearch-insert-pos.c, src/lib/bsearch-insert-pos.h: Added type safe array_bsearch_insert_pos(). [5ab09480d6b4] * src/lib/array.c, src/lib/array.h: Added type safe array_bsearch(). [55690917fefb] * src/plugins/expire/expire-env.c: expire: Log configuration at startup if mail_debug=yes. [26ff48e47764] * src/plugins/quota/Makefile.am: quota: Fixed compiling with older automakes. [e96ea07f1437] 2009-07-09 Timo Sirainen * src/plugins/convert/convert-storage.c: convert plugin: Fixed changing hierarchy separators in mailbox names when alt_hierarchy_char isn't set. [c0914a6a2e36] * src/imap-login/client-authenticate.c, src/imap-login/client.c, src /login-common/sasl-server.c, src/login-common/sasl-server.h, src/pop3-login/client-authenticate.c, src/pop3-login/client.c: login processes: Auth code cleanups. Custom IMAP auth errors now have [ALERT] prefix. This should make them visible in more clients. [caea6aaadde4] * src/lib-storage/index/maildir/maildir-copy.c, src/lib- storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir /maildir-storage.h, src/lib-storage/index/maildir/maildir-sync- index.c, src/lib-storage/index/maildir/maildir-sync.c, src/lib- storage/index/maildir/maildir-sync.h: maildir: Cleaned up save/copy code. [489727453d1c] * src/plugins/acl/acl-backend-vfile-acllist.c: acl: Fixed previous mbox fix. [069679de3005] * src/master/service-process.c: master: Fail service if home directory path is relative. [155a5ddb26f3] * src/lib-storage/index/maildir/maildir-copy.c, src/lib- storage/index/maildir/maildir-save.c: Reverted changes committed accidentally in previous commit. [a032deb40060] * src/lib-storage/index/maildir/maildir-copy.c, src/lib- storage/index/maildir/maildir-save.c, src/master/service-process.c: master: A bit more logging improvements for bad UID/GID. [444ce507a5ea] * src/master/service-process.c: master: Give better error messages if UNIX uid/gid is too high/low. [771097ddce48] 2009-07-08 Timo Sirainen * src/lib-storage/index/maildir/maildir-copy.c, src/lib- storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir /maildir-storage.h: maildir: Small code cleanup. [d5637a78d263] * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-file.h, src/lib-storage/index/dbox/dbox-save.c, src/lib- storage/index/dbox/dbox-storage-rebuild.c: dbox: Allow any kind of non-128bit GUIDs. For those store their hash to index instead. [d4c1a2941c43] * src/lib-storage/index/maildir/maildir-save.c: maildir: Error message fix. [49bf801bf840] * src/dsync/test-dsync-brain.c: dsync: Improved brain unit test. [7de1407b4229] * src/dsync/dsync-brain.c, src/dsync/test-dsync-brain.c: dsync: Fixed uid conflict handling. [7b0bcf423fca] * src/plugins/quota/Makefile.am: quota-fs: Another compiling fix (for older autotools?) [2cd15c71923d] * src/lib/ioloop-notify-inotify.c: inotify: Give a better error message if user's watch limit exceeds. [556855724e6e] * src/lib/eacces-error.c: eacces_error_get*(): Show current directory if path is relative. [f564209e9396] 2009-07-07 Timo Sirainen * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Added some checks for UIDs reaching 2^31-1. Saving messages when it's reached will be handled by assert-crash for now. [a1dfbec72a6f] * src/plugins/expire/expire-plugin.c: expire plugin: If mail_debug=yes, log more debug information. [3788f3b0f9b2] * src/plugins/expire/expire-plugin.c: expire plugin: If a transaction expunges all messages and saves a new one, don't delete expire row. [aa6f96938626] * src/plugins/acl/acl-backend-vfile.c: acl: dovecot-acl file caching fixes. [b64aa73a34dc] * src/plugins/acl/acl-backend-vfile-acllist.c: acl+mbox: Create also temp acllist file to control directory. [fd83d1f43ce5] * src/lib/safe-mkstemp.c: safe_mkstemp*(): Truncate prefix to original length if creation failed. [3f32abc198d6] * src/plugins/acl/acl-backend-vfile-acllist.c: acl+mbox: Create dovecot-acl-list to control dir. [ad43ac627724] * src/lib-storage/list/subscription-file.c, src/lib-storage/mailbox- list.c, src/lib-storage/mailbox-list.h: Added mailbox_list_create_parent_dir() and used it when creating subscriptions file. [9ced768849e8] * src/lib-storage/index/index-storage.c: Compiling fix. [7a1da6de3cd8] * src/lib-storage/index/maildir/maildir-sync.c: OSX+Maildir: Also don't log an error if readdir() fails with EINVAL. [41cebb4a3b0d] * src/lib-storage/index/maildir/maildir-sync.c: OSX+Maildir: If readdir() fails with EINVAL after doing rename()s, retry. Fixes HFS+. Based on patch by Apple. [b6fcd9966727] * src/auth/mech-gssapi.c: gssapi: Code cleanup. [44c2ba2ea75d] * src/auth/mech-gssapi.c: gssapi: Use *userok() functions only when authz_name != authn_name. Some more code cleanups. [43466b5b6869] * autogen.sh: autogen.sh: Look up config.rpath also from /usr/local/shared/gettext/. [38add5a084db] * src/auth/mech-gssapi.c: gssapi: Set username via auth_request_set_username(). This makes GSSAPI also use auth_username_* settings. Also improved logging. [ca48bc74f6bd] * src/auth/mech-gssapi.c: gssapi: Code cleanups. Logging error level changes. [07c4ddae1d47] * src/lib-storage/mailbox-list.c: mail_location: Added support back for ~user/ expansion in paths. [520e408a4f6a] * src/plugins/quota/Makefile.am: quota-fs: Fixed previous "VPATH build" commit to work with all shells. [5d5cb8159954] * src/lib-storage/index/mbox/mbox-sync.c: mbox: Don't use UIDVALIDITY 1 for all new mailboxes. [d74d50dceeda] * src/plugins/quota/quota-fs.c: quota-fs: Default to user quota with NFS, not group quota. [7853731cb1c4] 2009-07-07 Matthias Andree * src/plugins/quota/Makefile.am: Fix VPATH build of RQUOTA support. Some rpcgen derive #include "..." paths from the infile argument. This will be off for VPATH builds, as the generated rquota_xdr.c code will look in $(srcdir), but we'll generate the rquota.h file in $(builddir). Play safe and copy rquota.x to $(builddir) first. This fixes the build on openSUSE 11.1. [4aa97c04682d] 2009-07-07 Timo Sirainen * src/imap/imap-fetch-body.c, src/plugins/convert/convert-storage.c, src/plugins/mail-log/mail-log-plugin.c: Use mailbox_get_vname() to improve logging. [d4bce0753105] * src/plugins/expire/expire-plugin.c: expire code cleanup: Use mailbox_get_vname(). [2c90d6cf8b09] * src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c: quota: Rules use virtual mailbox names now (as they always should have). [eda6f7c67058] * src/lib-storage/index/index-storage.c, src/lib-storage/mail-storage- private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail- storage.h: lib-storage: Added mailbox_get_vname(). [279af9682cd6] * src/plugins/expire/expire-env.c, src/plugins/expire/expire-env.h, src/plugins/expire/expire-plugin.c, src/plugins/expire/expire- tool.c: expire: Support per-user expire configuration. [1cf278c2fd63] * src/auth/auth-request-handler.c: auth: Ignore empty initial response strings. [90f8e2d091b5] * src/pop3-login/client-authenticate.c: pop3: Fixed AUTH PLAIN command when SASL initial response wasn't specified. [df84d8a0efbf] * src/lib/file-dotlock.c: file_dotlock_open_*() shouldn't try to fchmod() with no uid/gid change. Patch by Ralf Becker. [77b6f05df645] 2009-06-29 Timo Sirainen * .hgignore, TODO, configure.in, src/Makefile.am, src/dsync/Makefile.am, src/dsync/dsync-brain-private.h, src/dsync /dsync-brain.c, src/dsync/dsync-brain.h, src/dsync/dsync-data.c, src/dsync/dsync-data.h, src/dsync/dsync-proxy-client.c, src/dsync /dsync-proxy-server-cmd.c, src/dsync/dsync-proxy-server.c, src/dsync /dsync-proxy-server.h, src/dsync/dsync-proxy.c, src/dsync/dsync- proxy.h, src/dsync/dsync-worker-local.c, src/dsync/dsync-worker- private.h, src/dsync/dsync-worker.c, src/dsync/dsync-worker.h, src/dsync/dsync.c, src/dsync/test-dsync-brain.c, src/dsync/test- dsync-common.c, src/dsync/test-dsync-common.h, src/dsync/test-dsync- proxy-server-cmd.c, src/dsync/test-dsync-proxy.c, src/dsync/test- dsync-worker.c, src/dsync/test-dsync-worker.h: dsync: Initial implementation. [34eef8a2716b] * src/lib/Makefile.am, src/lib/ostream-buffer.c, src/lib/ostream.h: Added o_stream_create_buffer() for having output stream write to a buffer. [320d2164bc17] * src/lib/ostream-file.c, src/lib/ostream-internal.h, src/lib/ostream.c: ostreams: Moved generic o_stream_send_istream() implementation to ostream.c. [e41c648a2f4c] * src/lib-test/test-common.c: unit testing: If a warning or error is logged during unit test, fail it. [bf96497404f5] * src/lib-test/test-common.c, src/lib-test/test-common.h: unit testing: Added support for doing test_init/run/deinit in separate functions. [ff4e33e22764] * src/lib-storage/index/dbox/dbox-save.c, src/lib-storage/index/index- storage.c, src/lib-storage/index/maildir/maildir-save.c, src/lib- storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src /lib-storage/mail-storage.h: Mailbox saving: Allow setting IMAP UID, POP3 UIDL and save date. Most of them aren't yet implemented by backends. [49f736dce881] * src/lib-storage/index/dbox/dbox-storage.c: dbox: Fixed setting mailbox GUID. [be220a26fc5e] * src/lib-storage/index/maildir/maildir-save.c: maildir: Code cleanups. [bb260536bdb5] * configure.in: Fixed building LDAP support as plugin. Patch by Paul Howarth. [49a1e47cb037] 2009-06-27 Timo Sirainen * src/plugins/virtual/virtual-sync.c: virtual: Fixed inifinite looping. [986f8270a226] * src/plugins/acl/acl-mailbox.c: acl: When creating a new child mailbox, copy parent's ACLs to it. [43254b30c17f] * src/lib-storage/mail-storage.c: Fixed shared namespace initialization. [ac0a9729fe3c] * src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c: zlib: Fixed error handling. [d2b2742dea75] * src/lib-dict/dict-sql-settings.c: dict sql: If pattern, table or value_field is unset, fail early with an error. [913f8a4bb043] * src/dict/Makefile.am, src/dict/dict-connection.c, src/dict/dict- settings.c, src/dict/dict-settings.h, src/lib-dict/Makefile.am, src /lib-dict/dict-client.c, src/lib-dict/dict-client.h, src/lib-dict /dict-db.c, src/lib-dict/dict-file.c, src/lib-dict/dict-private.h, src/lib-dict/dict-sql.c, src/lib-dict/dict.c, src/lib-dict/dict.h, src/plugins/acl/acl-lookup-dict.c, src/plugins/expire/expire- plugin.c, src/plugins/expire/expire-tool.c, src/plugins/quota/quota- dict.c: dict proxy: Use base_dir as the default dict-server location. [ee99bb70b05f] * src/lib-storage/index/index-sort-string.c: Mail sorting: Fixed potential excessive memory usage. [3f4ae64b27ac] * src/plugins/virtual/virtual-save.c: virtual: Fixed previous change. [8f74a0f149ad] * configure.in: configure --with-storages: Drop duplicate storages. [6350d105c34e] * src/plugins/virtual/virtual-save.c: virtual: Fixed saving messages with keywords. [56dc85882e9e] * src/lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c, src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib/istream- concat.c, src/lib/istream-crlf.c, src/lib/istream-data.c, src/lib /istream-file.c, src/lib/istream-limit.c, src/lib/istream-mmap.c, src/lib/istream-seekable.c, src/lib/istream.h, src/lib/ostream- file.c, src/plugins/zlib/istream-zlib.c: Added struct istream.readable_fd, which is used to determine if sendfile() can be used. [622509c562e8] * src/lib-mail/test-istream-dot.c: istream dot unit test fixes. [7e4fe0c07661] 2009-06-28 Daniel Mierswa * configure.in: Added --without-libcap configure option. [b20513ab8f5a] 2009-06-27 Timo Sirainen * src/lda/main.c, src/lib-index/mail-index-private.h, src/lib-index /mail-index-strmap.c, src/lib-index/mail-index.c, src/lib-index /mail-index.h, src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox/dbox- map.c, src/lib-storage/index/dbox/dbox-storage.c, src/lib- storage/index/dbox/dbox-storage.h, src/lib-storage/index/index- storage.c, src/lib-storage/index/maildir/maildir-keywords.c, src /lib-storage/index/maildir/maildir-save.c, src/lib- storage/index/maildir/maildir-storage.c, src/lib- storage/index/maildir/maildir-uidlist.c, src/lib- storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox /mbox-storage.c, src/lib-storage/list/mailbox-list-fs.c, src/lib- storage/list/subscription-file.c, src/lib-storage/mail-storage- private.h, src/lib-storage/mail-storage.c, src/lib-storage/mailbox- list-private.h, src/lib-storage/mailbox-list.c, src/lib-storage /mailbox-list.h, src/lib/eacces-error.c, src/lib/eacces-error.h, src/lib/file-dotlock.c, src/lib/file-dotlock.h, src/lib/mkdir- parents.c, src/lib/mkdir-parents.h, src/lib/safe-mkstemp.c, src/lib /safe-mkstemp.h, src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/lazy-expunge/lazy- expunge-plugin.c, src/plugins/quota/quota-maildir.c: Whenever file's group changing fails, show the group origin in the error message. [b373de4973cd] * src/imap/imap-commands-util.c: Compiler warning fix. [5a413a1beb60] * src/lib-index/mail-index.c, src/lib-storage/index/maildir/maildir- uidlist.c: Use eacces_get_error() in more places for handling EACCES errors. [bbe4c24faf21] * src/lib/eacces-error.c: eacces_error_get(): Check also if user had write permissions to the given file. [8760bc0b1c3a] 2009-06-26 Timo Sirainen * src/imap/cmd-create.c, src/lib-lda/mail-deliver.c, src/lib- storage/index/cydir/cydir-storage.c, src/lib-storage/index/dbox /dbox-save.c, src/lib-storage/index/dbox/dbox-storage-rebuild.c, src /lib-storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox /dbox-storage.h, src/lib-storage/index/dbox/dbox-sync-rebuild.c, src /lib-storage/index/index-storage.c, src/lib-storage/index/maildir /maildir-storage.c, src/lib-storage/index/maildir/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-uidlist.h, src/lib- storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox- storage.h, src/lib-storage/index/mbox/mbox-sync.c, src/lib- storage/index/raw/raw-storage.c, src/lib-storage/index/shared /shared-storage.c, src/lib-storage/mail-storage-private.h, src/lib- storage/mail-storage.c, src/lib-storage/mail-storage.h, src/lib- storage/test-mail-storage.c, src/lib-storage/test-mailbox.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-storage.c, src/plugins/autocreate/autocreate-plugin.c, src/plugins/convert /convert-storage.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/listescape/listescape-plugin.c, src/plugins/virtual /virtual-storage.c: Added support for creating/updating mailboxes with given metadata (guid, uid validity, etc). [530bbade4e3f] 2009-06-25 Timo Sirainen * src/config/config-parser.c, src/lib-settings/settings-parser.c, src /lib-storage/mailbox-list.c: Increased some initial memory pool sizes. [29733d23d903] * src/lib-imap/test-imap-parser.c, src/lib-mail/test-istream-dot.c, src/lib-test/test-common.c: Improved test istream. [cdd6ef3c356c] * src/lib-mail/istream-dot.c: istream-dot fixes. [5ca3318cd3e2] * src/auth/auth-master-connection.c: auth: Keep master connection referenced during USER lookups. Fixes a crash when master disconnected before USER lookup was finished. [270c07cf45b6] 2009-06-24 Timo Sirainen * src/lib-storage/index/mbox/mbox-save.c: mbox: Don't write garbage to mbox if message doesn't have a body. [d8556f68f6a7] * src/lib-storage/index/maildir/maildir-save.c: Maildir saving: If GUID is specified, try to preserve it in the filename. [a1535b151afa] * src/auth/auth-worker-client.h: auth: Increased auth workers' max. input line length to 8192. [c8ff1a3722b7] 2009-06-23 Timo Sirainen * src/lib/istream-limit.c, src/lib/istream.c: istream: Changed default destroy() implementation not to do parent stream seeking. The stream's v_offset may be completely different from what parent uses. [02badd89127e] * src/config/config-request.c: config: Export also empty setting values also, if empty isn't the default. [498965c87314] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: mail storage service: Added MAIL_STORAGE_SERVICE_FLAG_NO_CHDIR. [3f9dcaf102d1] * src/lib-mail/istream-dot.c, src/lib/istream-crlf.c, src/lib/istream- tee.c, src/lib/istream.c: istreams: Added a default seek() implementation for non-seekable streams. [85912a6031a0] * src/lib-storage/mail-namespace.c: Namespaces: Check alias_for namespaces after all namespaces have been parsed. [7ba2c40ed078] * src/lib-storage/mail-namespace.c: Don't (double) free mail_user if namespace initialization fails. [7c7ff145b171] * src/lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c, src/lib-storage/index/istream-mail-stats.c, src/lib- storage/index/mbox/istream-raw-mbox.c, src/lib/istream-crlf.c, src/lib/istream-file.c, src/lib/istream-limit.c, src/lib/istream.c, src/plugins/zlib/istream-zlib.c: Moved some common istream functionality to default istream implementation. [c0c3dcb5a6f0] * src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h: Mailbox list iteration: Added MAILBOX_LIST_ITER_SKIP_ALIASES flag. [87990dce79d4] * src/lib-master/master-service-settings.c: lib-master: Don't try to close(-1) [f5d95f4fd954] * src/lib/strescape.c, src/lib/strescape.h, src/lib/test-strescape.c: Added str_tabunescape(). [aad42b172e1a] * src/lmtp/client.h, src/lmtp/commands.c: lmtp: Use dot istream for reading DATA input. [70b96df05e9a] * src/lib-mail/Makefile.am, src/lib-mail/istream-dot.c, src/lib-mail /istream-dot.h, src/lib-mail/test-istream-dot.c: Added dot istream for reading SMTP DATA-style input. [f068c8a19013] * src/imap/imap-commands-util.c: imap: Use imap_parse_system_flag(). [0b7617d66ab1] * src/lib-imap/Makefile.am, src/lib-imap/imap-util.c, src/lib-imap /imap-util.h, src/lib-imap/test-imap-util.c: Added imap_parse_system_flag(). [e4ba9799a1ac] * src/lib-imap/imap-parser.c, src/lib-imap/imap-parser.h: Inlined IMAP_ARG_*() macros' error handling functions. [a81dfcf5a78d] * src/lib-imap/test-imap-parser.c: imap-parser unit test fix. [5ef9cca6fa27] 2009-06-22 Timo Sirainen * src/imap/cmd-copy.c, src/lib-storage/mail-storage.c, src/lib-storage /mail-storage.h, src/plugins/convert/convert-storage.c, src/plugins /lazy-expunge/lazy-expunge-plugin.c: Added mailbox_save_copy_flags(). Use it wherever possible. [15e427021619] * src/imap/cmd-append.c, src/imap/cmd-copy.c, src/imap/cmd-store.c, src/lib-index/mail-index-sync.c, src/lib-index/mail-index- transaction.c, src/lib-index/mail-index.h, src/lib-lda/mail- deliver.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox- sync-rebuild.c, src/lib-storage/index/index-storage.c, src/lib- storage/index/index-storage.h, src/lib-storage/index/maildir /maildir-storage.c, src/lib-storage/index/maildir/maildir-sync- index.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib- storage/index/mbox/mbox-sync.c, src/lib-storage/index/raw/raw- storage.c, src/lib-storage/mail-search.c, src/lib-storage/mail- storage-private.h, src/lib-storage/mail-storage.c, src/lib-storage /mail-storage.h, src/lib-storage/test-mailbox.c, src/plugins/convert /convert-storage.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual- sync.c: Added reference counting to struct mail_keywords and related APIs. [094ad127d132] * src/imap-login/client.c, src/lib-auth/auth-client-interface.h, src/pop3-login/client.c: login client idle timeout should be larger than auth request timeout, not vice versa. [d7e09c3eaace] * src/plugins/acl/acl-backend-vfile-acllist.c: acl: If dovecot-acl-list writing fails, delete it so it gets rebuilt later. [0cc9e2028580] * src/plugins/imap-acl/imap-acl-plugin.c: imap-acl: Handle empty rights (no rights) properly. [caf4e126670c] * src/plugins/acl/acl-backend-vfile.c: acl: Handle empty rights (no rights) properly. [e8b202fe3ef8] * src/lib-imap/imap-parser.c: imap_parser_read_args() didn't correctly return how many parameters were read. [fd7d2cb8fda6] * src/plugins/imap-acl/imap-acl-plugin.c: imap-acl: Command parameter reading wasn't done correctly. [a268f8fd89b7] 2009-06-21 Timo Sirainen * src/lib/eacces-error.c: eacces_error_get*() works now properly when process's real uid != effective uid. [e22e36a61fdd] * src/lib/restrict-access.c, src/lib/restrict-access.h: Added restrict_get_groups_list() for easily getting list of process's groups. [5074914f2dba] * src/auth/Makefile.am, src/dict/Makefile.am, src/lda/Makefile.am, src /lib-master/Makefile.am, src/lib-storage/index/shared/Makefile.am, src/lmtp/Makefile.am, src/login-common/Makefile.am, src/master/Makefile.am, src/plugins/convert/Makefile.am, src/plugins/expire/Makefile.am: Removed unnecessary macro definitions from Makefiles. [3aeab83e661a] * src/lib-storage/mail-namespace.c: When accessing a shared namespace, don't change separators in mailbox name. [7bbae4008efd] * src/lib-storage/mailbox-list.c: mail_location: Allow using ":" characters in dir names by escaping it as "::". [1769b18aea5b] * src/master/main.c, src/master/service-monitor.c, src/master/service- monitor.h, src/master/service-process.c, src/master/service.c, src/master/service.h: master: If time moves backwards, delay launching new processes. [4fd624e60da1] * src/lib-storage/mail-storage-service.c: Mail storage service processes now sleep/die if time moves backwards. [b9f5982e68ee] * src/lib/ioloop-epoll.c, src/lib/ioloop-internal.h, src/lib/ioloop- kqueue.c, src/lib/ioloop-poll.c, src/lib/ioloop-select.c, src/lib/ioloop.c, src/lib/ioloop.h: ioloop: Added callback for handling time jumping forwards/backwards. The default implementation is now to only log a warning when time moves backwards. The callback is also called if it's detected that time jumps forwards. In both cases existing timeouts' run times are updated so that they're called approximately the intended time. [a442d3c40693] * src/lib/priorityq.c, src/lib/priorityq.h, src/lib/test-priorityq.c: Added priorityq_items() for getting all items from a priority queue. [ee4201fdad4f] 2009-06-17 Timo Sirainen * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Crashfix to opening a newly created maildir. [ee874a76aaaf] * src/config/doveconf.c, src/imap/imap-commands.c, src/imap/imap- fetch.c, src/lib-index/mail-cache-lookup.c, src/lib- mail/rfc2231-parser.c, src/lib-settings/settings-parser.c, src/lib- storage/index/dbox/dbox-storage-rebuild.c, src/lib- storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/index- mail-headers.c, src/lib-storage/index/index-sort-string.c, src/lib- storage/index/index-sort.c, src/lib-storage/index/index-thread- finish.c, src/lib-storage/index/maildir/maildir-sync-index.c, src /lib-storage/index/maildir/maildir-uidlist.c, src/lib/module-dir.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/acl-lookup- dict.c, src/plugins/fts/fts-storage.c, src/plugins/trash/trash- plugin.c, src/plugins/virtual/virtual-search.c, src/plugins/virtual /virtual-sync.c: Use array_sort() instead of qsort() wherever possible. [0059b2381024] * src/lib/array.c, src/lib/array.h: Added array_sort() for type-safe array sorting. [a6e1f054a808] * src/imap-login/client-authenticate.c, src/imap-login/client.c, src /imap-login/client.h, src/imap-login/imap-proxy.c: imap-login: Using CAPABILITY command after STARTTLS shouldn't trigger CAPABILITY pushing workaround. [e8301a8f9cf7] * doc/solr-schema.xml, src/plugins/fts-solr/fts-backend-solr.c: solr: Don't use "any" copyfield, it doubles the index size. [1492d688d8a9] 2009-06-16 Timo Sirainen * src/util/threadview.c: threadview: If mmap() fails, fail with an error instead of crashing. [a33722839adf] * src/lmtp/commands.c: lmtp: Fixes to handling "." correctly in DATA. [a04a3ce0764e] * src/plugins/expire/expire-tool.c: expire-tool --test: Don't write LFs after timestamps. [acbbd522be43] * src/lib/Makefile.am, src/lib/strescape.c, src/lib/strescape.h, src/lib/test-lib.c, src/lib/test-lib.h, src/lib/test-strescape.c: Added str_append_tabunescaped(). str_tabescape*() now escapes also CR. Added unit tests. [5a6fe52a0cfc] * src/lib/strescape.c: str_append_unescaped() didn't unescape \\ correctly. The function wasn't used anywhere in Dovecot though. [464116e1d0ae] 2009-06-15 Timo Sirainen * src/plugins/expire/expire-tool.c: expire-tool --test: Fixed timestamp logging. [d4ad8009a18b] * src/imap/imap-client.c, src/imap/imap-commands.c, src/imap/imap- commands.h, src/imap/imap-sync.c, src/imap/imap-sync.h: IMAP: Don't crash if IDLE command is pipelined after a long-running UID FETCH or UID SEARCH. [25ad27f699f6] * src/imap/cmd-append.c, src/imap/cmd-copy.c, src/imap/cmd-create.c, src/imap/cmd-rename.c, src/imap/cmd-subscribe.c, src/imap/imap- commands-util.c, src/imap/imap-commands-util.h: IMAP: Send [ALREADYEXISTS], [NONEXISTENT] and [TRYCREATE] resp-codes correctly. [8741d62d6b74] * src/imap/cmd-rename.c: IMAP RENAME: If dest mailbox exists but source doesn't, fail with "Mailbox doesn't exist". [9291253df6de] * src/plugins/expire/Makefile.am: expire-tool, --without-shared-libs: Link mountpoint.o so quota plugin loading doesn't fail. [4d46c8517a90] * src/auth/auth-request.c: auth: Don't assert-crash if trying to log in as master user but with empty login username. [6462ba85d751] * src/lib/file-dotlock.c: safe_mkstemp() was used incorrectly. umask() no longer changes its behavior. [d394cca843a9] * src/lib-index/mail-transaction-log.c: Transaction log dotlocking ignored mail_nfs_index and dotlock_use_excl settings. [73aea4432453] * src/plugins/acl/acl-backend-vfile.c: acl: Don't assert-crash if removing all rights. [836646906a63] * src/imap-login/imap-proxy.c: imap proxy: Pass through to client unexpected untagged replies from remote server. [57a2431852f5] * src/imap/imap-status.c: IMAP: STATUS .. X-GUID returns mailbox GUID. [18caae3804e3] * src/lib-storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox /dbox-save.c, src/lib-storage/index/dbox/dbox-storage.c, src/lib- storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox/dbox- sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c, src/lib- storage/index/index-storage.c, src/lib-storage/index/maildir /maildir-storage.c, src/lib-storage/index/maildir/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-uidlist.h, src/lib- storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox- storage.h, src/lib-storage/index/mbox/mbox-sync.c, src/lib-storage /mail-storage.h, src/util/idxview.c: Added support for mailbox GUIDs. [f98ec5dffd04] * src/lib-storage/index/index-storage.c: Fixed using freed memory when opening mailboxes. [c0dd791aaaaa] * src/lib-storage/index/index-storage.c: Fixed opening mailbox when index directory didn't already exist. [7a63279e95ba] * src/imap/cmd-append.c, src/imap/cmd-close.c, src/imap/cmd-copy.c, src/imap/cmd-delete.c, src/imap/cmd-select.c, src/imap/cmd- unselect.c, src/imap/imap-status.c, src/lda/main.c, src/lib-lda /mail-deliver.c, src/lib-storage/index/cydir/cydir-storage.c, src /lib-storage/index/cydir/cydir-storage.h, src/lib- storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox/dbox- file.c, src/lib-storage/index/dbox/dbox-mail.c, src/lib- storage/index/dbox/dbox-save.c, src/lib-storage/index/dbox/dbox- storage-rebuild.c, src/lib-storage/index/dbox/dbox-storage.c, src /lib-storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox /dbox-sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c, src /lib-storage/index/index-storage.c, src/lib-storage/index/index- storage.h, src/lib-storage/index/index-thread.c, src/lib- storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir /maildir-keywords.c, src/lib-storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir/maildir-save.c, src/lib- storage/index/maildir/maildir-storage.c, src/lib- storage/index/maildir/maildir-storage.h, src/lib- storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir /maildir-uidlist.c, src/lib-storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox /mbox-lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib- storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox- storage.c, src/lib-storage/index/mbox/mbox-storage.h, src/lib- storage/index/mbox/mbox-sync-rewrite.c, src/lib-storage/index/mbox /mbox-sync.c, src/lib-storage/index/raw/raw-mail.c, src/lib- storage/index/raw/raw-storage.c, src/lib-storage/index/raw/raw- storage.h, src/lib-storage/index/raw/raw-sync.c, src/lib- storage/list/index-mailbox-list-sync.c, src/lib-storage/mail- storage-private.h, src/lib-storage/mail-storage.c, src/lib-storage /mail-storage.h, src/lib-storage/mailbox-list-private.h, src/lib- storage/mailbox-list.c, src/lib-storage/test-mail-storage.c, src /lib-storage/test-mail-storage.h, src/lib-storage/test-mailbox.c, src/lmtp/commands.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl /acl-plugin.h, src/plugins/acl/acl-storage.c, src/plugins/convert /convert-storage.c, src/plugins/expire/expire-plugin.c, src/plugins/expire/expire-tool.c, src/plugins/fts/fts-plugin.c, src/plugins/fts/fts-plugin.h, src/plugins/fts/fts-storage.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap- quota-plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log /mail-log-plugin.c, src/plugins/mbox-snarf/mbox-snarf-plugin.c, src/plugins/quota/quota-count.c, src/plugins/quota/quota-storage.c, src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual- config.c, src/plugins/virtual/virtual-storage.c, src/plugins/virtual /virtual-storage.h, src/plugins/virtual/virtual-sync.c, src/plugins/zlib/zlib-plugin.c, src/pop3/pop3-client.c, src/util/doveadm.c: Mailbox opening and closing APIs changed. [653183a81b6c] 2009-06-12 Timo Sirainen * src/imap/cmd-list.c: IMAP: Fixed LIST RETURN (STATUS ..) if namespace separator wasn't storage separator. [7b6fe859ec64] * src/lib-storage/mail-namespace.c, src/lib-storage/mail-namespace.h: Added mail_namespace_get_storage_name(). [3111c362edff] * src/imap/cmd-list.c: IMAP: Fixed untagged error messages for LIST RETURN (STATUS ..) failures. [b09ad4858d22] 2009-06-11 Timo Sirainen * src/util/Makefile.am, src/util/imap-utf7.c: imap_utf7: Renamed to imap-utf7. Also fixed usage error string to print LF. [a5f5584646ed] * src/lib-storage/index/mbox/istream-raw-mbox.c: mbox: Don't crash with invalid From_-lines. [1f7f7c0aa711] 2009-06-09 Timo Sirainen * src/master/service-process.c: Compiler warning fix with non-Linux. [e03003e935b5] * src/lib-storage/test-mail-storage.h: Forgot to add test-mail-storage.h in an earlier comment. [df1d8e45c067] 2009-06-05 Timo Sirainen * dovecot-example.conf: dovecot-example.conf: Changed auth_verbose comment. [f672303df2b6] 2009-06-04 Timo Sirainen * TODO: TODO updated. [0aeea5034358] * src/plugins/virtual/virtual-storage.c: virtual: Forgot to commit in previous API change commit. [19fc2147cc10] * src/lib-storage/Makefile.am, src/lib-storage/test-mail-storage.c, src/lib-storage/test-mail.c, src/lib-storage/test-mailbox.c: Added libstorage-test.a for unit testing lib-storage users. [4dca587d5b75] * src/lib-storage/mail-search.c: mail_search_args_simplify() no longer uses lib-index functions directly. [63f4a2825bbe] * src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/index- storage.c, src/lib-storage/index/index-storage.h, src/lib- storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox /mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib- storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src /lib-storage/mail-storage.h: Added mailbox_keywords_create_from_indexes(). [374d29a1905e] * src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/index-mail- headers.c, src/lib-storage/index/index-storage.h, src/lib- storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox /mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib- storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src/plugins/virtual/virtual-storage.c: mailbox_header_lookup*() private API changed. [87e533f1127d] * src/lib-storage/index/index-search.c, src/lib-storage/index/index- storage.c, src/lib-storage/index/maildir/maildir-sync.c, src/lib- storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src/plugins/fts/fts-storage.c: struct mail_storage.callbacks is no longer a pointer. [2a3390530f6a] * src/auth/passdb-ldap.c: ldap: Fixed auth_bind=yes. [d9f5cc5365d1] * src/auth/auth-settings.c: auth: Fixed auth_debug_password -> auth_debug -> auth_Verbose cascading. [d86490ef27bd] * src/lib-mail/message-search.c: Message body search: Skip MIME boundaries and multipart footer. [227a64839587] * src/plugins/convert/convert-storage.c: convert plugin: After storage is locked, check another way to see if it still exists. [653bfe9ad192] * src/lib-master/master-service-settings.c, src/lib/module-dir.c, src /login-common/main.c: Increased some memory pool sizes. [1348d374e574] * src/lib-storage/mail-storage-service.c: lib-storage: Avoid wasting data stack usage. [0a1f989bc5ad] * src/lib-storage/index/dbox/dbox-sync.c: dbox: When rebuilding dbox storage, reset recent flags to avoid assert-crashing. [563b17988ce1] * src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/dbox/dbox-storage.c: dbox, cydir: Ignore MAILBOX_OPEN_NO_INDEX_FILES flag when opening mailbox. [3396bab1feb6] * src/lib-storage/index/dbox/dbox-sync.c: dox: When checking dbox header in sync, make sure we're using the latest index. [99a97c5c9912] * src/log/log-connection.c, src/log/log-connection.h, src/log/main.c: Fixed log process after recent lib-master changes. [0bf92fe23dea] * src/lib-storage/index/dbox/dbox-storage.c: dbox: Fixed creating new mailboxes. [97679435f892] * src/lib-master/master-service.c: lib-master: Non-listening processes should die when their std-client is destroyed. [d43232f22ace] * src/anvil/anvil-connection.c, src/anvil/anvil-connection.h, src/anvil/main.c: anvil: Fixed checking what the master connection is. [cab8f8009456] 2009-06-03 Timo Sirainen * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-storage.c: dbox: storage directory was created without +x permissions. [03ef1dd538fe] * src/lib-master/master-service.c, src/log/log-connection.c, src/log /log-connection.h, src/log/main.c: log, lib-master: More fifo handling fixes. [27dfd1f5d46b] * src/lib-master/master-service.c: lib-master: Fixed crashing on deinit when listening on fifos. [e18fb0a361ef] * src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/dbox/dbox-storage-rebuild.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/maildir /maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src /lib-storage/index/raw/raw-storage.c, src/lib-storage/index/shared /shared-storage.c, src/lib-storage/mail-namespace.c, src/lib-storage /mail-storage-private.h, src/lib-storage/mail-storage.c, src/lib- storage/mail-storage.h, src/lib-storage/mail-user.h, src/lib-storage /mailbox-list.c, src/plugins/convert/convert-storage.c, src/plugins/virtual/virtual-storage.c: mail storages can now be shared between namespaces. [4f46cee3a1d4] * src/lib-dict/Makefile.am, src/lib-imap/Makefile.am, src/lib- index/Makefile.am, src/lib-mail/Makefile.am, src/lib- sql/Makefile.am, src/lib/Makefile.am: Compiling fix for Solaris 7. [da12e994d942] 2009-06-02 Timo Sirainen * src/config/settings-get.pl, src/imap/cmd-append.c, src/imap/cmd- copy.c, src/imap/cmd-create.c, src/imap/cmd-delete.c, src/imap/cmd- list.c, src/imap/cmd-rename.c, src/imap/cmd-select.c, src/imap/cmd- status.c, src/imap/cmd-subscribe.c, src/imap/imap-client.c, src/imap /imap-commands-util.c, src/imap/imap-commands-util.h, src/imap/imap- commands.h, src/imap/imap-status.c, src/imap/imap-status.h, src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib- storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir- save.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox/dbox- map.c, src/lib-storage/index/dbox/dbox-settings.c, src/lib- storage/index/dbox/dbox-storage-rebuild.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox- storage.h, src/lib-storage/index/dbox/dbox-sync-rebuild.c, src/lib- storage/index/index-storage.c, src/lib-storage/index/index- storage.h, src/lib-storage/index/maildir/maildir-keywords.c, src /lib-storage/index/maildir/maildir-storage.c, src/lib- storage/index/maildir/maildir-storage.h, src/lib- storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/maildir/maildir-uidlist.c, src/lib- storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox /mbox-lock.c, src/lib-storage/index/mbox/mbox-save.c, src/lib- storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox- storage.h, src/lib-storage/index/raw/raw-storage.c, src/lib- storage/index/shared/shared-list.c, src/lib-storage/index/shared /shared-storage.c, src/lib-storage/index/shared/shared-storage.h, src/lib-storage/list/index-mailbox-list-sync.c, src/lib-storage/list /index-mailbox-list.c, src/lib-storage/list/mailbox-list-fs.c, src /lib-storage/list/mailbox-list-maildir.h, src/lib-storage/mail- namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage/mail- storage-private.h, src/lib-storage/mail-storage-settings.c, src/lib- storage/mail-storage-settings.h, src/lib-storage/mail-storage.c, src /lib-storage/mail-storage.h, src/lib-storage/mail-user.c, src/lib- storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src /lib-storage/mailbox-list.h, src/lmtp/commands.c, src/plugins/acl /acl-api-private.h, src/plugins/acl/acl-api.c, src/plugins/acl/acl- api.h, src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl /acl-backend-vfile.c, src/plugins/acl/acl-backend.c, src/plugins/acl /acl-lookup-dict.c, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-plugin.h, src/plugins/acl/acl-shared-storage.c, src/plugins/acl/acl-storage.c, src/plugins/acl/acl-storage.h, src/plugins/autocreate/autocreate- plugin.c, src/plugins/convert/convert-storage.c, src/plugins/expire /expire-plugin.c, src/plugins/expire/expire-tool.c, src/plugins/fts- lucene/fts-backend-lucene.c, src/plugins/fts-solr/fts-backend- solr.c, src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts /fts-storage.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins /imap-quota/imap-quota-plugin.c, src/plugins/lazy-expunge/lazy- expunge-plugin.c, src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log/mail-log-plugin.c, src/plugins/mbox-snarf/mbox- snarf-plugin.c, src/plugins/quota/quota-count.c, src/plugins/quota /quota-dirsize.c, src/plugins/quota/quota-fs.c, src/plugins/quota /quota-maildir.c, src/plugins/quota/quota-private.h, src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c, src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual- config.c, src/plugins/virtual/virtual-mail.c, src/plugins/virtual /virtual-storage.c, src/plugins/virtual/virtual-storage.h, src/plugins/zlib/zlib-plugin.c, src/pop3/pop3-client.c, src/util/doveadm.c: Initial commit for making mail_storage:mailbox_list to be from 1:1 to n:n. This will allow namespaces to share the same storage and a single namespace to have multiple storages (multiple mailbox formats). Neither works currently, and this commit probably breaks some things. [e374a365521d] * src/imap/imap-commands-util.c: IMAP: Error handling fix for mailbox name validity checking. [438491c166cb] * src/plugins/virtual/virtual-storage.c: virtual: Error handling fix. Don't expose hidden namespace names. [f8826c72f71b] 2009-06-01 Timo Sirainen * src/lib-master/master-service.c: lib-master: When master dies, stop listening for new connections. [33727c70e89d] * src/auth/auth-client-connection.c: When auth client disconnected, it didn't update master service count. [ace6f94f60bc] * src/imap/main.c: imap: If CAPABILITY was used before login, "Logged in" was missing OK prefix. [02679d365af7] * src/imap/imap-fetch.c: IMAP FETCH: Previous change broke fetching RFC822*. [36311318a958] * src/imap/imap-fetch.c: IMAP FETCH: Binary searching fetch handlers was a bit broken. [befc876577e4] * src/imap/main.c: imap: After logging in, send CAPABILITY and tagged OK in the same IP packet. [8ecbc7fefeb2] * src/lib/Makefile.am, src/lib/test-aqueue.c, src/lib/test-array.c, src/lib/test-base64.c, src/lib/test-bsearch-insert-pos.c, src/lib /test-buffer.c, src/lib/test-istream.c, src/lib/test-lib.c, src/lib /test-lib.h, src/lib/test-mempool-alloconly.c, src/lib/test- network.c, src/lib/test-primes.c, src/lib/test-priorityq.c, src/lib /test-seq-range-array.c, src/lib/test-str-find.c, src/lib/test-str- sanitize.c, src/lib/test-utc-mktime.c: liblib unit tests are now split to separate files. [810e36796e3d] * src/lib-mail/Makefile.am, src/lib-mail/message-id.c, src/lib-mail /test-message-id.c: message_id_get_next() didn't contain @ in reply when msgid wasn't in canonical form. [97f62a823666] * src/lib-mail/message-address.c, src/lib-mail/message-address.h, src /lib-mail/test-message-address.c: message_address_write() wrote extra @ if route was specified. [fa17414cfe77] 2009-05-31 Timo Sirainen * src/plugins/fts-solr/solr-connection.c: fts-solr: Reset XML parser when doing update requests. We don't really care about what the XML contains, we'll just verify that it's valid input. [c0821048c517] * src/lib-index/mail-index.c, src/lib-storage/mailbox-list.c: More group permission handling fixes. [14ed9ca980d1] * src/lib-index/mail-cache-compress.c, src/lib-index/mail-index- private.h, src/lib-index/mail-index.c, src/lib-index/mail- transaction-log-file.c: index: Handle better errors where a new file's group can't be changed. [c496f137c843] * src/imap/cmd-uid.c: IMAP: UID commands didn't set cmd->name properly. Patch by Richard Platel. [2e373584b0b9] * src/lib-storage/index/index-storage.c, src/lib-storage/index/maildir /maildir-util.c, src/lib-storage/mailbox-list.c: storage: Create index/control root directories using same permissions as mail root. [a98645075fd5] * src/lib/mkdir-parents.c, src/lib/mkdir-parents.h: Added mkdir_chown(). [4c44592de21e] * dovecot-master-example.conf: dovecot-master-example.conf: Added IPv6 listeners. [f4eca3bbd4ac] * src/lib-imap/Makefile.am, src/lib-index/Makefile.am, src/lib- mail/Makefile.am: Link test programs with .lo instead of .o. Dependencies aren't tracked properly with .o. [dca52f948452] * src/plugins/expire/expire-plugin.c: expire-tool: Make sure expire plugin won't get used. [a7cb99756199] * src/lib-master/master-service.c, src/lib-master/master-service.h: lib-master: Added master_service_get_name(). [84f96a722fcc] * src/plugins/expire/expire-tool.c: expire-tool --test: Log timestamps also in user-readable format. [1da29762c407] * src/lib-storage/index/maildir/maildir-mail.c: Maildir: Use i_stream_stat() instead of i_stream_get_fd()+fstat(). Fixes zlib plugin. [b5f9a3387b5a] * configure.in: configure: If all passdb/userdb/sql drivers are compiled, don't print an empty line for them. [ab69375b8422] * doc/Makefile.am: thread-refs.txt was missing from release tarball. [1cfa4804ecbe] * src/lib-storage/index/index-thread-list.c: Removed unused code. [c5153391d689] 2009-05-29 Timo Sirainen * src/lib-storage/mail-storage-service.c: mail_storage_service*() chdired to base_dir instead of user's home dir. [6a2660115d3d] * src/dict/dict-commands.c, src/dict/dict-commands.h, src/dict/dict- connection.c, src/dict/dict-connection.h: dict server: Forgot to add new files in previous commit. [fb32daa5c50a] * dovecot-master-example.conf, src/dict/Makefile.am, src/dict/dict- settings.c, src/dict/dict-settings.h, src/dict/main.c, src/lib-dict /dict-client.h: dict server works again. [aa08a4506d89] 2009-05-28 Timo Sirainen * src/plugins/virtual/virtual-config.c: virtual: If search rule is missing, use SEARCH_ALL. [11b8d0210b7a] * src/lib-storage/mail-search.c: mail_search_args_dup(): Don't return broken results if there are no search args. [16b4e9cfa1c9] * src/imap-login/client-authenticate.c, src/imap-login/client.c, src /imap-login/imap-proxy.c, src/imap/main.c, src/login-common/client- common.h, src/login-common/login-settings.c, src/login-common/login- settings.h, src/login-common/sasl-server.c: imap-login now advertises only pre-login capabilities. If client had used CAPABILITY command before logging in, untagged CAPABILITY is sent to client in the hope that client understands this. This change could get reverted if it breaks too many clients. [5f64f935e64b] 2009-05-26 Timo Sirainen * src/lib-mail/Makefile.am, src/lib-mail/test-mbox-from.c: Added unit test for mbox-from. [82bb4c6a6d64] * src/lib/ioloop-notify-dn.c, src/lib/ioloop-notify-inotify.c, src/lib /ioloop-notify-kqueue.c, src/lib/ioloop.c, src/lib/ioloop.h: Removed ioloop_timezone. It's not working nowadays. [b59c6c30115e] * src/lib-mail/mbox-from.c: mbox_from_parse(): Fixes to handling missing timezones. Also use timezone variable, gettimeofday()'s timezone is 0 nowadays in Linux. [91984e758846] * src/lib-index/test-mail-transaction-log-view.c: mail-transaction-log-view compiling fix. [149f7c22217d] * src/lib-index/Makefile.am, src/lib-index/test-index.c, src/lib-index /test-index.h, src/lib-index/test-mail-transaction-log-view.c, src /lib-index/test-transaction-log-view.c: mail-transaction-log-view unit testing is now also independent. [bde78a3c9c8b] * src/lib-master/master-service.c: DEBUG: lib-master no longer verifies fd leaks for programs running standalone. [674024d7bcb7] * src/lib-index/Makefile.am, src/lib-index/test-mail-transaction-log- append.c: Added unit test for mail-transaction-log-append. [ff9c8f94ee8d] * src/lib-index/Makefile.am, src/lib-index/mail-index-util.c, src/lib- index/mail-index.c: Moved some generic library functions to mail-index-util.c. [a9a532d4f00e] * src/lib-index/mail-transaction-log-append.c: Fixed bugs caused by recent mail-transaction-log-append refactoring. [50b879627fb1] * src/lib-mail/Makefile.am, src/lib-mail/test-message-header-parser.c: Added unit test for message-header-parser. [75a8a2a8103f] * src/lib-mail/message-header-parser.c, src/lib-mail/message-header- parser.h: message-header-parser: MESSAGE_HEADER_PARSER_FLAG_CLEAN_ONELINE should affect only full_line. Otherwise it behaves inconsistently between hdr->use_full_value=TRUE/FALSE. [d9ce4c485dee] * src/lib-mail/message-header-parser.c: message header parser: Don't set hdr->continues=TRUE when hdr->eoh=TRUE. This happened if body began with LWSP. Also if parser has seen eoh but not the following character, don't bother waiting for it. [7b247ab96520] * src/lib-mail/test-message-parser.c: test-message-parser: Improvements. [ca62d712d149] * src/lib-mail/test-message-parser.c: test-message-parser: Fixed and improvements. [54a56772aeb8] * src/lib-mail/message-parser.c: message_parser_init_from_parts(): Assert that MESSAGE_PARSER_FLAG_SKIP_BODY_BLOCK is set. [59bad3eabb93] * src/lib-mail/Makefile.am, src/lib-mail/test-istream-header-filter.c, src/lib-mail/test-mail.c, src/lib-mail/test-message-address.c, src /lib-mail/test-message-date.c, src/lib-mail/test-message-parser.c, src/lib-mail/test-rfc2231-parser.c: Split test-mail binary to test-mail-* binaries. [aff3abbcb8a6] * src/imap/cmd-append.c, src/imap/cmd-idle.c, src/imap/imap-client.c, src/imap/imap-client.h, src/imap/imap-search.c: imap: Cleaned up "command pending" handling code. Should fix hangs caused by recent changes. [89d2dbbfa4ca] * src/imap/imap-sync.c: imap: Don't cancel sync if client disconnects in the middle. Fixes "Message count decreased" errors. [df12f1bc629f] * src/auth/auth-request.c, src/auth/passdb.c: auth: Improved "Password not in expected scheme" error message. [513691dbe21c] * src/lib-storage/mail-namespace.c: Fixed handling non-default namespace separators. [0b3225f7b3a6] * src/imap/main.c, src/pop3/main.c: imap, pop3: Fixed assert-crash on exit. [315a480f9942] * src/auth/mech-external.c: auth: Forgot to add mech-external.c in earlier commit. [976a4c9ca6b6] * src/plugins/virtual/virtual-mail.c: virtual: Don't assert-crash if trying to access an expunged mail. [304238bbd36c] * src/plugins/virtual/virtual-sync.c: virtual: Fix to previous commit. [c920998cb44d] * src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual- storage.h, src/plugins/virtual/virtual-sync.c: virtual: Fixed crashes when simultaneous connections accessed the same virtual mailbox. [17a2415fdab9] * src/plugins/convert/convert-storage.c: convert plugin: Don't crash after finishing conversion. [446ba4e8d37d] 2009-05-25 Timo Sirainen * src/plugins/virtual/virtual-storage.c: virtual: Virtual mailboxes shouldn't be counted in quota. [24fa8a39ec0b] * src/lda/main.c, src/lib-storage/mail-namespace.c, src/lib-storage /mail-namespace.h, src/lmtp/client.c, src/plugins/acl/acl-lookup- dict.c, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl- storage.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/quota/quota-storage.c: Split NAMESPACE_FLAG_INTERNAL into distinct _NOQUOTA and _NOACL flags. [e4429faabf59] * src/imap-login/client-authenticate.c: imap: Don't send "Waiting for auth process" if it's the client that's waiting on AUTHENTICATE. [ca2488181a2d] 2009-05-25 timo * src/lda/main.c: lda: If temp file can't be created because home dir doesn't exist, create it. [b1c584654a0e] 2009-05-25 Timo Sirainen * src/lda/main.c: lda: Log to specified log file, not to stderr. [ad0b052aef5e] * src/lda/main.c, src/lib/istream-seekable.c, src/lib/istream- seekable.h: istream-seekable: Changed API to use a callback function to create the temp file. [8fa79cdb2ef3] * src/plugins/convert/convert-storage.c: convert plugin: If alt_hierarchy_char isn't specified, don't truncate mailbox names. [b7722e6ccccb] * src/plugins/convert/convert-tool.c: convert-tool didn't handle command line parameters correctly. [e76d521817d3] * src/lib-imap/imap-parser.c: imap-parser: Don't return early if line ends with CR but there's no LF. [704917a65a16] * src/lib-imap/Makefile.am, src/lib-imap/test-imap-parser.c: imap-parser unit testing started. [9297ae2ee45f] * src/lib-imap/Makefile.am, src/lib-imap/test-imap-match.c, src/lib- imap/test-imap-utf7.c, src/lib-imap/test-imap.c: Split test-imap binary to test-imap-match and test-imap-utf7. [07b601734cc8] * .hgignore: .hgignore: Ignore all test-* binaries. [26cb0925f2c4] * dovecot-example.conf: dovecot-example.conf: Make it clear mail_log_group_events is boolean. [1aeb7fb9d1ea] * src/auth/Makefile.am, src/auth/mech.c: auth: Added support for EXTERNAL SASL mechanism. [8e7dcb58bd89] * src/auth/mech.c: auth: If initial SASL reply was given but empty, pass it to auth mechanisms. [116d94937979] * src/lib-mail/message-decoder.c: Message-decoder: Fixes to handling binary body parts. [fd3c13b9837b] * src/imap/imap-client.c: imap: Mailbox closing command shouldn't hang on waiting a delayed sync to finish. [46277443b90c] * src/lmtp/commands.c: lmtp: Handle MAIL FROM and RCPT TO parameters properly. [2784877c567c] 2009-05-24 Timo Sirainen * src/imap/imap-client.c: IMAP: Make sure pending syncs are done before a mailbox-changing command is run. [2b95ca15f514] 2009-05-23 Timo Sirainen * dovecot-example.conf: dovecot-example.conf: Drop _file from ssl_cert and ssl_key. [e448f770039f] 2009-05-22 Timo Sirainen * src/imap/imap-client.c, src/imap/imap-client.h, src/imap/main.c, src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h: imap, pop3 no longer assume that there's only a single client in process. [d6d4ec8ac06d] * src/plugins/lazy-expunge/lazy-expunge-plugin.c: lazy-expunge plugin implements mailbox deletions now using mailbox_list_rename_mailbox(). [8cf39c0b88d9] * src/imap/cmd-rename.c, src/lib-storage/index/dbox/dbox-storage.c, src/lib-storage/index/maildir/maildir-storage.c, src/lib- storage/index/shared/shared-list.c, src/lib-storage/list/mailbox- list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib- storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src /lib-storage/mailbox-list.h, src/plugins/acl/acl-mailbox-list.c, src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log /mail-log-plugin.c: Implemented initial support for renaming mailboxes across namespaces. [c86b65e4a510] * src/lib-settings/settings-parser.c: settings_parse_stream*() could have stopped after reading unknown settings. [9f2403f3e345] * src/imap/cmd-fetch.c: FETCH: If FETCH returned [EXPUNGEISSUED], it got stuck to all subsequent replies too. [8524ed76b929] * dovecot-master-example.conf, src/lmtp/main.c: Fixed LMTP server to actualy work. [7df8fddbc7a5] * src/anvil/anvil-connection.c, src/config/config-connection.c, src/imap/imap-client.c, src/pop3/pop3-client.c: Added missing master_service_client_connection_destroyed() calls. [04cade277134] * src/anvil/main.c, src/auth/auth-common.h, src/auth/auth-master- connection.c, src/auth/auth-worker-client.c, src/auth/main.c, src/config/doveconf.c, src/config/main.c, src/imap-login/client.c, src/imap/imap-client.c, src/imap/imap-common.h, src/imap/main.c, src/lda/main.c, src/lib-master/master-service.c, src/lib-master /master-service.h, src/lmtp/client.c, src/lmtp/main.c, src/lmtp/main.h, src/log/common.h, src/log/log-connection.c, src/log/main.c, src/login-common/common.h, src/login-common/login- proxy.c, src/login-common/main.c, src/login-common/sasl-server.c, src/login-common/ssl-proxy-openssl.c, src/master/common.h, src/master/service-process.c, src/plugins/convert/convert-tool.c, src/plugins/expire/expire-tool.c, src/pop3-login/client.c, src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-common.h, src/util/doveadm.c: lib-master has now a global master_service variable that all binaries use. There should always be only one of them anyway. [0c587f108916] * src/lib-storage/list/mailbox-list-fs.c: Mailbox renaming with LAYOUT=fs wasn't renaming control dirs if they were used. [79174ec42414] 2009-05-21 Timo Sirainen * src/plugins/lazy-expunge/lazy-expunge-plugin.c: lazy-expunge plugin: Replaced maildir-specific expunge implementation with generic copy+expunge. [cf3f5258d47f] * src/lib-master/master-service.c, src/lib-master/master-service.h, src/master/main.c, src/util/doveadm.c: master process shouldn't log to stderr. Changed the lib-master flag to _DONT_LOG_TO_STDERR. [0dbc2dc0877c] * src/imap/imap-fetch.c: imap code cleanup: Use array instead of buffer for storing fetch handlers. [d6eda52bd74b] * src/imap/imap-fetch.c, src/imap/imap-fetch.h, src/imap/main.c: IMAP: Register FETCH handlers at startup so we don't break if plugins add them. [fe0ee823db41] * src/auth/password-scheme.c: auth: Handle crypt() failing. [f595b68616e4] 2009-05-20 Timo Sirainen * src/util/idxview.c: idxview: Show dbox record contents in human-readable form. [bc13674ac55f] * src/lib-storage/index/dbox/dbox-map.c: dbox: Fixed giving wrong map_uid_validity to new mailboxes. [e902652ce4eb] * src/lib-storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox /dbox-save.c, src/lib-storage/index/dbox/dbox-storage-rebuild.c, src /lib-storage/index/dbox/dbox-storage.h: multi-dbox: Added save date to dbox index records so it won't be shared across mailboxes. [5ba40c164a2d] * src/imap/imap-fetch.c: Added FETCH X-SAVEDATE. Based on patch by Alaa Ibrahim. [c47c961a9727] * src/lib-master/master-service.c: lib-master: Log to stderr by default when starting standalone. [e8f4e5acd932] * src/lib-master/master-service-private.h, src/lib-master/master- service-settings.c, src/lib-master/master-service.c: lib-master: Added -O parameter to use program default settings. [fa195866a79a] * src/lib-lda/mail-deliver.c: deliver_log_format: %s should contain subject in UTF8, not in MIME- encoded form. [6b06f4561fcb] * src/lib-storage/index/maildir/maildir-sync.c: Maildir: Make sure messages are removed from index if they are deleted externally from new/. The problem happened when a message in new/ was indexed, deleted externally and the mailbox was again opened as read-only. This caused a partial sync in new/ directory, which didn't notice that the files were gone. [a4759b848d74] * src/lib-index/mail-index-map.c, src/lib-index/mail-index-private.h, src/lib-index/mail-index-view.c: Created mail_index_map_lookup_seq_range() from code in mail-index- view.c. [190669ac816c] * src/lib-index/Makefile.am, src/lib-index/mail-index-map-read.c, src /lib-index/mail-index-map.c: Moved some code from mail-index-map.c to mail-index-map-read.c [e55de8b34144] * src/lib-index/Makefile.am, src/lib-index/mail-index-map-hdr.c, src /lib-index/mail-index-map.c, src/lib-index/mail-index-private.h: Moved some code from mail-index-map.c to mail-index-map-hdr.c [768b25cabd6c] * src/auth/db-ldap.c, src/auth/passdb-ldap.c, src/auth/userdb-ldap.c: auth: Fixed using ldap plugin. [94547703da25] * configure.in, src/master/main.c: dovecot --build-options: If SQL or LDAP was built as plugins, say it. [ed142749ce67] 2009-05-19 Timo Sirainen * src/lib-storage/mail-search.c: SEARCH INTREAD: Crashfix when deinitializing. [91b961fb07a5] * src/imap/imap-fetch-body.c: If FETCH gets too little message data, use "FETCH failed" disconnection reason. [a9ffb4614b5e] * src/lib/ostream-file.c: o_stream_send_istream(): Make sure istream->eof gets set after sending everything with sendfile(). [a5bc58832be9] * src/lib/sendfile-util.c: safe_sendfile(): Error handling fixes for Linux and Solaris. [c96abc68b115] 2009-05-18 Timo Sirainen * src/login-common/ssl-proxy.c: Fixed compiling without OpenSSL. [9c6597ba9e3e] * src/lib-storage/Makefile.am, src/lib-storage/index/index-thread.c, src/lib-storage/mail-thread.c: Moved mail_thread_type_parse() to lib-storage.a to avoid some linking problems. [ca39cedd796e] * src/lib-mail/message-decoder.c, src/lib-mail/message-decoder.h, src /lib-mail/message-search.c, src/plugins/fts/fts-storage.c: message-decoder now supports optionally returning non-text bodyparts as-is. [ce612bdafc84] 2009-05-17 Timo Sirainen * src/plugins/zlib/istream-zlib.c: zlib: Don't expose file descriptor. Others can't do anything with it anyway. Fixes o_stream_send_istream(zlib_istream), which was trying to sendfile() the compressed data. [4c4b95def1fa] * src/lib/env-util.c, src/lib/env-util.h: Added env_backup_*() for saving/restoring environment. [9bdd43acd083] * src/lib/env-util.c: env_clean(): Clear the environment memory pool also. We trust that nowadays our environment clearing code works everywhere. [6e80c8fb225e] * src/lib/env-util.c: env-util: Minor code cleanup. [92be0f90a9df] * src/lib-dict/dict-db.c: Berkeley DB dict: Transactions should be aborted with abort(), not discard(). [1ab11ad931d0] * src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual- storage.c, src/plugins/virtual/virtual-storage.h: virtual: If we can't open a mailbox that was added using a wildcard, just skip it. [eb67ef194562] * src/plugins/quota/quota-fs.c: quota-fs: Improved debug logging. [7344f1a53f0f] * src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual- storage.c, src/plugins/virtual/virtual-sync.c: virtual: Fixed handling multiple mailboxes using the same search args. [7c4af82cb5e7] * src/lib-storage/mail-search.c, src/lib-storage/mail-search.h: Added mail_search_args_dup(). [47d22004ea13] * src/plugins/virtual/virtual-sync.c: virtual: Handle broken index files better. [9c7164014a11] * src/lib-index/mail-index.c, src/lib-index/mail-index.h, src/lib- index/mail-transaction-log-private.h, src/lib-index/mail- transaction-log.h: Added mail_index_unlink(). [0b3d90514e85] * src/lib-sql/sql-pool.c: Dropping connections from sql connection pool could have crashed. [4ae7728a99f0] * src/plugins/virtual/virtual-sync.c: virtual: Fixed several crashes. [78bf2b7276b0] * src/lib-storage/index/index-search-result.c, src/lib-storage/index /index-search-result.h, src/lib-storage/index/index-sync-private.h, src/lib-storage/index/index-sync-search.c, src/lib-storage/index /index-sync.c: Tracking flag updates in saved search results was broken when expunging messages. [b42ccb84887f] * src/lib-storage/index/index-thread-links.c: Message threading assert-crashfix. [789136ae7e21] * src/plugins/virtual/virtual-sync.c: virtual: Assert-crashfix when opening mailbox. [b5889a18fb25] * src/lib-storage/index/index-search.c: Search: Added an assert. [34e4af1f5009] * src/lib-storage/index/index-thread.c: mail_thread_init(): Don't assert-crash when checking if we can use a cached thread tree. [58c240b45d24] * src/lib-imap/Makefile.am, src/lib-index/Makefile.am, src/lib- mail/Makefile.am: And fix for last change: Use LIBICONV, not LTLIBICONV when linking. [84f3d92ea9e8] * src/lib-imap/Makefile.am, src/lib-index/Makefile.am, src/lib- mail/Makefile.am: test-* programs weren't linking enough libraries in all systems. [c90da6423ff3] * src/imap/cmd-list.c: LIST: Previous prefix="", list=no change broke listing other list=no namespaces. [6e0ea2caf655] 2009-05-15 Timo Sirainen * src/lib-master/master-service-settings.c, src/lib-master/master- service.c, src/lib-settings/settings-parser.c, src/lib-storage/mail- storage-service.c, src/lib-storage/mail-storage-service.h, src/util/doveadm.c: Memory leak fixes. [b66054f9b8fb] * src/lib-auth/auth-master.c, src/lib-auth/auth-master.h: lib-auth: Added auth_master_user_list_count(). [602adc1f2f83] * src/util/doveadm.c: doveadm -v: Print progress counter. [468273e27777] * src/util/doveadm.c: doveadm: Memory usage improvements. [3d20388cee21] * src/lib-storage/mail-user.c: Use a larger initial "mail user" pool. [0fb684847ae1] * src/util/doveadm.c: doveadm: When iterating through all users, stop when receiving SIGTERM/SIGINT. [6df5bdefad00] * src/auth/userdb-sql.c: userdb sql: Fixed crashing when listing users. [41fda72aa80a] * src/lib-auth/auth-master.c: auth master: Fixed hanging when iterating through users. [3d628e998192] * src/auth/auth-master-connection.c: userdb listing: Don't crash with multiple userdbs. [de33ce3795da] * dovecot-example.conf, src/lib-storage/mail-storage-settings.c: mail_log_prefix default setting: Don't uppercase the service name. [7357b0da7589] * src/util/doveadm.c: doveadm: Added -a parameter to perform the operation to all users. [5ef2a14b4527] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: mail storage multi service: Added support for iterating through all users. [0e02c867b15a] * src/lib-auth/auth-master.c, src/lib-auth/auth-master.h: lib-auth: Added support for iterating through all users. [77d6b5eb0963] * src/auth/userdb-passwd-file.c: userdb passwd-file: Fixes to user listing. [6557ed6fc4e1] * src/imap/cmd-append.c: APPEND: Don't assert-crash if message size parameter isn't given. [22369ac2c99c] 2009-05-14 Timo Sirainen * src/login-common/ssl-proxy-openssl.c: login: Support per-connection ssl_cert/ssl_key. [a5973f031e7a] * src/imap-login/client.c, src/pop3-login/client.c: Crashfix to previous commit. [90312c7416c3] * src/imap-login/client-authenticate.c, src/imap-login/client- authenticate.h, src/imap-login/client.c, src/imap-login/imap- proxy.c, src/login-common/client-common.c, src/login-common/client- common.h, src/login-common/common.h, src/login-common/login-proxy.c, src/login-common/login-settings.c, src/login-common/login- settings.h, src/login-common/main.c, src/login-common/sasl-server.c, src/login-common/ssl-proxy-openssl.c, src/login-common/ssl-proxy.h, src/pop3-login/client-authenticate.c, src/pop3-login/client.c, src/pop3-login/pop3-proxy.c: login processes: Added initial support for per-connection configuration. [02721ba17309] * src/lib-master/master-service-private.h, src/lib-master/master- service-settings.c, src/lib-master/master-service.c, src/lib-master /master-service.h: lib-master: Added support for keeping config connection open and reusing it for later requests. [6bb773332683] * src/config/config-request.c, src/lib-settings/settings-parser.c, src /lib-settings/settings-parser.h, src/master/master-settings.c: Removed SET_INTERNAL, it's unnecessary. [11e974e40f7b] * src/lib-settings/settings-parser.c: settings_dup(): Copy only the settings, leave the rest of the struct zeroed out. [8e7809057f85] * src/imap/imap-client.c: imap: When multiple commands are pipelined, try harder to combine their mailbox syncing together. [2da7dec937d4] * src/master/service-process.c: master: Improved "out of memory" error message. [e7a3c0e6ba0f] * dovecot-master-example.conf: dovecot-master-example.conf updated. [3dae622212f4] * src/master/service-process.c: master: vsz_limit wasn't being enforced. [435298234943] 2009-05-13 Timo Sirainen * dovecot-example.conf, src/login-common/login-settings.c, src/login- common/login-settings.h, src/login-common/ssl-proxy-openssl.c: Renamed ssl_cert_file to ssl_cert and ssl_key_file to ssl_key. Instead of pointing to files they now contain the certs directly. [c38f3fb4c6b6] * src/config/config-connection.c, src/config/config-parser.c, src/config/config-parser.h, src/config/doveconf.c, src/config/main.c, src/lib-settings/settings-parser.c, src/lib- settings/settings-parser.h: config: If value contains * doc/dovecot-ldap-example.conf, doc/dovecot-sql-example.conf, src/auth/auth-master-connection.c, src/auth/auth-worker-client.c, src/auth/auth-worker-server.c, src/auth/auth-worker-server.h, src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/db-passwd-file.h, src/auth/db-sql.c, src/auth/db-sql.h, src/auth/main.c, src/auth /passdb-blocking.c, src/auth/passdb-ldap.c, src/auth/passdb.c, src/auth/userdb-blocking.c, src/auth/userdb-blocking.h, src/auth /userdb-checkpassword.c, src/auth/userdb-ldap.c, src/auth/userdb- nss.c, src/auth/userdb-passwd-file.c, src/auth/userdb-passwd.c, src/auth/userdb-prefetch.c, src/auth/userdb-sql.c, src/auth/userdb- static.c, src/auth/userdb-vpopmail.c, src/auth/userdb.c, src/auth/userdb.h: Implemented support for listing all users in userdb. [1d7965092e0e] * dovecot-example.conf: dovecot-example.conf: Clarified that commented sections or plugin settings aren't defaults. [f5b6974cbee7] 2009-05-12 Timo Sirainen * src/lib-sql/driver-pgsql.c: pgsql: We didn't read all the SQL packets replies from the server. [d467712aee77] * src/lib-dict/dict-sql.c, src/lib-sql/driver-mysql.c, src/lib-sql /driver-pgsql.c, src/lib-sql/driver-sqlite.c, src/lib-sql/sql-api- private.h, src/lib-sql/sql-api.c, src/lib-sql/sql-api.h: SQL API change: SQL results can be now refed/unrefed. [f9ebd72a73e8] * src/lib-master/master-service.c: DEBUG: Preserve GDB environment when executing doveconf. [2eecf682262a] * src/lib-master/master-service.c: master services: When accepting connections, set them nonblocking. [f389f56a68a8] * src/auth/auth-settings.c: Compiler warning fix. [269cebf1aad4] * dovecot-master-example.conf, src/auth/auth-worker-server.c: Fixed using auth worker processes. [e5f4cce3ef7a] * src/auth/db-ldap.c: ldap: When using the same LDAP attribute multiple times, give an error message. [b4dcdc5ccd8e] * src/auth/db-ldap.c: LDAP: If LDAP_OPT_ERROR_STRING gives more information, log it. [11b6aab8a203] 2009-05-11 Timo Sirainen * src/config/Makefile.am, src/config/all-settings.h, src/config /config-connection.c, src/config/config-filter.c, src/config/config- filter.h, src/config/config-parser.c, src/config/config-parser.h, src/config/config-request.c, src/config/config-request.h, src/config/doveconf.c, src/imap/main.c, src/lda/main.c, src/lib- master/master-service-settings.c, src/lib-master/master-service- settings.h, src/lib-storage/mail-storage-service.c, src/lib-storage /mail-storage-service.h, src/login-common/login-settings.c, src/pop3/main.c: config handling fixes and improvements. Separated module/service lookups. Added support for per-lip/rip settings. [5d0a69504867] * src/lib-settings/settings-parser.c: settings_parser_dup() fixes. [7604073a4ccc] * src/auth/auth-settings.c: auth settings: Make sure we have a section name defined. [5e80d667a827] * src/lib-test/test-common.lo, src/lib-test/test-common.o: test-common.l?o shouldn't have been added to hg. [36bdeba8f39a] * src/lib/data-stack.c: DEBUG: data-stack buffer overflow checking code was causing false positives. [8fc3639ef601] 2009-05-09 Timo Sirainen * .hgignore, configure.in, src/Makefile.am, src/lib-imap/Makefile.am, src/lib-imap/test-imap.c, src/lib-index/Makefile.am, src/lib-index /mail-index-transaction-export.c, src/lib-index/mail-index- transaction.c, src/lib-index/mail-transaction-log-append.c, src/lib- index/mail-transaction-log.h, src/lib-index/test-index.c, src/lib- index/test-index.h, src/lib-index/test-transaction-log-view.c, src /lib-mail/Makefile.am, src/lib-mail/test-mail.c, src/lib- test/Makefile.am, src/lib-test/test-common.c, src/lib-test/test- common.h, src/lib-test/test-common.lo, src/lib-test/test-common.o, src/lib/Makefile.am, src/lib/test-istream.c, src/lib/test-lib.c, src/lib/test-lib.h, src/tests/Makefile.am, src/tests/test-common.c, src/tests/test-common.h, src/tests/test-imap.c, src/tests/test- istream.c, src/tests/test-lib.c, src/tests/test-lib.h, src/tests /test-mail.c: Tests are now run on "make check". Added initial tests for lib- index. Moved old tests away from tests/ to libraries' individual directories. [665ea7a8d26e] * src/config/Makefile.am: config: Added missing header to Makefile.am [2090983d37fa] * src/lmtp/Makefile.am: lmtp: Added main.h to Makefile.am. [8e0ff6b00221] * src/Makefile.am: Makefile.am: anvil was missing from SUBDIRS [7919f307a5cd] * src/lib-index/mail-index-transaction-export.c, src/lib-index/mail- transaction-log-append.c, src/lib-index/mail-transaction-log.h: More cleanups to transaction log writing code. [0e407ad46307] * src/imap/cmd-list.c, src/lib-storage/mail-namespace.c: Allow prefix="" namespace to have list=no and make it work in a somewhat useful way. Based on patch by Mark Washenberger. [e144fa1dd2ce] * src/lib-index/Makefile.am, src/lib-index/mail-index-transaction- export.c, src/lib-index/mail-index-transaction-finish.c, src/lib- index/mail-index-transaction-private.h, src/lib-index/mail-index- transaction-sort-appends.c, src/lib-index/mail-index-transaction.c, src/lib-index/mail-transaction-log-append.c, src/lib-index/mail- transaction-log.h: Moved transaction commiting code to mail-index-transaction-*.c [937dca181d77] * src/lib-index/Makefile.am, src/lib-index/mail-transaction-log-view- private.h, src/lib-index/mail-transaction-log-view.c: Transaction log view code cleanups. [08cf5c1814ef] * src/lib-index/mail-transaction-log-view.c, src/lib-index/mail- transaction-log.h: mail_transaction_log_view_clear() should keep oldest_file_seq and newer referenced. [4d6f33fa08ee] * src/lib-index/mail-transaction-log-view.c: Removed assert. [5e1a4020a277] 2009-05-07 Timo Sirainen * src/lib-sql/driver-pgsql.c: pgsql: We hadn't called PQsetnonblocking(). [0f03cd2679c6] 2009-05-06 Timo Sirainen * src/config/config-parser.c: config: Code cleanup. [cbade54216a6] * configure.in: configure: Show also list of disabled passdbs/userdbs/sql drivers. [df8b1ae676fe] * configure.in: configure: Version number is nowadays 2.0, not 1.3. [e661cd70e425] * src/auth/auth-settings.c, src/lib-master/master-service-settings.c, src/lib-master/master-service-settings.h, src/lib-storage/mail- storage-service.c, src/log/main.c, src/login-common/login- settings.c, src/master/main.c: mail processes now specify user/lip/rip in config requests. [4bf901b4c402] * src/master/main.c: master: Added dovecot stop and dovecot reload parameters. [64a7a1a3fe33] * src/lib-master/master-service-settings.c: Fixed running / when building absolute path for doveconf -e. [031bfa5a8995] * src/master/main.c: dovecot: Fixed --parameters. [0b74ad9372d9] * src/master/master-settings.c, src/master/master-settings.h, src/master/service-process.c: master: If mail_debug=yes, set DEBUG=1 environment to auth- destination processes. [3e5c6e2367db] * src/lib-master/master-service-private.h, src/lib-master/master- service-settings.c, src/lib-master/master-service.c, src/lib- settings/settings-parser.c, src/lib-settings/settings-parser.h: Binaries now take -o key=value parameters to override settings. [1cb45d4389d4] * src/config/config-request.c, src/lib-master/master-service- settings.h: config: Give master service settings to all requests. [c57038025171] * src/config/Makefile.am, src/config/doveconf.c, src/config/sysinfo- get.c, src/config/sysinfo-get.h: doveconf -n, -a: Show version number, config file path and system info. [30d771700232] * src/master/main.c: dovecot: Forward dovecot -a, -n to doveconf. [955e68007ada] 2009-05-05 Timo Sirainen * .hgignore, TODO, configure.in, dovecot-master-example.conf, src/anvil/Makefile.am, src/anvil/anvil-connection.c, src/anvil /anvil-connection.h, src/anvil/common.h, src/anvil/connect-limit.c, src/anvil/connect-limit.h, src/anvil/main.c, src/imap- login/client.c, src/imap/imap-client.c, src/imap/imap-client.h, src /lib-master/master-interface.h, src/lib-master/master-service- settings.c, src/lib-master/master-service.c, src/lib-master/master- service.h, src/lib-storage/mail-user.c, src/lib-storage/mail-user.h, src/login-common/common.h, src/login-common/login-settings.c, src /login-common/login-settings.h, src/login-common/main.c, src/login- common/sasl-server.c, src/master/Makefile.am, src/master/master- settings.c, src/master/service-anvil.c, src/master/service-anvil.h, src/master/service-auth-server.c, src/master/service-log.c, src/master/service-log.h, src/master/service-monitor.c, src/master /service-process-notify.c, src/master/service-process-notify.h, src/master/service-process.c, src/master/service-process.h, src/master/service.c, src/master/service.h, src/pop3-login/client.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h: Implemented anvil service, which is used to implement mail_max_userip_connections. [2e2b957f1cca] * src/login-common/login-settings.c, src/login-common/login- settings.h: Removed login_dir setting. It's really not useful. [783a81c3deb7] * src/config/config-connection.c, src/config/config-connection.h: config: Removed unnecessary code. [770a02e0dbd2] * src/auth/auth-stream.c, src/lib/strescape.c, src/lib/strescape.h: Added str_tabescape*() to write escaped strings to Dovecot's IPC protocols. [2dcf2f313329] * src/master/service.c: SERVICE_TYPE_AUTH_SOURCE wasn't used. [8f770c8ad198] * src/master/main.c, src/master/master-settings.c: Verify that service type string is known. Removed auth-destination type. [d83bfe8c38c2] * src/config/config-parser.c, src/config/config-parser.h, src/config/doveconf.c, src/config/main.c: doveconf/config cleanups. [e5303fd61b5c] * dovecot-master-example.conf: dovecot-master-example.conf updated. [e91bca10d5a1] * src/config/Makefile.am, src/config/config-connection.c, src/config /config-connection.h, src/config/config-request.h, src/config/doveconf.c, src/config/main.c: Split doveconf and libexec/dovecot/config binaries. [f155917f1615] * src/master/common.h, src/master/main.c, src/master/master- settings.c, src/master/master-settings.h, src/master/service- process.c, src/master/service.c: master: Added back some startup checks/fixes. [0ca7ed260f1e] * src/auth/main.c: auth: Minor code cleanup. [b510683ab83c] * src/lib/failures.c, src/lib/failures.h: Added i_get_failure_handlers(). [da94fa5953ec] * src/master/main.c: master: Check PID file existence at startup before doing anything. [b1c6b740a4a1] * src/master/service.c: services: If group isn't explicitly set, use user's primary group. [9e02485f6e3d] * src/pop3/main.c: pop3: Don't verify fd leaks here. [f41ce5378722] 2009-05-05 Mark Washenberger * src/auth/Makefile.am, src/imap/Makefile.am, src/lib- auth/Makefile.am, src/lib-charset/Makefile.am, src/lib- dict/Makefile.am, src/lib-imap/Makefile.am, src/lib- index/Makefile.am, src/lib-lda/Makefile.am, src/lib- mail/Makefile.am, src/lib-settings/Makefile.am, src/lib- sql/Makefile.am, src/lib-storage/Makefile.am, src/lib- storage/index/Makefile.am, src/lib-storage/index/cydir/Makefile.am, src/lib-storage/index/dbox/Makefile.am, src/lib- storage/index/maildir/Makefile.am, src/lib- storage/index/mbox/Makefile.am, src/lib- storage/index/raw/Makefile.am, src/lib- storage/index/shared/Makefile.am, src/lib-storage/list/Makefile.am, src/lib/Makefile.am, src/pop3/Makefile.am: Flattened header namespace on install. [3cac418eeab5] * src/auth/Makefile.am, src/auth/auth-cache.c, src/auth/auth-client- connection.c, src/auth/auth-common.h, src/auth/auth-master- connection.c, src/auth/auth-request-handler.c, src/auth/auth- request.c, src/auth/auth-stream.c, src/auth/auth-worker-client.c, src/auth/auth-worker-server.c, src/auth/auth.c, src/auth/common.h, src/auth/db-checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd- file.c, src/auth/db-sql.c, src/auth/main.c, src/auth/mech- anonymous.c, src/auth/mech-apop.c, src/auth/mech-cram-md5.c, src/auth/mech-digest-md5.c, src/auth/mech-gssapi.c, src/auth/mech- login.c, src/auth/mech-ntlm.c, src/auth/mech-otp-skey-common.c, src/auth/mech-otp-skey-common.h, src/auth/mech-otp.c, src/auth/mech- plain-common.c, src/auth/mech-plain-common.h, src/auth/mech-plain.c, src/auth/mech-rpa.c, src/auth/mech-skey.c, src/auth/mech-winbind.c, src/auth/mech.c, src/auth/otp-skey-common.c, src/auth/otp-skey- common.h, src/auth/passdb-blocking.c, src/auth/passdb-bsdauth.c, src/auth/passdb-cache.c, src/auth/passdb-checkpassword.c, src/auth /passdb-ldap.c, src/auth/passdb-pam.c, src/auth/passdb-passwd- file.c, src/auth/passdb-passwd.c, src/auth/passdb-shadow.c, src/auth /passdb-sia.c, src/auth/passdb-sql.c, src/auth/passdb-vpopmail.c, src/auth/passdb.c, src/auth/plain-common.c, src/auth/plain-common.h, src/auth/userdb-blocking.c, src/auth/userdb-checkpassword.c, src/auth/userdb-ldap.c, src/auth/userdb-nss.c, src/auth/userdb- passwd-file.c, src/auth/userdb-passwd.c, src/auth/userdb-prefetch.c, src/auth/userdb-sql.c, src/auth/userdb-static.c, src/auth/userdb- vpopmail.c, src/auth/userdb.c, src/imap/Makefile.am, src/imap/client.c, src/imap/client.h, src/imap/cmd-append.c, src/imap/cmd-cancelupdate.c, src/imap/cmd-capability.c, src/imap /cmd-check.c, src/imap/cmd-close.c, src/imap/cmd-copy.c, src/imap /cmd-create.c, src/imap/cmd-delete.c, src/imap/cmd-enable.c, src/imap/cmd-examine.c, src/imap/cmd-expunge.c, src/imap/cmd- fetch.c, src/imap/cmd-id.c, src/imap/cmd-idle.c, src/imap/cmd- list.c, src/imap/cmd-logout.c, src/imap/cmd-lsub.c, src/imap/cmd- namespace.c, src/imap/cmd-noop.c, src/imap/cmd-rename.c, src/imap /cmd-search.c, src/imap/cmd-select.c, src/imap/cmd-sort.c, src/imap /cmd-status.c, src/imap/cmd-store.c, src/imap/cmd-subscribe.c, src/imap/cmd-thread.c, src/imap/cmd-uid.c, src/imap/cmd-unselect.c, src/imap/cmd-unsubscribe.c, src/imap/cmd-x-cancel.c, src/imap /commands-util.c, src/imap/commands-util.h, src/imap/commands.c, src/imap/commands.h, src/imap/common.h, src/imap/imap-client.c, src/imap/imap-client.h, src/imap/imap-commands-util.c, src/imap /imap-commands-util.h, src/imap/imap-commands.c, src/imap/imap- commands.h, src/imap/imap-common.h, src/imap/imap-expunge.c, src/imap/imap-fetch-body.c, src/imap/imap-fetch.c, src/imap/imap- search-args.c, src/imap/imap-search.c, src/imap/imap-status.c, src/imap/imap-sync.c, src/imap/mail-storage-callbacks.c, src/imap/main.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins /imap-quota/imap-quota-plugin.c, src/pop3-login/client- authenticate.c, src/pop3/Makefile.am, src/pop3/capability.h, src/pop3/client.c, src/pop3/client.h, src/pop3/commands.c, src/pop3/commands.h, src/pop3/common.h, src/pop3/main.c, src/pop3/pop3-capability.h, src/pop3/pop3-client.c, src/pop3/pop3-client.h, src/pop3/pop3-commands.c, src/pop3/pop3-commands.h, src/pop3/pop3-common.h: Renamed headers to prevent collision if they were flattened on an install. [97cdfeb57129] 2009-05-04 Timo Sirainen * src/lib-master/master-service-private.h, src/lib-master/master- service.c, src/lib-master/master-service.h, src/login-common/main.c, src/master/master-settings.c, src/master/master-settings.h, src/master/service-process.c: inet_listeners now support ssl=yes. For now only login processes support it. [4a42f694b762] * src/login-common/ssl-proxy-openssl.c: Fixed SSL parameter file reading in login processes. [5595d6d07a47] * dovecot-master-example.conf: Added names to services. [8d4b7abdcf3a] * src/lib/failures.c, src/lib/failures.h, src/master/service- process.c: Removed LOG_TYPE_ERROR_IGNORE_IF_SEEN_FATAL. It's no longer necessary. [b57e1c3ea3f7] * src/lib-master/master-interface.h, src/lib-master/master-service.c, src/log/log-connection.c, src/log/log-connection.h, src/log/main.c, src/master/service-log.c, src/master/service-log.h, src/master /service-process.c, src/master/service-process.h, src/master/service.c, src/master/service.h: master: Fixes to handling logging. Master now has a non-blocking write pipe to log process, so it no longer blocks if log process is hanging. Also it's cleaner to send log commands via a pipe specifically meant for them. [7def7fa61d68] * src/master/master-settings.c, src/master/master-settings.h, src/master/service-auth-server.c, src/master/service-auth-source.c, src/master/service-listen.c, src/master/service-log.c, src/master /service-monitor.c, src/master/service-process.c, src/master/service.c, src/master/service.h: Require each service to have a unique name. Log service errors using service_error(). [7b3accdf44f8] * src/master/main.c: Minor error message fix. [7b110aa9fac5] * src/master/master-settings.c: service settings: Base relative chroots under base_dir. [66bb019c664c] * src/dict/dict-settings.c, src/lib-master/master-service-settings.c: settings_parser_check() return value was checked wrong. [189a92535cc7] * src/lib-storage/index/dbox/dbox-sync-rebuild.c: dbox: Compiling fix for previous maildir changes. [419b35be0823] * src/lib-storage/index/maildir/maildir-save.c, src/lib- storage/index/maildir/maildir-sync-index.c, src/lib- storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir /maildir-uidlist.c, src/lib-storage/index/maildir/maildir-uidlist.h: Maildir: More fixes to uidlist handling. [236509dddd3c] * src/lib-storage/index/dbox/dbox-file-maildir.c, src/lib- storage/index/maildir/maildir-copy.c, src/lib-storage/index/maildir /maildir-mail.c, src/lib-storage/index/maildir/maildir-sync.c, src /lib-storage/index/maildir/maildir-uidlist.c, src/lib- storage/index/maildir/maildir-uidlist.h, src/lib- storage/index/maildir/maildir-util.c: Maildir: Handle uidlist errors better. [d04b97ed7ac4] * src/lib-storage/index/maildir/maildir-uidlist.c: Maildir saving: Fixed race condition bugs in uidlist handling, causing files to be given new UIDs sometimes. [9b6ca1680cd2] * src/lib-mail/rfc2231-parser.c: Try to skip over errors in Content-Type parameters. [1cdee5c559ca] 2009-05-03 Timo Sirainen * configure.in, src/lib/randgen.c: If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom. [1849c4269ad8] * src/lib/primes.c: Compiler warning fix. [a035febf39d4] 2009-05-02 Timo Sirainen * src/imap/cmd-idle.c: IDLE: Check DONE case-insensitively. [4067b6e7f515] * src/plugins/virtual/virtual-config.c: virtual: Open the dovecot-virtual as readonly, we don't need to write to it. [10f2650ce56b] 2009-05-01 Timo Sirainen * doc/Makefile.am, doc/dovecot-initd.sh: Added example init.d/dovecot script. [493de7a6d411] * src/lib-storage/index/shared/shared-storage.c: shared mailboxes: Don't crash if trying to open "shared/domain" namespace prefix as mailbox. [45ab7d730968] * src/plugins/virtual/virtual-storage.c: virtual: Don't show mailboxes as \Noselect. [f5eb54133c9d] * src/plugins/mbox-snarf/mbox-snarf-plugin.c: mbox-snarf plugin: Fixed memory/io leaking. [2e7503221cb7] * src/lib-mail/istream-header-filter.c, src/lib-storage/index/istream- mail-stats.c, src/lib/istream-internal.h, src/lib/istream-limit.c, src/lib/istream.c: istreams: Fixed some parent stream seeking issues. [ef0c861608d9] * src/lib-storage/index/mbox/mbox-sync.c: mbox: Don't crash when expunging all messages and file doesn't end with [CR]LF. [01c0d64e5f91] * src/lib-storage/index/mbox/istream-raw-mbox.c: mbox: Fix to handling CRs before From_ lines. [44bd81c9d11a] * src/plugins/virtual/virtual-config.c: virtual: Allow search rules to begin with TAB instead of space. [39f66363ec56] * src/lib/file-dotlock.c: dotlocking: Don't generate "Will override dotlock in 0 secs" messages. [4f12a7c7f140] * src/lib/safe-mkstemp.c: safe_mkstemp()'s mode parameter didn't override umask as it was supposed to. [92d0383cc323] 2009-04-30 Timo Sirainen * src/lib-dict/dict-file.c: dict-file: When replacing the dict file, preserve its permissions. [cc280979ea8d] * src/lib-storage/mailbox-list.c: When :MAILBOXDIR= was empty, we might have appended extra '/' to it, which caused problems. [c0c4e6e75366] * src/lib-storage/index/mbox/mbox-storage.c: mbox: When skipping subscriptions file, use the configured filename instead of hardcoded one. [430eabd745a1] * src/lib-master/master-service-settings.c, src/master/service- process.c: Fixed passing settings from userdb to mail processes. [f86e83fa9dd4] * src/lib-storage/index/maildir/maildir-sync.c: maildir: Don't assert-crash if we have no read-access to the Maildir. [dcad675890c1] * src/auth/Makefile.am, src/auth/auth-client-interface.h, src/lib- auth/Makefile.am, src/lib-auth/auth-client-interface.h, src/lib-auth /auth-client.h: Moved auth-client-interface.h to lib-auth/. [637b627efbf1] * src/master/master-settings.c: master: Removed unused code. [afdeb38c338f] * src/master/service-process.c: Don't allow auth source/destination services to run as root. [bfe448b4951f] * src/master/service-log.c, src/master/service-process.c, src/master /service-process.h: master: Fixed logging process related bugs. [2f293c844e31] * src/config/config-connection.c: config: service names had an extra "service=". [150a98d2407c] * src/lib-dict/dict-file.c: dict-file: If file_dotlock_open() fails, log also the path. [ea0b68301004] * src/config/Makefile.am, src/config/common.h, src/config/config- connection.c, src/config/config-connection.h, src/config/config- parser.c, src/config/config-parser.h, src/config/config-request.c, src/config/config-request.h, src/config/main.c, src/config/settings- get.pl, src/imap/imap-settings.c, src/lib-lda/lda-settings.c, src /lib-settings/settings-parser.h, src/pop3/pop3-settings.c: doveconf: With -p only protocol-specific settings are returned. -n and -a return human-readable output. [f8460b27db00] * src/lib/array-decl.h: Defined ARRAY_TYPE(uint). [13bbdd7b15b8] * src/config/settings-get.pl, src/lib-storage/mail-storage-settings.c, src/pop3/client.c, src/pop3/client.h, src/pop3/commands.c, src/pop3/main.c, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h: Moved pop3_uidl_format checking to mail-storage-settings. [e4cc93190ec3] 2009-04-29 Timo Sirainen * src/lib-storage/mail-storage-service.c: mail-storage-service: Callmaster_service_init_finish(). [cf026a9180f1] * src/lib-master/master-service-settings.c: master: Don't fail startup if the full path to dovecot wasn't in argv[0]. [9ef2d07f786d] * src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox /dbox-mail.c, src/lib-storage/index/index-search.c, src/lib- storage/index/maildir/maildir-mail.c, src/lib-storage/index/raw/raw- mail.c, src/lib-storage/mail-storage-private.h: Split struct mail_private.stats_dentry_lookup_count to open/stat counts. [1ad6926f46a2] * src/util/rawlog.c: rawlog: If mail_debug=yes, log if dovecot.rawlog/ directory doesn't exist. [396cd2e86103] * src/lib-storage/mail-storage.c: Shared mailboxes: Fixed a bug where some mailboxes were added to root shared namespace. [fa8f044040e1] * src/lib-storage/index/maildir/maildir-uidlist.c: maildir: Don't show "* OK" messages about lock waits too early. [c9ca36745670] * src/plugins/virtual/virtual-storage.c: Virtual: If opening a virtual mailbox fails, don't leak memory/timeouts. [c26e1b2f32c0] * src/plugins/virtual/virtual-config.c: virtual: If last search rule was invalid, we gave "Unknown error". [13698b875984] * dovecot-example.conf: dovecot-example.conf: Improved rawlog example. [6f4a4db41c44] * src/auth/db-ldap.c: ldap: If first request is over 60 seconds old while a new request comes, reconnect. [97984b1fd5f8] * src/login-common/ssl-proxy-openssl.c: ssl-proxy: Crashfix to previous commit. [39565c3eb1b3] 2009-04-28 Timo Sirainen * src/imap-login/client-authenticate.c, src/imap-login/client.h, src /imap-login/imap-proxy.c, src/imap-login/imap-proxy.h, src/login- common/login-proxy.c, src/login-common/login-proxy.h, src/login- common/ssl-proxy-openssl.c, src/login-common/ssl-proxy.c, src/login- common/ssl-proxy.h, src/pop3-login/client-authenticate.c, src/pop3-login/client.h, src/pop3-login/pop3-proxy.c, src/pop3-login/pop3-proxy.h: imap/pop3 proxy: Support SSL/TLS connections to remote servers. passdb can return ssl=yes, ssl=any-cert and starttls options. [96678e83eab6] * src/lib-storage/index/index-search.c: Use the new mail_private.stats_* fields to stop non-blocking searches after about 250 ms. [9b8bf57405c8] * src/lib-storage/index/Makefile.am, src/lib-storage/index/cydir /cydir-mail.c, src/lib-storage/index/dbox/dbox-file.h, src/lib- storage/index/dbox/dbox-mail.c, src/lib-storage/index/index-mail- headers.c, src/lib-storage/index/index-mail.c, src/lib-storage/index /index-mail.h, src/lib-storage/index/istream-mail-stats.c, src/lib- storage/index/istream-mail-stats.h, src/lib-storage/index/maildir /maildir-mail.c, src/lib-storage/index/raw/raw-mail.c, src/lib- storage/mail-storage-private.h: struct mail_private now contains all kinds of statistics about file accesses. [be7413b0e0e0] * src/lib-storage/index/index-search.c: Search: Perform all lookups from cache before attempting any uncached lookups. [3727bfc568b9] * src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox /dbox-mail.c, src/lib-storage/index/maildir/maildir-mail.c, src/lib- storage/index/mbox/mbox-mail.c, src/lib-storage/index/raw/raw- mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage /mail-storage.h, src/lib-storage/mail.c: Added struct mail.lookup_abort, which can be used to abort lookups that can't be done using cache. [03a5f5cf6b4c] 2009-04-23 Timo Sirainen * dovecot-example.conf, dovecot-master-example.conf: Added example dovecot-master.conf. [1cd9808147e3] * .hgignore, TODO, configure.in, src/Makefile.am, src/auth/Makefile.am, src/auth/auth-client-connection.c, src/auth /auth-client-connection.h, src/auth/auth-master-connection.c, src/auth/auth-master-connection.h, src/auth/auth-master-interface.h, src/auth/auth-master-listener.c, src/auth/auth-master-listener.h, src/auth/auth-settings.c, src/auth/auth-settings.h, src/auth/auth- worker-client.c, src/auth/common.h, src/auth/db-ldap.c, src/auth/main.c, src/config/Makefile.am, src/config/common.h, src/config/config-connection.c, src/config/config-connection.h, src/config/main.c, src/config/settings-get.pl, src/imap- login/Makefile.am, src/imap-login/client.c, src/imap-login/client.h, src/imap-login/imap-proxy.c, src/imap/main.c, src/lda/main.c, src /lib-master/Makefile.am, src/lib-master/master-auth.c, src/lib- master/master-auth.h, src/lib-master/master-interface.h, src/lib- master/master-service-private.h, src/lib-master/master-service- settings.c, src/lib-master/master-service.c, src/lib-master/master- service.h, src/lib-settings/settings-parser.c, src/lib-settings /settings-parser.h, src/lib-storage/mail-storage-service.c, src/lib- storage/mail-storage-settings.c, src/lib-storage/mail-storage- settings.h, src/lib/failures.c, src/lib/failures.h, src/lib /restrict-access.c, src/lib/restrict-access.h, src/lmtp/client.c, src/lmtp/main.c, src/log/Makefile.am, src/log/common.h, src/log/log- connection.c, src/log/log-connection.h, src/log/main.c, src/login- common/Makefile.am, src/login-common/client-common.h, src/login- common/common.h, src/login-common/login-proxy.c, src/login-common /login-proxy.h, src/login-common/login-settings.c, src/login-common /login-settings.h, src/login-common/main.c, src/login- common/master.c, src/login-common/master.h, src/login-common/sasl- server.c, src/login-common/sasl-server.h, src/login-common/ssl- proxy-openssl.c, src/login-common/ssl-proxy.c, src/login-common/ssl- proxy.h, src/master/Makefile.am, src/master/auth-process.c, src/master/auth-process.h, src/master/child-process.c, src/master /child-process.h, src/master/common.h, src/master/dict-process.c, src/master/dict-process.h, src/master/listener.c, src/master/listener.h, src/master/log.c, src/master/log.h, src/master/login-process.c, src/master/login-process.h, src/master /mail-process.c, src/master/mail-process.h, src/master/main.c, src/master/master-login-interface.h, src/master/master-settings.c, src/master/master-settings.h, src/master/service-auth-server.c, src/master/service-auth-server.h, src/master/service-auth-source.c, src/master/service-auth-source.h, src/master/service-listen.c, src/master/service-listen.h, src/master/service-log.c, src/master /service-log.h, src/master/service-monitor.c, src/master/service- monitor.h, src/master/service-process.c, src/master/service- process.h, src/master/service.c, src/master/service.h, src/master /sysinfo-get.c, src/master/sysinfo-get.h, src/plugins/convert /convert-tool.c, src/pop3-login/Makefile.am, src/pop3-login/client.c, src/pop3-login/client.h, src/pop3-login/pop3-proxy.c, src/pop3/main.c: Initial commit for v2.0 master rewrite. Several features are still missing. [6324a79d3ee1] * configure.in: configure: Removed --with-* parameters for passdbs/userdbs that don't require external libraries. There's really no point in disabling them in configure stage. [69aa6e878a59] * configure.in: configure: Removed --disable-ipv6 parameter. There's really no point having it. Originally it was added back when some OSes had broken IPv6 support, but those OSes should be long gone by now. Also we still support automatically building without IPv6 support if it's not detected. [ee378a4ba6cd] * src/lib-mail/message-header-parser.c: Message header parser didn't skip all LWSP at the beginning of headers, only one. Patch by Johann Klasek. [cd85782b64f9] 2009-04-22 Timo Sirainen * src/imap-login/client.c, src/imap-login/client.h, src/imap-login /imap-proxy.c: imap-proxy: Send backend's CAPABILITY if it's different from what was sent to client before. [3dae5834ded3] * src/imap-login/client.c, src/master/login-process.c: imap-login: Generated IMAP capability wasn't being used. [213c2f313bc1] * src/auth/main.c, src/master/master-settings.c: Don't crash if auth settings don't contain any sockets. [f8508e7aca6c] * src/imap-login/imap-proxy.c: imap-proxy: Don't break ID capability check if it's the last capability. [fa66e66850fa] 2009-04-21 Timo Sirainen * src/lib-settings/settings.c: Settings parser: !included files without absolute paths are relative to their parent config file. [cab82d03d00d] * src/config/config-parser.c: Settings parser: !included files without absolute paths are relative to their parent config file. [92825cc9a59c] 2009-04-20 Timo Sirainen * src/dict/Makefile.am, src/dict/dict-server.c, src/dict/dict- settings.c, src/dict/dict-settings.h, src/dict/main.c, src/master /dict-process.c, src/master/master-settings.c, src/master/master- settings.h: Moved most of the dict settings handling to dict binary. [6d374fc3ae1d] * src/lib/failures.c: Removed accidentally committed debug warning. [e3f61d434616] * src/imap/main.c, src/lda/main.c, src/lib-storage/mail-storage- service.c, src/lib-storage/mail-storage-service.h, src/lib-storage /mail-storage-settings.c, src/lib-storage/mail-storage-settings.h, src/lib-storage/mail-user.c, src/lib/failures.c, src/lmtp/commands.c, src/plugins/convert/convert-tool.c, src/plugins/expire/expire-tool.c, src/pop3/main.c, src/util/doveadm.c: Pass remote/local IPs to mail_users. Standalone mail programs now log with mail_log_prefix. [bf448752f6c4] * src/auth/Makefile.am, src/config/Makefile.am, src/dict/Makefile.am, src/imap-login/Makefile.am, src/master/Makefile.am, src/pop3-login/Makefile.am, src/tests/Makefile.am, src/util/Makefile.am: Some binaries were missing list of library dependencies. [1e26166a3cf8] * src/plugins/virtual/virtual-sync.c: virtual: Reversed the broken "fix" in previous commit. [fb8b7ebf0baf] * src/plugins/virtual/virtual-sync.c: virtual: Some cleanups and fixes. [7c93e6c9cb0a] * src/lib/array.c: array_idx_clear() was broken when clearing an index outside the existing array. [9336cf20a96c] * src/imap/cmd-list.c: namespaces: list=children wasn't working correctly. [7c8fa884cd37] * src/lib-storage/index/shared/shared-list.c: shared mailboxes: LIST shared/% shouldn't list "%" entry. [1a49747f9445] * src/plugins/quota/quota-maildir.c: Maildir++ quota: Recalculation was broken if limits were defined by maildirsize file (and not quota_rules). [7be0a6c4bc6b] * src/lib-lda/mail-send.c: deliver: When forwarding messages, use -f parameter as return path and fallback to normalized Return-Path: header. [a3e0524e8af8] 2009-04-17 Timo Sirainen * src/config/common.h, src/config/config-connection.h, src/config /config-parser.h, src/login-common/login-settings.h: Code cleanup: Don't use __ prefix in header #defines. [3c8e0e094139] * src/lib-storage/index/shared/shared-storage.c: Allow shared namespaces to have subscriptions=yes. [40607877c3f9] * src/plugins/fts-solr/solr-connection.c: fts-solr: Don't break with curl versions older than v7.17. [35c69f57621e] * configure.in, src/lib-storage/Makefile.am: configure --without-shared-libs: Don't link other libraries to libstorage.a. [43ce0506a90b] * src/master/main.c: Removed unused code. [761fc36e0e34] * src/lmtp/commands.c: lmtp: If mail is >128 kB, write it to a temporary file. [a80db92d296b] * src/lib-storage/index/index-storage.h, src/lib-storage/mail-storage- private.h: Moved MAIL_READ_BLOCK_SIZE to mail-storage-private.h [dad05c75bd48] 2009-04-16 Timo Sirainen * src/plugins/quota/quota-maildir.c: maildir++ quota: Make sure we don't create maildirsize file to wrong namespace. [6284c1ff3e34] * src/plugins/imap-quota/imap-quota-plugin.c: imap-quota: Allow GETQUOTAROOT for public namespaces. [8517afb01903] * src/plugins/quota/quota-count.c, src/plugins/quota/quota-dict.c, src/plugins/quota/quota-dirsize.c, src/plugins/quota/quota- maildir.c, src/plugins/quota/quota-plugin.c, src/plugins/quota /quota-plugin.h, src/plugins/quota/quota-private.h, src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c: Implemented support for per-namespace quotas. Can be used with public namespaces. [f9c07af22f91] * src/lib-settings/settings-parser.c: settings_dup() didn't copy STRLISTs. [be738988c8ab] * src/imap/Makefile.am, src/lda/Makefile.am, src/pop3/Makefile.am: When using --disable-shared-libs, link with some unused .o files to get plugins working. [922868605499] * src/imap/main.c: imap: Initialize commands hash before plugins are initialized so they can register commands. [9ff1e79fffab] * src/lib-storage/mail-storage.c: When mailbox is successfully opened, mark its namespace as being usable. [dc220ff69fb8] * src/lib-storage/index/shared/shared-storage.c: shared mailboxes: Don't assert-crash if trying to look up "" user's mailboxes. [a061db71e166] * dovecot-example.conf, src/imap/cmd-idle.c, src/imap/imap-settings.c, src/imap/imap-settings.h: Added imap_idle_notify_interval setting. [edcafb3efbbf] * src/plugins/virtual/virtual-sync.c: virtual: Crashfix. Also cleaned up the code a bit. [d33915e5da10] * .hgignore, configure.in, src/Makefile.am, src/lmtp/Makefile.am, src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c, src/lmtp/commands.h, src/lmtp/main.c, src/lmtp/main.h: Initial implementation of LMTP server. Master process doesn't yet execute it though. [a957a6be4af5] * src/lib-master/master-service-settings.h: Compiler warning fix. [749339f9d1df] * src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h: mail_deliver(): Support returning a destination mail. [b16ec327b266] * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h: mail-storage-service: Fixes to handling multiple users. [03fe226e85d4] * src/lda/main.c: lmtp: Minor cleanup. [a9f61b63dc3d] 2009-04-15 Timo Sirainen * src/master/login-process.c: Compile fix for old non-C99 compilers. [b1e9bb291e70] * src/lib-storage/index/index-search-result.c: Search result updating: Make sure search args are initialized. [755d3c958892] * src/lib-storage/mail-search.c, src/lib-storage/mail-search.h: mail_search_args_[de]init() calls stack now. Last unref is still allowed without deiniting. [8b831d260dca] * src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts/fts- storage.c, src/plugins/fts/fts-storage.h: fts: Fixes to how virtual mailboxes are searched. [093c15fed377] * src/plugins/virtual/virtual-mail.c: virtual: Return original mailbox names with namespace prefix. [2ba85232848e] * src/lib-storage/list/mailbox-list-maildir.c: Maildir++ layout: Allow selecting namespace prefix if inbox=no. With Maildir this allows opening the "mailbox root" (i.e. INBOX). [8ea3e0549b5a] * src/plugins/virtual/virtual-config.c: virtual: Fixed using !INBOX when INBOX wasn't in prefix="" namespace. [def8b99b1a02] 2009-04-14 Timo Sirainen * src/plugins/fts-solr/fts-backend-solr.c: fts-solr: Fixes with virtual mailboxes. [4753aa4f1626] 2009-04-15 Timo Sirainen * src/lib-storage/mail-storage-service.c, src/lib-storage/mail- storage-service.h, src/plugins/expire/expire-tool.c: mail_storage_service_multi*() API change and fixes. [14ebbf71ef3e] * src/lib-settings/settings-parser.c, src/lib-settings/settings- parser.h: Added settings_parser_dup(). [a8dfff3ed857] * src/imap/main.c, src/lda/main.c, src/lib-storage/mail-storage- service.c, src/lib-storage/mail-storage-service.h, src/pop3/main.c: mail_storage_service_init*() can now take multiple set_roots. [fce3926fe910] * src/lib-lda/lda-settings.c, src/lib-lda/lda-settings.h: lda-settings doesn't need plugin_envs. [fdbc1902b4a9] 2009-04-14 Timo Sirainen * configure.in, src/auth/Makefile.am, src/config/Makefile.am, src/dict/Makefile.am, src/imap-login/Makefile.am, src/imap/Makefile.am, src/lda/Makefile.am, src/lib- dovecot/Makefile.am, src/lib-storage/Makefile.am, src/login- common/Makefile.am, src/master/Makefile.am, src/plugins/convert/Makefile.am, src/plugins/expire/Makefile.am, src/plugins/fts-squat/Makefile.am, src/pop3-login/Makefile.am, src/pop3/Makefile.am, src/tests/Makefile.am, src/util/Makefile.am: Added configure --without-shared-libs to link built binaries against static libraries. The libraries are still built and installed, so this is mainly useful for making life easier for developers. [c6d306772f4e] 2009-04-13 Timo Sirainen * src/lda/main.c, src/lib-storage/index/maildir/maildir-copy.c, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-storage.c: s/deliver/lda/ [5c12eac2c3ca] * src/lib-storage/index/dbox/dbox-storage.c, src/lib- storage/index/dbox/dbox-sync.c, src/lib-storage/index/index- storage.c, src/lib-storage/index/index-storage.h, src/lib- storage/index/index-sync.c: dbox: Don't crash if index files can't be opened. [8be5ca07189f] * src/imap/cmd-append.c, src/imap/cmd-copy.c, src/lib-lda/mail- deliver.c, src/lib-storage/index/index-status.c, src/lib- storage/index/index-transaction.c, src/lib-storage/mail-storage.h, src/plugins/quota/quota-storage.c: Changed MAILBOX_OPEN_FAST meaning a bit. Don't use it where it's unnecessary. [2e20a1a9bcd4] * src/lib-index/mail-index.c, src/lib-index/mail-index.h: Removed duplicate mail_index_is_in_memory(). [be8d15cb98e7] * src/lib-index/mail-index.c, src/lib-index/mail-index.h, src/lib- storage/index/maildir/maildir-uidlist.c: maildir: When saving messages, in some race conditions we might have written a duplicate UID. [67369ba9f447] * src/lib-index/mail-transaction-log-view.c: indexes: Added a new assert. [e2e481482c27] * src/lib-index/mail-index-map.c, src/lib-index/mail-transaction-log- append.c, src/lib-index/mail-transaction-log-file.c, src/lib-index /mail-transaction-log.c: indexes: Error handling fixes. [da5f1b89d4e1] * dovecot-example.conf: dovecot-example.conf: Fixed mail_plugin_dir defaults. [748c0741b25b] * src/Makefile.am: lib-lda wasn't being built. [93dc8f46b4af] * src/lib-storage/index/maildir/maildir-save.c: maildir saving: If dovecot-uidlist reading failed, we might have gone forward and crashed. [98e2f0e3503e] * src/login-common/login-settings.c: Fix to "SSL support not compiled in" error message. [f6bbb5c6d57c] * .hgignore, configure.in, src/Makefile.am, src/deliver/Makefile.am, src/deliver/deliver-settings.c, src/deliver/deliver-settings.h, src/deliver/deliver.c, src/deliver/deliver.h, src/deliver/duplicate.c, src/deliver/duplicate.h, src/deliver/mail- send.c, src/deliver/mail-send.h, src/deliver/smtp-client.c, src/deliver/smtp-client.h, src/lda/Makefile.am, src/lda/main.c, src /lib-lda/Makefile.am, src/lib-lda/duplicate.c, src/lib- lda/duplicate.h, src/lib-lda/lda-settings.c, src/lib-lda/lda- settings.h, src/lib-lda/mail-deliver.c, src/lib-lda/mail-deliver.h, src/lib-lda/mail-send.c, src/lib-lda/mail-send.h, src/lib-lda/smtp- client.c, src/lib-lda/smtp-client.h: Renamed deliver to dovecot-lda and moved most of its code to lib- lda. [e4832f128738] * configure.in, src/Makefile.am: Removed configure --with-deliver and --with-pop3d parameters. If you don't want them, just don't use them. There are a lot of other useless binaries also being compiled. [e7dc0fb735ff] * src/lib-storage/mail-storage-service.c: mail-storage-service: Don't do userdb lookups to get a missing home if it's not wanted. [a06b6fa612ad] * src/master/master-settings.c: dovecot -n/-a shouldn't try to create login directory. [ebec4c879cc3] * src/master/syslog-util.c, src/master/syslog-util.h: Removed syslog-util.*, they were already moved to lib-master. [0f72263501c6] * src/config/common.h, src/config/config-connection.c, src/config /config-connection.h, src/config/config-parser.c, src/config/config- parser.h, src/config/main.c: Some cleanups to the config parsing code. [81ff88345441] * src/lib-storage/index/dbox/dbox-file-fix.c, src/lib- storage/index/dbox/dbox-storage.h: dbox: When fixing a broken dbox file, keep a copy of the original broken file. [a19365f30de7] * src/deliver/deliver.c: deliver: Code cleanup [1c3ca4aa62b2] * src/lib-storage/mail-user.c: mail_user_alloc() now duplicates also the unexpanded_set input settings. [31389897ca8c] * src/deliver/deliver.c: Fixed deliver -p. [e2f48d895420] * src/lib-master/master-service-settings.c, src/lib-master/master- service-settings.h, src/lib-storage/mail-storage-service.c: Added master_service_set(). [ea2117eaa8d1] 2009-04-11 Timo Sirainen * dovecot-example.conf: dovecot-example.conf: Moved most of the settings inside protocol lda {} to root level. In future LMTP server will use the same settings. [0e10344711b8] * src/imap/Makefile.am, src/imap/client.c, src/imap/common.h, src/imap /imap-settings.c, src/imap/imap-settings.h, src/imap/main.c, src /lib-storage/mail-storage-service.c, src/lib-storage/mail-storage- service.h, src/master/child-process.c, src/pop3/Makefile.am, src/pop3/client.c, src/pop3/common.h, src/pop3/main.c, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h: imap and pop3 now use mail-storage-service API. [e560b92ed763] * src/util/doveadm.c: Removed unnecessary code. [a817f39d255f] * src/master/mail-process.c: dump-capability fix. [7ee8a3ea7b37] * src/lib-storage/index/mbox/mbox-storage.c: mbox: When doing autodetection, don't just create the missing mbox directory. [e77f2df8c666] * src/lib-storage/mail-storage-service.c: Assume unknown settings returned by userdb lookup are plugin settings. [52bf76fa5b85] * src/lib-index/mail-index-map.c, src/lib-storage/index/shared/shared- list.c: Memory leak fixes. [eb8a2d17fd44] * src/lib-settings/settings-parser.c: Sort environment for settings in reverse order, or it won't work.. [c77a3902dc5e] * src/lib-settings/settings-parser.c: Sort environ[] before feeding it to settings parser. This fixes running with valgrind. [dc3739ee4123] * src/util/maildirlock.c: Compile fix. [fb11dca591da] 2009-04-10 Timo Sirainen * src/lib-storage/index/dbox/dbox-map.c: dbox: Saving shouldn't give up so easily in using existing files. [c5ba9bc89ccb] * src/imap/client.c, src/imap/imap-settings.c, src/pop3/pop3-settings.c: Changed initial memory pool sizes. [8217998f8133] * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-file.h, src/lib-storage/index/dbox/dbox-map.c: dbox: Flush file input caches when needed so that we don't try to use partially written mails. [c957575afd8a] * src/lib-storage/index/dbox/dbox-save.c, src/lib-storage/index/dbox /dbox-sync.c, src/lib-storage/index/dbox/dbox-sync.h: dbox: Fix to auto-purging. [b7142ab35480] * src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox /dbox-map.h, src/lib-storage/index/dbox/dbox-sync.c, src/lib- storage/index/dbox/dbox-sync.h: dbox: If enough bytes have been expunged, force a purge. [53885f710b0b] * src/lib-master/master-service.c, src/lib-master/master-service.h, src/util/doveadm.c: doveadm: Log to stderr. [4f64d429985a] * src/plugins/virtual/virtual-storage.c: Compiler warning fix. [52eb87931e91] * src/lib-storage/index/dbox/dbox-sync.c, src/lib-storage/index/dbox /dbox-sync.h, src/lib-storage/index/maildir/maildir-sync.c, src/lib- storage/index/mbox/mbox-sync.c, src/lib-storage/mail-storage.c, src /lib-storage/mail-storage.h, src/util/doveadm.c: doveadm: Implemented force-resync functionality. [d8e8a9c447af] * src/lib-storage/mail-storage-service.c: Fixed problems with getting home directory. [daa079a90b66] * .hgignore, src/util/doveadm.c: Initial implementation of doveadm tool. [0b8009b5aff8] * src/lib-storage/index/cydir/cydir-storage.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox- sync.c, src/lib-storage/index/dbox/dbox-sync.h, src/lib- storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox /mbox-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib- storage/index/shared/shared-storage.c, src/lib-storage/mail-storage- private.h, src/lib-storage/mail-storage-service.c, src/lib-storage /mail-storage-service.h, src/lib-storage/mail-storage.c, src/lib- storage/mail-storage.h: Added mail_storage_purge() for dbox. dbox no longer calls it automatically at logout. [f3cfa467b3b3] 2009-04-09 Timo Sirainen * src/deliver/auth-client.c, src/deliver/auth-client.h, src/plugins/expire/auth-client.c, src/plugins/expire/auth-client.h: Removed unnecessary code. [cc4b794ac6b9] * configure.in, src/Makefile.am, src/deliver/Makefile.am, src/deliver /deliver-settings.c, src/deliver/deliver-settings.h, src/deliver/deliver.c, src/deliver/deliver.h, src/deliver/smtp- client.c, src/dict/main.c, src/imap/Makefile.am, src/imap/imap- settings.c, src/imap/imap-settings.h, src/imap/main.c, src/lib-auth /auth-master.h, src/lib-dovecot/Makefile.am, src/lib- master/Makefile.am, src/lib-master/master-service-private.h, src /lib-master/master-service-settings.c, src/lib-master/master- service-settings.h, src/lib-master/master-service.c, src/lib-master /master-service.h, src/lib-master/syslog-util.c, src/lib-master /syslog-util.h, src/lib-settings/settings-parser.c, src/lib-settings /settings-parser.h, src/lib-sql/Makefile.am, src/lib- storage/Makefile.am, src/lib-storage/mail-namespace.c, src/lib- storage/mail-storage-service.c, src/lib-storage/mail-storage- service.h, src/lib-storage/mail-storage-settings.c, src/lib-storage /mail-storage-settings.h, src/lib-storage/mail-user.c, src/lib- storage/mail-user.h, src/master/Makefile.am, src/master/child- process.c, src/plugins/convert/Makefile.am, src/plugins/convert /convert-settings.c, src/plugins/convert/convert-settings.h, src/plugins/convert/convert-tool.c, src/plugins/expire/Makefile.am, src/plugins/expire/auth-client.c, src/plugins/expire/expire- settings.c, src/plugins/expire/expire-settings.h, src/plugins/expire /expire-tool.c, src/pop3/Makefile.am, src/pop3/main.c, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h, src/util/Makefile.am: Added lib-master and mail-storage-service code that makes it easier to build new Dovecot binaries. Currently only the standalone applications (e.g. deliver) uses this. [94ecf8a8ed68] * src/lib/restrict-access.c: restrict-access: If running as root, don't give "couldn't drop root group privileges" error. [ace05d7b6da0] * src/auth/auth-settings.c, src/auth/main.c: auth: Fixed listening in extra master/client sockets. [c1b201243d52] * src/lib-dict/dict-sql.c: dict-sql: Don't crash if iteration sees a NULL value in path. [40b5b098817b] * src/lib/restrict-access.c: restrict-access: Minor code cleanup. [af9ac89e0910] * src/lib/restrict-access.c: restrict-access: One more root dropping fix. [d591ee76ab9c] * src/master/dict-process.c: dict: Fixed crashes when dict process dies. [59165b07c874] * src/lib/restrict-access.c, src/lib/restrict-access.h: restrict-access: More fixes to root checking. [095837e6c073] * src/lib/restrict-access.c: restrict-access: Another fix to allow running processes as root. [1320550c00a2] * src/lib/restrict-access.c: Fix to previous restrict-access changes. [85a587bcc16f] * src/login-common/ssl-proxy-openssl.c: ssl: Don't use mempool_system_clean_*() functions. Just extra work and they've had some problems. [e812e3ed2d6f] * src/auth/mech-digest-md5.c: digest-md5: If client sent no input, log it as such instead of a more cryptic error. [25cf5d5b3d9c] 2009-04-08 Timo Sirainen * src/auth/auth-settings.c, src/deliver/deliver-settings.c, src/imap /imap-settings.c, src/lib-settings/settings-parser.c, src/lib- storage/index/dbox/dbox-settings.c, src/lib-storage/index/maildir /maildir-settings.c, src/lib-storage/index/mbox/mbox-settings.c, src /lib-storage/mail-storage-settings.c, src/login-common/login- settings.c, src/plugins/convert/convert-settings.c, src/plugins/expire/expire-settings.c, src/pop3/pop3-settings.c: Updated missing copyright years to 2009. [99659fef12b2] * src/login-common/main.c: Before starting imaps connections, check how full connection queue is. [f012c053aa5a] 2009-04-07 Timo Sirainen * src/auth/auth-settings.c, src/config/config-parser.c, src/imap/imap- settings.c, src/lib-settings/settings-parser.c, src/lib-settings /settings-parser.h, src/lib-storage/mail-storage-settings.c, src /login-common/login-settings.c, src/pop3/pop3-settings.c: settings_parser_info.check_func() now gets pool parameter if it wants to change settings. [0145ecc95752] * src/auth/main.c, src/deliver/auth-client.c, src/dict/main.c, src/imap/main.c, src/lib/restrict-access.c, src/lib/restrict- access.h, src/login-common/main.c, src/master/auth-process.c, src/master/login-process.c, src/master/mail-process.c, src/plugins/expire/auth-client.c, src/pop3/main.c, src/util/rawlog.c: Cleaned up restrict_access*() API. [967bfafe6c0a] * src/plugins/acl/acl-mailbox-list.c: Removed some unused code. Patch by Diego Liziero. [126a819f1fa7] * src/lib-storage/index/shared/shared-list.c, src/lib-storage/mail- storage.c, src/lib-storage/mailbox-list-private.h: Shared mailboxes: Fix to previous mailbox_open() change. [319a97b5cfd7] * src/lib-storage/index/shared/shared-storage.c: Shared mailboxes: If selecting prefix/, try to open the user's INBOX. [5d3dd9eb82d9] * src/lib-storage/index/shared/shared-list.c, src/lib- storage/index/shared/shared-storage.c, src/lib-storage/list/mailbox- list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib- storage/mail-storage.c, src/lib-storage/mailbox-list-private.h: Shared mailboxes: Find the final storage before calling mail_storage.mailbox_open(), not inside it. This fixes some crashes with plugins. [4e6745ffc307] * src/plugins/quota/quota-storage.c: quota: Previous change broke other plugins. [e73f5828f8d8] * src/imap-login/client-authenticate.c, src/imap-login/client- authenticate.h, src/imap-login/imap-proxy.c, src/pop3-login/pop3-proxy.c: imap-login: Use [resp-codes] to figure out when to replace remote's auth failed message with ours. [72045e108c8b] * src/lib-storage/mail-storage-settings.c, src/lib-storage/mail- storage-settings.h: Removed umask setting. It's no longer used. [a33777517e3a] * src/deliver/deliver-settings.c, src/imap/imap-settings.c, src/lib- sql/Makefile.am, src/plugins/acl/Makefile.am, src/plugins/autocreate/Makefile.am, src/plugins/convert/Makefile.am, src/plugins/expire/Makefile.am, src/plugins/fts-lucene/Makefile.am, src/plugins/fts-solr/Makefile.am, src/plugins/fts-squat/Makefile.am, src/plugins/fts/Makefile.am, src/plugins/imap-acl/Makefile.am, src/plugins/imap-quota/Makefile.am, src/plugins/lazy- expunge/Makefile.am, src/plugins/listescape/Makefile.am, src/plugins /mail-log/Makefile.am, src/plugins/mbox-snarf/Makefile.am, src/plugins/quota/Makefile.am, src/plugins/trash/Makefile.am, src/plugins/virtual/Makefile.am, src/plugins/zlib/Makefile.am, src/pop3/pop3-settings.c: Get rid of imap/, pop3/, lda/ and sql/ module subdirs. It's all in lib/dovecot/ now. [d981b4b50cb7] * src/plugins/convert/Makefile.am, src/plugins/expire/Makefile.am, src/plugins/fts-squat/Makefile.am: Removed LIBICONV from unnecessary places. [17f06144e534] * src/lib-dovecot/Makefile.am: Link LTLIBICONV, not LIBICONV. [d249a28a6e1b] * src/plugins/quota/quota-storage.c: quota: Don't crash when modifying non-private namespaces. [792c3eb1e544] 2009-04-06 Timo Sirainen * src/lib/lib-signals.c: FreeBSD compiling fix. [286ff5114588] * src/lib/lib-signals.c, src/lib/lib-signals.h: Compile fix to NetBSD: Don't use si_code which is a macro. Patch by Tatsuyoshi. [bfbbae6cdb51] * src/auth/Makefile.am, src/deliver/Makefile.am, src/dict/Makefile.am, src/imap/Makefile.am, src/lib-dovecot/Makefile.am, src/pop3/Makefile.am, src/tests/Makefile.am, src/util/Makefile.am: Link -liconv to libdovecot.so if necessary. [f8cc52698a42] * src/deliver/deliver-settings.c, src/deliver/deliver-settings.h, src/deliver/deliver.c: deliver: umask setting has been removed, don't try to use it. [3195c1b157c9] * src/plugins/quota/quota-fs.c: quota-fs: Compile fix for OSes without GRPQUOTA define. [bcca9c0385b7] * src/imap/imap-search.h: Compile fix: Include sys/time.h for struct timeval. [a5185de111a4] * src/deliver/deliver-settings.c, src/master/master-settings.c, src/plugins/convert/convert-settings.c, src/plugins/expire/expire- settings.c: Fixes for non-C99 compilers. [385eaa5013fa] * src/master/mail-process.c: system_user -> system_groups_user change broke it completely. [d22e54cb4bda] * src/lib/module-dir.c: Compile fix when modules are disabled. [b9272de65955] 2009-04-03 Timo Sirainen * src/plugins/quota/Makefile.am: rquota.x was missing from distribution tarball. [e4d1cc1d9b46] * src/lib-storage/index/index-mail-headers.c, src/lib-storage/index /index-mail.c: Compiler warning fixes on 64bit systems. [30db22205884] * src/plugins/quota/Makefile.am: Fixed quota compiling when using a separate build dir. [5650eba36f79] 2009-04-06 Timo Sirainen * src/lib-storage/index/dbox/Makefile.am: Added missing dbox-map-private.h. [36e6adec9377] * src/auth/passdb-pam.c: pam: Compiling fix. [d2a1254e1e24] * src/Makefile.am, src/lib-dovecot/Makefile.am, src/lib- storage/Makefile.am, src/util/Makefile.am: lib-index belongs to libdovecot-storage, not to libdovecot. [aeb2bd9d6951] 2009-04-03 Timo Sirainen * .hgignore, configure.in, src/Makefile.am, src/auth/Makefile.am, src/config/Makefile.am, src/deliver/Makefile.am, src/dict/Makefile.am, src/imap-login/Makefile.am, src/imap/Makefile.am, src/lib-auth/Makefile.am, src/lib- charset/Makefile.am, src/lib-dict/Makefile.am, src/lib- dovecot/Makefile.am, src/lib-imap/Makefile.am, src/lib- index/Makefile.am, src/lib-mail/Makefile.am, src/lib- settings/Makefile.am, src/lib-sql/Makefile.am, src/lib- storage/Makefile.am, src/lib-storage/index/Makefile.am, src/lib- storage/index/cydir/Makefile.am, src/lib- storage/index/dbox/Makefile.am, src/lib- storage/index/maildir/Makefile.am, src/lib- storage/index/mbox/Makefile.am, src/lib- storage/index/raw/Makefile.am, src/lib- storage/index/shared/Makefile.am, src/lib-storage/list/Makefile.am, src/lib-storage/register/Makefile.am, src/lib/Makefile.am, src /login-common/Makefile.am, src/master/Makefile.am, src/plugins/convert/Makefile.am, src/plugins/expire/Makefile.am, src/plugins/fts-squat/Makefile.am, src/pop3-login/Makefile.am, src/pop3/Makefile.am, src/tests/Makefile.am, src/util/Makefile.am: Build libdovecot.so and libdovecot-storage.so. Based on patch by Stephan Bosch. [1b586a2fee8b] * configure.in: This branch is v1.3.UNSTABLE. [fdcb1629ddcc] * .hgignore, TODO, configure.in, src/auth/Makefile.am, src/auth/auth- request.c, src/auth/db-ldap.c, src/auth/main.c, src/auth/mech- digest-md5.c, src/auth/mech-gssapi.c, src/auth/mech-winbind.c, src/auth/passdb-cache.c, src/auth/passdb-ldap.c, src/auth/passdb.c, src/auth/passdb.h, src/auth/userdb.c, src/deliver/auth-client.c, src/deliver/auth-client.h, src/deliver/deliver-settings.c, src/deliver/deliver-settings.h, src/deliver/deliver.c, src/deliver/duplicate.c, src/deliver/duplicate.h, src/deliver/mail- send.c, src/imap-login/client.c, src/imap-login/imap-proxy.c, src/imap/Makefile.am, src/imap/client.c, src/imap/client.h, src/imap /cmd-append.c, src/imap/imap-fetch-body.c, src/imap/main.c, src/lib- storage/index/cydir/cydir-save.c, src/lib-storage/index/cydir/cydir- storage.c, src/lib-storage/index/dbox/Makefile.am, src/lib- storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox/dbox- map.c, src/lib-storage/index/dbox/dbox-save.c, src/lib- storage/index/dbox/dbox-settings.c, src/lib-storage/index/dbox/dbox- settings.h, src/lib-storage/index/dbox/dbox-storage.c, src/lib- storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox/dbox- sync-rebuild.c, src/lib-storage/index/index-mail.c, src/lib- storage/index/index-storage.c, src/lib-storage/index/index- storage.h, src/lib-storage/index/maildir/maildir-copy.c, src/lib- storage/index/maildir/maildir-keywords.c, src/lib- storage/index/maildir/maildir-save.c, src/lib-storage/index/maildir /maildir-settings.c, src/lib-storage/index/maildir/maildir- settings.h, src/lib-storage/index/maildir/maildir-storage.c, src /lib-storage/index/maildir/maildir-storage.h, src/lib- storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir /maildir-uidlist.c, src/lib-storage/index/mbox/mbox-lock.c, src/lib- storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox/mbox- save.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib- storage/index/mbox/mbox-sync.c, src/lib-storage/index/shared/shared- storage.c, src/lib-storage/list/index-mailbox-list.c, src/lib- storage/list/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox- list-fs.c, src/lib-storage/list/subscription-file.c, src/lib-storage /mail-namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage /mail-storage-private.h, src/lib-storage/mail-storage-settings.c, src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h, src /lib-storage/mail-user.c, src/lib-storage/mail-user.h, src/lib- storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c, src /lib-storage/mailbox-list.h, src/login-common/main.c, src/master /auth-process.c, src/master/child-process.c, src/master/child- process.h, src/master/dict-process.c, src/master/login-process.c, src/master/mail-process.c, src/master/main.c, src/master/master- settings-defs.c, src/master/master-settings.c, src/master/master- settings.h, src/plugins/acl/acl-backend.c, src/plugins/acl/acl- mailbox-list.c, src/plugins/acl/acl-storage.c, src/plugins/convert /convert-storage.c, src/plugins/expire/expire-plugin.c, src/plugins /fts-solr/fts-backend-solr.c, src/plugins/imap-acl/imap-acl- plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/mail-log/mail-log-plugin.c, src/plugins/mbox-snarf/mbox- snarf-plugin.c, src/plugins/quota/quota-maildir.c, src/plugins/quota /quota-storage.c, src/plugins/virtual/virtual-storage.c, src/pop3-login/client.c, src/pop3-login/pop3-proxy.c, src/pop3/client.c, src/pop3/client.h, src/pop3/commands.c, src/pop3/main.c: Merged configuration rewrite. [21d4363a3cf7] 2009-02-09 Timo Sirainen * src/config/config-parser.c, src/config/config-parser.h, src/config/main.c: Removed some unnecessary code. [fb8f4adc61c4] * src/config/config-connection.c, src/config/config-connection.h, src/config/config-parser.c, src/config/main.c, src/deliver/deliver- settings.c, src/deliver/deliver-settings.h, src/deliver/deliver.c, src/master/master-settings.c: Added dovecof --exec and made deliver use it instead of forking. [8b616cc6d848] * src/login-common/login-settings.c: doveconf shouldn't check if it has access to ssl files. For example deliver doesn't need it. [8d4052450e09] * src/auth/auth-settings.c, src/config/config-parser.c, src/config /settings-get.pl, src/imap/imap-settings.c, src/lib-settings /settings-parser.c, src/lib-settings/settings-parser.h, src/lib- storage/mail-storage-settings.c, src/lib-storage/mail-storage- settings.h, src/login-common/login-settings.c, src/master/master- settings.c, src/plugins/expire/expire-settings.c, src/pop3/pop3-settings.c: doveconf now checks that all settings are ok by calling check functions. [c37f7113b1ee] 2009-02-03 Timo Sirainen * src/master/mail-process.c, src/master/master-settings.c, src/master /master-settings.h: Removed nfs_check. So much trouble and so unreliable.. [185cc7ad6a30] * src/master/mail-process.c: If mail_chroot is set, don't fail at startup in dump-capability. [0ed8a0f1b42b] * src/master/mail-process.c, src/master/master-settings.c, src/master /master-settings.h: We don't care about plugin settings anymore, removed. [c33bd8517c63] * src/config/config-parser.c: config: Support !include and !include_try. [06015880f4c7] 2009-02-02 Timo Sirainen * .hgignore, src/config/all-settings.h: all-settings.h was missing [b02e5a575db9] * TODO, src/imap/Makefile.am, src/imap/imap-settings.c, src/imap/imap- settings.h, src/imap/main.c, src/lib-settings/settings-parser.c, src /lib-settings/settings-parser.h, src/master/mail-process.c, src/plugins/convert/convert-settings.c, src/plugins/convert/convert- settings.h, src/plugins/expire/auth-client.c, src/plugins/expire /expire-settings.c, src/plugins/expire/expire-settings.h, src/pop3/Makefile.am, src/pop3/main.c, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h: Plugin setting backwards compatibility support and other fixes. [1aacfd9d0d57] * TODO, src/lib-storage/mail-namespace.h, src/lib-storage/mail- storage-settings.c, src/lib-storage/mail-storage-settings.h, src /lib-storage/mail-user.c, src/lib-storage/mail-user.h, src/lib- storage/mailbox-list.c, src/lib-storage/mailbox-list.h, src/master /mail-process.c, src/master/master-settings.c, src/plugins/acl/acl- backend.c, src/plugins/acl/acl-lookup-dict.c, src/plugins/acl/acl- lookup-dict.h, src/plugins/acl/acl-mailbox-list.c, src/plugins/acl /acl-plugin.c, src/plugins/acl/acl-storage.c, src/plugins/autocreate /autocreate-plugin.c, src/plugins/convert/Makefile.am, src/plugins/convert/convert-plugin.c, src/plugins/convert/convert- settings.c, src/plugins/convert/convert-settings.h, src/plugins/convert/convert-storage.c, src/plugins/convert/convert- storage.h, src/plugins/convert/convert-tool.c, src/plugins/expire/Makefile.am, src/plugins/expire/expire-plugin.c, src/plugins/expire/expire-settings.c, src/plugins/expire/expire- settings.h, src/plugins/expire/expire-tool.c, src/plugins/fts-solr /fts-backend-solr.c, src/plugins/fts-solr/fts-solr-plugin.c, src/plugins/fts-solr/fts-solr-plugin.h, src/plugins/fts-squat/fts- backend-squat.c, src/plugins/fts/fts-plugin.c, src/plugins/fts/fts- storage.c, src/plugins/imap-acl/Makefile.am, src/plugins/imap-acl /imap-acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log /mail-log-plugin.c, src/plugins/mbox-snarf/mbox-snarf-plugin.c, src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-plugin.c, src/plugins/quota/quota-plugin.h, src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c, src/plugins/quota/quota.h, src/plugins/trash/trash-plugin.c: Fixed plugins to work with config rewrite. [a5555606846b] 2009-02-01 Timo Sirainen * src/deliver/deliver-settings.c, src/deliver/deliver-settings.h, src/imap/imap-settings.c, src/imap/imap-settings.h, src/lib-settings /settings-parser.c, src/lib-settings/settings-parser.h, src/master /mail-process.c, src/master/master-settings.c, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h: Fixed variable expansion in master <-> mail processes. [f5e35bc340bf] 2009-01-27 Timo Sirainen * .hgignore, TODO, configure.in, src/Makefile.am, src/auth/Makefile.am, src/auth/auth-client-connection.c, src/auth /auth-master-connection.c, src/auth/auth-request-handler.c, src/auth /auth-request.c, src/auth/auth-settings.c, src/auth/auth-settings.h, src/auth/auth-worker-server.c, src/auth/auth-worker-server.h, src/auth/auth.c, src/auth/auth.h, src/auth/db-ldap.c, src/auth/main.c, src/auth/mech-anonymous.c, src/auth/mech-digest- md5.c, src/auth/mech-gssapi.c, src/auth/mech-rpa.c, src/auth/mech- winbind.c, src/auth/mech.c, src/auth/mech.h, src/auth/passdb- cache.c, src/auth/passdb-cache.h, src/auth/passdb-passwd-file.c, src/auth/passdb.c, src/auth/passdb.h, src/auth/userdb-passwd-file.c, src/auth/userdb-prefetch.c, src/auth/userdb.c, src/auth/userdb.h, src/config/Makefile.am, src/config/common.h, src/config/config- connection.c, src/config/config-connection.h, src/config/config- parser.c, src/config/config-parser.h, src/config/main.c, src/config /settings-get.pl, src/deliver/Makefile.am, src/deliver/deliver- settings.c, src/deliver/deliver-settings.h, src/deliver/deliver.c, src/deliver/deliver.h, src/imap-login/Makefile.am, src/imap-login /client-authenticate.c, src/imap-login/client.c, src/imap-login /imap-proxy.c, src/imap/Makefile.am, src/imap/client.c, src/imap/client.h, src/imap/cmd-append.c, src/imap/cmd-capability.c, src/imap/cmd-delete.c, src/imap/cmd-id.c, src/imap/cmd-idle.c, src/imap/cmd-subscribe.c, src/imap/common.h, src/imap/imap-fetch- body.c, src/imap/imap-settings.c, src/imap/imap-settings.h, src/imap /imap-sync.c, src/imap/main.c, src/lib-settings/Makefile.am, src /lib-settings/settings-parser.c, src/lib-settings/settings-parser.h, src/lib-storage/Makefile.am, src/lib-storage/index/cydir/cydir- storage.c, src/lib-storage/index/dbox/Makefile.am, src/lib- storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox/dbox- settings.c, src/lib-storage/index/dbox/dbox-settings.h, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox- storage.h, src/lib-storage/index/index-mail.c, src/lib-storage/index /index-storage.c, src/lib-storage/index/index-storage.h, src/lib- storage/index/maildir/Makefile.am, src/lib-storage/index/maildir /maildir-copy.c, src/lib-storage/index/maildir/maildir-keywords.c, src/lib-storage/index/maildir/maildir-save.c, src/lib- storage/index/maildir/maildir-settings.c, src/lib- storage/index/maildir/maildir-settings.h, src/lib- storage/index/maildir/maildir-storage.c, src/lib- storage/index/maildir/maildir-storage.h, src/lib- storage/index/maildir/maildir-uidlist.c, src/lib- storage/index/mbox/Makefile.am, src/lib-storage/index/mbox/mbox- lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib- storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox- settings.c, src/lib-storage/index/mbox/mbox-settings.h, src/lib- storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox- storage.h, src/lib-storage/index/mbox/mbox-sync.c, src/lib- storage/index/raw/raw-storage.c, src/lib-storage/index/shared /shared-storage.c, src/lib-storage/list/index-mailbox-list.c, src /lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list /mailbox-list-fs.c, src/lib-storage/list/mailbox-list-maildir.c, src /lib-storage/list/subscription-file.c, src/lib-storage/mail- namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage/mail- storage-private.h, src/lib-storage/mail-storage-settings.c, src/lib- storage/mail-storage-settings.h, src/lib-storage/mail-storage.c, src /lib-storage/mail-storage.h, src/lib-storage/mail-user.c, src/lib- storage/mail-user.h, src/lib-storage/mailbox-list-private.h, src /lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h, src/lib /array-decl.h, src/login-common/Makefile.am, src/login-common /client-common.c, src/login-common/common.h, src/login-common/login- settings.c, src/login-common/login-settings.h, src/login- common/main.c, src/login-common/master.c, src/login-common/sasl- server.c, src/login-common/ssl-proxy-openssl.c, src/master/Makefile.am, src/master/auth-process.c, src/master/child- process.c, src/master/child-process.h, src/master/dict-process.c, src/master/listener.c, src/master/listener.h, src/master/login- process.c, src/master/login-process.h, src/master/mail-process.c, src/master/mail-process.h, src/master/main.c, src/master/master- settings-defs.c, src/master/master-settings.c, src/master/master- settings.h, src/master/ssl-init.c, src/plugins/acl/acl-mailbox- list.c, src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins /fts-squat/fts-backend-squat.c, src/plugins/fts/fts-storage.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-quota/imap- quota-plugin.c, src/plugins/mbox-snarf/mbox-snarf-plugin.c, src/plugins/virtual/virtual-storage.c, src/pop3-login/Makefile.am, src/pop3-login/client-authenticate.c, src/pop3-login/client.c, src/pop3-login/pop3-proxy.c, src/pop3/Makefile.am, src/pop3/client.c, src/pop3/client.h, src/pop3/commands.c, src/pop3/common.h, src/pop3/main.c, src/pop3/pop3-settings.c, src/pop3/pop3-settings.h: Initial commit for config rewrite. [9d0037a997f4] 2009-04-03 Timo Sirainen * TODO, dovecot-example.conf, src/lib-index/mail-index-modseq.c, src /lib-index/mail-index-private.h, src/lib-index/mail-index-strmap.c, src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index- sync.c, src/lib-index/mail-index-transaction-private.h, src/lib- index/mail-index-transaction.c, src/lib-index/mail-index.h, src/lib- index/mail-transaction-log-append.c, src/lib-mail/message-size.c, src/lib-storage/index/dbox/dbox-index.c, src/lib-storage/index/dbox /dbox-index.h, src/lib-storage/index/dbox/dbox-map.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox- storage.h, src/lib-storage/index/index-mail-headers.c, src/lib- storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src /lib-storage/index/index-storage.c, src/lib-storage/index/maildir /maildir-uidlist.c, src/lib-storage/index/maildir/maildir-uidlist.h, src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/list /mailbox-list-fs.c, src/lib-storage/mail-storage-private.h, src/lib- storage/mailbox-list.c, src/lib-storage/mailbox-list.h, src/lib/istream.c, src/master/mail-process.c, src/master/main.c, src/master/master-settings-defs.c, src/master/master-settings.c, src/master/master-settings.h, src/plugins/virtual/virtual-mail.c, src/pop3/main.c: Merged multi-dbox code. [1f7e97e2139e] * TODO: Updated. [ffda403f7072] * dovecot-example.conf, src/lib-storage/index/dbox/dbox-map.c, src /lib-storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox /dbox-storage.h, src/master/mail-process.c, src/master/master- settings-defs.c, src/master/master-settings.c, src/master/master- settings.h: dbox: Added dbox_purge_min_percentage setting. [3f5fdd2b25de] * src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox /dbox-storage.c, src/lib-storage/index/dbox/dbox-sync-file.c, src /lib-storage/index/dbox/dbox-sync.c, src/lib-storage/index/dbox /dbox-sync.h: dbox: Renamed cleanup -> purge. [4556c33ed83d] 2009-03-31 Timo Sirainen * src/lib-storage/index/dbox/Makefile.am, src/lib-storage/index/dbox /dbox-file-fix.c, src/lib-storage/index/dbox/dbox-file.c, src/lib- storage/index/dbox/dbox-file.h, src/lib-storage/index/dbox/dbox- storage-rebuild.c: dbox: If we find a broken dbox file, do the best we can to save the mails in there. [7bddb84fd282] * src/lib-mail/message-size.c: Minor code cleanup. [639e16989018] * src/lib/str-find.c, src/lib/str-find.h, src/tests/test-lib.c: Added str_find_get_match_end_pos(). Added unit testing. [c8ba50450f12] 2009-03-30 Timo Sirainen * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-file.h, src/lib-storage/index/dbox/dbox-map.c: dbox: Optimized saving messages. [a7203a35f04c] * src/lib-index/mail-index-private.h, src/lib-index/mail-index-sync- update.c, src/lib-index/mail-index-sync.c: Write to main index file less often. [48d2377939c2] 2009-03-25 Timo Sirainen * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-file.h, src/lib-storage/index/dbox/dbox-mail.c, src/lib- storage/index/dbox/dbox-map-private.h, src/lib-storage/index/dbox /dbox-map.h: dbox: Fixed race condition when opening a message that was just moved to a different file. [67c36cebc975] * src/lib-index/mail-index-modseq.c: mail_index_map_modseq_clone() caused memory corruption. [335b4d648c6f] 2009-03-02 Timo Sirainen * configure.in, src/imap/main.c, src/lib/restrict-access.c, src/lib /restrict-access.h, src/master/child-process.c, src/master/common.h, src/master/main.c, src/pop3/main.c: Improved logging for core dumping. With Linux use PR_SET_DUMPABLE for imap/pop3. [8350642f78f2] 2009-03-25 Timo Sirainen * src/lib-storage/index/dbox/dbox-map.c: dbox: Don't allow copying the same message over 32768 times. [5ed59c9decaf] * src/lib-index/mail-index-transaction.c, src/lib-index/mail-index.h: mail_index_atomic_inc_ext() now returns the current diff sum. [07cdd2e39e31] 2009-03-24 Timo Sirainen * src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox /dbox-storage.c, src/lib-storage/index/dbox/dbox-storage.h: dbox: Delete mailboxes atomically and update its messages' refcounts. [9f7123fa2e92] * src/lib-storage/index/dbox/dbox-storage.c: dbox: No longer allow an empty MAILBOXDIR. Future code relies on this. [79928d158977] * src/lib-storage/index/dbox/dbox-storage.c, src/lib- storage/index/dbox/dbox-storage.h: dbox: Changed the default mailbox dir name, subscriptions and uidvalidity filenames. [07965db3d13d] 2009-03-12 Timo Sirainen * src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/list /mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-list-fs.c, src /lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h: Added :MAILBOXDIR= to mail_location to specify the root dir for mailboxes. [174f6dc92088] 2009-03-23 Timo Sirainen * src/lib-storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox /dbox-map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib- storage/index/dbox/dbox-save.c, src/lib-storage/index/dbox/dbox- storage.c, src/lib-storage/index/dbox/dbox-storage.h, src/lib- storage/index/dbox/dbox-sync.c, src/lib-storage/index/dbox/dbox- sync.h: dbox: Implemented copying by changing refcounts. [1414916ad239] * src/util/idxview.c: idxview: SHow 16bit extension fields also as decimals. [48ea43893dfa] * src/lib-index/mail-index-transaction.c: mail_index_atomic_inc_ext() didn't handle multiple increments within a transaction. [e854f0140953] * src/lib-storage/index/dbox/dbox-map.c: dbox: Create missing storage directory automatically when needed. [314ea9000185] * src/lib-storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox /dbox-map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib- storage/index/dbox/dbox-storage-rebuild.c: dbox: Don't give an error if "storage" directory is missing. [617f328f8c3a] * src/lib-storage/index/dbox/dbox-save.c, src/lib-storage/index/dbox /dbox-storage-rebuild.c, src/lib-storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox-storage.h, src/lib- storage/index/dbox/dbox-sync-rebuild.c, src/lib-storage/index/dbox /dbox-sync.c: dbox: Create usable indexes when mailboxes are created. [18635bffc0d4] * src/lib-storage/index/index-mail-headers.c, src/lib-storage/index /index-mail.c, src/lib-storage/index/index-mail.h: Don't cache Date: header if we don't really want it. [1d856a4bf9bd] * src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox /dbox-map.h, src/lib-storage/index/dbox/dbox-sync-file.c: dbox: Cleaning wasn't actually expunging records from map index. [4373c6483df4] * src/lib-storage/index/dbox/dbox-map.c: dbox: Improved "Inconsistency in map index" error message. [5732e5a46cbb] * src/lib-index/mail-index-sync.c: mail_index_sync_get_offsets() now returns offset1 right. [dc858d9014ae] * src/lib-index/mail-cache.c, src/lib-index/mail-index-private.h, src /lib-index/mail-index-strmap.c, src/lib-index/mail-index.c, src/lib- index/mail-index.h, src/lib-storage/index/dbox/dbox-map.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/index- storage.c, src/lib-storage/index/index-storage.h: dbox: Make sure indexes are never moved to memory (in case of out- of-disk space). [f295678cef1e] * src/lib-index/mail-transaction-log-file.c: Don't reset modseqs when reseting index. [8f82eb1f5033] * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-mail.c, src/lib-storage/index/dbox/dbox-map-private.h, src /lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox- map.h, src/lib-storage/index/dbox/dbox-storage-rebuild.c, src/lib- storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox/dbox- sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c, src/lib- storage/index/dbox/dbox-sync.h: dbox fixes. [3ece68d69218] * src/util/idxview.c: idxview: Updated showing dbox data. [733e065099f5] 2009-03-20 Timo Sirainen * src/lib/istream.c, src/lib/istream.h: Added i_stream_is_eof(). [5deb3ee1d655] * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-mail.c, src/lib-storage/index/dbox/dbox-map-private.h, src /lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox- map.h, src/lib-storage/index/dbox/dbox-storage-rebuild.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox- sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c: dbox bugfixes. [57162b905a9a] * src/lib-index/mail-index-transaction.c, src/lib-index/mail- transaction-log-append.c: Removed some asserts that dbox code hits now. [c4ac37a70d58] * src/lib-index/mail-index-sync.c: Mailbox syncing: If syncing wrote to transaction log, update the tail offset to include them. [78644bad1263] * src/lib-index/mail-index-write.c: Don't log an error if dovecot.index doesn't exist while trying to create the backup. [ad69d9cffade] * src/lib-storage/index/dbox/dbox-map-private.h, src/lib- storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox- map.h, src/lib-storage/index/dbox/dbox-save.c, src/lib- storage/index/dbox/dbox-storage-rebuild.c, src/lib- storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox /dbox-sync.c, src/lib-storage/index/dbox/dbox-sync.h: dbox: Initial code for handling crashes while writing to map index. [e17810deea46] * src/lib-index/mail-index-sync.c, src/lib-index/mail-index.h, src /lib-index/mail-transaction-log-append.c: Added FSYNC flag for transactions. [375be2dbeea7] * src/lib-index/mail-index-sync.c, src/lib-index/mail-index.h: Added mail_index_sync_get_offsets(). [b12ae0c97069] 2009-03-18 Timo Sirainen * src/lib-storage/index/dbox/Makefile.am, src/lib-storage/index/dbox /dbox-file.c, src/lib-storage/index/dbox/dbox-file.h, src/lib- storage/index/dbox/dbox-storage-rebuild.c, src/lib- storage/index/dbox/dbox-storage-rebuild.h, src/lib- storage/index/dbox/dbox-sync-rebuild.c, src/lib-storage/index/dbox /dbox-sync.c, src/lib-storage/index/dbox/dbox-sync.h: dbox: Initial commit for rebuilding multi-file dbox. Also added support for using backup index. These changes are fully untested. [cde92fa2bc37] * src/lib-index/mail-index-private.h, src/lib-index/mail-index- write.c, src/lib-index/mail-index.c, src/lib-index/mail-index.h, src /lib-storage/index/dbox/dbox-storage.c, src/lib-storage/index/index- storage.c, src/lib-storage/index/index-storage.h: dbox: Create dovecot.index.backup files. [63a75a03360c] * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-file.h, src/lib-storage/index/dbox/dbox-mail.c, src/lib- storage/index/dbox/dbox-map-private.h, src/lib-storage/index/dbox /dbox-map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox- storage.h, src/lib-storage/index/dbox/dbox-sync-rebuild.c: dbox: Code cleanups. [79d93a807eac] * src/lib-storage/index/dbox/dbox-file-maildir.c, src/lib- storage/index/dbox/dbox-file.h, src/lib-storage/index/dbox/dbox- save.c: dbox: When saving a message, put the original mailbox name to metadata. [7d811ca70d28] 2009-03-13 Timo Sirainen * src/lib-storage/index/dbox/dbox-sync-file.c: dbox: More error handling. [a93c247f80dc] 2009-03-11 Timo Sirainen * src/lib-storage/index/dbox/dbox-file.h, src/lib-storage/index/dbox /dbox-map.c, src/lib-storage/index/dbox/dbox-sync-file.c: dbox: More error handling fixes. [ec6428000c5b] * src/lib-index/mail-cache-transaction.c, src/lib-index/mail-index- modseq.c, src/lib-index/mail-index-sync.c, src/lib-index/mail-index- transaction.c, src/lib-index/mail-index.h, src/lib- storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox-sync- rebuild.c, src/lib-storage/index/index-transaction.c, src/lib- storage/list/index-mailbox-list-sync.c: Removed rarely used parameters from mail_index_transaction_commit(). mail_index_transaction_commit_get_pos() can be used where they're required. [4d4e1cbb61a0] * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-file.h, src/lib-storage/index/dbox/dbox-mail.c, src/lib- storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox- map.h, src/lib-storage/index/dbox/dbox-storage.h, src/lib- storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox /dbox-sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c: dbox: Code cleanups and error handling improvements. [fb90b6e3b4b7] * src/lib-index/mail-index.c, src/lib-index/mail-index.h, src/lib- storage/index/index-storage.c, src/lib-storage/list/index-mailbox- list.c: Added mail_index_open_or_create(). [f80f26822262] * src/imap/imap-fetch-body.c, src/imap/imap-fetch.c, src/imap/imap- fetch.h: imap: Code cleanup: Changed buffer to an array. [429ef7b9c19b] * src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox /dbox-map.h, src/lib-storage/index/dbox/dbox-sync-file.c: dbox: Fixes. [268eb42244b4] * src/imap/imap-fetch-body.c, src/imap/imap-fetch.h: imap: Improve "FETCH .. got too little data" error messages. [f30dcf3f85cc] 2009-03-10 Timo Sirainen * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-file.h, src/lib-storage/index/dbox/dbox-map.c, src/lib- storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox /dbox-sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c: dbox: Reimplemented file cleanup in a safer way. Added some more error handling. [b381f1187f6b] * src/lib-storage/mail.c: Compile warning fix. [f8c2e4c437c9] * src/lib-index/mail-index-sync.c, src/lib-index/mail-index- transaction-private.h, src/lib-index/mail-transaction-log-append.c, src/lib-index/mail-transaction-log-file.c: indexes: Fixes to handling shrinking tail offsets. [e892aa297b85] * src/lib-storage/index/dbox/dbox-map.c: dbox: When doing a cleanup, need to refresh map index after locking. [30a5b6c58793] * src/lib-index/mail-index-transaction-private.h, src/lib-index/mail- index-transaction.c: indexes: Removed unnecessary code. [e79ffa619bd1] 2009-03-09 Timo Sirainen * src/lib-index/mail-transaction-log-file.c: Improved "corrupted transaction log file" error message. [c2f364d3f389] * src/lib-storage/index/dbox/dbox-map.c: dbox: Make sure we don't append to files that are already unlinked. [8dc36dbb74c8] * src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox /dbox-sync-file.c: dbox fixes [e71b29410395] * src/lib-index/mail-transaction-log-append.c: If indexes had been reset, extension changes may have been written wrong. [61795c86bce8] * src/lib-index/mail-transaction-log-append.c: indexes: Don't add ext-intros unnecessarily twice for ext-rec updates. Also did some code cleanups. [f54e0ccb91ab] * src/lib-index/mail-index-view-sync.c: indexes: Crashfix to error handling. [dc421589c090] 2009-03-06 Timo Sirainen * src/lib-storage/index/dbox/dbox-file.c: dbox: Locking fix. [e6ea97e43753] * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib- storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox /dbox-sync.c: dbox: Fixes to save/expunge/cleanup. [6b0c6106b286] * src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-index- transaction.c: mail_index_atomic_inc_ext(): Added error checking. [ceb05b3db1d8] * src/util/idxview.c: idxview: Updated to show dbox message sizes. [b8774ddeaf7a] 2009-03-05 Timo Sirainen * src/lib-storage/index/dbox/dbox-map.c: dbox: Saving shouldn't close any files after all, otherwise locks are lost. [c3287bf89274] * src/lib-index/mail-transaction-log-append.c, src/lib-index/mail- transaction-log-file.c: indexes: Make sure we don't shrink log_file_tail_offset. [993929dfa5fa] * src/lib-storage/index/dbox/dbox-map.c: dbox: Don't close file we appended to if we're still reading from it. [a5f9f8b67066] * src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox /dbox-map.h, src/lib-storage/index/dbox/dbox-storage.c, src/lib- storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox /dbox-sync.c, src/lib-storage/index/dbox/dbox-sync.h: dbox: File cleanup is for now done in logout. [9f7b62b814a8] 2009-03-04 Timo Sirainen * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib- storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox /dbox-sync.c, src/lib-storage/index/dbox/dbox-sync.h: dbox: Initial support for expunging messages. [cb37f2732abc] * src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-index-sync- private.h, src/lib-index/mail-index-sync-update.c, src/lib-index /mail-index-sync.c, src/lib-index/mail-index-transaction-private.h, src/lib-index/mail-index-transaction.c, src/lib-index/mail-index.h, src/lib-index/mail-transaction-log-append.c, src/lib-index/mail- transaction-log.h, src/util/logview.c: Added mail_index_atomic_inc_ext() for atomically incrementing numbers in extensions. [9c50e7303513] * src/plugins/virtual/virtual-mail.c: virtual: Fixed to work again after set_uid_cache_updates() addition. [0fc03e326ccc] 2009-02-25 Timo Sirainen * src/lib-storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox /dbox-map.h, src/lib-storage/index/dbox/dbox-save.c: dbox: Fixes to saving messages. [a48605408d18] * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-file.h, src/lib-storage/index/dbox/dbox-map.c, src/lib- storage/index/dbox/dbox-map.h, src/lib-storage/index/dbox/dbox- save.c: dbox: Store message sizes to map index and use them. Some other save optimizations. [be17526a165d] * src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index/dbox /dbox-mail.c, src/lib-storage/index/index-mail.c, src/lib- storage/index/index-mail.h, src/lib-storage/index/maildir/maildir- mail.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib- storage/index/raw/raw-mail.c, src/lib-storage/mail-copy.c, src/lib- storage/mail-storage-private.h: Mail copying: Avoid updating cache file because of copying. The mail is being opened in any case, so it's unlikely to help anything. [a1d920a81adc] 2009-02-24 Timo Sirainen * src/lib-storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox /dbox-file.h, src/lib-storage/index/dbox/dbox-map.c, src/lib- storage/index/dbox/dbox-save.c: dbox: Save optimizations. [a0b72838b441] * src/lib/ostream-file.c, src/lib/ostream-internal.h, src/lib/ostream.c, src/lib/ostream.h: Added o_stream_pwrite(). [47076db1f911] * src/lib-storage/index/mbox/mbox-sync.c, src/lib/istream-internal.h, src/lib/istream-limit.c, src/lib/istream.c, src/lib/istream.h, src/plugins/quota/quota-storage.c: Added i_stream_get_size(). Use it instead of i_stream_stat() where possible. [5106852f552a] * src/lib-storage/index/dbox/dbox-file-maildir.c, src/lib- storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox/dbox- file.h, src/lib-storage/index/dbox/dbox-mail.c, src/lib- storage/index/dbox/dbox-map.c, src/lib-storage/index/dbox/dbox- map.h, src/lib-storage/index/dbox/dbox-save.c, src/lib- storage/index/dbox/dbox-storage.c, src/lib-storage/index/dbox/dbox- storage.h, src/lib-storage/index/dbox/dbox-sync-file.c, src/lib- storage/index/dbox/dbox-sync-rebuild.c, src/lib-storage/index/dbox /dbox-sync.c, src/lib-storage/index/index-storage.c, src/lib- storage/index/index-storage.h, src/lib-storage/mail-storage- private.h, src/lib-storage/mail.c: dbox: Initial support for saving multiple messages per file. [84379691de26] * src/util/idxview.c: idxview: Expand dbox map extension contents. [8d951b66a0e5] * src/lib/ostream-file.c: o_stream_send_istream(): Don't do backwards copying if the area doesn't really overlap. [334d29caa084] * src/lib/ostream-file.c: ostream: When copying backwards within a file, update in/outstream offsets. [3194ac1c6d75] * src/lib-index/mail-index-map.c: mail_index_map_ext_hdr_check(): Fixed a wrong check. [98c84ae0b659] 2009-02-19 Timo Sirainen * src/util/idxview.c: idxview: Support specifying the name of dovecot.index file. [3ceb0878ab09] 2009-02-17 Timo Sirainen * src/lib-storage/index/dbox/dbox-file-maildir.c, src/lib- storage/index/dbox/dbox-file-maildir.h, src/lib-storage/index/dbox /dbox-file.c, src/lib-storage/index/dbox/dbox-file.h: dbox: Some more code cleanups. [9a97b4f8f6d8] * src/lib-storage/index/dbox/Makefile.am, src/lib-storage/index/dbox /dbox-file-maildir.c, src/lib-storage/index/dbox/dbox-file.c, src /lib-storage/index/dbox/dbox-file.h, src/lib-storage/index/dbox /dbox-index.c, src/lib-storage/index/dbox/dbox-index.h, src/lib- storage/index/dbox/dbox-mail.c, src/lib-storage/index/dbox/dbox- map.c, src/lib-storage/index/dbox/dbox-map.h, src/lib- storage/index/dbox/dbox-save.c, src/lib-storage/index/dbox/dbox- storage.c, src/lib-storage/index/dbox/dbox-storage.h, src/lib- storage/index/dbox/dbox-sync-file.c, src/lib-storage/index/dbox /dbox-sync-rebuild.c, src/lib-storage/index/dbox/dbox-sync.c, src /lib-storage/index/dbox/dbox-sync.h: dbox: Cleaned up code to get ready for global storage. [e7b7bcbf96b0] * src/lib-storage/index/dbox/dbox-file.c: dbox: Removed some more unnecessary code. [0c600566d7ea] 2009-02-16 Timo Sirainen * src/lib-storage/index/dbox/dbox-sync-rebuild.c: dbox: use mailbox uidvalidity file again for assigning new UIDVALIDITY. [60a6c6ff6873] * src/lib-storage/index/dbox/dbox-file.h, src/lib-storage/index/dbox /dbox-index.c, src/lib-storage/index/dbox/dbox-index.h, src/lib- storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox/dbox- sync-file.c: dbox: Removed dbox-index code. [0b626cf2dd10] * src/lib-storage/index/dbox/dbox-file-maildir.c, src/lib- storage/index/dbox/dbox-file.c, src/lib-storage/index/dbox/dbox- file.h, src/lib-storage/index/dbox/dbox-index.c, src/lib- storage/index/dbox/dbox-index.h, src/lib-storage/index/dbox/dbox- save.c, src/lib-storage/index/dbox/dbox-storage.c, src/lib- storage/index/dbox/dbox-storage.h, src/lib-storage/index/dbox/dbox- sync-file.c, src/lib-storage/index/dbox/dbox-sync-rebuild.c, src /lib-storage/index/dbox/dbox-sync.c, src/lib-storage/index/dbox /dbox-sync.h, src/lib-storage/index/maildir/maildir-uidlist.c, src /lib-storage/index/maildir/maildir-uidlist.h: dbox: Removed code that is no longer necessary with the redesign. - Maildir code now uses dovecot-uidlist directly instead of dbox.index. - Flags and keywords are no longer written to metadata. - Removed metadata modifying code entirely. - dbox.index is no longer read or written. The code will be removed soon. [fef8259e7277]