annotate TODO @ 21566:7dfa73aba5f6

mail-log: Add mail_log_cached_only setting. If enabled, everything except "save" event will log only the fields that can be looked up from cache. This improves performance if some of the fields aren't cached and it's not a strict requirement to log them.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Wed, 15 Feb 2017 23:32:52 +0200
parents 673a12afb3c5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19501
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
1 - remove mail_deliver_session after all, do all the stuff transparently
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
2 by hooking into mailbox_copy().
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
3 - use this hook also to do the mail deduplication: 1) sort all destination
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
4 users, 2) create mail_user only once for each user, 3) remember in
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
5 src_mail the previously copied mail, 4) use that for mailbox_copy()ing
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
6 to following recipients
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
7 - make sure this removes duplicate dbox mails when sieve saves mail to
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
8 multiple mailboxes
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
9 - auth: user iterations shouldn't be able to use up all the workers
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
10 - indexer: if workers are stuck, we keep adding more and more stuff to them
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
11 which causes the ostream size to become huge.
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
12 - quota: maybe check quota once more at commit time to make sure the whole
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
13 transaction fits. avoids multiple parallel slow COPY commands from being
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
14 able to go over quota
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
15 - lmtp: Calculate incoming mail's hash, forward it via proxying, have the
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
16 final delivery code verify that it's correct
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
17 - METADATA: quota, NOTIFY interaction, METADATA-SERVER capability
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
18 - fts: if SEARCH X-MAILBOX is used on virtual/all folder, it doesn't update
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
19 any indexes. (and it should skip those physical mailboxes that don't
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
20 match the X-MAILBOX)
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
21 - fts: if indexer has request queued, SEARCH won't return anything until
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
22 it's done.
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
23 - maybe abort entirely after X time and return NO
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
24 - prioritize small quick indexing before slow large indexing?
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
25 - in virtual mailbox searches don't wait for indexing to finish to
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
26 large unindexed mailboxes, just show what you got
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
27 - figure out some way to avoid a million error messages getting logged
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
28 when service imap/pop3 reaches process_limit (some kind of notification
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
29 to login process that the post-login process is full?)
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
30 - lda: mail sending (bounce? forward?) is sending mixed CRLF+LFs
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
31 - auth: remove protocol !flop {} requirement. try again remote {} and local {}
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
32 support for auth. where do we go stuck? at least need to be able to share
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
33 identical passdb/userdbs
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
34 - doveadm sync -l: lock also when syncing public mailboxes? per-mailbox locks?
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
35 - dsync: dsync_mailbox_export_init() can be very slow and not send anything
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
36 to remote dsync for a long time, which thinks the other side is dead and
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
37 kills it. need to send some kind of keepalive-notifications.
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
38 - dsync: rename + re-subscribe isn't handled right in first sync, because
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
39 dsync moves the subscribed-flag when it renames the node
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
40 - "/asdf" in subscriptions -> LSUB lists -> dsync assert-crashes
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
41 - replicator: automatically remove users who don't exist
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
42 - imapc: sync_uid_next handling doesn't seem to be correct, especially with
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
43 Courier that doesn't send UIDNEXT on SELECT
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
44 - sdbox: dbox_file_fix() should assume there is only one message..
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
45 - pop3: if we can't fetch "order" field for UIDL (but could fetch it
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
46 initially), the order will be wrong and error is logged. probably just
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
47 need to read all the UIDLs into memory at startup?..
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
48
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
49 - fs_list_get_mailbox_flags() is unnecessarily stat()ing files/dirs
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
50 - doveadm-server: dsync doesn't work through proxying, because the data isn't
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
51 actually being proxied but handled via doveadm_print()
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
52 - CATENATE: Allow ~{binary} data but fail if there are any c-t-e: binary parts?
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
53 or simply silently save it?
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
54
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
55 - master-settings.c warnings aren't logged to log file at startup
16199
92c88eca562d Released v2.2.rc4.
Timo Sirainen <tss@iki.fi>
parents: 15940
diff changeset
56 - dsync: delete foo, rename bar foo -> foo, foo-temp-1
92c88eca562d Released v2.2.rc4.
Timo Sirainen <tss@iki.fi>
parents: 15940
diff changeset
57 - dsync+imapc:
92c88eca562d Released v2.2.rc4.
Timo Sirainen <tss@iki.fi>
parents: 15940
diff changeset
58 - mailbox list could be synced pretty optimally by ignoring
92c88eca562d Released v2.2.rc4.
Timo Sirainen <tss@iki.fi>
parents: 15940
diff changeset
59 (name, uidvalidity) matches. for the left if uidvalidities are unique
92c88eca562d Released v2.2.rc4.
Timo Sirainen <tss@iki.fi>
parents: 15940
diff changeset
60 and can be matched -> rename mailbox.
92c88eca562d Released v2.2.rc4.
Timo Sirainen <tss@iki.fi>
parents: 15940
diff changeset
61 - GUID-less sync could optionally use just rfc822.size [and internaldate]
92c88eca562d Released v2.2.rc4.
Timo Sirainen <tss@iki.fi>
parents: 15940
diff changeset
62 to match messages.
92c88eca562d Released v2.2.rc4.
Timo Sirainen <tss@iki.fi>
parents: 15940
diff changeset
63
16523
5d9f52c9a287 Released v2.2.3.
Timo Sirainen <tss@iki.fi>
parents: 16300
diff changeset
64 - virtual plugin doesn't verify the index file's data, crashes if broken.
19501
42b5cde2d560 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 17629
diff changeset
65 - libsasl: use it in pop3c, managesieve-login, doveadm auth
16523
5d9f52c9a287 Released v2.2.3.
Timo Sirainen <tss@iki.fi>
parents: 16300
diff changeset
66 - per-msg checksums? per-cache-msg checksums? per-log record checksums?
15875
28f4d5a841e7 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15357
diff changeset
67 - if transaction log file corruption is noticed, make sure new dovecot.index
28f4d5a841e7 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15357
diff changeset
68 snapshot gets written and don't mark the whole file corrupted.. rather maybe
28f4d5a841e7 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15357
diff changeset
69 just rotate and truncate it
16199
92c88eca562d Released v2.2.rc4.
Timo Sirainen <tss@iki.fi>
parents: 15940
diff changeset
70 - mdbox: purging in alt storage could create files back to alt storage
15278
12cd194553a8 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15030
diff changeset
71 - LAYOUT=index:
12cd194553a8 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15030
diff changeset
72 - after doing a lot of changes the list's memory pool keeps growing.
12cd194553a8 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15030
diff changeset
73 do an occasional re-parsing to clear the pool
12cd194553a8 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15030
diff changeset
74 - quota recalc + dict-file [+acl?] assert-crashes in !indexing->syncing
15875
28f4d5a841e7 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15357
diff changeset
75 - imaptest: add condstore, qresync tests
28f4d5a841e7 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15357
diff changeset
76
28f4d5a841e7 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15357
diff changeset
77 - Track highestmodseq always, just don't keep per-message modseqs unless
28f4d5a841e7 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15357
diff changeset
78 they're enabled. Then don't return [NOMODSEQ] on select.
15278
12cd194553a8 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15030
diff changeset
79 - URLAUTH: if client tries to access nonexistent user, do a delay in
12cd194553a8 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15030
diff changeset
80 imap-urlauth-client.c (AFTER destroying the worker)
12cd194553a8 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15030
diff changeset
81 - special response in the control connection to make the imap-urlauth
12cd194553a8 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15030
diff changeset
82 master wait before starting a new worker
15357
f5941f3ac762 Released v2.2.alpha1.
Timo Sirainen <tss@iki.fi>
parents: 15338
diff changeset
83 - shared user should get settings from userdb extra fields, especially
f5941f3ac762 Released v2.2.alpha1.
Timo Sirainen <tss@iki.fi>
parents: 15338
diff changeset
84 plugin/quota_rule to get different quota limits for shared mailboxes.
f5941f3ac762 Released v2.2.alpha1.
Timo Sirainen <tss@iki.fi>
parents: 15338
diff changeset
85 the problem is that user doesn't currently have set_parser available,
f5941f3ac762 Released v2.2.alpha1.
Timo Sirainen <tss@iki.fi>
parents: 15338
diff changeset
86 and adding it would probably waste memory..
f5941f3ac762 Released v2.2.alpha1.
Timo Sirainen <tss@iki.fi>
parents: 15338
diff changeset
87 - auth_debug[_passwords]=yes ability for specific users via doveadm. for
f5941f3ac762 Released v2.2.alpha1.
Timo Sirainen <tss@iki.fi>
parents: 15338
diff changeset
88 both login-common and auth
15278
12cd194553a8 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15030
diff changeset
89 - settings parsing is horribly bloaty
14926
9c69df65af7b Simplified hash table union now that it again works only with pointers.
Timo Sirainen <tss@iki.fi>
parents: 14865
diff changeset
90 - doveadm: if running via doveadm-server and it fails, say something about
9c69df65af7b Simplified hash table union now that it again works only with pointers.
Timo Sirainen <tss@iki.fi>
parents: 14865
diff changeset
91 error being in the log
14753
53139f2f2284 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 14585
diff changeset
92 - indexer-worker and maybe others (doveadm?) could support dropping privileges
53139f2f2284 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 14585
diff changeset
93 permanently when service_count=1. Note that LMTP can't with multiple RCPT
53139f2f2284 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 14585
diff changeset
94 TOs.
53139f2f2284 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 14585
diff changeset
95 - after reading whole message text, update has_nul-state to cache
14585
8bb23c123ea3 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 14503
diff changeset
96 - FIFOs maybe should be counted as connections, but unlisten should
8bb23c123ea3 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 14503
diff changeset
97 unlink+reopen it in master?
14140
481860782250 Released v2.1.rc6.
Timo Sirainen <tss@iki.fi>
parents: 13989
diff changeset
98 - lmtp client/proxy: Handle multiline replies better
15875
28f4d5a841e7 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15357
diff changeset
99 - lmtp: support DSN extension (especially ORCPT)
14140
481860782250 Released v2.1.rc6.
Timo Sirainen <tss@iki.fi>
parents: 13989
diff changeset
100 - recreate mailbox -> existing sessions log "indexid changed" error
13907
5398bdb8613f Released v2.1.rc3.
Timo Sirainen <tss@iki.fi>
parents: 13900
diff changeset
101 - add message/mime limits
13677
825a122eb9d3 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13470
diff changeset
102 - imapc:
825a122eb9d3 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13470
diff changeset
103 - prefetching to THREAD and SORT
825a122eb9d3 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13470
diff changeset
104 - check all imap extensions and see if some don't work (condstore)
13900
a14b7333ae45 Released v2.1.rc2.
Timo Sirainen <tss@iki.fi>
parents: 13777
diff changeset
105 - per-namespace imapc_* settings? create a way to "copy" a settings struct,
a14b7333ae45 Released v2.1.rc2.
Timo Sirainen <tss@iki.fi>
parents: 13777
diff changeset
106 so mail_storage_settings are copied to mail_namespace_settings. use the
a14b7333ae45 Released v2.1.rc2.
Timo Sirainen <tss@iki.fi>
parents: 13777
diff changeset
107 change tracking to figure out what settings are namespace-specific.
13677
825a122eb9d3 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13470
diff changeset
108
15940
539baf0adc2e TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15875
diff changeset
109 - doveadm import: add -d parameter to deduplicate mails based on their GUID
539baf0adc2e TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15875
diff changeset
110 (or perhaps do it by default?)
539baf0adc2e TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15875
diff changeset
111 - sdbox: altmoving is done with mailbox locked. that's not necessary, it could
539baf0adc2e TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15875
diff changeset
112 do the copying while unlocked and delete the primary files while locked
13900
a14b7333ae45 Released v2.1.rc2.
Timo Sirainen <tss@iki.fi>
parents: 13777
diff changeset
113 - passdb, userdb { username_format } that doesn't permanently change
a14b7333ae45 Released v2.1.rc2.
Timo Sirainen <tss@iki.fi>
parents: 13777
diff changeset
114 the username
13470
6a918d40d6f7 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13360
diff changeset
115 - mdbox/sdbox index rebuild -> quota rebuild?
13360
f0fb3cede05c TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13327
diff changeset
116 - solr separate attachments (patch)
f0fb3cede05c TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13327
diff changeset
117 - sql connection pooling: Count lookup latencies, avoid servers with
13777
79bae0318b46 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13677
diff changeset
118 significantly higher latencies. optionally use the secondary server only
79bae0318b46 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13677
diff changeset
119 as fallback
13360
f0fb3cede05c TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13327
diff changeset
120 - maildir_storage_sync_force() shouldn't do anything except find the new
f0fb3cede05c TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13327
diff changeset
121 file, don't go expunging any more stuff or we could get recursively back to
f0fb3cede05c TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13327
diff changeset
122 where we started, and stuff would break
f0fb3cede05c TODO updated
Timo Sirainen <tss@iki.fi>
parents: 13327
diff changeset
123 - fuzzy: be fuzzy about date/size
12756
04073884748a TODO updated
Timo Sirainen <tss@iki.fi>
parents: 12755
diff changeset
124 - mailbox list index:
04073884748a TODO updated
Timo Sirainen <tss@iki.fi>
parents: 12755
diff changeset
125 - with in-memory indexes be sure to refresh it more often
04073884748a TODO updated
Timo Sirainen <tss@iki.fi>
parents: 12755
diff changeset
126 - refreshing could refresh only the parts that are actually requested,
04073884748a TODO updated
Timo Sirainen <tss@iki.fi>
parents: 12755
diff changeset
127 e.g. %
12551
917f3699af5b TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 12547
diff changeset
128 - notify_sync() could have "what changed" struct with old/new flags
12546
ab30580b88d9 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 12511
diff changeset
129 - maildir: copy dovecot-shared file from parent mailbox, not root.
ab30580b88d9 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 12511
diff changeset
130
12476
0757f4f5b882 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 12400
diff changeset
131 - master passdb preserves userdb_* extra fields. should it preserve
0757f4f5b882 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 12400
diff changeset
132 non-userdb_* extra fields too?
12400
d0d3aca1c958 Released v2.0.7.
Timo Sirainen <tss@iki.fi>
parents: 12336
diff changeset
133 - imap, pop3: if client init fails, wait a second or two before disconnecting
d0d3aca1c958 Released v2.0.7.
Timo Sirainen <tss@iki.fi>
parents: 12336
diff changeset
134 client.
d0d3aca1c958 Released v2.0.7.
Timo Sirainen <tss@iki.fi>
parents: 12336
diff changeset
135 - doveadm search savedbefore 7d could be optimized in large mailboxes..
12336
8a838dcf8e76 Released v2.0.6.
Timo Sirainen <tss@iki.fi>
parents: 12231
diff changeset
136 - mdbox: storage rebuilding could log about changes it does
12400
d0d3aca1c958 Released v2.0.7.
Timo Sirainen <tss@iki.fi>
parents: 12336
diff changeset
137 - mdbox: broken extrefs header keeps causing index rebuilds
12231
2690facaa927 Released v2.0.5.
Timo Sirainen <tss@iki.fi>
parents: 12181
diff changeset
138 - sent, drafts: .Sent/dovecot.index: modseq_hdr.log_offset too large
12181
7f5c5778c4b9 Released v2.0.4.
Timo Sirainen <tss@iki.fi>
parents: 12132
diff changeset
139 - mail_max_lock_timeout error could be reported more nicely, also ones coming
7f5c5778c4b9 Released v2.0.4.
Timo Sirainen <tss@iki.fi>
parents: 12132
diff changeset
140 from lib-index
12095
f4eb53065879 Released v2.0.2.
Timo Sirainen <tss@iki.fi>
parents: 11974
diff changeset
141 - sql pool: if async query is pending and sync query is sent and there
f4eb53065879 Released v2.0.2.
Timo Sirainen <tss@iki.fi>
parents: 11974
diff changeset
142 are no more empty connections, it should flush the async query first
11683
148fccbe9f32 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 11525
diff changeset
143 - NTLMv1 and LM should be disabled if disable_plaintext_auth=yes
11387
7b8bd33c96f9 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 11273
diff changeset
144 - SEARCH SENT*/HEADER/etc. doesn't seem optimized when using with TEXT/BODY
12476
0757f4f5b882 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 12400
diff changeset
145 - dict sql: support ignoring some search key hierarchies (e.g. acl "anyone")
15940
539baf0adc2e TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15875
diff changeset
146 - dsync: avoid sending email when it could be copied from another mailbox.
539baf0adc2e TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15875
diff changeset
147 probably requires storage to have guid => { instances } map? that's
539baf0adc2e TODO updated
Timo Sirainen <tss@iki.fi>
parents: 15875
diff changeset
148 rather annoying to add.
11273
5779cbc79020 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
149
10479
594a349067f6 Released v2.0.beta1.
Timo Sirainen <tss@iki.fi>
parents: 10163
diff changeset
150 - mdbox
11485
e9fed6359699 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 11387
diff changeset
151 - dotlocking: cleanup should delete stale *.lock files
10968
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
152 - purging seems to be inefficient. run imaptest for a while, get >500
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
153 files, start purging, it's slow until there are about 100 files left,
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
154 then the rest is suddenly fast.
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
155 - make sure that when reading mdbox mails sequentially the data is being
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
156 read from disk in n kB blocks and reads cross mail boundaries and when
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
157 reading the next mail it uses the previously read data in buffer
10479
594a349067f6 Released v2.0.beta1.
Timo Sirainen <tss@iki.fi>
parents: 10163
diff changeset
158 - Add some kind of checksum about data+metadata and use it when checking
594a349067f6 Released v2.0.beta1.
Timo Sirainen <tss@iki.fi>
parents: 10163
diff changeset
159 consistency
10798
81e79df3fed8 Released v2.0.beta3.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
160 - figure out a way to efficiently trigger purging when user has too much
81e79df3fed8 Released v2.0.beta3.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
161 mail expunged (e.g. keep track of total storage size, trigger purging
81e79df3fed8 Released v2.0.beta3.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
162 when it's 2*quota limit)
81e79df3fed8 Released v2.0.beta3.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
163 - keep track of total bytes in dbox storage in map header. also if
81e79df3fed8 Released v2.0.beta3.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
164 possible keep track of refcount=0 bytes. use these to optimize checks.
81e79df3fed8 Released v2.0.beta3.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
165 - save some stuff to map index header so we don't need to keep retrying
81e79df3fed8 Released v2.0.beta3.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
166 it. like when saving the lowest file_id which to bother checking.
81e79df3fed8 Released v2.0.beta3.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
167 - test crash-fixing
10968
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
168 - optimize away reading file header?
10479
594a349067f6 Released v2.0.beta1.
Timo Sirainen <tss@iki.fi>
parents: 10163
diff changeset
169 - maildir: out-of-disk-space failures apparently cause all kinds of
594a349067f6 Released v2.0.beta1.
Timo Sirainen <tss@iki.fi>
parents: 10163
diff changeset
170 problems, e.g. "Expunged message reappeared", "Duplicate file entry"?
10163
6b75cb16d427 Released v2.0.alpha2.
Timo Sirainen <tss@iki.fi>
parents: 10052
diff changeset
171 - deliver -r <address> used as autoreplies' From-address?
10546
dfca2414c0a0 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 10479
diff changeset
172 - istream-seekable is inefficient. it shouldn't be reading the temp file
dfca2414c0a0 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 10479
diff changeset
173 immediately after writing to it
10968
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
174 - config process is handling requests too slowly. maybe add some caching.
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
175 - maybe config should return all of the protocol/local/remote overrides
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
176 when requested? then the caller could do a single lookup at start and
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
177 merge them later internally. this would really help login processes.
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
178 - ipv6: auth penalty should begin from /64 and gradually grow to /48 if
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
179 necessary. and the same could be done for ipv4 as well..
10052
7dc28f9b899d Released v2.0.alpha1.
Timo Sirainen <tss@iki.fi>
parents: 9931
diff changeset
180
10163
6b75cb16d427 Released v2.0.alpha2.
Timo Sirainen <tss@iki.fi>
parents: 10052
diff changeset
181 - ldap: fix multiple-gid support somehow
9459
0aeea5034358 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 9235
diff changeset
182 - search: use mail_get_parts() only when it's already cached. if it's not,
0aeea5034358 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 9235
diff changeset
183 add it to cache afterwards.
9015
21d4363a3cf7 Merged configuration rewrite.
Timo Sirainen <tss@iki.fi>
parents: 9001 9005
diff changeset
184
9000
ffda403f7072 Updated.
Timo Sirainen <tss@iki.fi>
parents: 8738
diff changeset
185 /* currently non-external transactions can be applied multiple times,
ffda403f7072 Updated.
Timo Sirainen <tss@iki.fi>
parents: 8738
diff changeset
186 causing multiple increments. */
ffda403f7072 Updated.
Timo Sirainen <tss@iki.fi>
parents: 8738
diff changeset
187 //FIXME:i_assert((t->flags & MAIL_INDEX_TRANSACTION_FLAG_EXTERNAL) != 0);
ffda403f7072 Updated.
Timo Sirainen <tss@iki.fi>
parents: 8738
diff changeset
188 ^ appears to work now though, probably because of the added syncing stuff..
ffda403f7072 Updated.
Timo Sirainen <tss@iki.fi>
parents: 8738
diff changeset
189
ffda403f7072 Updated.
Timo Sirainen <tss@iki.fi>
parents: 8738
diff changeset
190 - use backup index in mail_index_fsck()
8564
3c4934783aff Mention SSL/TLS in "plaintext auth disallowed" error.
Timo Sirainen <tss@iki.fi>
parents: 8555
diff changeset
191 - proxying: support fallbacking to local (or other?) server if the first
3c4934783aff Mention SSL/TLS in "plaintext auth disallowed" error.
Timo Sirainen <tss@iki.fi>
parents: 8555
diff changeset
192 one is down
11765
23daee5d8496 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 11683
diff changeset
193 - virtual: If last message matching INTHREAD rule gets expunged, the rest of
23daee5d8496 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 11683
diff changeset
194 the thread doesn't go away
8488
072edbdb8102 Updated
Timo Sirainen <tss@iki.fi>
parents: 8315
diff changeset
195 - how do shared mailboxes work with plugins?
072edbdb8102 Updated
Timo Sirainen <tss@iki.fi>
parents: 8315
diff changeset
196 - lazy-expunge, fts, etc.?
11974
4a2d840a80bb Released v2.0.rc5.
Timo Sirainen <tss@iki.fi>
parents: 11765
diff changeset
197 - listescape+acl can't handle shared mailboxes with escape chars
8488
072edbdb8102 Updated
Timo Sirainen <tss@iki.fi>
parents: 8315
diff changeset
198 - dovecot-acl-list:
072edbdb8102 Updated
Timo Sirainen <tss@iki.fi>
parents: 8315
diff changeset
199 - how does it work with global acls?
072edbdb8102 Updated
Timo Sirainen <tss@iki.fi>
parents: 8315
diff changeset
200 - update immediately after SETACL: add/remove entries, update timestamps
072edbdb8102 Updated
Timo Sirainen <tss@iki.fi>
parents: 8315
diff changeset
201 - read the entire file to memory only once and keep it there, stat() later
072edbdb8102 Updated
Timo Sirainen <tss@iki.fi>
parents: 8315
diff changeset
202 to see if it has changed. if not, perhaps don't even bother stat()ing
072edbdb8102 Updated
Timo Sirainen <tss@iki.fi>
parents: 8315
diff changeset
203 dovecot-acl files? at least not that often..
072edbdb8102 Updated
Timo Sirainen <tss@iki.fi>
parents: 8315
diff changeset
204 - fs quota: getquotaroot inbox vs. other-box should return different quotas
072edbdb8102 Updated
Timo Sirainen <tss@iki.fi>
parents: 8315
diff changeset
205 if two quotas are defined
8158
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
206 - auth_log_prefix setting similar to mail_log_prefix
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
207
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
208 - thread indexes: if we expunge a duplicate message-id: and we have a sibling
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
209 with identical message-id:, we can probably just move the children?
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
210 (unless there are non-sibling duplicates)
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
211 - SEARCH INTHREAD requires no thread sorting by date - don't do it
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
212 - CONDSTORE: use per-flag/per-keyword conflict checking
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
213 - QRESYNC: Drop expunges from the middle of given seq sets if possible
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
214 - use universal hash functions?
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
215
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
216 - UIDVALIDITY changed while saving -> sync errors
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
217 - mbox: copy to Trash, manually delete copied msg, change uidvalidity,
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
218 set nextuid=1, copy again -> error
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
219 - recent_uids assert at least with mbox
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
220 - quota fs: Should values returned by quota be divided by the actual
ad3ac0cb4573 Updated TODO and NEWS.
Timo Sirainen <tss@iki.fi>
parents: 8140
diff changeset
221 filesystem block size instead of hardcoded DEV_BSIZE? not with AIX..
7259
2aa39f1e3993 Released v1.1.beta16.
Timo Sirainen <tss@iki.fi>
parents: 7180
diff changeset
222 - squat:
7380
dfd811aa0418 Relased v1.1.rc2.
Timo Sirainen <tss@iki.fi>
parents: 7285
diff changeset
223 - wrong indexid
dfd811aa0418 Relased v1.1.rc2.
Timo Sirainen <tss@iki.fi>
parents: 7285
diff changeset
224 - fts_build_init() assertion failed: (last_uid < last_uid_locked)
7259
2aa39f1e3993 Released v1.1.beta16.
Timo Sirainen <tss@iki.fi>
parents: 7180
diff changeset
225 - is locking done right? it reads header without file being locked?
2aa39f1e3993 Released v1.1.beta16.
Timo Sirainen <tss@iki.fi>
parents: 7180
diff changeset
226 - split after ~8 bytes?
7391
c73d6224a96b Released v1.1.rc3.
Timo Sirainen <tss@iki.fi>
parents: 7380
diff changeset
227 - expunges are delayed until more mails are added
7259
2aa39f1e3993 Released v1.1.beta16.
Timo Sirainen <tss@iki.fi>
parents: 7180
diff changeset
228 - test replacement chars (SEARCH / SORT / Squat)
6987
ad1361eee1ae Updated
Timo Sirainen <tss@iki.fi>
parents: 6782
diff changeset
229
7449
4607141a6bdc Released v1.1.rc4.
Timo Sirainen <tss@iki.fi>
parents: 7391
diff changeset
230 - DEBUG: buffer overflow checking code probably doesn't handle a successful
4607141a6bdc Released v1.1.rc4.
Timo Sirainen <tss@iki.fi>
parents: 7391
diff changeset
231 t_try_realloc() or pool_alloconly_realloc() properly
8738
ce8f8ca3ac35 Updated.
Timo Sirainen <tss@iki.fi>
parents: 8714
diff changeset
232 - ldap:
14140
481860782250 Released v2.1.rc6.
Timo Sirainen <tss@iki.fi>
parents: 13989
diff changeset
233 - multiple ldap values could be joined into one field with specified
481860782250 Released v2.1.rc6.
Timo Sirainen <tss@iki.fi>
parents: 13989
diff changeset
234 separator (e.g. mail_access_groups=%{ldap:gidNumber:,})
5621
eba408782747 updated
Timo Sirainen <tss@iki.fi>
parents: 5557
diff changeset
235
9159
6324a79d3ee1 Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents: 9015
diff changeset
236 - maildir+pop3 fast updates:
6105
8f79b333fc47 Updated
Timo Sirainen <tss@iki.fi>
parents: 5621
diff changeset
237 - don't update dovecot-uidlist if dovecot.index.cache doesn't exist /
8f79b333fc47 Updated
Timo Sirainen <tss@iki.fi>
parents: 5621
diff changeset
238 there's nothing to cache
8f79b333fc47 Updated
Timo Sirainen <tss@iki.fi>
parents: 5621
diff changeset
239 - if all messages are expunged and there are no unknown extensions in index,
8f79b333fc47 Updated
Timo Sirainen <tss@iki.fi>
parents: 5621
diff changeset
240 unlink dovecot.index and rotate log and add some initial useful info to
8f79b333fc47 Updated
Timo Sirainen <tss@iki.fi>
parents: 5621
diff changeset
241 the log (uidvalidity, nextuid)
5621
eba408782747 updated
Timo Sirainen <tss@iki.fi>
parents: 5557
diff changeset
242
6105
8f79b333fc47 Updated
Timo Sirainen <tss@iki.fi>
parents: 5621
diff changeset
243 - maildir
6987
ad1361eee1ae Updated
Timo Sirainen <tss@iki.fi>
parents: 6782
diff changeset
244 - don't allow more than 26 keywords
5621
eba408782747 updated
Timo Sirainen <tss@iki.fi>
parents: 5557
diff changeset
245
5557
Timo Sirainen <tss@iki.fi>
parents: 4449
diff changeset
246 - file_cache: we're growing the mmap in page size blocks, which is horribly
Timo Sirainen <tss@iki.fi>
parents: 4449
diff changeset
247 slow if mremap() doesn't exist.
Timo Sirainen <tss@iki.fi>
parents: 4449
diff changeset
248
3087
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
249 - keywords:
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
250 - add some limits to how many there can be
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
251 - don't return \* in PERMANENTFLAGS when we're full
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
252 - remove unused keywords?
2774
689e4235681f updated
Timo Sirainen <tss@iki.fi>
parents: 2143
diff changeset
253
11273
5779cbc79020 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
254 - mail caching
3904
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
255 - force bits should be used only for nonregistered fields
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
256 - change envelope parsing not to use get_headers() so imap.envelope can
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
257 actually be cached without all the headers..
6105
8f79b333fc47 Updated
Timo Sirainen <tss@iki.fi>
parents: 5621
diff changeset
258 - if there's no other pressure for compression, we should do it when
8f79b333fc47 Updated
Timo Sirainen <tss@iki.fi>
parents: 5621
diff changeset
259 enough temp fields are ready to be dropped
3904
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
260 - we could try compressing same field values into a single
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
261 location in cache file.
7259
2aa39f1e3993 Released v1.1.beta16.
Timo Sirainen <tss@iki.fi>
parents: 7180
diff changeset
262 - place some maximum limit of fields to cache file? maybe some soft and
2aa39f1e3993 Released v1.1.beta16.
Timo Sirainen <tss@iki.fi>
parents: 7180
diff changeset
263 hard limits, so when soft limit is reached drop fields that have
2aa39f1e3993 Released v1.1.beta16.
Timo Sirainen <tss@iki.fi>
parents: 7180
diff changeset
264 been used only once. when hard limit is reached drop any fields to get
2aa39f1e3993 Released v1.1.beta16.
Timo Sirainen <tss@iki.fi>
parents: 7180
diff changeset
265 more space. all this to avoid cache file growing infinitely.
2774
689e4235681f updated
Timo Sirainen <tss@iki.fi>
parents: 2143
diff changeset
266
3087
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
267 - mbox
11273
5779cbc79020 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
268 - UID renumbering doesn't really work after all?
12476
0757f4f5b882 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 12400
diff changeset
269 - still problems with CRLF mboxes.. especially with broken Content-Length
0757f4f5b882 TODO updated
Timo Sirainen <tss@iki.fi>
parents: 12400
diff changeset
270 headers (pointing between CR-LF?)
3904
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
271 - syncing existing indexes takes 4x longer than creating new one, why?
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
272 - how well does dirty sync + status work? it reads the last mail every
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
273 time? not very good..
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
274 - always add empty line. make the parser require it too? syncing should
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
275 make sure there always exists two LFs at end of file. raw-mbox-stream
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
276 should make sure the last message ends with LF even if it doesn't exist
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
277 in the file
9f8d69605d4b 1.0 beta1 released
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
278 - Quote "From ", unquote ">From "
4449
a2d8624f8f2e Updated
Timo Sirainen <tss@iki.fi>
parents: 4373
diff changeset
279 - COPY doesn't work to itself (lock assert crash, for now just disallowed)
2143
11c1f1203b65 updated
Timo Sirainen <tss@iki.fi>
parents: 1585
diff changeset
280
11c1f1203b65 updated
Timo Sirainen <tss@iki.fi>
parents: 1585
diff changeset
281 - index
6105
8f79b333fc47 Updated
Timo Sirainen <tss@iki.fi>
parents: 5621
diff changeset
282 - index file format changes:
10968
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
283 - split to "old" and "new" indexes and try to avoid loading "old" into
38e98c234af5 Released v2.0.beta4.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
284 memory until needed
6105
8f79b333fc47 Updated
Timo Sirainen <tss@iki.fi>
parents: 5621
diff changeset
285 - pack UIDs to beginning of file with UID ranges
8f79b333fc47 Updated
Timo Sirainen <tss@iki.fi>
parents: 5621
diff changeset
286 - use squat-like compressed uid ranges everywhere
6782
4628e3ec65e4 Released v1.1.beta8.
Timo Sirainen <tss@iki.fi>
parents: 6754
diff changeset
287 - write first extension intros in dovecot.index.log always with names
4628e3ec65e4 Released v1.1.beta8.
Timo Sirainen <tss@iki.fi>
parents: 6754
diff changeset
288 - or better yet, drop the intro concept completely as it is now
2143
11c1f1203b65 updated
Timo Sirainen <tss@iki.fi>
parents: 1585
diff changeset
289
3087
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
290 - login
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
291 - Digest-MD5: support integrity protection, and maybe crypting. Do it
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
292 through login process like SSL is done?
474
47d0c169bdba updated
Timo Sirainen <tss@iki.fi>
parents: 376
diff changeset
293
3087
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
294 - auth
4449
a2d8624f8f2e Updated
Timo Sirainen <tss@iki.fi>
parents: 4373
diff changeset
295 - with blocking passdb we're not caching lookups if the password was wrong
5557
Timo Sirainen <tss@iki.fi>
parents: 4449
diff changeset
296 - non-plaintext authentication doesn't support all features:
Timo Sirainen <tss@iki.fi>
parents: 4449
diff changeset
297 - multiple passdbs don't work, only the first one is used
Timo Sirainen <tss@iki.fi>
parents: 4449
diff changeset
298 - auth cache's last_success password change check doesn't exist
9459
0aeea5034358 TODO updated.
Timo Sirainen <tss@iki.fi>
parents: 9235
diff changeset
299 - auth_cache_negative_ttl doesn't check password mismatches
4449
a2d8624f8f2e Updated
Timo Sirainen <tss@iki.fi>
parents: 4373
diff changeset
300 - dovecot-auth should limit how fast authentication requests are allowed
a2d8624f8f2e Updated
Timo Sirainen <tss@iki.fi>
parents: 4373
diff changeset
301 from login processes. especially if there's one login/connection the speed
3087
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
302 should be something like once/sec. also limit how fast to accept new
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
303 connections.
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
304 - support read-only logins. user could with alternative password get only
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
305 read-access to mails so mails could be read relatively safely with
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
306 untrusted computers. Maybe always send [ALERT] about the previous
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
307 read-only login time with IP?
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
308
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
309 - ssl
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
310 - add setting: ssl_options = bitmask. by default we enable all openssl
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
311 workarounds, this could be used to disable some of them
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
312 - gnutls support isn't working
965
6f005d5d9931 0.99.6 out
Timo Sirainen <tss@iki.fi>
parents: 892
diff changeset
313
3087
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
314 - search
6232
8d4fa6f0b7e6 Released v1.1.alpha2.
Timo Sirainen <tss@iki.fi>
parents: 6105
diff changeset
315 - message header search: we should ignore LWSP between two MIME blocks(?)
8d4fa6f0b7e6 Released v1.1.alpha2.
Timo Sirainen <tss@iki.fi>
parents: 6105
diff changeset
316 - message_search_init() could accept multiple search keywords so we
1250
31510fc5e02f updates
Timo Sirainen <tss@iki.fi>
parents: 1211
diff changeset
317 wouldn't need to call it separately for each one (so we wouldn't need
31510fc5e02f updates
Timo Sirainen <tss@iki.fi>
parents: 1211
diff changeset
318 to parse the message multiple times).
31510fc5e02f updates
Timo Sirainen <tss@iki.fi>
parents: 1211
diff changeset
319 - Create our own extension: When searching with TEXT/BODY, return
31510fc5e02f updates
Timo Sirainen <tss@iki.fi>
parents: 1211
diff changeset
320 the message text surrounding the keywords just like web search engines
31510fc5e02f updates
Timo Sirainen <tss@iki.fi>
parents: 1211
diff changeset
321 do. like: SEARCH X-PRINT-MATCHES TEXT "hello" -> * SEARCH 1 "He said:
31510fc5e02f updates
Timo Sirainen <tss@iki.fi>
parents: 1211
diff changeset
322 Hello world!" 2 "Hello, I'm ...". This would be especially useful with
31510fc5e02f updates
Timo Sirainen <tss@iki.fi>
parents: 1211
diff changeset
323 the above attachment scanning.
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
324
3087
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
325 - general
769e2e2bf1d5 sorted things
Timo Sirainen <tss@iki.fi>
parents: 3048
diff changeset
326 - things break if next_uid gets to 2^32
17629
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
327
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
328 - lib-http:
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
329 - Client:
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
330 - Handle HTTP/1.0 servers properly:
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
331 -> Transfer-Encoding is not allowed
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
332 - Implement support for priority/deadline-based scheduling.
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
333 Much like: https://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
334 - Allow handling non-idempotent requests specially
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
335 (no automatic retry, block pipeline)
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
336 - Implement support for `Range:' requests.
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
337 - Implement optional round-robin request scheduling for when
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
338 host has multiple IPs.
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
339 - Server:
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
340 - Implement API structure for virtual hosts and resources. This way,
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
341 multiple services can coexist independently on the same HTTP server.
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
342 - Implement support for `Range:' requests.
edcbd75b76ba lib-http: Added initial support for server-side HTTP API.
Stephan Bosch <stephan@rename-it.nl>
parents: 16958
diff changeset
343 - Review compliance with RFC 7230 and RFC 7231