History log of /dovecot/src/plugins/quota/quota.h
Revision Date Author Comments Expand
7ee626fd396f5549fb1fc6b0c320038638af9058 08-Nov-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

quota: Add QUOTA_GET_RESULT_BACKGROUND_CALC enum value

b14f93ea4f7e9b78e5adbabcc78bd2f63d2bcd36 08-Nov-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

quota: Add QUOTA_ALLOC_RESULT_BACKGROUND_CALC enum value

e78fe2531fd5cc3e3670a32fca6fbc238c960329 08-Nov-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

quota: Make quota_get_result errors <= QUOTA_GET_RESULT_INTERNAL_ERROR Reorder the enum to make a shortcut for distinguishing errors.

cf41318871bd42358df3420e50614f5310b08c77 19-Oct-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

quota: Add error_r to quota_get_resource()

b62139aae0a0099d0ede35b164b2870479f9b027 19-Oct-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

quota: Add error_r to quota_settings->test_alloc()

2e07e3182f355cf04a1461dd7f893d0ebc818764 03-Oct-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

quota: quota_get_resource() - return enum to make the result more exact This is mainly to differentiate between "resource name unknown" and "unlimited quota". This also fixes quota_clone plugin to update quota even when quota is unlimited. It was supposed to have been skipped only when the resource names weren't known. The private quota.get_resource() API is unchanged. The backends were already returning 0 only when the resource name was unknown.

c3785e2a5618182c3d7fb59f4888134e7ac834cc 12-Jun-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

quota: Update comments in quota.h

7076aac11069d8400785373f6317c3c7f07d0883 09-Jun-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

quota: Remove unused quota_free()

afbdaecd328f6c912293d713975856cbb2d75452 23-May-2017 Sergey Kitov <sergey.kitov@open-xchange.com>

common quota parameter parsing function implemented

7f4fa37676bac8efcf4e2ac706172b1bad779a8a 23-Mar-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

quota: Add quota_max_mail_size setting

38ce5769db11e7f52562610ee6e6fc4f0ea7888f 23-Mar-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

quota: Introduce quota_alloc_result return type

39dea5f2e78f6bfc3adc0655176f596ee211938f 06-Jun-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

quota: Differentiate between forced and non-forced quota recalc The "count" backend doesn't need to recalc quota unless an explicit "doveadm quota recalc" command is called.

c16f2d0725a16559cdeedec7628ce616725000cb 29-Apr-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

quota: Added quota_over_flag_lazy_check flag. By default the quota_over_flag is checked immediately at startup. With this option the check is done only at a time when the quota is anyway being read.

cfeebb6dde3a3140972797c610ae78cc25c0b36c 29-Apr-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

quota: Cleanup - split quota_over_flag to init & run parts In preparation for the next change.

666286d8ecc6c450b2232dcc628f79454215acfc 05-Mar-2015 Timo Sirainen <tss@iki.fi>

quota: If overquota-flag in userdb is wrong, execute a configured script. The idea here is that a quota_warning script could set user's overquota-flag to e.g. LDAP where MTA could reject mails already at RCPT TO stage. The quota_warning scripts however have race conditions that are difficult (or impossible) to fix, so sometimes the overquota-flag could become wrong and might require manual intervention to fix it. This feature is supposed to solve the issue by comparing the overquota-flag's status to the actual current quota usage and execute a script to fix up the situation if needed. This script is of course racy as well, but there's always the next login that can fix the situation. Also it's pretty rare that user's quota is jumping just around the limit. The overquota-flag name in userdb must be "quota_over_flag". There are two settings to configure what to do: plugin { # If quota_over_flag=TRUE, the overquota-flag is enabled. Otherwise not. quota_over_flag_value = TRUE # Any non-empty value for quota_over_flag means user is over quota. # Wildcards can be used in a generic way, e.g. "*yes" or "*TRUE*" #quota_over_flag_value = * # Service script to execute if overquota-flag is wrong. Configured the # same as quota_warning scripts. The current quota_over_flag's value is # appended as the last parameter. quota_over_script = quota-warning mismatch %u }

3f7583189249a28892cd5bd69e15681c7a8a619b 01-Dec-2014 Timo Sirainen <tss@iki.fi>

quota: Added "hidden" option to hide the quota root from IMAP GETQUOTAROOT command.

4316355ca8b7698516272520a972291378698140 21-Sep-2010 Timo Sirainen <tss@iki.fi>

quota: Avoid calling i_fatal() on initialization errors, plus some other fixes.

0df9428baed48afaff90b4d4f03792d2fd756a43 02-Feb-2009 Timo Sirainen <tss@iki.fi>

Fixed plugins to work with config rewrite. --HG-- branch : HEAD

/dovecot/TODO /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-storage-settings.c /dovecot/src/lib-storage/mail-storage-settings.h /dovecot/src/lib-storage/mail-user.c /dovecot/src/lib-storage/mail-user.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/master/mail-process.c /dovecot/src/master/master-settings.c /dovecot/src/plugins/acl/acl-backend.c /dovecot/src/plugins/acl/acl-lookup-dict.c /dovecot/src/plugins/acl/acl-lookup-dict.h /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/acl/acl-plugin.c /dovecot/src/plugins/acl/acl-storage.c /dovecot/src/plugins/autocreate/autocreate-plugin.c /dovecot/src/plugins/convert/Makefile.am /dovecot/src/plugins/convert/convert-plugin.c /dovecot/src/plugins/convert/convert-settings.c /dovecot/src/plugins/convert/convert-settings.h /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/convert/convert-storage.h /dovecot/src/plugins/convert/convert-tool.c /dovecot/src/plugins/expire/Makefile.am /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/expire/expire-settings.c /dovecot/src/plugins/expire/expire-settings.h /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-solr/fts-solr-plugin.c /dovecot/src/plugins/fts-solr/fts-solr-plugin.h /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-plugin.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/imap-acl/Makefile.am /dovecot/src/plugins/imap-acl/imap-acl-plugin.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/listescape/listescape-plugin.c /dovecot/src/plugins/mail-log/mail-log-plugin.c /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.c quota-maildir.c quota-plugin.c quota-plugin.h quota-storage.c quota.c quota.h /dovecot/src/plugins/trash/trash-plugin.c
3721e21a9f63dc29ec1628749298ade0b3d0daae 18-Nov-2008 Timo Sirainen <tss@iki.fi>

IMAP quota should have returned "MESSAGE", not "MESSAGES" quota. --HG-- branch : HEAD

d23c747de9d33966483fbdd41f08ad7766da7c5c 12-Aug-2008 Timo Sirainen <tss@iki.fi>

Added struct mail_user and fixed the code to support multiple users per process. --HG-- branch : HEAD

/dovecot/src/deliver/deliver.c /dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-namespace.c /dovecot/src/imap/cmd-subscribe.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/main.c /dovecot/src/lib-storage/Makefile.am /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/mail-namespace.c /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/convert/convert-plugin.c /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/convert/convert-storage.h /dovecot/src/plugins/convert/convert-tool.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c quota-count.c quota-dict.c quota-maildir.c quota-plugin.c quota-plugin.h quota-private.h quota-storage.c quota.c quota.h /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-config.c /dovecot/src/plugins/virtual/virtual-plugin.c /dovecot/src/plugins/virtual/virtual-plugin.h /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/pop3/client.c /dovecot/src/pop3/client.h /dovecot/src/pop3/main.c
c25356d5978632df6203437e1953bcb29e0c736f 16-Sep-2007 Timo Sirainen <tss@iki.fi>

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

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

Added quota warning commands. Based lightly on a patch by Nicolas Boullis. --HG-- branch : HEAD

bd7b1a9000b12349e2a99bb43b3ce8b96a18e92b 17-Apr-2007 Timo Sirainen <tss@iki.fi>

Use sync_notify() callback to count expunges. This makes the calculation much more reliable than the previous method. Also did some API cleanups. --HG-- branch : HEAD

e392fcb39a06609af20a9e79017683f194de3dde 22-Nov-2006 Timo Sirainen <tss@iki.fi>

Bytes and kilobytes were somewhat mixed up everywhere. Also fixes a compiling problem. --HG-- branch : HEAD

3fe44a0df5a0bdd80c495f79cbf0e384441d6fcc 30-Jul-2006 Timo Sirainen <tss@iki.fi>

Changes to make trash plugin working again. --HG-- branch : HEAD

3ccfcf0856958cb9208a9fc51c3bdf13c58ad52a 30-Jul-2006 Timo Sirainen <timo.sirainen@movial.fi>

Added support for multiple quota roots, rules and storages. The configuration has changed, userdb now needs to return "quota_rule" settings instead. Much of the code changes were done by Tianyan Liu. --HG-- branch : HEAD

f6f94063c4c3080280b87ab47ac2bb756ba002f9 11-Jun-2006 Timo Sirainen <timo.sirainen@movial.fi>

If size of the mail was known before saving started, we allocated the quota twice for it. --HG-- branch : HEAD

82995cc154a929f37aa486a72a6485e9f8d34a30 01-Mar-2006 Timo Sirainen <timo.sirainen@movial.fi>

Quota API redesign. Still not perfect, but better than before. Quota backends no longer need to be told where the mails exist. fs backend doesn't work correctly with multiple partitions (if you've multiple namespaces). --HG-- branch : HEAD

4981827cb5e32cf767b7b0e3070137e6b36f42af 22-Feb-2006 Timo Sirainen <timo.sirainen@movial.fi>

mailbox_save_init() supports now returning failure. Quota plugin now checks if mail is too large in mailbox_save_init() hook. APPEND fails before giving "+ OK" reply if mailbox_save_init() failed. Also fixed some APPEND failure cases where the next command was eaten away. --HG-- branch : HEAD

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

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

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

Added beginnings of plugin infrastructure. TODO: These could be optionally compiled into binaries with some configure options. Added quota plugin and a new trash plugin. Not very well tested. --HG-- branch : HEAD