Mercurial > dovecot > original-hg > dovecot-1.2
comparison TODO @ 6232:8d4fa6f0b7e6 HEAD 1.1.alpha2
Released v1.1.alpha2.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 07 Aug 2007 15:17:14 +0300 |
parents | 8f79b333fc47 |
children | 31f374bcbd31 |
comparison
equal
deleted
inserted
replaced
6231:30c77009ba73 | 6232:8d4fa6f0b7e6 |
---|---|
1 - command didn't cancel itself: STATUS | 1 - SORT: Invalid input is supposed to be sorted last. |
2 - allow sql plugins | |
3 - indexes: are cache prev_offsets updated right? | 2 - indexes: are cache prev_offsets updated right? |
4 - mmap_disable: updated cache header doesn't invalidate other processes' cache? | 3 - mmap_disable: updated cache header doesn't invalidate other processes' cache? |
5 - rquotad support for FS quota | |
6 - filesystem group quota patch | |
7 - userdb lookups aren't verifying / translating usernames | |
8 - message-header-decode.h API: Add support for returning UTF-8 decoded strings | |
9 directly. | |
10 - Fix Sieve plugin to decode headers using it | |
11 | 4 |
12 - maildir+pop3/deliver fast updates: | 5 - maildir+pop3/deliver fast updates: |
13 - with locking enabled, pop3 could just keep the one and same sync lock and | 6 - with locking enabled, pop3 could just keep the one and same sync lock and |
14 do the whole thing using sync transaction | 7 do the whole thing using sync transaction |
15 - don't update dovecot-uidlist if dovecot.index.cache doesn't exist / | 8 - don't update dovecot-uidlist if dovecot.index.cache doesn't exist / |
29 that someone else already had added them to uidlist, and the existing UIDs | 22 that someone else already had added them to uidlist, and the existing UIDs |
30 could be assigned to them in the index. | 23 could be assigned to them in the index. |
31 - maildir_copy_preserve_filename=yes has a race condition causing "Append with | 24 - maildir_copy_preserve_filename=yes has a race condition causing "Append with |
32 UID n, but next_uid = y" errors when quota plugin is loaded. Practically | 25 UID n, but next_uid = y" errors when quota plugin is loaded. Practically |
33 won't happen except in stress testing. | 26 won't happen except in stress testing. |
34 - maildir_copy_with_hardlinks=yes is problematic with shared folders where | |
35 the file mode should change.. | |
36 | 27 |
37 - mbox | 28 - mbox |
38 - UID renumbering doesn't really work after all? | 29 - UID renumbering doesn't really work after all? |
39 - still problems with CRLF mboxes.. | 30 - still problems with CRLF mboxes.. |
40 | 31 |
68 - logging consistency: | 59 - logging consistency: |
69 http://www.dovecot.org/list/dovecot/2007-April/021532.html | 60 http://www.dovecot.org/list/dovecot/2007-April/021532.html |
70 - EXPUNGE command in read-only mailbox should give an error message if | 61 - EXPUNGE command in read-only mailbox should give an error message if |
71 there are messages marked as \Deleted? | 62 there are messages marked as \Deleted? |
72 - dovecot -o setting=something overriding | 63 - dovecot -o setting=something overriding |
73 - vmailmgr patch | |
74 - managesieve patch | |
75 - file_cache: we're growing the mmap in page size blocks, which is horribly | 64 - file_cache: we're growing the mmap in page size blocks, which is horribly |
76 slow if mremap() doesn't exist. | 65 slow if mremap() doesn't exist. |
77 - login_max_processes_count shouldn't count proxying processes | 66 - login_max_processes_count shouldn't count proxying processes |
78 | 67 |
79 - Allow %variables in mail_chroot setting | 68 - Allow %variables in mail_chroot setting |
145 - for shared/public namespaces default to "no" | 134 - for shared/public namespaces default to "no" |
146 | 135 |
147 - lib-storage | 136 - lib-storage |
148 - rename: allow moving between storages, as long as they're of same type | 137 - rename: allow moving between storages, as long as they're of same type |
149 - x search charset asdf all -> should fail | 138 - x search charset asdf all -> should fail |
150 - subscribe: IMAP(anonymous): open(anonymous/mail/.temp...) failed: Permission denied | |
151 - should we allow following symlinks in mbox/maildirs? they are now. | 139 - should we allow following symlinks in mbox/maildirs? they are now. |
152 - if we implement shared mailboxes with shared indexes, never do that or | 140 - if we implement shared mailboxes with shared indexes, never do that or |
153 others could symlink your personal mailboxes and see the indexes | 141 others could symlink your personal mailboxes and see the indexes |
154 created for it which may contain envelope etc. data | 142 created for it which may contain envelope etc. data |
155 - this allows circular mailbox hierarchies which should be prevented by | 143 - this allows circular mailbox hierarchies which should be prevented by |
184 - auth | 172 - auth |
185 - with blocking passdb we're not caching lookups if the password was wrong | 173 - with blocking passdb we're not caching lookups if the password was wrong |
186 - non-plaintext authentication doesn't support all features: | 174 - non-plaintext authentication doesn't support all features: |
187 - multiple passdbs don't work, only the first one is used | 175 - multiple passdbs don't work, only the first one is used |
188 - auth cache's last_success password change check doesn't exist | 176 - auth cache's last_success password change check doesn't exist |
189 - checkpassword should use passdb-blocking | |
190 - remove system_user and allow returning multiple gids instead. | 177 - remove system_user and allow returning multiple gids instead. |
191 - SIGHUP restarts auth processes .. but does it wait until they've finished | 178 - SIGHUP restarts auth processes .. but does it wait until they've finished |
192 with all requests? no. | 179 with all requests? no. |
193 - does dovecot-auth really break when it runs out of fds? | 180 - does dovecot-auth really break when it runs out of fds? |
194 - dovecot-auth should limit how fast authentication requests are allowed | 181 - dovecot-auth should limit how fast authentication requests are allowed |
213 - if dovecot-uidlist can't be written, assume the new mails have UIDs | 200 - if dovecot-uidlist can't be written, assume the new mails have UIDs |
214 beginning from uidlist.next_uid. Whenever mails are expunged, overwrite | 201 beginning from uidlist.next_uid. Whenever mails are expunged, overwrite |
215 the next_uid field with the current highest next_uid. Whenever we have | 202 the next_uid field with the current highest next_uid. Whenever we have |
216 assumed UIDs and uidlist gets updated, throw the client out with | 203 assumed UIDs and uidlist gets updated, throw the client out with |
217 "inconsist mailbox". | 204 "inconsist mailbox". |
218 - if storage=0 is given, use unlimited quota but track it anyway | |
219 | 205 |
220 - ssl | 206 - ssl |
221 - add setting: ssl_options = bitmask. by default we enable all openssl | 207 - add setting: ssl_options = bitmask. by default we enable all openssl |
222 workarounds, this could be used to disable some of them | 208 workarounds, this could be used to disable some of them |
223 - gnutls support isn't working | 209 - gnutls support isn't working |
224 | 210 |
225 - search | 211 - search |
226 - message header search: we should ignore LWSP between two MIME blocks | 212 - message header search: we should ignore LWSP between two MIME blocks(?) |
227 - message_body_search() could accept multiple search keywords so we | 213 - message_search_init() could accept multiple search keywords so we |
228 wouldn't need to call it separately for each one (so we wouldn't need | 214 wouldn't need to call it separately for each one (so we wouldn't need |
229 to parse the message multiple times). | 215 to parse the message multiple times). |
230 - message_body_search() could support NULL MessagePart and the searching | |
231 could be done while parsing the message. this would need changes to | |
232 message_parse() as well. | |
233 - could optionally support scanning inside file attachments and use | 216 - could optionally support scanning inside file attachments and use |
234 plugins to extract text out of them (word, excel, pdf, etc. etc.) | 217 plugins to extract text out of them (word, excel, pdf, etc. etc.) |
235 - use a trie index for fast text searching, like cyrus squat? | |
236 - Create our own extension: When searching with TEXT/BODY, return | 218 - Create our own extension: When searching with TEXT/BODY, return |
237 the message text surrounding the keywords just like web search engines | 219 the message text surrounding the keywords just like web search engines |
238 do. like: SEARCH X-PRINT-MATCHES TEXT "hello" -> * SEARCH 1 "He said: | 220 do. like: SEARCH X-PRINT-MATCHES TEXT "hello" -> * SEARCH 1 "He said: |
239 Hello world!" 2 "Hello, I'm ...". This would be especially useful with | 221 Hello world!" 2 "Hello, I'm ...". This would be especially useful with |
240 the above attachment scanning. | 222 the above attachment scanning. |
241 | |
242 - lib-charset | |
243 - utf8_toupper() is a must. and a bit difficult if we want to do it right. | |
244 - add support for other things than iconv() as well? we could reuse | |
245 the code from cyrus or courier | |
246 - cache iconvs? they'd probably be faster if we just reset the | |
247 conversion instead of opening new one every time. and there will likely | |
248 be only one or two charsets which are used for nearly all conversions. | |
249 | 223 |
250 - deliver | 224 - deliver |
251 - recipient_delimiter setting so user+mailbox@domain works directly | 225 - recipient_delimiter setting so user+mailbox@domain works directly |
252 | 226 |
253 - general | 227 - general |
259 - rfc2557 support for BODYSTRUCTURE, as specified by RFC3501 | 233 - rfc2557 support for BODYSTRUCTURE, as specified by RFC3501 |
260 - LMTP server | 234 - LMTP server |
261 - ability to build plugins statically into the binaries | 235 - ability to build plugins statically into the binaries |
262 - ~/.dovecotrc to override system wide settings. namespace settings should | 236 - ~/.dovecotrc to override system wide settings. namespace settings should |
263 override all the previous namespace settings instead of adding new. | 237 override all the previous namespace settings instead of adding new. |
264 - option to disable SORT, SEARCH and other memory/cpu-intensive features. | |
265 defaults and per-user by dovecot-auth. | |
266 - dotlock overriding is racy, but it's pretty difficult to fix it. Also | |
267 overriding someone else's dotlock in shared folder isn't possible. These | |
268 could be fixed by having separate lock process running as root, which | |
269 would chown() the file for another uid and then unlink() it as that user. | |
270 One problem with that is that if malicious user sets setuid+execute bits | |
271 on for the file, he could run the file and get changed to the new uid. | |
272 That hopefully shouldn't matter much since the new uid should be user | |
273 with minimum possible privileges. Anyway, optional.. | |
274 - things break if next_uid gets to 2^32 | 238 - things break if next_uid gets to 2^32 |
275 | 239 |
276 capabilities: | 240 capabilities: |
277 - preferrably all should be implemented as plugins | 241 - preferrably all should be implemented as plugins |
278 - possibility to disable them from config file | 242 - possibility to disable them from config file |