Skip to content
Snippets Groups Projects
TODO 3.03 KiB
Newer Older
Next (in order of descending priority/precedence):
* Full standards compliance review for the engine and all fully implemented 
	- :matches : match values must only be changed when the test 
	  matches.
	- If an address is not syntactically valid, then it will not be matched
	  by tests specifying ":localpart" or ":domain".
Stephan Bosch's avatar
Stephan Bosch committed
	- Fix/Report issues listed in 'doc/rfc/RFC Controversy.txt'
* Code cleanup 
* Full security review. Enforce limits on number of created objects, script 
  size, execution time, etc...
Stephan Bosch's avatar
Stephan Bosch committed
	- Limit the string size
	- Limit the string list size
	- Limit the depth of the AST, i.e. command block and test list
	  nesting.
	- Limit the maximum number of included scripts
	- Make (configurable) limit on the number of redirects
	- Malicious/Broken binary can allocate large variable storage
* Finish the test suite for the base functionality
* Make sure cmusieve can be replaced seamlessly with the new plugin.

* ## MAKE A FIRST RELEASE ##

* Imapflags: merge execution of setflags, removeflags and addflags into one 
  common implementation. 
* Add normalize() method to comparators to normalize the string before matching
  (for efficiency).
* Verify outgoing mail addresses at runtime when necessary (e.g. after variables 
  substitution)
* 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.
Stephan Bosch's avatar
Stephan Bosch committed
* 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)
Stephan Bosch's avatar
Stephan Bosch committed
* 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 
Stephan Bosch's avatar
Stephan Bosch committed
  (e.g. spam, mailing lists etc.)
Stephan Bosch's avatar
Stephan Bosch committed
* Make this implementation conform section 2.7.2 of RFC3028 (Comparisons Across
  Character Sets). 
Stephan Bosch's avatar
Stephan Bosch committed
* Implement executing an arbitrary number of scripts sequentially, acting on the 
  same set of result actions.
* Implement comparator-i;unicode-casemap
* Implement environment extension
* 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)
* Automate script tests; i.e. build a test suite.
* 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)

Consent

On this website, we use the web analytics service Matomo to analyze and review the use of our website. Through the collected statistics, we can improve our offerings and make them more appealing for you. Here, you can decide whether to allow us to process your data and set corresponding cookies for these purposes, in addition to technically necessary cookies. Further information on data protection—especially regarding "cookies" and "Matomo"—can be found in our privacy policy. You can withdraw your consent at any time.