dovecot-2.2-pigeonhole: Made preparations for first v0.4 release.

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Fri Apr 19 10:47:00 EEST 2013


details:   http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/5fa5e2dfbb57
changeset: 1754:5fa5e2dfbb57
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Fri Apr 19 09:46:49 2013 +0200
description:
Made preparations for first v0.4 release.

diffstat:

 INSTALL                           |   6 +++-
 NEWS                              |  22 ++++++++++++++++++-
 README                            |  44 ++++++++++++++++++++++++++++----------
 TODO                              |  24 +++++++++-----------
 doc/plugins/sieve_extprograms.txt |   6 ++--
 5 files changed, 71 insertions(+), 31 deletions(-)

diffs (200 lines):

diff -r ee5a40db9e73 -r 5fa5e2dfbb57 INSTALL
--- a/INSTALL	Fri Apr 19 09:45:15 2013 +0200
+++ b/INSTALL	Fri Apr 19 09:46:49 2013 +0200
@@ -394,7 +394,8 @@
   enabled for use by default. Refer to doc/extensions/vnd.dovecot.duplicate.txt
   for configuration information.
 
-- Vnd.dovovecot.pipe, vnd.dovecot.filter, vnd.dovecot.execute extensions:
+- Extprograms plugin;
+    vnd.dovovecot.pipe, vnd.dovecot.filter, vnd.dovecot.execute extensions:
 
   The "sieve_extprograms" plugin provides extensions to the Sieve filtering
   language adding new action commands for invoking a predefined set of external
@@ -644,7 +645,8 @@
 available when this package is compiled against the Dovecot headers only. The
 test suite executes a list of test cases and halts when one of them fails. If it
 executes all test cases successfully, the test suite finishes. You can execute
-the test suite using `make test`.
+the basic test suite using `make test`, which does not include the plugins. You
+can execute the full test suite using `make check`.
 
 A failing test case is always a bug and a report is greatly appreciated.
 
diff -r ee5a40db9e73 -r 5fa5e2dfbb57 NEWS
--- a/NEWS	Fri Apr 19 09:45:15 2013 +0200
+++ b/NEWS	Fri Apr 19 09:46:49 2013 +0200
@@ -1,3 +1,23 @@
+v0.4.0 UNRELEASED Stephan Bosch <stephan at rename-it.nl>
+
+	+ Added doveadm-sieve plugin that provides the possibility to synch Sieve
+	  scripts using doveadm sync along with the user's mailboxes.
+	+ Added the Sieve extprograms plugin to the main Pigeonhole package. It is
+	  still a plugin, but it is now included so that a separate compile is no
+	  longer necessary and distributors are likely to include it. The extprograms
+	  plugin provides Sieve language extensions that allows executing 
+	  (administrator-controlled) external programs for message delivery,
+	  message filtering and string manipulation. Refer to
+	  doc/plugins/sieve_extprograms.txt for more information.
+	+ Added debug message showing Pigeonhole version at initialization. Makes it
+	  very clear that the plugin is properly loaded.
+	+ Finished implementation of the Sieve include extension. It should now
+	  fully conform to RFC 6609. The main addition is the new :optional tag which
+	  makes the include command ignore missing included scripts without an error.
+	+ Finished implementation of the Sieve environment extension as much as
+	  possible. Environment items "location", "phase" and "domain" now also
+	  return a usable value.
+
 v0.3.4 06-04-2013 Stephan Bosch <stephan at rename-it.nl>
 
 	* Changed error handling to be less of a nuisance for administrators. Strictly
@@ -22,7 +42,7 @@
 	  sieve_vacation_dont_check_recipient is active.
 	- Sieve tools: the -D option wasn't enabled and documented for all tools.
 	- Siev dict script storage: fixed potential segfault occuring when dict
-		initialization fails.
+	  initialization fails.
 	- ManageSieve: fixed bug in skipping of CRLF at end of AUTHENTICATE command.
 	- ManageSieve: fixed handling of unkown commands pre-login.
 	- Fixed compile on Mageia Linux.
diff -r ee5a40db9e73 -r 5fa5e2dfbb57 README
--- a/README	Fri Apr 19 09:45:15 2013 +0200
+++ b/README	Fri Apr 19 09:46:49 2013 +0200
@@ -102,7 +102,7 @@
     body (RFC 5173): almost fully supported, but the text body-transform
         implementation is simple and some issues make it still not completely
         RFC compliant.
-    environment (RFC 5183): fully supported (v0.1.5+).
+    environment (RFC 5183): fully supported (v0.4.0+).
     variables (RFC 5229): fully supported.
     vacation (RFC 5230): fully supported.
       + vacation-seconds (RFC 6131): fully supported (v0.2.3+).
@@ -132,6 +132,22 @@
 
     The availability of these deprecated extensions is disabled by default.
 
+  The following Dovecot-specific Sieve extensions are available:
+
+    vnd.dovecot.debug (v0.3.0+):
+        Allows logging debug messages
+    vnd.dovecot.duplicate (v0.3.1+):
+        Allows detecting duplicate message deliveries based on message ID and
+        other criteria.
+    vnd.dovecot.pipe (v0.4.0+; sieve_extprograms plugin):
+        Implements piping messages to a pre-defined set of external programs
+    vnd.dovecot.filter (v0.4.0+; sieve_extprograms plugin):
+        Implements filtering messages through a pre-defined set of external
+        programs
+    vnd.dovecot.execute (v0.4.0+; sieve_extprograms plugin):
+        Implements executing a pre-defined set of external programs with the
+        option to process string data through the external program 
+
   The following extensions are under development:
 
     ereject (RFC 5429; page 4): implemented, but currently equal to reject
@@ -159,19 +175,23 @@
 these are available at your $prefix/bin directory. The following commands are
 installed:
 
-sievec     - Compiles sieve scripts into a binary representation for later
-             execution. Refer to the next section on manually compiling Sieve
-             scripts.
+sievec       - Compiles sieve scripts into a binary representation for later
+               execution. Refer to the next section on manually compiling Sieve
+               scripts.
 
-sieve-test - This is a universal Sieve test tool for testing the effect of a
-             Sieve script on a particular message. It allows compiling, running
-             and testing Sieve scripts. It can either be used to display the
-             actions that would be performed on the provided test message or it
-             can be used to test the actual delivery of the message and show the
-             messages that would normally be sent through SMTP.
+sieve-test   - This is a universal Sieve test tool for testing the effect of a
+               Sieve script on a particular message. It allows compiling,
+               running and testing Sieve scripts. It can either be used to
+               display the actions that would be performed on the provided test
+               message or it can be used to test the actual delivery of the
+               message and show the messages that would normally be sent through
+               SMTP.
 
-sieve-dump - Dumps the content of a Sieve binary file for (development)
-             debugging purposes.
+sieve-dump   - Dumps the content of a Sieve binary file for (development)
+               debugging purposes.
+
+sieve-filter - Allow running Sieve filters on messages already stored in a
+               mailbox. 
 
 When installed, man pages are also available for these commands. In this package
 the man pages are present in doc/man and can be viewed before install using
diff -r ee5a40db9e73 -r 5fa5e2dfbb57 TODO
--- a/TODO	Fri Apr 19 09:45:15 2013 +0200
+++ b/TODO	Fri Apr 19 09:46:49 2013 +0200
@@ -1,8 +1,14 @@
 Current activities:
 
-* Finish 0.4.0 release.
+* Make the sieve storage a base class with (possibly) various implementations,
+  just like mail-storage. This aims to provide support for alternate types
+  of script storage like LDAP or SQL database.
+	- Implement read/write script storages for using ManageSieve with dict
+	  database
+	- Implement infrastructure for loading a sequence of global scripts from
+	  a database (for sieve_before/sieve_after).
 
-Parallel plugin-based efforts:
+Parallel plugin-based efforts (on hold at the moment):
 
 * Implement enotify xmpp method as a plugin.
 * Implement metadata and servermetadata extensions as a plugin.
@@ -10,15 +16,6 @@
 
 Next (mostly in order of descending priority/precedence):
 
-* Implement generic Sieve script object that abstracts from its location and
-  add support for retrieving scripts from dict database.
-	- Implement infrastructure for loading a sequence of global scripts from
-	  a database (for sieve_before/sieve_after).
-* Make the sieve storage a base class with (possibly) various implementations,
-  just like mail-storage. This aims to provide support for alternate types
-  of script storage like LDAP or SQL database.
-	- Implement read/write script storages for using ManageSieve with dict
-	  database
 * Implement index extension
 * Add normalize() method to comparators to normalize the string before matching
   (for efficiency).
@@ -65,7 +62,8 @@
 	- Review the specification documents and check whether the given requirements
 	  are tested at least once.
 * Fix ManageSieve proxy to recognize response codes from the backend and forward
-  them to the user if appropriate/safe.
+  them to the user if appropriate/safe. Probably means implementing a proper
+  ManageSieve client library.
 * Test ManageSieve behavior thoroughly:
 	- Test pipelined behavior
 	- Test proxy authentication
@@ -76,7 +74,7 @@
 * Build a server with test mail accounts that processes lots and lots of mail
   (e.g. spam, mailing lists etc.)
 
-* ## MAKE A FIFTH MAIN RELEASE (0.5.x) ##
+Low priority items:
 
 * Implement extlists extension as a plugin
 * Enotify extension: detect use of variable values extracted from the message
diff -r ee5a40db9e73 -r 5fa5e2dfbb57 doc/plugins/sieve_extprograms.txt
--- a/doc/plugins/sieve_extprograms.txt	Fri Apr 19 09:45:15 2013 +0200
+++ b/doc/plugins/sieve_extprograms.txt	Fri Apr 19 09:46:49 2013 +0200
@@ -91,9 +91,9 @@
 
 The three extensions introduced by this plugin - "vnd.dovecot.pipe",
 "vnd.dovecot.filter" and "vnd.dovecot.pipe" - each have separate but similar
-configuration. The settings that specify a period are specified in s(econds),
-unless followed by a d(ay), h(our) or m(inute) specifier character. The
-following configuration settings are used, for which "<extension>" in the
+configuration. The settings that specify a time period are specified in
+s(econds), unless followed by a d(ay), h(our) or m(inute) specifier character.
+The following configuration settings are used, for which "<extension>" in the
 setting name is replaced by either "pipe", "filter" or "execute" depending on
 which extension is being configured.
 


More information about the dovecot-cvs mailing list