diff --git a/src/lib-sieve/Makefile.am b/src/lib-sieve/Makefile.am index 48550d985abd0af7b0bcfb3587c240b99e7d735a..af371feea0a47208ca89bb61f2a8ba8e8baad0be 100644 --- a/src/lib-sieve/Makefile.am +++ b/src/lib-sieve/Makefile.am @@ -43,8 +43,7 @@ comparators = \ cmp-i-ascii-casemap.c if BUILD_UNFINISHED -unfinished_plugins = \ - ./plugins/date/libsieve_ext_date.la +unfinished_plugins = endif # These are not actual plugins just yet... @@ -63,6 +62,7 @@ plugins = \ ./plugins/notify/libsieve_ext_notify.la \ ./plugins/environment/libsieve_ext_environment.la \ ./plugins/mailbox/libsieve_ext_mailbox.la \ + ./plugins/date/libsieve_ext_date.la \ $(unfinished_plugins) libsieve_la_DEPENDENCIES = $(plugins) diff --git a/src/lib-sieve/plugins/Makefile.am b/src/lib-sieve/plugins/Makefile.am index 8b29be1fd4a1d1d21c75f9965e7f915f9b800fc8..b571efa7a33fdb4af669c7b9cff274c9ebf75146 100644 --- a/src/lib-sieve/plugins/Makefile.am +++ b/src/lib-sieve/plugins/Makefile.am @@ -1,5 +1,5 @@ if BUILD_UNFINISHED -UNFINISHED = date +UNFINISHED = endif SUBDIRS = \ @@ -17,5 +17,6 @@ SUBDIRS = \ notify \ environment \ mailbox \ + date \ $(UNFINISHED) diff --git a/src/lib-sieve/plugins/date/ext-date.c b/src/lib-sieve/plugins/date/ext-date.c index 5d809688f4f1ddf0439ba821d506af210b0b7096..6d5cf9adff965de4e7c928de3f43a17347ea7a5d 100644 --- a/src/lib-sieve/plugins/date/ext-date.c +++ b/src/lib-sieve/plugins/date/ext-date.c @@ -6,8 +6,8 @@ * * Authors: Stephan Bosch * Specification: RFC 5260 - * Implementation: skeleton - * Status: under development + * Implementation: full + * Status: experimental * */ diff --git a/src/lib-sieve/sieve-extensions.c b/src/lib-sieve/sieve-extensions.c index 040d86b9e83d05066528eb35cb05b83735c3bc43..9f9fb72ecf8e0aebd743be00b2655da3d149400f 100644 --- a/src/lib-sieve/sieve-extensions.c +++ b/src/lib-sieve/sieve-extensions.c @@ -81,18 +81,8 @@ extern const struct sieve_extension variables_extension; extern const struct sieve_extension enotify_extension; extern const struct sieve_extension environment_extension; extern const struct sieve_extension mailbox_extension; - -/* - * Extensions under development - */ - -#ifdef HAVE_SIEVE_UNFINISHED - -extern const struct sieve_extension ereject_extension; extern const struct sieve_extension date_extension; -#endif - /* * List of native extensions */ @@ -107,13 +97,6 @@ const struct sieve_extension *sieve_core_extensions[] = { /* Core extensions */ &fileinto_extension, &reject_extension, &envelope_extension, &encoded_character_extension, - - /* Extensions under development */ - -#ifdef HAVE_SIEVE_UNFINISHED - &ereject_extension, - &date_extension, -#endif /* 'Plugins' */ &vacation_extension, &subaddress_extension, @@ -121,7 +104,7 @@ const struct sieve_extension *sieve_core_extensions[] = { &relational_extension, ®ex_extension, &imap4flags_extension, ©_extension, &include_extension, &body_extension, &variables_extension, &enotify_extension, &environment_extension, - &mailbox_extension + &mailbox_extension, &date_extension }; const unsigned int sieve_core_extensions_count = @@ -135,7 +118,6 @@ extern const struct sieve_extension imapflags_extension; extern const struct sieve_extension notify_extension; const struct sieve_extension *sieve_deprecated_extensions[] = { - /* Deprecated extensions */ &imapflags_extension, ¬ify_extension }; @@ -143,6 +125,23 @@ const struct sieve_extension *sieve_deprecated_extensions[] = { const unsigned int sieve_deprecated_extensions_count = N_ELEMENTS(sieve_deprecated_extensions); +/* + * Unfinished extensions + */ + +#ifdef HAVE_SIEVE_UNFINISHED + +extern const struct sieve_extension ereject_extension; + +const struct sieve_extension *sieve_unfinished_extensions[] = { + &ereject_extension, +}; + +const unsigned int sieve_unfinished_extensions_count = + N_ELEMENTS(sieve_unfinished_extensions); + +#endif /* HAVE_SIEVE_UNFINISHED */ + /* * Extensions init/deinit */ @@ -164,6 +163,13 @@ bool sieve_extensions_init(void) (void)sieve_extension_register(sieve_deprecated_extensions[i], FALSE); } +#ifdef HAVE_SIEVE_UNFINISHED + /* Register unfinished extensions */ + for ( i = 0; i < sieve_unfinished_extensions_count; i++ ) { + (void)sieve_extension_register(sieve_unfinished_extensions[i], FALSE); + } +#endif + /* More extensions can be added through plugins */ return TRUE;