Skip to content
Snippets Groups Projects
TODO 3.96 KiB
Newer Older
Stephan Bosch's avatar
Stephan Bosch committed
Current:

* Implement enotify extension:
	- Implement valid_notify_method test (currently skeleton)
	- Implement notify_method_capability test (currently skeleton)
	- Implement parsing :options argument
	- Check whether handling of error conditions matches the standard
	- Limit the number of notifications generated (on a per-method basis)
* Implement mailto method for the enotify extension:
	- Implement verification of recipient addresses in mailto uris.
	- Add addresses contained in to to and cc URI headers to the 
	  recipients. Conversely, the generated To header must include the
	  URI recipients apart from those stated explicitly in the To URI
	  header.
	- Add owner-email to the Auto-submitted field
	- Implement checking the :from argument for validity and policy 
	  violations.
Stephan Bosch's avatar
Stephan Bosch committed

Next (in order of descending priority/precedence):
Stephan Bosch's avatar
Stephan Bosch committed
* Fix remaining RFC deviations:
	- Fix issues listed in doc/rfc/RFC-questions.txt when answers arrive
	- 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.
Stephan Bosch's avatar
Stephan Bosch committed
	- Detect assignment of too large constant values to variables at compile
	  time.
Stephan Bosch's avatar
Stephan Bosch committed
	- Verify outgoing mail addresses at runtime when necessary
	  (e.g. after variables substitution)
Stephan Bosch's avatar
Stephan Bosch committed
	- Vacation: the ":subject" parameter specifies a subject line to attach to 
Stephan Bosch's avatar
Stephan Bosch committed
	  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.
Stephan Bosch's avatar
Stephan Bosch committed
	- Body: contains various issues that need to be resolved for standards
	  compliance. Body test support currently matches but barely exceeds the
	  original CMU Sieve implentation in terms of standards compliance.
	- Improve handling of invalid addresses in headers (requires Dovecot changes)
* Imapflags: merge execution of setflags, removeflags and addflags into one 
  common implementation. 
Stephan Bosch's avatar
Stephan Bosch committed
* Implement executing an arbitrary number of scripts sequentially, acting on the 
  same set of result actions (multiscript).
* Implement dropping errors in the user's mailbox as a mail message.
Stephan Bosch's avatar
Stephan Bosch committed
* Add normalize() method to comparators to normalize the string before matching
  (for efficiency).
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 comparator-i;unicode-casemap
* Implement environment extension
Stephan Bosch's avatar
Stephan Bosch committed
* 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.
Stephan Bosch's avatar
Stephan Bosch committed
* 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)
Stephan Bosch's avatar
Stephan Bosch committed
* Use lib/str-find.h for :contains and :matches match types 
* Warn during compile if using non-existent folders.
Stephan Bosch's avatar
Stephan Bosch committed
* Import ManageSieve into this package and provide support for alternate types
  of script storage like LDAP or SQL database.
* Make the engine and its extensions much more configurable. Possibly this can 
  be merged with Dovecot's new master config implementation.
Stephan Bosch's avatar
Stephan Bosch committed
* Add development documentation, i.e. comment on library functions and document
  the binary and byte-code format. 
* 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.