diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2012-11-12 19:59:26 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2012-11-12 20:17:19 +0200 |
commit | 6fad8e1734a83c273f6283436775a6548f9c941f (patch) | |
tree | 1816552b9058bda515d6e521fd16ef2cbd95332d /doc | |
parent | a7a174d51ca7845f9eda854709258d64e5d0077e (diff) | |
download | mailutils-6fad8e1734a83c273f6283436775a6548f9c941f.tar.gz mailutils-6fad8e1734a83c273f6283436775a6548f9c941f.tar.bz2 |
Implement editheader sieve extension (RFC 5293).
Also fix iterator synchronization after removing an element and
improve Sieve API.
* include/mailutils/header.h (mu_header_get_itemptr): New proto.
* include/mailutils/iterator.h (mu_iterator_advance): Remove.
(mu_iterator_delitem): New proto.
(mu_iterator_set_delitem): New proto.
* include/mailutils/sieve.h (mu_sieve_register_t) <opt_args>: New member.
(mu_sieve_register_test_ext)
(mu_sieve_register_action_ext): New protos.
* include/mailutils/sys/iterator.h (_mu_iterator) <curitem_p>: Remove.
<delitem>: New member. All uses updated.
* libmailutils/base/iterator.c (mu_iterator_set_delitem): New function.
* libmailutils/mailbox/hdritr.c: Implement bidirectional iteration.
Implement itrctl method.
* libmailutils/mailbox/header.c: Likewise.
* libmailutils/base/assoc.c: Use delitem method instead of curitem_p.
(mu_iterator_delitem): New function.
* libmailutils/base/opool.c
* libmailutils/diag/debug.c
* libmailutils/list/iterator.c
* libmailutils/list/pop.c
* libmailutils/list/remove.c
* libmailutils/list/removenth.c
* libmailutils/mailbox/imapenv.c
* libmailutils/mailbox/mbxitr.c
* libproto/pop/pop3_iterator.c
* libmu_sieve/extensions/Makefile.am: Add editheader.c
* libmu_sieve/extensions/editheader.c: New file.
* libmu_sieve/prog.c (mu_sv_code_command): Allow for optional positional
arguments.
* libmu_sieve/register.c (mu_sieve_test_lookup)
(mu_sieve_action_lookup): Return NULL if a record with
empty (NULL) handler is found.
(mu_sieve_register_test_ext)
(mu_sieve_register_action_ext): New functions.
(mu_sieve_register_test)
(mu_sieve_register_action): Rewrite as wrappers to the above.
* libmu_sieve/util.c (mu_sieve_vlist_do): Allow for SVT_STRING
argument.
* sieve/tests/Makefile.am: Add new testcases.
* sieve/tests/testsuite.at: Include new testcases.
* sieve/tests/addheader.at: New testcase.
* sieve/tests/delheader.at: New testcase.
* NEWS: Update.
* doc/rfc/README: Update.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/rfc/README | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/doc/rfc/README b/doc/rfc/README index 38d0abbef..593ec69b0 100644 --- a/doc/rfc/README +++ b/doc/rfc/README @@ -53,3 +53,4 @@ the actual RFC number. 3501 INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1 3691 Internet Message Access Protocol (IMAP) UNSELECT command 4314 IMAP4 Access Control List (ACL) Extension +5293 Sieve Email Filtering: Editheader Extension |