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://g...@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.

Reply via email to