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