-
Stephan Bosch authoredStephan Bosch authored
TODO 2.64 KiB
Current:
* Implement variables extension
Implemented:
-> Core variable substitution works
-> Accept namespaces (parse, no real support; proper error messages)
-> Support match variables
-> Implement variables support for include extension
Current:
-> Provide support for extensions that (partly) depend on variables support.
-> Implement variables support for imapflags extension
Next (in order of descending priority/precedence):
* Vacation extension accepts duplicate tags (not allowed)
* Finish implementing all extensions supported by cmusieve, except notify.
* Limit the maximum number of errors.
* Verify outgoing mail addresses
* Make this implementation conform section 2.7.2 of RFC3028 (Comparisons Across
Character Sets).
* Get rid of all <stdio.h> printf()s in the library; use trace macro instead
* Use lib/llist.h for the AST implementation.
* Make the sieve plugins true plugins and add a SIEVE_PLUGINS config item to the
lda-sieve plugin.
* Revise extension support for comparators, match-types, address-parts and
side-effects.
* Full security review. Enforce limits on number of created objects, script
size, execution time, etc...
* Full standards compliance review for the engine and all fully implemented
sieve extensions.
* Code cleanup
* Make sure cmusieve can be replaced seamlessly with the new plugin.
* Make simple test suite for the base functionality
* ## MAKE A FIRST RELEASE ##
* Implement dropping errors in the user's mailbox as a mail message.
* Add normalize() method to comparators to normalize the string before mathing
(for efficiency).
* Implement comparator-i;unicode-casemap
* Automate script tests; i.e. build a test suite.
* Use lib/str-find.h for :contains and :matches match types
* Resolve code duplication introduced for handling address-parts and match-types
in different command implementations.
* Resolve code duplication amongst comparator, address-part and match-type
support as much as possible.
* 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 notify extension with sole support for mailto mechanism.
* 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)