-
Stephan Bosch authoredStephan Bosch authored
TODO 3.92 KiB
Next (in order of descending priority/precedence):
* Fix standards compliance issues:
- Body: contains various bugs that need to be resolved for standards
compliance.
- Imapflags: when keep/fileinto is used multiple times in a script and
duplicate message elimination is performed, the last flag list value
MUST win.
- 'If an address is not syntactically valid, then it will not be matched
by tests specifying ":localpart" or ":domain"'.
- Vacation: If the Sieve variables extension is used, the arguments
MUST NOT have undergone variable expansion prior to their use in response
tracking.
* Fix security issues:
- Impose limitations on the imapflags extension regarding the number of
set flags and the length of each flag name.
- Malicious/Broken binary can allocate large variable storage
* Finish the test suite for the base functionality
* Improve debugging and error handling:
- Improve byte code dumping and trace functionality to be a little more
user-friendly
- Improve argument errors
* Make sure cmusieve can be replaced seamlessly with the new plugin.
* Fix/Report issues listed in 'doc/rfc/RFC Controversy.txt'
* ## MAKE A FIRST RELEASE (0.1.x) ##
* Fix remaining (mostly variables-related) RFC deviations:
- Allow for the existance of dynamic comparators (i.e. specified by
variables).
- Allow for dynamic includes (i.e. specified by variables).
- Allow for :regex matching with variable key.
- Detect assignment of too large constant values to variables at runtime.
- Verify outgoing mail addresses at runtime when necessary
(e.g. after variables substitution)
- Vacation: The ":subject" parameter specifies a subject line to attach to
any vacation response that is generated. UTF-8 characters can be used in
the string argument; implementations MUST convert the string to [RFC2047]
encoded words if and only if non-ASCII characters are present.
* Imapflags: merge execution of setflags, removeflags and addflags into one
common implementation.
* Warn about the use of syntactically invalid header names.
* Implement notify extension with sole support for mailto mechanism.
* Implement dropping errors in the user's mailbox as a mail message.
* Add normalize() method to comparators to normalize the string before matching
(for efficiency).
* Make this implementation conform section 2.7.2 of RFC3028 (Comparisons Across
Character Sets).
* Implement comparator-i;unicode-casemap
* Implement executing an arbitrary number of scripts sequentially, acting on the
same set of result actions (multiscript).
* Implement environment extension
* Make testsuite much more exhaustive and add support for testing the actual
result.
* Build a sieve tool to filter an entire existing mailbox through a sieve script.
* Build a server with test mail accounts that processes lots and lots of mail
(e.g. spam, mailing lists etc.)
* ## MAKE A SECOND RELEASE (0.2.x) ##
* Provide a solution for mail_get_headers_utf8 reparsing the whole message each
time it is called (header and address test; Timo might provide solution from
within Dovecot)
* Implement date and index extensions
* Optimize code containing true/false tests to omit explicit JMP opcodes
(i.e. optimize the test away and any code that negatively depends on it)
* Use lib/str-find.h for :contains and :matches match types
* Add development documentation, i.e. comment on library functions and document
the binary and byte-code format.
* Make the engine and its extensions much more configurable. Possibly this can
be merged with Dovecot's new master config implementation.
* Implement editheader extension
* Implement mimeloop extension
* Give the byte code format some more thought, it is currently quite rough and
to the point.
* Try to implement proposed notify mechanisms other than mailto. Currently: xmpp
and sip
* Implement namespace support for variables extension
(possibly needed by test suite; in that case priority is much higher)