Annotations review please?
Greg Banks
gnb at fastmail.fm
Tue Jul 19 03:09:01 EDT 2011
G'day,
My work to implement RFC5257 and RFC5464 is nearly ready to merge to
master. It needs a couple of polishing touches, but most of the work is
done and I would appreciate some expert review (normally I would just
ask Bron as he's been tracking this, but he's on holidays).
The following changes since commit afbf4254d68c9732995ba439560578caccc3e42a:
add \HasFoo flags (2011-07-11 23:28:47 +0200)
are available in the git repository at:
ssh://git@github.com/gnb/cyrus-imapd.git annotate-rebased2
Greg Banks (77):
dlist: fix declarations
Handle SORT_UID in sortcrit_as_string
Fix memleak in mailbox_reconstruct_create
Include MODSEQ in FETCH response from STORE.
Include MODIFIED response code from STORE
Use storeargs.usinguid sensibly.
Pass flag names in struct storeargs.
unit: actually run sieve test setup/teardown
unit: fix compile warnings
unit: fix memleak in charset tests
conversations: fix memory leak
Add config_reset()
unit: use config_reset()
unit: force consistent running of fixtures
sync: remove unused variable in do_reserve()
sieve: clean up properly when running yacc
Fix spelling in error messages.
sync_client -v -v copies syslogs to stderr
Fix type of argument to copy_remote()
annotate: naming and constness improvements
doc: fix annotatemore draft URL
annotate: deprecate content-type, modifiedsince
annotate: use struct buf to format db entries
annotate: strlist -> strarray_t for fetch, init
annotate: remove argument to _open
annotate: handle NIL properly
annotate: remove annotate_response()
annotate: report NIL for unset lastpop
annotate: add annotate_scope_t, annotate_cursor_t
annotate: rename _f_entry -> _entrydesc_t
annotate: merge _st_entry into _entrydesc_t
annotate: move valid_specialuse[] into its user
annotate: use ptrarray for lists of entrydescs
annotate: remove annotate_mailbox_flags[]
annotate: remove flags arg to annotatemore_init
annotate: centralise key parsing
annotate: report attrib+values when the RFC says
annotate: const correctness for userid
annotate: refactor access control in _set_todb
annotate: fix initialisation of annotate_f_entry
annotate: per-message annotations backend support
annotate: RFC5257 FETCH ANNOTATION
annotate: RFC5257 STORE ANNOTATION
annotate: annotation values safe with embedded NUL
annotate: precise quoting in METADATA responses
annotate: precise quoting in ANNOTATION responses
annotate: precise quoting for RFC5257
annotate: implement RFC5257 SORT ANNOTATION
annotate: refactor _fetch to use a callback
annotate: implement RFC5257 SEARCH ANNOTATION
annotate: debug prints for storing& deleting
annotate: add uid to annotatemore_findall()
annotate: RFC5257 ANNOTATION Interaction with COPY
annotate: RFC5257 interaction with APPEND
annotate: RFC5257 extensions to SELECT/EXAMINE
annotate: RFC5464 case-insensitive entry names
annotate: refuse annotations under /flags/
annotate: refuse Cyrus-specific annotations
annotate: detect NIL properly in getnstring()
annotate: centralise the entry store loop.
annotate: centralise the entry fetch loop.
annotate: do store access control centrally
annotate: do fetch access control centrally
annotate: add setentryatt(), dupentryatt()
annotate: add annotation callout
annotate: add Perl framework for annotator callout
annotate: pull checks out of index_storeflag
annotate: revise explicit transaction control API
annotate: per-mailbox annotation databases
unit: add annotate API unit tests
annotate: fix FMR after annotatemore_msg_lookup().
annotate: fix typo in error message
annotate: better checking of defined attrib-names
annotate: update description of definitions file.
annotate: refactor rename_cb()
annotate: add uid argument to _write_entry()
annotate: replicate per-message annotations
configure.in | 4 +
cunit/Makefile.in | 2 +-
cunit/annotate.c | 1629 ++++++++++++++++++++++++
cunit/backend.c | 7 +-
cunit/charset.c | 2 +-
cunit/conversations.c | 1 -
cunit/cunit.pl | 33 +-
cunit/getxstring.c | 27 +-
cunit/mailbox.c | 9 +-
cunit/parse.c | 2 +-
cunit/prot.c | 7 +-
cunit/sieve.c | 9 +-
cunit/unit.c | 6 +-
doc/specs.html | 2 +-
imap/annotate.c | 2931 +++++++++++++++++++++++++++-----------------
imap/annotate.h | 128 ++-
imap/append.c | 467 +++++++-
imap/append.h | 12 +-
imap/conversations.c | 1 +
imap/ctl_cyrusdb.c | 4 +-
imap/ctl_mboxlist.c | 8 +-
imap/cyr_expire.c | 19 +-
imap/cyr_virusscan.c | 2 +-
imap/dlist.c | 4 +-
imap/dlist.h | 4 +-
imap/global.c | 9 +-
imap/global.h | 3 +-
imap/imap_err.et | 2 +-
imap/imap_proxy.c | 19 +-
imap/imap_proxy.h | 5 +-
imap/imapd.c | 659 +++++++---
imap/imapd.h | 42 +-
imap/imapparse.c | 5 +-
imap/index.c | 327 +++++-
imap/index.h | 10 +-
imap/lmtp_sieve.c | 9 +-
imap/lmtpd.c | 10 +-
imap/mailbox.c | 6 +-
imap/mailbox.h | 4 +-
imap/mbdump.c | 71 +-
imap/mboxname.c | 5 +
imap/message.c | 11 +-
imap/message.h | 2 +
imap/nntpd.c | 29 +-
imap/squatter.c | 13 +-
imap/sync_client.c | 119 ++-
imap/sync_reset.c | 4 +-
imap/sync_server.c | 110 ++-
imap/sync_support.c | 217 ++++-
imap/sync_support.h | 26 +-
lib/imapoptions | 75 +-
lib/libconfig.c | 46 +
lib/libconfig.h | 1 +
perl/annotator/.gitignore | 2 +
perl/annotator/Daemon.pm | 763 ++++++++++++
perl/annotator/MANIFEST | 4 +
perl/annotator/Makefile.PL | 48 +
perl/annotator/README | 6 +
sieve/Makefile.in | 16 +-
59 files changed, 6351 insertions(+), 1647 deletions(-)
create mode 100644 cunit/annotate.c
create mode 100644 perl/annotator/.gitignore
create mode 100755 perl/annotator/Daemon.pm
create mode 100644 perl/annotator/MANIFEST
create mode 100644 perl/annotator/Makefile.PL
create mode 100644 perl/annotator/README
--
Greg.
More information about the Cyrus-devel
mailing list