Generate ChangeLog files for tarball releases.
authorMatthew Barnes <mbarnes@redhat.com>
Fri, 2 Apr 2010 21:49:32 +0000 (17:49 -0400)
committerMatthew Barnes <mbarnes@redhat.com>
Fri, 2 Apr 2010 22:04:09 +0000 (18:04 -0400)
Remove old ChangeLog files that predate our switch to git.

24 files changed:
.gitignore
ChangeLog
Makefile.am
addressbook/ChangeLog [deleted file]
calendar/ChangeLog [deleted file]
camel/ChangeLog [deleted file]
camel/ChangeLog.pre-1-4 [deleted file]
camel/Makefile.am
camel/providers/groupwise/ChangeLog [deleted file]
camel/providers/hula/ChangeLog [deleted file]
camel/providers/imap/ChangeLog [deleted file]
camel/providers/imap4/ChangeLog [deleted file]
camel/providers/imapx/ChangeLog [deleted file]
camel/providers/local/ChangeLog [deleted file]
camel/providers/nntp/ChangeLog [deleted file]
camel/providers/pop3/ChangeLog [deleted file]
camel/providers/sendmail/ChangeLog [deleted file]
camel/providers/smtp/ChangeLog [deleted file]
camel/tests/ChangeLog [deleted file]
libedataserverui/ChangeLog [deleted file]
po/ChangeLog [deleted file]
servers/google/libgdata-google/ChangeLog [deleted file]
servers/google/libgdata/ChangeLog [deleted file]
servers/groupwise/ChangeLog [deleted file]

index 383a45a..30c34d5 100644 (file)
@@ -63,7 +63,7 @@
 /po/Makefile.in
 /po/Makefile.in.in
 /po/POTFILES
-/po/evolution-data-server-2.30.pot
+/po/evolution-data-server-3.0.pot
 /po/stamp-it
 /so_locations
 /stamp-h1
index 70d2d0d..3d79cd5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-2009-04-24  Milan Crha  <mcrha@redhat.com>
+2010-03-31  The Evolution Team  <evolution-hackers@gnome.org>
 
-       ** Fix for bug #569652
-
-       * libedataserver/e-source-list.h: (e_source_list_peek_group_by_name):
-       * libedataserver/e-source-list.c: (e_source_list_peek_group_by_name):
-       Deprecated since now, it's not safe for localized names.
-
-       * libedataserver/e-source-list.h: (e_source_list_ensure_group),
-       (e_source_list_peek_group_by_base_uri),
-       (e_source_list_peek_group_by_properties),
-       (e_source_list_remove_group_by_base_uri):
-       * libedataserver/e-source-list.c: (check_group_property):
-       New API functions.
-
-2009-04-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #343505
-
-       * libedataserver/e-data-server-util.h: (e_util_utf8_remove_accents):
-       * libedataserver/e-data-server-util.c: (e_util_utf8_remove_accents):
-       Helper function to remove accents from a UTF-8 string.
-
-2009-04-21  Wang Xin  <jedy.wang@sun.com>
-
-       ** Fix for bug #578210
-
-       * libedataserver/e-component-listener.c: (connection_listen_cb): Updated
-       the code to handle re-entrant problem.
-
-2009-04-12  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Remove a bunch of juvenile comments.  Source code should
-          look professional, even if some developers are not.
-
-2009-04-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #574522
-
-       * libedataserver/e-proxy.c: (e_proxy_dispose), (ep_set_proxy):
-       Free list's members properly.
-
-2009-03-16  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS: Evolution Data Server 2.26.0 release and version bump
-
-2009-03-09  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #574282
-
-       * libebackend/e-file-cache.c: (e_file_cache_clean):
-       Always freeze changes here, to make things done quicker.
-
-2009-03-02  Matthew Barnes  <mbarnes@redhat.com>
-
-       * configure.in: Post-release version bump.
-
-2009-03-02  Matthew Barnes  <mbarnes@redhat.com>
-
-       * NEWS: Evolution Data Server 2.25.92 release
-
-2009-02-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Re-fixes bug #570696
-
-       * configure.in:
-       Define GDATA_CFLAGS and GDATA_LIBS and explicitly require
-       libsoup-2.4 and libxml-2.0.
-
-2009-02-23  Tobias Mueller  <tobiasmue@svn.gnome.org>
-
-       * servers/google/libgdata-google/libgdata-google.pc.in
-       servers/google/libgdata-google/Makefile.am
-       servers/google/libgdata/Makefile.am
-       servers/google/libgdata/libgdata.pc.in:
-       Remove unnecessary dependencies from libgdata. Patch by Daniel Macks.
-       Fixes bug 570696.
-
-2009-02-18  Sankar P  <psankar@novell.com>
-
-       * MAINTAINERS:
-       Removing myself off the maintainers
-
-2009-02-17  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * configure.in: Fixes a libical build issue.
-       Committing the fix from Suman.
-
-2009-02-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #571761
-
-       * src/server-interface-check.h:
-       Stop using deprecated GtkType macros.
-
-2009-02-09  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #567861
-
-       * libedataserver/e-source.c: (e_source_equal):
-       Two sources also differ when one has set color_spec and the other not.
-
-2009-02-09  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #555888
-
-       * libedataserver/e-proxy.h:
-       * libedataserver/e-proxy.c:
-       Read system proxy setting directly and listen to their changes.
-       EProxy API changed, use e_proxy_peek_uri_for now.
-
-2009-02-05  Suman Manjunath  <msuman@novell.com>
-
-       * configure.in: Expose the right CFLAGS for libical headers. We want
-       to include <libical/ical*.h> (as suggested).
-
-2009-02-03  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Use the more traditional and reliable
-       AC_HELP_STRING instead of AS_HELP_STRING which doesn't work for me
-       at least... And the file uses AC_HELP_STRING in all other places
-       already anyway.
-
-2009-02-02  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS: Evolution Data Server 2.25.90 release
-
-2009-01-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Disable debug macros (#define d(x) x) throughout.  (#569638)
-
-2009-01-28  Tor Lillqvist  <tml@novell.com>
-
-       * src/Makefile.am (evolution_data_server_LDFLAGS): Build as a
-       "GUI" executable on Windows to avoid console windows that annoy
-       end-users.
-
-2009-01-21  Ross Burton  <ross@linux.intel.com>
-
-       * configure.in:
-       Add libical to the calendar and server deps to ensure that it is
-       available everywhere it is needed, and not checked if we're not
-       building the calendar.
-
-2009-01-21  Fridrich Strba <fstrba@novell.com>
-
-       * configure.in, calendar/backends/caldav/Makefile.am,
-       src/Makefile.am, win32/Makefile.am: Allow cross-compiling
-       e-d-s for windows + fix some win32 hickups.
-
-2009-01-21  Srinivasa Ragavan <sragavan@novell.com>
-
-       * NEWS: Evolution Data Server 2.25.5 release
-
-2009-01-21  Suman Manjunath  <msuman@novell.com>
-
-       ** Fix for bug #541209
-
-       ** Drop the libical fork in evolution-data-server
-       ** Related changes in Makefiles
-
-       * configure.in:
-       * docs/reference/calendar/libecal/Makefile.am:
-       * docs/reference/calendar/libedata-cal/Makefile.am:
-       * src/Makefile.am:
-
-2009-01-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #564543
-
-       * configure.in:
-       Bump gtk_minimum_version to 2.14.0.
-
-2009-01-12  Philip Van Hoof  <philip@codeminded.be>
-
-       * camel/camel-db.c: Allowing the developer to add migration code for in
-       case the schema of Camel's summary SQLite data format changes.
-
-       Also adds two columns, modified and created, to the summary data being
-       stored and renames the column msg_security to dirty as requested by
-       Srinivasa Ragavan and Sankar P.
-
-
-2009-01-08  Philip Van Hoof  <philip@codeminded.be>
-
-       * camel/providers/nntp/camel-nntp-folder.c
-       * camel/providers/pop3/camel-pop3-folder.c
-       * camel/providers/groupwise/camel-groupwise-folder.c
-       * camel/providers/imap/camel-imap-folder.c
-       * camel/providers/imap/camel-imap-message-cache.c
-       * camel/providers/imap/camel-imap-message-cache.h
-       * camel/providers/imap4/camel-imap4-folder.c
-       * camel/providers/local/camel-mbox-folder.c
-       * camel/providers/local/camel-maildir-folder.c
-       * camel/providers/local/camel-mh-folder.c
-       * camel/camel-folder.c
-       * camel/camel-folder.h
-       * camel/camel-data-cache.c
-       * camel/camel-data-cache.h:
-
-       Bugfix for Bug #566279. Introduces a new API in Camel needed for
-       implementing EPlugin of Bug #565091
-
-2009-01-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * news: evolution data server 2.25.4 release
-
-2009-01-05  Tor Lillqvist  <tml@novell.com>
-
-       * evolution-data-server-zip.in: Add libebackend binary, import
-       library and pkg-config file.
-
-       Just add all of include/evolution-data-server-@BASE_VERSION@ and
-       instead of bothering to list the subdirectories. (libebackend was
-       missing.) Ditto for lib/pkgconfig and share/gtk-doc. The intent is
-       that one does make install into a fresh empty target prefix anyway
-       when one wants to build for distribution.
-
-2009-01-05  Suman Manjunath  <msuman@novell.com>
-
-       ** Patch from Thomas <tmstaedt@t-mittelstaedt.de>
-       ** Fix for bug #564541
-
-       * libedataserver/e-sexp.c (e_sexp_term_eval): NULL check an argument 
-       before using its members. 
-
-2008-12-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #564652
-
-       * configure.in: Bump of libgweather version to 2.25.4 because
-       of new function 'gweather_xml_free_locations'.
-
-2008-12-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS: Evolution Data Server 2.25.3 release
-
-2008-12-10  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #352287
-
-       * configure.in: Decrease libgweather requirement to 2.25.2.
-
-2008-12-10  Suman Manjunath  <msuman@novell.com>
-
-       * configure.in: Build the weather calendar backend unless explicitly
-       requested not to, thereby making the libgweather dependency optional.
-
-2008-12-03  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #352287
-
-       * configure.in: Require libgweather in configure stage.
-
-2008-12-02  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #503662
-
-       * libedataserver/e-url.c: (e_uri_new):
-       Use last '@' in the address part to be the delimiter between
-       user name and server address, not the first one.
-
-2008-12-01  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS: Evolution Data Server 2.25.2 release changes
-
-2008-11-12  Suman Manjunath  <msuman@novell.com>
-
-       * libedataserver/e-source.c (e_source_set_color), 
-       (e_source_unset_color), (e_source_get_color): These are deprecated 
-       functions, so enclose them within proper macros. 
-
-2008-11-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS: Evolutoin Data Server 2.25.1 release and version bump
-
-2008-11-03  Sankar P  <psankar@novell.com>
-
-License Changes
-
-       * libedataserver/e-proxy.c:
-       * libedataserver/e-proxy.h:
-
-2008-10-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #558727 (patch by Frederic van Starbmann)
-
-       * libebackend/e-data-server-module (e_data_server_module_load):
-       Fix some potential string format crashes.
-
-2008-10-01  Suman Manjunath  <msuman@novell.com>
-
-       ** Fix for bug #554540
-
-       * libedataserver/e-source-group.c (find_esource_from_uid),
-       (compare_source_lists), (e_source_group_equal),
-       (e_source_group_xmlstr_equal):
-       * libedataserver/e-source-group.h:
-       * libedataserver/e-source-list.c (e_source_list_is_gconf_updated):
-       * libedataserver/e-source.c (e_source_equal),
-       (e_source_xmlstr_equal):
-       * libedataserver/e-source.h:
-       Don't compare XML data of ESource* literally. Instead, compare them
-       semantically. 
-
-2008-09-30  Philip Withnall  <philip@tecnocode.co.uk>
-
-       ** Fix for bug #552491
-
-       * libedataserver/e-source-list.c (e_source_list_is_gconf_updated):
-       Check for NULL output from xmlParseDoc before continuing.
-
-2008-09-24  Ross Burton  <ross@linux.intel.com>
-
-       * configure.in:
-       Remove libgnome from libedataserverui depends, and change
-       libgnome-2.0 to libbonobo-2.0 for the addressbook and calendar.
-
-       * evolution-data-server.pc.in:
-       Remove libgnome-2.0 as it isn't used.
-
-2008-09-22  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * configure.in: Version bump for Evolution Data Server 2.25.1
-
-2008-09-22  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 2.24.0 release.
-
-2008-09-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libedataserver/e-sexp.c (term_eval_and), (term_eval_or):
-       Don't mix declarations and code.
-
-2008-09-12  Ross Burton  <ross@burtonini.com>
-
-       * libedataserver/e-data-server-marshal.list:
-       Remove, this isn't used since 2007-04-04.
-
-2008-09-08  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS: Evolution Data Server 2.23.92 release.
-
-2008-09-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * libedataserver/e-sexp.c (parse_list): Fix a crash in sexp.
-
-2008-09-01  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS: Evolution Data Server 2.23.91 release and version bump.
-
-2008-09-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * configure.in:
-       Fix compiler warnings in a couple of the test programs.
-
-2008-08-28  Patrick Ohly  <patrick.ohly@gmx.de>
-
-       * Bug fix #518728: subtle link error: system libs before Evolution
-       libs
-
-       When compiling on Debian Etch (Evolution 2.12), evolution-dataserver
-       was linked against /usr/lib/libebook-1.2.so.5 because of the incorrect
-       link order. "incorrect" in this context means "system libs" before
-       "Evolution libs".
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 2.23.90 release and
-       version bump.
-
-2008-08-11  Jeff Cai <jeff.cai@sun.com>
-
-        * configure.in: Add gthread-2.0 in CAMEL checking.
-          Fixes bug #538074.
-
-2008-08-07  Tobias Mueller  <tobiasmue@svn.gnome.org>
-
-       * libedataserver/e-account.c: Harden e_account_[gs]et_*
-       functions by checking ea being NULL and code cleanups
-       suggested by mbarnes.
-       Fixes bug #545021
-
-2008-08-04  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS: Evolution Data Server 2.23.6 release and version bump.
-
-2008-08-04  Matthias Braun <matze@braunis.de>
-
-       * configure.in: Added WebDAV backend for addressbook. 
-
-2008-08-04  Tobias Mueller  <tobiasmue@svn.gnome.org>
-
-       ** Fix for bug #545022
-
-       * libedataserver/e-account.c (ea_setting_setup): Free gconf-entry only
-       if it is non-NULL. 
-
-2008-07-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #545558
-
-       * configure.in:
-       Add an --enable-hula configure option for building the Hula Camel
-       provider, disabled by default.
-
-2008-07-23  Johnny Jacob  <jjohnny@novell.com>
-
-       * configure.in (API_VERSION): libcamel version bumped.
-       (eds_micro_version): EDS version bumped to 2.23.6
-
-       * NEWS: Updates for 2.23.5.
-       
-2008-07-21  Matthew Barnes  <mbarnes@redhat.com>
-
-       * Makefile.am:
-       Add doltcompile and doltlibtool to DISTCLEANFILES to fix
-       distcheck breakage.
-
-2008-07-21  Jörgen Scheibengruber  <mfcn@gmx.de>
-
-       ** Fix for bug #523632
-
-       * configure.in: Added Google contacts backend
-
-2008-07-20  Bharath Acharya  <abharath@novell.com>
-
-       ** Fix for bug #200147
-
-       * libedataserver/e-account.h: Stores the templates folder uri
-
-2008-07-20  Luca Ferretti  <elle.uca@libero.it>
-
-       reviewed by: Srinivasa Ragavan
-
-       * configure.in: add sqlite3 to to EVO_SET_COMPILE_FLAGS(CAMEL)
-       to fix the build. See bug #543656 for details.
-
-2008-07-16  Sankar P  <psankar@novell.com>
-
-       Pushing disk summary changes from the madagascar branch
-
-       * configure.in:
-       * libedataserver/e-sexp.c (term_eval_and), (term_eval_or),
-       (e_sexp_parse_value):
-       * libedataserver/e-sexp.h:
-
-2008-07-14  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #253509
-
-       * libedataserver/e-categories.c: Added translators comment.
-
-2008-07-09  Tor Lillqvist  <tml@novell.com>
-
-       * evolution-data-server-zip.in: No version number for
-       share/pixmaps/evolution-data-server. Use -D when using -r to not
-       add pointless entries for directories in the zip files.
-
-2008-06-26  Julien Puydt  <jpuydt@gnome.org>
-
-       * libedataserver/e-source-group.c: Added missing g_object_unref on
-       sources, fixing leaks and bug #540152.
-
-2008-06-23  Jeffrey Stedfast  <fejj@novell.com>
-
-       * configure.in: Doltify
-
-2008-06-17  Johnny Jacob  <jjohnny@novell.com>
-
-       * configure.in (eds_micro_version): Bumped to 2.23.5.
-
-       * NEWS: Evolution Data Server 2.23.4 release updates.
-
-2008-06-12  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-proxy.c: Make it compile on Win32, too.
-
-2008-06-06  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Allow e-d-s to build with G_DISABLE_SINGLE_INCLUDES
-          and GTK_DISABLE_SINGLE_INCLUDES defined. (#536636)
-
-2008-06-06  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Add a couple of -Wl,--exclude-libs options on
-       Windows to avoid needlessly auto-exporting functions from static
-       libiconv and libdb-4.1 when linked into e-d-s's DLLs.
-
-       * libdb/env/env_open.c [Win32]: #define strcasecmp _stricmp, just
-       for cleanliness.
-
-2008-06-03  Tor Lillqvist  <tml@novell.com>
-
-       Bug 536154 - Camel sends bracketed hostname in SMTP HELO
-
-       * configure.in: Do use the Winsock getaddrinfo() and
-       getnameinfo(). It should be OK to ignore Windows 2000 by now.
-
-2008-06-02  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS: Evolution Data Server 2.23.3 release and version bump.
-
-2008-06-02  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-data-server-util.c: Include <mbstring.h> on
-       Windows.
-       (get_prefixes): Drop the Win9x code. The GTK+ stack hasn't
-       supported Win9x for a while, so no point in attempting to do it
-       here either.
-
-2008-05-23  Ed Catmur  <ed@catmur.co.uk>
-
-       ** Fix for bug #533780
-
-       * configure.in:
-       * libebackend/Makefile.am: 
-       Fix the link line for libebackend.
-
-2008-05-16  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #532836
-
-       * configure.in:
-       * libedataserver/libedataserver.pc.in:
-       EProxy adds a libsoup dependency to libedataserver.  Add
-       this new requirement to a couple places that were missed.
-
-2008-05-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #531713
-
-       * configure.in:
-       Split the evolution-data-server version into major/minor/micro
-       macros (wow, say that five times fast!) so we can pass them to
-       libedataserver/eds-version.c.
-
-       * libedataserver/Makefile.am:
-       * libedataserver/eds-version.c:
-       * libedataserver/eds-version.h:
-       New sources files provide macros and functions for checking the
-       version of evolution-data-server.  Would have been handy to have
-       in a couple recent API breaks.
-
-       * docs/references/libedataserver:
-       Add developer documentation for the new symbols.
-
-2008-05-13  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libebackend/libebackend.pc.in: Fix a typo.
-
-2008-05-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 2.23.2 release and version
-       bump.
-       * Makefile.am: Build fix for release.
-
-2008-05-06  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #424744
-
-       * libedataserver/e-iconv.[ch]:
-       Deprecate the e-iconv API.  Use camel-iconv instead.
-
-       * libedataserver/e-trie.[ch]:
-       Deprecate the ETrie API.  Use CamelTrie instead.
-
-       * libedataserver/e-msgport.[ch]:
-       Deprecate the EMsgPort API.  Use CamelMsgPort instead.
-
-2008-05-06  Jeffrey Stedfast  <fejj@novell.com>
-
-       * Reverted commit 8210
-
-2008-05-06  Sankar P  <psankar@novell.com>
-
-       * Revert changes committed by bad git-svn usage.
-
-2008-05-05  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #517244
-
-       * configure.in:
-       Add test for nl_langinfo(CODESET).  Defines HAVE_CODESET.
-
-2008-05-05  Wang Xin  <jedy.wang@sun.com>
-
-       * libedataserver/e-proxy.c: Fixes #530688.
-
-2008-05-04  Matthew Barnes  <mbarnes@redhat.com>
-
-       * configure.in: If --enable-gnome-keyring is given, require version
-       2.20.1 or later to pick up the GNOME_KEYRING_RESULT_NO_MATCH symbol.
-
-2008-04-30  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #316390
-
-       * libedataserver/e-categories.h:
-       (e_categories_register_change_listener),
-       (e_categories_unregister_change_listener):
-       * libedataserver/e-categories.c: (EChangedListener),
-       (idle_saver_cb), (finalize_categories), (initialize_categories),
-       (e_categories_set_color_for), (e_categories_set_icon_file_for),
-       (e_categories_register_change_listener), (e_categories_add),
-       (e_categories_unregister_change_listener), (e_categories_remove):
-       New API to support listening for changes in categories.
-
-2008-04-23  Rob Bradford  <rob@openedhand.com>
-
-       * Makefile.am:
-       * configure.in:
-       * libebackend/Makefile.am:
-       * libebackend/libebackend.pc.in:
-       Build framework for new libebackend library.
-
-       * libedataserver/Makefile.am:
-       Remove files that have moved to libebackend.
-
-       * libedataserver/e-data-server-module.[ch]:
-       * libedataserver/e-db3-utils.[ch]:
-       * libedataserver/e-dbhash.[ch]:
-       * libedataserer/e-file-cache.[ch]:
-       Moved to libebackend.
-
-       * src/Makefile.am:
-       * src/server.c:
-       Use libebackend headers and link to the library.
-
-       * docs/reference/Makefile.am:
-       * docs/reference/libebackend/Makefile.am:
-       * docs/reference/libebackend/libebackend-docs.xml:
-       * docs/reference/libebackend/libebackend-sections.txt:
-       * docs/reference/libebackend/libebackend.types:
-       Add documentation for new libebackend library.
-
-       * docs/reference/libedataserver/libedataserver.types:
-       Remove types that have been moved to libebackend.
-
-       * docs/reference/calendar/libedata-cal/Makefile.am:
-       Add libebackend to the gtk-doc scanner libraries.
-
-2008-04-23  Matthew Barnes  <mbarnes@redhat.com>
-
-       * README: Put it back.  Apparently Automake insists on it.
-
-2008-04-23  Srinivasa Ragavan  <sragavan@novell.com>
-       
-       * configure.in: Version bump to 2.23.1
-
-2008-04-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 2.23.1 release and version
-       bump.
-
-2008-04-22  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #441497
-
-       * README: File is empty, remove it.
-
-       * Makefile.am: Remove README.
-
-2008-04-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       * docs/reference: Add new symbols to the API docs.
-
-2008-04-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * MAINTAINERS: Updating the Camel guards.
-
-2008-04-17  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #526741
-
-       * src/server.c: (main):
-       * configure.in: Do not require gnome-vfs, use gio/gvfs instead.
-       Bumped LIBCAMEL_CURRENT to 12.
-
-2008-04-15  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #475616
-
-       * libedataserver/e-component-listener.c: (watched_lock),
-       (connection_listen_cb), (e_component_listener_finalize),
-       (e_component_listener_new): Use rather rec mutex here.
-
-2008-04-07  Jeffrey Stedfast  <fejj@novell.com>
-
-       * configure.in: Do proper checks for largefile support and
-       properly setup proper CFLAGS to support it.
-
-2008-04-04  Suman Manjunath  <msuman@novell.com>
-
-       * libedataserver/e-data-server-util.c: (e_util_utf8_strstrcase),
-       (e_util_utf8_strstrcasedecomp): 
-       Fixed a few compiler warnings (bug #473880)
-
-2008-04-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * configure.in: Version bump for 2.23.1.
-
-2008-03-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       * configure.in: Enforce the minimum GLib version (#525242).
-
-2008-03-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #518710
-
-       * configure.in:
-       Bump GLib requirement to 2.16.1.
-
-       * libedataserver/e-dbhash.c:
-       Use GLib's new MD5 Checksum API.  The MD5 utilities in
-       libedataserver are now deprecated.
-
-       * libedataserver/md5-utils.c:
-       * libedataserver/md5-utils.h:
-       Deprecate these functions and reimplement them to be wrappers
-       for GLib's new MD5 Checksum API.
-
-2008-03-25  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       ** Added configurable Proxy settings for Evolution.
-
-       * libedataserver/Makefile.am:
-       * libedataserver/e-proxy.c: (ep_free_proxy_host_addr),
-       (e_proxy_class_init), (e_proxy_init), (e_proxy_dispose),
-       (e_proxy_get_type), (ep_need_proxy), (ep_manipulate_ipv4),
-       (ipv6_network_addr), (ep_manipulate_ipv6), (ep_parse_ignore_host),
-       (ep_set_proxy), (ep_setting_changed), (e_proxy_new),
-       (e_proxy_setup_proxy), (e_proxy_peek_uri),
-       (e_proxy_require_proxy_for_uri):
-       * libedataserver/e-proxy.h:
-
-2008-03-10  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 2.22.0 release.
-
-2008-03-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * configure.in: Revisit libecal version.
-
-2008-03-02  Matthew Barnes  <mbarnes@redhat.com>
-
-       * docs/reference: Minor API documentation updates.
-
-2008-03-03  Tor Lillqvist  <tml@novell.com>
-
-       * evolution-data-server-zip.in: Drop duplicated line. Use
-       LIBCAMEL_CURRENT_MINUS_AGE for the libcamel DLL. Sort sections for
-       clarity.
-
-2008-03-03  Srinivasa Ragavan <sragavan@novell.com>
-
-       * configure.in: Bump libecal version for libical changes.
-
-2008-02-25  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS: Evolution Data Server 2.21.92 release.
-
-2008-02-26  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #475616
-
-       * libedataserver/e-component-listener.c: (connection_listen_cb),
-       (e_component_listener_finalize), (e_component_listener_new):
-       Guard global static variable with mutex lock.
-
-2008-02-26  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * src/Makefile.am: Add E_DATA_SERVER_CFLAGS/LIBS to make it build.
-
-2008-02-22  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #469119
-
-       * libedataserver/e-time-utils.c: (has_correct_date),
-       (e_time_parse_date_and_time_ex), (e_time_parse_date_ex):
-       Check also for correct date values if parse is OK.
-
-2008-02-19  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * configure.in: set HANDLE_LIBICAL_MEMORY to 1.
-
-2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * libdb/dbm/dbm.c (__db_dbm_firstkey): Fix for some
-       warnings. Fix from opensuse downstream.
-
-2008-02-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #516074
-
-       * configure.in: Don't assume NI_MAXHOST and NI_MAXSERV are
-       defined in <netdb.h> since these are GNU extensions.
-
-2008-02-13  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * configure.in: Version bump for 2.21.92
-
-2008-02-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS: Evolution-Data-Server 2.21.91 release.
-
-2008-02-06  Matthew Barnes  <mbarnes@redhat.com>
-
-       * configure.in:
-       * marshal.mk:
-       Fix a compilation error that occurs when building in a
-       remote object directory (#514682, patch by Paul Smith).
-
-2008-02-06  Tor Lillqvist  <tml@novell.com>
-
-       * evolution-data-server-zip.in: Look for catalogs in share/locale
-       first, as that is where they will be with a properly built GNU
-       gettext.
-
-2008-01-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * configure.in: Version bump for 2.21.91 
-
-2008-01-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 2.21.90 release.
-
-2008-01-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * docs/reference: Refresh the API docs.
-
-2008-01-24  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Only use the -Wno-sign-compare and
-       -Wno-pointer-sign options if the gcc version used supports them. I
-       am still using gcc 3.4.2 in mingw...
-
-2008-01-24  Takao Fujiwara  <takao.fujiwara@sun.com>
-
-       ** Fix for bug #511717
-
-       * camel/providers/imap/camel-imap-store.c: (imap_build_folder_info):
-       Add gettext imap folders.
-
-2008-01-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       * configure.in:
-       Bump some additional package requirements for libsoup-2.4:
-               libbonobo-2.0 >= 2.20.3
-               glib-2.0 >= 2.15.3
-
-2008-01-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       * docs/reference/camel/camel-sections.txt:
-       Add camel_session_build_password_prompt.
-
-2008-01-15  Dan Winship  <danw@gnome.org>
-
-       * configure.in: Require libsoup-2.4. (Remove old "either 2.2 or
-       2.4" support, which only ever worked because there was an old CVS
-       version of libsoup that claimed to be 2.4 but still had the 2.2
-       API.)
-
-2008-01-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * configure.in: Version bump to 2.21.90
-
-2008-01-14  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS: Evolution Data Server 2.21.5 release.
-
-2008-01-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       * docs/reference/camel/camel.types:
-       Add an empty camel.types file so Gtk-Doc 1.9 doesn't choke on its
-       absence when running "make dist".  See bug #509539 for more info.
-
-2008-01-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #339813
-
-       * libedataserver/e-time-utils.h: (e_time_parse_date_and_time_ex),
-       (e_time_parse_date_ex), (e_time_get_d_fmt_with_4digit_year):
-       New API functions, returns is parsed string had two-digit year and
-       last one changes "%x" on format of strftime with forced 4-digit year.
-       * libedataserver/e-time-utils.c: (parse_with_strptime):
-       Fix issue when read all text but actual date isn't correct to this format.
-       * libedataserver/e-time-utils.c: (correct_two_digit_year):
-       New helper function.
-       * libedataserver/e-time-utils.c: (e_time_parse_date_and_time_ex),
-       (e_time_parse_date_ex), (e_time_get_d_fmt_with_4digit_year):
-       Implementing new API functions.
-
-2007-12-25  Jeffrey Stedfast  <fejj@novell.com>
-
-       * libedataserver/e-iconv.c: Map gb2312-compat charsets to GBK
-       instead of gb2312 since GBK is a superset of gb2312.
-
-2007-12-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * configure.in: Version bump to 2.21.5.
-
-2007-12-17  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 2.21.4 release.
-
-2007-12-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       * configure.in:
-       Bump gtk-doc requirement to 1.9 for gtkdoc-rebase.
-
-2007-12-07  James "Doc" Livingston  <doclivingston@gmail.com>
-
-       ** Fix for bug #339510
-
-       * libedataserver/e-time-utils.c: (e_time_parse_time): Accept time
-       inputs with 4 figures (e.g. '1830' would be converted to '18:30')
-
-2007-12-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 2.21.3 release.
-
-2007-11-26  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #308815
-
-       * libedataserver/e-categories.h:
-       * libedataserver/e-categories.c: Dropped colors for categories,
-       so marking those functions as deprecated, and making deprecated
-       parameter 'color' of 'e_categories_add' together with its rename
-       to 'unused'.
-
-2007-11-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 2.21.2 release.
-
-2007-11-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Remove trailing whitespace from source code.
-
-2007-11-13  Ondrej Jirman  <megous@megous.com>
-
-       ** Fix for bug #494299
-
-       * libedataserver/e-file-cache.c: (add_key_to_slist),
-       (add_object_to_slist): Rename helper functions.
-       * libedataserver/e-file-cache.c: (e_file_cache_get_keys):
-       Fix memory corruption.
-
-2007-10-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 2.21.1 release.
-
-2007-10-29  Matthew Barnes  <mbarnes@redhat.com>
-
-       * servers/google/libgdata/gdata-entry.c:
-       * servers/googgle/libgdata-google/gdata-google-service.c:
-       Fix implicit function declarations.
-       Use g_ascii_strcasecmp() instead of g_strcasecmp() (deprecated).
-
-2007-10-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * docs/reference/calendar/libecal/libecal-sections.txt:
-       * docs/reference/libedataserverui/libedataserverui-sections.txt:
-       Remove non-existent symbols.
-
-2007-10-23  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * configure.in:
-       * evolution-data-server-zip.in:
-       * servers/Makefile.am: Initial commit for the google
-       calendar.
-
-       Committing on behalf of Ebby Wiselyn <ebbywiselyn@gmail.com>
-
-2007-10-22  Matthew Barnes  <mbarnes@redhat.com>
-
-       * Fixes part of bug #417999
-
-       * docs/reference/libedataserverui:
-       Add documentation for ESourceComboBox widget.
-
-2007-10-09  Matthew Barnes  <mbarnes@redhat.com>
-
-       * iconv-detect.c (main): Remove an unused variable (#483301).
-
-2007-09-07  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * libedataserver/e-msgport.c: (e_dlist_init), (em_cache_lookup),
-       (em_cache_add), (e_thread_new), (e_thread_destroy), (e_mutex_new),
-       (e_mutex_destroy): Fix a lot of 0 vs NULL issues.
-       * libedataserver/e-msgport.h: Same.
-
-2007-09-27  Ross Burton  <ross@openedhand.com>
-
-       * libedataserver/e-iconv.c:
-       Mark the charset and language arrays as const.
-
-2007-09-17  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 1.12.0 release
-
-2007-09-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 1.11.92 release
-
-2007-08-28  Ross Burton  <ross@openedhand.com>
-
-       * */*:
-       Fix FSF address (Tobias Mueller, #470445)
-
-2007-08-27  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 1.11.91 release
-
-2007-08-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #469870
-
-       * libedataserver/e-categories.c: (e_categories_get_color_for),
-       (e_categories_get_icon_file_for), (e_categories_is_searchable):
-       Simply return from _get_ functions and don't show error warning.
-
-2007-08-20  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #367760
-
-       * libedataserver/e-data-server-util.c: (e_filename_make_safe):
-       Added '#' as non-safe character.
-
-2007-08-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       * docs: Refresh Gtk-Doc "section" files.
-
-2007-08-16  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libdb/dbm/dbm.c (__db_ndbm_open):
-       * libedataserver/e-dbhash.c (e_dbhash_new):
-       Fix compilation errors caused by glibc's new "open" macro (#466987).
-
-2007-08-16  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #351756
-
-       * libedataserver/e-time-utils.c: (parse_with_strptime):
-       g_locale_from_utf8 returns NULL on error, so test for that value.
-
-2007-08-13  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 1.11.90 release
-
-2007-08-13  Ross Burton  <ross@openedhand.com>
-
-       * libedataserver/e-xml-hash-utils.c:
-       * libedataserver/e-data-server-util.c:
-       * libedataserver/e-dbhash.c:
-       * libedataserver/md5-utils.c:
-       * libedataserver/e-account.c:
-       * libedataserver/e-xml-utils.c:
-       * libedataserver/e-source.c:
-       Fix compile warnings.
-
-2007-08-08  Hiroyuki Ikezoe  <poincare@ikezoe.net>
-
-       ** Fix for bug #455799
-
-       Remove all .cvsignore and update svn:ignore porperty in whole
-       directories.
-
-2007-08-08  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * MAINTAINERS: Updated the email, svn account.
-
-2007-08-02  Ross Burton  <ross@openedhand.com>
-
-       * configure.in:
-       If building against libsoup-2.2, we need 2.2.91 for
-       SOUP_SESSION_TIMEOUT (#451003).
-
-2007-07-31  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 1.11.6.1 release 
-       
-2007-07-30  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 1.11.6 release 
-
-2007-07-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * configure.in: Updated the libtool version for libedataserver
-       version since some APIS has been added.
-
-2007-07-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * libedataserver/e-source.[ch]: (e_source_get_duped_property):
-       Added a API to get the duped property.
-
-2007-07-30  Milan Crha  <mcrha@redhat.com>
-
-       * libedataserver/e-source-group.h: (e_source_group_get_property),
-       (e_source_group_set_property), (e_source_group_foreach_property):
-       * libedataserver/e-source-group.c: (struct _ESourceGroupPrivate),
-       (impl_finalize), (e_source_group_init), (import_properties),
-       (compare_str_hash), (compare_str_hashes), (property_dump_cb),
-       (e_source_group_new_from_xmldoc), (e_source_group_update_from_xml),
-       (e_source_group_update_from_xmldoc), (e_source_group_to_xml),
-       (e_source_group_get_property), (e_source_group_set_property),
-       (e_source_group_foreach_property):
-       Added support for properties in source group.
-
-       * libedataserver/e-source-group.c: (e_source_group_new_from_xml),
-       (e_source_group_new_from_xmldoc), (e_source_group_update_from_xmldoc),
-       (e_source_group_uid_from_xmldoc), (e_source_group_to_xml):
-       Warnings cleanup.
-
-2007-07-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       * configure.in:
-       Collect all the required package versions in one place and
-       explicitly require GTK+ 2.10 or higher.  (#380534)
-
-2007-07-27  Johnny Jacob  <jjohnny@novell.com>
-
-       ** Fix for bug #457523.
-
-       * libedataserver/e-sexp.c : Reverting fix for #364731. This is
-       fixed in evolution.
-
-2007-07-27  Hiroyuki Ikezoe  <poincare@ikezoe.net>
-
-       * libedataserver/e-account-list.c: Plugged memory leak.
-
-2007-07-09  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 1.11.5 release 
-
-2007-07-03  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #364731
-
-       * libedataserver/e-sexp.c: (GScannerConfig):
-       The '+' and '-' are also unary operators, so
-       the identifier could not start with these characters.
-
-2007-06-22  Milan Crha  <mcrha@redhat.com>
-
-       * libedataserver/e-account.h:
-       Added new property get_password_canceled into EAccountService
-       struct, because of bug #307410
-
-2007-07-02  Christian Kirbach  <Christian.Kirbach@googlemail.com>
-
-       * camel/providers/imap4/camel-imap4-summary.c:
-       Fix one typo and wrong preposition (bug #452996).
-
-2007-06-19  Karsten Bräckelmann  <guenther@rudersport.de>
-
-       * configure.in: Correct the comment for --enable-gnome-keyring,
-       fixes bug #448947.
-
-2007-06-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution Data Server 1.11.4 release.
-
-2007-06-18  Srinivasa Ragavan <sragavan@novell.com>
-
-       ** Fix for bug #448589 from Tobias Mueller
-
-       ** src/Makefile.am: Add support for automake 1.6
-
-2007-06-18  Srinivasa Ragavan <sragavan@novell.com>
-
-       ** Fix for bug #443958 from Sebastien Tandel 
-
-       * configure.in: Add support for help string.
-
-2007-06-18  Srinivasa Ragavan <sragavan@novell.com>
-       
-       ** Fix for bug #437751 from Andreas Köhler
-
-       * libedataserver/e-time-utils.c: 
-
-2007-06-05  Irene Huang  <irene.huang@sun.com>
-
-       * configure.in: Add option for using Sun Kerberos
-       fixing bug #344728
-
-2007-05-14  Srinivasa Ragavan <sragavan@novell.com>
-       
-       * NEWS, configure.in: Evolution Data Server 1.11.3 release.
-
-2007-06-03  Ross Burton  <ross@openedhand.com>
-
-       * configure.in:
-       * Makefile.am:
-       * src/Makefile.am:
-       * src/offline-listener.[ch]:
-       * src/server.c:
-       Add --disable-calendar to build without any calendar support
-       (#438928).
-
-2007-05-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       * docs/reference/addressbook/libebook/Makefile.am:
-       * docs/reference/calendar/libecal/Makefile.am:
-       Fix some distcheck errors (#438577).
-
-2007-05-25  Pascal Terjan  <pterjan@linuxfr.org>
-
-       * camel/camel-stream-mem.c: fix typos in the API documentation
-
-2007-05-24  Ross Burton  <ross@openedhand.com>
-
-       * configure.in:
-       Fix krb5 checks when using --as-needed (part of #342830, John
-       N. Laliberte).
-
-2007-05-24  Ross Burton  <ross@openedhand.com>
-
-       * libedataserverui/Makefile.am:
-       Add missing link flags to fix build with -z,defs. (#409542, Loic
-       Minier)
-
-2007-05-21  Wang Xin  <jedy.wang@sun.com>
-
-       * libedataserver/e-time-utils.c: Fixes #439050.
-
-2007-05-20  Ross Burton  <ross@openedhand.com>
-
-       * configure.in:
-       Use a faster pkgconfig call when checking for soup (#438975).
-
-2007-05-16  Jules Colding  <colding@omesc.com>
-
-       * configure.in: Removed unused function check
-
-2007-05-14  Jules Colding  <colding@omesc.com>
-
-       * libedataserver/e-db3-utils.c (cp_file): Cleanup. Fix file descriptor leak.
-
-       * libedataserver/md5-utils.c (md5_get_digest_from_file): Fix file descriptor leak
-
-2007-05-14  Srinivasa Ragavan
-       
-       * NEWS, configure.in: Evolution Data Server 1.11.2 release.
-
-2007-05-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fix for bug #361138
-
-       * libedataserver/e-data-server-util.c: Handle strftime for non-indic
-       locales.
-       
-2007-05-08  Josselin Mouette  <joss@malsain.org>
-
-       reviewed by: Srinivasa Ragavan <sragavan@novell.com>
-
-       * src/server.c: (main): Turn the g_error into a g_warning to 
-          avoid dumping core when launching two instances (#436197).
-
-2007-05-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libedataserver/e-source-group.c (e_source_group_new_from_xmldoc):
-       Nullify 'new' after dropping its reference, so that we return NULL.
-
-2007-05-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       * docs/reference/camel/Makefile.am:
-       Remove reference to nonexistent libutil.la.
-
-2007-05-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libedataserver/e-sexp.c:
-       Fix warnings reported by 'sparse'.  Patch from Kjartan Maraas.
-
-2007-04-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #418852
-
-       * configure.in:
-       * docs/reference/camel:
-       * docs/reference/Makefile.am:
-       Resurrect Camel's API documentation.
-
-2007-04-24  Matthew Barnes  <mbarnes@redhat.com>
-
-       * docs/reference:
-       Refresh SGML templates and add the appropriate CFLAGS to satisfy
-       "make distcheck".
-
-2007-04-23  Srinivasa Ragavan <sragavan@novell.com>
-
-       ** NEWS, configure.in:  Evolution data server 1.11.1 release
-
-2007-04-20  Srinivasa Ragavan <sragavan@novell.com>
-
-       ** Fix for bug #425535 from  Frederic Crozat
-
-       * src/server.c: Dont submit path of EDS for segv_handler.
-
-2007-04-19  Pascal Terjan  <pterjan@linuxfr.org>
-
-       * camel/camel-gpg-context.c:
-       Convert messages from gnupg to UTF-8 (#423382).
-
-2007-04-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       * Introduce EFlag in libedataserver (#415891)
-
-       * libedataserver/e-flag.[ch]:
-       New data structure, EFlag, is a simple thread synchronization
-       mechanism.  Based on Python's threading.Event class.
-
-       * docs/reference/libedataserver:
-       Add documentation for EFlag.
-
-2007-04-11  Matthew Barnes  <mbarnes@redhat.com>
-
-       * configure.in:
-       Make the libiconv test program returns a value. (#388789)
-
-2007-04-05  Ross Burton  <ross@openedhand.com>
-
-       * libedataserver/e-file-cache.c:
-       * libedataserver/e-data-server-util.h:
-       Use g_mkdir_with_parents (#383686).
-
-2007-04-04  Ross Burton  <ross@burtonini.com>
-
-       * libedataserver/e-source-group.c:
-       * libedataserver/e-data-server-marshal.list:
-       * libedataserver/e-account-list.c:
-       * libedataserver/e-source-list.c:
-       * libedataserver/e-iterator.c:
-       * libedataserver/e-source.c:
-       * libedataserver/Makefile.am:
-       Remove marshallers that are in GLib (#400970).
-
-2007-04-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libedataserver/e-source.c:
-       Store colors as a string specification instead of an integer.
-       Introduce new color API and deprecate the old. (#373117)
-
-       New API: e_source_set_color_spec()
-                e_source_peek_color_spec()
-
-       Old API: e_source_set_color()
-                e_source_unset_color()
-                e_source_get_color()
-
-       * libedataserver/test-source-list.c:
-       Use the new ESource color API. (#373117)
-
-2007-04-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libedataserver/e-account.c (receipt_policy_to_str):
-       * libedataserver/e-iconv.c (e_dlist_init):
-       * libedataserver/e-list-iterator.c (e_list_iterator_insert):
-       * libedataserver/e-trie.c (e_trie_search):
-       * libedataserver/e-sexp.c (term_eval_castint), (e_sexp_finalise):
-       Fix some compiler warnings.  Patch from Kjartan Maraas.
-
-2007-03-29  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libedataserver/e-data-server-util.c:
-       * libedataserver/e-uid.c:
-       * libedataserver/e-xml-utils.c:
-       E-D-S requires GLib 2.10 now; remove dead backward-compatibility
-       code for GLib < 2.8 (#418971).
-
-2007-03-29  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libedataserver/e-data-server-module.c:
-       Fix "incompatible pointer type" warnings (#360619).
-
-2007-03-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK when checking
-       for iconv() in -liconv (#388788).  Patch from Elijah Newren.
-
-       * iconv-detect.c: Fix an implicit function declaration.
-
-2007-03-26  Harish Krishnaswamy <harish.krishnaswamy@gmail.com>
-       
-       * MAINTAINERS : Updates on the new guards.
-
-2007-03-12  Harish Krishnaswamy <kharish@novell.com>
-
-       * NEWS, configure.in: Evolution-Data-Server 1.10
-       release updates.
-
-2007-03-08  Ross Burton  <ross@openedhand.com>
-
-       * configure.in:
-       * docs/reference/addressbook/libedata-book:
-       * docs/reference/libedataserverui:
-       Add gtk-doc framework.
-
-       * docs/reference/addressbook/libebook:
-       * docs/reference/calendar/libedata-cal:
-       * docs/reference/calendar/libecal:
-       Refresh to match source.
-
-       Patch from Matthew Barnes <mbarnes@redhat.com> (#413173).
-
-2007-03-08  Ross Burton  <ross@openedhand.com>
-
-       * docs/reference/addressbook/libebook/libebook-sections.txt:
-       * docs/reference/addressbook/libebook/tmpl/e-book-query.sgml:
-       * docs/reference/addressbook/libebook/tmpl/e-vcard.sgml:
-       Add missing symbols (#400169).
-
-2007-02-26  Srinivasa Ragavan <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution-Data-Server 1.9.92 
-       release updates.
-
-2007-02-26 Harish Krishnaswamy <kharish@novell.com>
-
-       * configure.in : Update intltool version.
-
-2007-02-23  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #356177
-
-       * libedataserver/e-msgport.h: Deprecate EMutex.
-
-2007-02-12  Srinivasa Ragavan <sragavan@novell.com>
-
-       * NEWS, configure.in: Evolution-Data-Server 1.9.91 
-       release updates.
-
-2007-02-12  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * libedataserver/e-sexp.c: (parse_value): Fix a crash.
-       Patch from Trond Myklebust. Closes bug #360017.
-
-2007-02-12  Ross Burton  <ross@openedhand.com>
-
-       * configure.in:
-       Don't use AM_PATH_ORBIT, but pkg-config (#400544).
-
-2007-02-12  Priit Laes  <plaes@svn.gnome.org>
-
-       * configure.in: Prefix wasn't set for idl files which where then
-       installed to /idl. Fixes bug #373495
-
-2007-02-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #359979, #384183
-
-       * e-msgport.c (e_msgport_wait): Behavior is now block-and-pop
-       instead of block-and-peek.  Eliminates the need for a cache.
-
-       * e-msgport.c (e_msgport_new), (e_msgport_get): Rip out the
-       cache logic, which was broken anyway.
-
-       * e-msgport.c (thread_dispatch): Adapt to new e_msgport_wait()
-       semantics, and simplify the logic.
-
-2007-01-29  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Commiting on behalf of Andreas Henriksson <andreas@fatal.se>.
-       
-       * libdb/hash/hash_open.c: Fixes the order of memset arguments.
-
-2007-01-23  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       * NEWS, configure.in: Evolution-Data-Server 1.9.6 
-       release updates.
-
-2007-01-08  Harish Krishnaswamy  <kharish@novell.com>
-
-       * src/server.c : s/g_message/printf. Do not call
-       glib methods before g_thread_init.
-
-2007-01-08  Harish Krishnaswamy  <kharish@novell.com>
-
-       * NEWS, configure.in: Evolution-Data-Server 1.9.5
-       release updates.
-
-2007-01-08  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       ** Fixes eds part of bgo #362638 - Patch submitted by Matthew
-       Barnes
-
-       * libedataserver/e-msgport.[ch]: Obsolete EThread
-       
-2006-12-18  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       * NEWS, configure.in: Evolution-Data-Server 1.9.4
-       release updates.
-
-       * camel/Makefile.am: Enable versioning for camel library
-
-2006-12-09  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-categories.c (default_categories[]): Don't use
-       E_DATA_SERVER_IMAGESDIR here, as it is a function call and not a
-       literal string on Windows.
-       (load_default_categories): Instead, construct the full image file
-       pathname at run-time.
-       
-2006-12-04  Harish Krishnaswamy  <kharish@novell.com>
-
-       * NEWS, configure.in: Evolution-Data-Server 1.9.3
-       release updates.
-
-2006-11-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       Fixes bug #353924
-
-       * libedataserver/e-categories.c (e_categories_get_list):
-       Sort categories using g_utf8_collate(), not g_ascii_strcasecmp().
-
-2006-11-06  Harish Krishnaswamy  <kharish@novell.com>
-
-       * NEWS, configure.in: Evolution-Data-Server 1.9.2
-       release updates.
-
-2006-11-06  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libedataserver/e-list-iterator.c: (e_list_iterator_new):
-       Partial fix for #358004. Ensure type correctness on the argument.
-
-2006-10-16  Harish Krishnaswamy  <kharish@novell.com>
-
-       * NEWS, configure.in: Evolution-Data-Server 1.9.1
-       release updates.
-
-2006-10-16  Matthew Barnes  <mbarnes@redhat.com>
-
-       Fixes bug #351930
-
-       * configure.in:
-       Remove EDS version from imagesdir.
-
-       * libedataserver/e-categories.c:
-       Store category information in ~/.evolution/categories.xml rather
-       than the "/apps/evolution/general/category_master_list" GConf key.
-       Streamline the code.
-
-       * libedataserver/e-categories.c: (e_categories_get_list)
-       Sort the list before returning it.
-
-       * libedataserver/e-categories.c:
-       (e_categories_get_color_for, e_categories_set_color_for,
-        e_categories_get_icon_file_for, e_categories_set_icon_file_for,
-        e_categories_is_searchable)
-       Issue a warning if the given category name does not exist.
-
-2006-10-16  Sankar P  <psankar@novell.com>
-
-       * Committed the patch made by Matthew Barnes <mbarnes@redhat.com>
-
-       * libedataserver/e-msgport.c: (msgport_sync_with_pipe),
-       (msgport_sync_with_prpipe), (e_msgport_new), (e_msgport_destroy),
-       (e_msgport_fd), (e_msgport_prfd), (e_msgport_put),
-       (e_msgport_wait), (e_msgport_get), (e_msgport_reply),
-       (e_thread_put):
-       * libedataserver/e-msgport.h:
-
-       Re-written EMsgPort.c API using GAsyncQueue 
-
-2006-10-10  Tor Lillqvist  <tml@novell.com>
-
-       * evolution-data-server-zip.in: Use BASE_VERSION in path for the
-       zoneinfo, too.
-
-2006-10-02  Harish Krishnaswamy  <kharish@novell.com>
-
-       * NEWS, configure.in: Evolution-Data-Server 1.8.1
-       release updates.
-
-2006-09-29  Ross Burton  <ross@openedhand.com>
-
-       * docs/reference/addressbook/libebook/libebook-docs.sgml:
-       Add EDestination, remove e-book-async.
-       
-       * docs/reference/addressbook/libebook/tmpl/e-address-western.sgml:
-       * docs/reference/addressbook/libebook/tmpl/e-book-async.sgml:
-       * docs/reference/addressbook/libebook/tmpl/e-book.sgml:
-       * docs/reference/addressbook/libebook/tmpl/e-contact.sgml:
-       * docs/reference/addressbook/libebook/tmpl/e-vcard.sgml:
-       * docs/reference/addressbook/libebook/tmpl/libebook-unused.sgml:
-       Add some simple docs and re-gen.
-
-2006-09-29  Ross Burton  <ross@openedhand.com>
-
-       * docs/reference/addressbook/libebook/libebook.types:
-       * docs/reference/addressbook/libebook/libebook-sections.txt:
-       Add missing symbols and merge the async methods into the EBook
-       docs (#346463)
-
-2006-09-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       Fixes #356828
-
-       * src/Makefile.am: Add a uninstall-local rule to remove
-       $(DESTDIR)$(libexecdir)/evolution-data-server-$(BASE_VERSION).
-
-2006-09-18  Matthew Barnes  <mbarnes@redhat.com>
-
-       Fixes #353478
-
-       * src/server-logging.c: (server_logging_dispose)
-       Chain up to parent's dispose() method.
-
-       * src/server-logging.c: (server_logging_finalize)
-       Chain up to parent's finalize() method.
-
-2006-09-04  Harish Krishnaswamy  <kharish@novell.com>
-
-       * NEWS, configure.in: Evolution-Data-Server 1.8.0
-       release updates.
-
-2006-09-01  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in, camel/providers/Makefile.am: 
-       Make IMAP4rev1 provider a conditional feature,
-       turned off by default. Fixes #324118.
-
-2006-08-21  Srinivasa Ragavan <sragavan@novell.com>
-
-       * configure.in, NEWS: EDS 1.7.92 release.
-
-2006-08-19  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #340417
-       * libedataserver/e-source-list.c: 
-       (e_source_list_new), (e_source_list_new_for_gconf),
-       (e_source_list_new_for_gconf_default): use get_source_list_type. 
-       (get_source_list_type): Check if the type is already registered and
-       return it.
-
-2006-08-07  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * configure.in, NEWS: EDS 1.7.91 release.
-       
-2006-08-07  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libedataserver/e-file-cache.c: (e_file_cache_set_property):
-       Do not set the filename if it is already set.
-
-2006-07-26  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       ** Fixes #343976
-       * libedataserver/e-msgport.c (e_msgport_put): Make e_msgport_put
-       symmetric to e_msgport_wait
-       Patch contributed by Ed Catmur <ed@catmur.co.uk>
-       
-2006-07-25  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in, NEWS: EDS 1.7.90.1 release.
-
-2006-07-24  Harish Krishnaswamy  <kharish@novell.com>
-
-       * NEWS, configure.in: EDS 1.7.90 release updates
-       and version, libtool numbers bumped.
-
-2006-07-21  Luca Ferretti  <elle.uca@libero.it>
-
-       * configure.in: add support for xulrunner and seamonkey (NSS and NSPR).
-       (committed by Karsten Bräckelmann)
-
-2006-07-10  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in, NEWS: EDS 1.7.4 release updates
-       and version, libtool numbers bumped.
-
-2006-07-10  Frederic Peters <fpeters@entrouvert.com>
-
-       * *.pc.in: defined @datarootdir@. Fixes #344596.
-
-2006-07-08  Chenthill Palanisamy  <pchenthill@novell.com>
-       
-       Fixes #335692
-       * libedataserver/e-iterator.c (e_iterator_is_valid):
-       Added a NULL check.
-
-2006-06-16  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-msgport.c: Rename the E_IS_SELECT_STATUS_INTR()
-       portability macro to E_IS_STATUS_INTR() as it isn't spefic to
-       select().
-       (e_msgport_put, e_msgport_wait, e_msgport_get): Use
-       E_IS_STATUS_INTR() instead of looking at errno directly. On Win32
-       the socket functions don't touch errno. (And there is no EINTR
-       style error possible in WinSock 2 anyway, according to MSDN.)
-       
-2006-06-15  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Add AM_CONDITIONAL for SUNLDAP (as always false)
-       also to the Win32 branch of the if statement, to avoid error
-       message when running the configure script.
-
-2006-06-13  Andre Klapper <a9016009@gmx.de>
-
-       * src/server.c:
-       changing "couldn't", "can't" and "didn't" to proper
-       English. Fixes bug #342160.
-
-2006-06-12  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in, NEWS: EDS 1.7.3 release updates
-       and version, libtool numbers bumped.
-       
-2006-06-12  simon.zheng  <simon.zheng@sun.com>
-
-       Fix for #336453
-       * acinclude.m4:
-       * configure.in:
-       Add SunLDAP library support - a variant of Netscape LDAP.
-
-2006-06-07  Frederic Peters  <fpeters@0d.be>
-
-       * configure.in: Assume strftime() is ok and supports %l and %k when
-       running in cross-compilation mode.
-
-2006-06-02  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Catch more failure modes of strftime() when
-       presented with conversion specifications %l and %k: On Windows,
-       these just do nothing, you don't get a 'l' or 'k' in the result,
-       which was all we used to test for here. Catch also if strftime()
-       does nothing at all when presented with a format containing
-       unsupported conversion specifications.
-
-       * libedataserver/e-data-server-util.c (e_strftime): The Microsoft
-       strftime() doesn't have %e either.
-
-2006-06-01  Jeffrey Stedfast  <fejj@novell.com>
-
-       * libedataserver/e-msgport.c (e_msgport_get): Loop the reads
-       checking errno for EINTR.
-       (e_msgport_put): Loop the writes checking for EINTR. Also, instead
-       of writing a nul-char, write 'E' as suggested by Michael Meeks for
-       easier strace debugging purposes.
-
-2006-05-31  Jeffrey Stedfast  <fejj@novell.com>
-
-       Hopeful fix for Novell bug #176277
-
-       * libedataserver/e-msgport.c: Changed the structure of EMsgPort
-       slightly to make ::prpipe a union more like ::pipe.
-       (e_pipe): For convenience, on error set the fds each to -1.
-       (e_prpipe): New convenience function much like e_pipe but for
-       PRFileDescs.
-       (e_msgport_new): Always create the pipes here now instead of
-       creating them on demand.
-       (e_msgport_fd): Simply return the pipe fd (no longer creates the
-       pipe on demand).
-       (e_msgport_prfd): Same.
-
-2006-05-24  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * configure.in: Added gnome-vfs-2.0 to camel library
-
-2006-05-24  Ross Burton  <ross@burtonini.com>
-
-       * docs/reference/addressbook/libebook/tmpl/e-book-view-listener.sgml:
-       * docs/reference/addressbook/libebook/tmpl/e-book-view.sgml:
-       * docs/reference/addressbook/libebook/tmpl/e-book.sgml:
-       Update for doc changes.
-
-2006-05-22  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in: Update intltool requirements.
-       
-2006-05-18  Devashish Shamra  <sdevashish@novell.com>
-
-       * libedataserver/e-dbhash.c (e_dbhash_new) :If there is an error in opening the
-       database delete the DB structure.
-       Patch by Ross Burton  <ross@openedhand.com>
-       Fixes Bug #340039.
-
-2006-05-15  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in: Append -DLDAP_DEPRECATED to LDAP_CFLAGS and
-       do not overwrite the value. Fixes a bug introduced by the previous
-       commit.
-       
-2006-05-10  Harish Krishnaswamy  <kharish@novell.com>
-
-       * addressbook/libebook/libebook.pc.in, 
-       addressbook/libedata-book/libedata-book.pc.in,
-       calendar/libecal/libecal.pc.in,
-       calendar/libedata-cal/libedata-cal.pc.in,
-       configure.in, evolution-data-server.pc.in,
-       libedataserver/libedataserver.pc.in, 
-       servers/groupwise/libegroupwise.pc.in: Remove extra space following -I which
-       is not kind to Tru64 Unix C compilers. Patch suggested by the Written Word.
-       Fixes #271839.
-
-2006-05-09  Ross Burton  <ross@openedhand.com>
-
-       * libedataserver/e-data-server-module.h:
-       * libedataserver/e-data-server-module.c:
-       Allow EDataServerModule to remove unused modules (#319396).
-
-2006-05-02  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * configure.in: Patch from Sushuma Rai to fix build with
-       modern openldap versions. Closes part of bug #325957.
-
-2006-04-25  Brian Pepple  <bdpepple@gmail.com>
-
-       * po/LINGUAS: New file listing all supported languages.
-
-       * configure.in: Use po/LINGUAS instead of including all languages
-       directly in this file. See the wiki for more information:
-       http://live.gnome.org/GnomeGoals/PoLinguas
-
-2006-04-25  Jeffrey Stedfast  <fejj@novell.com>
-
-       * configure.in: Figure out auto-magically what the mozilla-nss
-       pkg-config module name is.
-
-2006-04-24  Harish Krishnaswamy  <kharish@novell.com>
-
-       * NEWS, configure.in: Release updates. Bump version.
-       ***** Release 1.7.1 *****
-
-2006-04-24  Devashish Sharma  <sdevashish@novell.com>
-
-       * configure.in : Added a configure time switch to support dynamic
-       linking with libdb. The default is static linking and by using the
-       switch --with-libdb=prefix dynamic linking with libdb can be
-       enabled.
-       Patch by Ross Burton  <ross@burtonini.com>
-       
-2006-04-18  Jeffrey Stedfast  <fejj@novell.com>
-
-       * configure.in: Added the Mail Directory configure info.
-
-2006-04-17  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * configure.in: Remove obsolete entry for no_NO.
-
-2006-04-10  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-time-utils.c (get_locale_string)
-       (translate_picture): New Win32-only helper functions.
-       (__strptime_internal): Add Win32 love to fix a Win32-specific bug
-       in calendar reported by Thierry Dubois.
-
-2006-03-29  Jeffrey Stedfast  <fejj@novell.com>
-
-       * configure.in (LARGEFILE_CFLAGS): new configure checks to #define
-       O_LARGEFILE if not present and to set other required CFLAGS for
-       large file support.
-
-2006-03-23  Chenthill Palanisamy  <pchenthill@novell.com>
-       
-       Fixes #334807
-       * libedataserver/e-source-group.c: Check if the 
-       object is created before accessing it.
-       
-2006-03-22  Tommi Vainikainen  <thv@iki.fi>
-
-       * configure.in (ALL_LINGUAS): Added Dzongkha (dz).
-
-2006-03-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * configure.in: Added support for gnome-key-ring.
-
-2006-03-02  Devashish Sharma <sdevashish@novell.com>
-
-       Fixes #303046
-       * libedataserverui/e-name-selector-dialog.c:
-       (e_name_selector_dialog_init): Select contacts from address book 
-       screen doesn't use current contact source
-
-2006-02-27  Srinivasa Ragavan <sragavan@novell.com>
-
-       * configure.in, NEWS: Release updates. Bump version.
-       ***** Release 1.5.92 *****
-       
-2006-02-27  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-data-server-util.c: The fixed Win32 versions of
-       g_rename() and g_stat() have been in GLib since GLib 2.8.5, so
-let's drop them from here.
-
-2006-02-24  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #332318 #329356
-       * libedataserver/e-time-utils.c: (e_time_parse_date): Added the format
-       %x for representing the date for current locale.
-
-2006-02-13  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in, NEWS: Release updates. Bump version.
-       ***** Release 1.5.91 *****
-
-2006-02-09  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * libedataserver/e-categories.c: (cleanup_at_exit): Don't
-       call g_source_remove() when source id is 0. Closes bug #327413.
-
-2006-02-09  Sushma Rai  <rsushma@novell.com>
-
-       * libedataserver/e-source-list.c (e_source_list_is_gconf_updated):
-       Fixed some memory leaks. See #329251.
-
-2006-02-09  Sushma Rai  <rsushma@novell.com>
-
-       * libedataserver/e-categories.c (initialize_categories_config): Freeing
-       xml properties. See #309316.
-
-2006-02-06  Harish Krishnaswamy  <kharish@novell.com>
-
-       * evolution-data-server.pc.in: Add variable execversion
-       that denotes the version of the evolution-data-server
-       executable.
-
-2006-02-04  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * configure.in: Added 'th' (Thai) to ALL_LINGUAS.
-
-2006-02-02  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Don't use getadrinfo() etc on Windows, as they are
-       present on XP only. Windows 2000 is still widespread.
-
-2006-01-30  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in, NEWS: Release updates, bump version
-       ***** Release 1.5.90 *****
-
-2006-01-30  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libedataserver/e-data-server-module.c:
-       (e_data_server_module_add_type):
-       * libedataserver/e-data-server-module.h:
-       Reverting the previous commit as it breaks the API freeze.
-       Shall get this in HEAD as soon as we branch out.
-
-2006-01-30  Ross Burton  <ross@openedhand.com>
-
-       * libedataserver/e-data-server-module.c:
-       * libedataserver/e-data-server-module.h:
-       Add e_data_server_remove_unused() to release unused modules
-       (#319396).
-
-2006-01-21  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>
-
-       * configure.in: add "zh_HK" to ALL_LINGUAS.
-       
-2006-01-17  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in, NEWS: Release updates, bump version
-       libtool numbers.
-       ***** Release 1.5.5 *****
-
-2006-01-16  P S Chakravarthi <pchakravarthi@novell.com>
-
-       * libedataserver/e-source-list.[ch] : added a function called
-       e_source_list_is_gconf_updated () which returns a boolean indicating
-       whether or not a given ESourceList instance is in sync with its
-       corresponding gconf xml or not.
-       e_source_list_sync () : added an if clause that uses the above
-       function before updating the gconf.
-
-2006-01-16  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in : Add target for CALDAV calendar
-       backend.
-
-2006-01-12  Harish Krishnaswamy  <kharish@novell.com>
-
-       * src/GNOME_Evolution_DataServer.server.in.in:
-       * src/server.c:
-       The Cal and Book Factory oafids should reflect
-       the API version rather than the BASE version.
-       Fixes #323115.
-
-2006-01-10  Simon Zheng  <simon.zheng@sun.com>
-
-       * docs/reference/camel/camel-sections.txt:
-       * docs/reference/camel/tmpl/camel-file-utils.sgml:
-       Detele the function camel_mkdir description.
-       
-       * libedataserver/e-data-server-util.h: Rename e-util.h as this 
-       file.
-
-       * libedataserver/e-data-server-util.c: Rename e-util.c as this
-       file.
-
-       (e_util_mkdir_hier):Merge the change
-       of evolution/e-util/e-util.c (e_mkdir_hier) into this copy.
-
-       (e_strftime):Merge the change of evolution/e-util/e-util.c into
-       this copy.
-
-       * libedataserver/Makefile.am:
-       * libedataserver/e-file-cache.c:
-       * libedataserver/e-msgport.c:
-       * libedataserver/e-time-utils.c:
-       * src/server.c: 
-       Replace e-util.h as e-data-server-util.h, and replace e-util.c as
-       e-data-server-util.c.
-
-2006-01-08  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Define _WIN32_WINNT as 0x501 in the config.h on
-       Win32 to get freeaddrinfo(), getaddrinfo() and getnameinfo()
-       declarations with current mingw w32api headers.
-
-2006-01-06  Simon Zheng  <Simon.Zheng@sun.com>
-       * libedataserver/e-account-list.c: Since e-util/e-account-list.c 
-       in evolution module has been developed further, merge those 
-       changes into libedataserver and drop e-util/e-account-list.c.
-       libedataserver/e-account-list.h: Since e-util/e-account-list.h in
-       evolution module has been developed further, merge those changes 
-       into libedataserver and drop e-util/e-account-list.h.
-       libedataserver/e-account.c: Since e-util/e-account.c in
-       evolution module has been developed further, merge those changes 
-       into libedataserver and drop e-util/e-account.c.
-       libedataserver/e-account.h: Since e-util/e-account.h in
-       evolution module has been developed further, merge those changes 
-       into libedataserver and drop e-util/e-account.h.
-
-2006-01-04  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-util.c (e_util_replace_prefix): As this
-       (Win32-only) function is called from evo, too, it needs a third
-       argument, the configure time prefix that it should replace,
-       instead of harcoding e-d-s's one. (Assuming e-d-s and evo are
-       configured with different temporary dirs as prefix, which is the
-       recommended way.)
-
-       * libedataserver/e-util.h: Update declaration correspondingly.
-
-       * src/server.c (libdir): Modify calls correspondingly.
-
-2006-01-02  Harish Krishnaswamy  <kharish@novell.com>
-
-       * NEWS, configure.in: Release updates, bump version
-       libtool numbers.
-       ***** Release 1.5.4 *****
-
-2005-12-13  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-uid.c (e_uid_new): Use g_get_host_name() when
-       building against GLib >= 2.8, not just on Win32.
-
-2005-12-12  Harish Krishnaswamy  <kharish@novell.com>
-
-       * NEWS, configure.in: Release updates, bump version
-       libtool numbers.
-       ***** Release 1.5.3 *****
-
-2005-12-09  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-msgport.c: Add some socket API wrappers to hide
-       Unix/Winsock differences.
-
-       Use separate flag fields to indicate whether we have a thread or
-       not in the EThread and EMutex structs. There is no portable way to
-       check a pthread_t for uninitializedness. Remove the E_THREAD_NONE
-       magic constant.
-
-       The portable way to check two pthread_t values for equality is
-       pthread_equal().
-
-       Use e_util_pthread_id() to get an "id" for the thread in debugging
-       output.
-       
-       (e_pipe): New function, Win32 only. Creates a connected TCP socket
-       pair. Should have this in GLib, I guess. This code snippet is
-       essentially duplicated in
-       ORBit2/linc/src/linc-compat.c:link_pipe() and at least one other
-       place I don't recall now.
-
-       (e_msgport_prfd): Use PR_NewTCPSocketPair() instead of
-       PR_CreatePipe() on Win32, as we want sockets, not a pipe (file
-       descriptors).
-
-       * libedataserver/e-util.c (e_util_mkdir_hier): When building
-       against GLib 2.8, use g_mkdir_with_parents().
-       (e_util_utf8_strcasecmp): New function. Casefolds two UTF-8
-       strings, then does a linguistically correct comparison using
-       g_utf8_collate().
-       (e_filename_make_safe): New function, move here from
-       evolution/e-util/e-util.c.
-       (g_rename, g_stat): Win32-only fixed versions of these GLib
-       functions, just until the next GLib version including the same
-       fixes is out. This version of g_rename() overwrites existing
-       files, and this version of g_stat() strips trailing insignificant
-       slashes.
-
-       * libedataserver/e-util.h: Declare the new functions.
-
-2005-12-08  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-db3-utils.c
-       * libedataserver/e-file-cache.c: Use gstdio wrappers.
-
-       * libedataserver/e-source.c (e_source_build_absolute_uri): Don't
-       use G_DIR_SEPARATOR or g_build_filename() to manipulate URIs. URIs
-       always use slashes, not platform-dependent separators.
-       (e_source_set_name): Compare the strings, not the pointers.
-
-       * libedataserver/e-source-group.c (e_source_group_set_name):
-       Compare the strings, not the pointers.
-
-       * libedataserver/e-xml-utils.c
-       * libedataserver/e-xml-utils.h: New files.
-       (e_xml_parse_file): Replacement for xmlParseFile(). Needed because
-       the file names we handle on Win32 are in UTF-8, which libxml2
-       doesn't grok. So, when using GLib 2.8, we map the file with the
-       GMappedFile API and use xmlParseMemory(). When built against older
-       GLibs (which doesn't happen on Win32), just use xmlParseFile().
-       (e_xml_save_file, e_xml_get_child_by_name): Moved from Evolution's
-       e-xml-utils.c. Presumably should move all the rest of the
-       functions from there, too.
-
-       * libedataserver/Makefile.am: Add the new files. Install
-       e-xml-utils.h.
-
-       * libedataserver/e-xml-hash-utils.c: Use e_xml_parse_file() and
-       e_xml_save_file(). As e_xml_save_file() does the very careful
-       saving using a temporary filename and then rename, don't need to
-       that here.
-
-2005-12-07  Irene Huang <Irene.Huang@sun.com>
-
-       Fix for #323349.
-
-       * configure.in: Change iconv_open ("UTF-8", "ISO_8859-1") 
-       to iconv_open ("UTF-8", "ISO-8859-1") to avoid build error
-       on solaris.
-       
-2005-12-07  Tor Lillqvist  <tml@novell.com>
-
-       * libdb/dbinc/db_int.in: As we are using this file (and not the
-       prebuilt one in libdb/build_win32/db_int.h) when building using
-       autofoo on Win32, need to have the correct PATH_SEPARATOR for
-       Win32, too. Add ifdef.
-
-       * libdb/os_win32/os_open.c (__os_open): When using a
-       user-registered open function to open the file (and not
-       CreateFile()), we still need to set the DB_FH::handle, too, as all
-       the other stuff in libdb/os_win32 assumes it is correctly set
-       up. On Win32, addressbook/backends/file needs to register an own
-       open function (that uses g_open()) as the pathnames e-d-s handles
-       on Win32 are in the GLib encoding (i.e., UTF-8) and not the system
-       codepage that CreateFile() wants.
-
-2005-12-06  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Set LIBEXECDIR_IN_SERVER_FILE to libexecdir on
-       Unix. On Win32, set it to a path relative from lib/bonobo/servers.
-       
-       * src/GNOME_Evolution_DataServer.server.in.in: Use
-       LIBEXECDIR_IN_SERVER_FILE here. We don't want absolute
-       compile-time paths in the .server file on Win32. libbonobo on
-       Win32 interprets relative location paths to exes or shlibs as
-       being relative to the directory where the .server file was found.
-       This makes the .server file point to the correct executable
-       regardless of where e-d-s is installed on the end-user machine.
-
-2005-12-02  Tor Lillqvist  <tml@novell.com>
-
-       * src/GNOME_Evolution_DataServer.server.in.in: Add missing dash in
-       the executable file's name in the InterfaceCheck location.
-
-       * evolution-data-server-zip.in: New file, a script used to build a
-       Win32 zipfile distribution of E-D-S. (End users will not be
-       expected to install from zipfiles, they would be for power users
-       and developers only.)
-
-       * Makefile.am
-       * configure.in: Distribute and expand it.
-
-2005-12-01  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       reviewed by Srinivasa Ragavan  <sragavan@novell.com>
-       
-       * libedataserver/e-uid.c: (e_uid_new): Use the functions
-       defined in glib -2.8 only for win32 as it fails to build
-       for OS which has glib 2.4.
-
-2005-12-01  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-util.c (e_util_pthread_id): Fix silly bug in
-       the ifdef section for "uncommon" platforms. Thanks to Ross Burton for
-       noticing.
-
-2005-11-25  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-categories.c (add_category_if_not_present):
-       Drop unused static function.
-       (e_categories_add_relative): New function. Form the pathname to
-       the icon file at run-time (for installability in freely chosen
-       location on Windows).
-       (initialize_categories_config): Call e_categories_add_relative()
-       with just the basename of the icon files.
-       
-       * libedataserver/e-data-server-module.c
-       (e_data_server_module_init): Include libedataserver-private.h to
-       get redefinition of E_DATA_SERVER_EXTENSIONDIR (for run-time
-       pathname construction) on Windows.
-
-       * libedataserver/e-time-utils.c: Include strptime() implementation
-       lifted from glibc for portability. Use it unless
-       HAVE_STRPTIME. Make it local for this file, though.
-
-       * libedataserver/e-uid.c (e_uid_new): Use g_get_host_name() from
-       GLib 2.8 instead of gethostname().
-
-       * libedataserver/e-url.c (e_uri_new): Use g_ascii_strncasecmp()
-       instead of strncasecmp() for portability.
-
-       * libedataserver/e-util.c: Implement install-anywhere machinery
-       for Win32.
-       (DllMain): Minimal DllMain that just tucks away the handle to the
-       DLL.
-       (_libedataserver_get_extensiondir, _libedataserver_get_imagesdir,
-       _libedataserver_get_ui_gladedir): Functions private to e-d-s.
-       (e_util_get_prefix, e_util_get_cp_prefix, e_util_get_localedir,
-       e_util_replace_prefix): Functions intended also for Evolution. We
-       assume e-d-s and evo are installed in the same folder on the
-       end-user machine.
-       
-       * libedataserver/e-util.h: Declare the above new public Win32-only
-       functions.
-
-       * libedataserver/libedataserver-private.h: New file. Declares so
-       far some Win32-only functionality, to be used in various parts of
-       e-d-s.
-
-       * libedataserver/md5-utils.c (md5_get_digest_from_file): Use
-       gstdio wrappers for better non-ASCII filename support on
-       Win32. Open file in binary mode. Don't use sizeof(guchar), it
-       won't be different than 1 in this universe. Do use sizeof(tmp_buf)
-       instead of hardcoding 1024. Drop leftover debugging printouts.
-
-       * libedataserver/Makefile.am: Add libedataserver-private.h. Pass
-       more configure-time pathname definitions (as used elsewhere in
-       e-d-s) in INCLUDES so that they can be recognized and changed at
-       run-time to end-user machine installation paths on Win32.
-
-       * src/server.c: No segv handling on Win32. Run-time path
-       construction for the PREFIX, SYSCONFDIR, DATADIR and LIBDIR used
-       in GNOME_PROGRAM_STANDARD_PROPERTIES which is passed to
-       gnome_program_init().
-
-2005-11-18  Ross Burton  <ross@burtonini.com>
-
-       * libedataserver/md5-utils.c:
-       * libedataserver/e-component-listener.c:
-       Fix build.
-
-2005-11-17  Ross Burton  <ross@burtonini.com>
-
-       * libedataserver/md5-utils.c:
-       * libedataserver/md5-utils.h:
-       Don't do byte order checks at runtime but use the GLib
-       G_BYTE_ORDER macro (#319592)
-
-2005-11-17  Ross Burton  <ross@burtonini.com>
-
-       * libedataserver/e-account-list.c:
-       * libedataserver/e-account.c:
-       * libedataserver/e-component-listener.c:
-       * libedataserver/e-file-cache.c:
-       * libedataserver/e-iterator.c:
-       * libedataserver/e-list-iterator.c:
-       * libedataserver/e-list.c:
-       * libedataserver/e-sexp.c:
-       * libedataserver/e-source-group.c:
-       * libedataserver/e-source-list.c:
-       * libedataserver/e-source.c:
-       Use G_DEFINE_TYPE and add some more const keywords (#319591)
-
-2005-11-15  Ross Burton  <ross@burtonini.com>
-
-       * libedataserver/e-data-server-module.c
-       Use lazy bindings (#321515)
-
-2005-11-14  Harish Krishnaswamy  <kharish@novell.com>
-
-       * NEWS, configure.in: Release updates, bump version.
-       ***** Release 1.5.2 *****
-
-2005-10-28  Erdal Ronahi  <erdal.ronahi@gmail.com>
-
-       * configure.in: Added ku (Kurdish) to ALL_LINGUAS
-
-2005-10-28  Sushma Rai  <rsushma@novell.com>
-
-       * libedataserver/e-categories.c (initialize_categories_config): Add
-       default categories only if the category list is empty in gconf, so that
-       we don't bring back the deleted category from the default list
-       every time. Fixes #273905.
-
-2005-10-26  Harish Krishnaswamy  <kharish@novell.com>
-
-       * src/GNOME_Evolution_DataServer.server.in.in:
-       Fixed bonobo server install locations as well.
-       (See below.)
-
-2005-10-25  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in: Update version, libtool numbers.
-       *** Release 1.5.1 ***
-       * src/Makefile.am : Fixed the executable installation
-       error in the previous patch. Executable installed in
-       libexecdir - not under evolution-data-server-$(API_VERSION).
-
-2005-10-24  Irene Huang <Irene.Huang@sun.com>
-
-       * configure.in: Add API_VERSION to EVO_SUBST_SERVER_RULE
-       * src/GNOME_Evolution_DataServer.server.in.in: Change location
-       of OAFIID:GNOME_Evolution_DataServer_BookFactory:@VERSION@,
-       OAFIID:GNOME_Evolution_DataServer_CalFactory:@VERSION@,
-       OAFIID:GNOME_Evolution_DataServer_InterfaceCheck,
-       OAFIID:GNOME_Evolution_DataServer_Logging from
-       @LIBEXECDIR@/evolution-data-server-@VERSION@@EXEEXT@ to
-       @LIBEXECDIR@/evolution-data-server-@API_VERSION@/evolution-
-       data-server-@VERSION@@EXEEXT@.
-       * src/Makefile.am: In section install-evolution-data-servers:
-       change to $(mkinstalldirs) $(DESTDIR)$(libexecdir)/evolution-
-       data-server-$(API_VERSION)
-       $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) evolution-data-server
-       $(DESTDIR)$(libexecdir)/evolution-data-server-$(API_VERSION)/
-       evolution-data-server-$(BASE_VERSION)
-
-2005-10-17  Ross Burton  <ross@burtonini.com>
-
-       * configure.in:
-       Change UTF-8 check from ISO-2022-JP to ISO-8859-1 (#317451).
-
-2005-10-14  Ross Burton  <ross@burtonini.com>
-
-       * configure.in: Remove unused dependencies from the pkg-config
-       calls and add E_FACTORY_CFLAGS/_LIBS.
-
-       * src/Makefile.am: Use E_FACTORY_*.
-
-       * libedataserver/e-sexp.c:
-       * libedataserver/test-source-list.c:
-       Don't use libgnome when GTK+ or GLib will do.
-
-       * libedataserver/libedataserver.pc.in:
-       Fix strings, update libraries.
-
-2005-09-17  Andre Klapper  <a9016009@gmx.de>
-
-       Fixes #273149.
-       * libedataserver/e-categories.c: adding translator comment for
-       "hot contacts".
-
-2005-09-16  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-iconv.c (e_iconv_charset_language): Use
-       g_ascii_strcasecmp() instead of strcasecmp(). The strings we are
-       comparing are just ASCII anyway, so spell it out that we really do
-       need ASCII casefolding only.
-
-2005-09-15  Tor Lillqvist  <tml@novell.com>
-
-       * acinclude.m4 (EVO_PTHREAD_CHECK): Check if pthread_t is an
-       integral type (or pointer) that can be cast to a guint64 without
-       loss of precision. If so, AC_DEFINE HAVE_GUINT64_CASTABLE_PTHREAD_T.
-
-       * configure.in: Move the EVO_PTHREAD_CHECK call after GLIB_CFLAGS
-       has been set up.
-
-       * libedataserver/e-util.c: Just include <glib.h> instead of a
-       random set of <glib/*.h>. Remove large amount of whitespcace on
-       some empty lines.
-       (e_util_utf8_strstrcase): Clarify doc comment, mention that no
-       proper Unicode case folding or normalization is done.
-       (e_util_pthread_id): New function, returns an integer representing
-       a thread. Only for debugging output and logging purposes, cannot
-       be guaranteed to be consistent on all platforms.
-
-       * libedataserver/e-util.h: Include <pthread.h>. Declare
-       e_util_pthread_id().
-
-2005-09-14  Tor Lillqvist  <tml@novell.com>
-
-       * win32/README
-       * win32/Makefile.am
-       * win32/dummy.la
-       * win32/libedataserverui.def: New files. Bootstrap import library
-       for libedataserverui. Needed in servers/exchange/storage where
-       libexchange-storage-1.2.la links to libedataserverui before it has
-       been built.
-
-       * configure.in: Add -ldnsapi to SOCKET_LIBS on Win32. Always
-       enable LDAP and Exchange on Win32, don't need to test. AC_OUTPUT
-       also win32/Makefile.
-
-       * Makefile.am: Add win32 to SUBDIRS.
-
-2005-09-01  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * confugure.in : Add API_VERSION to config.h
-
-2005-08-29  Harish Krishnaswamy <kharish@novell.com>
-       
-       * configure.in : Update release number to 2.4.0
-
-2005-08-26  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * configure.in: Do not build camel docs.
-       * docs/reference/Makefile.am: Removed camel docs. 
-       reviewed by Parthasarathi Susarla <sparthasarathi@novell.com>
-
-2005-08-22  Not Zed  <NotZed@Ximian.com>
-
-       * libedataserver/e-xml-hash-utils.c (e_xmlhash_foreach_key): cast
-       the func to remove a warning.
-
-2005-08-22  Harish Krishnaswamy <kharish@novell.com>
-
-       * configure.in : bump version
-       ***** Release 1.3.8  *****
-
-2005-08-22  Harish Krishnaswamy <kharish@novell.com>
-       
-       * docs/reference/Makefile.am : enable libedataserver docs
-       * libedataserver/e-sexp.h, docs/reference/libedataserver
-       /libedataserver-sections.txt: Fix build issues - patch 
-       contributed by Tor Lillqvist  <tml@novell.com>
-       
-2005-08-22  Shreyas Srinivasan  <sshreyas@novell.com>
-
-       * configure.in: Build camel-docs.
-       * docs/reference/Makefile.am: Build camel-docs.
-       
-2005-08-21  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * libedataserver/e-xml-hash-utils.[ch]:
-       (e_xmlhash_foreach_key_remove): function to remove
-       hash keys.
-       Committing for Armin Bauer  <armin.bauer@desscon.com>
-       and modified by <jmubeen@novell.com> and
-       <vvaradhan@novell.com>.
-
-2005-08-19  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * configure.in : Add the check for NTLM support in OpenLDAP. This
-       is needed for enabling the Exchange support in e-d-s.
-
-2005-08-19  Harish Krishnaswamy <kharish@novell.com>
-
-       * configure.in : Build libedataserver api docs
-
-2005-08-18  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/e-iconv.c (e_iconv_init): Sync with the version
-       in evolution/e-util: Use g_win32_getlocale() and g_get_charset()
-       on Win32. (Why is this file duplicated in e-d-s and evo, BTW?)
-
-2005-08-13  Tor Lillqvist  <tml@novell.com>
-
-       * libedataserver/Makefile.am: Link with SOCKET_LIBS. Use
-       NO_UNDEFINED.
-
-       * src/Makefile.am (INCLUDES): Remove stray trailing slashes from
-       some -I options.
-
-2005-08-08  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in: Update version, libtool numbers.
-       
-       *****Release 1.3.7*****
-
-2005-08-05  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in: fix for bug #300048. patch
-       submitted by Roland Illig <roland.illig@gmx.de>
-
-2005-07-30  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in: update libtool numbers for libebook
-
-2005-07-29  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in: Bump version number
-       
-       *****Release 1.3.6.1***** includes fix for
-       #311731 - (Removing folders from an IMAP) 
-       
-
-2005-07-28  Tor Lillqvist  <tml@novell.com>
-
-       * src/GNOME_Evolution_DataServer.server.in.in: Use EXEEXT.
-
-2005-07-26  Harish Krishnaswamy <kharish@novell.com>
-       
-       * configure.in : bump version
-       ****** Release 1.3.6 *****
-
-2005-07-21  Joe Shaw  <joeshaw@novell.com>
-
-       * libedataserver/e-source-group.c:
-       * libedataserver/e-source-list.c:
-       * libedataserver/e-source.c: Change the init and class_init
-       functions to contain the whole class name for the benefit of the
-       gtk-sharp parser.
-
-2005-07-20  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Enable building with Mozilla nspr and nss on
-       Win32. No -ldl on Win32. No import library for softokn3.dll.
-
-2005-07-14  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * configure.in : Substituting the CURRENT:REVISION:AGE variables for 
-       library versions
-
-2005-07-12  Harish Krishnaswamy  <kharish@novell.com>
-       
-       * configure.in : bump version, libtool numbers.
-       ***** Release 1.3.5 *****
-
-2005-07-06  Ross Burton  <ross@openedhand.com>
-
-       * libedataserver/e-util.c:
-       Remove a function and table which is in GLib.
-
-2005-07-06  Harish Krishnaswamy  <kharish@novell.com>
-       
-       * configure.in : align the name of the LIBEXCHANGE_STORAGE
-        to the conventions (_ instead of -).
-
-2005-07-02  Harish Krishnaswamy  <kharish@novell.com>
-       
-       * configure.in : bump version, libtool numbers.
-
-2005-07-02  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libedataserver/e-categories.c: (initialize_categories_config):
-       Fix all the compiler warnings.
-
-2005-06-22  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Don't check locking on Win32. Add gnome-vfs-2.0 o
-       E_DATA_SERVER_DEPS. Add gobject-2.0 to CAMEL deps. Substitute also
-       EXEEXT in EVO_SUBST_SERVER_RULE.
-
-2005-06-12  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * servers/Makefile.am : use ENABLE_LDAP instead of HAVE_LDAP
-       * configure.in : And rename HAVE_KRB5 to ENABLE_KRB5.
-
-2005-06-12  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * configure.in : Print the status for Exchange support being present.
-       * servers/Makefile.am : Build Exchange only if LDAP is enabled.
-
-2005-06-11  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * configure.in : Fixed a minor typo to fix make clean.
-
-2005-06-10  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * configure.in : Added the Exchange server communication code to
-       servers directory. Also enabled a HAVE_KRB5 automake conditional.
-       * servers/Makefile.am : Now build exchange as well.
-
-2005-06-09  Harish Krishnaswamy <kharish@novell.com>
-
-       * configure.in : Do not build camel docs. They are borked now :(
-
-2005-06-07  Harish Krishnaswamy <kharish@novell.com>
-
-       * configure.in : bump version, libtool numbers.
-
-2005-05-31  Rodrigo Moya <rodrigo@novell.com>
-
-       * src/GNOME_Evolution_DataServer.server.in.in: added missing
-       names for CORBA services.
-
-2005-05-28  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * configure.in: Disable the libedataserver api docs build
-       * docs/reference/Makefile.am: Here too. It doesn't build.
-
-2005-05-24  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Define NO_UNDEFINED as -no-undefined and
-       SOCKET_LIBS as -lws2_32 (the WinSock2 library) on Win32. AC_SUBST
-       them. Check for strtok_r. Add gobject-2.0 to
-       EVOLUTION_ADDRESSBOOK_DEPS and EVOLUTION_CALENDAR_DEPS.
-       
-2005-05-24  Tor Lillqvist  <tml@novell.com>
-
-       Make libdb as included in e-d-s build on Win32 with mingw. (The
-       official build setup for libdb uses MSVC.)
-
-       * libdb/dist/Makefile.in: Use EXEEXT for Win32 portability. Use
-       the MAKEFILE_MAYBE_WIN32 variable (which configure.ac sets to
-       empty on Unix, "_win32" on Win32) to use those source files that
-       have an own copy in os_win32 from there.
-
-       * libdb/dist/config.hin: Add DB_WIN32 flag. Insert stuff from the
-       libdb/build_win32_db_config.h file.
-
-       * libdb/dist/configure.ac: Changes for mingw builds. AC_SUBST some
-       more variables.
-
-       * libdb/dist/configure: Manually make corresponding changes as in
-       configure.ac. (Yuck! But we don't run autogen in libdb/dost, so
-       what else to do?)
-
-       * libdb/os_win32/os_type.c: Include db_int_def.h here, too.
-
-2005-05-19  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Check for regexec in a separate -lregex. Add
-       gmodule to CAMEL_CFLAGS and _LIBS, as camel uses gmodule,
-       too. Don't bother mentioning glib as gthread and gmodule drag in
-       it automatically.
-
-2005-05-18  Harish Krishnaswamy <kharish@novell.com>
-
-       * configure.in : bump version, libtool numbers. 
-
-2005-05-18  Harish Krishnaswamy <kharish@novell.com>
-
-       * docs/reference/Makefile.am : Do not build 
-       camel docs.  They are a bit flaky ATM.
-
-2005-05-13  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedataserver/e-categories.c (add_category_if_present): new private
-       function to create standard categories if they don't exist.
-       (initialize_categories_config): make sure, in all cases, that our
-       standard categories are available.
-
-2005-05-13  Shreyas Srinivasan  <sshreyas@novell.com>
-
-       * libedataserver/e-categories.c: Add new Anniversary category, 
-       Fixes #256874
-       
-2005-05-13  Harish Krishnaswamy  <kharish@novell.com>
-       
-       * configure.in: export LIBSOUP for use elsewhere.
-
-2005-05-06  Tor Lillqvist  <tml@novell.com>
-
-       * configure.in: Check for Win32 (mingw), set Automake
-       conditional. Move the libtool stuff a bit earlier so that $host
-       gets set early and can be checked in a more logical place. Check
-       for some more headers and functions. Use gobject-2.0 instead of
-       glib-2.0 in E_DATA_SERVER_DEPS as the libs we build do depend on
-       gobject. Check for libsoup-2.4 first, as that is what HEAD libsoup
-       calls its .pc file. On Win32, copy the libtool generated here to
-       libdb/dist.
-       
-2005-05-05  Veerapuram Varadhan <vvaradhan@novell.com>
-
-       * configure.in: Added "docs/reference/calendar/libedata-cal".
-       
-2005-05-04  Rodrigo Moya <rodrigo@novell.com>
-
-       * configure.in:
-       * docs/reference/calendar/Makefile.am:
-       * docs/reference/calendar/libedata-cal/*: added gtk-doc setup for
-       libedata-cal.
-
-       * docs/reference/libedataserver/libedataserver-docs.sgml: added missing
-       files.
-
-2005-05-04  Rodrigo Moya <rodrigo@novell.com>
-
-       * docs/reference/calendar/*: improved API documentation.
-
-2005-04-26  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in:  bump version, libtool numbers.
-
-2005-04-25  Harish Krishnaswamy  <kharish@novell.com>
-
-       * configure.in: Modify camelproviderdir to use API_VERSION.
-       * evolution-data-server.pc.in: use VERSION instead of API_VERSION.
-
-2005-04-20  Ross Burton  <ross@burtonini.com>
-
-       * src/offline-listener.c:
-       Remove an usused variable.
-
-2005-04-20  Ross Burton  <ross@burtonini.com>
-
-       * libedataserver/e-data-server-module.c:
-       * libedataserver/e-data-server-module.h:
-       * src/server.c:
-       Use a #define hack to revert API change to EDataServerModule.
-       
-2005-04-20  Ross Burton  <ross@burtonini.com>
-
-       * configure.in: Depend on GLib 2.4.
-
-       * libedataserver/e-data-server-module.c:
-       * libedataserver/e-data-server-module.h:
-       Use G_DEFINE_TYPE over GNOME_CLASS_BOILERPLATE, and rename
-       e_data_server_module_init to _initialize.
-
-       * src/server.c:
-       Update for change to e-data-server-module.h.
-
-2005-04-20  Ross Burton  <ross@burtonini.com>
-
-       * src/offline-listener.c: Don't leak a GConfValue.
-
-2005-04-20  James Henstridge  <james@jamesh.id.au>
-
-       * configure.in (EVO_SET_COMPILE_FLAGS): fix up macro so that it
-       doesn't trigger configure failures with newer versions of
-       pkg-config.  Fixes bug #300435.
-
-2005-04-14  Sushma Rai  <rsushma@novell.com>
-
-       * libedataserver/e-source.c (e_source_set_relative_uri): Resetting the
-       absolute uri, when relative uri is changed if source is having absolute
-       uri. 
-       Fixes #274308
-        
-2005-04-11  Harish Krishnaswamy  <kharish@novell.com>
-
-       * Makefile.am: use API_VERSION instead of BASE_VERSION in 
-       pc files.
-       * configure.in: bump version, leave extensiondir, idldir,
-       bonobo server and libtool numbers untouched (use API_VERSION
-       instead).
-       * evolution-data-server.pc.in, libedataserver/Makefile.am, 
-       servers/groupwise/Makefile.am, src/Makefile.am: use API_VERSION.
-
-2005-04-07  Gareth Owen  <gowen72@yahoo.com>
-
-       * po/en_GB.po: Updated British English translations
-
-2005-03-31  Steve Murphy  <murf@e-tools.com>
-
-        * configure.in: Added "rw" to ALL_LINGUAS.
-
-2005-03-30  Adi Attar  <aattar@cvs.gnome.org>
-
-       * configure.in: Added "xh" to ALL_LINGUAS.
-
-2005-03-29  James Bowes  <bowes@cs.dal.ca>
-
-       * docs/reference/libedataserver/libedataserver-docs.sgml:
-       * docs/reference/libedataserver/libedataserver-sections.txt: Add
-       e-time-utils and e-xml-hash-utils.
-       * docs/reference/libedataserver/tmpl/e-time-utils.sgml:
-       * docs/reference/libedataserver/tmpl/e-xml-hash-utils.sgml: New API
-       template files.
-       * libedataserver/e-time-utils.c:
-       * libedataserver/e-time-utils.h:
-       * libedataserver/e-xml-hash-utils.c:
-       * libedataserver/e-xml-hash-utils.h: New API documentation.
-
-2005-03-27  Pawan Chitrakar  <pawan@nplinux.org>
-
-       * configure.in: Add ne in ALL_LINGUAS
-
-2005-03-23  James Bowes  <bowes@cs.dal.ca>
-
-       * configure.in: Add docs/reference/libedataserver/Makefile 
-       as output.
-       * docs/reference/Makefile.am: Add libedataserver as subdir.
-       * docs/reference/libedataserver/Makefile.am: Remove ignored files
-       section.
-       * docs/reference/libedataserver/libedataserver-docs.sgml: Add
-       sections for new API docs.
-       * docs/reference/libedataserver/libedataserver-sections.txt: Make
-       nice formatting for the new documentation.
-       * libedataserver/e-trie.c:
-       * libedataserver/e-uid.c:
-       * libedataserver/e-url.c:
-       * libedataserver/e-url.h:
-       * libedataserver/e-util.c:
-       * libedataserver/e-util.h:
-       * libedataserver/md5-utils.c:
-       * libedataserver/md5-utils.h: Document public functions and data
-       structures.
-       * docs/reference/libedataserver/tmpl/e-trie.sgml:
-       * docs/reference/libedataserver/tmpl/e-uid.sgml:
-       * docs/reference/libedataserver/tmpl/e-url.sgml:
-       * docs/reference/libedataserver/tmpl/e-util.sgml:
-       * docs/reference/libedataserver/tmpl/md5-utils.sgml: New template
-       files for API documentation.
-
-2005-03-06  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump version, libtool numbers
-
-2005-02-28  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump version, libtool numbers
-
-2005-02-10  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * libedataserver/e-data-server-module.c: (load_module_dir):
-       Don't leak the module path.
-
-2005-02-09  Hans Petter Jansson  <hpj@novell.com>
-
-       * libdb/dbinc/mutex.h: Fix PPC assembly.
-
-2005-02-07  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump version. libtool numbers
-
-2005-02-07  Ross Burton  <ross@openedhand.com>
-
-       * libedataserver/e-db3-utils.c:
-       Remove useless libgnome use.
-
-2005-02-03  Ross Burton  <ross@burtonini.com>
-
-       * libedataserver/e-categories.c:
-       * libedataserver/e-component-listener.c:
-       * libedataserver/e-time-utils.c:
-       * servers/groupwise/e-gw-connection.c:
-       * src/server.c:
-       Use glib/gi18n.h.
-
-2005-02-03  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedataserver/e-categories.c (idle_saver_cb): changed to return a
-       gboolean and always FALSE to remove the idle callback after saving.
-       (save_config): new function that marks the config as dirty and installs
-       the idle callback.
-       (initialize_categories_config, e_categories_remove, e_categories_add,
-       e_categories_set_color_for, e_categories_set_icon_file_for): call
-       save_config() when saving the categories.
-
-2005-02-01  Jeffrey Stedfast  <fejj@novell.com>
-
-       * configure.in: Generate the old imap makefile.
-
-2005-01-28  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedataserver/e-categories.c (initialize_categories_config): pass
-       a correct boolean value as the 'searchable' flag.
-
-2005-01-26  JP Rosevear  <jpr@novell.com>
-
-       Fixes #69909
-       
-       * src/server-logging.h: add private structure to instance
-
-       * src/server-logging.c (server_logging_register_domain): track the
-       information for the registration so we can later unregister it
-       (server_logging_dispose): unregister the log handlers and from the
-       information and list
-       (server_logging_finalize): free the private structure
-       (server_logging_class_init): set finalize/dispose methods
-
-2005-01-25  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedataserver/e-categories.[ch] (e_categories_add): added a
-       'searchable' argument.
-       (e_categories_is_searchable): new function.
-       (hash_to_xml_string): add the 'searchable' property to the config.
-
-2005-01-24  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump version, libtool numbers
-
-2005-01-21  Jeffrey Stedfast  <fejj@novell.com>
-
-       * configure.in: Removed the enable checks for IMAP4, we just
-       always build it now. Also don't generate
-       camel/providers/imap/Makefile as we no longer build it.
-
-2005-01-21  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * libedataserver/e-source.c 
-       (e_source_update_from_xml_node) : look for 
-       case where passed in node does not contain any properites.
-       In the case reset the properites of the source
-       and emit the changed signal
-       makes personal books unselectable
-       from auto-completion 
-       
-2005-01-14  Priit Laes <amd@store20.com>
-
-       * configure.in: Added 'ar', 'cy', 'he', 'hi', 'is', 'mk', 'ml', 
-       'wa' to ALL_LINGUAS.
-
-2005-01-14  Not Zed  <NotZed@Ximian.com>
-
-       * libedataserver/e-sexp.c: reverted rodrigo's change.  We never
-       build ESexp as a GObject anymore (it is used by camel).
-
-2005-01-12  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedataserver/e-categories.[ch] (e_categories_exist): new function.
-
-       * libedataserver/e-sexp.[ch]: removed the usage of the
-       E_SEXP_IS_G_OBJECT macro, since it was not being set anywhere.
-       (e_sexp_new): fixed some typoes.
-       (e_sexp_class_init): use g_type_class_peek_parent to get the
-       parent class for our class.
-
-2005-01-08  Not Zed  <NotZed@Ximian.com>
-
-       * libedataserver/e-xml-hash-utils.c (e_xmlhash_write): cast field
-       length to int.
-
-       * libedataserver/e-url.c (e_url_shroud): setup string manually
-       don't use *.%s as it depends on locale.
-
-2005-01-10  Rodrigo Moya <rodrigo@novell.com>
-
-       * e-categories.c (escape_string): new function.
-       (hash_to_xml_string): add category names after escaping them.
-       (initialize_categories_config): mark the configuration as not dirty
-       only when we just got the list of categories from it.
-
-2005-01-07  David Trowbridge <David.Trowbridge@Colorado.edu>
-
-       * configure.in:
-       * Makefile.am: added weather calendar backend to build.
-
-2005-01-05  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedataserver/e-categories.c (initialize_categories_config): set
-       the configuration to not dirty even when we add the set of built-in
-       categories.
-
-2005-01-05  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedataserver/e-categories.c (initialize_categories_config): set
-       the initialized flag to TRUE before starting, or we'll get infinite
-       recurrent calls to this function.
-
-2005-01-05  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedataserver/e-categories.c (initialize_categories_config): use _()
-       instead of N_() for translatable strings.
-
-2005-01-04  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedataserver/e-categories.c (idle_saver_cb): new GSourceFunc to be
-       called at idle times.
-       (cleanup_at_exit): save configuration if it's dirty. Remove the idle
-       callback.
-       (initialize_categories_config): install the idle callback.
-
-2005-01-04  Rodrigo Moya <rodrigo@novell.com>
-
-       * art/Makefile.am:
-       * art/category*.png: added category icons from GAL.
-
-       * Makefile.am:
-       * configure.in: added 'art' directory to build.
-
-       * libedataserver/e-categories.[ch]: moved categories API from evolution.
-
-       * libedataserver/Makefile.am: added new files to the build.
-
-2004-12-31  JP Rosevear  <jpr@novell.com>
-
-       * Makefile.am: clean iconv-detect.h
-
-2004-12-29  David Trowbridge <trowbrds@cs.colorado.edu>
-
-       * libedataserver/e-source.c: Add logic for emitting a "changed" signal
-       if any of the properties change
-
-2004-12-27  Rodrigo Moya <rodrigo@novell.com>
-
-       * src/server.c (gnome_segv_handler): use the correct binary name (ie,
-       include the BASE_VERSION and the full path).
-
-2004-12-23  Sivaiah Nallagatla <snallagatla@novell.com>
-                                                                                                                             
-        * src/offline-listener.[ch] :New class to listen for gconf
-       key and set online/offline modes on factories -> backends  
-                                                                                                                             
-        * src/Makefile.am : added new source file
-        offline-listener.[ch] to _SOURCES
-
-2004-12-23  Rodrigo Moya <rodrigo@novell.com>
-
-       * Makefile.am: build servers/ dir before camel/.
-
-2004-12-20  David Mosberger-Tang  <David.Mosberger@acm.org>
-
-        * libedataserver/e-memory.c (STRUCT_ALIGN): Replace with G_MEM_ALIGN.
-        (ALIGNED_SIZE): New macro.
-        (MemPoolNode): Remove "data" member.
-        (MemPoolThresholdNode): Likewise.
-        (e_mempool_alloc): Use (ALIGNED_SIZEOF(*n) + N) in lieu of
-        &n->data[N] to ensure proper alignment.
-
-2004-12-21  Hans Petter Jansson  <hpj@novell.com>
-
-       * libedatasererui/e-name-selector.[ch]: Implement ENameSelector,
-       a convenience context that sets up and provides the shared model
-       and widgets for one name selection session.
-
-       * libedataserverui/Makefile.am (libedataserverui_1_2_la_SOURCES)
-       (libedataserveruiinclude_HEADERS): Add ENameSelector.
-
-2004-12-20  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump version, libtool numbers
-
-2004-12-20  JP Rosevear  <jpr@novell.com>
-
-       * libedataserverui/test-name-selector.c (main): no need to init
-       mime utils explicitly any more
-
-2004-12-20  Hans Petter Jansson  <hpj@novell.com>
-
-       * libedataserverui/test-name-selector.c (main): Don't lie to
-       gnome_program_init () about our name.
-
-2004-12-20  Hans Petter Jansson  <hpj@novell.com>
-
-       * libedataserverui/e-contact-store.c (clear_contact_ptrarray):
-       Implement.
-       (free_contact_ptrarray): Use clear_contact_ptrarray () to unref the
-       contacts.
-       (clear_contact_source): Keep the primary contact array around even
-       when it's empty.
-       (query_contact_source): Make sure the book is opened before we
-       try to open a view to it. Set view to NULL if we can't get one.
-       (e_contact_store_add_book): Allocate temporary memory on stack.
-       (e_contact_store_remove_book): Free the primary contact array.
-
-       * libedataserverui/e-destination-store.c
-       (e_destination_store_insert_destination): Implement.
-       (e_destination_store_append_destination): Renamed from
-       _add_destination (). Connect to destination's "changed" signal.
-       (e_destination_store_remove_destination): Disconnect from
-       "changed" signal.
-
-       * libedataserverui/e-name-selector-dialog.c (add_destination):
-       Use e_destination_store_append_destination ().
-
-       * libedataserverui/test-name-selector.c (start_test): We don't
-       need the gconf_path. Set up an ENameSelectorEntry for testing.
-       (main): Remove junk related to gconf_path.
-
-       * libedataserverui/e-name-selector-entry.[ch]: Implement a completing
-       entry for Evolution contacts. Still considered unstable.
-
-       * libedataserverui/Makefile.am (libedataserverui_1_2_la_SOURCES)
-       (libedataserveruiinclude_HEADERS): Add ENameSelectorEntry to build.
-
-2004-12-17  JP Rosevear  <jpr@novell.com>
-
-       * libedataserverui/test-name-selector.c (close_dialog): destroy
-       the dialog and quit
-       (start_test): listen for any response so we can exit
-
-       * libedataserverui/e-name-selector-dialog.glade: don't make the
-       blank window visible
-
-2004-12-16  Hans Petter Jansson  <hpj@novell.com>
-
-       * libedataserverui/libedataserverui.pc.in: Remove gladedir definition,
-       it's useless and breaks the evo build.
-
-2004-12-16  Hans Petter Jansson  <hpj@novell.com>
-
-       * libedataserverui/test-name-selector.c: Implement a test for
-       ENameSelectorDialog.
-
-       * libedataserverui/Makefile.am (noinst_PROGRAMS): Build the test.
-       (test_name_selector_SOURCES)
-       (test_name_selector_LDADD): Build parameters for the test.
-
-2004-12-16  Hans Petter Jansson  <hpj@novell.com>
-
-       * libedataserver/e-data-server-marshal.list: Add NONE:STRING.
-
-       * libedataserverui/e-destination-store.[ch]: Implement
-       EDestinationStore, a GtkTreeModel interface to a list of
-       EDestinations.
-
-       * libedataserverui/e-name-selector-model.[ch]: Implement
-       ENameSelectorModel, a model that provides an EContactStore and a
-       list of EDestinationStores whose members are filtered out from
-       the EContactStore.
-
-       * libedataserverui/e-name-selector-dialog.[ch]: Implement
-       ENameSelectorDialog, a GtkDialog that lets you select EContacts
-       interactively, producing lists of EDestinations.
-
-       * libedataserverui/e-name-selector-dialog.glade: The Glade XML
-       specification for the ENameSelectorDialog interface.
-
-       * libedataserverui/e-contact-store.c (e_contact_store_get_contact):
-       Implement.
-       (e_contact_store_get_books): Free a small temp allocation.
-       (e_contact_store_remove_book): Get the pointer to the source struct.
-
-       * libedataserverui/libedataserverui.pc.in (gladedir): Set this var.
-
-       * Makefile.am (INCLUDES): Add a define providing the installed
-       Glade directory.
-       (libedataserverui_1_2_la_SOURCES): Add new files.
-       (libedataserveruiinclude_HEADERS): Add new files.
-       (glade_DATA): Add new Glade file.
-       (EXTRA_DIST): Dist glade_DATA.
-
-2004-12-16  Hans Petter Jansson  <hpj@novell.com>
-
-       * configure.in: Pull in libglade-2.0.
-
-2004-12-09  Hans Petter Jansson  <hpj@novell.com>
-
-       * libedataserverui/e-contact-store.[ch]: Implement EContactStore,
-       a GtkTreeModel interface to EBook views.
-
-       * libedataserverui/test-contact-store.c: Implement an interactive
-       test for EContactStore.
-
-       * libedataserverui/Makefile.am (libedataserveruiinclude_HEADERS)
-       (libedataserverui_1_2_la_SOURCES): Build e-contact-store.c and install
-       e-contact-store.h.
-       (test_contact_store_SOURCES)
-       (test_contact_store_LDADD): Build the interactive test for
-       EContactStore.
-
-2004-12-09  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: check for zlib, for the gzip mime filter
-
-2004-12-07  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #70267
-
-       * libedataserver/e-file-cache.[ch] (e_file_cache_freeze_changes,
-       e_file_cache_thaw_changes): new functions to disable temporarily
-       writes to disk.
-       (e_file_cache_init): initialize new private members.
-       (e_file_cache_add_object, e_file_cache_remove_object): mark the
-       cache file as dirty when we are frozen.
-
-2004-12-06  Rodney Dawes  <dobey@novell.com>
-
-       * Makefile.am (EXTRA_DIST): Add iconv-detect.c
-
-2004-12-06  Jeffrey Stedfast  <fejj@novell.com>
-
-       * configure.in (E_DATA_SERVER_DEPS): Fixed to include $mozilla_nspr
-
-       * libedataserver/Makefile.am: Don't need to have NSS_CFLAGS or
-       NSS_LIBS here - they are included in E_DATA_SERVER_[CFLAGS,LIBS]
-
-2004-12-03  Rodney Dawes  <dobey@novell.com>
-
-       * configure.in: Remove the commented out OpenSSL block
-       Don't do pkg-config --exists for mozilla, just try to use the
-       PKG_CONFIG() macro, and set have_nss="no" if it fails
-
-       * libedataserver/Makefile.am: Add NSS_CFLAGS and NSS_LIBS for the
-       e-msgport code that needs it
-
-2004-12-03  Jeffrey Stedfast  <fejj@novell.com>
-
-       * configure.in: Display configuration info after configure runs
-       (S/MIME, SSL, Kerberos, etc)
-
-2004-12-03  Not Zed  <NotZed@Ximian.com>
-
-       * libedataserver/Makefile.am (libedataserver_1_2_la_LIBADD): add
-       iconv_libs to the library list.
-
-2004-12-01  Hans Petter Jansson  <hpj@novell.com>
-
-       * Makefile.am: Build libedataserverui after non-UI libraries that it
-       may depend on.
-
-2004-11-28  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump version, libtool numbers
-
-2004-11-25  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libedataserverui/e-source-selector.[ch]:
-       (selector_button_press_event): if rt-clicked on a source 
-       group, set it as primary on the selector and emit a popup event.
-       (e_source_selector_get_primary_source_group): accessor for 
-       primary source group.
-
-2004-11-16  Not Zed  <NotZed@Ximian.com>
-
-       * Makefile.am (DIST_SUBDIRS, SUBDIRS): Added camel.
-
-       * configure.in: Added more camel required config checks.  Build
-       the camel makefiles.  Not sure if this should be in its own
-       configure.in.
-
-2004-11-15  Not Zed  <NotZed@Ximian.com>
-
-       * libedataserver/e-util.c: include config.h.
-
-       * libedataserver/e-sexp.c: updated from evolution/e-util.
-
-       * libedataserver/e-memory.c: updated from evolution/e-util.
-
-       * iconv-detect.c: added iconv format checker.
-
-       * configure.in: add stftime checks and iconv charset format checks.
-
-       * libedataserver/e-util.c (e_strftime): copied from gal/e-util.h.
-
-       * libedataserver/e-time-utils.c (parse_with_strptime): reove
-       e-utf8 depenedncy.
-
-       * libedataserver/e-iconv.[ch]: Moved from gal/util.
-
-       * libedataserver/e-trie.[ch]: Moved from evolution/e-util.
-       * libedataserver/e-msgport.[ch]: Moved from evolution/e-util.
-       * libedataserver/e-time-utils.[ch]: Moved from evolution/e-util.
-
-2004-11-05  Rodrigo Moya <rodrigo@novell.com>
-
-       * configure.in: use evolution-data-server-$BASE_VERSION as the
-       GETTEXT_PACKAGE.
-
-2004-11-03  Ryan Skadberg  <skadz@stigmata.org>
-
-       Fixes #69056
-       
-       * configure.in: Fix GETTEXT_PACKAGE to be 1.2 to match EDS version.
-
-2004-11-02  JP Rosevear  <jpr@novell.com>
-
-       Fixes #68737
-       
-       * configure.in: require libbonobo >= 2.4.2
-
-2004-11-01  Hans Petter Jansson  <hpj@novell.com>
-
-       * libdb/dbinc/mutex.h: Remove duplicated x86-64 mutex definition.
-
-2004-10-27  JP Rosevear  <jpr@novell.com>
-
-       * src/server.c: include just include signal.h for portability
-
-2004-10-21  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedataserverui/Makefile.am:
-       * libedataserverui/e-source-selector-dialog.[ch]: added source
-       selector dialog widget.
-
-       * libedataserverui/e-source-selector.h: added G_BEGIN/END_DECLS.
-
-2004-10-14  JP Rosevear  <jpr@novell.com>
-
-       * libedataserverui/e-source-selector.c: G_DEFINE_TYPE cleanups for
-       parent class
-
-       * libedataserverui/e-source-option-menu.c: ditto
-       
-2004-10-14  JP Rosevear  <jpr@novell.com>
-       
-       * libedataserverui/libedataserverui.pc.in: link to the right lib
-       and require libedataserver 1.2
-
-2004-10-13  JP Rosevear  <jpr@novell.com>
-
-       * libedataserver/e-data-server-marshal.list: add missing
-       marshaller list
-
-2004-10-13  JP Rosevear  <jpr@novell.com>
-       
-       * Makefile.am: build libedataserverui
-
-2004-10-13  JP Rosevear  <jpr@novell.com>
-       
-       * libedataserverui/test-source-option-menu.c: move from evolution
-       
-       * libedataserverui/e-source-selector.c: ditto
-
-       * libedataserverui/e-source-selector.h: ditto
-
-       * libedataserverui/e-source-option-menu.c: ditto
-
-       * libedataserverui/e-source-option-menu.h: ditto
-
-       * libedataserverui/test-source-selector.c: ditto
-
-       * libedataserverui/libedataserverui.pc.in: add a pkg-config file
-
-       * libedataserverui/Makefile.am: build libedataserverui and test progs
-
-       * configure.in: add libtool versioning for libedataserverui and
-       output the files
-
-2004-10-11  Hans Petter Jansson  <hpj@ximian.com>
-
-       Probably fixes bugs #67600 and #65996.
-
-       * libdb/dbinc/mutex.h
-       * libdb/dist/config.hin
-       * libdb/dist/configure
-       * libdb/mutex/mut_tas.c
-       * libdb/lock/lock_region.c
-       * libdb/dist/aclocal/mutex.ac
-       * libdb/dist/aclocal/libtool.ac: Commit mutex portability changes for
-       x86-64 and a couple of other archs, and rebuild the generated
-       configure files.
-
-2004-10-04  Chris Toshok  <toshok@ximian.com>
-
-       * libedataserver/e-data-server-module.h: add the prototype for the
-       eds_module_* functions here, so modules can include this file
-       instead of writing their own prototypes in module sepcific
-       headers.
-
-2004-09-30  Chris Toshok  <toshok@ximian.com>
-
-       * evolution-data-server.pc.in (extensiondir,privlibdir): add these
-       variables so extension authors can find the place to install their
-       stuff.
-
-2004-09-30  Chris Toshok  <toshok@ximian.com>
-
-       * src/GNOME_Evolution_DataServer.server.in.in: add this
-       (previously generated) file to the build.
-
-       * src/GNOME_Evolution_DataServerLDAP.server.in.in,
-       src/GNOME_Evolution_DataServerNOLDAP.server.in.in: nuke these
-       files.
-       
-       * src/Makefile.am (evolution_data_server_LDADD): remove all the
-       addressbook/calendar backend .la's from here.
-       (SERVER_IN_FILE): always use
-       GNOME_Evolution_DataServer.server.in.in here, and it's no longer
-       generated from LDAP/NOLDAP.
-       (EXTRA_DIST): remove
-       GNOME_Evolution_DataServer{LDAP,NOLDAP}.server.in.in
-       (CLEANFILES): remove GNOME_Evolution_DataServer.server.in.in.
-       
-       * src/server.c (setup_books): replace hardcoded knowledge of
-       backends with a call to e_data_book_factory_register_backends.
-       (setup_cals): remove explicit backend registration with a call to
-       e_data_cal_factory_register_backends.
-       (main): call e_data_server_module_init.
-
-       * libedataserver/Makefile.am (INCLUDES): add extensiondir #define.
-       (libedataserver_la_SOURCES): add e-data-server-module.c
-       (libedataserverinclude_HEADERS): add e-data-server-module.h
-
-       * libedataserver/e-data-server-module.[ch]: new files, manage the
-       extensions.  ripped almost entirely from Dave Camp's nautilus
-       module stuff.
-
-       * configure.in (privlibdir, extensiondir): new Makefile variables.
-
-2004-09-23  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #66209
-
-       * libedataserver/e-source-list.c (sync_idle_callback): clear the
-       idle id after we've been called.
-
-2004-09-23  JP Rosevear  <jpr@novell.com>
-
-       * Makefile.am: don't hard code pkg config version
-
-       * configure.in: bump version, reset libtool versions because the
-       library is now versioned
-
-       * libedataserver/Makefile.am: build versioned lib and version
-       pkgconfig stuff
-
-       * src/Makefile.am: link against versioned libs
-
-2004-09-22  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libedataserver/e-file-cache.[ch]: 
-       (e_file_cache_get_keys): utility function that allows to get 
-        a list of the keys of all the items in the cache. Used by 
-        the fix for bug #61865 
-
-2004-09-21  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libdb/dbinc/mutex.h
-       * libdb/dist/configure
-       * libdb/dist/aclocal/mutex.ac
-       * libdb/dist/aclocal/options.ac:
-       Applied patch from Toshok that fixes issues related to NPTL and AMD
-       processors.
-
-2004-09-16  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: update version to 1.1.0 and BASE_VERSION to 1.2
-
-2004-09-14  Roozbeh Pournader  <roozbeh@farsiweb.info>
-
-       * configure.in: Added 'fa' (Persian) to ALL_LINGUAG.
-
-2004-09-14  Tomasz Kłoczko  <kloczek@pld.org.pl>
-
-       * servers/groupwise/Makefile.am: automake fix for paralel build ("make -j<N>").
-
-2004-09-10  Mohammad DAMT  <mdamt@bisnisweb.com>
-
-       * configure.in: Added 'id' to ALL_LINGUAS
-       * po/id.po: Added Indonesian translation
-
-2004-08-27  Akagic Amila <bono@linux.org.ba>
-
-       * configure.in: Added 'bs' to ALL_LINGUAS.
-
-2004-08-26  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump verision, libtool numbers
-
-2004-08-26  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #63051.
-
-       * libedataserver/e-util.c (e_util_utf8_strstrcase) 
-       (e_util_utf8_strstrcasedecomp): 
-
-       * libedataserver/e-sexp.c (e_sexp_term_eval):
-       * libedataserver/e-memory.c (e_memchunk_clean): use g_alloca for
-       stupid arcanely out of date and posixly-busted slowaris which
-       doesn't put alloca in stdlib.h like any sane system.
-
-2004-08-25  Frederic Crozat  <fcrozat@mandrakesoft.com>
-
-       * libedataserver/e-file-cache.c: (add_key_to_list),
-       (add_object_to_list):
-       Add missing include, fix warnings.
-
-       * libedataserver/e-util.c: add missing include.
-
-       * servers/groupwise/e-gw-connection.c:
-       (e_gw_connection_get_categories):
-       Fix type, causing warnings.
-
-2004-08-23  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * libedataserver/e-file-cache.c (e_file_cache_set_property) :
-       assing the value set for filename property to priv->filename 
-2004-08-21  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * configure.in: Added «nb» to ALL_LINGUAS.
-
-2004-08-13  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump version, libtool numbers, soup requirement
-
-2004-08-13  Rodney Dawes  <dobey@novell.com>
-
-       * acinclude.m4: Revert previous EVO_LDAP_CHECK changes, aren't working
-       as well as expceted and determined in testing
-
-2004-08-13  Rodney Dawes  <dobey@novell.com>
-
-       * acinclude.m4: Remove EVO_CHECK_LIB
-       Update EVO_LDAP_CHECK to support --with-openldap-{libs,includes}
-
-2004-08-09  Ankit Patel <ankit@redhat.com>
-
-       * configure.in: Added Gujarati & Panjabi
-
-2004-08-06  Sayamindu Dasgupta <sayamindu@gnome.org>
-
-       * configure.in: Added bn (Bengali) to ALL_LINGUAS.
-
-2004-08-02  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump version, libtool numbers
-
-2004-08-02  Not Zed  <NotZed@Ximian.com>
-
-       * src/server.c (gnome_segv_handler): deadlock in non-main threads
-       so we only run once, and increment our recursive-call code
-       properly, and actually exit anyway.  should fix infinite crash
-       loop crap.
-
-2004-07-29  Rodney Dawes  <dobey@novell.com>
-
-       * configure.in: Check for libgnomeui_serverdir with pkgconfig, and
-       AC_DEFINE it so we know where to find gnome_segv2
-
-       * src/server.c (gnome_segv_handler): Use GNOMEUI_SERVERDIR that we
-       now define at configure time to find the path to gnome_segv2
-
-       Fixes #62021
-
-2004-07-19  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump version, libtool numbers, soup requirement
-
-2004-07-16  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * libedataserver/e-source-group.c (e_source_group_remove_source)
-       (e_source_group_remove_source) : disconnet the signal 
-       handler registered on source object for CHANGED singal
-       as we may not be interested in the changes in source once
-       it is removed form the group
-
-2004-07-12  Chris Toshok  <toshok@ximian.com>
-
-       [ most likely fixes #57999 ]
-       
-       * libdb/dist/aclocal/options.ac: set the default unique name to
-       "_eds".  this will append _eds to all externally visible libdb
-       symbols, so we can be sure it won't conflict with another libdb
-       (linked dynamically).
-
-       * libdb/dist/configure: regen after options.ac change.
-
-       * libdb/dist/.cvsignore: ignore db_int_def.h
-
-2004-07-07  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedataserver/e-source.[ch] (e_source_build_absolute_uri): made
-       this function public.
-
-2004-07-07  Not Zed  <NotZed@Ximian.com>
-
-       * src/server.c (main): bind to the right charset (i.e. utf8).  See
-       #58976.
-
-2004-07-02  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump version, libtool numbers
-
-2004-07-02  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes #60691 ]
-       
-       * libedataserver/e-iterator.h: rename the "delete" member to
-       "remove", to fix c++ build.
-
-       * libedataserver/e-iterator.c (e_iterator_delete): same.
-       (e_iterator_class_init): same.
-
-       * libedataserver/e-list-iterator.c (e_list_iterator_class_init): same.
-       (e_list_iterator_remove): same.
-
-2004-06-23  Jeffrey Stedfast  <fejj@novell.com>
-
-       * src/server.c (main): Register a segv handler to popup bug-buddy
-       or whatever. Fixes bug #51165.
-
-2004-06-14  Not Zed  <NotZed@Ximian.com>
-
-       * libedataserver/e-source-group.c
-       (e_source_group_new_from_xmldoc): abort and fail if we get an xml
-       error setting up the new_source entries.  #59592.
-
-2004-06-03  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump version, libtool numbers
-
-2004-06-02  Chris Toshok  <toshok@ximian.com>
-
-       * configure.in: bump to 0.0.93.1 so we can rev evo's dep.
-
-2004-06-01  Chris Toshok  <toshok@ximian.com>
-
-       * libedataserver/e-source.c (e_source_set_absolute_uri): permit
-       NULL absolute_uri, so we can clear it.
-
-2004-06-01  Chris Toshok  <toshok@ximian.com>
-
-       * libedataserver/e-source.c (e_source_set_group): back out the
-       change that causes this function to always add an absolute_uri to
-       the ESource, as this uri is always used instead of the
-       relative_uri in e_source_get_uri, which is NOT what we want in 99%
-       of the cases.  If you want an absolute uri, call
-       e_source_set_absolute_uri - it should never happen implicitly.
-       (e_source_copy): when copying an ESource don't create an absolute
-       uri when @source might have had one.
-       (e_source_set_absolute_uri): use strcmp, not ==.  also,
-       "source->priv->readonly" governs whether or not data can be stored
-       in the folder represented by the ESource, not that the ESource
-       itself is readonly.
-
-2004-05-27  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedataserver/e-file-cache.[ch] (e_file_cache_clean): new function.
-
-2004-05-27  Sushma Rai <rsushma@novell.com>
-
-       * libedataserver/e-source.[ch] (e_source_new_with_absolute_uri)
-       (e_source_set_absolute_uri)(e_source_peek_absolute_uri):
-       Added new.
-
-       * libedataserver/e-source.c: (e_source_set_group)(e_source_get_uri):
-       Build absolute URI only if source is not having it.
-
-       * libedataserver/e-source.c: (dump_common_to_xml_node): Writing
-       absolute URI to the file.
-
-2004-05-26  Rodney Dawes  <dobey@novell.com>
-
-       * configure.in: Make the ORBit >= 2.9.8 requirement more obvious to
-       work around a problem with the AM_PATH_ORBIT2() m4 function not failing
-       properly when < 2.9.8 is found
-
-       * libedataserver/libedataserver-1.0.pc.in (Requires): Add the ORBit
-       requirement here, so that dependents pick it up properly as well
-       
-2004-05-19  JP Rosevear  <jpr@novell.com>
-
-       * configure.in: bump version, libtool numbers
-
-2004-05-17  Rodney Dawes  <dobey@ximian.com>
-
-       * libedataserver/Makefile.am (libedataserver_la_LIBADD):
-       Add $(E_DATA_SERVER_LIBS) to link all the right dependencies for the
-       mono bindings to work correctly
-
-       Fixes #58615
-
-2004-05-04  Edward Rudd <urkle@outoforder.cc>
-       
-       * addressbook/backend/ldap/e-book-backend-ldap.c: Added new complex
-       handlers for postal address fields. Bug # 45210
-
-2004-05-03  JP Rosevear  <jpr@ximian.com>
-
-       * libedataserver/e-memory.h: include glib.h for G_BEGIN_DECLS
-
-       * libedataserver/e-uid.h: ditto
-       
-       * libedataserver/e-memory.c: remove unnecessary include
-
-       * libedataserver/e-uid.c: ditto
-       
-       * libedataserver/e-list-iterator.h: order G_BEGIN_DECLS after the
-       glib include
-
-2004-05-03  William Jon McCann  <mccann@jhu.edu>
-
-       * libedataserver/e-account-list.h: 
-       * libedataserver/e-account.h:
-       * libedataserver/e-db3-utils.h:
-       * libedataserver/e-dbhash.h:
-       * libedataserver/e-iterator.h:
-       * libedataserver/e-list-iterator.h:
-       * libedataserver/e-list.h:
-       * libedataserver/e-memory.h:
-       * libedataserver/e-sexp.h:
-       * libedataserver/e-source-group.h:
-       * libedataserver/e-source-list.h:
-       * libedataserver/e-source.h:
-       * libedataserver/e-uid.h:
-       * libedataserver/e-url.h:
-       * libedataserver/e-util.h:
-       * libedataserver/e-xml-hash-utils.h:
-       * libedataserver/md5-utils.h: Add missing G_BEGIN_DECLS and G_END_DECLS
-
-2004-04-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * libedataserver/e-dbhash.c (e_dbhash_foreach_key): Revert
-       yesterday's changes. The data is useless for what I needed it for
-       (which was for migrating pilot-sync changelog files). md5sums are
-       ...not what I wanted.
-
-2004-04-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * libedataserver/e-dbhash.c (e_dbhash_foreach_key): Call func with
-       3 arguments (key, data, user_data).
-
-2004-04-26  Adam Weinberger  <adamw@gnome.org>
-
-       * configure.in: Added en_CA to ALL_LINGUAS.
-
-2004-04-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * libedataserver/e-xml-hash-utils.c (e_xml_to_hash): Make sure
-       that 'key' always points to a malloc'd block of memory that we can
-       free.
-       (foreach_save_func): Use xmlEncodeEntitiesReentrant() rather than
-       xmlEncodeSpecialChars() since that latter doesn't encode 8bit
-       chars and the like.
-       (e_xmlhash_write): Save the doc to a tmp file first, only if
-       saving is successful rename() the file over the original.
-
-2004-04-21  Chris Toshok  <toshok@ximian.com>
-
-       * configure.in: bump version to 0.0.92.1.
-
-2004-04-21  Tomasz KÅ?oczko <kloczek@pld.org.pl>
-
-       * acinclude.m4: minor fixes (added missing [] quotation).
-
-2004-04-19  JP Rosevear  <jpr@ximian.com>
-
-       * configure.in: bump version, libtool numbers
-
-2004-04-13  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * configure.in: added LIBEGROUPWISE_* variables and corresponding
-       AC_SUBST for assinging libegroupwise version number. Defined a
-       varible LIBSOUP_REQUIRED.  added
-       servers/groupwise/libegroupwise-1.0.pc for AC_OUTPUT section
-
-       * servers/groupwise/Makefile.am: added
-       libegroupwiseinclude_HEADERS, libegroupwise_la_LDFLAGS etc to make
-       groupwise apis installable
-
-       * servers/groupwise/libegroupwise-1.0.pc.in: new pc.in file
-       libegroupwise
-
-2004-04-02  JP Rosevear  <jpr@ximian.com>
-
-       * configure.in: bump version, libtool numbers
-
-2004-03-25  William Jon McCann  <mccann@jhu.edu>
-
-       * src/server.c (setup_cals): add registration of webcal protocol
-       for tasks.
-
-2004-03-19  Rodrigo Moya <rodrigo@ximian.com>
-
-       * src/Makefile.am: added $SOUP_CFLAGS, needed for
-       e-cal-backend-groupwise.h.
-
-2004-03-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedataserver/e-xml-hash-utils.c (e_xml_from_hash): set encoding
-       on XML document.
-
-       * libedataserver/e-file-cache.c (e_file_cache_set_property): if we fail
-       opening the cache file, just create it empty, don't fail.
-
-2004-03-17  Rodrigo Moya <rodrigo@ximian.com>
-
-       * configure.in: yank --enable-debug option, not needed anymore.
-
-2004-03-15  Rodney Dawes  <dobey@ximian.com>
-
-       * configure.in: Add LIBBONOBO_REQUIRED, and AC_SUBST() it
-       * evolution-data-server-1.0.pc.in:
-       * libedataserver/libedataserver-1.0.pc.in: Add @LIBBONOBO_REQUIRED@ for
-       the libbonobo dependency
-
-2004-03-05  JP Rosevear <jpr@ximian.com>
-
-       * configure.in: bump version, libtool numbers and soup requirement
-
-2004-02-26  JP Rosevear <jpr@ximian.com>
-
-       * Makefile.am: dist the libdb stuff properly
-
-2004-02-26 Harish K <kharish@novell.com>
-
-       * servers/groupwise/e-gw-connection.c : the latest GW server
-       requires getFolderListRequest instead of the getContainerListRequest
-       message to get the ids of folders.
-
-2004-02-24  Chris Toshok  <toshok@ximian.com>
-
-       * libedataserver/e-source-group.c
-       (e_source_group_new_from_xmldoc): don't leak uid.
-
-2004-02-23  JP Rosevear <jpr@ximian.com>
-
-       * Makefile.am: make sure to distclean libdb
-
-       * autogen.sh: require automake 1.6
-       
-       * marshal.mk: make sure we use the srcdir as the location of the
-       list file
-
-       * libdb/dist/Makefile.in: add installcheck target that does
-       nothing, don't remove tags
-
-       * src/Makefile.am: add extra libical includes for srcdir !=
-       builddir
-       
-2004-02-20 Sivaiah Nallagatla <snallagatla@novell.com>
-                                                                                                                             
-        * configure.in : added addressbook/backends/groupwise/Makefile to AC_OUTPUT section
-        * src/Makefile.am : added libebookbackendgroupwise.la to LDADD
-        * src/server.c (setup_books) : register groupwise address book backend
-       * src/GNOME_Evolution_DataServerNOLDAP.server.in.in
-       * src/GNOME_Evolution_DataServerLDAP.server.in.in : added groupwise to supported
-       address book protocols
-       
-2004-02-13  Chris Toshok  <toshok@ximian.com>
-
-       * libedataserver/Makefile.am (libedataserver_la_LIBADD): use
-       libdb-4.1.la instead of libdb.a.
-
-       * libdb/dist/configure.ac: remove all the static/shared logic and
-       force libtool to be used.  also, remove -rpath from the SOFLAGS.
-       without -rpath and -static libtool builds the equivalent of a
-       noinst_ automake library.
-
-       * libdb/dist/configure: regen configure from configure.ac.
-
-2004-02-12  Chris Toshok  <toshok@ximian.com>
-
-       * configure.in (AM_PATH_ORBIT2): up our requirement to 2.9.8.
-
-2004-02-09  Michael Meeks  <michael@ximian.com>
-
-       * libedataserver/e-list-iterator.c (e_list_iterator_new),
-       * libedataserver/e-list.c (e_list_get_iterator):
-       add preconditions for NULL list.
-
-2004-02-09  JP Rosevear  <jpr@ximian.com>
-
-       * configure.in: Bump version, libtool numbers
-
-
-2004-02-08  Robert Sedak  <robert.sedak@sk.htnet.hr>
-         * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
-
-2004-02-06  Rodrigo Moya <rodrigo@ximian.com>
-
-       * configure.in:
-       * Makefile.am:
-       * servers/Makefile.am: added servers/ dir to build.
-
-2004-02-03  Chris Toshok  <toshok@ximian.com>
-
-       * libedataserver/libedataserver-1.0.pc.in (Requires): add
-       libxml-2.0 as the e-source* stuff needs it.
-
-2004-01-30  Rodrigo Moya <rodrigo@ximian.com>
-
-       * configure.in: require libsoup >= 2.1.6.
-
-2004-01-26  JP Rosevear  <jpr@ximian.com>
-
-       * configure.in: Bump libtool versions, version, soup requirement
-
-2004-01-25  Sanlig Badral  <badral@openmn.org>
-
-       * configure.in: Added "mn" to ALL_LINGUAS.
-
-2004-01-24  Rodrigo Moya <rodrigo@ximian.com>
-
-       * configure.in: s/GROUPWISE/SOUP.
-
-2004-01-22  Thomas Cataldo  <tcataldo@users.sourceforge.net>
-
-       * libedataserver/e-xml-hash-utils.c: (e_xml_to_hash):
-       Fix leak.
-
-2004-01-21  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedataserver/e-file-cache.[ch] (e_file_cache_remove): new function
-       to remove the file cache from disk.
-
-2004-01-21  JP Rosevear <jpr@ximian.com>
-
-       * configure.in: include calendar test stuff in AC_OUTPUT
-
-2004-01-21  Rodrigo Moya <rodrigo@ximian.com>
-
-       Fixes nasty crash in e-d-s
-
-       * libedataserver/e-xml-hash-utils.[ch]: EXmlHashFunc gets 3 arguments.
-       (foreach_hash_func): pass the value also to the XML hash function.
-
-       * libedataserver/e-file-cache.c (add_object_to_list): use the correct
-       argument types.
-
-2004-01-15  JP Rosevear <jpr@ximian.com>
-
-       * libedataserver/e-source-list.c (e_source_list_peek_source_any):
-       make sure we don't derefence a NULL pointer
-
-2004-01-15  Mark McLoughlin  <mark@skynet.ie>
-
-       * libedataserver/e-source-list.c: (load_from_gconf):
-       Fix leak.
-       
-       * libedataserver/e-source.c: (dump_common_to_xml_node):
-       Don't output properties tag if there are no properties.
-
-2004-01-14  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedataserver/e-file-cache.c (add_object_to_list): use the GList **
-       correctly when calling g_slist_prepend.
-
-2004-01-13  Laurent Dhima  <laurenti@alblinux.net>
-
-       * configure.in: Added "sq" to ALL_LINGUAS.
-
-2004-01-12  JP Rosevear  <jpr@ximian.com>
-
-       * configure.in: bump version, libtool numbers
-
-2004-01-12  Rodrigo Moya <rodrigo@ximian.com>
-
-       * src/server-logging.c (server_log_handler): avoid CORBA allocations
-       by using the CORBA_any directly. Free the CORBA exception.
-
-2004-01-10  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedataserver/e-file-cache.c (e_file_cache_set_property): fixed
-       memory leak.
-
-2004-01-09  ERDI Gergo  <cactus@cactus.rulez.org>
-
-       * libedataserver/e-source-group.h: added new read-only flag
-
-       * src/contactdates-server.c: new factory for ContactDates backend
-
-       * configure.in: Added new ContactDates calendar backend
-
-2004-01-09  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedataserver/e-source-list.[ch]
-       (e_source_list_peek_group_by_name): new function.
-
-2004-01-08  JP Rosevear <jpr@ximian.com>
-
-       * libedataserver/e-source-list.c (e_source_list_sync): don't
-       remove the gconf listener
-
-2004-01-07  JP Rosevear <jpr@ximian.com>
-
-       * libedataserver/Makefile.am: remove DISABLE_DEPRECATED flags
-
-2004-01-05  Christian Neumair  <chris@gnome-de.org>
-
-       * addressbook/libebook/e-book.c: Generalize some more strings.
-
-2004-01-05  Christian Neumair  <chris@gnome-de.org>
-
-       * calendar/libedata-cal/e-cal-backend-sexp.c: Generalize some strings.
-
-2004-01-05  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedataserver/e-file-cache.[ch] (e_file_cache_get_objects): new
-       function to get all objects in the cache.
-
-2003-12-29  JP Rosevear <jpr@ximian.com>
-
-       * configure.in: bump libsoup requirement, version, libtool numbers
-
-2003-12-23  Ross Burton  <ross@burtonini.com>
-
-       * docs/reference/addressbook/libebook/tmpl/*:
-       * docs/reference/addressbook/libebook/libebook-docs.sgml:
-       * docs/reference/addressbook/libebook/libebook-sections.txt
-       * docs/reference/addressbook/libebook/libebook.types:
-       Updated API documentation.
-
-2003-12-21  JP Rosevear <jpr@ximian.com>
-
-       * libedataserver/e-source-list.c (e_source_list_peek_source_any):
-       find a source if there is one
-
-       * libedataserver/e-source-list.h: add proto
-
-2003-12-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * src/server.c (setup_logging, setup_interface_check): get the
-       BonoboObject's we create here out of the function.
-       (main): re-organize extra interfaces initialization code, and
-       make sure we unref all objects we have created.
-
-2003-12-17  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libedataserver/e-source.c (build_absolute_uri): Implement based on
-       factored-out code.
-       (e_source_set_group): Generate and keep an absolute URI so we can
-       work stand-alone if the group goes away.
-       (e_source_get_uri): Use build_absolute_uri ().
-
-2003-12-16  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libedataserver/e-source.c (e_source_equal): Implement. Compares
-       two sources based on UID and full URI.
-
-2003-12-12  Rodrigo Moya <rodrigo@ximian.com>
-
-       * configure.in: added --enable-debug argument.
-
-2003-12-10  Chris Toshok  <toshok@ximian.com>
-
-       * Makefile.am (ACLOCAL_AMFLAGS): remove
-
-2003-12-08  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedataserver/e-file-cache.[ch]: renamed from e-cache.[ch]
-       to avoid conflicts with GAL's ECache class, which might get
-       registered before.
-
-       * libedataserver/Makefile.am: added new files.
-
-2003-12-08  Rodrigo Moya <rodrigo@ximian.com>
-       
-       * libedataserver/e-util.[ch] (e_util_mkdir_hier): added this
-       function from GAL, needed for the cache objects.
-
-       * libedataserver/e-cache.c (e_cache_set_property): make sure the
-       directory for the cache file exists by calling e_util_mkdir_hier.
-
-2003-12-08  Rodrigo Moya <rodrigo@ximian.com>
-
-       * src/GNOME_Evolution_DataServerNOLDAP.server.in.in:
-       * src/GNOME_Evolution_DataServerLDAP.server.in.in: added "groupwise" to
-       the "calendar:supported_protocols" property.
-
-2003-12-07  JP Rosevear  <jpr@ximian.com>
-
-       * src/GNOME_Evolution_DataServerLDAP.server.in.in: update the repo
-       and oaf iids
-
-       * src/server.c: set correct default oaf id's
-
-       * configure.in: Bump version    
-
-2003-12-07  JP Rosevear  <jpr@ximian.com>
-       
-       * src/GNOME_Evolution_DataServerNOLDAP.server.in.in: version our
-       repo_ids
-
-       * src/GNOME_Evolution_DataServerLDAP.server.in.in: ditto
-       
-2003-12-07  Chris Toshok  <toshok@ximian.com>
-
-       * libdb/dist/Makefile.in: make install depend on all.
-
-2003-12-07  JP Rosevear  <jpr@ximian.com>
-
-       * configure.in: bump version and libsoup requirement
-
-2003-12-04  JP Rosevear <jpr@ximian.com>
-
-       * libedataserver/e-source-list.c
-       (e_source_list_new_for_gconf_default): uses the default gconf
-       client for getting the source list
-
-       * libedataserver/e-source-list.h: add proto
-       
-2003-12-01  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedataserver/e-cache.[ch]: new class for a cache implementation,
-       to be shared between calendar and addressbook backends.
-
-       * libedataserver/Makefile.am: added new files.
-
-2003-12-01  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libedataserver/e-source.c (e_source_to_standalone_xml): Allow
-       creating XML from already standalone source.
-       (e_source_copy): Return the new source, not the one passed in. Duh.
-
-2003-12-01  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libedataserver/e-source.c (e_source_set_property): Emit changed
-       signal.
-       (copy_property): Implement.
-       (e_source_copy): Implement. Creates a standalone copy of a source.
-
-2003-11-29  Chris Toshok  <toshok@ximian.com>
-
-       * src/GNOME_Evolution_DataServerLDAP.server.in.in: add
-       DataServer_Logging oaf_server.
-
-       * src/GNOME_Evolution_DataServerNOLDAP.server.in.in: same.
-
-       * src/Evolution-DataServer.idl: add a Logging interface.  the
-       events emitted are of type LogEvent.
-
-       * src/Makefile.am (evolution_data_server_SOURCES): add
-       server-logging.[ch]
-
-       * src/server.c (termination_handler): use g_message, not a printf.
-       (setup_logging): new function, register the log domains that'll
-       generate bonobo events.
-       (main): initialize the DataServer::Logging interface.
-
-       * src/server-logging.[ch]: a glib log handler that emits log
-       events via a BonoboEventSource.
-       
-2003-11-27  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libedataserver/e-source.c (impl_finalize): Destroy properties table.
-       (init): Create properties table.
-       (import_properties): Implement. Imports properties from XML tree to
-       table.
-       (e_source_update_from_xml_node): Import properties to table.
-       (property_dump_cb): Implement. Dumps a property to XML tree.
-       (dump_common_to_xml_node): Dump properties to XML tree.
-       (e_source_get_property): Implement.
-       (e_source_set_property): Implement.
-       (e_source_foreach_property): Implement.
-
-       * libedataserver/test-source-list.c (dump_property): Implement.
-       (dump_source): Dump properties.
-       (on_idle_do_stuff): Add --property, --set-value, --unset-value args.
-
-2003-11-26  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libedataserver/e-source.c (impl_finalize): Support absolute URI.
-       (e_source_update_from_xml_node): Ditto.
-       (e_source_get_uri): Ditto.
-       (dump_common_to_xml_node): Implement for parameters common to
-       dependent and standalone ESources.
-       (e_source_dump_to_xml_node): Use dump_common_to_xml_node ().
-       (e_source_to_standalone_xml): Implement.
-       (e_source_new_from_standalone_xml): Implement.
-
-2003-11-26  Rodney Dawes  <dobey@ximian.com>
-
-       * Makefile.am: remove \ on last line of LIBDB_FILES
-
-2003-11-26  JP Rosevear  <jpr@ximian.com>
-
-       * tags: add a dummy file for disting
-
-2003-11-25  Chris Toshok  <toshok@ximian.com>
-
-       * libdb/dist/configure.ac: switch the order of AC_DISABLE_SHARED
-       and AC_PROG_LIBTOOL.
-
-       * libdb/dist/configure: same.
-       
-       * libedataserver/Makefile.am (libedataserver_la_LIBADD): switch to
-       dist/libdb.a
-
-2003-11-25  Chris Toshok  <toshok@ximian.com>
-
-       * libdb/dist/configure.ac: AC_DISABLE_SHARED.
-       
-       * libdb/dist/configure: same.
-       
-       * libedataserver/e-db3-utils.c: remove the db3 version checks.
-
-       * libedataserver/e-dbhash.c: same.
-       (e_dbhash_new): pass NULL for txn.
-
-2003-11-25  Chris Toshok  <toshok@ximian.com>
-
-       * libedataserver/Makefile.am (INCLUDES): use the embedded db4.
-       (libedataserver_la_LIBADD): explicitly list the db4 .a since I
-       suck at getting libtool to do what I want.
-
-       * libdb/dist/Makefile.in (install-strip install): don't do
-       anything here.
-
-       * Makefile.am (SUBDIRS): add libdb
-       (DIST_SUBDIRS): new variable, list everything in SUBDIRS except
-       libdb.
-       (LIBDB_FILES): list all the db4 files.
-       (EXTRA_DIST): add the db4 files explicitly to this.
-
-       * configure.in: remove all the db3 stuff, and build the embedded
-       db4.
-
-2003-11-25 Aaron Weber <aaron@ximian.com>
-       * configure.in: Add 1.0 to GTK_DOC_CHECK: Rodney says "It won't
-       hurt to add it, and might helpsince GTK_DOC_CHECK is in
-       acinclude.m4 so you can build the stuffwithout gtk-doc
-       installed/working."
-
-       * docs/reference/addressbook/libebook/libebook-docs.sgml: added title
-       * docs/reference/calendar/libecal/libecal-docs.sgml: added title
-       * Plus added short/long descriptions and "See Also" where appropriate to:
-       * docs/reference/addressbook/libebook/tmpl/e-address-western.sgml
-       * docs/reference/addressbook/libebook/tmpl/e-book-async.sgml
-       * docs/reference/addressbook/libebook/tmpl/e-book-listener.sgml
-       * docs/reference/addressbook/libebook/tmpl/e-book-view-listener.sgml
-       * docs/reference/addressbook/libebook/tmpl/e-book-view.sgml
-       * docs/reference/addressbook/libebook/tmpl/e-book.sgml
-       * docs/reference/addressbook/libebook/tmpl/e-contact.sgml
-       * docs/reference/addressbook/libebook/tmpl/e-vcard.sgml
-       * docs/reference/calendar/libecal/tmpl/e-cal-component.sgml
-       * docs/reference/calendar/libecal/tmpl/e-cal-listener.sgml
-       * docs/reference/calendar/libecal/tmpl/e-cal-view-listener.sgml
-       * docs/reference/calendar/libecal/tmpl/e-cal-view.sgml
-       * docs/reference/calendar/libecal/tmpl/e-cal.sgml
-
-2003-11-22  Chris Toshok  <toshok@ximian.com>
-
-       * dist/NO-AUTO-GEN: don't autogen in here.
-       
-       * libdb/.cvsignore: new file, ignore the generated Makefile foo.
-
-       * libdb/Makefile.am: new file so we can integrate libdb into our
-       build.
-
-2003-11-20 Aaron Weber <aaron@ximian.com>
-       * docs/reference/calendar/libecal/libecal-sections.txt: moved private structs to private subsections
-       * docs/reference/addressbook/libebook/libebook-sections.txt: moved private structs to private subsections
-       * docs/reference/libebook/tmpl/e-book-async.sgml: made tentative stabs at some description (same for sgml files below).
-       * docs/reference/addressbook/libebook/tmpl/e-book-types.sgml
-       * docs/reference/addressbook/libebook/tmpl/e-book-view-listener.sgml
-       * docs/reference/addressbook/libebook/tmpl/e-book.sgml
-       * docs/reference/calendar/libecal/libecal-sections.txt
-       * docs/reference/calendar/libecal/tmpl/e-cal-component.sgml
-       * docs/reference/calendar/libecal/tmpl/e-cal-listener.sgml
-       * docs/reference/calendar/libecal/tmpl/e-cal.sgml
-
-2003-11-20  Rodney Dawes  <dobey@ximian.com>
-
-       * autogen.sh: Remove extra #!/bin/sh line
-
-2003-11-19  JP Rosevear <jpr@ximian.com>
-
-       * MAINTAINERS: Update
-
-2003-11-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * configure.in: require libsoup version from CVS (2.1.1).
-
-2003-11-17  Rodrigo Moya <rodrigo@ximian.com>
-
-       * configure.in: added libsoup-2.2 as a dependency for Groupwise.
-
-2003-11-14  JP Rosevear <jpr@ximian.com>
-
-       * libedataserver/test-source-list.c: use only libgnome stuff (no
-       ui bits)
-
-       * libedataserver/e-source.c: ditto
-
-       * libedataserver/e-source-list.c: ditto
-
-       * libedataserver/e-source-group.c: remove use of gal bits, use
-       local marshallers
-
-       * libedataserver/Makefile.am: build and install e-source stuff
-
-2003-11-14  Rodrigo Moya <rodrigo@ximian.com>
-
-       * src/server-interface-check.[ch]: fixed copyright comments.
-
-2003-11-14  Rodrigo Moya <rodrigo@ximian.com>
-
-       * src/server.c (setup_cals): register the Groupwise calendar backend.
-
-       * src/Makefile.am:
-       * configure.in: added Groupwise calendar backend to build.
-
-2003-11-14  Rodney Dawes  <dobey@ximian.com>
-
-       * acinclude.m4: Add the GTK_DOC_CHECK m4 macro here, as we need it
-
-2003-11-11  Chris Toshok  <toshok@ximian.com>
-
-       * src/server.c (queue_termination): guard against multiple threads
-       here by using a mutex.  also, always remove the
-       terminal_handler_id if one exists and reinstate it afterward.
-       This gives us the behavior of always lasting EXIT_TIMEOUT
-       milliseconds after the most recent book/calendar shutdown.  Before
-       there was a potential for shutting down EXIT_TIMEOUT milliseconds
-       after the *first* book/calendar shutdown.
-
-2003-11-10  JP Rosevear <jpr@ximian.com>
-
-       * Makefile.am: build docs
-
-       * configure.in: check for gtk-doc
-
-2003-11-08  Hans Petter Jansson  <hpj@ximian.com>
-
-       * src/GNOME_Evolution_DataServerNOLDAP.server.in.in: Correct typo
-       that broke GNOME_Evolution_DataServer_CalFactory. And another one
-       that broke GNOME_Evolution_DataServer_InterfaceCheck.
-
-2003-11-07  Dan Winship  <danw@ximian.com>
-
-       * configure.in: Remove a bunch more checks that
-       evolution-data-server doesn't need. Change "Evolution" to
-       "evolution-data-server" in two messages. Remove gtk-doc support
-       since there is currently no doc/ directory, and we'll want to use
-       the new GTK_DOC_CHECK macro when we add it back anyway.
-
-       * libedataserver/ename/*: Moved to libebook
-
-       * libedataserver/Makefile.am (SUBDIRS): Remove ename
-       (libedataserver_la_LIBADD): Remove libename
-       (libedataserver_la_LDFLAGS): Remove -no-undefined
-
-       * configure.in (AC_OUTPUT): Remove libedataserver/ename/Makefile
-
-2003-11-07  Rodney Dawes  <dobey@ximian.com>
-
-       * configure.in: Remove kerberos checks since we don't need them here
-
-2003-11-06  JP Rosevear <jpr@ximian.com>
-
-       * configure.in: output new .pc file
-
-       * evolution-data-server-1.0.pc.in: pkconfig for idl
-
-       * libedataserver/ename/Makefile.am: don't install
-
-       * libedataserver/Makefile.am: link in libename
-
-2003-11-06  Rodney Dawes  <dobey@ximian.com>
-
-       * configure.in: Remove dependencies for GUI libs that we don't need
-
-2003-11-06  JP Rosevear <jpr@ximian.com>
-
-       * libedataserver/Makefile.am: e-msgport is no longer needed
-
-2003-11-06  JP Rosevear  <jpr@ximian.com>
-
-       * src/server.c: include the addressbook backend files properly
-
-       * src/Makefile.am: link to the individual addressbook backends
-
-2003-11-06  JP Rosevear  <jpr@ximian.com>
-
-       * src/server.c: include the backend files properly
-
-       * src/Makefile.am: link to the individual backends
-       
-2003-11-06  JP Rosevear <jpr@ximian.com>
-       
-       * configure.in (BASE_VERSION): clean up priv* dirs 
-       
-       * src/Makefile.am: install a version binary to libexecdir
-
-       * src/GNOME_Evolution_DataServerLDAP.server.in.in: reflect new
-       binary location
-
-       * src/GNOME_Evolution_DataServerNOLDAP.server.in.in: ditto
-       
-2003-11-05  JP Rosevear <jpr@ximian.com>
-
-       * src/server.c: following renaming of libedata-book
-
-       * src/server-interface.[hc]: ditto
-
-2003-11-05  JP Rosevear <jpr@ximian.com>
-
-       * src/server.c: following renaming of libedata-cal
-
-       * src/server-interface.[hc]: ditto
-
-2003-11-05 JP Rosevear <jpr@ximian.com>
-
-       * configure.in: make the priv*dir's sane
-
-       * libedataserver/libedataserver-1.0.pc.in: use privincludedir;
-       remove gal
-
-       * libedataserver/ename/Makefile.am: ditto
-
-       * libedataserver/Makefile.am: install to privincludedir
-       
-2003-11-05  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedataserver/e-util.[ch]: new files to contain a few functions
-       from GAL.
-
-       * libedataserver/Makefile.am: added new files.
-
-       * libedataserver/ename/e-address-western.c:
-       * libedataserver/e-account-list.c:
-       * libedataserver/e-account.c:
-       * src/server-interface-check.c:
-       * configure.in: removed libgal dependency.
-
-2003-11-04  JP Rosevear <jpr@ximian.com>
-
-       * src/server.c: tidy up logging messages
-
-2003-11-04  JP Rosevear <jpr@ximian.com>
-
-       * src/server.c: properly name space the oaf ids
-
-       * src/server-interface-check.c: use the correctly named poa
-
-       * src/server-interface-check.h: ditto
-       
-       * src/GNOME_Evolution_DataServerLDAP.server.in.in: name space the
-       factories and interface check better
-
-       * src/GNOME_Evolution_DataServerNOLDAP.server.in.in: ditto
-       
-       * src/Evolution-DataServer.idl: name space the interface check
-       properly
-
-2003-11-04  JP Rosevear <jpr@ximian.com>
-
-       * src/Evolution-DataServer.idl: server interface check instead of
-       wombat interface check
-
-       * src/GNOME_Evolution_DataServerLDAP.server.in.in: ditto
-
-       * src/GNOME_Evolution_DataServerNOLDAP.server.in.in: ditto
-       
-       * src/server.c: adjust to interface check renaming
-
-       * src/server-interface-check.[hc]: finish renaming so wombat
-       disappears
-
-2003-11-04  JP Rosevear <jpr@ximian.com>
-
-       * src/GNOME_Evolution_DataServerNOLDAP.server.in.in: ditto
-
-       * src/GNOME_Evolution_DataServerLDAP.server.in.in: update to point
-       to the right binary
-
-       * libedataserver/Makefile.am: install pkg-config file
-
-2003-11-04  Hans Petter Jansson  <hpj@ximian.com>
-
-       * src/GNOME_Evolution_DataServerNOLDAP.server.in.in:
-       * src/GNOME_Evolution_DataServerLDAP.server.in.in: Add "webcal" to
-       supported protocols.
-
-2003-11-04  JP Rosevear <jpr@ximian.com>
-
-       * MAINTAINERS, TODO: update
-
-2003-11-04  JP Rosevear <jpr@ximian.com>
-
-       * src/server-interface-check.h: use G_*_DECLS and include the data
-       server stub
-       
-       * src/Makefile.am: compile Evolution-DataServer.idl and manipulate
-       the DataServer .server files
-
-2003-11-03  JP Rosevear <jpr@ximian.com>
-
-       * configure.in: don't need EVO_DIR
-
-2003-11-03  JP Rosevear <jpr@ximian.com>
-
-       * configure.in: remove trailing slash
-
-2003-11-03  JP Rosevear <jpr@ximian.com>
-
-       * configure.in: add the trailing slash to the config subdir
+       * *: The ChangeLog is auto-generated when releasing.  If you
+       are seeing this, use 'git log' for a detailed list of changes.
 
index ca8b09d..d90fbe6 100644 (file)
@@ -9,9 +9,6 @@ endif
 SUBDIRS = libedataserver libebackend servers camel addressbook $(CALENDAR_DIR) libedataserverui docs art po
 DIST_SUBDIRS = libedataserver libebackend servers camel addressbook calendar libedataserverui docs art po
 
-changelogs =                   \
-       ChangeLog
-
 %-$(API_VERSION).pc: %.pc
         cp $< $@
 
@@ -61,5 +58,20 @@ MAINTAINERCLEANFILES =                                       \
        $(srcdir)/m4/ltversion.m4                       \
        $(srcdir)/m4/lt~obsolete.m4
 
+# Generate a ChangeLog file from 'git log'
+dist-hook:
+       @if test -d "$(srcdir)/.git"; \
+       then \
+               echo Creating ChangeLog && \
+               ( cd "$(top_srcdir)" && \
+                 echo '# Generated by Makefile. Do not edit.'; echo; \
+                 $(top_srcdir)/missing --run git log --stat \
+                 EVOLUTION_DATA_SERVER_2_30_0..) > ChangeLog.tmp \
+               && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \
+               || ( rm -f ChangeLog.tmp ; \
+                    echo Failed to generate ChangeLog >&2 ); \
+       else \
+               echo A git clone is required to generate a ChangeLog >&2; \
+       fi
 
 -include $(top_srcdir)/git.mk
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
deleted file mode 100644 (file)
index 8de637b..0000000
+++ /dev/null
@@ -1,5678 +0,0 @@
-2009-04-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #343505
-
-       * libedata-book/e-book-backend-summary.c: (contains_helper),
-       (func_contains), (is_helper), (endswith_helper), (beginswith_helper):
-       * libedata-book/e-book-backend-sexp.c: (chars_to_unistring_lowercase),
-       (is_helper), (endswith_helper), (beginswith_helper), (exists_helper),
-       (func_exists): Compare texts without accents.
-
-2009-03-04  Jeff Cai <jeff.cai@sun.com>
-
-       * libebook/e-contact.c: (n_setter): 
-       Use the standard confitional if sentence.
-       ** Fixes bug 573870
-
-2009-03-03  Tobias Mueller  <tobiasmue@svn.gnome.org>
-
-       * backends/vcf/e-book-backend-vcf.c (set_revision):
-       * backends/file/e-book-backend-file.c (set_revision):
-       Don't assume that GTimeVal is a long and use time_t instead
-       Patch by Matthias Drochner.
-       ** Fixes bug 569108
-
-2009-03-01  Tobias Mueller  <tobiasmue@svn.gnome.org>
-
-       * backends/google/util.c: (_google_rel_from_types). (google_im_protocol_from_field_name):
-       * backends/google/google-book.c (google_book_construct_base_uri): 
-       Use a const char[] instead of a const char* for a fixed sized 
-       format-string to increase auditability.
-       ** Fixes bug 573494
-    
-2009-02-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #563212
-
-       * libebook/e-book.c: (EBookOpState), (struct _EBookPrivate),
-       (e_book_new_op), (e_book_find_op), (do_cancel), (e_book_cancel),
-       (e_book_cancel_async_op):
-       Track state of the operation, three states WAITING, PROCESSING,
-       CANCELLING and cancel or process only those WAITING. Free the
-       operation after cancel and trigger always the operation flag here.
-
-2009-02-23  Tobias Mueller  <tobiasmue@svn.gnome.org>
-
-       * libebook/e-book.c: Hand book to kill_remaining_ops rather than 
-       a pointer. Patch by Tom Parker.
-       Fixes bug 566984.
-
-2009-02-16  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * libebook/e-contact.c: Fix a build break
-
-2009-02-16  Ross Burton  <ross@linux.intel.com>
-
-       * libebook/e-book-types.h:
-       Add a "no space" error.
-
-2009-02-16  Ross Burton  <ross@linux.intel.com>
-
-       * libebook/e-contact.c:
-       * libebook/e-contact.h:
-       Add EVC_X_SIP and E_CONTACT_SIP.
-
-2009-02-16  Ross Burton  <ross@linux.intel.com>
-
-       * libebook/e-book-view.h:
-       * libebook/e-book-view-private.h:
-       Move e_book_view_set_book to -private.
-
-2009-02-16  Ross Burton  <ross@linux.intel.com>
-
-       * libebook/e-contact.c:
-       * libebook/e-contact.h:
-       Add e_contact_field_id_from_vcard().
-
-2009-02-16  Ross Burton  <ross@linux.intel.com>
-
-       * libebook/e-contact.c:
-       Handle EContactName structures containing NULLs.
-
-2009-02-09  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #555888
-
-       * backends/webdav/e-book-backend-webdav.c:
-       (struct _EBookBackendWebdavPrivate), (proxy_settings_changed),
-       (e_book_backend_webdav_load_source), (e_book_backend_webdav_dispose):
-       * backends/google/google-book.c (struct _GoogleBookPrivate),
-       (google_book_dispose), (proxy_settings_changed),
-       (google_book_connect_to_google), (google_book_set_offline_mode):
-       Use proxy configurable within Evolution.
-
-2009-01-11  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #567384
-
-       * backends/groupwise/e-book-backend-groupwise.c
-       (e_book_backend_groupwise_modify_contact):
-       Remove unused variables.
-
-2009-01-07  Ashish Shrivastava  <shashish@novell.com>
-
-       ** Fix for BNC bug #435599
-
-       * backends/groupwise/e-book-backend-groupwise.c: (fill_contact_from_gw_item),
-       (e_book_backend_groupwise_modify_contact): Don't do to displaying and creation 
-       of organization's contact in evolution.
-
-2008-12-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for BNC bug #455939
-
-       * libedata-book/e-book-backend.c: (idle_remove_client),
-       (listener_died_cb): Don't do orbit broken connection on the same
-       thread, idle them away.
-
-2008-12-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for BNC bug #440265
-
-       * addressbook/backends/groupwise/e-book-backend-groupwise.c: Fix a
-       regression in my previous patch.
-
-2008-12-08 Sasa Ostrouska <saxa@droplinegnome.org>
-
-       ** Fix for bug #270376
-
-       * libebook/e-vcard.h: (EVC_X_SKYPE)
-       * libebook/e-contact.h: (enum EContactField):
-       * libebook/e-contact.c: (EContactFieldInfo field_info[]):
-       * backends/groupwise/e-book-backend-groupwise.c: (populate_ims),
-       (set_ims_in_gw_item): (e_book_backend_groupwise_get_supported_fields):
-       * backends/google/e-book-backend-google.c:
-       (e_book_backend_google_get_supported_fields):
-       * libedata-book/e-book-backend-sexp.c: (compare_im_skype),
-       (struct prop_info): Added skype contact field to the following files.
-
-       Skype name field added to the list of IM information.
-
-2008-12-08  Frederic van Starbmann  <fredericvanstarbmann@hotmail.com>
-
-       ** Fix for bug #561561
-
-       * backends/file/e-book-backend-file.c (set_revision):
-       * backends/groupwise/e-book-backend-groupwise.c (update_cache):
-       * backends/vcf/e-book-backend-vcf.c (set_revision):
-       Use a sufficiently large buffer for strings used as an operand
-       in strftime()
-
-2008-11-24  Srinivasa Ragavan <sragavan@novell.com>
-
-       * libedata-book/e-book-backend-db-cache.c
-       (e_book_backend_db_cache_set_time),
-       (e_book_backend_db_cache_get_time):
-       Added these APIs.
-       * libedata-book/e-book-backend-db-cache.h:
-       Declarations for the above APIs.
-
-2008-11-19  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #560681
-
-       * libebook/e-vcard.c: (read_attribute_value), (read_attribute_params),
-       (read_attribute): Support CHARSET parameter within the attribute and
-       convert text to UTF-8, if necessary, based on its value.
-
-2008-12-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for BNC bug #435632
-
-       * addressbook/libedata-book/e-data-book-view.c: Don't unref when
-       things aren't reffed.
-
-2008-12-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for BNC bugs #440265 && #447121
-
-       * addressbook/backends/groupwise/e-book-backend-groupwise.c: Fix some
-       stupidity.
-
-2008-11-07  Sankar P  <psankar@novell.com>
-
-       ** Patch committed on behalf of Ashish Shrivastava <shashish@novell.com>
-
-       ** Part of fix for bug bnc #435964
-
-       * backends/groupwise/e-book-backend-groupwise.c
-       (e_book_backend_groupwise_load_source):
-       emit_async_generic response crash fix.
-
-2008-11-03  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #532136
-
-       * libebook/e-book.c: (e_book_op_remove): Remove operation from idle
-       queue when still there in time of its removal.
-       * libebook/e-book.c: (kill_remaining_ops), (e_book_dispose):
-       Free pending operations in time of dispose properly.
-
-2008-10-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #558727 (patch by Frederic van Starbmann)
-
-       * backends/ldap/e-book-backend-ldap.c (get_ldap_library_info):
-       Fix a potential string format crash.
-
-2008-10-17  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #364542
-
-       * libebook/e-book.c: (e_book_new_op), (e_book_get_current_sync_op):
-       Do set opid to 0 for sync operations, thus we will find it later.
-       * libebook/e-book.h: (e_book_cancel_async_op):
-       * libebook/e-book.c: (e_book_cancel_async_op), (do_cancel),
-       (e_book_cancel): Be able to cancel async op too (at least any).
-
-2008-09-29  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #497928
-
-       * backends/file/e-book-backend-file.c: (build_summary),
-       (e_book_backend_file_get_contact_list), (book_view_thread),
-       (e_book_backend_file_load_source): Check for NULL pointers
-       and errors on opening an address book to prevent crash.
-       * backends/groupwise/e-book-backend-groupwise.c:
-       (e_book_backend_groupwise_get_contact_list), (book_view_thread):
-       Check for NULL pointers and free allocated memory properly.
-       * libedata-book/e-book-backend-summary.c:
-       (e_book_backend_summary_add_contact), (e_book_backend_summary_search),
-       (e_book_backend_summary_remove_contact), (e_book_backend_summary_save),
-       (e_book_backend_summary_check_contact), (e_book_backend_summary_touch),
-       (e_book_backend_summary_is_up_to_date), (e_book_backend_summary_load),
-       (e_book_backend_summary_is_summary_query),
-       (e_book_backend_summary_get_summary_vcard):
-       Check for NULL pointers before accessing members of the structure.
-
-2008-09-25  Rob Bradford  <rob@linux.intel.com>
-
-       * addressbook/backends/file/e-book-backend-file.c:
-       * addressbook/backends/google/e-book-backend-google.c:
-       * addressbook/backends/groupwise/e-book-backend-groupwise.c:
-       * addressbook/backends/ldap/e-book-backend-ldap.c:
-       * addressbook/backends/vcf/e-book-backend-vcf.c:
-       * addressbook/backends/webdav/e-book-backend-webdav.c:
-       Use transition functions for reffing/unreffing the EDataBookView.
-
-2008-09-25  Rob Bradford  <rob@linux.intel.com>
-
-       * libedata-book/e-data-book-view.c (e_data_book_view_ref),
-       (e_data_book_view_unref):
-       * libedata-book/e-data-book-view.h:
-       Add transition functions e_data_book_view_ref and
-       e_data_book_view_unref to ease the transition from Bonobo to DBUS.
-
-2008-09-24  Ross Burton  <ross@linux.intel.com>
-
-       * libebook/libebook.pc.in:
-       * libedata-book/libedata-book.pc.in:
-       Remove libgnome-2.0 as it isn't used.
-
-2008-09-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       * backends/webdav/e-book-backend-webdav.c
-       (e_book_backend_webdav_modify_contact), (download_contacts):
-       Don't mix declarations and code.
-
-2008-09-12  Tor Lillqvist  <tml@novell.com>
-
-       * backends/google/Makefile.am (libebookbackendgoogle_la_LIBADD):
-       Link with libebackend.
-
-2008-09-08  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #361413
-
-       * backends/ldap/e-book-backend-ldap.c: (query_ldap_root_dse):
-       Better debug message.
-       * backends/ldap/e-book-backend-ldap.c: (e_book_backend_ldap_connect),
-       (e_book_backend_ldap_authenticate_user),
-       (e_book_backend_ldap_load_source): Report to user the server requires
-       authentication if server returns 'unwilling to response'. Also do not
-       try to connect anonymously if authentication is required.
-
-2008-09-01  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #548827
-
-       * backends/ldap/e-book-backend-ldap.c: (ldap_error_to_response):
-       Handle also AuthenticationRequired error.
-       * backends/ldap/e-book-backend-ldap.c: (remove_contact_handler):
-       Do not report we removed any contact when received an error.
-       * backends/ldap/e-book-backend-ldap.c:
-       (e_book_backend_ldap_remove_contacts), (remove_contact_handler):
-       Report end of the operation properly.
-
-2008-08-25  Ashish Shrivastava  <shashish@novell.com>
-
-       ** Fix for bug #391936 (bugzilla.novell.com)
-
-       * libebook/e-book.c (find_key_value), (backend_died_cb): 
-         To solve hang issue after e-d-s crash.
-
-2008-08-21  Shuai Liu  <shuai.liu@sun.com>
-
-       ** Fix for bug #548565
-
-       * backends/google/util.h:
-       Add 'void' to make it built on Solaris.
-
-2008-08-18  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #547223 (Patch by Matt Davey)
-
-       * libebook/e-contact.c: (e_contact_set_property),
-       (e_contact_find_attribute_with_types): Check complete list of
-       values in a parameter when looking for some particular value.
-
-2008-08-16  Jörgen Scheibengruber  <mfcn@gmx.de>
-
-       (google_book_construct_base_uri):
-       * backends/google/util.c (_add_type_param_from_google_rel):
-       
-       Fix a small bug
-
-2008-08-16  Jörgen Scheibengruber  <mfcn@gmx.de>
-
-       * backends/google/util.c (_gdata_entry_update_from_e_contact),
-       (_add_type_param_from_google_rel),
-       (add_type_param_from_google_rel_phone),
-       (add_type_param_from_google_rel), (add_label_param),
-       (_google_rel_from_types), (google_rel_from_types),
-       (google_rel_from_types_phone), (is_known_google_im_protocol),
-       (add_primary_param), (get_google_primary_type_label),
-       (attribute_from_gdata_entry_email_address),
-       (attribute_from_gdata_entry_im_address),
-       (attribute_from_gdata_entry_phone_number),
-       (attribute_from_gdata_entry_postal_address),
-       (gdata_entry_email_address_from_attribute),
-       (gdata_entry_im_address_from_attribute),
-       (gdata_entry_phone_number_from_attribute),
-       (gdata_entry_postal_address_from_attribute):
-       
-       Improve the conversion between google rel field and vcard TYPE; use
-       X-EVOLUTION-UI-SLOT=1 as an indicator for primary; remove some unused code
-
-       * backends/google/google-book.c (google_book_cache_get_contacts),
-       (google_book_add_contact), (google_book_update_contact),
-       (google_book_get_contact), (google_book_error_from_soup_error):
-       * backends/google/google-book.h:
-
-       A bit of reformating and a new error code
-       
-
-2008-08-14  Jörgen Scheibengruber  <mfcn@gmx.de>
-
-       * backends/google/google-book.c (google_book_construct_base_uri),
-       (google_book_finalize), (google_book_add_contact):
-
-       Always use non-ssl uri when adding entries to the feed; ssl does not seem
-       to work for adding (not sure whether this is libsoup's or google's servers
-       fault).
-
-       * backends/google/util.c (_gdata_entry_update_from_e_contact):
-
-       Fix a small leak
-
-2008-08-13  Jörgen Scheibengruber  <mfcn@gmx.de>
-
-       * backends/google/Makefile.am:
-       * backends/google/e-book-backend-google.c
-       (e_book_backend_google_create_contact),
-       (e_book_backend_google_remove_contacts),
-       (e_book_backend_google_modify_contact),
-       (e_book_backend_google_get_contact),
-       (e_book_backend_google_get_contact_list),
-       (on_google_book_contact_added), (on_google_book_contact_removed),
-       (on_google_book_contact_changed),
-       (on_google_book_sequence_complete),
-       (e_book_backend_google_start_book_view),
-       (e_book_backend_google_stop_book_view),
-       (e_book_backend_google_authenticate_user),
-       (e_book_backend_google_remove), (on_google_book_auth_required),
-       (e_book_backend_google_load_source),
-       (e_book_backend_google_set_mode), (e_book_backend_google_dispose),
-       (e_book_backend_google_finalize),
-       (e_book_backend_status_from_google_book_error):
-       * backends/google/google-book.c (google_book_cache_init),
-       (google_book_cache_add_contact),
-       (google_book_cache_remove_contact),
-       (google_book_cache_get_contact), (_g_hash_table_to_list),
-       (google_book_cache_get_contacts), (google_book_cache_freeze),
-       (google_book_cache_thaw), (google_book_cache_get_last_update),
-       (google_book_cache_get_last_update_tv),
-       (google_book_cache_set_last_update),
-       (google_book_cache_needs_update),
-       (google_book_cache_refresh_if_needed), (on_refresh_timeout),
-       (google_book_cache_destroy), (google_book_construct_base_uri),
-       (google_book_get_property), (google_book_set_property),
-       (google_book_dispose), (google_book_finalize),
-       (google_book_emit_contact_added),
-       (google_book_emit_contact_changed),
-       (google_book_emit_contact_removed),
-       (google_book_emit_sequence_complete),
-       (google_book_emit_auth_required), (google_book_class_init),
-       (google_book_init), (google_book_new),
-       (google_book_connect_to_google), (google_book_set_offline_mode),
-       (google_book_add_contact), (google_book_update_contact),
-       (google_book_remove_contact), (process_subsequent_entry),
-       (process_initial_entry), (google_book_get_new_contacts_in_chunks),
-       (google_book_get_contact), (google_book_get_all_contacts),
-       (on_refresh_idle), (google_book_get_all_contacts_in_live_mode),
-       (google_book_set_live_mode), (google_book_error_from_soup_error):
-       * backends/google/google-book.h:
-
-       Created new GoogleBook object that internally implements a local (either
-       in-memory or on-disk) cache of the Google contacts list and updates it in
-       a specified interval.
-
-       * backends/google/util.c (_gdata_entry_new_from_e_contact),
-       (_gdata_entry_update_from_e_contact),
-       (_e_contact_new_from_gdata_entry),
-       (_e_contact_add_gdata_entry_xml),
-       (_e_contact_remove_gdata_entry_xml),
-       (_e_contact_get_gdata_entry_xml), (google_rel_label_from_type),
-       (attribute_from_gdata_entry_email_address),
-       (attribute_from_gdata_entry_im_address),
-       (attribute_from_gdata_entry_phone_number),
-       (attribute_from_gdata_entry_postal_address),
-       (get_google_primary_and_type),
-       (gdata_entry_email_address_from_attribute),
-       (gdata_entry_im_address_from_attribute),
-       (gdata_entry_phone_number_from_attribute),
-       (gdata_entry_postal_address_from_attribute):
-       * backends/google/util.h:
-
-       Removed some no longer needed utility functions. Use
-       e_contact_[get|_set]_name instead of custom fullname parsing. Try to
-       ensure that primary properities again land in the same slot after editing.
-
-2008-08-12  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #547308
-
-       * libebook/e-book-types.h: New error of EBookStatus.
-       * libebook/e-book-listener.c: (e_book_listener_convert_status):
-       Do recognize new error E_BOOK_ERROR_UNSUPPORTED_AUTHENTICATION_METHOD.
-
-2008-08-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #324203
-
-       * backends/ldap/e-book-backend-ldap.c: (can_browse),
-       (ldap_search_handler), (e_book_backend_ldap_search),
-       (e_book_backend_ldap_remove): Check for source option "can-browse"
-       in LDAP address books and if present, then search until reaches limits
-       for empty searches.
-
-2008-08-05  Bharath Acharya  <abharath@novell.com>
-
-       * backends/webdav/Makefile.am: Added libebook to the list of libraries 
-       to be linked with. 
-
-2008-08-04  Matthias Braun <matze@braunis.de>
-
-       ** Fix for bug #544051 - Added WebDAV backend for addressbook. 
-
-       * backends/Makefile.am:
-       * backends/webdav/Makefile.am:
-       * backends/webdav/e-book-backend-webdav-factory.c
-       (eds_module_initialize), (eds_module_shutdown),
-       (eds_module_list_types):
-       * backends/webdav/e-book-backend-webdav.c (closure_destroy),
-       (init_closure), (get_closure), (download_contact),
-       (upload_contact), (e_book_backend_handle_auth_request),
-       (e_book_backend_webdav_create_contact), (delete_contact),
-       (e_book_backend_webdav_remove_contacts),
-       (e_book_backend_webdav_modify_contact),
-       (e_book_backend_webdav_get_contact), (parse_response_tag),
-       (parse_propfind_response), (send_propfind), (download_contacts),
-       (book_view_thread), (e_book_backend_webdav_start_book_view),
-       (e_book_backend_webdav_stop_book_view),
-       (e_book_backend_webdav_get_contact_list),
-       (e_book_backend_webdav_authenticate_user),
-       (e_book_backend_webdav_get_supported_fields),
-       (e_book_backend_webdav_get_supported_auth_methods),
-       (e_book_backend_webdav_get_required_fields), (soup_authenticate),
-       (e_book_backend_webdav_load_source),
-       (e_book_backend_webdav_remove), (e_book_backend_webdav_set_mode),
-       (e_book_backend_webdav_get_static_capabilities),
-       (e_book_backend_webdav_cancel_operation),
-       (e_book_backend_webdav_new), (e_book_backend_webdav_dispose),
-       (e_book_backend_webdav_class_init), (e_book_backend_webdav_init),
-       (e_book_backend_webdav_get_type):
-       * backends/webdav/e-book-backend-webdav.h:
-
-2008-07-28  Jeff Cai  <jeff.cai@sun.com>
-
-       ** Fix for bug #544284
-
-       * backends/google/util.h: 
-       Use (void) 0 insead of '0' in the conditional statement.
-
-2008-07-21  Johnny Jacob  <jjohnny@novell.com>
-
-       * backends/google/Makefile.am (INCLUDES): Include from
-       top build directory.
-
-2008-07-21  Suman Manjunath  <msuman@novell.com>
-
-       Fixes a build break for Google contacts
-
-       * backends/google/e-book-backend-google-factory.c:
-
-2008-07-21  Jörgen Scheibengruber  <mfcn@gmx.de>
-
-       ** Fix for bug #523632
-       
-       Added Google contacts backend
-       * backends/Makefile.am:
-       * backends/google/Makefile.am:
-       * backends/google/e-book-backend-google-factory.c:
-       (e_book_backend_google_factory_instance_init), (_get_protocol),
-       (_new_backend), (e_book_backend_google_factory_class_init),
-       (e_book_backend_google_factory_get_type), (eds_module_initialize),
-       (eds_module_shutdown), (eds_module_list_types):
-       * backends/google/e-book-backend-google-factory.h:
-       * backends/google/e-book-backend-google.c:
-       (e_book_backend_google_ensure_auth),
-       (e_book_backend_google_create_contact),
-       (e_book_backend_google_remove_contacts),
-       (e_book_backend_google_modify_contact),
-       (e_book_backend_google_get_contact),
-       (e_book_backend_google_get_contact_list), (refresh_feed),
-       (do_initial_bookview_population),
-       (e_book_backend_google_start_book_view),
-       (e_book_backend_google_stop_book_view),
-       (e_book_backend_google_update_query),
-       (e_book_backend_google_initial_query),
-       (e_book_backend_google_authenticate_user),
-       (e_book_backend_google_get_supported_auth_methods),
-       (e_book_backend_google_get_required_fields),
-       (e_book_backend_google_get_supported_fields),
-       (e_book_backend_google_get_changes),
-       (e_book_backend_google_remove),
-       (e_book_backend_google_load_source),
-       (e_book_backend_google_get_static_capabilities),
-       (e_book_backend_google_cancel_operation),
-       (e_book_backend_google_set_mode), (e_book_backend_google_dispose),
-       (e_book_backend_google_finalize),
-       (e_book_backend_google_class_init), (e_book_backend_google_init),
-       (e_book_backend_google_new), (ebookbackend_status_from_soup_error):
-       * backends/google/e-book-backend-google.h:
-       * backends/google/util.c: (gdata_entry_create_from_vcard),
-       (gdata_entry_create_from_e_vcard), (gdata_entry_update_from_vcard),
-       (gdata_entry_update_from_e_vcard), (e_vcard_from_gdata_entry),
-       (e_contact_from_gdata_entry), (vcard_from_gdata_entry),
-       (name_values_from_fullname), (string_prepend_with_space),
-       (string_append_with_space), (fullname_from_name_values),
-       (build_uri), (build_base_uri), (test_repository_availability),
-       (type_from_google_rel_label), (google_rel_label_from_type),
-       (is_known_google_im_protocol),
-       (field_name_from_google_im_protocol),
-       (google_im_protocol_from_field_name),
-       (attribute_from_gdata_entry_email_address),
-       (attribute_from_gdata_entry_im_address),
-       (attribute_from_gdata_entry_phone_number),
-       (attribute_from_gdata_entry_postal_address),
-       (gdata_entry_email_address_from_attribute),
-       (gdata_entry_im_address_from_attribute),
-       (gdata_entry_phone_number_from_attribute),
-       (gdata_entry_postal_address_from_attribute):
-       * backends/google/util.h:
-
-2008-07-21  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #236010
-
-       * backends/ldap/e-book-backend-ldap.c:
-       (e_book_backend_ldap_load_source): We cannot check on LDAP server
-       whether we have general write access on it, thus report we have
-       immediately after loading the source successfully. There will be
-       a "Permission Deny" message in case we are wrong.
-       * backends/ldap/e-book-backend-ldap.c: (ldap_op_finished):
-       Clear the status message when the operation finished.
-
-2008-07-18  Wang Xin  <jedy.wang@sun.com>
-
-       ** Fix for bug #540127, commit the patch for shuai.liu@su.com.
-
-       * backends/ldap/e-book-backend-ldap.c:
-       (e_book_backend_ldap_connect), (e_book_backend_ldap_build_query),
-       (e_book_backend_ldap_authenticate_user): If this ldap_error equals
-       LDAP_INSUFFICIENT_ACCESS, return an success to request evolution's
-       authenticating window. And remove the filter objectClass=* because
-       some ldap servers do not allow this.
-
-2008-06-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #539758
-
-       * libedata-book/e-book-backend-sexp.c: (contains_helper):
-       Report success when looking for an empty string in a value.
-       Also some coding style cleanup.
-
-2008-06-13  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #304029
-
-       * libedata-book/e-book-backend-sexp.c:
-       (func_contains): added helper functions for contains tester,
-       (endswith_helper): improved, it will work with more occurrences
-       * backends/ldap/e-book-backend-ldap.c:
-       (func_contains): added helper function 'extend_query_value' for
-       changing first space between words on stars '*'
-
-2008-06-13  Tor Lillqvist  <tml@novell.com>
-
-       * backends/ldap/Makefile.am (libebookbackendldap_la_LIBADD): Link
-       with libebackend.
-
-2008-06-12  Paul Smith  <psmith@gnu.org>
-
-       ** Fix for bug #534111
-       Copying past the end of the buffer can cause core dumps.
-
-       * libebook/e-vcard.c (e_vcard_to_string_vcard_30): Loop on the # of
-       chars rather than the length of string, and break out before copying
-       past the end of the string.
-
-2008-05-13  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libedata-book/libedata-book.pc.in: Require libebackend-1.2.
-
-2008-04-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes part of #350143 (bnc)
-       Severe memory leak in evolution-data-server
-
-       * backends/groupwise/e-book-backend-groupwise.c:
-       (book_view_thread):
-       * libedata-book/e-book-backend-db-cache.c:
-       (e_book_backend_db_cache_get_contacts):
-
-2008-04-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes part of #350143 (bnc)
-          Severe memory leak in evolution-data-server
-
-       * backends/groupwise/e-book-backend-groupwise.c: (build_cache),
-       (update_cache), (update_address_book_deltas),
-       (e_book_backend_groupwise_authenticate_user):
-       * libedata-book/e-book-backend-summary.c:
-       (e_book_backend_summary_add_contact):
-
-2008-04-23  Rob Bradford  <rob@openedhand.com>
-
-       * backends/file/Makefile.am:
-       * backends/groupwise/Makefile.am:
-       * backends/vcf/Makefile.am:
-       * libedata-book/Makefile.am:
-       Link against the new libebackend library.
-
-       * backends/file/e-book-backend-file-factory.c:
-       * backends/file/e-book-backend-file.c:
-       * backends/groupwise/e-book-backend-groupwise-factory.c:
-       * backends/groupwise/e-book-backend-groupwise.c:
-       * backends/ldap/e-book-backend-ldap-factory.c:
-       * backends/vcf/e-book-backend-vcf-factory.c:
-       * libedata-book/e-book-backend-cache.h:
-       * libedata-book/e-data-book-factory.c:
-       Use new paths for header files that have been moved to libebackend.
-
-2008-04-28  Ashish Shrivastava  <shashish@novell.com>
-
-       ** Fix for bug #381307 (bugzilla.novell.com)
-
-       * backends/groupwise/e-book-backend-groupwise.c:
-       (address_book_deltas_thread), (fetch_address_book_deltas),
-       (update_address_book_cache), (e_book_backend_groupwise_dispose),
-       (e_book_backend_groupwise_init):
-       Run a single delta-thread to fetch changes from the server, instead of 
-       spawning multiple threads when the server fails to respond or the 
-       response takes too much time. 
-       NOTE: Chenthill fixed the same issues in GW calendar earlier. 
-
-2008-04-25  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * addressbook/backends/groupwise/e-book-backend-groupwise.c: Load
-       addressbook conditionally.
-
-2008-04-19  Jaap A. Haitsma  <jaap@haitsma.org>
-
-       reviewed by: Ross Burton
-
-       * libebook/e-address-western.h:
-       * libebook/e-name-western.h:
-       include glib.h in above files. Fixes bug #528922
-
-2008-04-17  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #526741
-
-       * libebook/e-contact.c: Do not include gnome-vfs anymore.
-
-2008-03-13  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #303067
-
-       * backends/ldap/e-book-backend-ldap.c:
-       Guard access to priv->ldap with global rec mutex.
-       Also do not use local copy of priv->ldap when reconnect can change it.
-
-2008-03-10  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #516608
-
-       * libebook/e-book.c: Use an EFlag in EBookOp instead of a
-       GMutex/GCond pair (which is missing a boolean to store the
-       actual condition value, anyway).  Makes the code simpler.
-
-2008-02-28  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #519214
-
-       * libebook/e-book.c: (do_remove_contacts), (do_get_book_view):
-       Book's private mutex should be locked when calling e_book_clear_op
-       so honor this rule in these function too.
-
-2008-02-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #518569
-
-       * backends/ldap/e-book-backend-ldap.c: (member_populate):
-       * backends/groupwise/e-book-backend-groupwise.c:
-       (populate_contact_members):
-       Properly format name and address with "<>" characters.
-
-2008-02-25  Tor Lillqvist  <tml@novell.com>
-
-       * tests/ebook/test-changes.c (main): Use g_mkstemp() for portability.
-
-2008-02-22  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #514836
-
-       * libebook/e-vcard.h:
-       * libebook/e-destination.c: (e_destination_set_contact),
-       (e_destination_export_to_vcard_attribute):
-       Obsoleting EVC_X_DEST_EMAIL and EVC_X_DEST_NAME.
-       * backends/ldap/e-book-backend-ldap.c: (member_populate):
-       * backends/groupwise/e-book-backend-groupwise.c:
-       (populate_contact_members): Obsoleting EVC_X_DEST_EMAIL and
-       EVC_X_DEST_NAME and one leak fix.
-
-2008-02-22  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #489043
-
-       * libebook/e-vcard.c: (e_vcard_to_string_vcard_30):
-       Do not store quotes in param values when quoting, it is not allowed.
-
-2008-02-21  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #517885
-       
-       * libebook/e-contact.c: (e_contact_set_property), (e_contact_field_id),
-       (e_contact_get), (e_contact_get):
-       * libebook/e-vcard.c: (read_attribute_value),
-       (e_vcard_to_string_vcard_30), (e_vcard_get_attribute):
-       Do not compare value/parameter names case sensitively.
-
-2008-02-20  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #516474
-
-       * libebook/e-book-query.h: (e_book_query_vcard_field_test):
-       * libebook/e-book-query.c: (struct EBookQuery::field_test),
-       (e_book_query_field_test), (e_book_query_vcard_field_test),
-       (e_book_query_unref), (func_contains), (func_is), (func_beginswith),
-       (func_endswith), (func_exists), (e_book_query_to_string):
-       * libedata-book/e-book-backend-sexp.c: (entry_compare), (func_exists):
-       Fallback to EVCard attributes in query if field name doesn't correspond
-       to any known EContactField.
-
-2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #164140 (bnc)
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_stop_book_view): Fixes a crash.
-       Patch from downstream opensuse.                                       
-
-2008-02-12  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libebook/e-book.c:
-       Fix another G_GNUC_PRETTY_FUNCTION straggler.
-
-2008-01-28  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #386157
-
-       * libebook/e-vcard.c: (parse): Ensured we don't use freed attribute
-       and stop reading as soon as we found 'END' attribute.
-
-2008-01-28  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #496081
-
-       * libedata-book/e-book-backend-sexp.c: (entry_compare), (func_exists):
-       Also compare/check exact field, if requested.
-       * tests/ebook/test-changes.c: (main): Compiler warning fix.
-
-2007-12-06  Sankar P  <psankar@novell.com>
-
-       ** Fixes bug #501969
-
-       * backends/groupwise/e-book-backend-groupwise.c:
-       (e_book_backend_groupwise_authenticate_user):
-       * backends/ldap/e-book-backend-ldap.c:
-       (e_book_backend_ldap_connect):
-       Passwords should not be forgotten all errors.
-
-2007-11-15  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #474000
-
-       * tests/ebook/test-photo.c (main):
-       * libebook/e-vcard.c (e_vcard_attribute_get_values_decoded):
-       Initialize 'length' before calling g_base64_decode().
-
-2007-11-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libebook/e-contact.c: Fix a syntax error.
-
-2007-11-13  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-contact.[ch]:
-       Add E_CONTACT_TEL to get a list of phone numbers (#495287).
-
-2007-11-11  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-book.c:
-       Fix some memory leaks (#494304, thanks Ondrej Jirman)
-
-2007-10-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * backends/file/e-book-backend-file.c: (book_view_thread): Fix the crash 
-       introduced by the previous commit.
-
-2007-10-22  Akhil Laddha  <lakhil@novell.com>
-
-       ** Fix for bug #486873
-
-       * backends/file/e-book-backend-file.c: (book_view_thread):
-       * libedata-book/e-data-book-view.c:
-       (e_data_book_view_notify_update_vcard),
-       (e_data_book_view_notify_update_prefiltered_vcard): Avoid a double free and 
-       make sure that the view_ functions free at all cases.
-
-2007-10-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #488351
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_load_source):
-       Don't reopen a database using the same DB handle.  Prevents an
-       error dialog from appearing in Contacts after a fresh install.
-
-2007-10-19  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-book.c:
-       Remove __FUNCTION__, which is a gcc-ism. (#488173, Jeff Cai)
-
-2007-10-16  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-book-query.c:
-       Fix typo in documentation (#487270, Tollef Fog Heen)
-
-2007-10-11  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #420167
-
-       * libebook/e-book.c: (e_book_unload_uri), (e_book_dispose):
-       Be sure we released corba_book and stopped listener.
-
-2007-10-03  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #469657
-
-       * backends/vcf/e-book-backend-vcf.c:
-       * libedata-book/e-data-book-factory.c:
-       Use destroy functions in GHashTables to simplify memory management.
-
-2007-10-01  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * backends/groupwise/e-book-backend-groupwise.c:
-       (set_members_in_gw_item),
-       (e_book_backend_groupwise_create_contact),
-       (e_book_backend_groupwise_remove_contacts),
-       (e_book_backend_groupwise_modify_contact),
-       (e_book_backend_groupwise_get_contact),
-       (e_book_backend_groupwise_get_contact_list), (book_view_thread),
-       (build_cache), (update_cache), (update_address_book_deltas),
-       (e_book_backend_groupwise_load_source): Fix some NULL vs FALSE
-       confusion.
-       * backends/ldap/e-book-backend-ldap.c: (build_contact_from_entry),
-       (poll_ldap): Whitespace fix.
-       * backends/vcf/e-book-backend-vcf.c:
-       (e_book_backend_vcf_create_unique_id): ANSIfication of declaration.
-
-2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #474000
-
-       * tests/ebook/test-photo.c (main):
-       Use GLib's Base64 API instead of EVCard's.
-
-       * libebook/e-vcard.c:
-       Remove redundant Base64 codec implementation.  Use GLib's.
-
-2007-09-27  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       When creating the default contact, print errors to the console
-       (#475487).
-
-2007-09-27  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       * backends/ldap/e-book-backend-ldap.c:
-       * backends/groupwise/e-book-backend-groupwise.c:
-       * backends/vcf/e-book-backend-vcf.c:
-       Use G_DEFINE_TYPE (#475493).
-
-2007-09-27  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Use G_LOCK instead of a static mutex for clearer code (#475494).
-
-2007-09-18  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-vcard.c:
-       * libebook/e-name-western.c:
-       Fix API documentation.
-
-2007-09-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #473880
-
-       * libebook/e-contact.c: (e_contact_get), (e_contact_get_property):
-       Fixes serious compiler warnings.
-
-2007-09-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix from Rashmi C for bug #275990 (Novell Bugzilla)
-
-       * backends/ldap/e-book-backend-ldap.c: (ldap_error_to_response):
-       Handle errors from ldap for duplicate fields.
-
-2007-08-29  Ross Burton  <ross@openedhand.com>
-
-       * libedata-book/e-book-backend-summary.c:
-       Add some const attributes.
-
-2007-08-28  Ross Burton  <ross@openedhand.com>
-
-       * libedata-book/e-book-backend-sexp.c:
-       Add given_name and family_name to the search properties (#330185).
-
-2007-08-28  Ross Burton  <ross@openedhand.com>
-
-       * libedata-book/e-book-backend-sexp.c:
-       Use G_N_ELEMENTS instead of a non-const int.
-
-2007-08-28  Ross Burton  <ross@openedhand.com>
-
-       * */*:
-       Fix FSF address (Tobias Mueller, #470445)
-
-2007-08-17  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #332979
-
-       * backends/ldap/e-book-backend-ldap.c: (ldap_search_dtor),
-       (e_book_backend_ldap_search), (e_book_backend_ldap_stop_book_view):
-       Fixes a thread synchronization issue while doing autocompletion.
-
-2007-08-16  Matthew Barnes  <mbarnes@redhat.com>
-
-       * backends/file/e-book-backend-file (e_book_backend_file_load_source):
-       Fix compilation errors caused by glibc's new "open" macro (#466987).
-
-2007-08-14  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #356176 by Patrick Ohly
-
-       * libebook/e-vcard.c: (read_attribute_value):
-       Skip over folding by calling skip_newline() to find
-       the next real character after a backslash.
-
-2007-08-10  Matthew Barnes  <mbarnes@redhat.com>
-
-       * backends/file/e-book-backend-file.c:
-       * backends/groupwise/e-book-backend-groupwise.c:
-       * backends/vcf/e-book-backend-vcf.c:
-       Use EFlag to simplify synchronization logic (#415891).
-
-2007-08-10  Ross Burton  <ross@openedhand.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c:
-       Clean up the code a little, fixing compile warnings and
-       non-const/static data.
-
-2007-08-08  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-vcard.h:
-       Add EVC_GEO define.
-       
-       * libebook/e-contact.[ch]:
-       Add E_CONTACT_GEO field and EContactGeo boxed struct to access GEO
-       fields.  Patch by Cosimo Cecchi (#314709).
-
-2007-08-06  Milan Crha  <mcrha@redhat.com>
-
-       ** Partial fix for bug #427469
-       * libebook/e-vcard.c: (e_vcard_attribute_add_param)
-       Added test on duplicity and merging when adding new parameter.
-
-2007-08-06  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #313221 and part of bug #427469
-       * libebook/e-contact.c:
-       (e_contact_set_property), (e_contact_find_attribute_with_types):
-       looping through all param values, not only testing first one
-
-2007-07-31  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/file/e-book-backend-file-factory.c:
-       * backends/groupwise/create-account.c:
-       * backends/groupwise/e-book-backend-groupwise-factory.c:
-       * backends/ldap/e-book-backend-ldap-factory.c:
-       * backends/ldap/e-book-backend-ldap.c:
-       * backends/vcf/e-book-backend-vcf-factory.c:
-       * libebook/e-book-query.c:
-       * libebook/e-book.c:
-       * libebook/e-book.h:
-       * libebook/e-contact.c:
-       * libedata-book/e-book-backend-cache.h:
-       * libedata-book/e-book-backend-sexp.c:
-       * libedata-book/e-data-book.c:
-       * libedata-book/e-data-book.h: Changed the way header files are included so
-       that they are picked up from the source rather than install area.
-
-2007-07-31  Ross Burton  <ross@openedhand.com>
-
-       * libedata-book/e-data-book-view.c:
-       Only send remove notifications if the contact was in the view
-       originally.
-
-2007-07-28  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #455796
-
-       * libebook/e-book.c: (e_book_idle_connection),
-       (e_book_idle_auth_required), (e_book_dispose): Free the idle callbacks
-       on unref.
-
-2007-07-27  Ross Burton  <ross@openedhand.com>
-
-       * libedata-book/e-book-backend.c:
-       Always report connection status when connecting (#460681, thanks
-       Karl Relton).
-
-2007-06-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Memory leak fixes from bug #440524
-
-       * backends/file/e-book-backend-file.c: (book_view_thread):
-       * backends/groupwise/e-book-backend-groupwise.c: (update_cache),
-       (update_address_book_deltas),
-       (e_book_backend_groupwise_authenticate_user),
-       (e_book_backend_groupwise_load_source):
-       * libedata-book/e-book-backend-db-cache.c:
-       (e_book_backend_db_cache_get_contact),
-       (e_book_backend_db_cache_get_contacts),
-       (e_book_backend_db_cache_exists):
-       * libedata-book/e-book-backend-summary.c:
-       (e_book_backend_summary_load):
-
-2007-05-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libebook/Makefile.am:
-       Fix some distcheck errors (#438577).
-
-2007-05-31  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-vcard.[ch]:
-       Add e_vcard_attribute_remove_param().
-
-2007-05-24  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-contact.c:
-       Add const to declaration of e_contact_set to match the header.
-
-2007-05-22  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-book-view-listener.c:
-       Use g_list_prepend/reverse rather than append. Thanks to Paolo
-       Borelli (#360114).
-
-2007-05-22  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-address-western.c:
-       Change a type from guchar to gchar, to stop compiler warnings.
-       
-       * backends/ldap/e-book-backend-ldap.c:
-       Cast the data when assigning to EContactPhoto.
-       
-       * backends/groupwise/e-book-backend-groupwise.c:
-       Handle both the old and new errcall prototypes in Berkeley DB.
-
-       Now the addressbook builds without warnings!
-
-2007-05-22  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Downstream fixes from SUSE.
-
-       * backends/groupwise/e-book-backend-groupwise.c:
-       (e_book_backend_groupwise_get_contact_list):
-       * libedata-book/e-data-book-view.c:
-       (e_data_book_view_notify_update):
-
-2007-05-21  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Check the thread data is a book view before running it, just in
-       case something terrible has happened.
-
-2007-05-21  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Call set_errcall() earlier, so it can catch errors in env->open.
-
-2007-05-21  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Move a g_free to the correct place, to avoid calling g_free (NULL).
-
-2007-05-20  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Don't fetch the existing contact when modifying a contact,
-       allowing modifications to work if there is a UID set correctly.
-       This also will speed up modifications.
-
-2007-05-18  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Tiny changes: disable debug output, make a warning more useful,
-       and fix some whitespace.
-
-2007-05-18  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Don't duplicate the contact UID when modifying a contact.
-
-2007-05-16  Jules Colding  <colding@omesc.com>
-
-       * backends/vcf/e-book-backend-vcf.c (load_file): Fix file descriptor leak.
-       (save_file): Cleanup. Fix file descriptor leak.
-
-       * tests/vcard/dump-vcard.c (main): Fix file descriptor leak
-
-2007-05-15  Ross Burton  <ross@openedhand.com>
-
-       * tests/ebook/test-ebook-async.c:
-       Now that e_book_async_get_contact works, remove the Bonobo usage
-       here too.  No more Bonobo in the test suite!
-
-2007-05-15  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-book.c:
-       Fix e_book_async_get_contact() which previously deadlocked.
-
-2007-05-15  Ross Burton  <ross@openedhand.com>
-
-       * tests/ebook/test-stress-bookviews.c:
-       * tests/ebook/test-self.c:
-       * tests/ebook/test-ebook.c:
-       * tests/ebook/test-search.c:
-       * tests/ebook/test-ebook-view.c:
-       * tests/ebook/test-changes.c:
-       Don't use bonobo_init() when g_type_init() will do.
-
-2007-05-15  Ross Burton  <ross@openedhand.com>
-
-       * tests/ebook/test-untyped-phones.c:
-       * tests/ebook/test-categories.c:
-       * tests/ebook/test-photo.c:
-       * tests/ebook/test-undefinedfield.c:
-       * tests/ebook/test-string.c:
-       * tests/ebook/test-date.c:
-       Don't use bonobo_init() when g_type_init() will do.
-
-2007-05-15  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-book-view-private.h:
-       * libebook/e-book-listener.h:
-       * libebook/e-book-view-listener.h:
-       * libebook/Makefile.am:
-       Don't install implementation detail headers (#438577).
-
-2007-05-15  Ross Burton  <ross@openedhand.com>
-
-       * libedata-book/e-book-backend-db-cache.c:
-       Fix compile warnings by casting gpointer to char*.
-
-2007-05-04  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #274035 from Jonty Wareing
-
-       * libebook/e-contact.c: (photo_getter): added test
-       for "base64" encoding, because it could be in vCard 2.1
-
-2007-05-14  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #431135 from Øystein Gisnås
-
-       * libebook/e-book.c: (e_book_is_self): Simple typo with strcmp.
-
-2007-05-10  Oystein Gisnas  <oystein@gisnas.net>
-
-       * libebook/e-vcard.c: Optimise vCard folding (#433782 and #336574).
-       Contribution also from Milan Crha.
-
-2007-05-12  Ross Burton  <ross@openedhand.com>
-
-       * libedata-book/e-book-backend.[ch]:
-       Add e_book_backend_sync(), to request that a backend flush any
-       buffers.
-
-       * backends/file/e-book-backend-file.c:
-       Implement the sync method.
-
-       Closes #339160.
-
-2007-05-11  Loïc Minier  <lool@dooz.org>
-
-       * libebook/e-contact.h:
-       Use gsize for length of data fields, not int; use unsigned int insted
-       of int for year, month, and day. (#414191)
-
-2007-05-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       * backends/ldap/e-book-backend-ldap.c:
-       * libebook/e-book.c:
-       * libebook/e-contact.c:
-       * libebook/e-vcard.c:
-       * tests/ebook/test-photo.c:
-       * tests/vcard/dump-vcard.c:
-       Fix warnings reported by 'sparse'.  Patch from Kjartan Maraas.
-
-2007-04-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #426893 from Caolan McNamara
-       * backends/ldap/e-book-backend-ldap.c: (getormakeEContactAddress),
-       (address_populate), (work_city_populate), (work_state_populate),
-       (work_po_populate), (work_zip_populate), (work_country_populate),
-       (home_city_populate), (home_state_populate), (home_zip_populate),
-       (home_country_populate), (home_address_populate),
-       (work_address_populate), (other_address_populate): Added support from
-       address fields in LDAP addressbook.
-
-2007-04-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #422883 from Wang Xin
-
-       * backends/ldap/e-book-backend-ldap.c:
-       (e_book_backend_ldap_connect): Fix for build fix with SUN LDAP.
-
-2007-04-19  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Allow contact creation to fail, and propagate the error back
-       (#424837).
-
-2007-04-19  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-contact.c:
-       Relax the checks in e_contact_get_const so that it works on string
-       fields outside the initial few (#422932).
-
-2007-04-10  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Use g_list_prepend instead of _append when constructing lists.
-       Show human-readable messages instead of error codes.
-       Don't output spurious new lines (#428183)
-
-2007-04-09  simon.zheng  <simon.zheng@sun.com>
-
-        ** Fix for bug #425512
-
-        * backends/file/e-book-backend-file.c:
-        (e_book_backend_file_load_source):
-        According to docs of Berkeley DB of manpage regarding db->open,
-        "The DB->open method returns a non-zero error value on failure
-        and 0 on success. If DB->open fails, the DB->close method must
-        be called to discard the DB handle"
-        So add calling db->close() after every failure of db->open().
-
-2007-04-05  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-contact.c:
-       Misc cleanups, g_new0 rather than g_new, and prepend to a list
-       then reverse rather then append. (#426564).
-
-2007-04-05  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       (e_book_backend_file_load_source):
-       * backends/groupwise/e-book-backend-groupwise.c:
-       (e_book_backend_groupwise_authenticate_user),
-       (e_book_backend_groupwise_load_source):
-       * backends/vcf/e-book-backend-vcf.c:
-       (e_book_backend_vcf_load_source):
-       Use g_mkdir_with_parents (#383686).
-
-2007-04-05  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-contact.c:
-       Don't go via GObject properties when calling
-       e_contact_get. (#385078).
-
-2007-04-04  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-book-listener.c:
-       * libebook/e-destination.c:
-       * libebook/e-book-view-listener.c:
-       * libebook/e-book.c:
-       * libebook/e-book-view.c:
-       * libebook/Makefile.am:
-       * libebook/e-book-marshal.list:
-       * libedata-book/e-data-book-marshal.list:
-       * libedata-book/e-book-backend.c:
-       * libedata-book/e-book-backend-sync.c:
-       * libedata-book/e-data-book.c:
-       * libedata-book/Makefile.am:
-       * libedata-book/e-data-book-factory.c:
-       Remove marshallers that are in GLib (#400970).
-
-2007-04-03  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-vcard.c:
-       Use slice allocator, g_list_prepend/reverse and some other
-       micro-optimisations (#425464).
-
-2007-04-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Various code clean-ups from Kjartan Maraas.
-
-       * libebook/e-book.c (e_book_new_system_address_book),
-       (e_book_new_default_addressbook):
-       * libebook/e-vcard.c (e_vcard_attribute_get_param),
-       (_evc_base64_encode_simple):
-       * backends/ldap/e-book-backend-ldap.c
-       (e_book_backend_ldap_get_contact_list), (member_compare):
-       * libedata-book/e-book-backend-db-cache.c
-       (e_book_backend_db_cache_add_contact):
-       * tests/ebook/test-ebook.c (print_email):
-       * tests/ebook/test-ebook-async.c (print_email):
-       Fix some compiler warnings.
-
-       * backends/ldap/e-book-backend-ldap.c:
-       Disable some unused functions.
-
-       * libedata-book/e-book-backend-cache.c
-       (e_book_backend_cache_constructor):
-       Use the global 'parent_class' variable.
-
-       * libedata-book/e-book-backend-cache.c
-       (e_book_backend_cache_set_time):
-       Return a duplicated string.
-
-2007-03-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c:
-       * libedata-book/e-book-backend-cache.c:
-       Don't mix declarations and code (#405495).
-       Patch from Jens Granseuer.
-
-2007-03-25  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Return decent error codes, and convert errors to human readable
-       strings for the console. (#422652).
-
-2007-03-25  Ross Burton  <ross@openedhand.com>
-
-       * libebook/Makefile.am:
-       Don't remove e-name-western-tables.h on clean, and don't install
-       it either. (#421445).
-
-2007-03-25  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Clean up dispose() and split part of it into finalise() (#421683).
-
-2007-03-16  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #360240
-
-       * backends/ldap/e-book-backend-ldap.c (e_book_backend_ldap_connect):
-       Remove an unused variable
-
-2007-02-12  Ross Burton  <ross@openedhand.com>
-
-       * libebook/Makefile.am:
-       Fix distcheck (#400629)
-
-2006-12-11  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-contact.c:
-       Remove an unused function that was missing from the previous
-       patch.
-
-2006-12-11  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-contact.c:
-       Don't use weak references to clean up the cache (#363445).
-
-2006-12-01  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * libedata-book/e-book-backend-cache.c:
-       (e_book_backend_cache_get_contacts): Fixed few memory leaks and some
-       optimization.
-       (e_book_backend_cache_set_time), (e_book_backend_cache_get_time):
-       Added new api for GAL cache.
-       * libedata-book/e-book-backend-cache.h:
-
-2006-11-18  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libebook/Makefile.am:
-       * libebook/e-book-view-private.h:
-       * libebook/e-book-view.c:
-       * libebook/e-book-view.h:
-       * libebook/e-book.c:
-       * libebook/e-book.h:
-       Hide Bonobo from public EBook API. Fix for #348123.
-       Patch submitted by Ross Burton.
-
-2006-11-06  Claudio Saavedra  <csaavedra@alumnos.utalca.cl>
-
-       * libebook/e-book.c: (e_book_get_self): Fix memory leak (#365000).
-
-2006-09-29  Devashish Sharma  <sdevashish@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c :
-       Fix for Bug #352872.
-       
-2006-09-29  Devashish Sharma  <sdevashish@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c :
-       Code cleanups and fixes for some crashers in ldap addressbook.
-       
-2006-09-29  Ross Burton  <ross@openedhand.com>
-
-       * addressbook/libebook/e-address-western.h:
-       * addressbook/libebook/e-book-view.h:
-       * addressbook/libebook/e-book.c:
-       * addressbook/libebook/e-book.h:
-       * addressbook/libebook/e-contact.c:
-       * addressbook/libebook/e-contact.h:
-       * addressbook/libebook/e-destination.c:
-       * addressbook/libebook/e-destination.h:
-       * addressbook/libebook/e-vcard.c:
-       * addressbook/libebook/e-vcard.h:
-       Sync headers and source to fix gtk-doc, and add more API docs.
-
-2006-08-09  Devashish Sharma  <sdevashish@novell.com>
-
-       * backends/file/e-book-backend-file.c : 
-       (e_book_backend_file_get_changes) : Dont leak libdb allocated 
-       buffers when checking for changes.
-       Patch by j@bitron.ch
-
-2006-08-07 Wouter Bolsterlee (uws) <uws+gnome@xs4all.nl>
-
-       * libebook/e-contact.c: Fix a build breaker.
-
-2006-08-07  Ross Burton <ross@burtonini.com>
-
-       * libebook/e-contact.c: (e_contact_class_init),
-       (e_contact_set_property), (e_contact_get_property),
-       (e_contact_field_name), (e_contact_pretty_name),
-       (e_contact_vcard_attribute), (e_contact_field_id),
-       (e_contact_get_attributes), (e_contact_set_attributes):
-       Sort the table into the same order as the enumeration,
-       so instead of doing a linear search, it can lookup the data
-       directly (O(1)). Fixes #318880.
-
-2006-08-07  Hans Petter Jansson  <hpj@novell.com>
-
-       * addressbook/libebook/e-book.c (fetch_corba_book): Free factory list when
-       we're done with it.
-       * e-book-view-listener.c (e_book_view_listener_dispose): Free the pending
-       events sitting in the async queue.
-
-2006-08-03  Devashish Sharma  <sdevashish@novell.com>
-
-       * addressbook/libebook/e-book.c:
-       (e_book_new_from_uri) :set relative uri to NULL.
-
-2006-07-31  Devashish Sharma  <sdevashish@novell.com>
-
-       * backends/file/e-book-backend-file.c :Fix for Bug #347495.
-
-2006-07-28  Devashish Sharma  <sdevashish@novell.com>
-
-       * libedata-book/e-data-book-view.c :
-       Fix for a crash in addressbook while loading.
-
-2006-07-28  Devashish Sharma  <sdevashish@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c : 
-       In groupwise there is no way to put arbitrary members into a group. There's no
-       mechanism for a group to contain members that are not already present in a system
-       or personal addressbook as a contact, and so they cant be saved and will be lost.
-       In order to save them we first need to create groupwise based contacts for these
-       arbitrary contacts and then add them as members to the group.
-       Fixes Bug #337228
-
-2006-07-25  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libebook/Makefile.am: Distribute e-name-western-tables.h.in
-       and the python script to generate the header.
-       
-2006-07-24  Devashish Sharma  <sdevashish@novell.com>
-       
-       * libebook/e-contact.[ch] : Added support for Gadu Gadu IM
-       in contact entry.
-
-2006-07-24  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-book-query.[ch]:
-       Add e_book_query_vcard_field_exists().
-
-       * libedata-book/e-book-backend-sexp.c:
-       Add vcard_exists symbol.
-
-       Fixes #330255.
-
-2006-07-24  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-name-western-tables.h:
-       * libebook/e-name-western-tables.h.in:
-       Add name tables as a machine readable form (.h.in) and provide a
-       pre-generated file (.h).
-
-       * libebook/gen-western-table.py:
-       And have a script to generate packed arrays from it.
-
-       * libebook/e-name-western.c:
-       Update to parse the packed array.
-
-       * libebook/Makefile.am:
-       Generate the file as required.
-
-       This removes many relocations and puts the name data in shared
-       memory (#342145).
-
-2006-07-24  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-vcard.[ch]:
-       Add e_vcard_attribute_remove_value and
-       e_vcard_attribute_remove_param_value() (#347899).
-
-2006-07-18  Ross Burton  <ross@openedhand.com>
-
-       * backends/groupwise/Makefile.am:
-       * libedata-book/Makefile.am:
-       Fix build when using the system DB by using the defined symbols
-       for the libdb include/link arguments (#347891).
-       
-2006-07-18  Ross Burton  <ross@openedhand.com>
-
-       * backends/ldap/e-book-backend-ldap.c:
-       Finish up fixing for new API (#313533).
-
-2006-07-17  Sushma Rai  <rsushma@novell.com>
-
-       backends/ldap/e-book-backend-ldap.c: Incorporating the EContactPhoto
-       Changes, so that e-d-s build doesn't break. See #313533.
-
-2006-07-17  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-contact.[ch]:
-       Change the EContactPhoto structure to allow the photo to be either
-       inline or a remote reference.  This is an API/ABI break. (#313533).
-
-2006-07-17  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-vcard.[ch]:
-       Add e_vcard_get_param() (#347752)
-
-2006-07-14  Devashish Sharma  <sdevashish@novell.com>
-
-       * libedata-book/e-book-backend-summary.c : Fixed a crasher in 
-       e_book_backend_summary_load.
-
-2006-07-14  Devashish Sharma  <sdevashish@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c : Fixed a crasher in
-       groupwise backend.
-
-2006-07-07  Ross Burton  <ross@openedhand.com>
-
-       * libedatabook/e-data-book-view.[ch]:
-       Add e_data_book_view_notify_update_prefiltered_vcard() to
-       fast-path contacts.
-
-       * backends/file/e-book-backend-file.c:
-       Use the new function, and ask libdb to use the GLib allocators so
-       we don't have to copy every contact.
-
-       (closes #346670)
-
-2006-07-05  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Allow builds against system libdb 4.3 or greater to work (#346655).
-
-2006-07-05  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-book-backend-file.c:
-       Whenever libdb can give a warning, print it in a uniform way. Also
-       remove a debugging printf. (#346661).
-
-2006-06-16  Devashish Sharma  <sdevashish@novell.com>
-
-       * libebook/e-contact.c : Added translator comment for
-       TTY.
-       Fixes Bug #342167
-
-2006-06-16  Tor Lillqvist  <tml@novell.com>
-
-       Make addressbook work on Win32 also with non-ASCII chars in home
-       directory name.
-       
-       * backends/file/e-book-backend-file.c (my_exists, my_rename)
-       (my_unlink): Need to wrap more file name using functions in libdb.
-       (e_book_backend_file_class_init): Register the above with libdb.
-
-2006-06-15  Andre Klapper  <a9016009@gmx.de>
-
-       * libebook/e-book.c: 
-       changing "cancelled" to "canceled" in user-visible strings.
-       Fixes bug #342163.
-
-2006-06-15  Andre Klapper <a9016009@gmx.de>
-
-       * addressbook/libebook/e-book.c:
-       * camel/camel-folder.c:
-       * camel/providers/nntp/camel-nntp-folder.c:
-       * camel/providers/pop3/camel-pop3-folder.c:
-       changing "uri" to "URI" in user-visible strings.
-       Fixes bug #342161.
-
-2006-06-13  Andre Klapper <a9016009@gmx.de>
-
-       * libebook/e-book.c:
-       changing "couldn't", "can't" and "didn't" to proper
-       English. Fixes bug #342160.
-
-2006-06-13  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-vcard.[ch]:
-       Add e_vcard_get_attribute() (#334411)
-
-2006-06-12  simon.zheng  <simon.zheng@sun.com>
-
-       Fix for #336453
-       * backends/ldap/e-book-backend-ldap.c:
-       (e_book_backend_ldap_connect), (e_book_backend_ldap_class_init):
-       * backends/ldap/openldap-extract.h:
-       Add SunLDAP library support - a variant of Netscape LDAP.
-
-2006-06-12  Devashish Sharma  <sdevashish@novell.com>
-
-       * addressbook/libebook/e-book.c : Fix for bug #342162.
-
-2006-06-07  Devashish Sharma  <sdevashish@novell.com>
-
-       * addressbook/backends/groupwise/e-book-backend-groupwise.c :
-       Changed the xml hash based cache mechanism for groupwise addressbook 
-       to a db based cache.
-       * addressbook/libedata-book/e-book-backend-db-cache.[ch]:
-       Addeed APIs for handling db based cache.
-
-2006-06-07  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-book-query.c:
-       Fix the x-evolution-any-field serialisation so that server-side
-       optimsations that so literal string compares actually
-       work. (#319056).
-
-2006-05-24  Ross Burton  <ross@burtonini.com>
-
-       * libebook/e-book-view.c:
-       * libebook/e-book.c:
-       * libebook/e-vcard.c:
-       Add more API documentation (#342678)
-
-2006-05-15  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libebook/e-vcard.[ch]: Restore the two functions removed from the
-       header in the last commit. DO NOT TINKER WITH API FUNCTIONS. Preserve
-       compatibility.
-
-2006-05-12  Devashish Sharma  <sdevashish@novell.com>
-
-       * libebook/e-vcard.c : Chages to vcard parsing so that it handles
-       quoted printable characters correctly.
-       * tests/vcard/12.vcf :
-       * tests/vcard/13.vcf :Added new test vcards.
-       Fixes Bug #334179.
-       Patch given by <ralf-engels@gmx.de> 
-
-2006-05-04  Ross Burton  <ross@openedhand.com>
-
-       * libedata-book/e-book-backend-sexp.c:
-       Fix memory leak in and optimize the performance of compare_im
-       (#340036).
-
-2006-04-21  Devashish Sharma  <sdevashish@novell.com>
-
-       Fixes https://bugzilla.novell.com/show_bug.cgi?id=163664:
-
-       * libebook/e-vcard.c (parse): Turn the incoming vcard string into
-       valid UTF-8.
-       (make_valid_utf8): New helper function, stolen from Glib.  This
-       replaces invalid UTF-8 with U+FFFD REPLACEMENT CHARACTER.
-       Patch given by Federico Mena Quintero  <federico@novell.com>
-       
-2006-04-18  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-address-western.c:
-       Protect against possible NULL dereference (#338880).
-
-2006-04-06  Devashish Sharma <sdevashish@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c : Made the function
-       update_address_book_deltas thread safe.
-       Fixes the Bug#336687.
-
-2006-03-21  Devashish Sharma <sdevashish@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c : Use double values for 
-       server_last_sequence, server_first_sequence and cache_last and first_sequence, as
-       sometimes these values can be outside the range of int.
-       Added some NULL checks to prevent some random crashes.
-
-       * libedata-book/e-data-book.c : Ref the backend before for future use.
-
-2006-01-16  Ross Burton  <ross@openedhand.com>
-
-       * libedata-book/e-data-book-view.h:
-       * libedata-book/e-data-book-view.c:
-       Add e_data_book_view_notify_update_vcard().
-
-       * backends/file/e-book-backend-file.c:
-       Use e_data_book_view_notify_update_vcard to avoid useless
-       vCard->EContact->vCard round-trip.
-
-2006-01-16  Sushma Rai  <rsushma@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c prop_info: Added GROUP_PROP.
-       (check_schema_support): Considering "groupOfNames".
-       (add_objectclass_mod): Similar.
-       (build_mods_from_contacts): Handling the list object.
-       (e_book_backend_ldap_create_contact): similar.
-       (modify_contact_search_handler): similar. Also added debug messages.
-       (member_populate): Added new, populates the contact list members.
-       (member_ber): Added new, returns member information.
-       (member_compare): Added new, compares two contact lists.
-       (build_contact_from_entry): Handling "groupOfNames" object. For the
-       groupOfNames object, for each member DN, reading the cn and e-mail ids,
-       and calling member_populate.
-       (e_book_backend_ldap_get_static_capabilities): Added contact-lists.
-       Fixes #214977.
-
-2006-01-12  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libebook/e-book.c: (activate_factories_for_uri):
-       The Book Factory oafid should reflect
-       the API version rather than the BASE version.
-       Fixes #323115.
-
-2006-01-10  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-book-query.c
-       * libebook/e-vcard.c:
-       Fix GList leaks (#320065).
-
-2006-01-10  Simon Zheng  <simon.zheng@sun.com>
-
-       * backends/file/e-book-backend-file.c:
-       * backends/groupwise/e-book-backend-groupwise.c:
-       * backends/vcf/e-book-backend-vcf.c:
-       * libebook/e-address-western.c:
-       * libebook/e-contact.c:
-       * libedata-book/e-book-backend-sexp.c:
-       * libedata-book/e-book-backend-summary.c:
-       As file e-util.h is renamed, replace "libedataserver/e-util.h"
-        as "libedataserver/e-data-server-util.h".
-       
-2006-01-09  Ross Burton  <ross@openedhand.com>
-
-       * libebook/e-book.c:
-       * libebook/e-book-view.c:
-       * libebook/e-book-view.h:
-       Add e_book_view_get_book().
-
-2006-01-02  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * libebook/e-destination.c (e_destination_init),
-       (e_destination_copy), (e_destination_set_contact),
-       (e_destination_is_ignored), (e_destination_set_ignored),
-       (e_destination_get_address): Added functions to set/unset a email in a
-       list as ignored.
-       * libebook/e-destination.h:
-
-2005-12-16  Veerapuram Varadhan <vvaradhan@novell.com>
-
-       * libebook/e-name-western.c: (e_name_western_reorder_asshole):
-       Check for invalid combination of prefix and comma separation
-       before reordering the name.
-       ** Fixes #317411
-       
-2005-12-09  Tor Lillqvist  <tml@novell.com>
-
-       * libedata-book/e-book-backend-summary.c: Use gstdio wrappers.
-       (is_helper): Use e_util_utf8_strcasecmp() instead of strcasecmp().
-
-       * libedata-book/e-book-backend-sexp.c (is_helper): Use
-       e_util_utf8_strcasecmp() instead of strcasecmp().
-
-2005-12-08  Tor Lillqvist  <tml@novell.com>
-
-       * libebook/e-name-western.c (e_name_western_fixup): Use UTF-8 case
-       folding and collation. Yeah, maybe this is over-engineering for
-       this purpose...
-
-       * libebook/e-name-western-tables.h: Add correct spellings of
-       "fräulein" and "señor*" correctly. Add "doktor". Add "af".
-
-       * backends/file/e-book-backend-file.c: Use gstdio wrappers. On
-       Win32, register own open and close methods for libdb so that the
-       UTF-8 file names that we use will work. (A small patch to libdb
-       was also required, see ../ChangeLog.)
-
-       * backends/groupwise/e-book-backend-groupwise.c
-       * backends/vcf/e-book-backend-vcf.c: Use gstdio wrappers. Open
-       files in binary mode.
-
-       * tests/ebook/test-changes.c: Use g_get_tmp_dir() instead of
-       hardcoding /tmp. Use g_filename_to_uri() instead of just prefixing
-       file://.
-
-2005-11-30  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c: (poll_ldap):
-       Allow environment override of the LDAP result timeout.
-
-2005-11-29  Sushma Rai  <rsushma@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c: Added support for environment
-       variable LDAP_DEBUG and printing log messages if it is set. 
-
-2005-11-25  Tor Lillqvist  <tml@novell.com>
-
-       * libebook/e-contact.c: Include e-util.h and redefine
-       EVOLUTION_LOCALEDIR as e_util_get_localedir() on Windows.
-
-       * backends/ldap/e-book-backend-ldap.c: Use <winldap.h> and
-       openldap-extract.h on Windows.
-       (get_ldap_library_info): Use ldap_init() instead of the
-       non-standard ldap_create().
-       (get_ldap_library_info, e_book_backend_ldap_connect,
-       e_book_backend_ldap_set_mode, e_book_backend_ldap_dispose) Use
-       ldap_unbind() instead of the non-standard
-       ldap_unbind_ext_s(). Calling ldap_unbind_ext_s() passing NULL for
-       the sctrls and cctrls parameters is exactly equivalent to calling
-       ldap_unbind() anyway, see OpenLDAP sources.
-       (e_book_backend_ldap_connect): No LDAP_OPT_X_TLS in winldap, set
-       LDAP_OPT_SSL instead.
-       (e_book_backend_ldap_authenticate_user): Use g_ascii_strncasecmp()
-       instead of strncasecmp().
-       (ldap_cancel_op): Use ldap_abandon() instead of the non-standard
-       ldap_abandon_ext(). Calling ldap_abandon_ext() passing NULL for
-       sctrls and cctrls is equivalent to calling ldap_abandon().
-
-       * backends/ldap/openldap-extract.h: New file. Contains various
-       things lifted from OpenLDAP for use on Windows where we use
-       Microsoft's LDAP implementation.
-
-       * backends/ldap/Makefile.am: Link with more libraries to avoid
-       unresolved externals on Windows. Distribute openldap-extract.h.
-
-2005-10-26  Ross Burton  <ross@burtonini.com>
-
-       * libebook/e-destination.c:
-       Add casts to stop newer gcc moaning about libxml (#319612).
-
-2005-10-20  Sushma Rai  <rsushma@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c: Added variable to 
-       _EBookBackendLDAPPrivate to store LDAP search filter, and using that
-       instead of hardcoded "objectclass=person".
-       (e_book_backend_ldap_load_source): Reading the search filter from 
-       LDAP url.
-       (e_book_backend_ldap_build_query): Using the search filter set in LDAP
-       url.
-       (e_book_backend_ldap_dispose): free ldap search filter.
-       Fixes #311884.
-
-2005-10-14  Ross Burton  <ross@burtonini.com>
-
-       * libedata-book/e-book-backend-summary.c:
-       Fix writing race to avoid recalculating the index (#316955).
-
-2005-10-14  Ross Burton  <ross@burtonini.com>
-
-       * libebook/e-destination.c:
-       Fix typo when writing escaped names.
-
-2005-10-04  Sushma Rai  <rsushma@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c: Added a mutext for ldap
-       connection handler, so that it is not accessed during ldap_reconnect.
-       Fixes #314846.
-
-2005-09-27  Tor Lillqvist  <tml@novell.com>
-
-       * libebook/e-contact.c (e_contact_date_from_string): Use strchr()
-       instead of index().
-
-2005-09-19  Jürg Billeter  <j@bitron.ch>
-
-       * libebook/e-contact.c: (e_contact_date_from_string):
-       Don't discard date part in date-time value.
-       Fixes #316337.
-
-2005-09-15  Tor Lillqvist  <tml@novell.com>
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_extract_path_from_uri): Use
-       g_ascii_strncasecmp() instead of strncasecmp() for
-       well-definedness. Use g_filename_from_uri() instead of just
-       stripping off a "file://" prefix. (On Win32, a file URI for a
-       pathname that includes a drive letter looks like
-       "file:///x:/dir/sub/file.ext", so stripping off "file://" leaves
-       an extra slash in front of the drive letter.)
-
-       * backends/groupwise/e-book-backend-groupwise.c: Use
-       g_get_current_time() instead of gettimeofday() for portability.
-
-       * backends/vcf/e-book-backend-vcf.c
-       * libebook/e-contact.c
-       * libebook/e-vcard.c: Use g_ascii_str(n)casecmp() instead of
-       str(n)casecmp() for well-definedness.
-
-       * libebook/e-book.c (e_book_new_system_addressbook): Use
-       g_filename_to_uri() instead of simple prefixing "file://".
-
-2005-08-22  Not Zed  <NotZed@Ximian.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c
-       (e_book_backend_groupwise_get_contact_list): initialise contacts
-       to NULL.
-
-       * libebook/e-book-listener.c
-       (impl_BookListener_report_auth_required): fix the type of this
-       function to match the idl.
-
-2005-08-18  Ross Burton  <ross@burtonini.com>
-
-       * libedata-book/e-book-backend.c:
-       Unref the ESource on dispose.
-
-2005-08-16  Ross Burton  <ross@burtonini.com>
-
-       * libedata-book/e-book-backend-summary.c:
-       Mark the summary clean when saved.
-
-2005-08-16  Ross Burton  <ross@burtonini.com>
-
-       * libebook/e-contact.c:
-       Fix a leak when returning boxed types.
-
-2005-08-13  Sushma Rai  <rsushma@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c (func_beginswith): Ignoring the
-       null query for LDAP addressbook, so that we don't download the book and
-       try to show all the entries in name selector dialog.
-
-2005-08-13  Sushma Rai  <rsushma@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c
-       (e_book_backend_ldap_authenticate_user): Return error if we fail to
-       get the DN for the user.
-       Fixes #312988.
-
-2005-08-13  Sushma Rai  <rsushma@novell.com>
-
-       * libedata-book/e-book-backend-cache.c 
-       (e_book_backend_cache_get_contacts): Fixed memory leak.
-
-2005-08-10  Ross Burton  <ross@burtonini.com>
-
-       * libebook/e-vcard.c: Removed the assignment of g_string_append() 
-       return value to a variable, which is not used anywhere.
-       Fixes #313091 
-
-2005-08-05  Sushma Rai  <rsushma@novell.com>
-       
-       * backends/ldap/e-book-backend-ldap.c (ldap_error_to_response):
-       Handling LDAP_INVALID_DN_SYNTAX error code, so that we don't get the
-       misleading error message "contact not found".
-
-2005-08-05  Sushma Rai  <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_get_contact_list): If cache is up-to-date and
-       the query has a summary item, then reply from cache, for GroupWise 
-       system address book, as we update the system address book cache 
-       periodically and server does't support get_items_from_ids() is for 
-       system address book.
-       Freeing ids array in offline case. 
-       (build_cache): Added debug message.
-
-2005-08-02  Sushma Rai  <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_get_static_capabilities): do-initial-query
-       for all the GroupWIse address books, so that we get the book view for 
-       notifying cache download progress for all the address books.
-       (func_contains): Ignoring the null query for GroupWise system 
-       addressbook, so that we don't download the book while loading. 
-       (func_beginswith): Similar.
-
-2005-07-26  Sushma Rai  <rsushma@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c (email_ber): Setting the proper
-       array lenght for emails. Patch submitted by 
-       "weo@weo1.de (Wolfgang Ocker)" fixes #311684.
-
-2005-07-26  Sushma Rai  <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c: Added summary file
-       support, to make cache file access faster.
-       (set_organization_in_gw_item): updating the summary file.
-       (e_book_backend_groupwise_create_contact): Similar.
-       (e_book_backend_groupwise_remove_contacts): Similar.
-       (e_book_backend_groupwise_modify_contact): Similar.
-       (e_book_backend_groupwise_get_contact_list): If the summary file 
-       exists, reading uids from summary, otherwise reading theim from cache.
-       (get_contacts_from_cache): Given the uids, reading the contacts from
-       cache and updating the view.
-       (book_view_thread): If the summary file exists, reading the uids from 
-       summary. If the cache is up-to-date, for GroupWise system address book
-       reading the entries and replying from cache. For other GW address books,
-       reading the contacts from server, for the uids found in summary file.
-       If the cache is not sane, reading the entries from server.
-       (e_book_backend_groupwise_start_book_view): building summary file, along
-       with cache. 
-       (build_summary): Reading the cache file and build summary file with the
-       entries found in cache.
-       (update_cache): If the summary file is missing or not up-to-date, 
-       re-build summary file. Update the cache and summry files.
-       (update_addressbook_deltas): Update the GW system addressbook summary
-       along with cache. Update these files, only if the changes found in 
-       server.
-       (e_book_backend_groupwise_authenticate_user): Initialize and load the 
-       summary file.
-       (e_book_backend_groupwise_load_source): Forming the summary file name.
-       (e_book_backend_groupwise_dispose): Flush summary to disk and destroy
-       summary.
-       Fixes #303111.
-
-2005-07-25  Sushma Rai  <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (update_address_book_deltas): Freezing the file cache for 
-       GroupWise system address book at the proper place. 
-
-2005-07-25  Sushma Rai  <rsushma@novell.com>
-
-       * libebook/e-book.c: Handling gcc specific "__PRETTY_FUNCTION__" macro
-       for other compilers. Patch by 
-       "The Written Word <bugzilla-novell@thewrittenword.com>" for #271837
-
-2005-07-25  Sushma Rai  <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c: Added summary file
-       related members and some void pointers for future use, to 
-       EBookBackendGroupwisePrivate structure.
-       (e_book_backend_groupwise_init)(e_book_backend_groupwise_dispose):
-       Initialize and free newly added members. 
-       * backends/ldap/e-book-backend-ldap.c: Similar. 
-       * backends/file/e-book-backend-file.c: Similar.
-       * backends/vcf/e-book-backend-vcf.c: Similar. 
-
-2005-07-25  Sushma Rai  <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_init): Checking for the environment variable
-       value for GROUPWISE_DEBUG and using value 2 for addressbook specific 
-       debug messages.
-
-2005-07-23  Sushma Rai  <rsushma@novell.com>
-
-       * libedata-book/e-book-backend-summary.c 
-       (e_book_backend_summary_add_contact): Checking for the NULL uid. Fixes
-       the crash when GroupWise server sends contacts with NULL UID.
-
-2005-07-23  Sushma Rai  <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_authenticate_user): Added the support for 
-       refreshing the GW system address book cache at every 10 minutes or
-       at the interval specified by user using BOOK_CACHE_REFESH_INTERVAL.
-       (update_address_book_cache): spawns a thread to update the cache after 
-       specifed time interval.
-       (e_book_backend_groupwise_init): Initializing the time out to zero.
-       (e_book_backend_groupwise_dispose): Cleanup time out.
-
-2005-07-23  Sushma Rai  <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (update_address_book_deltas): Updating the cache fully. Previously only
-       CURSOR_ITEM_LIMIT items were getting upddated.
-       Also using better variable names.
-
-2005-07-13  Sushma Rai  <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c (build_cache)
-       (update_cache)(update_address_book_deltas): Freezing the cache while
-       updating and writing to disk at once. Fixes the problem of high CPU
-       usage during huge cache updates.
-
-       * addressbook/backends/ldap/e-book-backend-ldap.c 
-       (generate_cache_handler): Similar. 
-
-2005-07-09  Sushma Rai  <rsushma@novell.com>
-
-       * libebook/e-vcard.h: Defined EVC_X_BOOK_URI.
-
-       * libebook/e-contact.[ch]: Added field E_CONTACT_BOOK_URI, to store
-       the URI of the book to which the contact belongs to.
-
-       * backends/groupwise/e-book-backend-groupwise.c: Setting the book uri
-       in the contact, whenever a contact is created. This is useful for 
-       GroupWise address book, for getting the e-mail ids from a contact list
-       during autocompletion, as we don't get the list members from server for
-       autocompletion.
-       (e_book_backend_groupwise_get_contact): Setting the view as 
-       "name email default members".
-
-2005-07-06  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * backends/file/e-book-backend-file.c:
-       (e_book_backend_file_load_source): Free filename and dirname
-       in the error cases.
-
-2005-07-06  Ross Burton  <ross@burtonini.com>
-
-       * libebook/e-book-listener.c:
-       Free the private data.
-
-2005-07-06  Sushma Rai  <rsushma@novell.com>
-
-       * libedata-book/e-book-backend-cache.c 
-       (e_book_backend_cache_is_populated): Returning FALSE on error.
-
-2005-07-06  Sushma Rai  <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_authenticate_user): Updating system address
-       book, only if marked for offline usage.
-
-2005-07-05  Sushma Rai  <rsushma@novell.com>
-
-       * libebook/e-contact.[ch]: Using gconstpointer instead of 
-       const gpointer for return value of e_contact_get_const(). Fixes #309175.
-
-2005-07-04  Sushma Rai  <rsushma@novell.com>
-
-       * libedata-book/e-book-backend-sexp.c (prop_info_table[]): Added
-       E_CONTACT_UID. Fixes #309276.
-       (entry_compare): Skipping the any-field search for UID, so that we
-       we try not to  show contacts those match the query partially. 
-       Fixes #242165.
-
-2005-07-01  Sushma Rai  <rsushma@novell.com>
-
-       * backends/file/e-book-backend-file.c (book_view_thread): Checking for
-       database fatal error. Fixes the crash in case of corrupted db file.
-
-2005-06-25  Sushma Rai  <rsushma@novell.com>
-
-       * libebook/e-contact.c (e_contact_set_property): Setting TYPE=OTHER
-       default parameter to email attribute. Fixes #240756
-
-2005-06-22  Tor Lillqvist  <tml@novell.com>
-
-       * backends/*/Makefile.am (*_LIBADD): Add libebook, libedata-book,
-       libedataserver, libdb and EVOLUTION_ADDRESSBOOK_LIBS as needed to
-       satisfy -no-undefined.
-       (*_LDFLAGS): Use NO_UNDEFINED (expands to -no-undefined on
-       Windows).
-       
-       * backends/file/e-book-backend-file-factory.c
-       * libedata-book/e-book-backend-factory.c
-       * libedata-book/e-book-backend.c
-       * libedata-book/e-data-book-factory.c: Drop superfluous inclusion
-       of <pthread.h>. No pthread API was used in these files.
-
-       * backends/file/e-book-backend-file.c (set_revision)
-       * backends/vcf/e-book-backend-vcf.c (set_revision): Use
-       g_get_current_time() instead of gettimeofday().
-       
-       * libebook/Makefile.am
-       * libedata-book/Makefile.am: Use NO_UNDEFINED.
-
-       * libebook/e-book-view-listener.c: Don't include <pthread.h>. In
-       the (normally not even compiled) debugging output print the value
-       of g_thread_self() instead of pthread_self().
-
-       * libebook/e-book.c: Use GThread API instead of pthreads to start
-       the mainloop thread.
-
-       * libedata-book/e-book-backend-summary.c: Drop inclusion of
-       <netinet/in.h>. Use g_ntoh*() and g_hton*().
-
-2005-06-16  Sushma Rai  <rsushma@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c (func_contains): Ignoring 
-       "any field contains" query with NULL value, so that we don't display 
-       all the contacts while loading or refreshing the LDAP address book.
-       (e_book_backend_ldap_get_static_capabilities): Added do-initial-query,
-       so that we get a view, for notifying cache update.
-       (e_book_backend_ldap_search): Ignoring NULL LDAP query. 
-       (ldap_search_handler): Using the error code 
-       GNOME_Evolution_Addressbook_InvalidQuery, so that proper error message
-       is displayed for not handled search results.
-       (generate_cache_handler): Notifying cache update progress.
-       (e_book_backend_ldap_get_required_fields): Fixed some compile time 
-       warnings.
-       (e_book_backend_ldap_search): Similar.
-       (e_book_backend_ldap_set_mode): Similar.
-       (query_ldap_root_dse): Similar.
-
-2005-06-10  Sushma Rai  <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c:
-       (add_sequence_to_cache): Adds the sequence information to the system
-       address book cache. 
-       (build_cache): Moved out system address book cache sequence update from
-       here to add_sequence_to_cache().
-       (update_cache): Notifying status while, both replaing the cache item 
-       and adding a new item to the cache.
-       (update_address_book_deltas): If the sequnces are reset at the server,
-       not adding them to cache too.
-       If all the sequences are not available in the server or PO is rebuilt,
-       re-building the cache with the new sequence information.
-       Notifying status while updating the cache.
-       (e_book_backend_groupwise_authenticate_user): Building the system address
-       book cache if marked for offline usage. 
-
-2005-06-10  Sushma Rai  <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (book_view_notify_status): Notifying status if view is not null.
-       (find_book_view): Getting the list of views and returning the first.
-       (build_cache): Notifying the cache build progress.
-       (update_cache): Notifying the cache update progress.
-       (update_address_book_deltas): Fixed compile time warnings.
-
-2005-06-08  Srinivasa Ragavan <sragavan@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c (update_cache):
-       For the GroupWise system address book, finding the changes in server
-       and updating the cache.
-       (update_address_book_deltas): Added new. Reads the sequence ids, 
-       and adds the new items added in server, or deletes the items deleted
-       at server.
-       (e_book_backend_groupwise_authenticate_user): Calling 
-       update_address_book_deltas().
-       
-2005-05-24  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Commiting for Daniel van Eeden <daniel_e@dds.nl>
-       * libebook/e-contact.c: fixes naming consistency for
-       GroupWise. 
-       Fixes bug #271901
-
-2005-05-20  Ross Burton  <ross@burtonini.com>
-
-       * backends/file/e-book-backend-file.c:
-               Fix a large memory leak (the cursor was not being freed).
-
-2005-05-14  Hans Petter Jansson  <hpj@novell.com>
-
-       * libedata-book/e-book-backend-cache.c:
-       * libedata-book/e-book-backend-factory.c:
-       * libedata-book/e-book-backend-sexp.c:
-       * libedata-book/e-book-backend-summary.c:
-       * libedata-book/e-book-backend-sync.c:
-       * libedata-book/e-book-backend.c:
-       * libedata-book/e-data-book-factory.c:
-       * libedata-book/e-data-book-view.c:
-       * libedata-book/e-data-book.c: Wrote API docs.
-
-2005-05-11  Sushma Rai <rsushma@novell.com>
-
-       * libedata-book/e-book-backend-sexp.c (compare_name): Considering 
-       nickname also in full name query. Fixes #255756
-
-2005-05-09  Sushma Rai <rsushma@novell.com>
-
-       * backends/vcf/e-book-backend-vcf.c 
-       (e_book_backend_vcf_get_required_fields): Removed unused variable i.
-       (do_create): Checking if last revision time (E_CONTACT_REV) is set on
-       contact, if not setting it.
-       (set_revision): Reading the system time and setting it as last revision 
-       time for a contact.
-
-2005-05-09  Sushma Rai <rsushma@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c: Added E_CONTACT_REV
-       field.
-
-2005-05-09  Sushma Rai <rsushma@novell.com>
-
-       * libedata-book/e-book-backend-cache.c
-       (e_book_backend_cache_constructor): Freeing cache file name.
-
-2005-05-06  Sushma Rai  <rsushma@novell.com>
-
-       * libebook/e-vcard.c (e_vcard_attribute_add_param): Handling encoding
-       type BASE64.
-
-       * libebook/e-contact.c (n_getter): If FN attribute is not present, 
-       forming FN value from N and adding it to the vcard.
-       Fixes #268271
-
-2005-05-06  Sushma Rai  <rsushma@novell.com>
-
-       * libedata-book/e-book-backend-cache.c
-       (e_book_backend_cache_get_contacts): Freeing the list of cache objects
-       and sexp.
-       (e_book_backend_cache_search): Freeing list of contacts matching the
-       query.
-
-2005-05-04  Hans Petter Jansson  <hpj@novell.com>
-
-       * libebook/e-address-western.c:
-       * libebook/e-book-listener.c:
-       * libebook/e-book-query.c:
-       * libebook/e-book-view-listener.c:
-       * libebook/e-book-view.c:
-       * libebook/e-book.c:
-       * libebook/e-contact.c:
-       * libebook/e-destination.c:
-       * libebook/e-name-western.c:
-       * libebook/e-vcard.c: Wrote API docs.
-
-2005-04-27  Sushma Rai  <rsushma@novell.com>
-
-       * libebook/e-book.c (e_book_response_add_contact): Setting the status
-       for both synchronous and asynchronous operations.
-       (e_book_response_get_required_fields): Similar.
-       (e_book_response_get_supported_fields): Similar.
-       (e_book_response_get_supported_auth_method): Similar.
-       (e_book_response_get_contacts): Setting the status outside the
-       operation type condition check.
-       (e_book_response_generic): Similar.
-       (e_book_response_open): Similar.
-       (e_book_response_remove): Similar.
-       Fixes #273716
-
-2005-04-27  Ross Burton  <ross@burtonini.com>
-
-       * libebook/e-book-listener.c:
-       * libebook/e-book-view-listener.c:
-       * libedata-book/e-data-book-factory.c:
-       * libedata-book/e-data-book-view.c:
-       * libedata-book/e-data-book.c:
-       Use a static POA instead of creating a new one every time.
-
-2005-04-26  Ross Burton  <ross@burtonini.com>
-
-       * addressbook/libedata-book/e-data-book-factory.c:
-       Don't leak a BookListener.
-
-       * addressbook/backends/file/e-book-backend-file.c:
-       Don't leak a sexp.
-
-2005-04-11  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libebook/Makefile.am, libedata-book/Makefile.am:
-       use API_VERSION 
-
-2005-03-15  JP Rosevear  <jpr@novell.com>
-       
-       Fixes #68533 (hackily)
-       
-       * libedata-book/e-data-book-factory.c (out_of_proc_check): call
-       back to check for out of proc backends
-       (e_data_book_factory_get_n_backends): if no out of proc clients
-       are left, report no backends
-
-       * libedata-book/e-book-backend.h: new proto
-
-       * libedata-book/e-book-backend.c
-       (e_book_backend_has_out_of_proc_clients): see if the remaining
-       clients are all in proc
-
-2005-03-09  Not Zed  <NotZed@Ximian.com>
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_load_source): use a single global ref-counted
-       db-env for all opened db's.
-       (e_book_backend_file_dispose): clean up the env when finished.
-
-2005-03-07  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-bbok-backend-groupwise.c 
-       (e_book_backend_groupwise_set_mode) : notify writable
-       state after looking at priv->is_writable. Some books 
-       are read only for groupwise. 
-
-       Fixes #73021 
-
-2005-03-02  JP Rosevear  <jpr@novell.com>
-
-       Fixes #73226
-       
-       * libebook/e-destination.c (e_destination_list_get_dests): get a
-       list of destination addresses
-
-       * libebook/e-destination.h: add proto
-
-2005-03-01  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #72878
-
-       * libebook/e-destination.c (e_destination_copy): copy the raw
-       address.
-
-2005-02-28  Sivaiah Nallagatla  <snallagatla@novell.com>
-
-       * backends/groupwise/e-bbok-backend-groupwise.c 
-       (e_book_backend_groupwise_get_contact_list) 
-       (book_view_thread) (build_cache) : pass "name email
-       default members" as the view instead of just "members"
-       need to work well with latest server.
-       
-2005-02-25  Sivaiah Nallagatla  <snallagatla@novell.com>
-
-       * libedata-book/e-book-backend.c (e_book_backend_notify_writable)
-       : save the writable status in priv->writable also so that
-       when new clients are created for an existing backend we report
-       correct writable status .
-       Fixes editors being editable in some cases in offline mode
-
-2005-02-24  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c: (build_cache):
-       update the e_gw_connection_read_cursor to use the new prototype
-       that uses a position argument.
-
-2005-02-22 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_create_contact) : Return permission denied 
-       error when the book is read only. In case of read/write books
-       Make sure that server returns proper id for created contact.
-       (e_book_backend_groupwise_modify_contact) 
-       (e_book_backend_groupwise_remove_contacts) : Return 
-       permission denied in case of read only book.
-       Also use cursor version of update_cache instead of getItems
-       one 
-       Fixes #72806
-       
-2005-02-19 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * libebook/e-vcard.c (e_vcard_remove_attributes) :
-       When passed in group is NULL, remove all the attributes
-       with name as passed in attribute name even when a attribute
-       has group name.
-
-       Fixes #70908 
-
-2005-02-17  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c:
-       (e_book_backend_groupwise_authenticate_user): changed
-       the syntax of the get_categories call.
-       (e_book_backend_groupwise_dispose),
-       (e_book_backend_groupwise_init): The hash table need not
-       be created or destroyed here, since connection handles it.
-
-2005-02-14 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * libebook/e-vcard.c (read_attribute_value) :
-       Make sure that we decode only hex digits followed
-       by '=' while decoding from quoted printable encoding.
-       (read_attribute) : Reset the encoding as RAW for values
-       which are encoded in Quoated printable encoding in the
-       original vcard. We are not going encodwe them again
-       using quoated printable
-       (e_vcard_to_string_vcard_30) : use utf-8 version
-       of strlen and other functions while folding lines
-       as some the chars may be represented by more than one byte
-
-       Fixes an issue related to data loss in 1.4 -> 2.0
-       migration
-
-2005-02-10  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c
-       (e_book_backend_ldap_authenticate_user) : reconnect to
-       ldap server if simple bind returns LDAP_SERVER_DOWN
-
-       Fixes #67541
-
-2005-02-06 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * libebook/e-contact.h  :  place the E_CONTACT_REV 
-       field before E_CONTACT_NAME_ORG. It seems 
-       all strings fields should be before that, doh 
-
-2005-02-06 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * libebook/e-contact.[ch] : Added 
-       new field E_CONTACT_REV which reprsnets
-       the revision (last updated time of the contact)
-       Also Changed File As to File Under to match with ui
-
-       * backends/file/e-book-backend-file.c (do_create)
-       (e_book_backend_file_modify_contact) : set/update
-       the revsion field of the contact with current UTC time
-
-       Fixes #1069
-
-2005-02-04  Ross Burton  <ross@burtonini.com>
-
-       * backends/groupwise/create-account.c:
-       * tests/ebook/test-categories.c:
-       * tests/ebook/test-changes.c:
-       * tests/ebook/test-date.c:
-       * tests/ebook/test-ebook-async.c:
-       * tests/ebook/test-ebook-view.c:
-       * tests/ebook/test-ebook.c:
-       * tests/ebook/test-nonexistent-id.c:
-       * tests/ebook/test-photo.c:
-       * tests/ebook/test-query.c:
-       * tests/ebook/test-search.c:
-       * tests/ebook/test-self.c:
-       * tests/ebook/test-stress-bookviews.c:
-       * tests/ebook/test-string.c:
-       * tests/ebook/test-undefinedfield.c:
-       * tests/ebook/test-untyped-phones.c:
-       Remove useless libgnome usage.
-
-2005-02-04  Vivek Jain  <jvivek@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c
-       e_book_backend_groupwise_authenticate_user: (included one 
-       condition to check for the server version)
-       * idl/Evolution-DataServer-Addressbook.idl
-       included InvalidServerVersion in enum callstatus
-       * libebook/e-book-tpes.h  added enum in callstatus
-       * libebook/e-book-listner.c
-        (e_book_listner_conver_status): added conversion of InvalidServerVersion  
-       * libedata-book/e-book-backend.c 
-         (e_book_backend_open)
-         (e_book_backend_load_store) : added InvalidServerVersion as a
-       response to be accepted as success      
-
-2005-02-02  Ross Burton  <ross@burtonini.com>
-
-       * backends/file/e-book-backend-file.c:
-       * backends/groupwise/e-book-backend-groupwise.c:
-       * backends/ldap/e-book-backend-ldap.c:
-       * backends/vcf/e-book-backend-vcf.c:
-       * libebook/e-book.c:
-       * libebook/e-contact.c:
-       * libebook/e-destination.c:
-       Use glib/gi18n.h.
-
-2005-01-31  Hans Petter Jansson  <hpj@novell.com>
-
-       * backends/vcf/Makefile.am:
-       * backends/ldap/Makefile.am:
-       * backends/groupwise/Makefile.am:
-       * backends/file/Makefile.am:
-       Build as modules.
-
-2005-01-30  Sivaiah Nallagatla <snallagtla@novell.com>
-
-       * libebook/e-vcarc.c (skip_until) :
-       advancd to next char in the loop
-       (read_attribute_params) : If we reach
-       end of line after skipping invalid parameter
-       break out of loop
-       Fixes #70918
-
-2005-01-31 Sivaiah Nallagatla  <snallagatla@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c 
-       (e_book_backend_ldap_load_source) : return 
-       OfflineAvailable error code if book is not marked for
-       offline. Call _notify_connection_stautus in online case too 
-
-       
-2005-01-29  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_load_source) : Change the default 
-       port to 7191 
-
-2005-01-28  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * libedata-book/e-book-backend-sexp.c 
-       (compare_name) : while comparing name
-       use given name too along with surname and full_name strings
-       Just using full name breaks completion based on given name
-       where full name has prefixes like Mr
-       
-       Fixes #67267
-       
-2005-01-28  Sivaiah Nallagatla <snallagatla@novell.com>
-                                                                                                                             
-        * libedata-book/e-book-backend-summary.c (do_compare) :
-        use surname, givenname and full_name for searches on name
-        not just full_name value
-                                                                                                                             
-        Fixes #71827
-
-2005-01-28  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * libebook/e-book.c (e_book_cancel)
-       (do_open) (e_book_load_uri) (fetch_corba_book)
-       (e_book_get_self) (e_book_set_default_source) :
-       Generalize the messages marked for
-       translation. Fixes #68172
-       
-2005-01-27  Christophe Fergeau  <teuf@gnome.org>
-
-       * libebook/e-contact.c (e_contact_pretty_name):
-       Replace the textdomain call with bind_textdomain_codeset
-
-       Fixes #71116
-
-2005-01-24  Hans Petter Jansson  <hpj@novell.com>
-
-       * libebook/e-destination.c (e_destination_set_contact): Ref the new
-       contact before unreffing the old one. Safe if it's the same one.
-
-2005-01-23  Sivaiah Nallagatla <snallagatla@novell.com> 
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_load_source) : change if 
-       condtion from if(marked_offline) to if (!marked_offline), Doh
-
-2005-01-17  Sivaiah Nallagatla <snallagatla@novell.com> 
-
-       * backends/groupwise/e-book-backend-groupwise.c (
-       e_book_backend_groupwise_load_source) : use https always except 
-       when use_ssl is "never". This change is part of the changes done to remove
-       separate settings for ssl for soap in account config  
-
-2005-01-13  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * libedatabook/e-book-backend-summary.c (do_compare):
-       compare full_name against string instead of given name
-       and surname.This fixes is full_name query on summary
-       
-       * backends/file/e-bbok-backend-file.c 
-       (e_book_backend_file_get_contact_list) : see if
-       query is a summary query and search over summary
-       to get matching contacts instead of iterating 
-       over all contacts in db. Improves Performance 
-        
-2005-01-10  Hans Petter Jansson  <hpj@novell.com>
-
-       * backends/file/e-book-backend-file.c
-       * backends/file/e-book-backend-file.h
-       * backends/file/e-book-backend-file-factory.c
-       * backends/vcf/e-book-backend-vcf.c
-       * backends/vcf/e-book-backend-vcf.h
-       * backends/vcf/e-book-backend-vcf-factory.c
-       * backends/ldap/e-book-backend-ldap.c
-       * backends/ldap/e-book-backend-ldap.h
-       * backends/ldap/e-book-backend-ldap-factory.c
-       * backends/groupwise/e-book-backend-groupwise.c
-       * backends/groupwise/e-book-backend-groupwise.h
-       * backends/groupwise/e-book-backend-groupwise-factory.c: Update
-       copyright and license notices.
-
-2005-01-10  Hans Petter Jansson  <hpj@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c
-       (check_schema_support): Add robustness against not being connected.
-       (query_ldap_root_dse): Ditto.
-       (e_book_backend_ldap_reconnect): Ditto, and against not having a
-       book_view to signal.
-       (ldap_op_finished): Robustness.
-       (create_contact_handler): Ditto, and add the contact to cache too.
-       (e_book_backend_ldap_create_contact): Robustness.
-       (remove_contact_handler): Ditto, and remove the contact from cache.
-       (e_book_backend_remove_contacts): Ditto, and fix a memory leak.
-       (modify_contact_modify_handler): Robustness, and modify the cached
-       contact too.
-       (modify_contact_search_handler): Robustness.
-       (e_book_backend_ldap_modify_contact): Ditto.
-       (get_contact_handler): Ditto.
-       (e_book_backend_ldap_get_contact): Robustness, and implement offline
-       case.
-       (contact_list_handler): Robustness.
-       (e_book_backend_ldap_get_contact_list): Robustness, and implement
-       offline case.
-       (poll_ldap): Robustness, and set the poll_timeout to -1 when we return
-       FALSE. Otherwise we might never poll again.
-       (ldap_search_handler): Robustness.
-       (e_book_backend_ldap_search): Robustness, and implement offline case.
-       (generate_cache_handler): Implement.
-       (generate_cache_dtor): Implement.
-       (generate_cache): Implement.
-       (e_book_backend_ldap_authenticate_user): Robustness, implement offline
-       case.
-       (ldap_cancel_op): Robustness.
-       (e_book_backend_ldap_load_source): Implement offline case. Cache when
-       online.
-       (stop_views): Implement.
-       (start_views): Implement.
-       (e_book_backend_ldap_set_mode): Do nothing if mode didn't change. Kick
-       off a cache attempt when going online. Cancel running operations when
-       mode changes.
-       (call_dtor): Robustness.
-
-       * libedata-book/e-book-backend-cache.c
-       (e_book_backend_cache_get_contacts): Check that objects we retrieve
-       are likely to be vcards before trying to parse them. Fixes some
-       warnings.
-
-2004-12-24  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c 
-       (e_book_backend_ldap_set_mode) : unbind when going to offline mode
-       (e_book_backend_ldap_authenticate_user) : call e_book_backend_ldap_connect
-       after checking priv->connected state. We may not be connected here
-       when switching from offline to online 
-       
-2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c 
-       (e_book_backend_ldap_create_contact)
-       (e_book_backend_ldap_modify_contact)
-       (e_book_backend_ldap_remove_contacts)
-       (e_book_backend_ldap_get_contact)
-       (e_book_backend_ldap_get_contact_list)
-       (e_book_backned_ldap_search)
-       (e_book_backend_ldap_autheniticate_user) :
-       Don not try to connect to server when called in offline mode instead
-       return Repository offline error 
-
-2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       Part of merge from e-d-s offline branch
-       
-       * idl/Evolution-DataServer-Addressbook.idl : added notifyAuthRequired
-       api for backends to request password from clients . Added 
-       OfflineUnavailable error code
-
-       * libedata-book/e-data-book.[ch] : added new method
-       e_data_book_report_auth_required
-       
-       * libedata-book/e-book-backend.[ch] : added new method 
-       e_book_backend_notify_auth_required
-
-       * libedata-book/e-book-backend-cache.[ch] : added nw methods
-       e_book_backend_cache_set_populated and 
-       e_book_backend_cache_is_populated to set and get
-       a flag on cache to see whehter it is completely popluated
-       or not. new mehod e_book_backend_cache_search returns
-       the ids matchingg contacts
-
-       * backends/groupwise/e-book-backend-groupwise.c :
-       (build_summary) (update_summary) : removed.
-       (build_cache) (update_cache) : use these instead 
-       
-       * libebook/e-boo-listener.[ch] : new method  
-        impl_BookListener_report_auth_required;
-       (e_book_listener_convert_status) : added OfflineUnavailable error handling
-       
-       * libebook/e-book-types.h : added error code E_BOOK_ERROR_OFFLINE_UNAVAILABLE
-
-       * libebook/e-book.[ch] :
-        added new signal AUTH_REQUIRED 
-       (e_book_handle_response) : added handling for AuthRequiredEvent
-       (e_book_idle_auth_required) : new function to emit AUTH_REQUIRED signal 
-       on EBook clients 
-2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       Part of merge from e-d-s offline branch 
-       * libebook/e-book.c (e_book_handle_response) : 
-       put a break statment in LinkStateEvent case 
-2004-12-22  Sivaiah Nallagatla <snalalgatla@novell.com>
-
-       Part of merge from e-d-s offline branch
-       
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_class_init) : assingn the corresponding
-        function for new _mode virtual method.
-        (e_book_backend_groupwise_set_mode) : new function to set mode
-       (e_book_backend_groupwise_create_contact) 
-       (e_book_backend_groupwise_remove_contacts) 
-       (e_book_backend_groupwise_modify_contact ) : Added online/offline 
-       handling. When offline return repository offline 
-       error and when online do the stuff as usual 
-       (e_book_backend_groupwise_get_contact) : 
-       (e_book_backend_groupwise_get_contact_list) : 
-       (book_view_thread) : Added online /offline handling
-       When offline read the items from cache and do  not try to contact server
-       When offline read from server as usual 
-       (e_book_backend_groupwise_authenticate_user) : Added online/offline
-       handling. When in offline just return success and when online 
-       reeally auth to server
-       (e_book_backend_groupwise_load_source) : Store the original uri 
-       as it is present in incoming ESource in priv struct. We need it for creating 
-       cache file. Create and cache and summary files here
-       (populate_cache) : function to download the items from server 
-       and to populate cache 
-
-2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       Part of merge from e-d-s offline branch
-       * backends/file/e-book-backend-file.c  
-       (e_book_backend_file_class_init) : assingn the corresponding
-       function for new _mode virtual method. 
-       (e_book_backend_file_set_mode) : new function to set mode
-       . After setting mode it notifies all the clients 
-       about any changes in the connection status and writable status
-       * backends/vcf/e-book-backend-vcf.c : ditto 
-       * backends/ldap/e-book-bakcend-ldap.c : ditto
-  
-2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       Part of merge from e-d-s offline branch
-       * libedata-book/e-book-backend.[ch] : new functions 
-       (e_book_backend_set_mode) : a virtual method 
-       to set online/offline mode on backends
-       (e_book_backend_notify_writable) : A function
-       using which a backend can notify all of its clients
-       about changge in its  writable status 
-       (e_book_backend_notify_connection_status) : A fcuntion using 
-       which a backend can notify all of its clients 
-       about change in the online/offline status 
-
-       * libedata-book/e-data-book.[ch] : new function
-       (e_data_book_report_connection_status) : notifes the corresponding 
-       EBook client about change in connection status via 
-       EbookListener
-
-       * libedata-book/e-data-book-factory.[ch] : new functions
-       (e_data_book_factory_set_backend_mode) : sets the online/offline
-       mode on all the backends created by it 
-       (set_backend_online_status) : sets the online/offline status on a backend
-       (impl_GNOME_Evolution_Addressbook_BookFactory_getBook) : changed this 
-       function  set online/offline mode on the backend after creating it
-       
-       * idl/Evolution-DataServer-Addressbook.idl : Define constants
-       MODEL_LOCAL, MODE_REMOTE etc for online/offline modes
-       Added notifyConnectionStatus method to BookListner interface  
-
-       * libebook/e-book-listner.c : new function
-       (impl_BookListener_report_link_status) : informs Ebook about 
-       change in the online status of the backend it is talking to
-       
-       * libebook/e-book.[ch] :
-       Added a new signal connection_status which gets emitted whenever 
-       there is change in the connection status of the book (because 
-       of the change in the online status of the corresponding backend)
-       (e_book_is_online) : new function to get online status 
-       (e_book_handle_response) : added the handling for LinkStatusEvent 
-       (e_book_idle_connection) : new idle functions which emits
-       connection_status signal on EBook 
-       
-
-2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       Part of merge from e-d-s offline branch
-       * libedata-book/e-book-backend-cache.[ch] : 
-       added new functions e_book_backend_check_contact 
-       and e_book_backend_cache_exists 
-
-
-2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       Part of merge from e-d-s offline branch
-       
-       * libedata-book/Makefile.am : added e-book-backend-cache.c to 
-       SOURCES and e-book-backend-cache.h to HEADERS sections
-       
-2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       Part of merge from e-d-s offline branch
-       * libedata-book/e-book-backend-cache.[ch] : A new class 
-       to cache contacts on local file system to use in offline
-       mode. Based on e-file-cache.
-       
-2004-12-20  Hans Petter Jansson  <hpj@novell.com>
-
-       * libebook/e-book.c (e_book_is_opened): Implement a simple
-       accessor so we can see if a book has been successfully opened
-       previously.
-
-2004-12-19 Sivaiah Nallagatla    <snallagatla@novell.com>
-
-       * backends/ldap/e-book-backend-ldap.c 
-       (e_book_backend_ldap_build_query) : add  filter 
-        objectclass=person so that we don't get objects O, OU and other unwanted
-       objects in search results.
-
-       Fixes #68454    
-
-2004-12-11  Hans Petter Jansson  <hpj@novell.com>
-
-       * libebook/e-destination.h: Add "changed" signal.
-
-       * libebook/e-destination.c: Add "changed" signal.
-       (e_destination_class_init): Init changed signal.
-       (e_destination_set_book): Emit changed signal. Additionally, fix
-       something that looks like a long standing bug; a negated test would
-       make it crash if dest->priv->source_uid was NULL when the book was
-       being set.
-       (e_destination_set_contact_uid)
-       (e_destination_set_source_uid)
-       (e_destination_set_name)
-       (e_destination_set_email)
-       (e_destination_set_auto_recipient)
-       (e_destination_set_raw)
-       (e_destination_set_html_mail_pref)
-       (e_destination_set_contact): Emit changed signal.
-
-2004-12-09  Hans Petter Jansson  <hpj@novell.com>
-
-       * libebook/e-destination.c: Remove antiquated comments.
-
-2004-12-08  Hans Petter Jansson  <hpj@novell.com>
-
-       * libebook/Makefile.am: Build e-destination.c, install e-destination.h.
-       Link with Camel.
-
-       * libebook/e-contact.h: Include E_CONTACT_FIELD_FIRST in the field
-       enum (currently, the fields are numbered starting at 1).
-
-       * libebook/e-destination.c: Remove bogus includes.
-       (utf8_casefold_collate_len)
-       (utf8_casefold_collate): Keep local copies of these functions for now.
-       (e_destination_equal): Use local utf8_casefold_collate ().
-
-2004-12-08  Rodney Dawes <dobey@novell.com>
-
-       * libebook/e-book-contact.c: #include <config.h>
-       (e_contact_pretty_name): Bind and set the textdomain for eds so that
-       we get translated strings when we call this outside of eds, as it is
-       public API
-
-2004-12-05  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_modify_contact) 
-       (e_book_backend_groupwise_get_contact) : use the 
-       changed prototype of e_gw_connection-get_item 
-
-2004-11-28  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * libebook/e-book.[ch] :
-       (e_book_get_required_fields) 
-       (e_book_async_get_required_fields) 
-       (do_get_required_fields)
-       (e_book_response_get_required_fields)
-       (e_book_response_get_required_fields): new methods 
-       to required fields defined by backends
-       (e_book_handle_response) : added handling for
-       GetRequiredFieldsResponse case
-
-       * libebook/e-book-listener.[ch]
-       Added GetRequiredFieldsResponse to book listener
-       operations
-       (impl_BookListener_respond_get_required_fields):
-       new method for required fields
-       (e_book_listener_class_init) : init notifyRequiredFields
-       with corresponding implementation method
-
-       * idl/Evolution-DataServer-Addressbook.idl : added getRequiredFields
-       and notifyRequiredFields to book and book listener interfaces
-
-       * libedatabook/e-data-book.[ch] : 
-       (impl_GNOME_Evolution_Addressbook_Book_getRequiredFields)
-       (e_data_book_respond_get_required_fields) : new methods for required 
-       fields handling 
-       (e_data_book_class_init) : init notifyRequiredFields
-        with corresponding implementation method
-
-       * libedatabook/e-book-backend.[ch] : 
-       (e_book_backend_get_required_fields) : new methods 
-       for required fields handling.
-       
-       * libedatabook/e-book-backend-sync.[ch] : 
-       (e_book_backend_sync_get_required_fields)
-       (_e_book_backend_get_required_fields) : ditto
-       (e_book_backend_sync_class_init) : init the new get_required_fields
-       method 
-
-       * backends/file/e-book-backend-file.c :
-       (e_book_backend_file_get_required_fields) : get_required_fields
-       implementation
-       (e_book_backend_file_class_init) : init get_requires_method
-
-       * backends/vcf/e-book-backend-vcf.c :
-       (e_book_backend_vcf_get_required_fields)
-       (e_book_backend_vcf_class_init) :ditto
-
-       * backends/ldap/e-book-backend-ldap.c :
-       (e_book_backend_ldap_get_required_fields)
-       (e_book_backend_ldap_class_init) : ditto
-
-       * backends/groupwise/e-book-backend-groupwise.c :
-       (e_book_backend_groupwise_get_required_fields)
-       (e_book_backend_groupwise_class_init) :ditto
-       
-
-       
-2004-10-30  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c (
-       e_book_backend_groupwise_get_contact_list) : move e_book_backend_sexp_match_contact
-       inside if(match_needed) sp that contact won't be returned
-       where match is needed but contact does not match the criteria 
-
-2004-10-29  Diego Gonzalez <diego@pemas.net>
-
-        * backends/file/e-book-backend-file.c (e_book_backend_file_modify_contact):
-        don't crash if the UID of the contact being commited is NULL.
-
-2004-10-29  Diego Gonzalez <diego@pemas.net>
-
-         * libebook/e-book.c (do_commit_contact): when doing a e_book_commit_contact,
-         several times, the first time that this funcion was called with the
-         sync flag it cleared the UID of the contact, in the next operation the
-         server would crash due to the UID being null. This fixes the client side
-         and seems to work without a glitch.
-
-         I just removed the e_contact_set as it seems (from visual inspection of
-         e_contact_set) that this operation doesn't cause any call in the backend,
-         and thus it will not force the previous operation to be completed.
-
-2004-10-26  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * libedata-book/e-book-backend-sexp.c : Remove E_CONTACT_UID 
-       from the list of feilds we search in. 
-       Fixes #42165 
-
-2004-10-25  JP Rosevear  <jpr@novell.com>
-
-       From Anders Carlsson <andersca@gnome.org>
-       
-       * libedata-book/e-book-backend-factory.c
-       (e_book_backend_factory_get_type): allocate the right size for the
-       class
-
-2004-10-24  Nat Friedman  <nat@novell.com>
-
-       * libedata-book/e-book-backend-sexp.c (compare_im_groupwise): Make
-       GroupWise IM names searchable.
-
-2004-10-14  Rodney Dawes  <dobey@novell.com>
-
-       * backends/*/Makefile.am: Add -avoid-version to LDFLAGS for all
-       of the backends
-       
-2004-10-13 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backend/groupwise/e-book-backend-groupwise.c (
-       e_book_backend_groupwise_create_contact) 
-       (e_book_backend_groupwise_get_contact_list)
-       (book_view_thread) (e_book_backend_groupwise_authenticate_user)
-       : call the e_gw_connection_* api again if the retuned status 
-       code is E_GW_CONNECTION_STATUS_INVALID_CONNECTION. Part of the fix 
-       for #64298 
-
-2004-10-04  Chris Toshok  <toshok@ximian.com>
-
-       * backends/groupwise/e-book-backend-groupwise-factory.c: use the new
-       E_BOOK_BACKEND_FACTORY_SIMPLE macro.
-
-       * backends/groupwise/e-book-backend-groupwise-factory.h: nuke
-       
-       * backends/groupwise/Makegroupwise.am (libebookbackendgroupwise_la_SOURCES):
-       remove e-book-backend-groupwise-factory.h.
-
-       * backends/ldap/e-book-backend-ldap-factory.c: use the new
-       E_BOOK_BACKEND_FACTORY_SIMPLE macro.
-
-       * backends/ldap/e-book-backend-ldap-factory.h: nuke
-       
-       * backends/ldap/Makeldap.am (libebookbackendldap_la_SOURCES):
-       remove e-book-backend-ldap-factory.h.
-       
-       * backends/vcf/e-book-backend-vcf-factory.c: use the new
-       E_BOOK_BACKEND_FACTORY_SIMPLE macro.
-
-       * backends/vcf/e-book-backend-vcf-factory.h: nuke
-       
-       * backends/vcf/Makevcf.am (libebookbackendvcf_la_SOURCES):
-       remove e-book-backend-vcf-factory.h.
-
-       
-       * backends/file/e-book-backend-file-factory.c: use the new
-       E_BOOK_BACKEND_FACTORY_SIMPLE macro.
-
-       * backends/file/e-book-backend-file-factory.h: nuke
-       
-       * backends/file/Makefile.am (libebookbackendfile_la_SOURCES):
-       remove e-book-backend-file-factory.h.
-
-       * libedata-book/e-book-backend-factory.h: add a macro for all the
-       factory boilerplate.
-
-2004-10-04  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise-ebook-backend-groupwise.c :
-       (e_book_backend_groupwise_build_gw_filter) : add an argument 
-       to get the search string present in query
-       (book_view_thread) : create a gw filter with just firstName
-       and lastNmae in case of system address book. This is to simplify the
-       auto completion query. Server team believes that this improves scalability limit 
-       (e_book_backend_groupwise_get_contact_list) : pass NULL to 
-       extra arument added to e_book_backend_groupwise_build_gw_filter
-       . We do't need top get back serch string here 
-
-
-2004-09-30  Hans Petter Jansson  <hpj@ximian.com>
-
-       Fixes bug #66368.
-
-       * libebook/e-contact.c (e_contact_new_from_vcard): If the constructed
-       vcard does not have a file_as attribute, try to generate one.
-
-2004-09-30  Chris Toshok  <toshok@ximian.com>
-
-       * libedata-book/e-data-book-factory.c
-       (e_data_book_factory_register_backend): this function takes an
-       EBookBackendFactory* now, instead of an EBookBackendFactoryFn.
-       (e_data_book_factory_register_backends): new function.  Get the
-       extensions that implement E_TYPE_BOOK_BACKEND_FACTORY, and
-       register them.
-       (e_data_book_factory_lookup_backend_factory): use an
-       EBookBackendFactory instead of EBookBackendFactoryFn.
-       (impl_GNOME_Evolution_Addressbook_BookFactory_getBook): change to
-       match the EBookBackendFactoryFn -> EBookBackendFactory switch.
-
-       * libedata-book/e-book-backend.h: remove typedef for
-       EBookBackendFactoryFn.
-
-       * libedata-book/e-book-backend-sync.h: remove typedef for
-       EBookBackendSyncFactoryFn, since it wasn't ever used (and even the
-       non-sync version is obsolete now.)
-
-       * libedata-book/e-book-backend-factory.[ch]: new file, superclass
-       for all dynamically loaded addressbook factories.
-
-       * libedata-book/Makefile.am (libedata_book_la_SOURCES): add
-       e-book-backend-factory.c
-       (libedata_bookinclude_HEADERS): add e-book-backend-factory.h
-
-       * libebook/e-book.c (activate_factories_for_uri): don't look for
-       factories based on the supported_protocol property, since we can't
-       use those anymore with dynamically loaded backends.
-
-       * backends/file/e-book-backend-file-factory.[ch]: new files,
-       subclass EBookBackendFactory.
-
-       * backends/file/Makefile.am (extension_LTLIBRARIES):
-       libebookbackendfile.la is no longer noinst.
-       (libebookbackendfile_la_SOURCES): add
-       e-book-backend-file-factory.[ch].
-
-       * backends/groupwise/e-book-backend-groupwise-factory.[ch]: new
-       files, subclass EBookBackendFactory.
-       
-       * backends/groupwise/Makefile.am (extension_LTLIBRARIES):
-       libebookbackendgroupwise.la is no longer noinst.
-       (libebookbackendfile_la_SOURCES): add
-       e-book-backend-groupwise-factory.[ch].
-
-       * backends/ldap/e-book-backend-ldap-factory.[ch]: new files,
-       subclass EBookBackendFactory.
-       
-       * backends/ldap/Makefile.am (extension_LTLIBRARIES):
-       libebookbackendldap.la is no longer noinst.
-       (libebookbackendfile_la_SOURCES): add
-       e-book-backend-ldap-factory.[ch].
-
-       * backends/vcf/e-book-backend-vcf-factory.[ch]: new files,
-       subclass EBookBackendFactory.
-       
-       * backends/vcf/Makefile.am (extension_LTLIBRARIES):
-       libebookbackendvcf.la is no longer noinst.
-       (libebookbackendfile_la_SOURCES): add
-       e-book-backend-vcf-factory.[ch].
-       
-2004-09-23  Diego Gonzalez  <diego@pemas.net>
-
-       Fixes #66574.
-
-       * libebook/e-book.c (e_book_get_self): open the book before
-       getting the contact.
-
-2004-09-23  JP Rosevear  <jpr@novell.com>
-
-       * libebook/Makefile.am: build a versioned lib, don't hard
-       code the pkgconfig version
-
-       * libedata-book/Makefile.am: ditto
-       
-       * backends/file/Makefile.am: link against the correct library
-       version
-       
-       * backends/groupwise/Makefile.am: ditto
-
-       * backends/vcf/Makefile.am: ditto
-
-       * backends/ldap/Makefile.am: ditto
-
-       * tests/vcard/Makefile.am: ditto
-
-       * tests/ebook/Makefile.am: ditto
-       
-2004-09-22  William Jon McCann  <mccann@jhu.edu>
-
-       * libebook/e-book.c (emit_async_open_response)
-       (e_book_response_open): 
-       * libebook/e-book-view-listener.c (d): Disable debugging noise.
-
-2004-09-16 Sivaiah Nallagatla  <snallagatla@novell.com>
-
-       * backends/gropwise/e-book-backend-groupwise.c
-       (e_book_backend_groupwise_get_contact_list) :
-       don't try to search over summary in case of system addr book
-       as we don't maintain one. 
-
-2004-09-13  Hans Petter Jansson  <hpj@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c: Revert the LDAP attribute names
-       changed by Sivaiah's last commit.
-
-2004-09-09  Hans Petter Jansson  <hpj@ximian.com>
-
-       Fixes #63385.
-
-       * libebook/e-book.c (fetch_corba_book): Use g_signal_connect_object ()
-       to connect to the listener, so we won't be destroyed in another thread
-       while processing signals from it.
-       (e_book_dispose): Only disconnect the listener signal if it hasn't
-       already been done by GLib. Bug compatibility.
-
-2004-09-06  Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * backends/ldap/e-book-backend-ldap.c : Update 
-       the ldap attribute names for calendar ui and free busy uri
-       fileds to match with what is present in evolutionPerson.schema
-       (add_to_supported_fields) : add E_CONTACT_EMAIL_1 also to list of supported fields.
-       Also use e_contact_field_name function instead of hardcodring field names
-        (anniversary_populate) : correct incorrect contact date
-       parameter passing. Also free the contact date
-
-       Fixes some of the issues mentioned in #59582    
-       
-2004-08-26  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_authenitcate_user) : don' try 
-       to get container id and categories if we have already authenitcated
-        Fixes #63844
-
-       
-2004-08-25  Frederic Crozat  <fcrozat@mandrakesoft.com>
-
-       * tests/ebook/test-photo.c:
-       Add missing prototype.
-
-2004-08-23  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_get_contact_list)
-       (book_view_thread)
-       (set_members_in_gw_item) : add "members" view 
-       while getting items explicitly to take care of change in server 
-       behaviour 
-        (e_book_backnd_groupwise_start_book_view) : make the thread 
-       non-joinable 
-       (e_book_backend_groupwise_stop_book_view) : don;'t try to join
-       the thread as it is acusing gui blokcing when server response is slow   
-       
-2004-08-20  Chris Toshok  <toshok@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c
-       (e_book_backend_ldap_dispose): free bl->priv->schema_dn.
-
-2004-08-20  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backend/groupwise/e-book-backend-groupwise.c (populate_full_name) :
-       ignore the name prefix returned by server as it is reurning incorrect values
-       see #63225 
-
-2004-08-19  Chris Toshok  <toshok@ximian.com>
-
-       [ part of fix for #60889 ]
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_load_source): add DB_THREAD flag to all calls
-       to db->open.
-       (string_to_dbt): set dbt->flags to DB_DBT_USERMEM.
-       (e_book_backend_file_modify_contact): set dbt->flags to
-       DB_DBT_MALLOC and free the dbt's data when we're done.
-       (e_book_backend_file_get_contact): same.
-       (book_view_thread): same.
-       (e_book_backend_file_changes_foreach_key): same.
-       (e_book_backend_file_maybe_upgrade_db): same.
-       
-2004-08-17  Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * backends/groupwise/e-book-backend-groupwise.c (func_begins_with):
-       do a OR operation insted of assinging BEGINS_WITH_FILE_AS
-
-2004-08-17  Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * backends/groupwise/e-book-backend-groupwise.c (book_view_thread) :
-       don't update the view with contact when id is not present. Send the 
-       "name email" view to server when the query is for auto-completion
-       don't try to search on system address book with out filter
-       (e_book_backend_groupwise_build_gw_filter) : add an extra argument to know 
-       whether the query is auto-completion one or not 
-       (e_book_backend_groupwise_get_contact_list) : call the updated build_gw_filter 
-       method
-       (e_book_backend_groupwise_remove) : return error when 
-       there is an attempt to remove System adddress book
-       (e_book_backend_groupwise_get_supported_auth_methods ) : return plain/password 
-       
-2004-08-16  Chris Toshok  <toshok@ximian.com>
-
-       * backends/vcf/e-book-backend-vcf.c: keep both a hash table and a
-       GList around for the contacts.
-       (insert_contact): insert the contact into the GList and insert the
-       GList* into the hashtable.
-       (save_file): just use the GList directly instead of building it up
-       from the hash table.
-       (do_create): call insert_contact instead of directly inserting
-       into the hash table.
-       (e_book_backend_vcf_remove_contacts): remove the contact from both
-       the hashtable and the list.
-       (e_book_backend_vcf_modify_contact): just update the GList.
-       (e_book_backend_vcf_get_contact): the hashtable contains GList*'s.
-       (foreach_get_contact_compare): this is a GFunc now, not a GHFunc.
-       (e_book_backend_vcf_get_contact_list): iterate over the list, not
-       the hashtable.
-       (foreach_search_compare): nuke.
-       (book_view_thread): do the iteration here, and break out properly
-       when the search is stopped.
-       (e_book_backend_vcf_load_source): use g_hash_table_new instead of
-       _new_full here.
-       (e_book_backend_vcf_dispose): destroy the list and free the hash
-       keys.
-
-2004-08-13  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (populate_birth_date), (populate_full_name),
-       (set_emails_in_gw_item) : patch
-       from Vincent Noel (vnoel@cox.net) to fix
-       #62597 
-       
-2004-08-12  Sivaiah Nallagatla <snallagatla@novell.com>
-
-        * backends/ldap/e-book-backend-ldap.c
-        (e_book_backend_ldap_get_static_capabilities) : add "anon-access"
-        static capability
-
-2004-08-09  Chris Toshok  <toshok@ximian.com>
-
-       * tests/vcard/README (Test): add note about 11.vcf.
-
-2004-08-03  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes #61719 ]
-       * libebook/e-vcard.c (read_attribute_params): fix the one
-       remaining g_assert_not_reached case.
-
-2004-08-03  Chris Toshok  <toshok@ximian.com>
-
-       * tests/vcard/Makefile.am (EXTRA_DIST): add 11.vcf.
-
-       * tests/vcard/11.vcf: new test, for missing attribute parameters.
-
-2004-07-23  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c
-       (e_book_backend_groupwise_load_source) : read the "use_ssl"
-       property from ESource and form the uri accrodingly
-       (e_book_backend_groupwise_authenticate_user) : when "use_ssl" is
-       "when-posible", try with https first and then http if that fails.
-       (e_book_backend_groupwise_init) (e_book_backend_groupwise_dispose) :
-       initialize and free the newly added priv member use_ssl
-
-2004-07-19  Hans Petter Jansson  <hpj@ximian.com>
-
-       Really fixes #61052, #61466, #61160. Tested.
-
-       * libebook/e-book.c (e_book_op_remove): Don't lock the book's
-       mutex here, for symmetry with e_book_new_op ().
-       (do_add_contact): Lock book around op removal.
-       (do_commit_contact): Ditto.
-       (do_get_supported_fields): Ditto.
-       (do_get_supported_auth_methods): Ditto.
-       (do_authenticate_user): Ditto.
-       (do_get_contact): Ditto.
-       (do_get_contacts): Ditto.
-       (do_get_changes): Ditto.
-       (do_open): Ditto.
-       (do_remove): Ditto.
-       (emit_async_add_contact_response): Widen the scope of the
-       book's lock.
-       (emit_async_elist_response): Ditto.
-       (emit_async_get_contact_response): Ditto.
-       (emit_async_get_book_view_response): Ditto.
-       (emit_async_get_contacts_response): Ditto.
-       (emit_async_get_changes_response): Ditto.
-       (emit_async_generic_response): Ditto.
-       (emit_async_open_response): Ditto.
-       (e_book_response_add_contact): Lock book around op manipulation,
-       widen scope.
-       (e_book_response_get_supported_fields): Ditto.
-       (e_book_response_get_supported_auth_methods): Ditto.
-       (e_book_response_get_contact): Ditto.
-       (e_book_response_get_book_view): Ditto.
-       (e_book_response_get_contacts): Ditto.
-       (e_book_response_get_changes): Ditto.
-       (e_book_response_generic): Ditto.
-       (e_book_response_open): Ditto.
-       (e_book_response_remove): Ditto.
-
-2004-07-19  Sivaiah Nallagatla <snallagatla@novell.com> 
-       
-       * libedata-book/e-book-backend-sexp.c (compare_address) : provided
-       implementation, search in all fileds of all types of addresses 
-       till a match occurs
-       Fixes #58701
-  
-2004-07-16  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes #61052 ]
-       
-       * libebook/e-book.c (e_book_op_remove): lock the book's mutex
-       around operations on the id_to_op hashtable, as is done in all
-       other e_book_* functions.
-       (emit_async_add_contact_response): lock the book's mutex around
-       operations on the pending_idle list.
-       (e_book_response_add_contact): same.
-       (emit_async_elist_response): same.
-       (e_book_response_get_supported_fields): same.
-       (e_book_response_get_supported_auth_methods): same.
-       (emit_async_get_contact_response): same.
-       (e_book_response_get_contact): same.
-       (emit_async_get_book_view_response): same.
-       (e_book_response_get_book_view): same.
-       (emit_async_get_contacts_response): same.
-       (e_book_response_get_contacts): same.
-       (emit_async_get_changes_response): same.
-       (e_book_response_get_changes): same.
-       (emit_async_generic_response): same.
-       (e_book_response_generic): same.
-       (emit_async_open_response): same.
-       (e_book_response_open): same.
-       (e_book_response_remove): same.
-       
-2004-07-14  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book.c (e_book_idle_writable): simplify this a bit,
-       since we don't need to pass the writable state in a closure - we
-       can just get it from the book.  also wrap stuff up in a mutex
-       since we can get multiple report_writable calls from a backend.
-       (e_book_handle_response): make sure we only have 1 idle call at a
-       time going, and simplify the closure passing to be just the EBook.
-       same with the mutex juju.
-       (e_book_dispose): remove the writable idle callback if there is
-       one registered.
-
-2004-07-13  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book.c (e_book_get_self): only propagate the GError
-       if @error != NULL.  Fixes some console warnings.
-       (e_book_set_default_source): same.
-       (e_book_new_system_addressbook): same.
-       (e_book_new_default_addressbook): same.
-
-2004-07-13  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes #58639 ]
-       
-       * libebook/e-book-listener.c (impl_BookListener_respond_get_view):
-       no need to wrap the g_signal_emit with dup_ref/release_unref.  the
-       construct for EBookView does a dup_ref of its own.
-
-       * libedata-book/e-data-book-view.c
-       (e_data_book_view_notify_update): don't call
-       e_data_book_view_notify_remove when the pending_mutex is already
-       called.  call notify_remove directly.
-       
-2004-07-09  Chris Toshok  <toshok@ximian.com>
-
-       [ part of fix for #56520 ]
-       
-       * backends/groupwise/e-book-backend-groupwise.c
-       (e_book_backend_groupwise_get_static_capabilities): add
-       "contact-lists".
-
-       * backends/vcf/e-book-backend-vcf.c
-       (e_book_backend_vcf_get_static_capabilities): add "contact-lists".
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_get_static_capabilities): add
-       "contact-lists".
-
-2004-07-03  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (book_view_thread) : fix the problem
-       of returning from the fucntion without singalling the
-       parent thread when cnc is null. A probable fix for #60947
-       Also send the query to server when summary is not present
-       (build_summary), (update_summary) : set priv->is_summary_ready 
-       to TRUE when summary loading is done  
-        
-2004-06-26  Chris Toshok  <toshok@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c (get_ldap_library_info): use
-       ldap_unbind_ext_s.
-       (e_book_backend_ldap_connect): same.
-       (e_book_backend_ldap_dispose): unbind our LDAP* when we're shut
-       down.
-
-       * libedata-book/e-data-book-view.h: add prototype for
-       e_data_book_view_set_thresholds.
-
-2004-06-24  Hans Petter Jansson  <hpj@ximian.com>
-
-       See bug #51127.
-
-       * backends/vcf/e-book-backend-vcf.c (e_book_backend_vcf_load_source):
-       Don't add a default vcard to new books.
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_load_source): Don't add default vcard to new
-       books.
-
-2004-06-23  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book.c (e_book_response_add_contact): ref in the
-       assignment.
-       (e_book_response_get_supported_fields): same.
-       (e_book_response_get_supported_auth_methods): same.
-       (emit_async_get_contact_response): unref the book before
-       returning.
-       (e_book_response_get_contact): ref the book in the assignment.
-       (emit_async_get_book_view_response): unref the book before
-       returning.
-       (e_book_response_get_book_view): ref the book in the assignment.
-       (e_book_response_get_contacts): same.
-       (emit_async_get_changes_response): unref the book before
-       returning.
-       (e_book_response_get_changes): ref the book in the assignment.
-       (emit_async_generic_response): we ref before registering the idle
-       handler.
-       (e_book_response_generic): ref the book in the assignment.
-       (emit_async_open_response): unref the book before returning
-       (e_book_response_open): ref the book in the assignment.
-       (e_book_response_remove): same.
-
-2004-06-23  Hans Petter Jansson  <hpj@ximan.com>
-
-       * libebook/e-book.c (emit_async_generic_response): Keep a ref on
-       the book while we're accessing it, since the callback might unref
-       it to zero, causing a crash.
-
-2004-06-22  Chris Toshok  <toshok@ximian.com>
-
-       * libedata-book/e-data-book-view.c
-       (e_data_book_view_set_thresholds): allow consumers of
-       EDataBookView to control the thresholds used in aggregating
-       contacts before sending them to the gui.  allows us to implement
-       the different thresholds that were used in the 1.4.x ldap and file
-       backends.
-
-       * libedata-book/e-data-book-view.h: add prototype for
-       e_data_book_view_set_thresholds.
-
-2004-06-21  Chris Toshok  <toshok@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c
-       (e_book_backend_ldap_search): clamp the search result limit to the
-       ldap backend's limit.
-
-2004-06-21  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-contact.c (e_contact_get_const): reorder some stuff
-       so we only generate 1 free per string on object destruction.
-
-2004-06-21  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-contact.c (e_contact_get_const): cache the most
-       recently fetched const pointer so we can hand it out more than
-       once (unless there's an intervening _set).  Should substantially
-       lessen the number of allocations we do because of this function.
-       (e_contact_set): clear the cached slot for this field, so we'll
-       allocate/return a new const string from e_contact_get_const.
-
-2004-06-18  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes #59978 ]
-       
-       * backends/ldap/e-book-backend-ldap.c (photo_ber): implement
-       (photo_compare): same.
-       (prop_info): set add ber/compare functions for E_CONTACT_PHOTO.
-
-2004-06-18  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book.c (e_book_new_system_addressbook): "oops".
-
-2004-06-18  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes #57628 ]
-       
-       * libebook/e-book.c (e_book_new_system_addressbook): use the
-       new_default_addressbook model, and search for a property on
-       sources (system=true).  If we find one, use that source, otherwise
-       default to ~/.evolution/local/system.
-
-2004-06-17  Chris Toshok  <toshok@ximian.com>
-
-       * tests/ebook/test-ebook-async.c: down with e-book-async.h, up
-       with e-book.h.
-
-       * libedata-book/e-data-book.h: add @opid args to all the
-       e_data_book_respond* functions.
-
-       * libedata-book/e-data-book.c
-       (impl_GNOME_Evolution_Addressbook_Book_open): add @opid arg and
-       pass it on.
-       (impl_GNOME_Evolution_Addressbook_Book_remove): same.
-       (impl_GNOME_Evolution_Addressbook_Book_getContact): same.
-       (impl_GNOME_Evolution_Addressbook_Book_getContactList): same.
-       (impl_GNOME_Evolution_Addressbook_Book_authenticateUser): same.
-       (impl_GNOME_Evolution_Addressbook_Book_addContact): same.
-       (impl_GNOME_Evolution_Addressbook_Book_removeContacts): same.
-       (impl_GNOME_Evolution_Addressbook_Book_modifyContact): same.
-       (impl_GNOME_Evolution_Addressbook_Book_getBookView): same.
-       (impl_GNOME_Evolution_Addressbook_Book_getChanges): same.
-       (impl_GNOME_Evolution_Addressbook_Book_getSupportedFields): same.
-       (impl_GNOME_Evolution_Addressbook_Book_getSupportedAuthMethods): same.
-       (e_data_book_respond_open): same.
-       (e_data_book_respond_remove): same.
-       (e_data_book_respond_create): same.
-       (e_data_book_respond_remove_contacts): same.
-       (e_data_book_respond_modify): same.
-       (e_data_book_respond_authenticate_user): same.
-       (e_data_book_respond_get_supported_fields): same.
-       (e_data_book_respond_get_supported_auth_methods): same.
-       (e_data_book_respond_get_book_view): same.
-       (e_data_book_respond_get_contact): same.
-       (e_data_book_respond_get_contact_list): same.
-       (e_data_book_respond_get_changes): same.
-
-       * libedata-book/e-book-backend.h: add @opid args everywhere.
-
-       * libedata-book/e-book-backend.c (e_book_backend_open): add @opid
-       arg, and pass it along to the backend subclass, as well as all
-       calls to e_data_book_respond_*.
-       (e_book_backend_remove): same.
-       (e_book_backend_create_contact): same.
-       (e_book_backend_remove_contacts): same.
-       (e_book_backend_modify_contact): same.
-       (e_book_backend_get_contact): same.
-       (e_book_backend_get_contact_list): same.
-       (e_book_backend_start_book_view): same.
-       (e_book_backend_stop_book_view): same.
-       (e_book_backend_get_changes): same.
-       (e_book_backend_authenticate_user): same.
-       (e_book_backend_get_supported_fields): same.
-       (e_book_backend_get_supported_auth_methods): same.
-
-       * libedata-book/e-book-backend-sync.h: add @opid args everywhere.
-
-       * libedata-book/e-book-backend-sync.c
-       (e_book_backend_sync_create_contact): add @opid arg and pass it
-       along to subclass.
-       (e_book_backend_sync_remove): same.
-       (e_book_backend_sync_remove_contacts): same.
-       (e_book_backend_sync_modify_contact): same.
-       (e_book_backend_sync_get_contact): same.
-       (e_book_backend_sync_get_contact_list): same.
-       (e_book_backend_sync_get_changes): same.
-       (e_book_backend_sync_authenticate_user): same.
-       (e_book_backend_sync_get_supported_fields): same.
-       (e_book_backend_sync_get_supported_auth_methods): same.
-       (_e_book_backend_remove): same.
-       (_e_book_backend_create_contact): same.
-       (_e_book_backend_remove_contacts): same.
-       (_e_book_backend_modify_contact): same.
-       (_e_book_backend_get_contact): same.
-       (_e_book_backend_get_contact_list): same.
-       (_e_book_backend_get_changes): same.
-       (_e_book_backend_authenticate_user): same.
-       (_e_book_backend_get_supported_fields): same.
-       (_e_book_backend_get_supported_auth_methods): same.
-
-       * libebook/e-book.c (struct EBookOp): augment this structure with
-       enough info to handle the asynchronous operations.
-       (struct _EBookPrivate): remove the current_op pointer and add a
-       hashtable mapping ids to ops.  The current sync op is always id 0.
-       (e_book_new_op): add @sync arg.
-       (e_book_get_op): add @opid arg, and look up the op in the
-       hashtable.
-       (e_book_get_current_sync_op): convenience function to lookup the
-       current sync op.
-       (e_book_op_remove): remove the op from the hashtable.
-       (do_add_contact): split out all the code from e_book_add_contact
-       here, and make it handle both synchronous and async calling
-       sequences.
-       (e_book_add_contact): call do_add_contact.
-       (e_book_async_add_contact): same.
-       (e_book_response_add_contact): handle both sync/async ops.  sync =
-       notify on our cvar and return.  async = add idle handler that will
-       call the op's callback.
-       (emit_async_add_contact_response): idle handler for adding
-       contacts asynchronously.
-       (do_commit_contact): same pattern as above...
-       (do_get_supported_fields): same.
-       (do_get_supported_auth_methods): same.
-       (do_authenticate_user): same.
-       (do_get_contact): same.
-       (do_remove_contacts): same.
-       (do_get_book_view): same.
-       (do_get_contacts): same.
-       (do_get_changes): same.
-       (do_open): same.
-       (do_remove): same.
-
-       * libebook/e-book.h: move all the async api foo here.
-
-       * libebook/e-book-listener.h (struct _EBookListenerResponse): add
-       opid slot.
-
-       * libebook/e-book-listener.c
-       (impl_BookListener_respond_create_contact): add @opid arg and add
-       it to the response struct.
-       (impl_BookListener_respond_remove_contacts): same.
-       (impl_BookListener_respond_modify_contact): same.
-       (impl_BookListener_respond_get_contact): same.
-       (impl_BookListener_respond_get_contact_list): same.
-       (impl_BookListener_respond_get_view): same.
-       (impl_BookListener_respond_get_changes): same
-       (impl_BookListener_respond_open_book): same.
-       (impl_BookListener_respond_remove_book): same.
-       (impl_BookListener_respond_authentication_result): same.
-       (impl_BookListener_respond_get_supported_fields): same.
-       (impl_BookListener_respond_get_supported_auth_methods): same.
-
-       * libebook/Makefile.am (libebook_la_SOURCES): remove
-       e-book-async.c
-       (libebookinclude_HEADERS): remove e-book-async.h
-
-       * idl/Evolution-DataServer-Addressbook.idl: add opid args to all
-       the oneway void Book methods, and to all the responses in
-       BookListener.
-
-       * backends/vcf/e-book-backend-vcf.c
-       (e_book_backend_vcf_create_contact)
-       (e_book_backend_vcf_remove_contacts)
-       (e_book_backend_vcf_modify_contact)
-       (e_book_backend_vcf_get_contact)
-       (e_book_backend_vcf_get_contact_list)
-       (e_book_backend_vcf_authenticate_user)
-       (e_book_backend_vcf_get_supported_fields): add @opid arg.
-       (init_closure): make this more like the file:// backend.
-       (closure_destroy): free the cvar.
-       (book_view_thread): move the search code into another thread.
-       (e_book_backend_vcf_start_book_view): steal this from the file
-       backend.
-       (e_book_backend_vcf_stop_book_view): same.
-
-       * backends/ldap/e-book-backend-ldap.c (struct LDAPOp): add opid.
-       (ldap_op_add): add @opid arg.
-       (create_contact_handler): use op->opid in calls to
-       e_data_book_respond_*.
-       (e_book_backend_ldap_create_contact): same.
-       (remove_contact_handler): same.
-       (e_book_backend_ldap_remove_contacts): same.
-       (modify_contact_modify_handler): same.
-       (modify_contact_search_handler): same.
-       (e_book_backend_ldap_modify_contact): same.
-       (get_contact_handler): same.
-       (e_book_backend_ldap_get_contact): same.
-       (contact_list_handler): same.
-       (e_book_backend_ldap_get_contact_list): same.
-       (e_book_backend_ldap_authenticate_user): same.
-       (e_book_backend_ldap_get_supported_fields): same.
-       (e_book_backend_ldap_get_supported_auth_methods): same.
-       (e_book_backend_ldap_get_changes): add @opid arg.
-       (e_book_backend_ldap_remove): same.
-
-       * backends/groupwise/e-book-backend-groupwise.c
-       (e_book_backend_groupwise_create_contact)
-       (e_book_backend_groupwise_remove_contacts)
-       (e_book_backend_groupwise_modify_contact)
-       (e_book_backend_groupwise_get_contact)
-       (e_book_backend_groupwise_get_contact_list)
-       (e_book_backend_groupwise_get_changes)
-       (e_book_backend_groupwise_authenticate_user)
-       (e_book_backend_groupwise_get_supported_fields)
-       (e_book_backend_groupwise_get_supported_auth_methods)
-       (e_book_backend_groupwise_remove): : add @opid arg, and pass it to
-       e_data_book_respond_* functions.
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_create_contact)
-       (e_book_backend_file_remove_contacts)
-       (e_book_backend_file_modify_contact)
-       (e_book_backend_file_get_contact)
-       (e_book_backend_file_get_contact_list)
-       (e_book_backend_file_get_changes)
-       (e_book_backend_file_authenticate_user)
-       (e_book_backend_file_get_supported_fields)
-       (e_book_backend_file_remove): add @opid arg.
-
-2004-06-16  Not Zed  <NotZed@Ximian.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c
-       (e_book_backend_groupwise_cancel_operation): implement, noop
-       currently.  Saves an assert exploding the server.
-
-       * backends/ldap/e-book-backend-ldap.c
-       (e_book_backend_ldap_cancel_operation): implement.
-       (ldap_cancel_op): cancel each operation synchronously (?).
-       Related to #56479.
-
-2004-06-15 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (populate_contact_members) : set EVC_X_DEST_CONTACT_UID
-       EVC_X_DEST_NAME parameters also
-       (set_members_in_gw_item) : read the uid's of contacts
-       and use them instead of searching based on email values
-       
-2004-06-09  Chris Toshok  <toshok@ximian.com>
-
-       [ probable fix for #58803 ]
-       
-       * backends/ldap/e-book-backend-ldap.c (ldap_search_handler):
-       remove the ref/unref of the book view here.
-       (e_book_backend_ldap_search): move the dup_ref of the book view
-       here.
-       (ldap_search_dtor): and the release_unref to here.
-
-2004-06-09  Chris Toshok  <toshok@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c (ldap_search_dtor): we don't
-       need to lock/unlock the view's mutex anymore.
-
-2004-06-07  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes bug #58606 ]
-       
-       * libebook/e-vcard.c (read_attribute_params): actually do what the
-       commend above this block says - if there aren't values, free the
-       parameter and skip past the character (unless it's a :).
-
-2004-06-03 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c
-       (update_summary) : new function to update the summary after
-       getting the changes from server
-       
-2004-06-01 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c
-       (e_book_backend_groupwise_remove_contacts) : use the new
-       e_gw_connection_remove_items which removes all the items form the
-       server at once instead of sending one request for each item
-
-2004-05-28 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c
-       ( e_book_backend_groupwise_authenicate_user) : form the summary
-       (e_book_backend_groupwise_start_book_view),
-       (e_book_backend_groupwise_get_contact_list) : search over the
-       summary to get ids and retrieve those items from the summary
-
-2004-05-25 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c
-       (e_book_backend_groupwise_load_source) : port is no longer part of
-       uri, read it from e-source
-       (set_memebers_in_groupwise_item) : compare emails with ignore case
-       fixes #58888
-
-2004-05-25  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book-query.c (e_book_query_to_string): encode the
-       values we place in the sexp.
-
-2004-05-20  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes bug #58495 ]
-       
-       * libebook/e-book-async.c (worker): this is now a thread pool
-       function, so there's no to_worker_queue to pop things off of.
-       (init_async): create the thread pool with MAX_WORKERS threads
-       maximum.
-       (e_book_async_open, e_book_async_get_supported_fields)
-       (e_book_async_get_supported_auth_methods)
-       (e_book_async_authenticate_user, e_book_async_get_contact)
-       (e_book_async_remove_contacts, e_book_async_add_contact)
-       (e_book_async_commit_contact, e_book_async_get_book_view)
-       (e_book_async_get_contacts): use g_thread_pool_push here.
-
-2004-05-19  Chris Toshok  <toshok@ximian.com>
-
-       * tests/ebook/*.c: port to new e_book_new/e_book_open apis.
-       
-       * libebook/e-book-types.h (EBookStatus): URI -> SOURCE.
-
-       * libebook/e-book-async.c (e_book_async_open): new function,
-       mostly the same as e_book_async_load_source was.
-       (e_book_async_load_local_addressbook, e_book_async_load_source,
-       e_book_async_load_uri, e_book_async_get_default_addressbook):
-       nuke.
-       
-       * libebook/e-book-async.h: remove prototypes for
-       e_book_async_load_uri/source/local_address, and
-       e_book_async_get_default_addressbook.
-
-       * libebook/e-book.c (EBookLoadState): URI -> SOURCE.
-       (e_book_add_contact): URI -> SOURCE, and "e_book_load_uri" ->
-       "e_book_open"
-       (e_book_commit_contact): same.
-       (e_book_get_supported_fields): same.
-       (e_book_get_supported_auth_methods): same.
-       (e_book_authenticate_user): same.
-       (e_book_get_contact): same.
-       (e_book_remove_contacts): same.
-       (e_book_get_book_view): same.
-       (e_book_get_contacts): same.
-       (e_book_get_changes): same.
-       (e_book_open): new function, mostly split out from the old
-       contents of fetch_corba_book.  call Book::open here.
-       (e_book_remove): we no longer require the book is loaded here, as
-       the source (and corba book) is associated at e_book_new time.
-       (e_book_unload_uri): URI -> SOURCE.
-       (backend_died_cb): same.
-       (fetch_corba_book): split out roughly half of the inner loop (the
-       part that calls Book::open).  This does nothing more than find a
-       factory that will hand us a reference to a corba book.
-       (e_book_load_source, e_book_load_uri,
-       e_book_load_local_addressbook, e_book_get_default_addressbook):
-       nuke.
-       (e_book_get_static_capabilities): URI -> SOURCE.
-       (e_book_get_self): use new e_book_new* api.
-       (e_book_set_default_addressbook): URI -> SOURCE.
-       (e_book_new): set the source and call fetch_corba_book here.
-       (e_book_new_from_uri): new function, implement in terms of the new
-       e_book_new.
-       (e_book_new_system_addressbook): new function, implement in terms
-       of e_book_new_from_uri.
-       (e_book_new_default_addressbook): new function, implement in terms
-       of the new e_book_new.
-       (e_book_init): URI -> SOURCE.
-       (e_book_dispose): same.
-
-       * libebook/e-book.h: rework the e_book_new_* api to be more like
-       the calendar.  gone is the constructor with no args.  now you
-       associate a source/uri/etc with an ebook at creation time.  Also,
-       add e_book_open, and remove all the e_book_load_* calls.
-
-2004-05-19  Hans Petter Jansson  <hpj@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c (add_to_supported_fields):
-       Add EMAIL_4 field.
-       (email_ids): Add EMAIL_4.
-       (email_populate): Ditto.
-       (email_ber): Ditto.
-
-       * libebook/e-contact.c (field_info): Add EMAIL_4 field.
-
-       * libebook/e-contact.h: Add EMAIL_4 field.
-
-       * libedata-book/e-book-backend-sexp.c (compare_email): Add
-       EMAIL_4.
-
-       * libedata-book/e-book-backend-summary.c: Add EMAIL_4 to structs,
-       bump version to 5000 (5.0).
-       (free_summary_item): Add EMAIL_4.
-       (e_book_backend_summary_load_item): Ditto.
-       (e_book_backend_summary_save_item): Ditto.
-       (e_book_backend_summary_add_contact): Ditto.
-       (do_compare): Ditto.
-       (e_book_backend_summary_get_summary_vcard): Ditto.
-
-2004-05-18  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes #58522, and some other misc update problems ]
-       
-       * libedata-book/evolutionperson.schema: make both evolutionPerson
-       and evolutionPersonList AUXILIARY classes, so they can be added to
-       inetOrgPerson objects in openldap 2.1.x+ servers.
-
-       * backends/ldap/e-book-backend-ldap.c (free_mods): guard against
-       mod->mod_bvalues/mod->mod_values being NULL... this shouldn't ever
-       happen, but it seem to, and is causing a crash.
-       (category_ber): simpler check to see if there are categories - get
-       the CATEGORIES property and check if it's NULL/0-length.
-
-       * libebook/e-contact.c (e_contact_set_property): remove the
-       CATEGORIES attribute if the string is empty or NULL, and do the
-       same for non-synthetic string attributes.
-
-2004-05-18 Sivaiah Nallagatla <snallagatla@novell.com>
-
-        * backends/groupwise/e-book-backend-groupwise.c (set_members_in_gw_item) :
-       make sure not to add more than one item id for single email
-       Fixes #58369
-       (set_organization_in_gw_item) (set_organization_changes_in_gw_item) :
-       new functions to add organization field  le storing  contact on server
-       Fixes #57846
-
-2004-05-17  Rodney Dawes  <dobey@ximian.com>
-
-       * libebook/Makefile.am (libebook_la_LIBADD):
-       * libedata-book/Makefile.am (libedata_book_la_LIBADD):
-       Add $(EVOLUTION_ADDRESSBOOK_LIBS) to link to all the right dependencies
-       so that the mono bindings will work correctly
-
-       Fixes #58615
-
-2004-05-17  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes bug #57505 ]
-       
-       * backends/ldap/e-book-backend-ldap.c (category_ber): only include
-       category list elements in the ber if they're non-empty.
-       (category_compare): don't free the const char*'s.
-       (address_ber): make static.
-       (add_to_supported_fields): make sure "categories" gets included in
-       the list if we support "category_list", since the contact editor
-       uses the former, not the latter (and they're really the same thing
-       as far as the backend is concerned.)
-
-2004-05-10 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c (populate_ims) :
-       if im does not correspond to one supported in evo, ignore it 
-       fixes #58262 
-
-2004-05-04  Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * backends/groupwise/e-book-backend-groupwise.c (populate_ims) :
-       set type paraemter with value as WORK on attributes while setting ims in 
-       contact so that they appear in preview pane
-       (free_attr_list) : new function to free list of attributes
-       fixes #56776 
-       
-       
-2004-05-03  William Jon McCann  <mccann@jhu.edu>
-
-       * addressbook/libebook/e-address-western.h:
-       * addressbook/libebook/e-contact.h:
-       * addressbook/libebook/e-name-western-tables.h:
-       * addressbook/libebook/e-name-western.h:
-       * addressbook/libebook/e-vcard.h:
-       * addressbook/libedata-book/e-book-backend-sexp.h:
-       * addressbook/libedata-book/e-book-backend-summary.h:
-       * addressbook/libedata-book/e-book-backend-sync.h:
-       * addressbook/libedata-book/e-book-backend.h:
-       * addressbook/libedata-book/e-data-book-types.h:
-       * addressbook/libedata-book/e-data-book-view.h:
-       * addressbook/libedata-book/e-data-book.h:
-       Add missing G_BEGIN_DECLS and G_END_DECLS
-
-2004-05-02  Chris Toshok  <toshok@ximian.com>
-
-       * libedata-book/e-book-backend-sexp.c (prop_info_table): add
-       BLOG_URL, CALENDAR_URI, FREEBUSY_URL, ICS_CALENDAR, and VIDEO_URL.
-
-       * libedata-book/e-book-backend-summary.c (check_symbols): add
-       "exists".
-
-2004-04-28  Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (set_member_changes) : new function added to apply changes 
-       in the contact-list on server   
-       
-2004-04-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_changes_foreach_key): Revert yesterday's
-       changes.
-
-2004-04-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_changes_foreach_key): Updated to take 3
-       arguments (change to e_dbhash_foreach_key).
-
-2004-04-23  Chris Toshok  <toshok@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c
-       (e_book_backend_ldap_connect): always set the protocol level to 3
-       first (even if we're not doing TLS/SSL) so we can attempt a v3
-       bind before falling back to the v2 bind.
-
-2004-04-22  Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * backends/groupwise/e-book-backend-groupwise.c
-       (populate_contact_members) : set the emails using EVC_X_DEST_EMAIL
-       parameter
-
-2004-04-21  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-contact.c (E_CONTACT_COMPANY): make this an
-       ATTR_TYPE_STR field, using EVC_X_COMPANY as the TYPE.
-
-       * libebook/e-vcard.h (EVC_X_COMPANY): add new parameter type.
-
-2004-04-21  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-contact.c (photo_setter): setters aren't called with
-       NULL data anymore.
-       (fn_setter): same.
-       (n_setter): same.
-       (adr_setter): same.
-       (date_setter): same.
-       (cert_setter): same.
-       (e_contact_set_property): only call struct_setter if the data is
-       non-NULL and non-empty.  otherwise remove the newly created
-       attribute.
-
-       * libebook/e-book-view-listener.h: doh, really add _start
-       prototype.
-
-       * libebook/e-book-query.c (func_exists): new function - we weren't
-       parsing the "exists" query before, so duplicating a query
-       containing one failed (duplication = unparse + parse).
-
-       * libebook/e-book-listener.c (impl_BookListener_respond_get_view):
-       don't rely on bonobo_object_dup_ref returning the same object.
-
-2004-04-21  Sivaiah Nallagatla <snallagatla@novell.com>
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_load_source) : change the separtor used between uri
-        and book name to ';' from '?'
-2004-04-20  Chris Toshok  <toshok@ximian.com>
-
-       * tests/ebook/Makefile.am: add test-nonexistent-id and test-query.
-       
-       * tests/ebook/test-nonexistent-id.c: test for both
-       e_book_remove_contact (which was broken until recently) and the
-       behavior of libebook when you try to remove a non-existent id.
-
-       * tests/ebook/test-query.c: new test, to see if we correctly
-       unparse/parse queries.
-
-2004-04-19  Sivaiah Nallagatla   <snallagatla@novell.com>
-       * e-book-backend-groupwise.c  (book_view_thread) : the start_ 
-       book_view implementation is moved this method and executed in a separate thread
-       (e_book_backend_groupwise_start_book_view) : start the new thread for getting book view
-       (e_book_backend_groupwise_stop_book_view ) : set the stopped closure
-        field to TRUE and join on the thread.
-       (e_book_backend_groupwise_load_source) : change the separtor used between uri 
-       and book name to ';' from '?'
-
-
-2004-04-17  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-vcard.c (e_vcard_remove_attributes): Don't pass NULL
-       attr_group on to string comparison function.
-       (e_vcard_escape_string)
-       (e_vcard_attribute_new): Separate variable initialization from
-       declaration.
-       (e_vcard_unescape_string)
-       (e_vcard_new_from_string)
-       (e_vcard_to_string_vcard_30)
-       (e_vcard_dump_structure)
-       (e_vcard_attribute_new)
-       (e_vcard_attribute_free)
-       (e_vcard_remove_attribute)
-       (e_vcard_add_attribute)
-       (e_vcard_add_attribute_with_value)
-       (e_vcard_add_attribute_with_values)
-       (e_vcard_attribute_add_values)
-       (e_vcard_attribute_remove_values)
-       (e_vcard_attribute_param_free)
-       (e_vcard_attribute_param_copy)
-       (e_vcard_attribute_add_param)
-       (e_vcard_attribute_param_add_value)
-       (e_vcard_attribute_param_add_values)
-       (e_vcard_attribute_add_param_with_value)
-       (e_vcard_attribute_add_param_with_values)
-       (e_vcard_attribute_param_remove_values)
-       (e_vcard_get_attributes)
-       (e_vcard_attribute_get_group)
-       (e_vcard_attribute_get_name)
-       (e_vcard_attribute_get_values)
-       (e_vcard_attribute_get_values_decoded)
-       (e_vcard_attribute_is_single_valued)
-       (e_vcard_attribute_get_value)
-       (e_vcard_attribute_get_value_decoded)
-       (e_vcard_attribute_has_type)
-       (e_vcard_attribute_param_get_name)
-       (e_vcard_attribute_param_get_values)
-       (_evc_base64_encode_simple)
-       (_evc_base64_decode_simple): Insert preconditions.
-
-2004-04-16  Chris Toshok  <toshok@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c
-       (e_book_backend_ldap_start_book_view): remove the race prevention
-       stuff from here, since we set up everything before returning and
-       we know that stop_book_view won't be called before we return.
-       (e_book_backend_ldap_stop_book_view): same.
-
-       * backends/file/e-book-backend-file.c (FileBackendSearchClosure):
-       add slots for a GCond and GThread, as well as for our backend
-       here.
-       (closure_destroy): destroy the cvar.
-       (init_closure): init the cvar, thread, and backend slots.
-       (book_view_thread): new function - this contains the majority of
-       the code in the old ::start_book_view, except it lacks any of the
-       race prevention code, which it no longer needs.  We use the cvar
-       to keep the ::start_book_view thread waiting until the view is
-       actually set up and is about to enter the loop, so we know that
-       the search closure has been initialized.
-       (e_book_backend_file_start_book_view): start up the
-       book_view_thread with the closure's mutex locked so it'll pause
-       until we wait on the condition variable.  by the time we return
-       from this method we know the book view thread has started and is
-       at the point where the loop starts.
-       (e_book_backend_file_stop_book_view): set the stopped closure
-       field to TRUE and join on the thread.  remove all the race
-       prevention code from here too.  yay.
-
-       * libedata-book/e-data-book-view.c (e_data_book_view_new): switch
-       from PER_REQUEST to PER_OBJECT.  This means that all requests are
-       serialized per object, but come in on a thread specific to this
-       object.
-       (e_data_book_view_dispose): destroy the id's hash table.
-
-       * libebook/e-book-view.c (e_book_view_start): start our
-       EBookViewListener.
-       (e_book_view_stop): stop the listener.
-
-       * libebook/e-book-view-listener.h: add prototypes for
-       e_book_view_listener_start and _stop.
-
-       * libebook/e-book-view-listener.c
-       (impl_BookViewListener_notify_contacts_added): add the thread id
-       to the spew.
-       (impl_BookViewListener_notify_contacts_removed): same.
-       (impl_BookViewListener_notify_contacts_changed): same.
-       (impl_BookViewListener_notify_sequence_complete): same.
-       (impl_BookViewListener_notify_progress): same.
-       (e_book_view_listener_init): we start off in a stopped state.
-       (e_book_view_listener_start): new function - set stopped to FALSE.
-       The next message queued will create the idle handler.
-       (e_book_view_listener_stop): remove the idle handler and set
-       stopped to TRUE - this will cause all _queue_message calls to drop
-       the messages.
-
-       * libebook/e-contact.c (struct _EContactPrivate): add "int
-       padding", just so that g_new (EContactPrivate, 1) doesn't return
-       NULL.
-       (e_contact_dispose): similar change to e-vcard's dispose method.
-       don't return early if ->priv == NULL, as we need to chain up to
-       the parent's dispoes method.  this and/or the struct
-       _EContactPrivate change plug a memory leak as well that was
-       causing the EVCardPrivate to go unfreed.
-
-       * libebook/e-vcard.c (e_vcard_dispose): don't return if evc->priv
-       is NULL - we still need to chain up the parent's dispose method.
-
-2004-04-15  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (set_categories_in_gw_item): store only that part of id which is before '@'
-       symbol
-
-2004-04-14  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-contact.c (e_contact_set_property): remove the
-       MULTI_ELEM attribute if the string is NULL or empty.  This keeps
-       us from writing out empty EMAIL attributes.
-
-2004-04-14  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes part of bug #55776 ]
-       
-       * backends/ldap/e-book-backend-ldap.c
-       (e_book_backend_ldap_remove): new method, we need this or else
-       e-d-s exits when you try to remove an LDAP addressbook.
-       (e_book_backend_ldap_class_init): hook up
-       EBookBackendClass::remove.
-
-2004-04-14  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book.c (e_book_remove_contact): fix deadlock when
-       calling this function - there's no reason to lock the book's mutex
-       here, as all we do is build a list and call
-       e_book_remove_contacts, which does the locking.  Fixes
-       gnomemeeting's e-d-s problem.
-
-2004-04-14  Chris Toshok  <toshok@ximian.com>
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_remove): fix c&p error, unlink filename and
-       summary_filename, not filename twice.
-
-2004-04-10  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c 
-       (e_book_backend_groupwise_load_source) : retrieve the book name form uri instead 
-       of e-source
-       (set_members_in_gw_item) : new function to set the ids of contact-list members into 
-       e-gw-item 
-
-2004-04-07  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-vcard.h: reorder the EVC_X #defines a bit, and add in
-       all he EVC_X_DEST_* #defines (for use with the new EDestination
-       stuff.)
-
-2044-04-07  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c (func_is) :
-       Correct a small type in field name  FullName -> fullName
-        
-2004-04-06  Chris Toshok  <toshok@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c (struct
-       _EBookBackendLDAPPrivate): add a mutex around our it_to_op
-       GHashTable.
-       (struct _EBookBackendLDAPCursorPrivate): nuke.
-       (view_destroy): lock around access to id_to_op.
-       (add_to_supported_fields): plug leak (don't strdup the arg to
-       g_hash_table_lookup.)
-       (query_ldap_root_dse): fix c&p bugs with
-       supported_fields/supported_auth_methods.
-       (e_book_backend_ldap_connect): add a check for
-       LDAP_PARTIAL_RESULTS (which is apparently what certain versions of
-       GWIA's ldap returns when we try a root dse query.)  Also, try a v2
-       bind if the v3 bind fails.
-       (ldap_op_add): lock access to id_to_op hash.
-       (ldap_op_finished): same.
-       (create_contact_handler): add more debug spew (additional ldap
-       error info.)
-       (remove_contact_handler): same.
-       (modify_contact_modify_handler): same.
-       (modify_contact_search_handler): same.
-       (get_contact_handler): same.
-       (contact_list_handler): same.
-       (poll_ldap): lock around id_to_op.
-       (ldap_search_handler): add more spew, and just use view instead of
-       search_op->view.
-       (ldap_search_dtor): lock the book view's mutex here, and clear the
-       ::search_op g_object_data.
-       (e_book_backend_ldap_search): set the book view's ::search_op.
-       (e_book_backend_ldap_start_book_view): add race detection with
-       ::stop here.
-       (e_book_backend_ldap_stop_book_view): same.
-       (e_book_backend_ldap_load_source): make the default for
-       unrecognized ssl type "NO" instead of "WHENEVER".
-       (e_book_backend_ldap_dispose): lock access to id_to_op while we
-       destroy it, and free our mutex.  also free up some additional
-       private data we were leaking before (the ->ldap_host,
-       ->ldap_rootdn).
-       (e_book_backend_ldap_init): init the mutex.
-
-2004-04-06  Chris Toshok  <toshok@ximian.com>
-
-       * backends/file/e-book-backend-file.c (create_contact): new
-       function, for use when creating a contact from the db.  all the
-       libedata-book machinery depends on the contact having a UID, so if
-       it doesn't have one (i.e. it's been corrupted), set it to be the
-       uid we pass in (the db key).
-       (build_summary): use create_contact
-       (e_book_backend_file_start_book_view): same.
-       (e_book_backend_file_get_changes): same.
-       (e_book_backend_file_upgrade_db): same.
-       (e_book_backend_file_load_source): add lots more g_warning spew in
-       the event the load fails.
-
-2004-04-05  Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * e-book-backend-groupwise.c : added code to build groupwise filter from 
-       the query passed to get_contact_list and start_book_view functions
-       modified e_book_backend_groupwise_start_book_view and 
-       e_book_backend_groupwise_get_contact_list to make use of filter
-       Also included gnome-i8n.h 
-       
-2004-04-02  Dan Winship  <danw@ximian.com>
-
-       * libedata-book/e-book-backend-sync.c
-       (_e_book_backend_create_contact,
-       _e_book_backend_remove_contacts,
-       _e_book_backend_modify_contact,
-       _e_book_backend_get_contact,
-       _e_book_backend_get_supported_fields,
-       _e_book_backend_get_supported_auth_methods): Don't try to free the
-       returned data if the method didn't actually return anything
-
-2004-04-02  JP Rosevear  <jpr@ximian.com>
-
-       * backends/groupwise/Makefile.am: fix includes for builddir != srcdir
-
-2004-03-31  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-contact.c (e_contact_get_first_attr): ignore the
-       attribute's group.
-       (e_contact_set_property): same.
-       (e_contact_find_attribute_with_types): same.
-       (e_contact_get_property): same.
-       (e_contact_get_attributes): same.
-
-       * libebook/e-vcard.c (e_vcard_to_string_vcard_30): ignore the
-       attribute's group when looking for VERSION attributes.
-
-2004-03-30  Chris Toshok  <toshok@ximian.com>
-       [ backend portion of fix for #51977 ]
-       * libedata-book/e-book-backend-sexp.c (prop_info_table): category
-       -> category_list.
-
-       * libebook/e-contact.c (e_contact_get_property): LIST fields (of
-       which there is one, "category_list"), need to duplicate both the
-       list and the list elements before returning from ::get_property.
-       
-2004-03-30  Chris Toshok  <toshok@ximian.com>
-       [ backend portion of fix for #54528 ]
-       * libebook/e-vcard.c (read_attribute_params): deal with vcards
-       that specify the encoding as "BASE64", even though this isn't the
-       proper encoding type for vcard 3.0 cards (that's 'b').
-       
-2004-03-30  Chris Toshok  <toshok@ximian.com>
-
-       [ backend portion of fix for #48665 ]
-       * libedata-book/e-data-book.c
-       (impl_GNOME_Evolution_Addressbook_Book_getBookView): pass
-       max_results to e_data_book_view_new.
-
-       * backends/ldap/e-book-backend-ldap.c
-       (e_book_backend_ldap_search): pass the book view's @max_results as
-       the ldap search limit.
-
-       * libedata-book/e-data-book-view.c (e_data_book_view_new): add
-       @max_results and pass it to ::construct.
-       (e_data_book_view_construct): add @max_results.
-       (e_data_book_view_get_max_results): new function.
-
-       * libedata-book/e-data-book-view.h: add max_results arg to ::new,
-       and add prototype for e_data_book_view_get_max_results.
-
-2004-03-30  Chris Toshok  <toshok@ximian.com>
-
-       [ looks like this fixes #55527 ]
-       * libedata-book/e-data-book-view.c (e_data_book_view_construct):
-       use bonobo_object_dup_ref instead of CORBA_Object_duplicate here.
-
-2004-03-28  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.c : added new functions
-       set_categories_in_gw_item and set_categories_changes to store contact 
-       categories in gw contacts 
-
-2004-03-19  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book-view-listener.c (main_thread_get_response):
-       don't unref the listener in the loop.
-       (e_book_view_listener_queue_response): don't ref the listener for
-       every request.
-       (e_book_view_listener_dispose): add some debug spew.
-
-2004-03-18  Chris Toshok  <toshok@ximian.com>
-
-       * tests/ebook/Makefile.am (noinst_PROGRAMS): add test-stress-bookviews.
-
-       * tests/ebook/test-stress-bookviews.c: create and dispose of a ton of
-       EBookViews very quickly.  designed to flush out races/problems in
-       the way we use bonobo/orbit (and at the time of its writing it
-       does show a problem).
-
-2004-03-17  Chris Toshok  <toshok@ximian.com>
-
-       * backends/vcf/e-book-backend-vcf.c (closure_destroy): new
-       function, mostly lifted from EBookBackendFile.
-       (init_closure): same.
-       (get_closure): same.
-       (e_book_backend_vcf_start_book_view): mostly copy the file
-       backend's start/stop race fixing code.
-       (e_book_backend_vcf_stop_book_view): same.
-       (e_book_backend_vcf_load_source): create the directory before
-       trying to open the database if !only_if_exists.
-
-2004-03-15  Chris Toshok  <toshok@ximian.com>
-
-       * libedata-book/e-data-book.c (e_data_book_respond_create): only
-       look up the contact's UID if status == Success.  otherwise, send
-       "".
-
-2004-03-15  Rodney Dawes  <dobey@ximian.com>
-
-       * libebook/libebook-1.0.pc.in:
-       * libedata-book/libedata-book-1.0.pc.in: Add @LIBBONOBO_REQUIRED@ for
-       the libbonobo dependency
-
-2004-03-14  Harish K <kharish@novell.com>
-       *  backends/groupwise/e-book-backend-groupwise.c :
-       Update calls to e_gw_connection_get_items with the new prototype.
-
-2004-03-12  Chris Toshok  <toshok@ximian.com>
-
-       * libedata-book/e-data-book-view.h: add prototype for
-       e_data_book_view_get_mutex.
-
-       * libedata-book/e-data-book-view.c (e_data_book_view_get_mutex):
-       new function, return the book view's mutex.
-       (e_data_book_view_dispose): free priv->mutex.
-       (e_data_book_view_init): init priv->mutex.
-
-       * backends/file/e-book-backend-file.c (closure_destroy):
-       GDestroyNotify to clear up the search closure.
-       (init_closure): initialize the object data we use to store search
-       information (just a "stopped" flag at the moment)
-       (get_closure): return the object data.
-       (e_book_backend_file_start_book_view): add code to deal with the
-       race between start and stop, locking the book_view's mutex around
-       the initial get/set of the closure.  also, switch from using
-       g_object_ref to bonobo_object_ref on the book_view, and don't do
-       any freeing of the search closure here.  it's handled
-       automatically for us by virtue of the GDestroyNotify.
-       (e_book_backend_file_stop_book_view): flesh this out to fix the
-       race between start/stop.
-
-2004-03-12  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-contact.c (e_contact_set_property): in the CATEGORIES
-       case when we're adding a new attribute to the vcard, make sure to
-       call e_vcard_add_attribute after creating it.  also, use
-       EVC_CATEGORIES instead of hardcoding the string.
-       (e_contact_get_property): use EVC_CATEGORIES.
-       
-2004-03-12  Chris Toshok  <toshok@ximian.com>
-
-       * tests/ebook/test-categories.c (main): test setting CATEGORIES as
-       well as CATEGORY_LIST.
-
-2004-03-09 Sivaioah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-book-backend-groupwise.[ch] : added 
-       code to compare two e-gw-items and get the changes 
-       nd did some code formatting 
-
-2004-03-02  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book-query.h (EBookQueryTest): comment out the
-       unsupported query types.
-
-2004-02-26  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-contact.h: add
-       E_CONTACT_IM_GROUPWISE_{HOME,WORK}_{1,2,3}.
-
-       * libebook/e-contact.c: add attributes
-       E_CONTACT_IM_GROUPWISE_{HOME,WORK}_{1,2,3}.
-
-2004-02-25  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-vcard.c (e_vcard_attribute_is_single_valued):
-       predicate returning TRUE if there's only one value for the
-       attribute.
-       (e_vcard_attribute_get_value): return the first value in the list,
-       if there is one.  also, warn if called on a multi-valued
-       attribute.
-       (e_vcard_attribute_get_value_decoded): same, but return a GString.
-       (e_vcard_attribute_has_type): predicate to check for TYPE=@typestr
-       in the parameter list for an attribute.
-
-       * libebook/e-vcard.h: add prototypes for
-       e_vcard_attribute_is_single_valued and
-       e_vcard_attribute_get_value{_decoded}.  Also, add
-       e_vcard_attribute_has_type.
-
-       * libebook/e-contact.h: add prototypes for
-       e_contact_{get,set}_attributes, and e_contact_vcard_attribute.
-
-       * libebook/e-contact.c (e_contact_vcard_attribute): new function,
-       return the vcard attribute for a given EContactField id.
-       (e_contact_get_attributes): get a GList* of EVCardAttributes for
-       the given EContactField.  This allows you to get at the parameters
-       to the attribute, which you can't get with e_contact_get.
-       (e_contact_set_attributes): an analogous setter for
-       e_contact_get_attributes.
-
-2004-02-25  Sivaiah Nallagatla  <snallagatla@novell.com>
-
-       * libebook/e-vcard.h : added EVC_X_GROUPWISE definition 
-       * libebook/e-contact.[ch] : added E_CONTACT_IM_GROUPWISE field to EContact 
-       to store groupwise im ids
-
-2004-02-24  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-book-async.c (_default_book_response_dtor): Don't
-       unref the *new* book after returning it to user. This was causing
-       hard to trace crashes.
-
-       * libebook/e-book.c (e_book_get_default_addressbook): Correctly
-       assert the pointer-to-pointer, not the pointed-to pointer.
-
-2004-02-23  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-vcard.c (parse): wrap spew in "#define d(x)".
-       (e_vcard_attribute_add_value_decoded): same.
-       (_evc_base64_encode_close): same.
-       (_evc_base64_encode_step): same.
-
-       * libebook/e-contact.c (e_contact_set_property): wrap spew in
-       "#define d(x)".
-       (e_contact_set): same.
-       (e_contact_get_email_list): nuke dead function.
-
-       * libebook/e-book.c (e_book_add_contact): wrap spew in "#define
-       d(x)" and reindent.
-       (e_book_response_add_contact): same.
-       (e_book_response_get_contact): same.
-       (e_book_response_get_book_view): same.
-       (e_book_response_get_contacts): reindent.
-       (e_book_response_get_changes): same.
-       (e_book_response_generic): same.
-       (e_book_response_open): same.
-       (e_book_response_remove): same.
-
-       * libebook/e-book-view-listener.c
-       (impl_BookViewListener_notify_contacts_added): wrap spew in
-       "#define d(x)".
-       (impl_BookViewListener_notify_contacts_removed): same.
-       (impl_BookViewListener_notify_contacts_changed): same.
-       (impl_BookViewListener_notify_sequence_complete): same.
-       (impl_BookViewListener_notify_progress): same.
-
-       * libebook/e-book-listener.c (impl_BookListener_respond_get_view):
-       wrap spew in "#define d(x)".
-
-2004-02-23  JP Rosevear <jpr@ximian.com>
-
-       * tests/vcard/Makefile.am: add extra includes for srcdir !=
-       builddir
-
-       * tests/ebook/Makefile.am: ditto
-
-       * libedata-book/Makefile.am: ditto
-
-       * libebook/Makefile.am: ditto
-
-       * backends/vcf/Makefile.am: ditto
-
-       * backends/ldap/Makefile.am: ditto
-
-       * backends/file/Makefile.am: ditto
-
-2004-02-23  Chris Toshok  <toshok@ximian.com>
-
-       * tests/ebook/test-search.c: add a utility so we can perform
-       searches against addressbooks without having to bring up a gui.
-
-       * tests/ebook/Makefile.am (test_search_LDADD): add.
-       (noinst_PROGRAMS): add test-search
-
-2004-02-20  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes bug #53994 ]
-       
-       * libebook/e-book-query.c (e_book_query_get_type): new function,
-       supply e_book_query_copy as the CopyFunc, and e_book_query_unref
-       as the FreeFunc.
-       (e_book_query_copy): new function, just convert @q to a string and
-       reparse it, ala the EVCard copy function.
-
-       * libebook/e-book-query.h: add prototypes for
-       e_book_query_get_type and e_book_query_copy.  also add
-       E_TYPE_BOOK_QUERY.
-
-       * libebook/e-contact.h: add
-       E_TYPE_CONTACT_{DATE,NAME,PHOTO,CERT,ADDRESS}.
-
-
-2004-02-20 Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * backends/groupwise/create-account.c : new file to create an acoount
-   
-2004-02-20 Sivaiah Nallagatla  <snallagatla@novell.com>
-       
-       * backends/Makefile.am : added groupwise to SUBDIRs
-       * backends/groupwise/Makefile.am
-       * backends/groupwise/e-book-backend-groupwise.[ch] : new 
-       groupwise address book backend class
-
-
-2004-02-12  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book-listener.c
-       (impl_BookListener_respond_get_contact_list): unref the contacts
-       and free the response.list.
-
-       * libebook/e-book.c (e_book_response_get_contacts): copy the GList
-       and ref the contacts in it.
-
-2004-02-12  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book-listener.c (e_book_listener_new): use
-       ORBIT_THREAD_HINT_ON_CONTEXT, and specify _ebook_context.
-
-       * libebook/e-book.c (e_book_activate): init _ebook_context.
-       (startup_mainloop): fun the mainloop on _ebook_context.
-
-2004-02-11  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book-listener.c (e_book_listener_new): fix typo.
-
-2004-02-11  Chris Toshok  <toshok@ximian.com>
-
-       * libedata-book/e-data-book.c (view_listener_died_cb): nuke, moved
-       to e-data-book-view.c.
-       (impl_GNOME_Evolution_Addressbook_Book_getBookView): remove the
-       call to ORBit_small_listen_for_broken.  That's handled in
-       e-data-book-view.c too, and don't g_object_unref the view (it's a
-       BonoboObject anyway, and we can't unref it after the oneway corba
-       call like we could before when it wasn't oneway.)
-       (view_destroy): just call e_book_backend_remove_book_view.
-
-       * libedata-book/e-data-book-view.c (view_listener_died_cb): move
-       this here from e-data-book.c.
-       (e_data_book_view_construct): call ORBit_small_listen_for_broken
-       here.
-       (impl_GNOME_Evolution_Addressbook_BookView_dispose): call
-       ORBit_small_unlisten_for_broken, and unref the view.
-       (e_data_book_view_get_card_query): add arg check.
-       (e_data_book_view_get_backend): same.
-       (e_data_book_view_get_listener): same.
-       (e_data_book_view_class_init): fill in epv->dispose.
-
-       * libedata-book/e-book-backend.c (e_book_backend_get_book_views):
-       FALSE => NULL.
-       (e_book_backend_add_book_view): add a arg check.
-       (e_book_backend_remove_book_view): same.
-       (e_book_backend_init): don't use ref/unref for the EList
-       functions, since we use a weakref to manage the contents of the
-       list elsewhere.
-
-       * libebook/e-book-listener.c (impl_BookListener_respond_get_view):
-       release_unref after the signal.  the callee must ref to keep the
-       book_view alive.
-
-       * libebook/e-book-view.c (e_book_view_do_added_event): don't free
-       up the response stuff here, it's handled in the listener code now.
-       (e_book_view_do_modified_event): same.
-       (e_book_view_do_removed_event): same.
-       (e_book_view_do_status_message_event): same.
-       (e_book_view_handle_response): add a comment about a useless (imo)
-       check.  also, don't g_free (resp).
-       (e_book_view_construct):
-       (e_book_view_dispose): call BookView::dispose before we
-       release_unref it.
-
-       * libebook/e-book-view-listener.c (free_response): new method.
-       free up an EBookViewListenerResponse*.
-       (main_thread_get_response): call free_response on the response
-       after emitting the signal.
-       (e_book_view_listener_queue_response): just call free_response
-       here instead of duplicating its code.
-
-       * libebook/e-book.c (e_book_response_get_book_view): we don't want
-       to ref the listener here.  *unref* it.
-       (e_book_get_addressbooks): check addressbook_sources, not
-       *addressbook_sources, in the precondition.
-
-       * idl/Evolution-DataServer-Addressbook.idl (BookView): add dispose
-       call.
-
-2004-02-09  Michael Meeks  <michael@ximian.com>
-
-       * libedata-book/e-data-book.c (view_destroy): tolerate NULL
-       book views.
-
-2004-02-08  Chris Toshok  <toshok@ximian.com>
-
-       * tests/ebook/Makefile.am (noinst_PROGRAMS): build
-       test-ebook-async
-
-       * tests/ebook/test-ebook-async.c: async version of test-ebook.c
-
-       * tests/ebook/test-ebook.c (main): remove the call to
-       bonobo_main_quit here - we don't need it.
-
-2004-02-08  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book-async.c (main_thread_get_response): lock the
-       idle mutex around this function, reset it to -1, and return FALSE.
-       (push_response): abstract out all the g_async_queue_push stuff
-       from the various handlers.  do proper locking, and register the
-       main thread idle handler if we need to.
-       (e_book_async_load_local_addressbook): new function.  async
-       version of e_book_load_local_addressbok.
-       (*_handler): use push_response instead of g_async_queue_push.
-       (init_async): remove the timeout stuff.  we register idle handlers
-       when we need to.  no more polling the async queue.
-
-       * libebook/e-book-async.h: add prototype for
-       e_book_async_load_local_addressbook.
-
-       * libebook/e-book-view-listener.c (main_thread_get_response): new
-       function to read responses from the CORBA request threads.
-       (e_book_view_listener_queue_response): don't just emit a signal
-       here, as that causes the response to be handled on the request
-       thread, and hoists re-entrancy requirements on calling code.
-       instead, push the response onto the async queue.
-       (e_book_view_listener_new): initialize the
-       queue/idle_mutex/idle_id.
-       (e_book_view_listener_dispose): dispose of the idle foo/queue.
-
-2004-02-08  Chris Toshok  <toshok@ximian.com>
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_start_book_view): don't free the
-       closure/mutex inside the loop, then access it again right after
-       the loop.  Should fix crashes when doing repeated searches (while
-       stopping them often), like when autocompleting.
-
-
-
-2004-02-06  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-address-western.c (e_address_western_extract_region):
-       Don't allow end index to go below start index when extracting the
-       region. Also handle the case where there is no whitespace after comma
-       more gracefully.
-
-2004-02-06  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book.c (e_book_activate): if bonobo hasn't been
-       initialized, do it here.  This should be enough to get
-       evolution-sharp based programs up and running.
-       (activate_factories_for_uri): include the bonobo exception text in
-       the console spew.
-       
-2004-02-05  Chris Toshok  <toshok@ximian.com>
-
-       [ along with previous fixes, this fixes #53129 ]
-       
-       * backends/ldap/e-book-backend-ldap.c (find_book_view): we no
-       longer use EBookBackendLDAPBookView.
-
-2004-02-05  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book.c (startup_mainloop): switch from using
-       bonobo_main to using a separate GMainLoop attached to the default
-       context.
-
-2004-02-04  Chris Toshok  <toshok@ximian.com>
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_remove_contacts): there's no reason to search
-       for the card before removing it.  the error condition is the same
-       anyway, and it'll slow us down.
-
-2004-02-04  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes bug #53130 ]
-       
-       * libedata-book/e-data-book-view.c (MAKE_REALLOC): this might end
-       up being a bad assumption, but since it's only used for string
-       sequences, assume it always will be.  We need to make a deep copy
-       of the sequence.  a memcpy isn't enough, as freeing the buffer
-       causes the child strings to be freed.
-
-2004-02-04  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book.c (e_book_op_free): remove the misleading "XXX
-       more here" comment from here - there's nothing else to free here.
-
-2004-02-04  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book.c (e_book_load_source): lock the book's mutex
-       before checking load_state.  Also, set the load_state to
-       E_BOOK_URI_LOADING before we relinquish the lock.  It will be
-       reset to URI_NOT_LOADED in fetch_corba_book if there's a problem.
-       (e_book_load_uri): remove the e_return_error_if_fail about
-       load_state.  It'll be handled by e_book_load_source.
-       (fetch_corba_book): reset load_state to E_BOOK_URI_NOT_LOADED in
-       all the cases where we return FALSE.
-
-       * libebook/e-contact.c (e_contact_set_property): for GETSET
-       properties that aren't STRUCT's, it's a string, not a pointer.
-       (e_contact_get_property): same.
-
-2004-02-04  Michael Meeks  <michael@ximian.com>
-
-       * libebook/e-book-async.c (_get_book_view_handler):
-       g_new0 so we don't have a bogus uninitialized pointer
-       to segv on in _get_book_view_response_dtor.
-
-2004-02-03  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-vcard.c (e_vcard_to_string_vcard_30): use "VCARD"
-       instead of "vCard" because gnome-vfs is busted and doesn't use a
-       case insensitive string check.
-
-2004-02-02  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-contact.c (GETSET_FIELD): these are also of type
-       STRING.  if you want a GETSET field that's a struct, use
-       STRUCT_FIELD.  Fixes a problem with FULL_NAME reflection for
-       evolution-sharp.
-
-2004-02-02  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-vcard.c (e_vcard_attribute_remove_params): clear
-       attr->encoding_set and attr->encoding, since that is just cached
-       information from the attribute parameters.  Fixes a spurious
-       g_warning.
-
-2004-02-02  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-vcard.c (e_vcard_attribute_remove_values): make sure
-       to set attr->decoded_values to NULL as well.  fixes oddness when
-       overwriting the PHOTO attribute.
-
-2004-02-02  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-contact.c (photo_getter): Return NULL if image length is
-       zero.
-       (photo_setter): Warn and don't set photo if image length is zero.
-
-2004-02-02  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-contact.c (photo_setter): Handle NULL.
-       (fn_setter): Handle NULL.
-       (n_setter): Handle NULL.
-       (adr_setter): Handle NULL.
-       (date_getter): Return NULL if attr present, but no value.
-       (date_setter): Handle NULL.
-       (cert_setter): Handle NULL.
-       (e_contact_set_property): Don't pass NULL data to setters, remove the
-       attribute (if present) instead.
-
-2004-02-02  Michael Meeks  <michael@ximian.com>
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_stop_book_view): unlock after
-       taking a lock.
-
-2004-01-30  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-book-async.c (e_book_async_load_source)
-       (e_book_async_load_uri)
-       (e_book_async_get_default_addressbook)
-       (e_book_async_get_supported_fields)
-       (e_book_async_get_supported_auth_methods)
-       (e_book_async_authenticate_user)
-       (e_book_async_get_contact)
-       (e_book_async_remove_contact)
-       (e_book_async_remove_contact_by_id)
-       (e_book_async_remove_contacts)
-       (e_book_async_add_contact)
-       (e_book_async_commit_contact)
-       (e_book_async_get_book_view)
-       (e_book_async_get_contacts): Add argument preconditions.
-
-       * libebook/e-contact.c (e_contact_new_from_vcard)
-       (e_contact_duplicate)
-       (e_contact_name_from_string)
-       (e_contact_name_copy)
-       (e_contact_date_from_string): Add argument preconditions.
-
-2004-01-30  Chris Toshok  <toshok@ximian.com>
-
-       * libedata-book/e-book-backend.c (e_book_backend_remove_client):
-       add ref/unref around this function body so that we don't get
-       unreffed by something below last_client_gone.
-
-2004-01-29  Chris Toshok  <toshok@ximian.com>
-
-       * libedata-book/ximian-vcard.h (XIMIAN_VCARD): update for new
-       office location, and change the FILE-AS/ORG fields to say Novell
-       Ximian Group.
-
-2004-01-30  Radek Doulik  <rodo@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c (contact_list_dtor): don't
-       g_object_unref contact list, it contains strings which are freed
-       in e_data_book_respond_get_contact_list, the list is freed there
-       as well
-       (category_compare): make sure categories != NULL before calling
-       strcmp
-       (build_mods_from_contacts): make sure we don't introduce new empty
-       fields
-       (build_mods_from_contacts): make sure the ber_func and
-       compare_func are non NULL before calling them
-
-2004-01-29  Chris Toshok  <toshok@m198-139.dsl.rawbw.com>
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_load_source): honor the @only_if_exists arg
-       before creating the db or directory.  i.e. fix this so it's not
-       completely broken.
-
-2004-01-28  Radek Doulik  <rodo@ximian.com>
-
-       * libebook/e-contact.c (e_contact_set_property): use "CATEGORIES"
-       instead of null vcard_field_name
-       (e_contact_set_property): check for NULL string value, test for
-       single category
-
-2004-01-27  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book-async.h: nuke the prototype for
-       e_book_async_unload_uri.
-
-       * libebook/e-book-async.c (e_book_async_unload_uri): nuke.
-
-2004-01-27  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book.h: remove the prototype for e_book_unload_uri.
-       If you want to unload the uri, unref the book and create a new
-       one.
-
-       * libebook/e-book.c (e_book_cancel): add some preconditions.
-       (e_book_load_local_addressbook): same.
-       (e_book_get_source): same.
-       (e_book_get_static_capabilities): same.  also, set the GError
-       instead of generating a g_warning.  This should probably return
-       NULL in the error cases instead of g_strdup(""), but i'm not sure
-       if that'll break things.
-       (e_book_check_static_capability): add some preconditions.
-       (e_book_is_writable): same.
-       (e_book_set_self): same.
-       (e_book_is_self): same.
-       (e_book_set_default_addressbook): same.
-       (e_book_set_default_source): same.
-       (e_book_get_addressbooks): same.
-       (e_book_unload_uri): make this static.
-       
-       * libebook/e-book-types.h (EBookStatus): add
-       E_BOOK_ERROR_NO_SUCH_SOURCE.
-
-2004-01-27  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book.c (e_book_load_local_addressbook): change the
-       local addressbook path to .evolution/addressbook/local/system, and
-       pass FALSE for @only_if_exists, so it'll always be created if it's
-       not there already.
-
-2004-01-27  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-book.c (e_book_unload_uri): If the load_state is
-       E_BOOK_URI_LOADING, don't try to kill the book, just cancel the op
-       and let fetch_corba_book() take care of it.
-       (fetch_corba_book): Handle cancellation properly.
-
-2004-01-26  Chris Toshok  <toshok@ximian.com>
-
-       * tests/ebook/Makefile.am (noinst_PROGRAMS): add
-       test-untyped-phones.
-       (test_untyped_phones_LDADD): new variable.
-
-       * tests/ebook/test-untyped-phones.c: new test for 40013.
-
-2004-01-26  Chris Toshok  <toshok@ximian.com>
-
-       [ fixes bug #53228 ]
-       
-       * tests/ebook/test-categories.c: new test.
-
-       * tests/ebook/Makefile.am (noinst_PROGRAMS): add test-categories.
-
-       * libebook/e-vcard.c (e_vcard_to_string_vcard_30): this is really
-       gross.  We don't escape the ,'s if we're generating the value for
-       a CATEGORIES attribute.  I can't believe the RFC specifies commas
-       for use as a toplevel list separator for CATEGORIES.  That's what
-       ;'s are for.
-       (read_attribute_value): split the CATEGORIES attribute up like a
-       normal list would be, only use ','s for it.
-
-       * libebook/e-contact.c (e_contact_set_property): implement the
-       setter portion of CATEGORIES support.
-       (e_contact_get_property): implement the CATEGORIES getter.
-
-2004-01-26  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book.c (e_book_get_default_addressbook): implement
-       this the right way by searching for the "default" property over
-       all sources, and returning that source, or the local addressbook
-       if there isn't a default source.
-       (e_book_set_default_addressbook): new function.
-       (e_book_set_default_source): new function.
-
-       * libebook/e-book.h: add prototypes for
-       e_book_set_default_addressbook/e_book_set_default_source.
-
-2004-01-23  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-vcard.c (e_vcard_unescape_string): make public.
-       (e_vcard_escape_string): same.
-       (e_vcard_to_string_vcard_30): use the public escape_string
-       function.
-       (e_vcard_dump_structure): same.
-
-       * libebook/e-vcard.h (e_vcard_unescape_string): expose this
-       (e_vcard_escape_string): and this.
-
-       * libebook/e-contact.h: rearrange the enum again, to keep
-       strings/structs separate.
-
-       * libebook/e-book.c (e_book_get_default_addressbook): might as
-       well switch this to the new folder layout.
-       (e_book_load_local_addressbook): same.
-
-       * libebook/e-contact.c (e_contact_find_attribute_with_types): only
-       find the attribute that matches the types explicitly.  this is the
-       only way to implement "other phone/fax" currently.
-       (e_contact_set_property): same.
-
-2004-01-21  Nat Friedman <nat@novell.com>
-
-       * libedata-book/e-book-backend-sexp.c (compare_im): New function
-       to allow searching of IM fields.
-       * libedata-book/e-book-backend-sexp.c (compare_im_aim): Likewise.
-       * libedata-book/e-book-backend-sexp.c (compare_im_msn): Likewise.
-       * libedata-book/e-book-backend-sexp.c (compare_im_icq): Likewise.
-       * libedata-book/e-book-backend-sexp.c (compare_im_yahoo):
-       Likewise.
-       * libedata-book/e-book-backend-sexp.c (compare_im_jabber):
-       Likewise.
-       * libedata-book/e-book-backend-sexp.c (prop_info_table): Added
-       entries for IM field searching.
-
-2004-01-20  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libedata-book/e-data-book-view.c (e_data_book_view_new): Pass a
-       threaded POA policy to g_object_new (). Fixes deadlocks.
-
-2004-01-16  JP Rosevear <jpr@ximian.com>
-
-       * libebook/e-book.c (e_book_idle_writable): idle handler to emit
-       the writable signal on the main thread
-       (e_book_handle_response): use above
-       
-2003-01-11  Christian Hammond <chipx86@gnupdate.org>
-       * addressbook/libebook/e-contact.[ch]: Changed the IM account field
-       types from LIST_FIELD to MULTI_LIST_FIELD, as discussed with Chris
-       Toshok. Added convenience fields for WORK and HOME entries for each
-       IM account list. Add support for setting LIST_FIELD types.
-2004-01-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * tests/ebook/test-date.c (main): Don't let control reach the end
-       of a non-void function
-
-       * backends/ldap/e-book-backend-ldap.c (find_book_view): Don't let
-       control reach the end of a non-void function
-
-       * libebook/e-contact.c (cert_getter): Don't let control reach the
-       end of a non-void function
-
-       * tests/ebook/test-string.c: Same as below.
-
-       * tests/ebook/test-photo.c: #include <string.h> for strlen and
-       memcmp.
-       (main): Don't let control reach the end of a non-void function
-
-2004-01-09  Ross Burton  <ross@burtonini.com>
-
-       * libebook/e-book-async.h:
-       * libebook/e-book-async.c:
-       Change the API of e_book_async_get_book_view and
-       e_book_async_get_contacts to match e-book.h.
-
-2004-01-08  Ross Burton  <ross@burtonini.com>
-
-       * libebook/e-contact.c:
-       * libebook/e-contact.h:
-       Add a video conferencing URL field.
-
-2004-01-07  JP Rosevear <jpr@ximian.com>
-
-       * libedata-book/Makefile.am: remove DISABLE_DEPRECATED flags
-
-       * libebook/Makefile.am: ditto
-       
-2004-01-06  Chris Toshok  <toshok@ximian.com>
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_load_source): use e_util_mkdir_hier here
-       instead of mkdir.
-       (do_create): add the db_error to the spew.
-       (e_book_backend_file_load_source): don't use mkdir here, use
-       e_util_mkdir_hier.
-
-2004-01-05  Christian Neumair  <chris@gnome-de.org>
-
-       * libebook/e-book.c: Generalize some strings.
-
-2003-12-29  Chris Toshok  <toshok@ximian.com>
-
-       * tests/ebook/test-undefinedfield.c: new test - make sure we
-       return NULL for undefined/unimplemented fields.
-
-       * tests/ebook/Makefile.am (noinst_PROGRAMS): add
-       test-undefinedfield.
-
-2003-12-29  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-contact.c (e_contact_get_property): reset the GValue
-       if there's a problem getting it (will force it to NULL).
-
-2003-12-29  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-contact.c (e_contact_get): initialize value to NULL
-       so that if the field is unknown (meaning we haven't gotten around
-       to implementing it yet, like the category list stuff), we don't
-       return an invalid pointer.
-
-2003-12-19  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-vcard.h: add lots more #defines, some EVC_X ones for
-       attribute TYPE's, as well as the vcard specified "KEY" attribute.
-
-       * libedata-book/e-book-backend.c (e_book_backend_remove_client):
-       reorder some code so we hold the lock up until we're done with
-       backend->priv->clients.
-
-       * backends/ldap/e-book-backend-ldap.c (prop_info): add an entry
-       for E_CONTACT_X509_CERT, and map it to the userCertificate ldap
-       attribute.  not sure if this is strictly correct... the
-       inetOrgPerson schema mentions using userSMIMECertificate (which
-       contains the full certificate chain in pkcs#7 form) in favor of
-       userCertificate for S/MIME applications.
-
-       * libebook/e-contact.h: add the CERT field types, the EContactCert
-       struct type, and prototypes for e_contact_cert_get_type and
-       e_contact_cert_free.
-
-       * libebook/e-contact.c (field_info): add E_CONTACT_X509_CERT
-       (cert_getter, cert_setter): new functions, implement
-       getting/setting of certs.
-       (e_contact_cert_free): new function.
-       (e_contact_cert_copy): same.
-       (e_contact_cert_get_type): same.
-
-2003-12-17  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-book-async.c (_get_book_view_response_dtor): if
-       there's a crash in the wombat and we're left with an invalid
-       EBook, resp->book_view will be NULL here.  don't unref it.
-
-2003-12-16  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-book.c (fetch_corba_book): Ref and keep the loaded
-       ESource around. Unref old source if present.
-       (e_book_get_source): Implement.
-       (e_book_init): Init source pointer.
-       (e_book_dispose): Unref source, if any.
-
-2003-12-15  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-contact.c (adr_getter): Initialize the address_format
-       field. Absence of this was causing crashes.
-       (e_contact_set_property): For synthetic attr_type fields, add a
-       case for struct/get_set alongside strings. This makes addresses work.
-       (e_contact_get_property): For multi_elem strings, count the matching
-       attributes instead of trying to get a list from the first attribute
-       encountered (which is what list_elem does). This makes e-mail
-       addresses work.
-
-2003-12-10  Hans Petter Jansson  <hpj@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c
-       (e_book_backend_ldap_load_source): Get attributes from source, not URI.
-
-2003-12-09  Chris Toshok  <toshok@ximian.com>
-
-       * backends/file/e-book-backend-file.c (select_changes): change to
-       return gboolean and take the filename, not the struct dirent *.
-       (e_book_backend_file_remove): switch from using scandir to
-       g_dir_*.
-
-2003-12-07  JP Rosevear  <jpr@ximian.com>
-
-       * libedata-book/e-data-book-factory.c: version the OAFIID
-
-       * libebook/e-book.c (activate_factories_for_uri): update repo id
-       
-2003-12-07  JP Rosevear  <jpr@ximian.com>
-
-       * libebook/e-book.c (activate_factories_for_uri): use the
-       versioned repo id
-
-2003-12-05  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-contact.c (e_contact_get_const): make this only work
-       for strings, since really that's all it works for now.
-
-2003-12-05  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-contact.c (e_contact_get_property): Return boxed type
-       for struct.
-       (e_contact_name_from_string): Never pass NULL to
-       e_name_western_parse ().
-
-2003-12-04  Chris Toshok  <toshok@ximian.com>
-
-       * tests/ebook/test-ebook.c (print_email): print out the
-       NAME_OR_ORG of the contact too.
-
-       * libebook/e-contact.h (EContactField): add NAME_OR_ORG.
-
-       * libebook/e-contact.c (field_info): add NAME_OR_ORG.
-       (e_contact_get_property): handle NAME_OR_ORG.
-
-2003-12-01  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-book.c (e_book_unload_uri): When clearing the cached
-       capabilities, also clear the cap_queried flag.
-
-2003-12-01  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-book.c (fetch_corba_book): If the book failed to load,
-       set load_state to E_BOOK_URI_NOT_LOADED, so _unload () won't crash.
-
-2003-12-01  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libebook/e-book-async.c (_load_uri_response_handler)
-       (_load_uri_response_dtor)
-       (_load_uri_handler)
-       (_load_uri_dtor)
-       (_default_book_response_handler)
-       (_default_book_response_dtor): Pass source instead of URI, and
-       s/uri/source/.
-       (e_book_async_load_source): Implement.
-       (e_book_async_load_uri): Create a source and pass that to worker.
-
-2003-11-28  Chris Toshok  <toshok@ximian.com>
-
-       * tests/ebook/Makefile.am (test_ebook_view_LDADD): new variable.
-       (noinst_PROGRAMS): add test-ebook-view
-
-       * tests/ebook/test-ebook-view.c: new test for ebook view's.
-
-2003-11-26  Hans Petter Jansson  <hpj@ximian.com>
-
-       * backends/file/e-book-backend-file.c (e_book_backend_file_load_uri):
-       Rename to e_book_backend_file_load_source () and take an ESource
-       instead of an URI.
-       (e_book_backend_file_dispose): Don't free URI anymore.
-       (e_book_backend_file_class_init): load_uri -> load_source.
-       (e_book_backend_file_init): Don't init URI anymore.
-
-       * backends/ldap/e-book-backend-ldap.c (e_book_backend_ldap_load_uri):
-       Rename to e_book_backend_ldap_load_uri () and take an ESource instead
-       of an URI.
-       (e_book_backend_ldap_dispose): Don't free URI anymore.
-       (e_book_backend_ldap_class_init): load_uri -> load_source.
-
-       * backends/vcf/e-book-backend-vcf.c (e_book_backend_vcf_load_uri):
-       Rename to e_book_backend_vcf_load_source () and take an ESource
-       instead of an URI.
-       (e_book_backend_vcf_dispose): Don't free URI anymore.
-       (e_book_backend_vcf_class_init): load_uri -> load_source.
-       (e_book_backend_vcf_init): Don't init URI anymore.
-
-       * idl/Evolution-DataServer-Addressbook.idl (getBook): In parameter
-       "uri" renamed to "source". Takes standalone source XML.
-
-       * libebook/e-book.c (fetch_corba_book): Implement, taking ESource.
-       (e_book_load_source): Implement.
-       (e_book_load_uri): Create a source based on the URI and use
-       e_book_load_source () to load that.
-
-       * libedata-book/e-book-backend.c (e_book_backend_load_uri): Renamed
-       to e_book_backend_load_source () and takes ESource instead of URI.
-       (e_book_backend_get_uri): Renamed to e_book_backend_get_source ()
-       and returns ESource instead of URI.
-       (e_book_backend_open): Use e_book_backend_load_source ().
-       (e_book_backend_init): Don't init URI anymore.
-       (e_book_backend_dispose): Don't free URI anymore.
-
-       * libedata-book/e-data-book-factory.c (backend_last_client_gone_cb):
-       Get URI from backend's ESource.
-       (impl_GNOME_Evolution_Addressbook_BookFactory_getBook): Take
-       standalone source XML, construct an ESource, and fetch a backend
-       with that.
-
-       * libedata-book/e-data-book.c (e_data_book_get_uri): Renamed to
-       e_data_book_get_source () and return ESource.
-       (e_data_book_construct): Take ESource instead of URI.
-       (e_data_book_new): Take ESource instead of URI.
-       (e_data_book_dispose): Don't free URI. Instead, unref ESource.
-
-2003-11-25  Chris Toshok  <toshok@ximian.com>
-
-       * tests/ebook/test-self.c: new file/test, print out the current
-       self contact.
-
-       * tests/ebook/test-ebook.c (print_email): fix the email printing.
-
-       * libebook/e-vcard.c (parse): if the vcard doesn't begin with a
-       "begin" attribute, we still want to add the attribute to the
-       vcard.
-
-       * libebook/e-contact.c (field_info): add GETSET_FIELD for fields
-       that don't have a structured type associated with them (such as
-       FN) but that need getter/setter methods for some reason.  add a
-       GType getter function to STRUCT_FIELD, and fill in the getter
-       (e_contact_class_init): use boxed types for STRUCT fields.
-       (adr_setter): implement.
-       (e_contact_set_property): use g_value_get_boxed for STRUCT types.
-       (e_contact_get_property): implement GETSET getter.
-       (e_contact_name_get_type): implement.
-       (e_contact_date_copy): same.
-       (e_contact_date_get_type): same.
-       (e_contact_date_new): same.
-       (e_contact_photo_copy): same.
-       (e_contact_photo_get_type): same.
-       (e_contact_address_copy): same.
-       (e_contact_address_get_type): same.
-
-       * libebook/e-contact.h: add prototypes for
-       e_contact_{date,name,photo,address}_get_type.
-
-       * libebook/e-book-types.h: add E_BOOK_ERROR_NO_SELF_CONTACT.
-
-       * libebook/e-book.c (e_book_get_self): implement.
-       (e_book_set_self): same.
-       (e_book_is_self): same.
-       (e_book_get_default_addressbook): add more to the comment telling
-       how this *really* should be implemented.
-       (e_book_get_addressbooks): implement.
-
-       * libebook/e-book.h: add prototype for e_book_is_self, change
-       e_book_set_self to take an EContact instead of just the uid.
-       Also, unifdef the prototype for e_book_get_addressbooks.
-
-2003-11-23  Chris Toshok  <toshok@ximian.com>
-
-       * backends/file/e-book-backend-file.c
-       (e_book_backend_file_load_uri): remove the db3 version checks, and
-       add the extra transaction arg to db->open.
-
-       * backends/file/Makefile.am (INCLUDES): use the embedded db4.
-
-2003-11-22  Chris Toshok  <toshok@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c (contact_list_handler,
-       contact_list_dtor, e_book_backend_ldap_get_contact_list):
-       implement get_contact_list for the ldap backend.
-       (category_populate): un-ifdef this.
-       (category_ber): same.
-       (category_compare): same.
-       (e_book_backend_ldap_class_init): fill in
-       EBookBackendClass::get_contact_list.
-
-2003-11-11  Chris Toshok  <toshok@ximian.com>
-
-       * tests/vcard/dump-vcard.c (main): convert the vcard to a string
-       and print it out as well.  also fix the evcard leak.
-
-       * tests/vcard/README: add blurb about 10.vcf.
-
-       * tests/vcard/Makefile.am (EXTRA_DIST): add 10.vcf
-
-       * tests/vcard/10.vcf: new quotted attribute parameter value test.
-
-       * tests/vcard/[1-9].vcf: add these back in.
-
-2003-11-10  JP Rosevear <jpr@ximian.com>
-
-       * libebook/e-book-listener.c: remove construct method, it did
-       nothing and should use construct time args in future if needed
-
-2003-11-10  Dan Winship  <danw@ximian.com>
-
-       * libebook/e-contact.c (e_contact_date_equal): New utility
-       function to compare two (possibly NULL) EContactDates
-
-       * backends/ldap/e-book-backend-ldap.c (anniversary_compare,
-       birthday_compare): Use it
-
-       * libedata-book/e-book-backend-summary.c
-       (e_book_backend_summary_check_contact): New utility function to
-       check if an id is in the summary (without doing any additional
-       work beyond that).
-
-2003-11-10  Dan Winship  <danw@ximian.com>
-
-       * libedata-book/e-book-backend.h:
-       s/E_TYPE_BACKEND/E_TYPE_BOOK_BACKEND/
-       s/E_IS_BACKEND/E_IS_BOOK_BACKEND/
-
-       * libedata-book/e-book-backend-sync.h: Likewise
-       * backends/file/e-book-backend-file.h: Likewise
-       * backends/vcf/e-book-backend-vcf.h: Likewise
-       * backends/ldap/e-book-backend-ldap.h: Likewise
-
-       * libedata-book/e-book-backend.c: Update for that. Also simplify
-       some redundant g_return_if_fail tests and reindent a bunch of
-       lines that were indented wrong after the pas->e_book renaming.
-
-       * libedata-book/e-book-backend-sync.c: Likewise
-       * backends/file/e-book-backend-file.c: Likewise
-       * backends/vcf/e-book-backend-vcf.c: Likewise
-       * backends/ldap/e-book-backend-ldap.c: Likewise
-
-2003-11-08  Chris Toshok  <toshok@ximian.com>
-
-       * libebook/e-vcard.c (skip_until): implement.
-       (read_attribute_params): implement quoted parameter values, in our
-       trademark overly accepting way.  it'll accept "hi" as well as
-       "hi"and"bye" as parameter values (with the values being "hi" and
-       "hiandbye" respectively).
-       (e_vcard_to_string_vcard_30): hardcode VERSION:3.0 here, since
-       we're outputing a version 3.0 card.  also, ignore any VERSION
-       attributes that may be in the vcard we parsed in.  lastly, search
-       parameter values for whitespace before outputting them, and wrap
-       them in quotes if they have any.
-
-       * libebook/e-book-async.c (e_book_async_add_contact): use
-       e_contact_duplicate here so if the caller modifies the contact
-       after calling us we use the original copy.
-       (e_book_async_commit_contact): same.
-
-2003-11-07  Dan Winship  <danw@ximian.com>
-
-       * libebook/e-address-western.c: 
-       * libebook/e-name-western.c: Move these here.
-
-       * libebook/e-contact.c: Update e-name-western include
-
-       * libebook/Makefile.am (libebook_la_SOURCES): Add
-       e-address-western.c and e-name-western.c.
-       (libebookinclude_HEADERS): and their headers
-       (libebook_la_LDFLAGS): Remove -no-undefined
-
-       * libedata-book/Makefile.am (libedata_book_la_LDFLAGS): Likewise
-
-2003-11-06  Dan Winship  <danw@ximian.com>
-
-       * backends/ldap/e-book-backend-ldap.c: Remove the word "process"
-       from method names, which hasn't really made sense since 1.2.
-
-       * backends/vcf/e-book-backend-vcf.c: Likewise
-
-2003-11-06    <jpr@ximian.com>
-
-       * libebook/Makefile.am: don't add libename
-
-2003-11-06  JP Rosevear <jpr@ximian.com>
-
-       * libebook/e-book.c: replace e_mutex stuff with gthread stuff
-
-2003-11-06  JP Rosevear <jpr@ximian.com>
-
-       * Makefile.am: build new subdirs
-
-       * backends/*: build the file, vcf and ldap backends here
-
-       * libedata-cal/Makefile.am: no longer build them here   
-       
-2003-11-05  JP Rosevear <jpr@ximian.com>
-
-       * rename libedatabook to libedata-book
-       
-2003-11-05  JP Rosevear  <jpr@ximian.com>
-
-       * libebook/Makefile.am: use privincludedir
-
-       * libedatabook/Makefile.am: ditto
-
-       * libedatabook/libedatabook-1.0.pc.in: use privincludedir; remove
-       gal
-
-       * libebook/libebook-1.0.pc.in: ditto
-
-2003-11-05  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedatabook/e-book-backend-sexp.c:
-       * libedatabook/e-book-backend-summary.c:
-       * libedatabook/e-book-backend-vcf.c:
-       * libedatabook/e-book-backend-file.c: removed GAL dependency.
-
-2003-11-04  JP Rosvear <jpr@ximian.com>
-
-       * libedatabook/e-data-book-factory.c: use properly name spaced
-       default id
-
-       * libebook/e-book.c: kill unneccesary define
-
-2003-11-04  JP Rosevear <jpr@ximian.com>
-
-       * libedatabook/e-data-book-factory.c: remove corbe header include
-
-       * libedatabook/e-data-book.h: include corba header correctly
-
-       * libedatabook/e-data-book-view.h: ditto
-
-       * libedatabook/e-data-book-factory.h: ditto
-
-       * libedatabook/e-book-backend.h: ditto
-
-       * libedatabook/e-book-backend-sync.h: ditto
-
-       * libedatabook/Makefile.am: reflect idl name change
-
-       * libebook/e-book-view.c: remove corba header include
-
-       * libebook/e-book.c: ditto
-       
-       * libebook/e-book.h: include corba header correctly
-
-       * libebook/e-book-view.h: ditto
-
-       * libebook/e-book-view-listener.h: ditto
-
-       * libebook/e-book-listener.h: ditto
-
-       * idl/Makefile.am (idl_DATA): rename idl to
-       Evolution-DataServer-Addressbook.idl
-
-       * libebook/Makefile.am: reflect idl name change
-
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
deleted file mode 100644 (file)
index 5147b8c..0000000
+++ /dev/null
@@ -1,7249 +0,0 @@
-2009-04-28  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #553932
-
-       * libecal/e-cal.c: (cal_set_mode_cb): Recheck readonly state for
-       loaded ECal-s when changing online/offline mode.
-
-2009-04-27  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #575773
-
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_modify_object):
-       Always set a new object properly, as a backend modifies it.
-
-2009-04-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #381132
-
-       * libecal/Makefile.am:
-       * libecal/e-cal-system-timezone.h:
-       * libecal/e-cal-system-timezone.c:
-       New files for obtaining system timezone location,
-       based on gnome-panel's clock-applet system-timezone.c.
-       * libecal/e-cal-util.h: (e_cal_util_get_system_timezone_location),
-       (e_cal_util_get_system_timezone):
-       * libecal/e-cal-util.c: (): (e_cal_util_get_system_timezone_location),
-       (e_cal_util_get_system_timezone):
-       New API functions to obtain system timezone.
-
-2009-04-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #478692
-
-       * backends/caldav/create-account.c: Removed unused file.
-
-2009-04-13  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libedata-cal/e-cal-backend-sync.c:
-       Fix build break: #include <libical/icaltz-util.h>
-
-2009-04-13  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #573205
-       * calendar/libedata-cal/e-cal-backend-sync.c: Use the util function
-       to load the system timezone if its not part of libical builtin timezone.
-
-2009-04-13  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #561312
-       * calendar/backends/file/e-cal-backend-file.c: Need not
-       merge master event dates as evo handles it now.
-
-2009-04-13  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #488632 (bnc)
-       * calendar/backends/groupwise/e-cal-backend-groupwise-utils.c: Creates
-       the right number of recurring instances on server.
-
-2009-04-13  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #241604 (bnc)
-       * calendar/backends/groupwise/e-cal-backend-groupwise-utils.c:
-       * servers/groupwise/e-gw-item.c:
-       * servers/groupwise/e-gw-recur-utils.h: Fixes monthly recurring 
-       appointments to appear on proper dates.
-
-2009-04-06  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #571677
-
-       * backends/file/e-cal-backend-file.c: (e_cal_backend_file_open),
-       (add_timezone): Do not duplicate timezones in a file on open.
-
-2009-03-31  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #573880
-
-       * backends/caldav/e-cal-backend-caldav.c: (initialize_backend):
-       Encode only path and use SoupURI to do this.
-
-2009-03-31  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #573880
-
-       * backends/caldav/e-cal-backend-caldav.c: (initialize_backend):
-       Properly encode given uri before using it.
-
-       * backends/caldav/e-cal-backend-caldav.c: (synchronize_object),
-       (caldav_server_get_object): Print more detailed information
-       on error and do not duplicate error messages.
-
-2009-03-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #573187
-
-       * backends/caldav/e-cal-backend-caldav.c: (caldav_server_list_objects),
-       (check_calendar_changed_on_server), (synchronize_cache), (pack_cobj):
-       More leak fixes.
-
-2009-03-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #573187
-
-       * backends/caldav/e-cal-backend-caldav.c: (synchronize_cache):
-       Do not leak unchanged components.
-
-2009-03-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #576424
-
-       * backends/caldav/e-cal-backend-caldav.c: (process_object),
-       (caldav_receive_objects): Do not unref object twice and
-       treat icalcomponent as it, not as icaltimezone.
-
-2009-03-05  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #479908
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (e_gw_connection_get_freebusy_info): Convert the freebusy
-       time to utc time zone and leave it to evolution for interpreting
-       in default zone.                                             
-
-2009-02-28  Tobias Mueller  <tobiasmue@svn.gnome.org>
-
-       ** Fix for bug #573497
-
-       * libecal/e-cal.c: (E_CALENDAR_CHECK_STATUS):
-       Use "%s" as format-string to g_set_error.
-       * libecal/e-cal.c: (e_calendar_get_op), (e_calendar_remove_op), 
-       (destroy_factories), (destroy_cal), (cal_alarm_address_cb), 
-       (cal_ldap_attribute_cb), (cal_static_capabilities_cb), 
-       (cal_opened_cb), (cal_removed_cb), (cal_object_created_cb):
-       Use "%s" as format-string to g_warning or g_message.
-       * libecal/e-cal-time-util.c: (isodate_from_time_t):
-       Use a fixed sized format-string instead of a const char*
-       
-2009-02-27  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #572566
-
-       * backends/caldav/e-cal-backend-caldav.c: (e_cal_component_set_href),
-       (e_cal_component_get_href), (e_cal_component_set_etag),
-       (e_cal_component_get_etag): Do not set/access NULL pointers.
-       * backends/caldav/e-cal-backend-caldav.c: (caldav_server_put_object):
-       When no ETag is returned, try to GET it first, before giving up.
-       * backends/caldav/e-cal-backend-caldav.c: (caldav_create_object),
-       (caldav_modify_object), (caldav_remove_object), (process_object):
-       Set etag/href on success only.
-
-2009-02-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #572950
-
-       * backends/caldav/Makefile.am:
-       Fix ordering of -I compiler directives.  Patch by Daniel Macks.
-
-2009-02-18  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #570765
-
-       * backends/file/e-cal-backend-file.c: (e_cal_backend_file_open):
-       Do not store UTC to the component, it has none inner anyway.
-
-2009-02-11  Andre Klapper  <a9016009@gmx.de>
-
-       * libecal/e-cal.c:
-       * backends/caldav/e-cal-backend-caldav.c:
-       * backends/google/e-cal-backend-google.c:
-       Fix -Wold-style-definition warnings
-
-2009-02-09  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #555888
-
-       * backends/http/e-cal-backend-http.c: (begin_retrieval_cb):
-       * backends/caldav/e-cal-backend-caldav.c: (proxy_settings_changed),
-       (caldav_do_open), (e_cal_backend_caldav_dispose),
-       (e_cal_backend_caldav_init):
-       Use proxy configurable within Evolution.
-
-       * backends/google/e-cal-backend-google.c: (proxy_settings_changed),
-       (e_cal_backend_google_set_uri):
-       EProxy API changed, use e_proxy_peek_uri_for now.
-
-2009-02-05  Suman Manjunath  <msuman@novell.com>
-
-       ** Fix for bug #569459
-
-       * backends/google/e-cal-backend-google-utils.c:
-       * libecal/e-cal-check-timezones.c:
-       * libecal/e-cal-check-timezones.h:
-       * libecal/e-cal-component.h:
-       * libecal/e-cal-time-util.h:
-       * libecal/e-cal-util.h:
-       * libecal/libecal.pc.in:
-       * libedata-cal/e-data-cal-factory.h:
-       * libedata-cal/e-data-cal.c:
-       * tests/ecal/test-ecal.c:
-       Revert back to including <libical/ical*.h>. This is what is 
-       suggested by the upstream folks. Since libical.pc (in 0.43)
-       has a problem with its CFlags, make necessary adjustments. 
-
-2009-02-02  James Bottomley  <jejbev@hansenpartnership.com>
-
-       ** Fix for bug #566809
-
-       * libecal/e-cal-recur.c (generate_instances_for_chunk),
-       (cal_object_get_rdate_end): Don't process UTC periods in RDATES as 
-       though they were in local timezone.
-
-2009-01-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #347287
-       * calendar/libecal/e-cal.c: avoid unnecessary ipc
-       calls to get instances. Store the current operation
-       going on.
-
-2009-01-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #569459.
-       Patch from  Michael Monreal <michael.monreal@gmx.net>
-       * calendar/backends/google/e-cal-backend-google-utils.c:
-       * calendar/libecal/e-cal-check-timezones.c:
-       * calendar/libecal/e-cal-check-timezones.h:
-       * calendar/libecal/e-cal-component.h:
-       * calendar/libecal/e-cal-time-util.h:
-       * calendar/libecal/e-cal-util.h:
-       * calendar/libedata-cal/e-data-cal-factory.h:
-       * calendar/libedata-cal/e-data-cal.c:
-       * calendar/tests/ecal/test-ecal.c: Change include path
-       for ical.h. removed libical/ from #include.
-
-2009-01-29  Ross Burton  <ross@linux.intel.com>
-
-       * libedata-cal/e-cal-backend.c:
-       * libedata-cal/e-cal-backend.h:
-       Use G_DEFINE_TYPE.
-
-2009-01-29  Ross Burton  <ross@linux.intel.com>
-
-       * libedata-cal/e-cal-backend.c:
-       Use GObject private data instead of g_new().
-
-2009-01-29  Ross Burton  <ross@linux.intel.com>
-
-       * libedata-cal/e-cal-backend.c:
-       * libedata-cal/e-cal-backend-loader-factory.c:
-       * libedata-cal/e-data-cal-factory.c:
-       Remove some trailing whitespace.
-
-2009-01-21  Suman Manjunath  <msuman@novell.com>
-
-       ** Fix for bug #541209
-
-       ** Drop the libical fork in evolution-data-server
-       ** Related changes in Makefiles
-       ** Adapt to the new APIs from upstream libical. Changes made include
-       using the "_r" counterpart for the following APIs:
-       + icalproperty_as_ical_string ()
-       + icalvalue_as_ical_string ()
-       + icalcomponent_as_ical_string ()
-       + icalparameter_as_ical_string ()
-       + icaldurationtype_as_ical_string ()
-       + icalenum_reqstat_code ()
-       + icallangbind_property_eval_string ()
-       + icallangbind_quote_as_ical ()
-       + icalmime_text_end_part ()
-       + icalperiodtype_as_ical_string ()
-       + icalproperty_enum_to_string ()
-       + icalproperty_get_parameter_as_string ()
-       + icalproperty_get_value_as_string ()
-       + icalproperty_get_property_name ()
-       + icalrecurrencetype_as_string ()
-       + icaltime_as_ical_string ()
-       + icalreqstattype_as_string ()
-       + icalvalue_binary_as_ical_string ()
-       + icalvalue_int_as_ical_string ()
-       + icalvalue_utcoffset_as_ical_string ()
-       + icalvalue_string_as_ical_string ()
-       + icalvalue_recur_as_ical_string ()
-       + icalvalue_text_as_ical_string ()
-       + icalvalue_attach_as_ical_string ()
-       + icalvalue_duration_as_ical_string ()
-       + icalvalue_date_as_ical_string ()
-       + icalvalue_datetime_as_ical_string ()
-       + icalvalue_float_as_ical_string ()
-       + icalvalue_geo_as_ical_string ()
-       + icalvalue_datetimeperiod_as_ical_string ()
-       + icalvalue_period_as_ical_string ()
-       + icalvalue_trigger_as_ical_string ()
-       + icalvalue_as_ical_string ()
-
-       * Makefile.am:
-       * backends/caldav/Makefile.am:
-       * backends/caldav/e-cal-backend-caldav.c (icomp_x_prop_get),
-       (pack_cobj), (caldav_get_timezone):
-       * backends/contacts/Makefile.am:
-       * backends/contacts/e-cal-backend-contacts.c
-       (e_cal_backend_contacts_get_free_busy),
-       (e_cal_backend_contacts_get_timezone):
-       * backends/file/Makefile.am:
-       * backends/file/e-cal-backend-file.c (save_file_when_idle),
-       (notify_removals_cb), (notify_adds_modifies_cb),
-       (e_cal_backend_file_get_object), (e_cal_backend_file_get_timezone),
-       (e_cal_backend_file_get_free_busy):
-       * backends/google/Makefile.am:
-       * backends/google/e-cal-backend-google.c
-       (e_cal_backend_google_get_timezone):
-       * backends/groupwise/Makefile.am:
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (add_send_options_data_to_item), (set_rrule_from_comp),
-       (set_properties_from_cal_component), (start_freebusy_session),
-       (e_cal_backend_groupwise_store_settings):
-       * backends/groupwise/e-cal-backend-groupwise.c (get_deltas),
-       (e_cal_backend_groupwise_get_timezone):
-       * backends/http/Makefile.am:
-       * backends/http/e-cal-backend-http.c (retrieval_done),
-       (e_cal_backend_http_get_default_object),
-       (e_cal_backend_http_get_timezone),
-       (e_cal_backend_http_get_free_busy):
-       * backends/weather/Makefile.am:
-       * backends/weather/e-cal-backend-weather.c (finished_retrieval_cb),
-       (e_cal_backend_weather_get_timezone),
-       (e_cal_backend_weather_get_free_busy):
-       * libecal/Makefile.am:
-       * libecal/e-cal-check-timezones.c (e_cal_check_timezones):
-       * libecal/e-cal-component.c (e_cal_component_get_as_string),
-       (e_cal_component_get_recurid_as_string):
-       * libecal/e-cal-recur.c (e_cal_recur_set_rule_end_date):
-       * libecal/e-cal.c (foreach_tzid_callback),
-       (e_cal_get_component_as_string_internal), (e_cal_create_object),
-       (e_cal_modify_object), (e_cal_receive_objects),
-       (e_cal_send_objects), (e_cal_add_timezone),
-       (e_cal_set_default_timezone):
-       * libecal/libecal.pc.in:
-       * libedata-cal/Makefile.am:
-       * libedata-cal/e-cal-backend-cache.c
-       (e_cal_backend_cache_put_timezone),
-       (e_cal_backend_cache_put_default_timezone):
-       * libedata-cal/e-cal-backend-sync.c (_e_cal_backend_get_timezone):
-       * libedata-cal/e-cal-backend-util.c (is_attendee_declined):
-       * libedata-cal/libedata-cal.pc.in:
-       * tests/ecal/Makefile.am:
-       * tests/ecal/test-ecal.c (list_uids), (test_get_default_object),
-       (test_get_object):
-
-2009-01-19  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #272932
-
-       * libedata-cal/e-cal-backend-util.c:
-       (e_cal_backend_mail_account_get_default),
-       (e_cal_backend_mail_account_is_valid): Do not leak GConfClient.
-       * libedata-cal/e-cal-backend-util.h: (e_cal_backend_user_declined):
-       * libedata-cal/e-cal-backend-util.c: (e_cal_backend_user_declined),
-       (is_attendee_declined): New helper function to check whether user
-       declined the meeting or not. It looks into all configured and enabled
-       mail accounts and checks with attendees in the icalcomponent.
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_receive_objects):
-       * backends/caldav/e-cal-backend-caldav.c: (process_object):
-       * backends/google/e-cal-backend-google.c: (receive_object):
-       Recognize declined objects and do not add them to the calendar.
-
-2009-01-19  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #260853
-
-       * backends/contacts/e-cal-backend-contacts.c:
-       (struct _ECalBackendContactsPrivate), (setup_alarm),
-       (manage_comp_alarm_update), (update_alarm_cb),
-       (update_tracked_alarms_cb), (alarm_config_changed_cb),
-       (create_component), (e_cal_backend_contacts_finalize),
-       (e_cal_backend_contacts_init): Use and listen to changes
-       on the Birthdays and Anniversaries reminder setup.
-
-2009-01-16  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #360813
-
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_create_object),
-       (e_cal_backend_file_modify_object),
-       (e_cal_backend_file_receive_objects):
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_item_to_cal_component):
-       * backends/caldav/e-cal-backend-caldav.c: (caldav_create_object),
-       (caldav_modify_object), (process_object):
-       RFC 2445 - CREATED/DTSTAMP/LAST-MODIFIED always in UTC.
-
-2009-01-16  Suman Manjunath  <msuman@novell.com>
-
-       ** Fix for bug #443296 (bugzilla.novell.com)
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (e_cal_backend_groupwise_set_attachments_from_comp): Free memory only
-       after it is duped. 
-
-2009-01-15  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #501298
-
-       * backends/contacts/e-cal-backend-contacts.c:
-       (struct _ECalBackendContactsPrivate), (init_sources_cb),
-       (e_cal_backend_contacts_open), (e_cal_backend_contacts_finalize),
-       (e_cal_backend_contacts_init): Make _open function quick as much
-       as possible, to not block the sync_backend lock for long, thus other
-       threads can work with it too.
-       * backends/contacts/e-cal-backend-contacts.c: (book_record_new),
-       (add_source): Do not search a book when it wasn't opened correctly.
-       * backends/contacts/e-cal-backend-contacts.c: (contact_record_new),
-       (contact_record_free), (contact_record_cb_new): Do not ref/unref
-       backend in a structure which backend holds itself.
-
-2009-01-15  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #303738
-
-       * backends/caldav/e-cal-backend-caldav.c: (status_code_to_result),
-       (caldav_server_open_calendar), (caldav_server_get_object),
-       (caldav_server_put_object), (caldav_server_delete_object):
-       * backends/google/e-cal-backend-google-utils.c:
-       (e_cal_backend_google_utils_connect):
-       Return AuthFailed when need auth, to ask for a password again, or
-       return AuthRequired to indicate we require authentication.
-
-2009-01-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #564543
-
-       * backends/caldav/e-cal-backend-caldav.c (caldav_debug_setup):
-       Call soup_session_add_feature() instead of soup_logger_attach().
-
-2009-01-07  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fix for bug #439986 (bugzilla.novell.com)
-
-       * backends/groupwise/e-cal-backend-groupwise.c (receive_object): Set
-       the transparency on the cached object. 
-
-2009-01-07  Suman Manjunath  <msuman@novell.com>
-
-       ** Fix for bug #443544 (bugzilla.novell.com)
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (e_gw_connection_get_freebusy_info): Send a 'Free' block to the 
-       frontend if there are no 'Busy' blocks.
-       Also set the start/end of the Free/Busy range. 
-
-2009-01-05  Lubomir Rintel  <lkundrak@v3.sk>
-
-       ** Fix for bug #566627
-
-       * backends/caldav/e-cal-backend-caldav.c:
-       (caldav_server_open_calendar), (check_calendar_changed_on_server),
-       (caldav_server_list_objects), (caldav_server_get_object),
-       (caldav_server_put_object), (caldav_server_delete_object):
-       * backends/http/e-cal-backend-http.c: (begin_retrieval_cb):
-       Check return value of soup_message_new before accessing it.
-
-2008-12-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #564652
-
-       * backends/weather/e-cal-backend-weather.c: (create_weather):
-       Convert time from UTC properly. Leak a bit less.
-       * backends/weather/e-weather-source-ccf.c: (find_location):
-       Leak a bit less.
-
-2008-12-10  Suman Manjunath  <msuman@novell.com>
-
-       * backends/Makefile.am:
-       * backends/weather/Makefile.am:
-       Weather backend is now built optionally. 
-
-2008-12-08  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #562567
-
-       * backends/caldav/e-cal-backend-caldav.c: (caldav_set_mode):
-       Remember local/remote mode correctly. Also done various cleanups,
-       less debug output and waits for the slave thread only if exists.
-
-2008-12-08  Ian Weisser  <ian@korinthianviolins.com>
-
-       ** Fix for bug #451734
-
-       * backends/weather/Locations.xml.in: Correctly set Blythe, CA URL
-
-2008-12-03  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #352287
-
-       * backends/weather/Makefile.am:
-       * backends/weather/e-weather-source.h:
-       * backends/weather/e-weather-source.c: (e_weather_source_new):
-       * backends/weather/e-cal-backend-weather.c: (create_weather),
-       (finished_retrieval_cb), (getCategory):
-       * backends/weather/e-weather-source-ccf.h:
-       * backends/weather/e-weather-source-ccf.c: (e_weather_source_ccf_new),
-       (e_weather_source_ccf_parse), (find_location), (struct search_struct),
-       (parse_done), (find_location_func), (e_weather_source_ccf_init):
-       Share locations and forecast retrieving with libgweather.
-
-2008-11-28  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #560185
-
-       * backends/caldav/e-cal-backend-caldav.c:
-       (struct _ECalBackendCalDAVPrivate), (parse_getctag_response),
-       (check_calendar_changed_on_server), (synchronize_cache),
-       (caldav_do_open), (e_cal_backend_caldav_finalize),
-       (e_cal_backend_caldav_init): Decide whether to check for changes
-       based on the 'getctag' extension, if supported by the server.
-
-2008-11-28  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #527692
-
-       * backends/caldav/e-cal-backend-caldav.c: (caldav_generate_uri),
-       (initialize_backend): Always append trailing slash to the user
-       entered URI, it should point to the collection, not to the file.
-
-2008-11-28  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #359745
-
-       * backends/caldav/e-cal-backend-caldav-factory.c:
-       (ecb_caldav_factory_instance_init), (declare_functions),
-       (eds_module_initialize), (eds_module_list_types):
-       * backends/caldav/e-cal-backend-caldav.c: (caldav_server_list_objects),
-       (synchronize_object), (initialize_backend), (caldav_receive_objects),
-       (caldav_get_default_object):
-       Support VTODO and VJOURNAL components on the CalDAV.
-
-2008-11-26  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #559272
-
-       * backends/caldav/e-cal-backend-caldav.c: (soup_authenticate):
-       Do not use same password twice (causes infinite loop).
-
-2008-11-24  Suman Manjunath  <msuman@novell.com>
-
-       ** Added CAL_STATIC_CAPABILITY_CREATE_MESSAGES
-
-       * libecal/e-cal-util.h:
-       This static capability determines if a calendar backend can send
-       messages to recipients by itself. It is different from the
-       CAL_STATIC_CAPABILITY_SAVE_SCHEDULES from the fact that this new
-       capability is processed after the user has been prompted to send
-       an update. It is useful if the actual object needs some processing
-       after the messages are sent.
-
-2008-11-19  Andrew McMillan  <andrew@morphoss.com>
-
-       ** Fix for bug #560981
-
-       * backends/caldav/e-cal-backend-caldav.c: (xp_object_get_string),
-       (xp_object_get_href), (xp_object_get_etag), (xp_object_get_status),
-       (xp_object_get_number), (parse_report_response):
-       Plug memory leaks from unfreed xpath query results.
-
-2008-11-06  Sankar P  <psankar@novell.com>
-
-License Changes
-
-       * backends/caldav/e-cal-backend-caldav.h:
-
-2008-11-03  Sankar P  <psankar@novell.com>
-
-License Changes
-
-       * backends/caldav/e-cal-backend-caldav-factory.c:
-       * backends/caldav/e-cal-backend-caldav-factory.h:
-       * backends/caldav/e-cal-backend-caldav.c:
-
-2008-10-30  Matthew Barnes  <mbarnes@redhat.com>
-
-       * backends/caldav/create-account.c:
-       Only include toplevel GLib headers.
-
-2008-10-15  Suman Manjunath  <msuman@novell.com>
-
-       * backends/google/e-cal-backend-google.c
-       (e_cal_backend_google_open): Fixed a typo in checking offline calendar
-       availability - 'offline-sync' -> 'offline_sync'.
-
-2008-09-24  Ross Burton  <ross@linux.intel.com>
-
-       * libecal/libecal.pc.in:
-       * libedata-cal/libedata-cal.pc.in:
-       Remove libgnome-2.0 as it isn't used.
-
-2008-09-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #537718
-
-       * backends/caldav/e-cal-backend-caldav.c: (status_code_to_result),
-       (xp_object_get_href), (soup_authenticate), (redirect_handler),
-       (send_and_handle_redirection), (caldav_server_open_calendar),
-       (caldav_server_list_objects), (caldav_server_get_object),
-       (caldav_server_put_object), (caldav_server_delete_object),
-       (synchronize_object), (synchronize_cache), (initialize_backend),
-       (sanitize_component), (caldav_create_object), (caldav_modify_object),
-       (caldav_remove_object), (process_object), (caldav_receive_objects),
-       (caldav_add_timezone), (caldav_set_default_zone),
-       (caldav_internal_get_default_timezone),
-       (e_cal_backend_caldav_finalize), (e_cal_backend_caldav_init):
-       Be able to cooperate with servers which use redirections.
-       Support for (default) timezone information on the backend.
-       Store component's timezone(s) in cache to have them available.
-       Remove instance of the object only when 'rid' has been provided.
-       Do not panic when ETag not returned in the headers, but is known.
-       Set created/last modified times on the component. Leak a bit less.
-
-2008-09-22  Philip Withnall  <philip@tecnocode.co.uk>
-
-       ** Fix for bug #550980
-
-       * libedata-cal/e-cal-backend-util.c
-       (e_cal_backend_status_to_string): Fix the offline mode string to be
-       more helpful.
-
-2008-09-22  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * libedata-cal/Makefile.am: Committing a build fix.
-
-2008-09-12  Rob Bradford  <rob@linux.intel.com>
-
-       * backends/caldav/e-cal-backend-caldav.c:
-       * backends/file/e-cal-backend-file.c:
-       * backends/google/e-cal-backend-google-utils.c:
-       * backends/google/e-cal-backend-google.c:
-       * backends/http/e-cal-backend-http.c:
-       Remove the inclusion of Bonobo headers (no symbols are used from these
-       headers.)
-
-2008-09-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libecal/e-cal-check-timezones.c (e_cal_check_timezones):
-       Don't mix declarations and code.
-
-2008-09-11  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #551805
-
-       * backends/google/e-cal-backend-google-utils.c:
-       (e_cal_backend_google_utils_create_cache):
-       Create new timeout source only when none set yet.
-       * backends/google/e-cal-backend-google-utils.h:
-       * backends/google/e-cal-backend-google-utils.c:
-       (e_cal_backend_google_utils_update): Honour function prototype.
-       * backends/google/e-cal-backend-google-utils.c:
-       (e_cal_backend_google_utils_connect): Honour return data type.
-       * backends/google/e-cal-backend-google.h:
-       * backends/google/e-cal-backend-google.c:
-       (struct _ECalBackendGooglePrivate),
-       (e_cal_backend_google_set_timeout_id),
-       (e_cal_backend_google_get_timeout_id): Honour return data type.
-
-2008-09-05  Andre Klapper  <a9016009@gmx.de>
-
-       * libedata-cal/e-cal-backend-util.c: 
-       Add translator comment for "Offline unavailable"
-
-2008-09-04  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * libedata-cal/Makefile.am:
-       * libedata-cal/e-cal-backend.c
-       (e_cal_backend_notify_objects_added),
-       (e_cal_backend_notify_objects_removed),
-       (e_cal_backend_notify_objects_modified): New functions added.
-       * libedata-cal/e-cal-backend.h:
-       * libedata-cal/e-data-cal-factory.c (get_backend_factory),
-       (impl_CalFactory_getCal), (e_data_cal_factory_register_backend),
-       (e_data_cal_factory_register_backends):
-       * libedata-cal/e-data-cal-factory.h: Added LoaderFactory which is a
-         subclass of BackendFactory.
-
-2008-09-01  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #549675
-
-       * backends/http/e-cal-backend-http.c: (e_cal_backend_http_open):
-       Create cache with correct source_type value.
-
-2008-08-18  Matthew Barnes  <mbarnes@redhat.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (start_freebusy_session): Fix a compiler warning.
-
-2008-08-18  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #547786
-
-       * backends/google/e-cal-backend-google.c:
-       (e_cal_backend_google_get_object_list):
-       Test events against search expression when required.
-
-2008-08-18  Suman Manjunath  <msuman@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c (populate_cache):
-       Don't reset last notified percent value in each iteration. 
-
-2008-08-15  Matthew Barnes  <mbarnes@redhat.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c (populate_cache):
-       Fix a call to a non-existent ECalBackend function name.
-
-2008-08-15  Stanislav Slusny <slusnys@gmail.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       * libedata-cal/e-cal-backend.c:
-       * libedata-cal/e-cal-backend.h:
-       Make it send notifications only when it makes sense.
-       Fixes bug #531930.
-
-2008-08-14  Milan Crha  <mcrha@redhat.com>
-
-       ** Partial fix for bug #510949
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas),
-       (e_cal_backend_groupwise_refresh_calendar):
-       Memory leak fix and compiler warnings fix.
-       * libecal/e-cal-component.c: (e_cal_component_get_recurid_as_string):
-       Possible memory leak fix.
-
-2008-08-14  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #327851
-
-       * libecal/e-cal.c: (generate_instances):
-       Skip detached instances which doesn't belong to requested time range.
-
-2008-07-28  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #468671
-
-       * backends/google/e-cal-backend-google-utils.c: (gd_date_to_ical),
-       (e_go_item_to_cal_component), (utils_update_insertion):
-       Read time values in proper timezone as returned by Google Calendar.
-
-2008-07-21  Paul Bolle  <pebolle@tiscali.nl>
-
-       ** Fix for bug #543066
-
-       * libecal/e-cal-util.c: (e_cal_util_parse_ics_string),
-       (e_cal_util_parse_ics_file): Make the documentation reflect that these
-       functions either return a new icalcomponent or NULL.
-
-2008-07-18  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #515998
-
-       * libedata-cal/e-cal-backend-util.h: (e_cal_backend_status_to_string):
-       * libedata-cal/e-cal-backend-util.c: (e_cal_backend_status_to_string):
-       New helper function to convert call status to the string.
-       * backends/file/e-cal-backend-file.c: (e_cal_backend_file_remove):
-       * backends/caldav/e-cal-backend-caldav.c: (caldav_remove):
-       * backends/weather/e-cal-backend-weather.c:
-       (e_cal_backend_weather_remove): On any error in remove calendar just
-       print the message on the console and return success.
-
-2008-07-04  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #329571
-
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_modify_object):
-       Preserve detached instances when modifying master object.
-
-2008-06-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #476640
-
-       * backends/file/e-cal-backend-file.c: (cancel_received_object):
-       Pass back old and new object after the remove.
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_receive_objects): Cancel event properly.
-
-2008-06-22  Patrick Ohly  <patrick.ohly@gmx.de>
-
-       * libecal/e-cal-check-timezones.c,
-       libecal/e-cal-check-timezones.h: added e_cal_check_timezones()
-       which matches time zone definitions to system time zones and
-       resolves conflicting definitions; bumped version and age to
-       matched the extended libecal API (bug #52890)
-
-       * backends/file/e-cal-backend-file.c: use e_cal_check_timezones()
-       to improve time zone handling (bug #52890)
-
-       * libecal/e-cal.c: use current system time zone definitions
-       instead of possibly out-dated custom definitions when exporting
-       events or retrieving the time zone information for an event (bug
-       #52890)
-
-2008-06-13  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #534080
-
-       * backends/file/e-cal-backend-file.c: (save_file_when_idle):
-       Use g_output_stream_write_all instead of g_output_stream_write.
-
-2008-06-13  Tor Lillqvist  <tml@novell.com>
-
-       * backends/google/Makefile.am (libecalbackendgoogle_la_LIBADD)
-       * backends/groupwise/Makefile.am (libecalbackendgroupwise_la_LIBADD)
-       * backends/http/Makefile.am (libecalbackendhttp_la_LIBADD)
-       * backends/weather/Makefile.am (libecalbackendweather_la_LIBADD):
-       Link with libebackend.
-
-2008-06-13  Wang Xin  <jedy.wang@sun.com>
-
-       ** Fixes #527544.
-
-       * backends/google/e-cal-backend-google.c: Added proxy support.
-
-2008-05-29  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes #388579 (bnc)
-
-       * libecal/e-cal-component.c: (free_icalcomponent): Fix for Exchange 
-       crasher. Part of the fix was already committed. This is the last hunk.
-
-2008-05-23  Paul Smith  <psmith@gnu.org>
-
-       ** Fix for bug #534077
-
-       * libedata-cal/e-cal-backend-sync.c:
-       (e_cal_backend_sync_set_default_zone): Don't use freed memory. 
-
-2008-05-23  Ed Catmur  <ed@catmur.co.uk>
-
-       ** Fix for bug #533780
-
-       * libedata-cal/Makefile.am: Link against libebackend. 
-
-2008-05-13  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libedata-cal/libedata-cal.pc.in: Require libebackend-1.2.
-
-2008-05-09  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes part of #382736 (bnc) 
-
-       * libecal/e-cal-component.c: (scan_attachment): Exchange crashed 
-       everytime at start up. This patch helps fixing it.
-
-2008-04-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes #358644 (bnc) 
-       Retracted groupwise appointments should disappear as soon as they are 
-       retracted.
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas),
-       (get_cache_refresh_interval), (delta_thread), (cache_init):
-
-2008-04-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes part of #350143 (bnc)
-       Severe memory leak in evolution-data-server
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_item_to_cal_component), (e_gw_connection_get_freebusy_info):
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_open):
-       * libecal/e-cal-component.c: (set_attachment_list):
-
-2008-04-29  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes #358584 (bnc)
-       Display of web calendars ignores timezones
-
-       * backends/http/e-cal-backend-http.c: (retrieval_done):
-
-2008-04-29  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes #358650 (bnc)
-       International clock applet is crashing
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache):
-
-2008-04-23  Rob Bradford  <rob@openedhand.com>
-
-       * libedata-cal/e-cal-backend-cache.h:
-       * libedata-cal/e-data-cal-factory.c:
-       Use new paths for header files that have been moved to libebackend.
-
-2008-04-29  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #330990
-
-       * backends/caldav/e-cal-backend-caldav.c: (caldav_remove_object):
-       Allow remove only one instance of the recurring event.
-
-2008-04-29  Srinivasa Ragavan  <sragavan@novell.com>
-       
-       * calendar/tests/ecal/test-ecal.c: Remote g_asserts.
-
-2008-04-28  Sebastien Bacher  <seb128@ubuntu.com>
-
-       * backends/contacts/e-cal-backend-contacts.c: (book_record_new):
-       - don't free the same variable twice (#530323)
-
-2008-04-17  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #526741
-
-       * libedata-cal/libedata-cal.pc.in: Do not require gnomve-vfs,
-       require gio-2.0 instead.
-       * backends/file/e-cal-backend-file.c: (struct _ECalBackendFilePrivate),
-       (save_file_when_idle), (uri_to_path), (open_cal), (reload_cal),
-       (create_cal), (get_uri_string), (e_cal_backend_file_open),
-       (e_cal_backend_file_compute_changes), (e_cal_backend_file_init):
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (get_mime_type), (e_cal_backend_groupwise_set_attachments_from_comp):
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_compute_changes):
-       Do not use gnome-vfs, use gio/gvfs instead.
-       * backends/google/e-cal-backend-google-utils.c:
-       * backends/google/e-cal-backend-google.c: Do not include gnome-vfs.
-
-2008-04-16  Ebby wiselyn <ebbyw@gnome.org>
-       ** Fix for bug #523630
-       
-       * backends/google/e-cal-backend-google.c: Error handling changes 
-       * backends/google/e-cal-backend-google-utils.c: Error handling changes for function prototypes 
-
-2008-04-16  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #524324
-
-       * libedata-cal/e-data-cal-view.h: (struct _EDataCalViewClass):
-       * libedata-cal/e-data-cal-view.c: (e_data_cal_view_class_init): 
-       New signal "last_listener_gone" to indicate noone is using the query.
-       * libedata-cal/e-data-cal-view.c: (listener_died_cb): Emit the signal.
-       * libedata-cal/e-data-cal-view.c: (e_data_cal_view_set_property):
-       Increase the reference counter for the backend property.
-       * libedata-cal/e-cal-backend.h: (e_cal_backend_remove_query):
-       * libedata-cal/e-cal-backend.c: (e_cal_backend_remove_query):
-       Pair function to e_cal_backend_add_query.
-       * libedata-cal/e-data-cal.c: (disconnect_query),
-       (query_last_listener_gone_cb): New helper functions to properly
-       disconnect/remove queries without listeners.
-       * libedata-cal/e-data-cal.c: (impl_Cal_getQuery):
-       Listen to "last_listener_gone" signal on new query.
-       * libedata-cal/e-data-cal.c: (e_data_cal_finalize):
-       Disconnect queries properly, before destroying the hash table.
-       * libedata-cal/e-cal-backend.c: (e_cal_backend_init):
-       * libedata-cal/e-data-cal.c: (e_data_cal_init):
-       Use bonobo_object_ref/unref for EDataCalView objects.
-
-2008-03-31  Ondrej Jirman  <megous@megous.com>
-
-       ** Fix for bug #494311
-
-       * libedata-cal/e-cal-backend.c: (listener_died_cb):
-       Don't terminate connection after sucessful reconnect by ORBit. See
-       the comment in link_connection_state_changed_T_R ORBit function which states
-       that connection could have already been re-established at the time
-       listener_died_cb gets called. We need to check current connection status
-       in the callback.
-
-2008-03-27  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #523533
-
-       * libecal/e-cal-component.c: (e_cal_component_get_recurid_as_string):
-       Always return NULL or new allocated string.
-
-2008-03-27  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #523541
-
-       * libedata-cal/e-data-cal-view.c: (uncache_with_id_cb):
-       * backends/file/e-cal-backend-file.c: (add_component),
-       (e_cal_backend_file_modify_object),
-       (e_cal_backend_file_receive_objects):
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas),
-       (e_cal_backend_groupwise_modify_object), (send_object):
-       * backends/caldav/e-cal-backend-caldav.c: (process_object):
-       * libecal/e-cal.c: (process_detached_instances),
-       (e_cal_generate_instances_for_object):
-       * libecal/e-cal-component.c: (e_cal_component_get_id):
-       Do not leak memory returned by e_cal_component_get_recurid_as_string.
-       * backends/google/e-cal-backend-google.c: (send_object):
-       Do not ask for rid when not using it.
-
-2008-03-27  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #523126
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
-       Initialize variable to NULL, so do not free random memory.
-
-2008-03-05  Jens Granseuer  <jensgr@gmx.net>
-
-       ** Fixes bug #520362
-
-       * backends/google/e-cal-backend-google-utils.c:
-       (e_cal_backend_google_utils_create_cache),
-       (e_go_item_to_cal_component), (e_go_item_from_cal_component),
-       (gd_date_to_ical):
-       * backends/google/e-cal-backend-google.c: (receive_object),
-       (e_cal_backend_google_modify_object),
-       (e_cal_backend_google_create_object): put all declarations at the
-       beginnings of code blocks to make older compilers happy
-
-2008-03-03  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #327851
-
-       * libedata-cal/e-cal-backend-sync.c: (_e_cal_backend_get_timezone),
-       (_e_cal_backend_internal_get_timezone),
-       (e_cal_backend_sync_class_init): Try find timezone if entered only
-       as a location name.
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_internal_get_timezone):
-       * backends/http/e-cal-backend-http.c:
-       (e_cal_backend_http_internal_get_timezone):
-       * backends/weather/e-cal-backend-weather.c:
-       (e_cal_backend_weather_internal_get_timezone):
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_internal_get_timezone):
-       * backends/caldav/e-cal-backend-caldav.c:
-       (caldav_internal_get_timezone):
-       * backends/google/e-cal-backend-google.c:
-       (e_cal_backend_google_internal_get_timezone):
-       Ask parent class for internal time zone resolve, if we do not know.
-
-2008-03-02  Matthew Bares  <mbarnes@redhat.com>
-
-       ** Fixes bug #518728
-
-       * backends/caldav/Makefile.am:
-       * libecal/Makefile.am:
-       * libedata-cal/Makefile.am:
-       Fix linking order of libecal-1.2 and libedata-cal-1.2.
-       Patch by Patrick Ohly.
-
-2008-02-20  Milan Crha  <mcrha@redhat.com>
-
-       ** Fixes part of bug #510949
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       Memory leak fixes.
-
-2008-02-20  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes part of bug #510949
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_item_to_cal_component):
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
-       Leak fixes.
-
-2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/contacts/e-cal-backend-contacts.c (cdate_to_icaltime):
-       * backends/groupwise/e-cal-backend-groupwise-utils.h: Fix for some
-       warnings. Fix from opensuse downstream.
-
-2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas),
-       (get_cache_refresh_interval), (delta_thread), (cache_init): Respect
-       the refresh interval set in environment variable always.
-
-2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/file/e-cal-backend-file.c (save_file_when_idle): Reverted
-       the string marked for translation as we are in string freeze mode now.                                                              
-2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #163982 (bnc)
-       * backends/file/e-cal-backend-file.c (save_file_when_idle),
-       (add_component): Do not keep popuping up error dialogs in case
-       of failure. Fix from opensuse downstream.
-
-2008-02-14  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #516408
-       * backends/caldav/e-cal-backend-caldav.c
-       (e_cal_component_get_href), (e_cal_component_get_etag),
-       (synchronize_cache), (pack_cobj), (caldav_modify_object),
-       (caldav_remove_object), (process_object), (caldav_get_timezone):
-       * backends/contacts/e-cal-backend-contacts.c
-       (e_cal_backend_contacts_get_free_busy),
-       (e_cal_backend_contacts_get_timezone):
-       * backends/file/e-cal-backend-file.c (save_file_when_idle),
-       (notify_removals_cb), (notify_adds_modifies_cb),
-       (e_cal_backend_file_get_object), (e_cal_backend_file_get_timezone),
-       (e_cal_backend_file_get_free_busy),
-       (e_cal_backend_file_receive_objects):
-       * backends/google/e-cal-backend-google-utils.c
-       (e_go_item_from_cal_component), (get_date):
-       * backends/google/e-cal-backend-google.c
-       (e_cal_backend_google_get_timezone):
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (add_send_options_data_to_item), (set_rrule_from_comp),
-       (set_properties_from_cal_component), (start_freebusy_session),
-       (e_cal_backend_groupwise_store_settings):
-       * backends/groupwise/e-cal-backend-groupwise.c (get_deltas),
-       (e_cal_backend_groupwise_get_timezone):
-       * backends/http/e-cal-backend-http.c (retrieval_done),
-       (e_cal_backend_http_get_default_object),
-       (e_cal_backend_http_get_timezone),
-       (e_cal_backend_http_get_free_busy):
-       * backends/weather/e-cal-backend-weather.c (finished_retrieval_cb),
-       (e_cal_backend_weather_get_timezone),
-       (e_cal_backend_weather_get_free_busy):
-       * libecal/e-cal-component.c (e_cal_component_get_as_string),
-       (e_cal_component_get_recurid_as_string):
-       * libecal/e-cal-component.h:
-       * libecal/e-cal-recur.c (e_cal_recur_set_rule_end_date):
-       * libecal/e-cal.c (foreach_tzid_callback),
-       (e_cal_get_component_as_string_internal), (e_cal_create_object),
-       (e_cal_modify_object), (e_cal_receive_objects),
-       (e_cal_send_objects), (e_cal_add_timezone),
-       (e_cal_set_default_timezone):
-       * libedata-cal/e-cal-backend-cache.c
-       (e_cal_backend_cache_put_component),
-       (e_cal_backend_cache_put_timezone),
-       (e_cal_backend_cache_put_default_timezone):
-       * libedata-cal/e-data-cal-view.c (add_object_to_cache):
-       * tests/ecal/test-ecal.c (list_uids): Remove the duping of memory
-       which is returned from libical and free the returned by libical.                                              
-
-2008-02-11  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #515696
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_get_freebusy_info): Do not free use
-       free_attendee_list, just free the gslist alone.                                      
-
-2008-02-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #509776
-
-       * libecal/e-cal-component.h: (ECalComponentAlarmInstance):
-       Structure owns auid point, so do not declare it as const.
-       * libecal/e-cal-component.c: (e_cal_component_alarms_free):
-       Free instance->auid too, do not leak now.
-       * libecal/e-cal-util.c: (add_trigger):
-       Store copy of the auid into instance, it owns it now.
-
-2008-02-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fixes for bug #510949
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_properties_from_cal_component): Free alarm properly.
-
-2008-02-07  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes part of #510949
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_attachments_to_cal_component), (e_gw_item_to_cal_component),
-       (e_gw_connection_get_freebusy_info):
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (fetch_attachments): Leak fixes.
-
-2008-02-05  Peteris Krisjanis <pecisk@gmail.com>
-
-       ** Fix for bug #514487
-
-       * backends/caldav/e-cal-backend-caldav.c: (caldav_server_get_object):
-       Fix failure to download ics file when additional
-       information is included in it's MIME 
-       (e.g. "text/calendar; charset=utf-8").
-
-2008-02-05  Hein-Pieter van Braam  <hp@syntomax.com>
-
-       ** Fix for bug #514407
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_compute_changes):
-       Fix a NULL string being passed to strcmp.
-
-2008-01-28  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes part of #511208
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (get_cn_from_display_name), (e_gw_item_to_cal_component): Strip
-       the email from the display name.                                                                  
-
-2008-01-28  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #503574
-       * backends/groupwise/e-cal-backend-groupwise.c: (delta_thread),
-       (fetch_deltas), (start_fetch_deltas),
-       (e_cal_backend_groupwise_refresh_calendar), (cache_init),
-       (connect_to_server), (e_cal_backend_groupwise_finalize),
-       (in_offline), (e_cal_backend_groupwise_init): Fetch the deltas
-       in a single thread.                                                   
-       
-2008-01-28  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fix for bug #475781
-
-       * libecal/e-cal.c: (process_detached_instances): 
-       Fix memory leaks around ECalComponentDateTime.
-
-2008-01-28  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes bug #335217
-
-       * libecal/e-cal.c: (open_async): Removed ccad->result as
-       its not required.
-
-2008-01-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #475781
-
-       * libecal/e-cal-component.c: (e_cal_component_free_datetime):
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_properties_from_cal_component), (e_gw_item_to_cal_component):
-       * libecal/e-cal.c: (add_instance):
-       Fix memory leaks around ECalComponentDateTime.
-
-2008-01-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #510409
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas),
-       (e_cal_backend_groupwise_remove_object), (receive_object):
-       * backends/google/e-cal-backend-google-utils.c:
-       (e_cal_backend_google_utils_populate_cache):
-       * backends/google/e-cal-backend-google.c:
-       (e_cal_backend_google_remove_object):
-       Do not leak after call of e_cal_component_get_as_string.
-
-2008-01-21  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #510168
-
-       * backends/caldav/e-cal-backend-caldav.c: (synch_slave_loop),
-       (struct _ECalBackendCalDAVPrivate), (e_cal_backend_caldav_dispose),
-       (e_cal_backend_caldav_finalize), (e_cal_backend_caldav_init):
-       Ensure slave gone in dispose function of the backend.
-
-2008-01-15  Dan Winship  <danw@gnome.org>
-
-       * backends/caldav/e-cal-backend-caldav.c: Update for libsoup 2.4.
-
-       * backends/http/e-cal-backend-http.c: Update for libsoup 2.4
-
-       * backends/weather/e-weather-source-ccf.c: Update for libsoup 2.4.
-       Remove the manual redirection handling that was copied from
-       e-cal-backend-http, since we can let libsoup do it here. (The http
-       backend needs to worry about "webcal:" URIs; weather doesn't.)
-
-2008-01-07  P Chenthill <pchenthill@novell.com>
-
-       Reverting the fix for bug #503574.
-
-2008-01-04  Ondrej Jirman  <megous@megous.com>
-
-       ** Fix for bug #506457
-
-       * libedata-cal/e-data-cal-factory.c: Serialize access to the 
-       priv->backends hash table using mutex. This prevents a race while
-       adding backends to the table.
-
-2007-12-13  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #502866
-
-       * libecal/e-cal.c: (e_cal_get_objects_for_uid):
-       Allow get the VJOURNAL component at once same as other components.
-
-2007-12-06  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #501548
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_properties_from_cal_component):
-       * libecal/e-cal-util.c: (e_cal_util_generate_alarms_for_comp):
-       Free memory returned by e_cal_component_get_alarm_uids properly.
-
-2007-12-06  Sankar P  <psankar@novell.com>
-
-       ** Fixes bug #501969
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (connect_to_server):
-       Passwords should not be forgotten on all errors.
-
-2007-12-03  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #456565
-
-       * backends/http/e-cal-backend-http.c: (e_cal_backend_http_open):
-       Create cache of the right kind for each backend kind.
-       * backends/http/e-cal-backend-http.c: (e_cal_backend_http_remove):
-       Allow delete calendar from UI even if it doesn't have a cache yet.
-
-2007-11-28  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #415817
-
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_modify_object): Update start/end time for
-       recurrence instances even when only end time has been changed.
-
-2007-11-26  Ondrej Jirman  <megous@megous.com>
-
-       ** Fix for bug #494314
-
-       * libedata-cal/e-data-cal-factory.c: (impl_CalFactory_getCal):
-       Don't leak Cal object reference.
-
-2007-11-16  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #300584 by Peter Lord
-
-       * backends/contacts/e-cal-backend-contacts.c: (cdate_to_icaltime):
-       Use correct year when filling structure, not only years 1970+.
-
-2007-11-13  Ondrej Jirman  <megous@megous.com>
-
-       ** Fix for bug #494303
-
-       * libedata-cal/e-cal-backend-cache.c: (e_cal_backend_cache_get_timezone)
-       Return NULL pointer after freeing timezone structure.
-
-2007-11-11  Ross Burton  <ross@openedhand.com>
-
-       * backends/contacts/e-cal-backend-contacts.c:
-       Fix leak (#494304, Ondrej Jirman)
-
-2007-11-05  Milan Crha  <mcrha@redhat.com>
-
-       * libedata-cal/e-cal-backend-sexp.c: (func_has_start),
-       (struct symbols): Added new function 'has-start?' as part
-       of fix for bug #359267. This will check if the component
-       has filled start date or not.
-
-2007-10-23  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * libecal/e-cal.c
-       * backends/Makefile.am
-       * backends/google/e-cal-backend-google.c
-       * backends/google/e-cal-backend-google.h
-       * backends/google/e-cal-backend-google-utils.c
-       * backends/google/e-cal-backend-goole-utils.h
-       * backends/google/e-cal-backend-google-factory.c
-       * backends/google/e-cal-backend-google-factory.h
-       * backends/google/Makefile.am: Initial commit for the Google Calendar.
-
-       Committing on behalf of Ebby Wiselyn <ebbywiselyn@gmail.com>
-
-2007-10-11  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #420167
-
-       * backends/contacts/e-cal-backend-contacts.c: (contact_record_new),
-       (contact_record_free), (contact_record_cb_new):
-       Ref and Unref backend used in ContactRecord to be sure it isn't
-       freed before we endup with it.
-
-2007-10-03  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #469657
-
-       * libedata-cal/e-cal-backend-cache.c:
-       Use destroy functions in GHashTables to simplify memory management.
-
-2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #474000
-
-       * backend/groupwise/e-cal-backend-groupwise-utils.c
-       (e_cal_backend_groupwise_set_attachments_):
-       Use GLib's Base64 API instead of libsoup's.
-
-2007-09-10  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fix for bug #426421
-
-       * backends/contacts/e-cal-backend-contacts.c:
-       (e_cal_backend_contacts_finalize): destroy the 
-       addressbook sources.                                       
-
-2007-09-10  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #402506
-
-       * backends/weather/e-cal-backend-weather.c:
-       (struct _ECalBackendWeatherPrivate), (begin_retrieval_cb),
-       (e_cal_backend_weather_open), (e_cal_backend_weather_set_mode),
-       (e_cal_backend_weather_finalize), (e_cal_backend_weather_init):
-       Remembers idle and timeout calls and removes them when finalizing.
-
-2007-09-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #473880
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_cal_backend_groupwise_set_attachments_from_comp):
-       Fixes serious compiler warning
-
-2007-08-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #298095 (bnc)
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (set_container_id_with_count): Compare if the folder
-       is a system folder and calendar type to identify the
-       system calendar.                                                            
-
-2007-08-28  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-cal-backend-file-todo.c:
-       Add missing config.h include (part of #271841).
-
-2007-08-28  Ross Burton  <ross@openedhand.com>
-
-       * */*:
-       Fix FSF address (Tobias Mueller, #470445)
-
-2007-08-23  Christian Kellner  <gicmo@gnome.org>
-
-       * backends/caldav/e-cal-backend-caldav.c:
-       Use application/xml instead of text/xml as mime-type when sending
-       xml requests. This together with getting rid of is-defined fixes
-       bgo bug #394571 
-
-2007-08-23  Christian Kellner  <gicmo@gnome.org>
-
-       * backends/caldav/e-cal-backend-caldav.c:
-       Only store relative hrefs (i.e. the filename of the object) in
-       the component and the local cache and create the full qualified
-       when needed (that means during server interaction).
-       That should fix b.g.o bug #355659 and bug #354855
-
-2007-08-23  Christian Kellner  <gicmo@gnome.org>
-
-       * backends/caldav/e-cal-backend-caldav.c:
-       Add new debugging framework which can be controlled during
-       runtime with the CALDAV_DEBUG debug enviroment variable.
-
-2007-08-23  Christian Kellner  <gicmo@gnome.org>
-
-       * backends/caldav/e-cal-backend-caldav.c:
-       (caldav_server_list_objects):
-       Get rid of the non rfc-compliant is-defined xml tag in REPORT
-       queries.
-
-2007-08-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #337454
-
-       * libecal/e-cal.c: (generate_instances): Based on RFC 2445,
-       DTEND property is not required for reccuring VEVENT.
-
-2007-08-13  Ross Burton  <ross@openedhand.com>
-
-       * libedata-cal/e-cal-backend-cache.c:
-       * backends/weather/e-weather-source-ccf.c:
-       * libecal/e-cal-component.c:
-       Fix compile warnings.
-
-2007-08-10  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libecal/e-cal.c:
-       Use EFlag to simplify synchronization logic (#415891).
-
-2007-07-31  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/caldav/create-account.c:
-       * backends/caldav/e-cal-backend-caldav.c:
-       * backends/contacts/e-cal-backend-contacts.c:
-       * backends/file/e-cal-backend-file.c:
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       * backends/http/e-cal-backend-http.c:
-       * backends/weather/e-weather-source-ccf.c:
-       * libecal/e-cal.c:
-       * libecal/e-cal.h:
-       * libedata-cal/e-cal-backend-cache.h:
-       * libedata-cal/e-cal-backend-sexp.c:
-       * libedata-cal/e-cal-backend-sexp.h:
-       * libedata-cal/e-cal-backend-util.c:
-       * libedata-cal/e-cal-backend.h:
-       * libedata-cal/e-data-cal-factory.c:
-       * libedata-cal/e-data-cal-view.c: Changed the way header files are included so
-       that they are picked up from the source rather than install area.
-
-2007-07-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes a memory corruption.
-       * libecal/e-cal.c: (open_calendar): Use e_source_get_duped_property.
-
-2007-07-13  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #456565
-
-       * backends/http/e-cal-backend-http-factory.c:
-       (_memos_new_backend), (_memos_get_kind),
-       (memos_backend_factory_class_init),
-       (memos_backend_factory_get_type), (http_types),
-       (eds_module_initialize), (eds_module_list_types):
-       Added support for Memos to webcal protocol, which is
-       used for memos 'On The Web'.
-
-2007-07-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #268162
-
-       * backends/http/e-cal-backend-http.c: (struct _ECalBackendHttpPrivate):
-       New members for username and password.
-       * backends/http/e-cal-backend-http.c: (soup_authenticate),
-       (soup_reauthenticate): Callbacks for authentication support.
-       * backends/http/e-cal-backend-http.c: (begin_retrieval_cb):
-       Connect new callbacks to soup_session.
-       * backends/http/e-cal-backend-http.c: (e_cal_backend_http_open):
-       Copy username and password when authentication is required.
-
-       * backends/http/e-cal-backend-http.c: (retrieval_done): Warnings cleanup.
-
-2007-07-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #460867
-
-       * libecal/e-cal-component.c: (get_attachment_list):
-
-2007-07-09  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #394572 from Jari Urpalainen
-
-       * backends/caldav/e-cal-backend-caldav.c: (caldav_ignore_host),
-       (caldav_set_session_proxy), (caldav_do_open):
-
-2007-07-09  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #311098
-       
-       * backends/contacts/e-cal-backend-contacts.c: (contacts_changed_cb):
-       Always remove old tracked data and add new if possible.
-
-2007-06-04  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * libedata-cal/e-cal-backend-sexp.c: (resolve_tzid),
-       (func_occur_in_time_range), (func_due_in_time_range),
-       (matches_attendee), (matches_organizer), (matches_classification),
-       (matches_summary), (matches_priority),(matches_status), (func_has_attachment),
-       (func_percent_complete), (func_contains), (func_has_alarms_in_range), 
-       (func_has_recurrences): Added search expressions for matching attendee, organizer,
-       classification, priority, status, percent, attachment fields.
-               
-       Committing on behalf of Keshav Upadhyaya <ukeshav@novell.com> and 
-       Abhishek Parwal <pabhishek@novell.com>.
-
-2007-06-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #442187 from John Stowers
-
-       * libecal/e-cal.c: (get_default):
-
-2007-05-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libecal/Makefile.am:
-       Fix some distcheck errors (#438577).
-
-2007-05-24  Ross Burton  <ross@openedhand.com>
-
-       * backends/caldav/Makefile.am:
-       Add missing link flags to fix build with -z,defs. (#409542, Loic
-       Minier)
-
-2007-05-22  Ross Burton  <ross@openedhand.com>
-
-       * libecal/Makefile.am:
-       * libecal/e-cal.c:
-       * libecal/e-cal-view.c:
-       * libecal/e-cal-view.h:
-       * libecal/e-cal-view-private.h:
-       * libecal/e-cal-listener.h:
-       * libecal/e-cal-view-listener.h:
-       Move e_cal_view_new to e-cal-view-private.h because it's an
-       internal function, don't install the listener headers, and
-       sanitise includes so that the installed headers don't mention
-       Bonobo (#438727).
-
-2007-05-16  Jules Colding  <colding@omesc.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c (fetch_attachments): 
-       Do not close() if (fd == -1)
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c (set_attachments_to_cal_component): 
-       Do not close() if (fd == -1)
-
-       * backends/file/e-cal-backend-file.c (fetch_attachments): 
-       Do not close() if (fd == -1)
-
-2007-05-15  Ross Burton  <ross@openedhand.com>
-
-       * tests/ecal/test-ecal.c:
-       * tests/ecal/test-search.c:
-       * tests/ecal/test-recur.c:
-       Remove useless Bonobo usage.
-
-2007-05-13  Rob Bradford  <rob@openedhand.com>
-
-       * libecal/e-cal.c: (e_cal_create_object):
-       Set the uid on the icalcomponent to the uid returned by the backend
-       so that subsequent calls to e_cal_modify_object are safe. 
-       (bgo: #431135)
-
-2007-05-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       * backends/caldav/e-cal-backend-caldav.c:
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       * libecal/e-cal-component.c:
-       * libecal/e-cal-recur.c:
-       * libecal/e-cal.c:
-       * libedata-cal/e-cal-backend.c:
-       * libedata-cal/e-data-cal-view.c:
-       * tests/ecal/test-ecal.c:
-       Fix warnings reported by 'sparse'.  Patch from Kjartan Maraas.
-
-2007-04-05  Ross Burton  <ross@openedhand.com>
-
-       * backends/file/e-cal-backend-file.c:
-       Use g_mkdir_with_parents (#383686).
-
-2007-04-04  Ross Burton  <ross@openedhand.com>
-
-       * libecal/e-cal-marshal.list:
-       * libecal/e-cal-listener.c:
-       * libecal/e-cal-view-listener.c:
-       * libecal/e-cal-view.c:
-       Remove marshallers that are in GLib (#400970).
-
-2007-04-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libedata-cal/e-data-cal-factory.c (get_backend_factory):
-       * backends/groupwise/e-cal-backend-groupwise-utils
-       (e_cal_backend_groupwise_set_attachments_from_comp),
-       (e_gw_connection_get_freebusy_info):
-       * backends/caldav/e-cal-backend-caldav.c (process_object):
-       * backends/contacts/e-cal-backend-contacts.c (book_record_new),
-       (contact_record_cb_new), (source_group_removed_cb),
-       (cdate_to_icaltime), (create_component):
-       * libecal/e-cal-listener.c (ECalListenerPrivate):
-       Fix some compiler warnings.  Patch from Kjartan Maraas.
-
-2007-03-29  Matthew Barnes  <mbarnes@redhat.com>
-
-       * backends/file/e-cal-backend-file.c:
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       E-D-S requires GLib 2.10 now; remove dead backward-compatibility
-       code for GLib < 2.8 (#418971).
-
-2007-03-29  Matthew Barnes  <mbarnes@redhat.com>
-
-       * libecal-e-cal.c:
-       * libecal/e-cal-component.c:
-       * libecal/e-cal-recur.c:
-       * libecal/e-cal-util.c:
-       Fix up the documentation (#413173).  Patch from Ross Burton.
-
-2007-03-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       * backends/weather/e-cal-backend-weather.c:
-       Don't mix declarations and code (#405495).
-       Patch from Jens Granseuer.
-
-2007-03-25  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #420933
-
-       * libecal/e-cal.c (e_cal_generate_instances_for_object):
-       Copy the recurrence ID string so it doesn't disappear on us.
-       Patch from Patrick Ohly.
-
-2007-03-16  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #360240
-
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_remove):
-       Remove an unused variable.
-
-2007-02-27  Ross Burton  <ross@openedhand.com>
-
-       * libecal/e-cal.c:
-       Use consistent URIs when opening calendars by using
-       e_source_new_with_absolute_uri() in e_cal_new_from_uri (#333507).
-
-2007-02-12  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * libecal/e-cal.c: (process_detached_instances): Don't crash
-       on Outlook meeting invitations. Closes bug #404886. Patch
-       from Patrick Ohly.
-
-2007-02-12 Patrick Ohly        <patrick.ohly@gmx.de>
-
-       Fixes #363102
-       * backends/file/e-cal-backend-file.c: (save_file_when_idle),
-       (e_cal_backend_file_open),
-       (save), (e_cal_backend_file_finalize),
-       (e_cal_backend_file_get_object), (e_cal_backend_file_get_timezone),
-       (e_cal_backend_file_add_timezone),
-       (e_cal_backend_file_set_default_zone),
-       (e_cal_backend_file_get_object_list),
-       (e_cal_backend_file_start_query),
-       (e_cal_backend_file_get_free_busy),
-       (e_cal_backend_file_compute_changes),
-       (e_cal_backend_file_internal_get_timezone),
-       (e_cal_backend_file_create_object),
-       (e_cal_backend_file_modify_object),
-       (e_cal_backend_file_remove_object),
-       (e_cal_backend_file_remove), (e_cal_backend_file_init),
-       (e_cal_backend_file_set_file_name), (e_cal_backend_file_reload):
-       (e_cal_backend_file_receive_objects), (e_cal_backend_file_init): Added 
-       the idle save mutex lock.
-
-2007-01-29  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       reviewed by: <delete if not using a buddy>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (build_gwtz_from_icaltz), (set_properties_from_cal_component):
-       * libecal/e-cal.c: (e_cal_create_object):
-
-2007-01-23  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       reviewed by: <delete if not using a buddy>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (build_gwtz_from_icaltz), (set_properties_from_cal_component):
-       * libecal/e-cal.c: (e_cal_create_object):
-
-2006-11-27  Andrew Ruthven  <andrew@etc.gen.nz>
-
-       Fixes bug #349573
-
-       * calendar/backends/caldav/e-cal-backend-caldav.c
-       (caldav_server_delete_object):
-       Make sure that deleting CalDAV entries is RFC2068 compliant by
-       changing If-None-Match to If-Match.
-
-2006-12-03  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/contacts/e-cal-backend-contacts.c:
-       (e_cal_backend_contacts_finalize): Do not free default_zone if
-       it is the built-in UTC timezone.
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_finalize): Do not free default_zone if
-       it is the built-in UTC timezone. Fix leak of filename.
-
-2006-12-03  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (sanitize_component): Fix leak of str.
-
-2006-12-03  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libedata-cal/e-cal-backend.c: (e_cal_backend_finalize):
-       Fix leak of uri and source.
-
-2006-12-03  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libedata-cal/e-data-cal-view.c:
-       (e_data_cal_view_set_property): Do not dup backend. Fix this being
-       leaked.
-
-2006-11-15  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * libecal/e-cal-listener.c: (convert_status): Map the
-       error status for 'No Such Calendar'.                                                  
-
-2006-11-08  Sankar P  <psankar@novell.com>
-
-       * libecal/e-cal.c: (build_proxy_pass_key), (open_calendar):
-       Do not pop up a password dialog for proxy accounts.
-       Fixes #328836
-
-2006-11-07  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * libecal/e-cal.c: (add_instance), (generate_instances),
-       (e_cal_generate_instances_for_object): Generate the recurrence
-       id picking up the right timezone from the start date.                                          
-       Fixes #215636 (bugzilla.novell.com)
-
-2006-11-06  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libecal/e-cal.c: (open_calendar): Remove an 
-       erroneous double mutex unlock. Fixes #312348
-       and its numerous duplicates.
-
-2006-09-25  Matthew Barnes  <mbarnes@redhat.com>
-
-       Fixes #357666
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (change_status)
-       Use g_ascii_strncasecmp instead of deprecated g_strncasecmp.
-
-2006-09-22  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #351330
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (cache_init): call the store settings in a idle thread.
-       * backends/groupwise/e-cal-backend-groupwise.h: Defined a new structure
-       to hold Gw settings and groupwise backend.
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_cal_backend_groupwise_store_settings): 
-       * backends/groupwise/e-cal-backend-groupwise-utils.h:
-       Pass Gwsettings as an argument.
-
-2006-09-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/http/e-cal-backend-http.c:
-       (begin_retrieval_cb): Check the right e-source property.
-
-       Committing the patch from Mikael Nilsson <mini@nada.kth.se>.
-
-2006-09-06  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes a invalid read.
-       * backends/http/e-cal-backend-http.c: (retrieval_done):
-       clone the icalcomp before setting it in the new ECalComponent.
-       See bug #352596
-
-2006-08-24  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes the gslice crash
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
-       Do not free the cache_keys.
-
-2006-08-24  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (get_deltas): assign the proper iterator to cache_keys.
-       (cache_init): Need not notify objects added signal
-       for the elements existing in cache.
-
-2006-08-23  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #349847 by Matthew Barnes  
-       
-       * tests/ecal/test-ecal.c: (test_get_object): Initialize gerror to 
-       NULL.
-
-2006-08-22  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/http/e-cal-backend-http.c: (begin_retrieval_cb):
-       check if "use_ssl" property is set in e-source.
-
-2006-08-19  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #350887
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
-       replaced gslist_delete_link with remove link.
-
-2006-08-19  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #325648
-       * libecal/e-cal-util.c: (e_cal_util_parse_ics_string):
-       Check if the component is a VCALENDAR component before
-       merging the component.
-
-2006-08-19  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_default_alarms): Unref GConf client on all exit
-       paths.
-
-2006-08-17  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * libedata-cal/e-cal-backend-sync.c:
-       (_e_cal_backend_remove_object): Remove an unused variable.
-
-2006-08-11  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_attendees_to_item): removed the g_message.
-       (e_cal_backend_groupwise_store_settings):unref the source_list.
-
-2006-08-07  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (get_element_type), (populate_cache), (get_deltas),
-       (cache_init): Add local function to map icalcomponent
-       kind to GW item types. Add type checks to filters 
-       passed to createCursor calls, so that each component
-       fetches items of its own type and none other.
-
-2006-07-31  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #310489
-       * libecal/e-cal.c: (open_calendar): get the uri from
-       ecal object.
-
-2006-07-31  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #345646
-       * gui/dialogs/recurrence-page.c: 
-       (recurrence_page_finalize): Diconnect the signal handler
-       while destroying the page.
-
-2006-07-29  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #338203
-       * libecal/e-cal-time-util.c: 
-       (isodate_from_time_t): We format the time string ourselves
-       without using strftime as its not thread safe.
-
-2006-07-24  Harish Krishnaswamy  <kharish@novell.com>
-
-       Patch to split the cache into multiple files based
-       on the type of objects it stores. This substantially
-       reduces the primary memory requirements of Evolution
-       and EDS for providers like GW, Exchange that manipulate
-       event/tasks/journals together.
-
-       * backends/caldav/e-cal-backend-caldav.c: (initialize_backend):
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (connect_to_server), (e_cal_backend_groupwise_open):
-       * backends/http/e-cal-backend-http.c: (e_cal_backend_http_open):
-       * backends/weather/e-cal-backend-weather.c:
-       (e_cal_backend_weather_open):
-       Update e_cal_backend_cache_new calls with an additional source
-       type argument.
-       * libecal/e-cal.[ch]: (e_cal_source_type_enum_get_type):
-       Implement the function.
-       * libedata-cal/e-cal-backend-cache.c:
-       (get_filename_from_uri),
-       (e_cal_backend_cache_set_property),
-       (e_cal_backend_cache_get_property),
-       (e_cal_backend_cache_constructor),
-       (e_cal_backend_cache_class_init), (e_cal_backend_cache_new):
-       Compute the cache destination using the source type.
-       * libedata-cal/e-cal-backend-cache.h: Include header e-cal.h.
-
-2006-07-22  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_default_alarms): Refactor code to cut down 
-       comparisons. 
-
-2006-07-22  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #347987
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (get_deltas): fall back to right recur_key if the 
-       start date is not returned by the server.
-
-2006-07-22  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_default_alarms), (e_gw_item_to_cal_component):
-       * backends/groupwise/e-cal-backend-groupwise-utils.h:
-       Apply default alarm client preference to GW events if
-       the event does not already have one. Fixes Bug 
-       #167330 on bugzilla.novell.com.
-
-2006-07-22  Chenthill Palanisamy  <pchenthill@novell.com>
-       
-       * libedata-cal/e-cal-backend-sexp.c: (matches_summary): If the query
-       has a empty string, return TRUE.
-       * libedata-cal/e-data-cal.c: (e_data_cal_notify_object_created):
-       If the appointment is sucessfully created and if the *icalboj
-       do not send the objects created signal to the backend as there might
-       be a delay delivery set.
-       * backends/groupwise/e-cal-backend-groupwise-factory.c:
-       (_journal_new_backend), (_journal_get_kind),
-       (journal_backend_factory_class_init),
-       (journal_backend_factory_get_type), (eds_module_initialize),
-       (eds_module_list_types):
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_attendees_to_item), (set_properties_from_cal_component),
-       (e_gw_item_new_from_cal_component), (e_gw_item_to_cal_component),
-       (e_gw_connection_send_appointment),
-       (e_cal_backend_groupwise_store_settings):
-       * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),
-       (cache_init), (set_container_id_with_count), (connect_to_server),
-       (e_cal_backend_groupwise_internal_get_default_timezone),
-       (e_cal_backend_groupwise_create_object):
-       * libecal/e-cal-recur.c: (e_cal_recur_generate_instances_of_rule):
-       * libedata-cal/e-cal-backend-cache.c:
-       (e_cal_backend_cache_get_components): Added support for Gw notes
-
-2006-07-10  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #332911
-       * backends/caldav/e-cal-backend-caldav.c:
-       (caldav_set_default_zone), (e_cal_backend_caldav_class_init):
-       * backends/contacts/e-cal-backend-contacts.c:
-       (e_cal_backend_contacts_open),
-       (e_cal_backend_contacts_set_default_zone),
-       (e_cal_backend_contacts_finalize),
-       (e_cal_backend_contacts_class_init):
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_finalize), (e_cal_backend_file_open),
-       (e_cal_backend_file_set_default_zone),
-       (e_cal_backend_file_class_init):
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (connect_to_server), (e_cal_backend_groupwise_finalize),
-       (e_cal_backend_groupwise_open),
-       (e_cal_backend_groupwise_set_default_zone),
-       (e_cal_backend_groupwise_class_init):
-       * backends/http/e-cal-backend-http.c:
-       (e_cal_backend_http_finalize), (e_cal_backend_http_open),
-       (e_cal_backend_http_set_default_zone),
-       (e_cal_backend_http_class_init):
-       * backends/weather/e-cal-backend-weather.c:
-       (e_cal_backend_weather_open),
-       (e_cal_backend_weather_set_default_zone),
-       (e_cal_backend_weather_finalize),
-       (e_cal_backend_weather_class_init):
-       * idl/Evolution-DataServer-Calendar.idl:
-       * libedata-cal/e-cal-backend-sync.c:
-       (e_cal_backend_sync_set_default_zone),
-       (_e_cal_backend_set_default_zone), (e_cal_backend_sync_class_init):
-       * libedata-cal/e-cal-backend-sync.h:
-       * libedata-cal/e-cal-backend.c: (e_cal_backend_set_default_zone):
-       * libedata-cal/e-cal-backend.h:
-       * libedata-cal/e-data-cal.c: (impl_Cal_setDefaultTimezone): Added
-       e_cal_backend_set_zone as a replacement for e_cal_backend_set_timezone.
-       Replaced the same for all backends.     
-       * backends/e-cal-backend-groupwise-utils.c (set_properties_from_cal_component):
-       check if the dtstart is date using the is_date parameter.
-       * libecal/e-cal.c: (e_cal_set_default_timezone): Pass the timezone object
-       as a string instead of the tzid.
-
-2006-07-10  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libedata-cal/e-cal-backend-cache.c:
-       (e_cal_backend_cache_get_components),
-       (e_cal_backend_cache_get_components_by_uid):
-       Prefer g_(s)list_prepend to g_(s)list_append.
-
-2006-07-03  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libical/src/libical/icalvalue.c
-       (icalvalue_decode_ical_string): If the string decoded has
-       no special characters, the length of computed string is equal
-       to the buffer length allocated. Hence, do not flag error on
-       equality .
-
-2006-06-21  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache):
-       Set appropriate cursor/seek direction for each of the
-       pre-population calls.
-
-2006-06-19  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache):
-       reset 'done' flag for each iteration of cursor reads.
-
-2006-06-16  Tor Lillqvist  <tml@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: Add gmtime_r()
-       macro implementation for Win32.
-
-2006-06-15  Andre Klapper  <a9016009@gmx.de>
-
-       * libecal/e-cal.c: 
-       * libecal/e-cal.c: 
-       changing "cancelled" to "canceled" in user-visible strings.
-       Fixes bug #342163.
-
-2006-06-15  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libecal/e-cal-component.c: (get_attachment_list),
-       (set_attachment_list): Handle attachment URLs with
-       special characters that are not permitted in
-       ICAL. Fixes #178706 in bugzilla.novell.com.
-       
-2006-06-15  Wang Xin  <jedy.wang@sun.com>
-
-       Fixes #344253
-
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_compute_changes_foreach_key): Free comp.
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_compute_changes_foreach_key): Free comp.
-
-2006-06-13  Andre Klapper <a9016009@gmx.de>
-
-       * backends/file/e-cal-backend-file.c:
-       changing "couldn't", "can't" and "didn't" to proper
-       English. Fixes bug #342160.
-
-2006-06-13  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #335069
-       * backends/caldav/e-cal-backend-caldav.c: 
-       (caldav_remove): Return success if the cache
-       is not loaded.
-
-2006-06-12  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),
-       (get_deltas): Fetch calendar data with a bias towards present, 
-       near past and near future. Fixes bug#.
-       Also, prefer gmtime_r to gmtime.
-
-2006-06-12  Ross Burton  <ross@openedhand.com>
-
-       * backends/contacts/Makefile.am:
-       * backends/file/Makefile.am:
-       * backends/weather/Makefile.am:
-       Don't statically link a 200K library into each backend, when it's
-       already in libecal.
-
-2006-05-25  Wang Xin  <jedy.wang@sun.com>
-
-       Fixes #342102
-
-       * libedata-cal/e-cal-backend-sync.c:
-       (_e_cal_backend_modify_object): Free old_object and new_object.
-       (_e_cal_backend_remove_object): Free old_object.
-
-2006-05-07  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * backends/caldav/e-cal-backend-caldav.c: (process_object):
-       Fix typos. We were copying the wrong variable in a couple of
-       places. In plain english: Use the right etag on invitation updates. 
-
-2006-04-22  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_modify_object): Send item_id
-       with recurence key while delegating multiple instances.
-       Fixes #165714 (bugzilla.novell.com)
-
-2006-04-10  Tor Lillqvist  <tml@novell.com>
-
-       * libecal/e-cal-time-util.c: #define gmtime_r on Win32.
-
-2006-04-06  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #162005
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_modify_object): pass the 
-       rid while getting the component.
-       (e_cal_backend_groupwise_remove_object): Compare only
-       if the rid is present.
-               
-2006-04-05  Irene Huang <Irene.Huang@sun.com>
-
-       Fixes bug 335225
-
-       * backends/contacts/e-cal-backend-contacts.c:
-       (e_cal_backend_contacts_create_object),
-       (e_cal_backend_contacts_class_init): 
-       Add implementation of e_cal_backend_contacts_create_object.
-
-2006-04-03  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #158107
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas),
-       (e_cal_backend_groupwise_internal_get_timezone),
-       (get_retract_data), (e_cal_backend_groupwise_modify_object),
-       (send_object), (e_cal_backend_groupwise_send_objects): Added the 
-       retract support.
-
-2006-03-28  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #336086
-       * libical/src/libical/icaltime.c: (set_tz), (unset_tz),
-       (icaltime_as_timet_with_zone): Use a lock setting the 
-       tz enviromental variables.
-
-2006-03-23  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #331146
-       * backends/file/e-cal-backend-file.c:
-       (check_dup_uid), (add_component): Check if the 
-       component has a uid before try to search it in the 
-       cache.
-
-2006-03-23  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #323275
-       * libedata-cal/e-cal-backend-cache.c:
-       (e_cal_backend_cache_constructor): Register only
-       if the type is not register before.
-
-2006-03-23  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #334065
-       * libecal/e-cal-time-util.c: (isodate_from_time_t):
-       * libical/src/libical/icaltime.c: (icaltime_from_timet_with_zone),
-       (icaltime_as_timet_with_zone): Make mktime and gmtime thread safe.
-
-2006-03-22  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #334000
-       * libedata-cal/e-cal-backend.c:
-       (e_cal_backend_notify_object_removed): Check if
-       the query matches.
-
-2006-03-04  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #330974
-       * libecal/e-cal.c: 
-       (build_pass_key): Get the uri from ECal, which is more
-       reliable.
-       (open_calendar): Pass ECal to build_pass_key.
-                        
-2006-03-01  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * libedata-cal/e-cal-backend-sync.c:
-       (_e_cal_backend_remove_object): Do not get the object
-       backend again. Use the provided new and old object.
-       * libedata-cal/e-cal-backend.c:
-       (e_cal_backend_notify_object_removed): Need not check
-       if the query matches for removing an item.
-
-2006-03-02  Jeff Cai  <Jeff.Cai@Sun.Com>
-
-       Fixes #332276
-       * backends/weather/e-weather-source-ccf.c:
-       (e_weather_source_ccf_parse):
-       Support getting weather data through global http proxy.
-
-2006-02-28  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #332726
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_modify_object): Initialize and assign
-       the recurrence id properly. Set the date and times of the 
-       master object depending on what has changed.
-
-2006-02-20  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/caldav/Makefile.am: Add soup_flags to la.
-
-2006-02-14  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #331127
-       * backends/weather/e-cal-backend-weather.c:
-       (e_cal_backend_weather_get_object): Use g_object_unref
-       instead of g_free while disposing a ECalComponent.
-
-2006-02-13  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #329866
-       * libecal/e-cal.c: (process_detached_instances): Check if we have
-       valid recurrence id before comparing.
-
-2006-02-12  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #329566, #329568
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_modify_object): Reset the instance dates of the 
-       master object if its a recurring event.
-               (remove_instance): Removed the return statement so that the exception is
-       set in the master object.
-
-2006-02-09  Rajeev ramanathan <rajeevramanathan_2004@yahoo.co.in>
-
-       * backends/contacts/e-cal-backend-contacts.c: (contact_record_free)
-       Corrected id. Fixes #326428
-
-2006-02-09  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/caldav/e-cal-backend-caldav.c: (synchronize_cache):
-       return ECalComponentId instead of id during a remove notify
-       as per the changed semantics in ecal.
-
-2006-01-23  Veerapuram Varadhan <vvaradhan@novell.com>
-       ** Fixes #327427
-       * libedata-cal/e-data-cal-factory.c: (impl_CalFactory_getCal): Do
-       not ref a NULL object.
-       
-2006-01-23  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #305656
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
-       Remove the deleted items from the server.
-
-2006-01-23  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/caldav/e-cal-backend-caldav.c:
-       (caldav_server_open_calendar), (caldav_server_list_objects),
-       (caldav_server_get_object), (caldav_server_put_object),
-       (caldav_server_delete_object): Add debug hooks to each of
-       the messages and remove some bad ones.
-       
-2006-01-22  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/caldav/e-cal-backend-caldav.c (print_header),
-       (debug_handler), (setup_debug), (caldav_server_open_calendar),
-       (caldav_server_list_objects): Add debug helper functions to
-       caldav backend.
-
-2006-01-19  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #322951
-       * libedata-cal/e-cal-backend-cache.c:
-       (e_cal_backend_cache_get_type): Put a mutex lock
-       so that the Type value does not get reset.
-
-2006-01-17  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/caldav/Makefile.am: make distcheck
-       fixes.
-
-2006-01-16  Harish Krishnaswamy <kharish@novell.com>
-
-       * backends/Makefile.am : Add caldav subdir.
-
-2006-01-16  Harish Krishnaswamy <kharish@novell.com>
-
-       * backends/caldav/* : 'Import' the CalDAV back-end 
-       implementation into evolution-data-server. Please
-       refer evolution-caldav module in cvs.gnome.org for
-       prior Change history.
-       
-2006-01-16  Tony Tsui <tsui.tony@gmail.com>
-
-       Fixes #267402
-       * backends/http/e-cal-backend-http.c: (webcal_to_http_method,
-       retrieval_done, begin_retrieval_cb): Add support for webcal access
-       via https.
-
-2006-01-12  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libecal/e-cal.c: (get_factories):
-       The Cal Factory oafid should reflect
-       the API version rather than the BASE version.
-       Fixes #323115.
-
-2006-01-10  Simon Zheng  <simon.zheng@sun.com>
-
-       * backends/file/e-cal-backend-file.c:
-       * backends/weather/e-weather-source-ccf.c:
-       * libecal/e-cal-util.c:
-       * libedata-cal/e-cal-backend-sexp.c:
-       As file e-util.h is renamed, replace "libedataserver/e-util.h"
-       as "libedataserver/e-data-server-util.h".
-
-2006-01-10  Chenthill Palanisamy  <pchenthill@novell.com>
-
-
-       Fixes #324518
-       * backends/http/e-cal-backend-http.c:
-       (notify_and_remove_from_cache): Remove the items from the cache.
-
-2006-01-06  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #324741
-       * backends/http/e-cal-backend-http.c: (e_cal_backend_http_open):
-       Check if the default zone is present before adding it.
-
-2006-01-05  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * backends/http/e-cal-backend-http.c:
-       (notify_and_remove_from_cache): Use g_return_val_if_fail()
-       in a non-void function not g_return_if_fail()
-       * libecal/e-cal-component.c: (e_cal_component_get_id):
-       Same as above.
-       * libecal/e-cal-view-listener.c: (build_id_list): Fix
-       type in function parameter.
-       * tests/ecal/test-ecal.c: (all_tests): #if 0 out some
-       unused stuff.
-       * tests/ecal/test-recur.c: (main): Remove unused vars.
-
-2006-01-04  Tor Lillqvist  <tml@novell.com>
-
-       * backends/weather/e-weather-source-ccf.c (find_station_url):
-       Modify call to e_util_replace_prefix() according to its changed
-       interface.
-
-       * backends/weather/Makefile.am: Need to pass E_DATA_SERVER_PREFIX
-       because of the above.
-
-2006-01-02  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #325498
-       * backends/http/e-cal-backend-http.c:
-       (e_cal_backend_http_finalize): Remove the source
-       from the timeout loop. 
-
-2005-12-21  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #305006
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_receive_objects): If the UID is not present
-       generate own uid and if the method is publish.
-
-2005-12-16  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #267330
-       * libecal/e-cal-component.c: (e_cal_component_get_dtend),
-       (e_cal_component_get_dtstart), (e_cal_component_get_due): Initialize
-       internal elements of the datetime to avoid crashing.
-
-2005-12-15  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #324009
-       * backends/http/e-cal-backend-http.c:
-       (e_cal_backend_http_get_object): Use g_object_unref
-       to free the component instead of g_free.
-
-2005-12-13  Tor Lillqvist  <tml@novell.com>
-
-       * libecal/Makefile.am (INCLUDES): Drop unused EVOLUTION_LOCALEDIR.
-
-2005-12-11  Tor Lillqvist  <tml@novell.com>
-
-       * libecal/e-cal.c (set_local_attachment_store,
-       e_cal_new_system_calendar, e_cal_new_system_tasks,
-       e_cal_new_system_memos): Use g_build_filename() and
-       g_filename_to_uri().
-
-2005-12-09  Tor Lillqvist  <tml@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c: Use gstdio
-       wrappers. Use g_filename_from_uri() and g_file_get_contents().
-
-       * backends/weather/e-weather-source-ccf.c: Add localtime_r() and
-       strtok_r() implementations for Win32.
-       (find_station_url): Run-time lookup of the Locations.xml file on
-       Win32. Use e_xml_parse_file.
-       (tokenize): Remove unnecessary buffer allocation.
-
-       * libecal/e-cal-util.c: Open file in binary mode. Compare
-       localized strings using e_util_utf8_strcasecmp() instead of
-       g_strcasecmp().
-
-2005-12-08  Tor Lillqvist  <tml@novell.com>
-
-       * backends/file/e-cal-backend-file.c
-       * backends/groupwise/e-cal-backend-groupwise.c: Use gstdio
-       wrappers for full non-ASCII filename support on Windows. Use
-       g_path_get_basename() instead of looking for '/'. Use
-       g_filename_to_uri() instead of prefixing "file://". Use
-       g_file_get_contents() or GMappedFile (if built against GLib >=
-       2.8) to read the attachment files.
-
-2005-11-28  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #317322
-       * backends/file/e-cal-backend-file.c:
-       (get_object_string_from_fileobject),
-       (e_cal_backend_file_remove_object): Handle the case
-       of deleting a recurring event with no master object.
-
-2005-11-28  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #318777
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_modify_object): Dont set the recurrence id
-       again if its already present. Don't emit unnecessary modified
-       signals.
-
-2005-10-27  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Reworked the patch from Matthew Daniel <bugzilla@mdaniel.scdi.com>
-
-       Fixes #318130
-       * backends/http/e-cal-backend-http.c: Include
-       the file e-cal-time-util.h 
-
-2005-10-26  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_set_default_timezone): Removed
-       the assertion statement to check if the icalcomp is 
-       present. Its not needed as set_default_zone is called
-       before loading now.
-
-2005-10-24  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #308802
-       * backends/contacts/e-cal-backend-contacts.c:
-       (e_cal_backend_contacts_open):
-       * backends/file/e-cal-backend-file.c: (e_cal_backend_file_open),
-       (e_cal_backend_file_set_default_timezone):
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (connect_to_server), (e_cal_backend_groupwise_open),
-       (e_cal_backend_groupwise_set_default_timezone):
-       * backends/http/e-cal-backend-http.c: (e_cal_backend_http_open),
-       (e_cal_backend_http_set_default_timezone):
-       * backends/weather/e-cal-backend-weather.c:
-       (e_cal_backend_weather_open): Default timezone is set before
-       the loading the calendar, so put in the cache once the calendar is 
-       loaded.
-       * libecal/e-cal.c: (e_cal_set_default_timezone): Ensuring if the default 
-       timezone is present in the server is not needed now.
-
-2005-10-19  Harish Krishnaswamy <kharish@novell.com>
-       
-       Committing for Nathan Owens <pianocomp81@yahoo.com>
-       
-       * libecal/e-cal.c: (e_cal_new_system_memos): added backend
-       support for Memos component. Finished implement VJOURNAL support
-       * libecal/e-cal.h: (e_cal_new_system_memos): added prototype
-       * tests/ecal/test-ecal.c: (test_new_system_memos): added memos test
-
-2005-10-10  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #266144
-       * backends/contacts/e-cal-backend-contacts.c:
-       (contact_record_free): 
-       * backends/http/e-cal-backend-http.c:
-       (notify_and_remove_from_cache):
-       * backends/weather/e-cal-backend-weather.c:
-       (finished_retrieval_cb):
-       * backends/file/e-cal-backend-file.c: (notify_removals_cb),
-       (e_cal_backend_file_receive_objects): Use ECalComponentId.
-       * backends/groupwise/e-cal-backend-groupwise-utils.[ch]:
-       (e_gw_item_to_cal_component): Store the recurrence id in
-       utc.
-       (e_gw_connection_send_appointment): Get the component while
-       accepting/declining from mail component and pass all_instances
-       and get the partstat.
-       the 
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_remove_object), (change_status),
-       (receive_object): Change the status of all recurring appointments
-       if all_instances is set true.
-       * idl/Evolution-DataServer-Calendar.idl: Added a structure
-       to hold the recurrence id and uid to notify the component
-       removed.
-       * libecal/e-cal-component.c: (e_cal_component_get_id),
-       (e_cal_component_free_id): Added new API's for getting
-       the recurrence id and uid of a component.
-       * libecal/e-cal-component.h: Added a structure of holding
-       both the recurrence id and the uid.
-       * libecal/e-cal-view-listener.c: (build_id_list),
-       (impl_notifyObjectsRemoved):
-       * libecal/e-cal-view.c: (objects_removed_cb):
-       * libedata-cal/e-cal-backend-sync.c:
-       (_e_cal_backend_remove_object):
-       * libedata-cal/e-cal-backend.c: (match_query_and_notify),
-       (e_cal_backend_notify_object_removed):
-       * libedata-cal/e-cal-backend.h:
-       * libedata-cal/e-data-cal-view.c: (uncache_with_id_cb),
-       (remove_object_from_cache):
-       (e_data_cal_view_notify_objects_removed),
-       (e_data_cal_view_notify_objects_removed_1):
-       * libedata-cal/e-data-cal-view.h:
-       * libedata-cal/e-data-cal.c: (e_data_cal_notify_object_removed):
-       * libedata-cal/e-data-cal.h: Changed the API's to use the 
-       ECalComponentId structure instead of uid.
-       
-2005-10-07  Arunprakash  <arunp@novell.com>
-
-       * libedata-cal/e-data-cal-factory.c (backend_last_client_gone_cb) :
-       Use the same key for insertion and lookup in the backends hash table.
-       (impl_CalFactory_getCal ): Same.
-       ** Fixes #317897.
-       
-2005-10-04  Dinesh Layek  <ldinesh@novell.com>
-
-       Fixes #120071 
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_item_to_cal_component): Added a null check for
-       the acceptlevel.
-
-2005-10-01  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #314925
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (get_attendee_prop), (set_attendees_to_item): Get the 
-       delegated attendee and remove the delfrom parameter.
-
-2005-10-01  Harry Lu <harry.lu@sun.com>
-
-       * libecal/e-cal.c: (generate_instances): use the same logic as in
-       e_cal_recur_generate_instances_of_rule() to get the instance's
-       start and end time.
-
-2005-09-13  dinesh layek  <ldinesh@novell.com>
-
-       fixes #316195
-       * backends/http/e-cal-backend-http.c: (e_cal_backend_http_get_free_busy),
-       (create_user_free_busy), (free_busy_instance), (resolve_tzid): modified/added these
-       functions for publishing freebusy information of a web-calendar.
-
-2005-09-22  Dinesh Layek  <ldinesh@novell.com>
-
-       Fixes #309679
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_item_to_cal_component): Check accept_level
-
-2005-09-27  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * libecal/e-cal.c (build_pass_key) : Do not recreate the uri. Instead
-       strip the uri part after a ';'. The backend can now set its uri
-       accordingly to have a consistent password key across multiple calendars
-       * libedata-cal/e-data-cal-factory.c (impl_CalFactory_getCal) : Use the
-       esource uri instead of the euri string to identify the calendar.
-       Fixes #314746
-
-2005-09-26  Wang Xin  <jedy.wang@sun.com>
-
-       Fixes #317226
-
-       * libecal/e-cal.c: (generate_instances): For all day events,
-       set the timezone of start time and end time to default zone,
-       in case that it is NULL.
-
-2005-09-12  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #116162
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_send_appointment): Check status in getItemsRequest.
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (receive_object): Assign the modif_comp to comp only if the getItemsRequest
-       fails.
-
-2005-09-15  Tor Lillqvist  <tml@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (e_gw_connection_send_appointment): Use g_ascii_strncasecmp()
-       instead of strncasecmp() for well-definedness.
-
-2005-09-01  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #114384
-       * backends/groupwise/e-cal-backend-groupwise.c: (compare_prefix),
-       (get_deltas): Do not get form the calendar events for recurring
-       appointments, just compare the prefix of the cache key to identify
-       the presence of the item.
-
-2005-08-25  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #312853
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_item_to_cal_component): Intialize the tzid for
-       all day events.
-
-2005-08-22  Not Zed  <NotZed@Ximian.com>
-
-       * backends/weather/e-weather-source.c (e_weather_source_new):
-       constify base.  Include missing string.h.
-
-       * backends/weather/e-cal-backend-weather.c
-       (e_cal_backend_weather_open): constify uri.
-
-       * backends/contacts/e-cal-backend-contacts.c
-       (contacts_changed_cb): constify uid.
-
-       * backends/http/e-cal-backend-http.c
-       (e_cal_backend_http_get_timezone): constify zone.
-
-       * backends/groupwise/e-cal-backend-groupwise.c (get_deltas):
-       remove unused.
-       (set_container_id_with_count): fix this logic so it doesn't use an
-       unset container pointer.
-       (connect_to_server): remove unused.
-       (e_cal_backend_groupwise_get_static_capabilities): remove all the
-       unecessary backslashes.
-
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_modify_object)
-       (remove_instance, e_cal_backend_file_remove_object): cast away
-       warnings.
-       (e_cal_backend_file_modify_object): fix function signature.  no
-       idea what new_object should be set to.
-
-       * libedata-cal/e-cal-backend-cache.c
-       (e_cal_backend_cache_put_timezone): Cast away warnings.
-
-       * libecal/e-cal-component.c (ensure_alarm_properties_cb): pass a
-       string to icalproperty_set_description.  Not sure if it's the
-       right one.
-       (get_attachment_list): use const char * for data.
-       (set_alarm_description_cb): use const for old_summary.
-       (SetAlarmDescriptionData): constify strings.
-
-       * libecal/e-cal.c (open_calendar): make parent_user const & remove
-       unused.
-       (e_cal_get_objects_for_uid): init kind_to_find always.
-
-2005-08-23  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       Fixes #310461 (part of it)
-       * libecal/e-cal-component.c (set_attachment_list):
-       Do not call icalattach_unref after icalproperty_free, as the later
-       ends up executing the former and thus we can avoid double
-       unreffing.
-
-2005-08-22  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * libecal/e-cal.c (build_pass_key) : Builds the password key. Added new
-       (get_host_from_uri) : Fetches the hostname from the esource. 
-
-2005-08-21  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #271969
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_compute_changes):
-       (e_cal_backend_file_compute_changes_foreach_key): Return
-       boolean value as it as hash func.
-       Committing for Armin Bauer  <armin.bauer@desscon.com>
-       and modified by <jmubeen@novell.com> and
-       <vvaradhan@novell.com>.
-
-2005-08-17  Carsten Guenther <carsten.guenther@scalix.com>
-
-       Fixes http://bugzilla.gnome.org/show_bug.cgi?id=313657
-       * libecal/e-cal-recur.c:
-       (cal_obj_remove_duplicates_and_invalid_dates,
-       cal_obj_bymonthday_expand):
-       If a occurrence falls on a day that does not exist for that
-       month then move it to the last day of the month instead of
-       skipping it.
-
-2005-08-17  Chenthill Palanisamy  <pchenthill@novell.com>
-       
-       Fixes #311831
-       * libecal/e-cal.c (cal_read_only_cb): Check if
-       the op->bool is TRUE before emiting the cond
-       signal.
-       (get_read_only): set the op->bool to true while
-       making the request.
-
-2005-08-17  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #312578
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_modify_object): Check the mod
-       type and send the appropriate parameters for delegate
-       request.
-
-2005-08-12  P. S. Chakravarthi  <pchakravarthi@novell.com>
-
-       Fixes #311078
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (populate_cache): percent is not allowed to go beyond 100
-
-2005-08-11  Tor Lillqvist  <tml@novell.com>
-
-       * backends/contacts/Makefile.am
-       * backends/file/Makefile.am
-       * backends/groupwise/Makefile.am
-       * backends/http/Makefile.am
-       * backends/weather/Makefile.am
-       * libecal/Makefile.am
-       * libedata-cal/Makefile.am: Link with all used libraries. Use
-       -no-undefined on Win32.
-
-       * backends/contacts/e-cal-backend-contacts-factory.c
-       * backends/file/e-cal-backend-file-factory.c
-       * backends/groupwise/e-cal-backend-groupwise-factory.c
-       * backends/http/e-cal-backend-http-factory.c
-       * backends/weather/e-cal-backend-weather-factory.c
-       * libedata-cal/e-cal-backend-factory.c: : Drop inclusion of
-       <pthread.h>, these files do not use any pthread API.
-
-       * libecal/e-cal-component.c: No getgid() or getppid() on
-       Win32, #define as 0.
-       (e_cal_component_gen_uid): Use g_get_host_name() on Win32.
-
-       * libecal/e-cal-recur.h (e_cal_recur_nth): Importing variables
-       from DLLs can be a bit problematic, so use a functional API
-       instead on Win32.
-
-       * libecal/e-cal-recur.c (e_cal_get_recur_nth): Win32-only function
-       that returns a pointer to the e_cal_recur_nth array.
-
-2005-08-06  P. S. Chakravarthi <pchakravarthi@novell.com>
-
-       Fixes #309499
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_attendees_to_item): Reset the 'delfrom' parameter to 
-       empty string and set the attendee_list back to the ECalComponent
-               so that recipient list is build, containing current invitees 
-       only.  
-
-
-2005-08-04  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #305590
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_get_freebusy_info): Get the FreeBusyStatus
-       element from the response before getting the FreeBusyInfo.
-
-2005-08-02  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #310328
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_item_to_cal_component): Assign the date value alone
-       for start and end date if its an allday event.
-
-2005-07-27  Mengjie Yu  <meng-jie.yu@sun.com>
-
-       * backends/file/e-cal-backend-file-events.c:
-       Add reserved field for an empty structure.
-       * backends/file/e-cal-backend-file-journal.c:
-       Add reserved field for an empty structure.
-       * backends/file/e-cal-backend-file-todos.c:
-       Add reserved field for an empty structure.
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_item_to_cal_component):
-       Convert a structure to the same type will fail under sun's compiler.
-       * backends/weather/e-weather-source.c: (e_weather_source_parse):
-       void function should not return value.
-
-       Fixes #310198
-
-2005-07-25  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #271837
-       * libecal/e-cal.c: 
-       (e_cal_get_object): Fix for build break in sun
-       compiler.
-       Committing for bugzilla-novell@thewrittenword.com.
-
-2005-07-25  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #303548
-       * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),
-       (get_deltas): Removed the getItems call for getting the new items,
-       instead check for new items with all ids returned in read cursors
-       request.
-
-2005-07-23  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_send_appointment): Check if the container id
-       is present in the item id before appending it.
-
-2005-07-21  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_get_static_capabilities):
-       * libecal/e-cal-util.h: Added a new static capability
-       CAL_STATIC_CAPABILITY_HAS_UNACCEPTED_MEETING to identify
-       the backends which allow unaccepted meetings to appear in
-       calendar.
-
-2005-07-19  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #310767
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_send_appointment): Set the item_id for
-       single instance also. Fixed typo error in X-GW-RECUR-INSTANCES-MOD-TYPE
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_remove_object): Pass the recurrence
-       key while accepting/declining all instances of a recurring
-       appointment.
-
-2005-07-13  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),
-       (e_cal_backend_groupwise_create_object): Added "peek" in the view 
-       while getting the items back from the server.
-       (e_cal_backend_groupwise_remove_object): Intialize the list item_ids 
-       to NULL.
-
-2005-07-11  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_set_mode): Notify read_only to client(s).
-       * libecal/e-cal.c (cal_read_only_cb),(open_calendar), 
-       (e_cal_is_read_only), (get_read_only): Get the read only state
-       from the backend only while opening the calendar. The backend would
-       notify us if the state changes.
-       (e_cal_get_cal_address), (cal_cal_address_cb): Get the cal_address
-       only once from the backend.
-       * libedata-cal/e-cal-backend.[ch]: (e_cal_backend_notify_readonly),
-       (e_cal_backend_notify_cal_address): Methods to notify the changes
-       in the backend.
-       
-       Commiting for viren.l <viren@novell.com>
-
-2005-07-11  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * idl/Evolution-DataServer-Calendar.idl: Interface for sending a request
-       for an attachment and notifying the attachment list.
-       * libecal/e-cal-listener.[ch]: (impl_notifyAttachmentListRequested),
-       (e_cal_listener_class_init): listens to the backend and Notifies the client.
-       * libecal/e-cal.[ch]: (cal_attachment_list_cb), (e_cal_init),
-       (e_cal_get_attachments_for_comp): API to retrieve the attachment
-       list for a calendar item.
-       * libedata-cal/e-cal-backend-sync.[ch]:
-       (e_cal_backend_sync_get_attachment_list),
-       (_e_cal_backend_get_attachment_list),
-       (e_cal_backend_sync_class_init): Methods to send request to corresponding
-       backends and send notifications to the client.
-       * libedata-cal/e-cal-backend.c:
-       (e_cal_backend_get_attachment_list):
-       * libedata-cal/e-cal-backend.h: Calls the sync implemention.
-       * libedata-cal/e-data-cal.[ch]: (impl_Cal_getAttachmentList),
-       (e_data_cal_class_init), (e_data_cal_notify_object_list),
-       (e_data_cal_notify_attachment_list): Implements the request and the
-       sends notification to the listener.
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_get_attachment_list),
-       (e_cal_backend_file_class_init):
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_get_attachment_list),
-       (e_cal_backend_groupwise_class_init): Virtual methods to get
-       the attachment for a calendar object.
-
-
-2005-07-10  Sankar P  <psankar@novell.com>
-
-       * libecal/e-cal.c: (open_calendar)
-       Added a string which will be used for password prompt in case of a proxy account.
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (connect_to_server)
-       Added code to set the backend permission based on the proxy rights with which a proxy can act.
-
-2005-07-09  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libecal/e-cal.c: (e_cal_open_async), (e_cal_get_object),
-       (e_cal_get_objects_for_uid), (e_cal_generate_instances_for_object),
-       (e_cal_get_error_message): Fix some more compiler warnings.
-
-2005-07-09  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
-       Fix compiler warnings.
-
-2005-07-08  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_remove_object): Use removeItemsRequest
-       for removing all the recurring posted appointments.
-       (get_gw_item_id): Get the item id from the component.
-       (get_deltas): Commented the read cursors request to get the icalids,
-       since we need recurrece keys as we use it as the uid for recurrence items.
-       Get the component from cache using uid and rid.
-       * e-cal.c (e_cal_remove_object): Used CALOBJ_MOD_THIS since we are just removing
-       one component.
-       
-2005-07-08  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_rrule_from_comp), (set_properties_from_cal_component),
-       (e_gw_item_to_cal_component), (e_gw_connection_send_appointment):
-        add  support for creation of recurrence items by sending the 
-       recurrence formula to the server instead of generating the 
-       instances at the client end.
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (e_cal_backend_groupwise_get_static_capabilities):
-        add capability RECURRENCES_NO_MASTER.
-       (e_cal_backend_groupwise_remove_object): add support for 
-       removing all instances of a recurrence at one shot.
-       * libecal/e-cal-util.h: Add a static capability 
-       RECURRENCES_NO_MASTER. Backends that do not use master objects
-       to represent recurrence information and store them as individual
-       instances.
-       * libecal/e-cal.c: (e_cal_get_recurrences_no_master)
-       (e_cal_generate_instances_for_object): Do not expand instances for objects from 
-       backends that do not have master object to represent recurrences.
-       * libecal/e-cal.h:
-       * libedata-cal/e-cal-backend-cache.[ch]
-       (e_cal_backend_cache_get_components_by_uid):  Function to
-       fetch all items in the cache that have the same uid. (recurrence
-       items, detached instances etc.)
-
-2005-07-08  Sankar P  <psankar@novell.com>
-       
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas)
-       Moved from getQuickMessages to combination of getItems and readCursor, 
-       to overcome the problems posed by getQuickMessages. 
-       * libedata-cal/e-cal-backend-cache.[ch]: 
-       (e_cal_backend_cache_get_key_value) 
-       (e_cal_backend_cache_put_key_value):
-       Added functions so as to put/get strings onto cache
-       * libedata-cal/e-cal-backend-cache.[ch]:
-       (e_cal_backend_cache_put_server_utc_time)
-       Removed the unnecessary duplication of utc string.
-
-2005-07-02  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (e_gw_item_to_cal_component): Removed the debug messages.
-       * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),
-       (set_container_id_with_count), (connect_to_server): Get the number
-       of elements present in the calendar folder and use to calculate the 
-       percent.
-       * libecal/e-cal-view-listener.c: (e_cal_view_listener_class_init):
-       * libecal/e-cal-view.c: (e_cal_view_class_init): Marshal the elements
-       with string_int.
-       * libedata-cal/e-cal-backend.[ch]:
-       (e_cal_backend_notify_view_progress),
-       (e_cal_backend_notify_view_done): Added new functions to notify 
-       the view progress.
-
-2005-07-02  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.[ch]:
-       Removed the function for getting container_id.
-
-2005-07-02  Harish Krishnaswamy  <kharish@novell.com>
-
-       Fixes #309079
-       * libecal/e-cal.c: (e_cal_create_object): Fix
-       memory leak
-
-2005-06-23  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/http/Makefile.am: Removed unnecessary
-       linking to file backend.
-
-2005-06-22  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/Makefile.am: Removed unnecessary
-       linking to file backend.
-
-2005-06-21  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.h:
-       * backends/groupwise/e-cal-backend-groupwise.h:
-       Committing the changes made in the header file for delegate.
-
-2005-06-20  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_get_static_capabilities): Added
-       the delegate support for file backend.
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_get_static_capabilities):
-       * libecal/e-cal-util.h: Added the static capability
-       to support delegation to multiple delegatees.
-
-2005-06-06  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_attendees_to_item): Add the delegatees only while
-       for sending delegate request.
-       (set_properties_from_cal_component): called the function 
-       set_attendees_to_item to set attendees to component.
-       (e_gw_item_new_for_delegate_from_cal): Create a new item for
-               delegation.
-       (e_cal_backend_groupwise_utils_check_delegate): Checks if the 
-       meeting is delegated.
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_get_container_id): Gets the container
-       id from cbgw.
-       (e_cal_backend_groupwise_get_static_capabilities): Added
-       the static capability for Delegate.
-       (e_cal_backend_groupwise_modify_object): Check if the 
-       meeting is delegated and send a delegate request.
-       * backends/groupwise/e-cal-backend-groupwise.h: Added a function
-       to get the container id.
-       * libecal/e-cal-util.c: (e_cal_util_component_has_attendee):
-       To check if the component has an attendee.
-       * libecal/e-cal-util.h: Added the static capability for 
-       delegate and for a supporting backends which has no organizer.
-
-2005-05-18  Ross Burton  <ross@burtonini.com>
-
-       * backends/contacts/e-cal-backend-contacts.c:
-       Fix various memory leaks.
-
-2005-05-18  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/file/e-cal-backend-file-journal.[ch]: new class to implement
-       VJOURNAL backend.
-
-       * backends/file/e-cal-backend-factory.c (_journal_new_backend,
-       _journal_get_kind, journal_backend_factory_class_init,
-       journal_backend_factory_get_type): new functions for the journal backend.
-       (eds_module_initialize, eds_module_list_types): add the new backend.
-
-       * backends/file/Makefile.am: added new files.
-
-2005-05-13  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedata-cal/e-cal-backend.c (e_cal_backend_get_cal_address):
-       fixed gtk-doc comments for functions without return value.
-
-2005-05-13  The Written Word <bugzilla-novell@thewrittenword.com>
-
-       Fixes 271838
-
-       * libedata-cal/e-cal-backend.c (e_cal_backend_get_object_list):
-       don't return value from void function.
-
-2005-05-13  Shreyas Srinivasan <sshreyas@novell.com>
-
-       * backends/contacts/e-cal-backend-contacts.c: Fix #256874
-       
-2005-05-12  Vivek Jain <jvivek@novell.com>
-       
-        Fixes #271592
-        * backends/contacts/e-cal-backend-contacts.c:
-        (e_cal_backend_contacts_get_object):
-        check the uid to return the object corresponding to
-        birthday/anniversary
-
-2005-05-11  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedata-cal/e-cal-backend-sync.c:
-       * libedata-cal/e-cal-backend-util.c:
-       * libedata-cal/e-cal-backend.c:
-       * libedata-cal/e-data-cal-factory.c:
-       * libedata-cal/e-data-cal-view.c:
-       * libedata-cal/e-data-cal.c: improved API documentation.
-
-2005-05-09  Sushma Rai  <rsushma@novell.com>
-
-       * libedata-cal/e-cal-backend-cache.c (e_cal_backend_cache_constructor):
-       Freeing cache file name.
-       
-       * calendar/backends/groupwise/e-cal-backend-groupwise.c (get_deltas):
-       Checking for server time value, though typically this should never be NULL.
-       (e_cal_backend_groupwise_get_object_list): Unref cbsexp.
-
-       * calendar/backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_get_object_list)(create_user_free_busy): Unref sexp.
-
-2005-05-06  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedata-cal/e-cal-backend-factory.c:
-       * libedata-cal/e-cal-backend-sexp.c:
-       * libedata-cal/e-cal-backend-cache.c: improved API documentation.
-       (e_cal_backend_cache_put_server_utc_time): fixed leak.
-
-2005-05-06  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal.c:
-       * libecal/e-cal-time-util.c:
-       * libecal/e-cal-view.c:
-       * libecal/e-cal-view-listener.c:
-       * libecal/e-cal-util.[ch]: improved API documentation.
-       (e_cal_util_expand_uri): removed unused function.
-
-2005-05-06  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #273264
-
-       * libecal/e-cal.c (add_instance): set RECURRENCE-ID correctly.
-       (generate_instances): use detached instances' start and end times, not
-       the RECURRENCE-ID.
-
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_modify_object): no need to add exceptions for
-       detached recurrences.
-       (e_cal_backend_file_get_static_capabilities): disable THISAND*, so that
-       the broken GUI does not try to use them.
-
-2005-05-04  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #300920
-
-       * libecal/libecal.pc.in:
-       * libedata-cal/libedata-cal.pc.in: fixed Name: and Description:
-       fields.
-
-2005-05-04  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal-component.c:
-       * libecal/e-cal-listener.c:
-       * libecal/e-cal-recur.[ch]: improved API documentation.
-
-2005-04-19  Philip Van Hoof  <pvanhoof@gnome.org>
-
-       * libecal/e-cal.c: Function prototype (compiler fix)
-       
-2005-04-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #274409
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (get_deltas_timeout), (cache_init), (connect_to_server):
-       Run the get_deltas in a seperate thread instead of the main
-       loop.
-       (get_deltas): Added a static mutex lock.
-
-2005-04-11  Vivek Jain <jvivek@novell.com>
-       
-       * backends/groupwise/e-cal-backend-groupwise.c :
-       (e_cal_backend_groupwise_compute_changes_foreach_key):
-       callback function should take (key, value)pair as first two arguments
-       and then the user data          
-       
-2005-04-08  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal-util.h: added new function's prototype.
-
-2005-04-08  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #70035
-
-       * libecal/e-cal-util.c (e_cal_util_parse_ics_string): new function that
-       supports strings with multiple VCALENDAR's.
-
-       * backends/http/e-cal-backend-http.c (retrieval_done): use the new
-       function instead of icalparser_parse_string.
-
-2004-04-06  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal.c (e_cal_open_async): check load state and if in
-       progress or already loaded, notify caller and return.
-
-2005-04-06  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * libecal/e-cal.c
-               (open_calendar): Added a boolean variable in open_calendar
-       to ensure authentication when the mode is switched.If the calendar is
-       loaded  return TRUE. Set the load_state to not loaded if the loading
-       fails.
-       (open_async), (e_cal_open), (reopen_with_auth): Added additional
-       argument for the open_calendar call.
-
-2005-04-06  Christian Kellner  <gicmo@gnome.org>
-
-       * libecal/e-cal.c (set_local_attachment_store): 
-       Add support for scalix provider. Also plug a 
-       small mem leak.
-       Patch from Carsten Guenther <Carsten.Guenther@scalix.com>
-
-2005-03-24  Chenthill Palanisamy  <pchenthill@novell.com>
-       
-       Fixes #73336    
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (connect_to_server): Check for the container id
-       before calling the cache init.
-
-2005-03-24  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #73508
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_get_static_capabilities):
-       * libecal/e-cal-util.h: Added a new static capability 
-       to check and set the partstat as NEEDS ACTION for the
-       organizer.
-       * libecal/e-cal.[ch] (e_cal_get_organizer_must_accept):
-       Added a function to check the static capability.
-
-2005-03-12  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (connect_to_server): Run the get deltas in a thread to
-       avoid the inresponsiveness of the GUI when evolution
-       changes mode from offline to online.
-
-2005-03-12  Harish Krishnaswamy <kharish@novell.com>
-       
-       * backends/groupwise/e-cal-backend-groupwise.c (get_deltas) :
-       use 'peek' while downloading new items so when the calendar gets 
-       the new item before the mailer has a chance to retrieve it, the item
-       is not flagged read.
-       
-2005-03-12  Harish Krishnaswamy <kharish@novell.com>
-       
-       Fixes a memory corruption issue in GW backend 
-       * backends/groupwise/e-cal-backend-groupwise.c (get_deltas) :
-       strftime should be passed an array of sufficient length, not a
-       char *. Fetch t_str from cache - so you are always sure of having 
-       the correct value.Add some extra safety code checking empty strings.
-
-2005-03-11  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * libecal/e-cal.c : Set the local_attachment_store for exchange
-       
-2005-03-08  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #73141
-       * libecal/e-cal.c: (open_calendar): Check if the uri
-       is not NULL before getting the password from
-       e_passwords.
-
-2005-03-06  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #72454
-
-       * backends/http/e-cal-backend-http.c (begin_retrieval_cb): call
-       g_object_set with correct arguments.
-
-2005-02-28  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (get_deltas): Check if the component type is the same
-       as the backend kind before sending notification to the 
-       view.   
-
-2005-02-28  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #72958
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_create_object): If the server
-       sends the status succes without uid present, then it
-       must be due to delay delivery set, so do not put the component
-       in the cache since it might not be created in the server.
-
-2005-02-28  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
-       store the time_string immediately after the 'New' call.
-       add missing view in the second getQM call - "attachments"
-
-2005-02-25  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/weather/e-cal-backend-weather.c
-       (e_cal_backend_weather_get_static_capabilities): 'capabilities' is not
-       an array, but an out char * argument.
-
-
-2005-02-25  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
-       Changed the getQm calls since the function has been changed.
-       Send the time stamps received from the server.
-       * libedata-cal/e-cal-backend-cache.c:
-       (e_cal_backend_cache_put_server_utc_time),
-       (e_cal_backend_cache_get_server_utc_time):
-       * libedata-cal/e-cal-backend-cache.h:  Added functions
-       to put the server UTC time in cache.
-
-2005-02-25  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache):
-       Do not use position cursor calls anymore. use position field in 
-       read cursor request.
-
-2005-02-22  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/http/e-cal-backend-http.c (e_cal_backend_http_init):
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_init):
-       * backends/weather/e-cal-backend-weather.c
-       (e_cal_backend_weather_init): set backend's lock to TRUE.
-
-2005-02-22  JP Rosevear  <jpr@novell.com>
-
-       * libedata-cal/e-cal-backend-sync.c: added a lock wrapper to make
-       calls be locked if backend is set so.
-       (e_cal_backend_sync_set_lock): new function.
-       (e_cal_backend_sync_is_read_only, e_cal_backend_sync_get_cal_address,
-       e_cal_backend_sync_get_alarm_email_address,
-       e_cal_backend_sync_get_ldap_attribute,
-       e_cal_backend_sync_get_static_capabilities, e_cal_backend_sync_open,
-       e_cal_backend_sync_remove, e_cal_backend_sync_create_object,
-       e_cal_backend_sync_modify_object, e_cal_backend_sync_remove_object,
-       e_cal_backend_sync_discard_alarm, e_cal_backend_sync_receive_objects,
-       e_cal_backend_sync_send_objects, e_cal_backend_sync_get_default_object,
-       e_cal_backend_sync_get_object, e_cal_backend_sync_get_object_list,
-       e_cal_backend_sync_get_timezone, e_cal_backend_sync_add_timezone,
-       e_cal_backend_sync_set_default_timezone, e_cal_backend_sync_get_changes,
-       e_cal_backend_sync_get_free_busy): wrap calls to backend methods in
-       our lock wrapper.
-
-       * backends/contacts/e-cal-backend-contacts.c
-       (e_cal_backend_contacts_init):
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_init):
-       set backend's lock to TRUE.
-
-2005-02-22  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_send_appointment): Return the status as it is.
-       * backends/groupwise/e-cal-backend-groupwise.c
-               (receive_object): Removed the check for modified item and ok status.
-       Instead checked for the status ALREADY_ACCEPTED directly.
-
-2005-02-22  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes 71490
-       * backends/http/e-cal-backend-http.c
-               (retrieval_done):If the vcalendar component does not
-       have the UID property, do not add the component the
-       component into the cache.
-
-2005-02-21  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (get_attach_data_from_server), (set_attachments_to_cal_component),
-       (e_gw_item_to_cal_component):  Download the attachments from the server
-       only if they are not already present in the cache.
-       
-2005-02-17  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (populate_cache),(cache_init): Moved the get categories
-       call from populate_cache to cache_init since it has to be
-       called everytime.
-       (e_cal_backend_groupwise_finalize),
-       (e_cal_backend_groupwise_init): Hash table for categories
-       need not be created/destroyed, connection will handle it.
-
-2005-02-11  Rodrigo Moya <rodrigo@gnome-db.org>
-
-       Fixes #71545
-
-       * libecal/e-cal-view.c (objects_added_cb, objects_modified_cb,
-       objects_removed_cb): ref/unref the view before/after emitting the
-       signal.
-
-2005-02-11  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #72107
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_open): insert a g_mutex_unlock.
-
-2005-02-10  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes a crash
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_item_to_cal_component): Check whether the creation 
-       date is present, before converting it to icaltimetype.
-
-2005-02-09  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal.c (open_calendar): use e_return_error_if_fail instead
-       of g_return_val_if_fail.
-
-2005-02-08  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal.c (add_instance): set correctly (again) the recurid.
-       (generate_instances): set correctly instance times for detached
-       occurrences.
-
-2005-02-08  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal.c (add_instance): recurrence-id needs to be a date
-       only.
-
-       * backends/file/e-cal-backend-file.c (add_component): g_strdup the
-       key for the hash table.
-       (free_object_data): free the hash table key when freeing objects.
-       (free_calendar_components, remove_component): no need to free the
-       object's data here, this is done now automatically by the hash table.
-       (open_cal, create_cal, reload_cal): create hash table with
-       g_hash_table_new_full.
-
-2005-02-08  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c (get_deltas):
-       add attachments to the getQuickMessages view so they can listen
-       for changes in attachments.
-
-2005-02-08  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_remove_object): Assign the
-       value for the *object as NULL and duped value to
-       *old_object since calobj is freed later.
-
-2005-02-07  JP Rosevear  <jpr@novell.com>
-
-       * backends/weather/e-cal-backend-weather.c (getCategory): don't
-       translate the empty string
-
-2005-02-07  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (ECalBackendGroupwisePrivate): Added a boolean variable
-       to check if the mode has been changed.
-       (get_deltas): put component replaces there is an existing 
-       component, so removed the remove_component call. Before
-       getting the vtype of the component, check if comp is NULL.
-       (cache_init): Insert the timeout call for getQuickMessages
-       only for events.
-       (connect_to_server): Add the timeout call for getquickmessages
-       only if the mode has been changed.
-       (e_cal_backend_groupwise_set_mode): Set the mode_changed variable.
-
-2005-02-04  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_item_to_cal_component): Added a string for 
-        reply requested in send options.
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_open): Removed the error
-       notify message for Repository offline since it would
-       be handled from frontend.
-       Fixes #72117
-       (e_cal_backend_groupwise_create_object): Check for
-       the UID, if not present send an error message.
-
-2005-02-04  Rodrigo Moya <rodrigo@novell.com>
-
-       * tests/ecal/test-recur.c: removed libgnome usage.
-       (main): use arguments correctly.
-
-2005-02-04  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal.c (generate_instances): don't expand recurrences
-       for detached instances.
-
-       * tests/ecal/test-recur.c:
-       * tests/ecal/Makefile.am: added recurrence test.
-
-2005-02-04  Ross Burton  <ross@burtonini.com>
-
-       * tests/ecal/test-search.c:
-       Remove useless libgnome usage.
-
-2005-02-03  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_categories_for_gw_item), (add_send_options_data_to_item),
-       (set_properties_from_cal_component), (get_attach_data_from_server),
-       (e_gw_item_to_cal_component), (e_gw_connection_send_appointment),
-       (e_gw_connection_get_freebusy_info),
-       (e_cal_backend_groupwise_store_settings): Fixed the compiler warnings
-       and set the datetime value for the replywithin variable due to change
-       in schemas.
-
-2005-01-03 Vivek Jain <jvivek@novell.com>
-
-       * idl/Evolution-DataServer-Calendar.idl: 
-         added InvalidServerVersion in the callstatus
-       * libecal/e-cal-types.h: (added INVALID_SEVER_VERSION)
-       * libecal/e-cal-listener.c (convert_status): added
-         INVALID_SERVER_VERSION
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (connect_to_server): return the different callstatus if server doesn't return the
-       version
-
-2005-02-02  Ross Burton  <ross@burtonini.com>
-
-       * backends/contacts/e-cal-backend-contacts.c:
-       * backends/file/e-cal-backend-file.c:
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       * backends/http/e-cal-backend-http.c:
-       * backends/weather/e-cal-backend-weather.c:
-       * backends/weather/e-weather-source-ccf.c:
-       * libecal/e-cal-component.c:
-       * libecal/e-cal-recur.c:
-       * libecal/e-cal-util.c:
-       * libecal/e-cal.c:
-       * libedata-cal/e-cal-backend-sexp.c:
-       * tests/ecal/test-ecal.c:
-       Use glib/gi18n.h
-
-2005-02-02  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #72004
-       * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas),
-       (e_cal_backend_groupwise_get_free_busy),
-       (e_cal_backend_groupwise_create_object),
-       (e_cal_backend_groupwise_modify_object),
-       (e_cal_backend_groupwise_remove_object), (receive_object): If
-       Invalid connection error is returned from e-gw-connection, perform
-       the operation again since re_authenticate method in gw-connection.c
-       would give us a new valid session.
-
-2005-01-31  Hans Petter Jansson  <hpj@novell.com>
-
-       * idl/Evolution-DataServer-Calendar.idl: Change the name of the
-       multiple inclusion protection define, so it doesn't conflict with
-       that in Evolution proper.
-
-2005-01-31  Hans Petter Jansson  <hpj@novell.com>
-
-       * backends/file/Makefile.am:
-       * backends/weather/Makefile.am:
-       * backends/http/Makefile.am:
-       * backends/groupwise/Makefile.am:
-       * backends/contacts/Makefile.am:
-       Build as modules.
-
-2005-01-31  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #64682
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_create_appointment): IF the appointment
-       is moved from another calendar, send the createItemsRequest 
-       to the server, so that it does not send mails to the 
-       recipients.
-
-2005-01-31  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (cache_init, connect_to_server): GW Task backend now relies
-       on the Calendar backend to fetch changes. This reduces the
-       load on the GW server.
-       
-2005-01-29 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * calendar/backends/groupwise/e-cal-backend-groupwise.c 
-       (from_uri) : Change the default port to 7191 
-
-2005-01-28  Rodrigo Moya <rodrigo@novell.com>
-
-       * idl/Evolution-DataServer-Calendar.idl: removed
-       notifyCategoriesChanged method on CalListener.
-
-       * libedata-cal/e-cal-backend.[ch] (e_cal_backend_init,
-       e_cal_backend_finalize, e_cal_backend_add_client): no need
-       to deal with categories now.
-       (free_category_cb, prune_changed_categories, add_category_cb,
-       notify_categories_changed, idle_notify_categories_changed,
-       e_cal_backend_ref_categories, e_cal_backend_unref_categories):
-       removed.
-
-       * libedata-cal/e-data-cal.[ch]
-       (e_data_cal_notify_categories_changed): removed.
-
-       * backends/file/e-cal-backend-file.c (add_component,
-       remove_recurrence_cb, remove_component, remove_instance,
-       remove_object_instance_cb): no need to deal with categories now.
-
-       * libecal/e-cal-listener.[ch]: removed "categories_changed" signal.
-       (impl_notifyCategoriesChanged): removed.
-       (e_cal_listener_class_init): don't set removed method. Don't create
-       "categories_changed" signal.
-
-       * libecal/e-cal.[ch]: removed "categories_changed" signal.
-       (categories_changed_idle_cb, categories_changed): removed.
-       (e_cal_init): removed connection to listener's "categories_changed"
-       signal.
-       (e_cal_class_init): don't create "categories_changed" signal.
-
-2005-01-27  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       partially Fixes#68541
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (start_freebusy_session), (close_freebusy_session),
-       (e_gw_connection_get_freebusy_info): Return the error
-       message as NO_RESPONSE if the server is not responding.
-       * backends/groupwise/e-cal-backend-groupwise.c (get_deltas):
-       Handled the NO_RESPONSE error status.
-
-2005-01-27  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/file/e-cal-backend-file.c: added a GMutex for the idle saving
-       callback.
-       (save_file_when_idle, save): lock/unlock the mutex while setting values.
-       (e_cal_backend_file_finalize): unref the mutex.
-       (e_cal_backend_file_init): create the mutex.
-
-2005-01-26  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/file/e-cal-backend-file.c (add_component): save the file
-       when we add the component to the toplevel.
-       (remove_component): make sure we always save the file.
-
-2005-01-26  JP Rosevear  <jpr@novell.com>
-
-       * libecal/e-cal.c (e_cal_send_objects): fix leak in the error case
-
-2005-01-25  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/file/e-cal-backend-file.c (save_file_when_idle):
-       uninstall idle handler when successfully saving the file.
-
-2005-01-24  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (e_gw_connection_send_appointment) : The server now mandates
-       "default" to be included for views in get_item calls.
-
-2005-01-20  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_properties_from_cal_component): If the default zone is
-       not set use utc, instead of returning NULL for the item.
-
-2005-01-19  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/file/e-cal-backend-file.c (cancel_received_object): deal
-       with instances.
-
-2005-01-19  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_receive_objects): set the correct method on the
-       VCALENDAR we create or it will fail in the code below. Deal correctly
-       with detached recurrences.
-       (remove_instance): unref the categories before removing the recurrences
-       from the hash table.
-
-2005-01-19  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_create_object) : Add 'default' to
-       the view argument, as this is now necessary for the server
-       to display the default values.
-
-2005-01-18  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #68599
-
-       * libedata-cal/e-cal-backend-cache.c
-       (e_cal_backend_cache_get_component): make sure we always return a
-       valid ECalComponent.
-       (e_cal_backend_cache_get_components): ditto.
-
-2005-01-17  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/file/e-cal-backend-file.c (add_component,
-       remove_recurrence_cb, remove_component, remove_instance,
-       remove_object_instance_cb):
-       removed code related to the categories_changed signal.
-
-2005-01-17  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/file/e-cal-backend-file.c (save_file_when_idle): don't
-       save the file if it's not dirty!
-
-2005-01-17  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/file/e-cal-backend-file.c: use guint for idle id.
-
-2005-01-17  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #57567
-
-       * backends/file/e-cal-backend-file.c (save_file_when_idle): new
-       function, to save the file to disk at application's idle times.
-       (save): changed to just set the idle callback the first time and then,
-       just mark the file as dirty.
-       (e_cal_backend_file_finalize): remove the idle callback.
-       (e_cal_backend_file_dispose): save the file if dirty.
-       (e_cal_backend_file_init): initialize new members.
-
-2005-01-17  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal-view.c (e_cal_view_set_property): make sure we clean
-       up the old view and listener before setting the new ones.
-
-2005-01-12  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #67974
-
-       * backends/http/e-cal-backend-http.c (begin_retrieval_cb): set the
-       HTTP proxy on the SoupSession if configuration is set to use it.
-
-2005-01-12  Not Zed  <NotZed@Ximian.com>
-
-       * backends/http/e-cal-backend-http.c (retrieval_done): warning fix
-       cast.
-
-2005-01-12  David Trowbridge  <trowbrds@cs.colorado.edu>
-
-       * backends/weather/e-cal-backend-weather.c: Use a single
-       metric/imperial setting rather than separate temperature and
-       snowfall settings
-
-2005-01-10  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (fetch_attachments), (receive_object): Function to fetch
-       the attachments data into the file calendar store from the
-       camel cache.
-       
-2005-01-10  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/file/e-cal-backend-file.c: (fetch_attachments),
-       (e_cal_backend_file_receive_objects): Function to fetch
-       the attachments data into the file calendar store from the
-       camel cache.
-
-2005-01-10 Chenthill Palanisamy <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backends-groupwise-utils.h:
-       Missed to commit this file before.
-
-2005-01-10  David Trowbridge <trowbrds@cs.colorado.edu>
-
-       * backends/weather/e-cal-backend-weather.c: add the city name to the
-       summary field
-
-2005-01-10  Harish Krishnaswamy  <kharish@novell.com>
-
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_cal_backend_groupwise_set_attachments_from_comp),
-       (set_properties_from_cal_component), (get_attach_data_from_server),
-       (set_attachments_to_cal_component), (e_gw_item_to_cal_component):
-       Attachment support for Groupwise calendar and task items.
-       (e_cal_backend_groupwise_store_settings): Remove unused variable.
-       * backends/groupwise/e-cal-backend-groupwise.[ch]: (populate_cache),
-       (e_cal_backend_groupwise_finalize), (e_cal_backend_groupwise_open),
-       (e_cal_backend_groupwise_notify_error_code),
-       (e_cal_backend_groupwise_get_local_attachments_store): 
-       set the path to the attachment store in the filesystem.
-       * libecal/e-cal.[ch] (e_cal_init), (e_cal_finalize),
-       (set_local_attachment_store), (e_cal_new), 
-       (e_cal_get_local_attachment_store): Add a new member to ECal that
-       stores the local attachment store for various backends.
-       
-
-2005-01-08  JP Rosevear  <jpr@novell.com>
-
-       * backends/weather/e-cal-backend-weather.c (create_weather): make
-       sure we don't free a static string
-
-2005-01-08  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/contacts/e-cal-backend-contacts.c:
-       (e_cal_backend_contacts_finalize): destroy the addressbooks
-       hashtable. Partially fixes #68533.
-       * libecal/e-cal-component.[ch] (free_icalcomponent),
-       (scan_attachment), (scan_property),
-       (get_attachment_list), (set_attachment_list),
-       (e_cal_component_get_attachment_list),
-       (e_cal_component_set_attachment_list),
-       (e_cal_component_has_attachments),
-       (e_cal_component_get_num_attachments): add support for handling
-       attach properties in e-cal-components.
-       * libedata-cal/e-cal-backend-sexp.c 
-       (e_cal_backend_sexp_match_comp):remove unref on null comp.
-       
-2005-01-06  David Trowbridge <trowbrds@cs.colorado.edu>
-
-       * backends/weather/*: Import weather calendar backend
-
-2005-01-06 Chenthill Palanisamy <pchenthill@novell.com>
-       
-       * backends/groupwise/e-cal-backends-groupwise-utils.[ch]:
-       Added a new function to set the send options in e sources.
-       (add_send_options_data_to_item): Set the set_sendoptions variable
-       if there are some X-Properties for send options.
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (cache_init): get the send options settings.    
-
-2004-12-24  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/file/e-cal-backend-file.c (remove_component): made it work
-       for objects with only detached instances.
-       (remove_object_instance_cb): fixed warning.
-       (e_cal_backend_file_modify_object, e_cal_backend_file_remove_object,
-       e_cal_backend_file_receive_objects): adapted to changes in
-       remove_component.
-       (e_cal_backend_file_remove_object): call remove_component for the
-       CALOBJ_MOD_ALL case, since remove_component takes care of everything
-       now.
-       (cancel_received_object): look for the object in the comp_uid_hash,
-       since we need to pass the ECalBackendFileObject struct to
-       remove_component.
-
-2004-12-23  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedata-cal/e-data-cal-view.c (impl_EDataCalView_start): removed
-       warnings.
-
-       * backends/file/e-cal-backend-file.c: changed recurrence hash table
-       to use g_hash_table_new and automatic disposal of key/value pairs.
-       (free_recurrence): removed, not needed now.
-       (free_object): just destroy de recurrences hash table.
-       (add_component): create recurrences hash table with _new_full.
-       (remove_recurrence_cb): changed to a GHRFunc.
-       (remove_component): use g_hash_table_foreach_remove to clear the
-       recurrences hash table.
-       (remove_object_instance_cb, e_cal_backend_file_modify_object,
-       remove_instance): no need to free hash table data here.
-
-2004-12-22 Chenthill Palanisamy <pchenthill@novell.com>
-
-       Part of merge from offline branch 
-       * backends/groupwise/e-cal-backend-groupwise.c :
-       (e_cal_backend_groupwise_open): Check for the property 
-       offline_sync in source and display the contents of the
-       calendar.
-
-2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       Part of merge from offline branch 
-       
-       * idl/Evolution-DataServer-Calendar.idl : added 
-       new error code OfflineUnavailable 
-
-2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       Part of merge from offline branch 
-       
-       * idl/Evolution-DataServer-Calendar.idl : added a new method 
-       notifyAuthRequired to cal listener interface 
-
-       * libedata-cal/e-cal-backend.[ch]
-       (e_cal_backend_notify_auth_required):
-       
-       * libedatacal/e-data-cal.[ch] 
-       (e_data_cal_notify_auth_required) : methods for backend 
-       to notify clients about auth when mode is changed to online
-       
-       * libecal/e-cal-listener.[ch] : implemented notifyAuthRequired
-       interface and  add AUTH_REQUIRED signal 
-       
-       * libecal/e-cal.c : connect to AUTH_REQUIRED signal of cal listener
-       and call e_cal_open in the singnal call back 
-       (open_calendar) : don't call e_password stuff in offline mode
-
-       * libecal/e-cal-marshal.list : added NONE:NONE to list  
-
-       * backends/groupwise/e-cal-backend-groupwise.c 
-       (e_cal_backend_groupwise_set_mode) : send auth required notification
-       when mode changes to online
-       
-2004-12-22 Sivaiah Nallagatla   <snallagatla@novell.com>
-
-       Part of merge from offline branch 
-       
-       * backends/http/e-cal-backend-http.c 
-       (e_cal_backend_http_set_mode): When mode is switched 
-       from offline to online start time out handler to periodically
-       download the conetnets. Call e_cal_backend_notify only 
-       when backend is loaded 
-        (e_cal_backend_http_open) : cast the backend object using E_CAL_BACKEND
-       to avoid waring while passing it to e_cal_backend_notify_error 
-       
-2004-12-22 Chenthill Palanisamy <pchenthill@novell.com>
-
-       Part of merge from offline branch 
-       
-       * backends/http/e-cal-backend-http.c
-       (e_cal_backend_http_open): Do not connect to the url in 
-       offline, read only the contents from the cache.
-       (e_cal_backend_http_set_mode): If the calendar moves from
-       online to offline remove the timeout function.
-       
-2004-12-22 Chenthill Palanisamy <pchenthill@novell.com>
-
-       Part of merge from offline branch 
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (in_offline): If calendar is in offline remove the connection
-       and the remove the timeout function if they are active, Mark the 
-       calendar to be read only.
-       (connect_to_server): This will be called through open method when 
-       the calendar changes from offline to online. In that case invoke the 
-       timeout functions.
-       (e_cal_backend_groupwise_finalize): Assign zero to the timeout id.
-       (e_cal_backend_groupwise_open): If the calendar is opened in offline 
-       mode, show the contents from the cache and mark the calendar as offline.
-       (e_cal_backend_groupwise_set_mode): Removed the connect_to_server function
-       call, it should be called through the open method since password is needed to 
-       create a new connection.
-       (e_cal_backend_groupwise_get_freebusy):
-       (e_cal_backend_groupwise_create_object):
-       (e_cal_backend_groupwise_modify_object):
-       (e_cal_backend_groupwise_remove_object):
-       (e_cal_backend_groupwise_receive_objects):
-       (e_cal_backend_groupwise_send_objects): If the Calendar is in Offline mode
-       remove the timeout function and the connection and return an error message.
-       (e_cal_backend_groupwise_init): Initialize the connection to NULL.
-       (get_deltas): IF the calendar is in offline mode, return False.
-       
-2004-12-22  Sivaiah Nallagatla  <snallagatla@novell.com>
-
-       Part of merge from offline branch 
-       
-       * libedata-cal/e-data-cal-factory.[ch] : new fucntions
-       (e_data_cal_factory_set_backend_mode) : set online/offline mode on 
-       all the backends it has created. 
-       (set_backend_online_status) : function to set online/offline 
-       mode on a backend
-       (impl_CalFactory_getCal) : modified this function to 
-       set online/offline mode on the backend after creatng it
-
-2004-12-22  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/http/e-cal-backend-http.c (e_cal_backend_http_get_timezone):
-       search timezones in the cache also.
-       (e_cal_backend_http_add_timezone): add the timezones to the cache.
-
-       * libecal/e-cal-util.c (e_cal_util_construct_instance): removed
-       FIXME comment.
-
-2004-12-21  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_remove_object):
-       deal correctly with objects only having detached instances and no master
-       object.
-
-2004-12-20  Anders Carlsson  <andersca@gnome.org>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_modify_object), (send_object):
-       * backends/http/e-cal-backend-http.c:
-       (e_cal_backend_http_modify_object):
-       * libedata-cal/e-cal-backend-sync.c:
-       (e_cal_backend_sync_modify_object), (_e_cal_backend_modify_object):
-       * libedata-cal/e-cal-backend-sync.h:
-       Add support for passing a modified object from sync backends.
-       
-2004-12-18  JP Rosevear  <jpr@novell.com>
-
-       Fixes #70127
-       
-       * backends/http/e-cal-backend-http.c (begin_retrieval_cb): add
-       user agent header
-
-2004-12-15  Rodrigo Moya <rodrigo@novell.com>
-
-       Merge from recurrences-work-branch
-
-       * libecal/e-cal.c (open_calendar): added missing calls to
-       e_calendar_remove_op/e_calendar_free_op.
-       (add_instance): enable code to set the recurrence ID on each instance.
-
-       * libedata-cal/e-data-cal.[ch] (e_data_cal_notify_object_removed): added
-       new argument to have backends send both the object before and after the
-       modification.
-
-       * libedata-cal/e-cal-backend.[ch] (e_cal_backend_modify_object):
-       pass correct number of arguments to e_cal_backend_notify_object_removed.
-       (match_query_and_notify, e_cal_backend_notify_object_modified): separated
-       the notification logic from e_cal_backend_notify_object_modified.
-       (e_cal_backend_notify_object_removed): added new argument to have
-       backends send both the object before and after the modification.
-
-       * libedata-cal/e-cal-backend-sync.[ch] (e_cal_backend_sync_remove_object):
-       added a new argument to send the object as it was before being removed.
-       Also, change meaning of 'object' argument to contain the object as it
-       is after being modified, or NULL if it was removed.
-       (_e_cal_backend_remove_object): adapted to change in method arguments
-       and pass correct number of arguments to e_data_cal_notify_object_removed.
-
-       * backends/contacts/e-cal-backend-contacts.c (contact_record_free):
-       pass correct number of arguments to e_cal_backend_notify_object_removed.
-       
-       * backends/file/e-cal-backend-file.c (notify_removals_cb,
-       e_cal_backend_file_receive_objects):
-       pass correct number of arguments to e_cal_backend_notify_object_removed.
-       (remove_object_instance_cb, e_cal_backend_file_modify_object): adapted to
-       support detached recurrences and THISANDPRIOR/THISANDFUTURE.
-       (e_cal_backend_file_remove_object): adapted to method changes.
-
-       * backends/groupwise/e-cal-backend-groupwise.c (get_deltas, receive_object):
-       pass correct number of arguments to e_cal_backend_notify_object_removed.
-       (e_cal_backend_groupwise_remove_object): adapted to method changes.
-
-       * backends/http/e-cal-backend-http.c (notify_and_remove_from_cache):
-       pass correct number of arguments to e_cal_backend_notify_object_removed.
-       (e_cal_backend_http_remove_object): adapted to method changes.
-
-2004-12-15  Chenthill Palanisamy <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (add_send_options_data_to_item),
-       (set_properties_from_cal_component):Added a new local function
-       for reading the properties  for send options.
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_get_static_capabilities): Checked for new 
-       static capabilities.
-       * libecal/e-cal-util.h: Defined two new static capabilities required for 
-       send options.
-
-2004-12-13  Harish Krishnaswamy <kharish@novell.com>
-
-       * libedata-cal/e-cal-backend.c 
-       (e_cal_backend_notify_object_removed, 
-       e_cal_backend_notify_object_modified,
-       e_cal_backend_notify_object_added ):
-       Remove the unrefs on queries as the get_queries
-       does not ref anymore while returning.
-       
-2004-12-09  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #70267
-
-       * backends/groupwise/e-cal-backend-groupwise.c (get_deltas):
-       * backends/http/e-cal-backend-groupwise.c (retrieval_done): freeze
-       the cache when doing mass updates to do only one write to disk.
-
-2004-12-09  Harish Krishnamwamy <kharish@novell.com>
-       Fixes for various leaks causing memory build-ups in eds.
-       
-       * libecal/e-cal-listener.c (impl_notifyFreeBusy):
-       l->data should be unref'd - not free'd.
-       * libedata-cal/e-cal-backend.c (get_queries):
-       Do not ref the queries while returning them. This is unnecessary.
-       * libedata-cal/e-cal-backend-sexp.c (e_cal_backend_sexp_match_comp) :
-       unref the comp and backend while returning.
-       
-       
-2004-12-06  Harish Krishnaswamy <kharish@novell.com> 
-       * backends/groupwise/e-cal-backend-groupwise-utils.c 
-       (e_gw_connection_send_appointment) : Add correct view arguments 
-       specific to appointment. 'folders' is not used by appointments.
-       
-2004-12-05  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (e_gw_connection_send_appointment) : Pass view argument while calling
-       e_gw_connection_get_item.
-
-2004-12-02  Chenthill Palanisamy <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (receive_object): Freed the string variables and unref the 
-       components.
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_get_freebusy_info): Need not use strdup here.
-       
-
-2004-11-18 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c 
-       (populate_cache) (get_deltas) : added "default" to 
-       the view wherever we want to get complete item along 
-       with iCalId
-       part of fix for #69624
-        
-2004-10-29  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-ca-backend-groupwise.c 
-       (cache_init) : remove the set_marker call from the begining of the 
-       functions. accidently placed in the last commit 
-
-2004-10-29  Sivaiah Nallagatla <snallagatla@novell.com>
-
-        * backends/groupwise/e-cal-backends-groupwise.c
-        (cache_init) : Read the getQm poll interval
-        from GETQM_TIME_INTERVAL. If not availbale
-        use default value.
-
-2004-10-28  Harish Krishnaswamy <kharish@novell.com>
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       Set the CACHE_REFRESH_INTERVAL to 10 mins.
-       
-2004-10-28  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal.[ch] (e_cal_get_objects_for_uid): new function
-       to retrieve objects and detached recurrences for that object.
-       (e_cal_get_object): deal with the backend returning a VCALENDAR
-       object. In that case, just get the first component of the same
-       type we are using.
-       (generate_instances): when we have an UID, use the new function
-       e_cal_get_objects_for_uid, avoiding countless calls to
-       e_cal_get_object_list.
-
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_get_object):
-       if we have detached instances, return a VCALENDAR with the master
-       object and any detached instance.
-
-2004-10-15  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       Fixes #67031
-       * backends/groupwise/e-cal-backends-groupwise-utils.c
-       (e_gw_item_to_cal_component): Set the completed date. For
-       posted tasks set it as the current time.
-       * backends/groupwise/e-cal-backends-groupwise.c
-       (e_cal_backend_groupwise_modify_object): Update the item in
-       the cache after completing the task.
-
-2004-10-14  Rodney Dawes  <dobey@novell.com>
-
-       * backends/*/Makefile.am: Add -avoid-version to LDFLAGS for all
-       of the backends
-
-2004-10-14  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (get_deltas) : removed stray debug code that should not have
-       been there in the first place.
-
-2004-10-12  Harish Krishnaswamy  <kharish@novell.com>
-       
-       Fixes #64673 and added some performance boosters.
-       
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_get_freebusy_info): Resend free/busy requests 
-       to server if there are outstanding users whose information is still
-       pending from the server. Keep trying for 2 minutes (average time
-       for obtaining the f/b information for users outside the POA).
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (populate_cache):  Obtain the calendar items from server Latest First.
-       Update evolution as soon as the items are processed, without waiting
-       for the entire cache to be populated.
-       (get_deltas): remove compiler warning.
-       (cache_init): Use a marker to test the status of cache and obtain all
-       items only for initial population.  All subsequent sessions would only 
-       fetch the deltas from the server since the last cache modification time.
-       (connect_to_server): Populating the cache moved to a separate thread
-       that does not block the open calls to backend anymore.
-       (e_cal_backend_groupwise_create_object): Fixed a leak.
-       * libedata-cal/e-cal-backend-cache.[ch]:
-       (e_cal_backend_cache_get_keys): Removed unused variable.
-       (e_cal_backend_cache_set_marker),
-       (e_cal_backend_cache_get_marker): Marker accessors to label the cache as
-       populated or not. This helps in determining if all the items are to be 
-       loaded from the server or if we should just fetch the deltas. 
-
-2004-10-07  JP Rosevear  <jpr@novell.com>
-  
-       * libecal/e-cal.c (e_cal_new_system_tasks): load the correct type
-       of events
-       
-2004-10-06  JP Rosevear  <jpr@novell.com>
-       Fixes #67513
-       
-       * libecal/e-cal.c (cal_objects_sent_cb): deep copy the user list
-       data
-       
-2004-10-04  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #66484
-        idl/Evolution-DataServer-Calendar.idl (CallStatus):
-       Added an error message "Unknown User".
-       * libecal/e-cal-types.h (ECalendarStatus):
-       Added a enum variable for the same error message
-       * libecal/e-cal-listener.c (convert_status)
-       * libecal/e-cal-view-listener.c (convert_status):
-       Mapped the new error message.
-       * libecal/e-cal.c (e_cal_get_error_message):
-       Return the proper string for the new error message.
-
-2004-10-01  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #62868
-       * e-cal-backend-groupwise-utils.c (e_gw_connection_send_appointment):
-       Send the Connection Status as Ok even if we get an error message from
-       the server for accepting the appointment more than once since it does
-       affect the functionality.
-       * e-cal-backend-groupwise.c (receive_objects):
-       Return the status immediately if the Item has not been modified. Now
-       the Permission Denied error message need not be sent.
-
-2004-09-30  Chris Toshok  <toshok@ximian.com>
-
-       * libecal/e-cal.c (get_factories): don't look for factories based
-       on the supported_protocol property, since we can't use those
-       anymore with dynamically loaded backends.
-
-       * libedata-cal/e-data-cal-factory.c (get_backend_factory): rename
-       get_backend_type to this, and return an ECalBackendFactory*
-       instead of a GType.
-       (impl_CalFactory_getCal): change this code to use
-       ECalBackendFactory.
-       (e_data_cal_factory_register_backend): rename from
-       e_data_cal_factory_register_method and remove all the args, just
-       passing an ECalBackendFactory.
-       (e_data_cal_factory_register_backends): register all extensions
-       that subclass from E_TYPE_CAL_BACKEND_FACTORY.
-
-       * libedata-cal/e-data-cal-factor.h: change prototypes and function
-       names.
-       
-       * libedata-cal/e-data-cal.[ch] (e_data_cal_new): remove the @uri
-       arg, as it's unnecessary.
-
-       * libedata-cal/e-cal-backend-factory.[ch]: superclass the backend
-       factories must subclass from.
-
-       * libedata-cal/Makefile.am (libedata_cal_la_SOURCES): add
-       e-cal-backend-factory.c
-       (libedata_calinclude_HEADERS): add e-cal-backend-factory.h
-
-       * backends/contacts/Makefile.am (extension_LTLIBRARIES): change
-       from noinst_LTLIBRARIES.
-       (libecalbackendcontacts_la_SOURCES): add
-       e-cal-backend-contacts-factory.[ch].
-
-       * backends/contacts/e-cal-backend-contacts-factory.[ch]:
-       ECalBackendFactory for the contacts backend.
-
-       * backends/file/Makefile.am (extension_LTLIBRARIES): change
-       from noinst_LTLIBRARIES.
-       (libecalbackendfile_la_SOURCES): add
-       e-cal-backend-file-factory.[ch].
-
-       * backends/file/e-cal-backend-file-factory.[ch]:
-       ECalBackendFactory for the file backend.
-
-       * backends/groupwise/Makefile.am (extension_LTLIBRARIES): change
-       from noinst_LTLIBRARIES.
-       (libecalbackendgroupwise_la_SOURCES): add
-       e-cal-backend-groupwise-factory.[ch].
-
-       * backends/groupwise/e-cal-backend-groupwise-factory.[ch]:
-       ECalBackendFactory for the groupwise backend.
-
-       * backends/http/Makefile.am (extension_LTLIBRARIES): change
-       from noinst_LTLIBRARIES.
-       (libecalbackendhttp_la_SOURCES): add
-       e-cal-backend-http-factory.[ch].
-
-       * backends/http/e-cal-backend-http-factory.[ch]:
-       ECalBackendFactory for the http backend.
-       
-2004-09-28  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #66230
-
-       * backends/http/e-cal-backend-http.c (retrieval_done): do a more clever
-       update of the cache, so that we correctly notify listeners of updates,
-       additions and removals.
-
-2004-09-24  JP Rosevear  <jpr@novell.com>
-
-       Fixes #66383, From David Malcolm <dmalcolm@redhat.com>
-       
-       * libecal/e-cal.c (e_cal_get_alarms_in_range): return non void
-       values
-
-       * libecal/e-cal-component.c: kill warnings about struct
-       definitions
-       
-2004-09-24  JP Rosevear  <jpr@novell.com>
-       
-       Fixes #64955, Vincent Noel <vnoel@cox.net>
-       
-       * libecal/e-cal.c (e_cal_get_alarms_in_range): fix c99-ism
-       
-2004-09-23  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #59904
-
-       * libecal/e-cal-component.[ch] (e_cal_component_new_from_string): new
-       function to avoid repeating the same code over and over.
-
-       * libedata-cal/e-data-cal-view.c: changed to keep a list of listeners,
-       not only one.
-       (listener_died_cb): remove the listener from the list of listeners.
-       (impl_EDataCalView_start): see if the query has already been started,
-       and if so, just notify correctly the listeners we need to notify.
-       (e_data_cal_view_init): create hash table for storing the objects we
-       have matching the live query.
-       (e_data_cal_view_set_property): add correctly the listeners to the list.
-       (e_data_cal_view_get_property): return always the first listener.
-       (e_data_cal_view_finalize): free all listeners and cached objects.
-       (add_object_to_cache, remove_object_from_cache):
-       new functions to manage the matched objects cache.
-       (e_data_cal_view_notify_objects_added,
-       e_data_cal_view_notify_objects_modified): add objects to our private
-       cache, and notify all listeners, now that we might have more than one.
-       (e_data_cal_view_notify_objects_removed,
-       e_data_cal_view_notify_progress, e_data_cal_view_notify_done): notify
-       all listeners.
-       (e_data_cal_view_add_listener, e_data_cal_view_get_matched_objects,
-       e_data_cal_view_is_started, e_data_cal_view_is_done,
-       e_data_cal_view_get_done_status): new functions.
-
-       * libedata-cal/e-data-cal.c: keep a cache of all queries.
-       (impl_Cal_getQuery): first look in the cache of queries. And when
-       creating a new query, add it to the cache.
-       (impl_Cal_getObjectList): use the query cache also.
-       (e_data_cal_finalize): destroy the live queries hash table.
-       (e_data_cal_init): create live queries hash table.
-
-2004-09-23  JP Rosevear  <jpr@novell.com>
-
-       * libecal/Makefile.am: build a versioned lib, don't hard
-       code the pkgconfig version
-
-       * libedata-cal/Makefile.am: ditto
-       
-       * backends/file/Makefile.am: link against the correct library version
-       
-       * backends/http/Makefile.am: ditto
-
-       * backends/groupwise/Makefile.am: ditto
-
-       * backends/contacts/Makefile.am: ditto
-
-       * tests/ecal/Makefile.am: ditto
-       
-2004-09-22  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.[ch]:
-       (e_gw_connection_send_appointment): Allow callers to get the 
-       sent item from the server to ensure the iCalId of the component
-       is in sync with the server - even if it had been obtained from
-       a different client via itip.
-       (e_gw_item_to_cal_component) : additional check to ensure icalid
-       is not null in the item, so we would not crash against server instances
-       that may not send this properly.
-
-       Fixes #61865    
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (get_deltas) : Replace getDeltasRequest by getQuickMessages calls
-       and compute deltas like adds, modify and deletes.
-       (connect_to_server): Do not recreate cache everytime and use the 
-       getQuickMessages to pull in the changes from server. The existing
-       code was a work-around till this fix was in place.
-
-       (e_cal_backend_groupwise_create_object), (receive_object):
-       Use the modified  e_gw_connection_send_appointment calls and
-       update the cache and cal clients appropriately.
-
-       * libedata-cal/e-cal-backend-cache.[ch]:
-       (e_cal_backend_cache_get_keys): Adding a function that allows to 
-       retrieve a list of the keys of all components from the cache.
-       
-
-2004-09-08  Chenthill Palanisamy <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (set_properties_from_cal_component), (e_gw_item_to_cal_component),
-       (e_gw_item_set_changes): Added the support for allday events.
-
-2004-09-08  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       Fixes #65167
-       * backends/groupwise/e-cal-backend-groupwise.c 
-       (connect_to_server): Reload the default zone into
-       the cache after clearing it.
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (set_categories_for_gw_item), e_gw_item_to_cal_component),
-       (set_properties_from_cal_component): replaced the assert
-       statements with If conditions.
-
-2004-09-07  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #64685
-       * backends/groupwise/e-cal-backends-groupwise.c
-       (receive_object): Send the error message as 
-       Permission Denied when the attendee tries to accept the 
-       appointment more than once since we get the error message as
-       bad parameter from the server.
-
-2004-09-07  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes 63513
-       * backends/groupwise/e-cal-backends-groupwise-utils.c
-       (e_gw_connection_send_appointment): Do a case insensitive
-       comparison between the email ids. This is a partial fix.
-
-2004-09-07  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #64398
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (ECalBackendGroupwisePrivate): added an variable to store 
-       the timeout ids.
-       (e_cal_backend_groupwise_init): intialize the variable.
-       (e_cal_backend_groupwise_finalize): remove the timeout_add
-       function so that it will not called when backend dies.
-       (get_deltas): It should not crash in any case if handle is
-       NULL.
-
-2004-09-05  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes 63513
-       * backends/groupwise/e-cal-backends-groupwise-utils.c
-       (e_gw_connection_send_appointment): Do a case insensitive
-       comparison between the email ids.
-       
-2004-09-05  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       * libecal/e-cal-utils.h:
-               defined two macros for the handling the static capabilities for 
-       backends which does not support the conversion of a non-recurring
-       appointment to a recurrence appointment and conversion of posted
-       task to group task.
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_get_static_capabilities): Added the 
-       two macros in this function.
-
-2004-09-05  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #64688
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (connect_to_server): store the default zone in
-       backend before populating the cache.
-       
-2004-08-27  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedata-cal/e-cal-backend-sexp.c (func_has_alarms_in_range): new
-       function for the regular expression language.
-       (e_cal_backend_sexp_new): added new function to the list of symbols.
-
-       * libecal/e-cal.c (e_cal_get_alarms_in_range): use the new
-       'has-alarms-in-range' function.
-
-2004-08-27  Chenthill Palanisamy <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (set_properties_from_cal_component): set the acceptLevel
-       for the appointment as Free if its not Busy.
-
-2004-08-26  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal-util.c (check_instance): match the prototype expected
-       in icalcomponent_foreach_recurrence.
-       (e_cal_util_remove_instances): fixed warning.
-
-2004-08-25  Frederic Crozat  <fcrozat@mandrakesoft.com>
-
-       * libecal/e-cal.c: (e_cal_set_default_timezone):
-       Need a return value.
-
-2004-08-25  Chenthill Palanisamy <pchenthill@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (populate_cache): Used a static mutex to avoid the 
-       the simulataneous calls from calendar and tasks to
-       ReadCursorRequest which crashes the server.
-
-2004-08-24  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c 
-       (populate_cache) : use cursor methods to get items in chunks instead of 
-       getting all at once
-
-2004-08-24  Chenthill Palanisamy <pchenthill@novell.com>
-         
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (receive_object): update the client view when a meeting
-       is accepted or declined.
-
-2004-08-23  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       Fixes bug #62857
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_create_object): return the cal object created
-       for the first component and notify the client for the cal objects of other 
-       components created in recurrences.
-
-2004-08-17  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #61782
-
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_create_object):
-       allow iCalendar objects with no UID.
-
-2004-08-17  JP Rosevear  <jpr@novell.com>
-
-       * libecal/e-cal.c (e_cal_set_default_timezone): don't set the same
-       time to the server again, avoids a needless server hit
-
-2004-08-17  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (connect_to_server): Clear the cache before populating 
-       it.
-
-2004-08-16  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (connect_to_server): Do not get the items from server every time 
-       the calendar is loaded, since the cache is already populated. 
-
-2004-08-13  Hans Petter Jansson  <hpj@ximian.com>
-
-       Fixes bug #62655.
-
-       * backends/contacts/e-cal-backend-contacts.c (source_group_added_cb):
-       If source group's URI is NULL, do nothing, i.e. don't crash.
-
-2004-08-13  Chenthill Palanisamy <pchenthill@novell.com>
-
-        * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_item_to_cal_component): handle the BC recipient type
-         with TO and CC.       
-
-2004-08-12  Not Zed  <NotZed@Ximian.com>
-
-       * libecal/e-cal.c (async_auth_func_cb): removed.
-       (open_async): dont override the auth callback.  It is now up to
-       the caller to ensure they're thread-safe and serialised
-       appropriately.
-
-2004-08-12  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal.c (e_cal_remove_object, e_cal_receive_objects):
-       added missing gtk-doc comments.
-
-2004-08-09  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fixes bug #58150
-
-       * libecal/e-cal.c (e_cal_activate): init bonobo if it isn't
-       already initialised.
-       (e_cal_new): Call e_cal_activate().
-
-2004-08-09  Harish Krishnaswamy  <kharish@novell.com>
-
-       Fixes #58643 - the gw backend assembles the xgwrecordid
-       to be used for accept/decline requests.
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_send_appointment): use the event and todo type
-       markers while assembling the gwrecordid from the itip message.
-       set flag 'remove' for decline/retract requests to indicate 
-       these should be removed from cache.
-       * backends/groupwise/e-cal-backend-groupwise-utils.h:
-       Add parameter to e_gw_connection_send_appointment and define macros
-       GW_EVENT_TYPE_ID and GW_TODO_TYPE_ID.
-       * backends/groupwise/e-cal-backend-groupwise.c: (receive_object):
-       update the cache based on the remove flag set by 
-       e_gw_connection_send_appointment.
-
-2004-08-04  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #60265
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_open): Whenever open_method is called
-       get the data from the server and populate the cache.
-
-2004-08-03  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_send_appointment): Add ':' as a separator
-       while appending the container id to the xgwrecordid to
-       generate the item_id.
-
-2004-08-02  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #58642.
-
-       * libedata-cal/e-data-cal-factory.c (backend_last_client_gone_cb):
-       the table key includes the kidn for some reason.
-       (impl_CalFactory_getCal): store the icalkind in the uri, not the
-       calobjtype.  Fix a memory leak.
-
-2004-08-02  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       Fixes #57127
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (ECalBackendGroupwisePrivate): Added two hash tables
-       for the category ids and names.
-       (e_cal_backend_groupwise_get_connection), 
-       (e_cal_backend_groupwise_get_default_zone), 
-       (e_cal_backend_groupwise_get_categories_by_id),
-       (e_cal_backend_groupwise_get_categories_by_name):
-       Added to access the ECalBackendGroupwisePrivate structure.
-       * backends/groupwise/e-cal-backend-groupwise-utils.c: 
-       (e_gw_item_new_from_cal_component), (e_gw_item_to_cal_component),
-       (e_gw_connection_create_appointment), (set_properties_from_cal_component):
-       Changed the argument from icaltimezone to ECalBackendGroupwise to 
-       access ECalBackendGroupwisePrivate structure for storing categories 
-       to calendar components.
-       (set_categories_for_gw_item): Added to store the categories in GW item.
-       (set_categories_changes): Added to update the category changes.
-
-2004-07-30  Harish Krishnaswamy  <kharish@novell.com>
-       
-       Fixes #59335
-       
-       * libecal/e-cal.c: (open_calendar): Set the status correctly
-       on all exit points from the function.
-
-2004-07-28  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #60265
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (connect_to_server), (e_cal_backend_groupwise_open):
-       Creates the cache structure after connecting to server and loads 
-       the default timezone after populating the cache.
-
-2004-07-26  Harish Krishnaswamy  <kharish@novell.com>
-
-       Fixes #57651, #58637 and #58643
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_send_appointment) : Append the container id to
-       the gwrecordid obtained via ITIP to match the representation 
-       in the SOAP interface.
-       (e_gw_item_set_changes): Updates to 'completed' field in the Task
-       is not sticky in the server, when using the modifyRequest. Using a 
-       separate completeRequest call to update the same.
-       * backends/groupwise/e-cal-backend-groupwise-utils.h: removed the
-       unused default_zone parameter from e_gw_connection_send_appointment.
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (get_deltas): return boolean values not the connection status as the 
-       caller is not expected to handle it anyway.
-       (sanitize_component): renamed set_container_id function, so it
-       correctly depicts what it does.
-       (e_cal_backend_groupwise_create_object): Make a getItemsRequest to the 
-       server to obtain the items while creating recurring events. The original
-       call returns only the item ids and the client requires the icalids too
-       to keep the cache valid.
-       (e_cal_backend_groupwise_modify_object) : Use the completeRequest method
-       to update task completion. 
-       (receive_object) : The call to e_gw_connection_send_appointment updated
-       to reflect the change in its signature. 
-       (e_cal_backend_groupwise_receive_objects): set the method on the subcomp
-       created before passing it over to receive_object.
-
-2004-07-23  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       Fixes #60463
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_get_freebusy_info):
-       Added a timezone  argument and used it to convert the freebusy 
-       times to default timezone. (Have added the patch again since it was inadvertently removed from 
-       by some commit)
-       
-2004-07-15  JP Rosevear  <jpr@novell.com>
-
-       Fixes #58748
-       
-       * backends/contacts/e-cal-backend-contacts.c (cdate_to_icaltime):
-       explicitly set is_utc and set zone to NULL
-       (create_component): use NULL instead of 0
-       (e_cal_backend_contacts_set_default_timezone): fix logic typo so
-       that the default zone is set correctly
-
-2004-07-15  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #57142
-
-       * libecal/e-cal-component.c (ensure_alarm_properties_cb): add the
-       X-EVOLUTION-NEEDS-DESCRIPTION property to the alarms we create
-       with no description, and remove the property from the alarms with
-       a description already.
-
-       (e_cal_component_set_summary, set_alarm_description_cb): set the
-       description on the alarms when the summary changes and remove the
-       above property when we set a valid description.
-
-2004-07-14  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #60344
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_internal_get_timezone):
-       Send the timezone present in tzid instead of sending UTC timezone.
-
-2004-07-12  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_cal_component_get_gw_id): Access method for getting the 
-       XGWRECORDID property from the calendar component.
-       (set_properties_from_cal_component): Range of priority value
-       HIGH extended to include values 1 and 2.
-       The X-EVOLUTION-GROUPWISE-ID is now referred as XGWRECORDID
-       for consistency with the ITIP messages.
-       (e_gw_item_to_cal_component) : Absence of due_date does not 
-       invalidate the task component. Fixes #60926.
-       (e_gw_connection_send_appointment),(e_gw_connection_create_appointment):
-       Implemented.
-       (e_gw_connection_get_freebusy_info):
-       (e_gw_item_set_changes): Fixed compiler warnings.
-       
-       * backends/groupwise/e-cal-backend-groupwise-utils.h:
-       Declarations for added functions.
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (populate_cache) : Removed unused variables.
-       (set_container_id): Extracted a function out of the code as it is
-       used twice.
-       (e_cal_backend_groupwise_create_object): Handle changes in the SOAP interface.
-       The server now returns  a list of uids. This is to allow creation of recurring 
-       calendar events.
-       (e_cal_backend_groupwise_modify_object): Fix some leaks.
-       (e_cal_backend_groupwise_remove_object), (receive_object),
-       (send_object), (e_cal_backend_groupwise_send_objects): Use the newly created
-       functions for handling group calendar items.
-
-2004-07-12  Sivaiah Nallagatla   <snallagatla@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (form_uri) : read "use_ssl" property from the ESource
-       and form the uri accordingly
-       (connect_to_server) : when "use_ssl" is "when-possible"
-       try with https first and then with http if that fails
-
-2004-06-28  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       Fixes #60463
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_connection_get_freebusy_info):
-       Added a timezone  argument and used it to convert the freebusy 
-       times to default timezone.
-
-2004-06-15  Harish Krishnaswamy  <kharish@novell.com>
-
-       Fixes #59352    
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_properties_from_cal_component), (e_gw_item_to_cal_component):
-       Handle the organizer property of ecal and allow storing to and 
-       from e-gw-item.
-
-2004-06-14  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #57088
-
-       * backends/contacts/e-cal-backend-contacts.c (source_group_added_cb):
-       only add sources from local addressbook backends.
-
-2004-06-14  Harish Krishnaswamy  <kharish@novell.com>
-
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (get_recur_instance), (resolve_tzid_cb) : add support for recurrences 
-       in events.
-       (set_properties_from_cal_component), (e_gw_item_to_cal_component),
-       (e_gw_item_set_changes): Recipient_list handling code is now common to
-       both events and todos.
-       * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache): Add
-       recipientStatus to the view element.
-       (receive_object): Send found_comp as argument to modify_object.
-
-2004-06-11  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedata-cal/e-cal-backend-sync.c (_e_cal_backend_remove_object): if
-       the deletion is successful, check if the object still exists, in which
-       case it means we removed an instance of a recurring event. Fixed
-       memory leak also.
-
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_remove_object):
-       return the old_object output argument in all cases.
-
-2004-06-02  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal.c (e_cal_generate_instances,
-       e_cal_generate_instances_for_object, e_cal_get_alarms_in_range,
-       e_cal_get_alarms_for_object): only allow values from 0 to time_t's
-       maximum value.
-
-       * libecal/e-cal.h: added missing prototype.
-
-2004-06-01  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal.c (e_cal_generate_instances): moved all the logic...
-       (generate_instances): ...here, so that we can specify a UID to
-       generate instances only for that UID.
-       (e_cal_generate_instances_for_object): use generate_instances
-       function and specify the UID of the object.
-
-       * libedata-cal/e-cal-backend-sexp.c (e_cal_backend_sexp_match_comp):
-       added checks for arguments.
-
-2004-06-01  Rodrigo Moya <rodrigo@novell.com>
-
-       * libecal/e-cal.c (e_cal_generate_instances_for_object,
-       e_cal_generate_instances): allow -1 for the start and end times.
-       (load_static_capabilities, add_instance): fixed warnings.
-
-2004-06-01  JP Rosevear  <jpr@novell.com>
-
-       * libecal/*: revert accidental commit
-
-2004-05-28  JP Rosevear  <jpr@novell.com>
-
-       Fixes #55524
-       
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_receive_objects): don't sanitize the
-       component, we already check for valid timezones and the zones
-       aren't merged in yet anyhow
-
-2004-05-28  Rodrigo Moya <rodrigo@novell.com>
-
-       * libedata-cal/e-data-cal-factory.c (backend_last_client_gone_cb):
-       disconnect from signals on the removed backend.
-
-2004-05-28  Harish Krishnaswamy  <kharish@novell.com>
-
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (e_gw_item_to_cal_component): Throw in null checks on 
-       mandatory fields to bypass crashes in e-d-s while the server 
-       gets fixed.
-
-
-2004-05-27  Rodrigo Moya <rodrigo@novell.com>
-
-       * backends/http/e-cal-backend-http.c (retrieval_done): make sure
-       we clean up the cache, or old events will always be kept.
-
-2004-05-27  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #58197
-
-       * libedata-cal/e-cal-backend.c (e_cal_backend_create_object,
-       e_cal_backend_modify_object): removed assertions on method
-       implementations, since backends can perfectly have unimplemented
-       methods. Instead, notify the error.
-
-2004-05-25  Sivaiah Nallagatla <snallagatla@novell.com>
-
-        * backends/groupwise/e-cal-backends-groupwise.c (form_uri) :
-        new function to form the uri required for e_gw_connection
-         (connect_to_server) : use form_uri instead of convert_uri
-
-2004-05-25  Harish Krishnaswamy  <kharish@novell.com>
-
-       Fixes GW portion of #57218 and #54280
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (start_freebusy_session): removed FIXME comments (the code had been 
-       fixed much earlier).
-       (e_gw_item_set_changes):use the SET_DELTA macro to get accept_level 
-       changes.
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_modify_object),
-       (e_cal_backend_groupwise_remove_object),
-       (e_cal_backend_groupwise_send_objects): set return arguments correctly.
-       and removed dead code in remove_object.
-
-2004-05-25  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_modify_object): return ObjectNotFound error
-       instead of InvalidObject when the object is not found.
-
-2004-05-22  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/file/e-cal-backend-file.c (add_component): make sure we
-       process correctly the detached instances.
-       (match_object_sexp): deal with hash table entries not containing
-       a full_object (ie, detached recurrences).
-
-2004-05-21  JP Rosevear  <jpr@novell.com>
-
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_receive_objects): make sure we only handle the
-       type of objects the backend is set up for plus timezones; directly
-       add the objects rather than using other functions
-
-2004-05-19  Chris Toshok  <toshok@ximian.com>
-
-       * backends/contacts/e-cal-backend-contacts.c (book_record_new):
-       use new e_book_new/e_book_open apis.
-
-2004-05-19  Rodrigo Moya <rodrigo@ximian.com>
-
-       Removes 100s of error dialogs as reported in #54211
-
-       * backends/http/e-cal-backend-http.c: added a flag to know when the
-       backend has been opened.
-       (reload_cb): set the "opened" flag to TRUE when we reload.
-       (retrieval_done): only notify errors when opening the backend, not
-       on each reload, or we'll get many error message dialogs when left
-       running for a few hours.
-
-2004-05-18  Harish Krishnaswamy  <kharish@novell.com>
-
-       Fixes #56320 and related timezone issues.
-       Convert datetime from the Groupwise string format between icaltime
-       directly w/o using time_t structures.
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_properties_from_cal_component),
-       (e_gw_item_new_from_cal_component), (e_gw_item_to_cal_component),
-       (e_gw_connection_send_appointment), (e_gw_item_set_changes):
-       use the default_timezone info while performing the conversions.
-       * backends/groupwise/e-cal-backend-groupwise-utils.h:
-       * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),
-       (get_deltas), (connect_to_server),
-       (e_cal_backend_groupwise_finalize), (e_cal_backend_groupwise_open),
-       (e_cal_backend_groupwise_add_timezone):
-       Add timezone to the cache and allow evolution to set the default timezone.
-       (e_cal_backend_groupwise_set_default_timezone),
-       (e_cal_backend_groupwise_create_object),
-       (e_cal_backend_groupwise_modify_object), (receive_object),
-       (send_object), (e_cal_backend_groupwise_init):
-       * libedata-cal/e-cal-backend-cache.c:
-       (e_cal_backend_cache_put_default_timezone),
-       (e_cal_backend_cache_get_default_timezone):
-       Store default timezone information in the cache so that eds remembers the
-       client timezone information while populating the cache in the next session.
-       Since the cache population happens while the calendar is still loading, evolution
-       would not have had a chance to set the timezone yet.
-       
-       * libedata-cal/e-cal-backend-cache.h: Added get/put functions for
-       default timezone.
-
-2004-05-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-cal-backend-sexp.c (func_occur_in_time_range): always
-       use a valid timezone.
-
-       * libecal/e-cal-recur.c (cal_object_time_from_time): don't use invalid
-       timezones.
-
-       * libecal/e-cal.c (e_cal_generate_instances): make sure we always have
-       a default timezone.
-
-2004-05-17  Rodney Dawes  <dobey@ximian.com>
-
-       * libecal/Makefile.am (libecal_la_LIBADD):
-       * libedata-cal/Makefile.am (libedata_cal_la_LIBADD):
-       Add $(EVOLUTION_CALENDAR_LIBS) to link to all the right dependencies
-       so that the mono bindings will work correctly
-
-       Fixes #58615
-
-2004-05-17  Rodrigo Moya <rodrigo@ximian.com>
-
-       Fixes #51412
-
-       * backends/file/e-cal-backend-file.c (remove_instance): re-add the
-       modified objects to the top-level icalcomponent after removing
-       instances.
-       (e_cal_backend_file_remove_object): manage the CALOBJ_MOD_THIS case
-       for an event with no RECURRENCE-ID.
-
-2004-05-14  Rodrigo Moya <rodrigo@ximian.com>
-
-       Fixes #56870
-
-       * libedata-cal/e-cal-backend-sync.c (e_cal_backend_sync_create_object,
-       e_cal_backend_sync_modify_object, e_cal_backend_sync_remove_object,
-       e_cal_backend_sync_discard_alarm, e_cal_backend_sync_receive_objects,
-       e_cal_backend_sync_send_objects): don't g_assert if the method is not
-       implemented on the underlying backend, just return an UnsupportedMethod
-       error.
-
-2004-05-14  Rodrigo Moya <rodrigo@ximian.com>
-       
-       * libedata-cal/e-cal-backend-sexp.c (e_cal_backend_sexp_func_make_time):
-       added extra check for function arguments.
-
-       * libedata-cal/e-cal-backend-cache.c (e_cal_backend_cache_put_timezone):
-       added missing implementation from recurreces-work-branch.
-
-       * libecal/e-cal-recur.c (e_cal_recur_generate_instances_of_rule):
-       use the default timezone if we can't get timezones for the start
-       and end dates.
-
-2004-05-13  Rodrigo Moya <rodrigo@ximian.com>
-
-       Fixes #54094
-
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_modify_object):
-       deal correctly with CALOBJ_MOD_THIS for master objects.
-
-2004-05-12  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.c (e_cal_generate_instances): fixed gtk-doc comments,
-       and process correctly detached instances.
-       (e_cal_generate_instances_for_object): new function.
-       (e_cal_set_default_timezone): set the internal default timezone when
-       the call to the backend is successful.
-       (process_detached_instances): process correctly the detached instances.
-
-2004-05-12  Harish Krishnaswamy  <kharish@novell.com>
-
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_properties_from_cal_component), (e_gw_item_to_cal_component),
-       (e_gw_connection_get_freebusy_info), (e_gw_item_set_changes):
-       Add implementation for modification of objects.
-       * backends/groupwise/e-cal-backend-groupwise-utils.h:
-       Add declaration for e_gw_item_set_changes.      
-       * backends/groupwise/e-cal-backend-groupwise.c:
-       (e_cal_backend_groupwise_set_default_timezone):
-       Allow evo to set the timezone in the groupwise backend.
-       (e_cal_backend_groupwise_modify_object):
-       Modify implementation to use modifyItemRequest rather than
-       a sendItem.
-
-2004-05-07  JP Rosevear  <jpr@ximian.com>
-
-       Fixes #57908
-       
-       * libecal/e-cal-component.c (e_cal_component_set_organizer):
-       prevent double frees
-       (e_cal_component_set_organizer): ditto
-       (e_cal_component_set_summary): ditto
-
-2004-05-06  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libecal/e-cal.c: (load_static_capabilities): assign capabilities
-       to ecal->capabilities so that it need not be computed repeatedly.
-       * backends/groupwise/e-cal-backend-groupwise.c: 
-       (populate_cache) : added message to view element to recieve 
-       message bodies as plain text (default).
-       (connect_to_server) : the Tasks folder is also Calendar and 
-       not Checklist in GW server.
-       (e_cal_backend_groupwise_get_static_capabilities) :
-       Added CAL_STATIC_CAPABILITY_SAVE_SCHEDULES.
-
-2004-05-04  Harish Krishnaswamy  <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_properties_from_cal_component),
-       (e_gw_item_new_from_cal_component), (e_gw_item_to_cal_component):
-       Patch the FIXMEs in the code handling recipient_list and message bodies
-       in events. This also resolves #57204 and 57883.
-       
-       
-2004-05-03  William Jon McCann  <mccann@jhu.edu>
-
-       * libecal/e-cal-time-util.h: Add missing G_BEGIN_DECLS and G_END_DECLS
-
-2004-05-04  Harish Krishnaswamy  <kharish@novell.com>
-
-       Fixes #55922
-       
-       * libedata-cal/e-data-cal-factory.c: (impl_CalFactory_getCal):
-       Hash the backends based on the uri 'and' the type (Both calendar
-       and tasks for GW share the same uri but need different e-data-cal
-       instances.
-
-2004-05-03  JP Rosevear  <jpr@ximian.com>
-
-       Partial fix for #57218
-       
-       * libecal/e-cal.c (cal_objects_sent_cb): copy the object string
-       (e_cal_get_default_object): check the status explicitly
-       (e_cal_get_object): ditto
-       (e_cal_get_timezone): ditto
-       (e_cal_send_objects): parse the string here so we can handle bad
-       parsing properly
-
-       * libecal/e-cal-marshal.list: replace marshaller signature
-
-       * libecal/e-cal-listener.h: update signal proto
-
-       * libecal/e-cal-listener.c (impl_notifyObjectsSent): send back
-       just the text like other similar routines
-       (e_cal_listener_class_init): send back a string as the third arg
-       in the send_objects signal
-
-2004-04-30  Dan Winship  <danw@ximian.com>
-
-       * libecal/e-cal-component.c (get_attendee_list): Fill in some
-       default values to avoid libical assertions later. Also, fix some
-       really awful cut+pastos
-
-2004-04-28  JP Rosevear  <jpr@ximian.com>
-
-       * tests/ecal/test-search.c: something to run searches with for
-       test purposes
-
-       * tests/ecal/Makefile.am: build test search 
-
-2004-04-28  JP Rosevear  <jpr@ximian.com>
-
-       Fixes #57080
-       
-       * libedata-cal/e-cal-backend.c
-       (e_cal_backend_notify_object_modified): make sure the item was
-       actually in the query before so we don't send bogus removes
-
-2004-04-27  Harish Krishnaswamy  <kharish@novell.com>
-
-       Fixes #56535
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c:
-       (set_properties_from_cal_component), (e_gw_item_to_cal_component):
-       Added support for saving Alarms in the GW server as well as 
-       read the alarm information during retrieval.
-
-
-2004-04-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * libedata-cal/e-data-cal.c (e_data_cal_notify_changes): Fixed a
-       c/p bug. Don't call notifyDefaultTimezoneSet, we want to
-       notifyChanges! Took me long enough to track this little bugger
-       down.
-
-2004-04-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_receive_objects): Pass the address of calobj
-       to file_create_object().
-       (e_cal_backend_file_compute_changes): "Gracefully" handle a NULL
-       return from e_xmlhash_new().
-
-2004-04-20  JP Rosevear  <jpr@ximian.com>
-
-       * libecal/e-cal.c (open_async): emit the open signal in an idle
-       loop
-       (async_signal_idle_cb): emit the signal and free the data
-
-2004-04-16  Harish Krishnaswamy  <kharish@novell.com>
-       
-       Fixes #55802
-       
-       * libecal/e-cal.c: (open_calendar): Create and lock
-       op mutex and unlock ecal before attempting to authenticate.
-       (open_async, async_auth_idle_cb,async_auth_func_cb): implement 
-       async authentication to calendar.
-       
-
-2004-04-15  JP Rosevear  <jpr@ximian.com>
-
-       * libecal/e-cal.c (e_cal_add_timezone): do a little more sanity
-       checking on what we send
-
-2004-04-12  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       Fixes #56517
-                                                                                
-        * libecal/e-cal.c (e_cal_add_timezone): Added a check for icalcomponent
-        structure. Return FALSE if icalcomponent is NULL.
-
-2004-04-12  Harish K <kharish@novell.com>
-
-       Fixes #53926
-       
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (e_gw_item_to_cal_component) : set the tzid to "UTC"
-       while setting the dueDate.
-               
-       
-2004-04-08  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_get_static_capabilities): add the 
-       ONE_ALARM_ONLY static capability.
-
-2004-04-06  Harish K <kharish@novell.com>
-       
-       Fixes #55169
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (e_gw_connection_get_freebusy_info) : Use icalproperty
-       to add free/busy data to ECalComponent.
-       
-2004-04-05  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_remove_object): Use correct types for
-       e_cal_backend_groupwise_get_object's return value.
-
-2004-04-03  JP Rosevear  <jpr@ximian.com>
-
-       Fixes #56416
-       
-       * backends/contacts/e-cal-backend-contacts.c
-       (e_cal_backend_contacts_get_timezone): implement
-       (e_cal_backend_contacts_add_timezone): ditto
-       (e_cal_backend_contacts_set_default_timezone): ditto
-       (free_zone): free a timezone
-       (e_cal_backend_contacts_finalize): destroy the zones hash table
-       (e_cal_backend_contacts_class_init): add new method
-       implementations
-       (e_cal_backend_contacts_init): set up zones hash table
-
-2004-04-02  Rodrigo Moya <rodrigo@ximian.com>
-
-       Fixes #51412
-
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_remove_object):
-       support being called with CALOBJ_MOD_THIS on the top level component.
-
-2004-04-02  Rodrigo Moya <rodrigo@ximian.com>
-
-       Fixes #55719
-
-       * backends/groupwise/e-cal-backend-groupwise.c (connect_to_server):
-       use correct type for populate_cache's return value.
-       (e_cal_backend_groupwise_set_mode): use correct type for
-       connect_to_server's return value.
-
-2004-03-30  JP Rosevear <jpr@ximian.com>
-
-       * backends/file/e-cal-backend-file.c: allow debugging code to be
-       turned on and off easily
-
-       * backends/http/e-cal-backend-http.c: ditto
-       
-2004-03-31  JP Rosevear <jpr@ximian.com>
-
-       Fixes #56111
-       
-       * backends/contacts/e-cal-backend-contacts.c (create_component):
-       take a uid for the icalcomp
-       (create_birthday): create a uid from the contact uid and a
-       birthday designator
-       (create_anniversary): ditto for anniversary
-       (e_cal_backend_contacts_get_cal_address): set the address to NULL
-       when returning success
-       (e_cal_backend_contacts_get_ldap_attribute): ditto for the
-       attribute
-       (e_cal_backend_contacts_remove): can't remove a read only calendar
-       (e_cal_backend_contacts_get_object): implement
-       
-2004-03-31  JP Rosevear <jpr@ximian.com>
-
-       Fixes #54713
-       
-       * libecal/e-cal.c (e_cal_get_object): only try to parse the string
-       if the status is good
-       (e_cal_get_timezone): ditto
-       (e_cal_get_default_object): ditto
-       
-2004-03-29  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.c (e_cal_generate_instances): added support for dealing
-       with detached instances.
-       (process_detached_instances): replace all generated instances with the
-       detached ones.
-
-2004-03-29 Harish K <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-utils.c 
-       (start_freebusy_session) : send UTC time to server instead of
-       floating time. remove namespaces to elements in request messages.
-       (e_gw_connection_get_freebusy_info) :send f/b information thro'
-       ECalComponentAttendee structure -not ECalComponentOrganizer.
-       
-2004-03-26  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.h: add proto
-       
-       * libecal/e-cal.c (e_cal_get_source_type): accessor
-
-2004-03-26  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_create_object): replace the inbox container ID
-       in the ID returned by sendItemResponse with our container ID.
-       (e_cal_backend_groupwise_remove_object): if the object does not have the
-       GW server ID, use the iCalID property to remove it.
-
-2004-03-26  Rodrigo Moya <rodrigo@ximian.com>
-       
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (e_gw_connection_send_appointment): set the container ID on the
-       EGwItem returned by e_gw_item_new_from_cal_component.
-
-2004-03-25  William Jon McCann  <mccann@jhu.edu>
-
-       * backends/http/e-cal-backend-http.c (retrieval_done):
-       (e_cal_backend_http_get_default_object): use the same component
-       kind as the backend.
-
-2004-03-25  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_create_object): add the X-EVOLUTION-GROUPWISE-ID
-       property to the newly-created component.
-
-2004-03-25  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-cal-backend-sync.[ch]
-       (e_cal_backend_sync_create_object): made the 'calobj' argument to
-       be inout, so that the caller gets the modified component, not the
-       original one sent to the backend.
-       (_e_cal_backend_sync_create_object): ditto, and notify listeners with
-       the modified calobj.
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_create_object):
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_create_object):
-       adapted to changes in ECalBackendSync, and return the modified object
-       to the caller.
-
-2004-03-22  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.[ch]
-       (e_gw_connection_send_appointment): added a 'id' argument, to be
-       passed to e_gw_connection_send_item.
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_create_object,
-       e_cal_backend_groupwise_modify_object, send_object): added extra
-       argument to e_gw_connection_send_appointment.
-
-2004-03-19  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.[ch]
-       (e_cal_backend_groupwise_notify_error_code): new function.
-       (populate_cache, get_deltas, connect_to_server,
-       e_cal_backend_groupwise_open): notify clients of any error.
-
-2004-03-19  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (start_freebusy_session): don't use the "types:" prefix for the
-       <user> SOAP element.
-
-2004-03-19  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_remove_object): remove the object from the
-       cache in the remote case also.
-
-2004-03-19  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_remove_object): if we don't find the
-       X-EVOLUTION-GROUPWISE-ID property, the object didn't come from
-       the server, so don't try to remove it.
-
-2004-03-19  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-cal-backend-cache.[ch]
-       (e_cal_backend_cache_get_timezone, e_cal_backend_cache_put_timezone,
-       e_cal_backend_cache_remove_timezone): new functions to support
-       timezones in the cache.
-       (e_cal_backend_cache_get_components): only append to the returned
-       list the VEVENT's and VTODO's components.
-       (e_cal_backend_cache_init): create a hash table to store all the
-       icaltimezone objects we create in e_cal_backend_cache_get_timezone.
-       (e_cal_backend_cache_finalize): free the timezones hash table.
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_remove_object): remove object based on the
-       Groupwise item ID, not the iCalendar ID.
-
-2004-03-18  JP Rosevear <jpr@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (e_gw_connection_get_freebusy_info): send back "freeBusySessionId"
-       rather than "session"
-
-2004-03-18  JP Rosevear <jpr@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (start_freebusy_session): put the xml prefixes back in, they
-       weren't the issue
-
-2004-03-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (set_properties_from_cal_component): set the GW item ID based on the
-       X-EVOLUTION-GROUPWISE-ID property.
-       (e_gw_item_to_cal_component): add the above property to the created
-       ECalComponent, and use our iCalendar ID to set the "iCalId" property.
-
-2004-03-18  JP Rosevear <jpr@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (start_freebusy_session): remove xml prefixes
-
-2004-03-18  JP Rosevear <jpr@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (start_freebusy_session): list the the addresses in the <email>
-       attribute
-
-2004-03-18  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.c: add e_return_error macro to fail more
-       gracefully as per ebook
-
-2004-03-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_create_object,
-       e_cal_backend_groupwise_modify_object): don't update the cache when we
-       get an error from the server.
-
-2004-03-17  Rodrigo Moya <rodrigo@ximian.com>
-
-       Fixes #55719
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_get_cal_address): deal with online/offline
-       modes.
-       (e_cal_backend_groupwise_finalize): free new private field.
-
-2004-03-16 Harish K <kharish@novell.com>
-
-       * libecal/e-cal.c : Move open_calendar call into async_idle_cb
-       and rearrange mutex lock/unlock sequences. This fixes the calendar 
-       authentication problems observed while using the Password Dialog.
-
-2004-03-15  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-cal-backend-sexp.c (func_occur_in_time_range): expand
-       recurrences for the given time range to be sure that we return the
-       correct events.
-       (check_instance_time_range_cb): callback to check the expanded recurrences.
-
-2004-03-15  Rodney Dawes  <dobey@ximian.com>
-
-       * libecal/libecal-1.0.pc.in:
-       * libedata-cal/libedata-cal-1.0.pc.in: Add @LIBBONOBO_REQUIRED@ for
-       the libbonobo dependency
-
-2004-03-14  Harish K <kharish@novell.com>
-
-       * calendar/backends/groupwise/e-cal-backend-groupwise.c :
-       Update calls to e_gw_connection_get_items with the new prototype.
-
-2004-03-11  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-data-cal.c (e_data_cal_notify_objects_sent): guard
-       against sending NULL strings to CORBA.
-
-       * backends/contacts/e-cal-backend-contacts.c
-       (e_cal_backend_contacts_receive_objects,
-       e_cal_backend_contacts_send_objects): return PermissionDenied error.
-
-2004-03-09  JP Rosevear <jpr@ximian.com>
-
-       Fixes #55389
-       
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_send_objects): return the calendar object
-       properly
-
-2004-03-09  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.c (e_cal_resolve_tzid): don't default to UTC timezone,
-       the default timezone is used by the timezone look up code.
-
-2004-03-09  Thomas Mirlacher <dent@cosy.sbg.ac.at>
-
-       Fixes #53885
-
-       * backends/contacts/e-cal-backend-contacts.c:
-       intermediate fix for recurring entries starting before 1970
-       set the dtend for making valid whole-day entries
-
-2004-03-05  Rodrigo Moya <rodrigo@ximian.com>
-
-       Fixes #54280
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_send_objects): added missing implementation.
-
-2004-03-05 Harish K <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c :
-       timezone values in ECalDateComponent structures should be
-       set to "UTC" for GW items.
-       
-2004-03-01  Rodrigo Moya <rodrigo@ximian.com>
-
-       Fixes #33243
-
-       * libedata-cal/e-cal-backend-sexp.c (matches_location): new function
-       to check if a component's location matches a string.
-       (matches_any): call matches_location also.
-       (func_contains): added support for searching the location also.
-
-2004-03-01  Rodrigo Moya <rodrigo@ximian.com>
-
-       * idl/Evolution-DataServer-Calendar.idl: added new arguments to the
-       notifyObjectsSent method for backends to return the list of users and
-       events for which it operated.
-
-       * libedata-cal/e-data-cal.[ch] (e_data_cal_notify_objects_sent): added
-       new argument and call the listener's notifyObjectsSent method with
-       a GNOME_Evolution_Calendar_UserList.
-
-       * libedata-cal/e-cal-backend-sync.[ch] (e_cal_backend_sync_send_objects,
-       _e_cal_backend_send_objects): added new arguments.
-
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_send_objects):
-       * backends/http/e-cal-backend-http.c (e_cal_backend_http_send_objects):
-       * backends/contacts/e-cal-backend-contacts.c
-       (e_cal_backend_contacts_send_objects):
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_send_objects): adapted to changes in
-       ECalBackend/ECalBackendSync API.
-
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_receive_objects,
-       e_cal_backend_file_send_objects): removed wrong return statement.
-
-       * libecal/e-cal-marshal.list: added new marshaller.
-
-       * libecal/e-cal.[ch] (e_cal_send_objects): get the user list from the
-       operation's result.
-       (cal_objects_sent_cb): added the new arguments and copy them to the
-       operation's result.
-
-       * libecal/e-cal-listener.[ch]: added new arguments to "send_objects"
-       signal.
-       (impl_notifyObjectsSent): added UserList argument to CORBA method, and
-       convert the CORBA user list to a GList to be passed to the signal
-       handlers.
-       (e_cal_listener_class_init): added new arguments to "send_objects"
-       signal.
-
-2004-02-26  JP Rosevear <jpr@ximian.com>
-
-       * tests/ecal/test-ecal.c: make EXPECTED a macro so it compiles
-
-2004-02-26 Harish K <kharish@novell.com>
-
-       * tests/ecal/test-ecal.c : Added implementation of 
-       test cases.
-       * (tests/ecal/test-runner.sh, tests/ecal/cleanup.sh
-          tests/ecal/testdata.ics) : Added test scripts and test data.
-       * tests/ecal/Makefile.am : Add scripts to EXTRA_DIST.
-
-2004-02-23  JP Rosevear <jpr@ximian.com>
-
-       * backends/groupwise/Makefile.am: Add includes for srcdir !=
-       builddir
-
-       * backends/file/Makefile.am: ditto
-
-       * backends/contacts/Makefile.am: ditto
-
-       * libedata-cal/Makefile.am: ditto
-
-       * libecal/Makefile.am: ditto
-
-       * tests/ecal/Makefile.am: ditto
-
-2004-02-17 Harish K <kharish@novell.com>
-       * libecal/e-cal.c : 
-       (e_cal_new_system_calendar, e_cal_new_system_tasks) : arguments
-       to g_build_filename should be NULL terminated.
-
-2004-02-12  Chris Toshok  <toshok@ximian.com>
-
-       * backends/contacts/e-cal-backend-contacts.c (book_record_new):
-       quiet the compiler, and free the list of requested fields after
-       the e_book_get_book_view call.
-       (e_cal_backend_contacts_init): use e_book_get_addressbooks instead
-       of using gconf and hardcoding the sourcelist xml key.
-
-2004-02-10  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_receive_objects):
-       switch wrongly-placed creation/modification of objects.
-
-2004-02-06  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.c
-       (set_properties_from_cal_component, e_gw_item_to_cal_component):
-       adapted to changes in EGwItem.
-
-       * libecal/e-cal.c (e_cal_open_async): no need to make the thread joinable.
-
-2004-02-06  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise-utils.[ch]: new files
-       to contain all calendar-specific code from libegroupwise.
-       (e_gw_item_new_from_cal_component, e_gw_item_to_cal_component,
-       e_gw_connection_send_appointment): new functions.
-
-       * backends/groupwise/e-cal-backend-groupwise.c: include new header
-       file.
-
-2004-02-06  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/create-account.c:
-       * backends/groupwise/soap-test.c:
-       * backends/groupwise/e-gw-*: moved to $top_srcdir/servers/groupwise.
-
-       * backends/groupwise/Makefile.am: removed files and don't build test
-       programs.
-
-2004-02-06  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c (parse_response_status):
-       "Status" is now "status".
-
-2004-02-04  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.h: update proto
-
-       * libecal/e-cal.c (async_idle_cb): return FALSE to remove the idle
-       handler
-       (get_default): take an auth func and use it 
-       (e_cal_open_default): ditto
-
-2004-02-04  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.h: redo protos
-
-       * libecal/e-cal.c (e_cal_open_default): open the default ecal
-       based on type
-       (e_cal_set_default): set the default based on type
-       (e_cal_set_default_source): ditto
-       (e_cal_get_sources): get the source list based on type
-
-2004-02-04  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.c (open_calendar): new function created from
-       e_cal_open, without signal emissions.
-       (e_cal_open): call open_calendar() and emit signals.
-       (e_cal_open_async): changed to use a thread instead
-       of an idle callback.
-       (open_async): converted to a GThreadFunc, call open_calendar and
-       setup idle callback to emit the "cal_opened" signal.
-       (async_idle_cb): idle callback, notify listeners with the
-       "cal_opened" signal and free ECalAsyncData.
-
-       * backends/file/e-cal-backend-file.c: store an ordered list of all
-       detached recurrences, as well as the hash table, for each object.
-       (free_object): free the recurrences list, and the object's data.
-       (add_component, remove_instance): add the recurrences to the
-       recurrences list also.
-       (e_cal_backend_file_modify_object): remove the recurrence from the
-       list also, and it to the list when adding it to the hash table.
-       (remove_object_instance_cb): remove the recurrences from the list
-       also.
-       (e_cal_backend_file_receive_objects): remove cancelled meetings from the
-       received toplevel component before merging it. Add/Update received
-       objects approppriately for PUBLISH/REQUEST/REPLY.
-
-2004-02-04  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.c (open_async): g_object_unref the ECal, not the
-       ECalAsyncData structure.
-
-2004-02-03  Rodney Dawes  <dobey@ximian.com>
-
-       * backends/http/e-cal-backend-http.c: Don't keep a global SoupMessage
-       (e_cal_backend_http_fianlize): Abort the session, as we may have
-       multiple messages running
-       (webcal_to_http_method): Return a copy if we aren't parsing a webcal:,
-       as there is no need to return NULL, since we just check and copy the
-       original anyway
-       (retrieval_done): Handle redirection, and don't rely on a global
-       SoupMessage for things, and don't try to set the SoupMessage to NULL
-       (begin_retrieval_cb): Allow multiple messages, and disable automatic
-       redirect handling, as we need to handle it ourselves
-       (maybe_start_reload_timeout): We want minutes, not seconds, so we need
-       to multiply the refresh value by 60000 instead of 1000
-
-2004-02-03  Dan Winship  <danw@ximian.com>
-
-       * backends/http/e-cal-backend-http.c (e_cal_backend_http_finalize,
-       retrieval_done): Don't unref the soup message; that happens
-       automatically after the callback runs. #53645
-
-2004-02-03  Harish K <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c : 
-       added get_deltas function as the callback to update cache.
-       * backends/groupwise/e-gw-connection.[ch] (parse_response_status):
-       Removed UpdateCacheHandle structure as
-       the callback is now local to e-cal-backend-groupwise.c
-       (e_gw_connection_get_deltas) : modified  the function to return 
-       list of EGwItems.
-       (set_attendee_list_from_soap_parameter) : moved to EGwItem.
-       * backends/groupwise/e-gw-item.c : Added attendee_list to priv
-       structure and updated e_gw_item_dispose to free it.
-       (e_gw_item_new_from_soap_parameter) : added code to parse 'changes'
-       element in item.
-       
-2004-02-03  Chris Toshok  <toshok@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c (parse_response_status):
-       E_GW_CONNECTION_BAD_PARAMETER ->
-       E_GW_CONNECTION_STATUS_BAD_PARAMETER.
-
-2004-02-02  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.[ch] (parse_response_status):
-       added new error code.
-
-2004-02-02  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c (populate_cache):
-       add all retrieved items to the cache, since calendar and tasks
-       both use the same cache file.
-       (e_cal_backend_groupwise_get_object,
-       e_cal_backend_groupwise_get_object_list): only return items of the
-       same kind as the backend.
-       (e_cal_backend_groupwise_create_object): only allow storing of
-       items of the same kind as the backend.
-
-2004-02-02  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-item.c (e_gw_item_append_to_soap_message):
-       fixed argument ordering in call to e_gw_message_write_string_parameter.
-
-2004-02-02  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c (populate_cache):
-       changed to have an ECalBackendGroupwise as argument, and only add
-       to the cache objects of the same kind as the backend.
-       (connect_to_server): pass the ECalBackendGroupwise to populate_cache.
-
-       * backends/groupwise/e-gw-item.c (e_gw_item_to_calcomponent):
-       set altrep to NULL on ECalComponentText's.
-
-2004-02-02  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-item.c (e_gw_item_to_calcomponent): moved
-       calls to e_cal_component_set_new_vtype up, so that the internal
-       icalcomponent gets created. Added missing 'break' statement.
-
-2004-02-02  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c
-       (e_gw_connection_get_freebusy_info): fixed warning.
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_remove_object): pass the container_id to
-       e_gw_connection_remove_item.
-
-2004-02-02  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c (connect_to_server):
-       set the ESource's name to the name of the folder.
-
-2004-02-01  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.h: order the signals more sensibly
-
-       * libecal/e-cal.c (destroy_factories): use G_STRLOC
-       (categories_changed_cb): set the size of the array so the length
-       is set
-       (e_cal_init): remove extra listener args, listen for new signals
-
-       * libecal/e-cal-marshal.list: add signal marshaller
-
-       * libecal/e-cal-listener.h: add new signals, remove function
-       callback protos, update protos
-
-       * libecal/e-cal-listener.c (impl_notifyErrorOccurred): emit error
-       signal
-       (impl_notifyCategoriesChanged): emit categories changed signal
-       (e_cal_listener_init): remove dead initializations
-       (e_cal_listener_finalize): remove dead finalizations
-       (e_cal_listener_class_init): add category and error signals
-       (e_cal_listener_construct): remove error and category function
-       params
-       (e_cal_listener_new): ditto
-
-2004-01-31  JP Rosevear  <jpr@ximian.com>
-
-       * libecal/e-cal.c (e_cal_is_read_only): return a proper GError and
-       boolean
-
-       * backends/contacts/e-cal-backend-contacts.c
-       (e_cal_backend_contacts_get_type): remove debug statements
-       
-2004-01-30  Radek Doulik  <rodo@ximian.com>
-
-       * backends/contacts/e-cal-backend-contacts.c (contact_record_new):
-       make sure anniversary/birthday components were created before
-       using them
-       (contact_record_free): ditto
-       (contact_record_cb): ditto
-
-2004-01-30  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/http/Makefile.am: LOG_DOMAIN is ...http, not ...file.
-
-       * backends/http/e-cal-backend-http.c (reaload_cb): don't start a new
-       updload if we're already uploading.
-
-2004-01-29  Hans Petter Jansson  <hpj@ximian.com>
-
-       * backends/http/e-cal-backend-http.c (retrieval_done): Clear the
-       is_loading flag.
-       (begin_retrieval_cb): Set the is_loading flag, maybe start the reload
-       timeout.
-       (reload_cb): Implement.
-       (maybe_start_reload_timeout): Implement.
-       (e_cal_backend_http_open): Init reload timeout ID.
-
-2004-01-29  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-item.c (e_gw_item_append_to_soap_message):
-       write all properties to the message.
-
-2004-01-29  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-item.[ch] (e_gw_item_new_from_soap_parameter,
-       e_gw_item_to_cal_component, e_gw_item_get_id, e_gw_item_set_id,
-       e_gw_item_get_creation_date, e_gw_item_set_creation_date,
-       e_gw_item_get_start_date, e_gw_item_set_start_date,
-       e_gw_item_get_classification, e_gw_item_set_classification,
-       e_gw_item_get_accept_level, e_gw_item_set_accept_level,
-       e_gw_item_get_subject, e_gw_item_set_subject,
-       e_gw_item_get_priority, e_gw_item_set_priority,
-       e_gw_item_get_message, e_gw_item_set_message,
-       e_gw_item_get_completed, e_gw_item_set_completed,
-       e_gw_item_get_due_date, e_gw_item_set_due_date,
-       e_gw_item_get_end_date, e_gw_item_set_end_date,
-       e_gw_item_get_place, e_gw_item_set_place): new functions.
-       (e_gw_item_new_from_cal_component): renamed. Don't keep the
-       ECalComponent, there's no need for it.
-       (append_appointment_properties): don't use the private ECalComponent,
-       it's not stored anymore.
-       (e_gw_item_dispose): free all properties.
-       (e_gw_item_append_to_soap_message): added support for tasks.
-
-       * backends/groupwise/e-gw-connection.c (e_gw_connection_get_items):
-       (e_gw_connection_send_appointment): use
-       e_gw_item_new_from_cal_component.
-       (get_e_cal_component_from_soap_parameter, get_evo_date_from_string):
-       removed.
-       (e_gw_item_get_deltas, update_cache_item): disabled until migrated to
-       use EGwItem's.
-       (e_gw_connection_get_date_from_string): new function.
-
-       * backends/groupwise/e-gw-container.c (e_gw_container_finalize): fixed
-       warnings.
-
-2004-01-28  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-item.c: added missing header.
-
-2004-01-28  Rodrigo Moya <rodrigo@ximian.com>
-
-       Fixes #53465
-
-       * libecal/e-cal.c (e_cal_get_error_message): fixed typo.
-
-2004-01-28  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-item.[ch]
-       (e_gw_item_append_to_soap_message): new function.
-
-       * backends/groupwise/e-gw-connection.c (e_gw_connection_send_item):
-       finished implementation.
-
-2004-01-28 Harish K <kharish@novell.com>
-
-       * calendar/backends/groupwise/e-cal-backend-groupwise.c :
-       Pass the correct arguments to the callback function 
-       * calendar/backends/groupwise/e-gw-connection.c :
-       (e_gw_connection_get_container_id) : Initialize container_list.
-       (e-gw-connection_get_deltas) : fixed the prototype to match
-       the callback prototype
-       (set_attendee_list_from_soap_param): modified 
-       get_attendee_list_from_soap_param to update calendar component
-       within the same function.
-       (e-gw-connection_get_items) : check item types before creating
-       e-cal-components.
-       * calendar/backends/groupwise/e-gw-connection.h : added 
-       CacheUpdateHandle structure. 
-
-2004-01-28  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.h: add protos
-
-       * libecal/e-cal.c (e_cal_new_system_calendar): return a pointer to
-       the system calendar
-       (e_cal_new_system_tasks): ditto for tasks
-       (get_default): gets the default calendar/tasks
-       (e_cal_get_default_calendar): gets the default calendar
-       (e_cal_get_default_tasks): ditto for tasks
-       (e_cal_set_default_calendar): sets the default calendar
-       (e_cal_set_default_tasks): ditto for tasks
-       (set_default_source): set the default calendar/tasks source
-       (e_cal_set_default_calendar_source): set the default calendar
-       source
-       (e_cal_set_default_tasks_source): ditto for tasks
-       (get_sources): get a source list given a gconf key
-       (e_cal_get_calendars): get the calendar source list
-       (e_cal_get_tasks): get the tasks source list
-
-2004-01-28  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-container.[ch]: new class to contain all
-       information about containers in the server.
-
-       * backends/groupwise/e-gw-connection.[ch]
-       (e_ge_connection_free_container_list): new function.
-       (e_gw_connection_get_container_list): changed to return a list of
-       EGwContainer's.
-       (e_gw_connection_get_container_id): adapted to changes made in
-       e_gw_connection_get_container_list().
-
-2004-01-27  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.h: update proto
-
-       * libecal/e-cal.c (e_cal_remove): rename from
-       e_cal_remove_calendar
-       (e_cal_get_error_message): key on new status name
-
-       * libecal/e-cal-types.h: rename
-       E_CALENDAR_STATUS_CARD_ID_ALREADY_EXISTS to
-       E_CALENDAR_STATUS_OBJECT_ID_ALREADY_EXISTS, delete duplicate enum
-
-       * idl/Evolution-DataServer-Calendar.idl: rename
-       CardIdAlreadyExists to ObjectIdAlreadyExists
-
-       * libecal/e-cal-listener.c (convert_status): key on new name
-       
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_create_object): return object id already
-       exists
-
-2004-01-27  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c
-       (get_e_cal_component_from_soap_parameter): not having the priority
-       or dueDate properties is not an error.
-
-2004-01-27  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c
-       (get_attendee_list_from_soap_parameter): don't allocate memory for
-       ECalComponentAttendee's fields, make them just point to the values
-       contained in the SoupSoapResponse.
-       (get_e_cal_component_from_soap_parameter): don't free
-       ECalComponentAttendee's fields, free the structure.
-       (e_gw_connection_send_item): fixed warnings.
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_get_object):
-       (e_cal_backend_groupwise_remove): lock/unlock the mutex when accessing
-       private fields.
-
-2004-01-27  JP Rosevear <jpr@ximian.com>
-
-       * libedata-cal/e-cal-backend-cache.c (get_filename_from_uri): take
-       a const uri
-       (e_cal_backend_cache_set_property): pass a const value
-       (e_cal_backend_cache_constructor): uri is const
-       (e_cal_backend_cache_put_component): rid is const
-       (e_cal_backend_cache_get_components): distinguish between GList
-       and GSList
-
-       * libedata-cal/e-cal-backend-sexp.c (func_uid): make sure we
-       always set a return value
-
-2004-01-27  JP Rosevear <jpr@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c
-       (get_e_cal_component_from_soap_parameter): description is not
-       const
-
-2004-01-27  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_start_query): fixed memory leaks and use
-       g_list_* functions for GList's, not g_slist_*.
-       (match_object_sexp, match_recurrence_sexp): removed unneeded functions,
-       we match the object directly in get_object_list.
-       (e_cal_backend_groupwise_start_query): call get_object_list to retrieve
-       the matched objects and call e_data_cal_view_notify_* functions
-       appropriately.
-
-2004-01-26  Harish K <kharish@novell.com>
-
-       * calendar/backends/groupwise/e-cal-backend-groupwise.c :
-       (e_cal_backend_groupwise_internal_get_default_timezone,
-       e_cal_backend_groupwise_internal_get_timezone) : added and 
-       implemented.
-       (e_cal_backend_groupwise_get_object_list) : fixed incorrect
-       access to the list.
-       (e_cal_backend_groupwise_start_query) : fixed compiler warnings.
-        
-       * calendar/backends/groupwise/e-gw-connection.c :
-       (e_gw_connection_get_container_id) : Modified elements 'Folders' to 
-       the 'folders' due to change in the server implementation.
-       Fixed compiler warnings.
-
-2004-01-24  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/http/e-cal-backend-http.c: make it use
-       ECalBackendCache for its cache, and libsoup for the HTTP
-       retrieval.
-       (retrieval_progress_cb, uri_to_cache_dir, ensure_cache_dir): removed
-       unneeded functions.
-       (e_cal_backend_http_finalize): cancel Soup message here, if any, and
-       close Soup session.
-       (begin_retrieval_cb): use soup_session_queue_message() to send the
-       HTTP request to the server.
-       (retrieval_done): update the cache on success, and changed to be the
-       callback for the Soup async message.
-       (e_cal_backend_http_open): create a ECalBackendCache, not an
-       ECalBackendFile.
-       (e_cal_backend_http_remove): remove the cache.
-       (e_cal_backend_http_is_loaded, e_cal_backend_http_get_default_object,
-       e_cal_backend_http_get_object, e_cal_backend_http_get_timezone,
-       e_cal_backend_http_add_timezone,
-       e_cal_backend_http_set_default_timezone,
-       e_cal_backend_http_get_object_list, e_cal_backend_http_start_query,
-       e_cal_backend_http_get_default_timezone,
-       e_cal_backend_http_get_timezone):
-       dont proxy calls to the file backend, use the cache instead.
-       (e_cal_backend_http_create_object, e_cal_backend_http_modify_object,
-       e_cal_backend_http_remove_object, e_cal_backend_http_receive_objects,
-       e_cal_backend_http_send_objects):
-       the HTTP backend is read only, return permission denied error.
-
-       * backends/http/Makefile.am: added SOUP_CFLAGS|LIBS.
-
-       * backends/groupwise/Makefile.am: s/GROUPWISE/SOUP.
-
-2004-01-23  Harish K <kharish@novell.com>
-
-       * calendar/backends/groupwise/e-cal-backend-groupwise.c
-         Removed update_cache function and refactored the call-back 
-         to use e-gw-connection_get_deltas instead of update_cache.
-       * calendar/backends/groupwise/e-gw-connection.c
-         use g_new0 instead of g_malloc0 and added NULL check for 
-         validating the soap responses. 
-         (get_e_cal_component_from_soap_parameter) added code to
-         parse 'message' into description.
-         
-2004-01-22 Harish K <kharish@novell.com>
-
-       * calendar/backends/groupwise/e-cal-backend-groupwise.c
-         (populate_cache, e_cal_backend_groupwise_get_object_list,
-         e_cal_backend_groupwise_get_free_busy ) :changed implementation
-         to use GList instead of GSList, aligning to the rest of the
-         backends.
-         (e_cal_backend_groupwise_get_changes, update_cache): implemented.
-
-       * calendar/backends/groupwise/e-gw-connection.c
-         (get_attendee_list_from_soap_parameter) : modified 
-          get_attendee_list_from_string to handle recipients element.
-         (get_e_cal_component_from_soap_parameter) -fixed memory leaks.
-         (update_cache_item) : implemented.
-         (e_gw_connection_get_freebusy_info, start_freebusy_session)
-         GSList to GList changes.
-
-       * calendar/backends/groupwise/e-gw-connection.h : updated 
-          declarations for the above changes.
-
-       * calendar/libedata-cal/e-cal-backend-cache.[ch] :
-         (e_cal_backend_cache_get_components) : return GList instead of
-          GSList.
-          
-2004-01-21  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_remove): remove the cache from disk
-       when removing the calendar.
-
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_remove): added missing call to g_dir_close().
-
-2004-01-21  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_remove):
-       use the full path when removing files.
-
-2004-01-21  JP Rosevear <jpr@ximian.com>
-
-       * libecal/Makefile.am: don't build client test
-
-2004-01-21  JP Rosevear <jpr@ximian.com>
-
-       * tests/ecal/test-ecal.c: the beginnings of a test client
-
-       * tests/ecal/Makefile.am: build the test client
-
-       * tests/Makefile.am: add ecal subdir
-
-       * Makefile.am: add tests subdir
-
-2004-01-21  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.c (e_cal_new): create the component listener
-       here, so that backend_died_cb gets called when the backend dies.
-
-2004-01-21  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (connect_to_server): added code for retrieving the container ID
-       for tasks also.
-
-2004-01-21  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_open): added missing g_mutex_unlock
-       call.
-
-2004-01-21  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c
-       (get_e_cal_component_from_soap_parameter): check arguments before
-       passing them to functions to avoid warnings at runtime.
-
-2004-01-21  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/file/e-cal-backend-file.c (create_cal): create
-       directory tree to contain the calendar.
-
-2004-01-21  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c
-       (get_e_cal_component_from_soap_parameter): return error when
-       the type of the component does not match the supported ones.
-
-2004-01-21  Rodrigo Moya <rodrigo@ximian.com>
-
-       Fixes #51705
-
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_remove):
-       remove all files in the directory and the directory itself.
-
-2004-01-21  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c (match_recurrence_sexp,
-       match_object_sexp): use a GSList, which is what we are passed
-       to e_cal_backend_groupwise_get_object_list.
-       (e_cal_backend_groupwise_start_query): fixed warning.
-
-2004-01-20  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_set_mode): split out the connection code.
-       (connect_to_server): and moved it here.
-       (e_cal_backend_groupwise_open): call connect_to_server, not
-       set_mode, to avoid online/offline notifications.
-
-2004-01-19  Harish K <kharish@novell.com> 
-
-       * backends/groupwise/e-gw-connection.c :
-       (get_e_cal_component_from_soap_parameter):
-       'due' property set for TODOs instead of dtend.
-       added code for mapping all values of GW data to
-       percent, priority, classification, transparency
-       properties in ECalComponent.
-       Fixed compiler warnings.
-
-2004-01-18  Harish K <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c :
-       (e_cal_backend_groupwise_get_free_busy): Implemented.
-       * backends/groupwise/e-gw-connection.[ch] :
-       (e_gw_connection_get_deltas) : Implemented parsing of
-       the response.
-       (e_gw_connection_get_free_busy_info) : Implemented
-       including private functions  
-       (get_attendee_list_from_string, start_freebusy_session and
-       close_freebusy_session).
-       (e_gw_connection_get_container_id) : remove unused variable.
-       (get_e_cal_component_from_soap_parameter) : added code to 
-       set attendee_list to the e_cal_component.
-       (get_evo_date_from_string) : fixed typo.
-
-2004-01-16  JP Rosevear <jpr@ximian.com>
-
-       * backends/file/e-cal-backend-file.c (save): remove test bits
-
-2004-01-16  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.c (categories_changed_idle_cb): remove debug
-       statement
-
-2004-01-16  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.c (e_cal_open): return AUTH_REQUIRED error if
-       we don't get a password from the authentication function.
-
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_modify_object): store the old object before
-       actually losing it.
-
-2004-01-16  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.c: name space the idle data structs properly
-
-2004-01-16  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.c (backend_error_idle_cb): idle handler to
-       actually proxy the signal emission to the main thread
-       (backend_error_cb): use above
-       (categories_changed_idle_cb): idle handler for proxying
-       (categories_changed_cb): use above
-
-       Fixes #52743
-       
-2004-01-16  Christian Neumair  <chris@gnome-de.org>
-
-       * libedata-cal/e-cal-backend-sexp.c (func_uid):
-       Error message string fix.
-
-2004-01-16  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-cal-backend-cache.c (get_filename_from_uri): use
-       ~/.evolution/cache/calendar for the cache files.
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_get_object_list): lock/unlock the
-       private mutex.
-
-2004-01-16  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c
-       (e_gw_connection_get_container_id): fixed duplicated variable name.
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_open): removed check for 'only_if_exists',
-       we'll return NoSuchCal error if we can't find the calendar to open.
-
-2004-01-15  Mark McLoughlin  <mark@skynet.ie>
-
-       * libecal/e-cal-listener.c: (impl_notifyCalSetMode),
-       (impl_notifyErrorOccurred), (impl_notifyCategoriesChanged):
-       Remove debugging spew.
-
-2004-01-15  Radek Doulik  <rodo@ximian.com>
-
-       * libecal/e-cal.c (e_cal_is_read_only): fix the return value, it
-       was returning ECalendarStatus instead of bool, it compares status
-       to E_CALENDAR_STATUS_OK now
-
-2004-01-14  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_open): if trying to create a new calendar,
-       return an error, since we don't support that.
-       (e_cal_backend_groupwise_remove): return "Permission Denied".
-
-2004-01-14  Harish K <kharish@novell.com>
-
-       * libedata-cal/e-cal-backend-cache.c
-       (e_cal_backend_cache_get_components): return a list of e-cal-components
-        rather than e-cal-component strings.
-
-2004-01-13  JP Rosevear <jpr@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c
-       (get_e_cal_component_from_soap_parameter): remove C99 declaration
-
-2004-01-13  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-item.[ch] (e_gw_item_new_appointment):
-       added a 'container' argument.
-       (e_gw_item_dispose): free new field in the private structure.
-
-       * backends/groupwise/e-gw-connection.[ch]
-       (e_gw_connection_send_appointment): added a 'container' argument.
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_create_object,
-       e_cal_backend_groupwise_modify_object): adapted to changes in
-       e_gw_connection_send_appointment.
-       (e_cal_backend_groupwise_receive_objects): implemented.
-
-2004-01-13  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.[ch]
-       (e_gw_connection_get_items): moved the folder retrieving code to...
-       (e_gw_connection_get_container_id): ...here, new function.
-
-       * backends/groupwise/e-cal-backend-groupwise.c: added 'container_id'
-       field to private structure.
-       (e_cal_backend_groupwise_finalize): free the container_id.
-       (populate_cache): pass the container_id to e_gw_connection_get_items.
-       (e_cal_backend_groupwise_set_mode): retrieve the container ID after
-       connecting to the server.
-
-2004-01-13  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.[ch] (logout): unref the message
-       if we dont get a response, not the response, which is NULL, and unref
-       it also before exiting the function.
-       (e_gw_connection_remove_item): new function.
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_remove_object): implemented.
-
-2004-01-13  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal-component.[ch] (e_cal_component_get_recurid_as_string):
-       new function, moved from the file and groupwise backends.
-
-       * libedata-cal/e-cal-backend-cache.[ch]
-       (e_cal_backend_cache_put_component): changed to get an ECalComponent.
-
-       * backends/groupwise/e-gw-item.[ch]: new class for managing items
-       to be sent to the server.
-
-       * backends/groupwise/e-gw-connection.[ch] (e_gw_connection_send_item,
-       e_gw_connection_send_appointment): new functions.
-       (e_gw_connection_get_container_list): made it public.
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_create_object): finished implementation.
-       (e_cal_backend_groupwise_modify_object): implemented.
-       (get_rid_string): removed.
-       (populate_cache): adapted to changes in ECalBackendCache, and use
-       e_cal_component_get_recurid_as_string instead of the local
-       get_rid_string().
-
-       * backends/groupwise/Makefile.am: added new files.
-
-       * backends/file/e-cal-backend-file.c (get_rid_string): removed.
-       (add_component, e_cal_backend_file_modify_object): use
-       e_cal_component_get_recurid_as_string instead of the local
-       get_rid_string().
-
-2004-01-13 Harish K <kharish@novell.com>
-
-       * calendar/backends/groupwise/e-cal-backend-groupwise.c
-          (populate_cache): fixed memory leaks.
-          (e_cal_backend_groupwise_open): return function with success when
-          invoked again after the cache has been created already.
-          (e_cal_backend_groupwise_get_object_list): implemented.
-          (e_cal_backend_groupwise_start_query): implemented.
-
-       * calendar/backends/groupwise/e-gw-connection.c
-          (get_e_cal_component_from_soap_parameter): modification to strip
-          date and time separators in argument before calling
-          icaltime_from_string.
-
-       * calendar/backends/groupwise/e-gw-connection.h
-          (e_gw_connection_get_delta): - Added declaration.
-
-       * calendar/libedata-cal/e-cal-backend-cache.c
-          (e_cal_backend_cache_constructor): Added the function and updated
-          class_init to use it.
-          (e_cal_backend_cache_get_components): Added method to wrap 
-          e_file_cache_get_objects for better abstraction.
-          (e_cal_backend_cache_set_property): fixed NULL termination to argument
-          list.
-
-2004-01-12  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_open):
-       * backends/http/e-cal-backend-http.c (e_cal_backend_http_open): made
-       the backends start online always, until we fix the online/offline
-       handling via the shell.
-
-2004-01-12  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.[ch]
-       (e_gw_connection_get_user_name, e_gw_connection_get_user_uuid): new
-       functions.
-
-2004-01-12  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/http/e-cal-backend-http.c (uri_to_cache_dir): fixed leak.
-
-2004-01-10  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-cal-backend-sexp.c (func_occur_in_time_range):
-       don't leak the dates retrieved with e_cal_component_get_dtstart/dtend.
-
-       * libedata-cal/e-cal-backend-sync.c (_e_cal_backend_get_timezone):
-       free the 'object' string returned by the provider's get_timezone
-       method.
-
-       * libedata-cal/e-data-cal-factory.c
-       (e_data_cal_factory_register_method):
-       g_free the string returned by g_ascii_strdown().
-
-2004-01-10  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_get_timezone): fixed copy/paste typo.
-       (e_cal_backend_groupwise_remove, e_cal_backend_groupwise_add_timezone,
-       e_cal_backend_groupwise_set_default_timezone,
-       e_cal_backend_groupwise_get_object_list,
-       e_cal_backend_groupwise_get_free_busy,
-       e_cal_backend_groupwise_get_changes,
-       e_cal_backend_groupwise_discard_alarm,
-       e_cal_backend_groupwise_modify_object,
-       e_cal_backend_groupwise_remove_object,
-       e_cal_backend_groupwise_receive_objects,
-       e_cal_backend_groupwise_send_objects):
-       fixed compilation warnings.
-
-       * backends/groupwise/Makefile.am:
-       * backends/groupwise/groupwise-config-listener.c: removed unused file.
-
-2004-01-09  Harish K <kharish@novell.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-        (populate_cache): implemented.
-
-       * backends/groupwise/e-gw-connection.h:
-        added declaration for e_gw_connection_get_items.
-
-       * backends/groupwise/e-gw-connection.c:
-        (e-gw-connection-get-items) :implementation to obtain 
-        calendar data from GW using SOAP.
-
-2004-01-08  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.c (convert_type): kill warning
-       (e_cal_get_timezone): fix preconditions, tzid being NULL is valid,
-       set *zone to NULL if we short circuit on a local time
-
-2004-01-07  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_open): keep the username and password
-       passed from the client, and don't open the connection here.
-       (e_cal_backend_groupwise_set_mode): ...do it here, when we change
-       mode to 'online'.
-       (e_cal_backend_groupwise_get_mode): implemented.
-       (e_cal_backend_groupwise_is_loaded): check the cache, not the
-       connection, since we can be loaded without being online.
-       (populate_cache): made it static.
-
-       * backends/http/e-cal-backend-http.c (begin_retrieval_cb): only
-       begin the retrieval if we are online.
-
-       * libecal/e-cal-util.h: added cal_mode_to_corba macro from
-       e-cal-backend-http.c.
-
-2004-01-07  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.c (convert_type): removed g_assert_not_reached.
-
-2004-01-07  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.c (e_cal_get_alarms_for_object): pass the correct
-       callback data for e_cal_resolve_tzid_cb().
-
-2004-01-07  JP Rosevear <jpr@ximian.com>
-
-       * libedata-cal/Makefile.am: remove DISABLE_DEPRECATED flags
-
-       * libecal/Makefile.am: ditto
-
-2004-01-07  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.c (build_component_alarms_list): clone the icalcomponent
-       to avoid having a pointer to an object that is freed afterwards, in
-       e_cal_get_alarms_in_range.
-       (e_cal_get_alarms_in_range): use icalcomponent_free to free the objects
-       in the list returned by e_cal_get_object_list.
-
-2004-01-07  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.c (build_component_alarms_list): pass the correct
-       data (an ECal, not an icalcomponent) to e_cal_resolve_tzid_cb.
-
-2004-01-06  JP Rosevear <jpr@ximian.com>
-
-       * libedata-cal/e-cal-backend-sexp.c (func_uid): implement uid
-       checking for sexps
-       (e_cal_backend_sexp_new): use nice glib macro to count sexp
-       elements
-
-       * libedata-cal/e-cal-backend-cache.c: guard config.h include and
-       include string.h to kill warning
-
-2004-01-06  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.c (build_component_alarms_list): the list returned
-       by e_cal_get_object_list() contains icalcomponent's already,
-       so no need to parse them as strings.
-       (e_cal_open): fixed warning.
-
-2004-01-05  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-message.[ch]
-       (e_gw_message_write_string_parameter): added 'prefix' argument, for
-       not hard-coding all parameters to the "types" prefix.
-
-       * backends/groupwise/e-gw-connection.c (logout, e_gw_connection_new,
-       e_gw_connection_get_items): pass the XML prefix to
-       e_gw_message_write_string_parameter().
-
-2004-01-05  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-cal-backend-cache.[ch] (e_cal_backend_cache_put_object):
-       merged _add_component and _replace_component into a single function.
-
-       * backends/groupwise/e-cal-backend-groupwise.c (populate_cache):
-       use e_cal_backend_cache_put_object, and let the cache deal with
-       additions/replacements.
-
-2004-01-05  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * backends/groupwise/groupwise-config-listener.[ch] : new class implementing addition,
-       removal, modification of e-sources for calender and tasks for groupwise accounts.
-       
-       * backends/groupwise/Makefile.am : added above two files in  Makefile.am 
-
-2004-01-05  Christian Neumair  <chris@gnome-de.org>
-
-       * libedata-cal/e-cal-backend-sexp.c: Generalize some strings.
-
-2003-12-24  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c (e_gw_connection_get_items):
-       fixed warning.
-
-2003-12-24  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-message.[ch] (e_gw_message_new_with_header):
-       added 'session_id' argument, to add the <Header> SOAP part if not NULL.
-
-       * backends/groupwise/e-gw-connection.c (e_gw_connection_get_items): use
-       e_gw_message_new_with_header to create the SOAP message. Also, unref
-       the correct object if we don't get a response from
-       e_gw_connection_send_message, or we when we can't find a parameter in
-       the response.
-       (logout): pass session ID to e_gw_message_new_with_header().
-       (e_gw_connection_new): ditto.
-
-       * backends/groupwise/e-cal-backend-groupwise.c: removed 'icalcomp'
-       field from the ECalBackendGroupwisePrivate structure.
-       (e_cal_backend_groupwise_get_timezone): don't use priv->icalcomp
-       to retrieve timezones, since that object is empty, use the libical's
-       built-in timezones.
-       (populate_cache): fixed C99'isms and re-enabled g_mutex_lock/_unlock
-       calls.
-
-2003-12-24  Harish Krishnaswamy <kharish@novell.com>
-
-       * backends/groupwise/e-gw-connection.[ch] (e_gw_connection_get_items):
-       new function.
-
-       * backends/groupwise/e-cal-backend-groupwise.c (populate_cache): new
-       function to populate the cache with all objects from the server.
-       (e_cal_backend_groupwise_open): call populate_cache when opening the
-       connection, to get all objects from the server.
-       (e_cal_backend_groupwise_get_default_object): implemented.
-       (e_cal_backend_groupwise_get_timezone): implemented.
-
-2003-12-22  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-cal-backend-sexp.c (func_has_alarms): removed useless
-       'has_to_have_alarms' variable.
-
-2003-12-22  JP Rosevear <jpr@ximian.com>
-
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_modify_object): check the kind with the parent
-       (e_cal_backend_file_create_object): ditto
-
-2003-12-21  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.h: update protos
-
-       * libecal/e-cal.c: use ECalSourceType
-       (convert_type): convert and ECalSourceType to a corba equivalent
-       (fetch_corba_cal): use ECalSourceType
-       (e_cal_new): ditto
-       (e_cal_new_from_uri): ditto
-       (e_cal_generate_instances): does not need a type arg
-
-       * libecal/e-cal-util.h: remove CalObjType
-
-       * libecal/client-test.c (create_client): use ECalSourceType
-       (main): ditto
-
-2003-12-21  JP Rosevear <jpr@ximian.com>
-
-       * backends/file/e-cal-backend-file.c (open_cal): set the uri
-       before scanning the vcalendar because we may have to fix duplicate
-       UIDs (and hence save the calendar)
-
-2003-12-19 JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.c (e_cal_get_alarms_in_range): create a valid sexp
-
-2003-12-19  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libecal/e-cal.[ch] (e_cal_class_init):  removed 'forget_password'
-       signal, since it's not used anywhere.
-
-2003-12-19  Rodrigo Moya <rodrigo@ximian.com>
-
-       * idl/Evolution-DataServer-Calendar.idl: added 'username' and 'password'
-       arguments to Cal::open method, so that we can send authentication
-       from the clients.
-
-       * libedata-cal/e-cal-backend.[ch] (e_cal_backend_open):
-       * libedata-cal/e-cal-backend-sync.[ch] (e_cal_backend_sync_open,
-       _e_cal_backend_open):
-       * libedata-cal/e-data-cal.c (impl_Cal_open):
-       * backends/http/e-cal-backend-http.c (e_cal_backend_http_open):
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_open):
-       * backends/file/e-cal-backend-file.c (e_cal_backend_file_open): adapted
-       to changes in above method.
-
-       * libecal/e-cal.[ch]: added E_CAL_LOAD_AUTHENTICATING to LoadState enum.
-       (e_cal_open): check with the ESource if the server needs authentication
-       or not, and if so, ask the client's provided auth function. Call
-       GNOME_Evolution_Calendar_Cal_Open with the new arguments.
-
-2003-12-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: use a GMutex for
-       thread safety.
-       (e_cal_backend_groupwise_init): create the GMutex.
-       (e_cal_backend_groupwise_finalize): free the GMutex.
-       (e_cal_backend_groupwise_open): use the mutex.
-
-2003-12-17  JP Rosevear <jpr@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c (e_gw_connection_init):
-       create a synchronous session
-
-2003-12-17  Hans Petter Jansson  <hpj@ximian.com>
-
-       * libecal/e-cal.c (e_cal_finalize): Unref source.
-       (fetch_corba_cal): Ref and keep source.
-       (e_cal_get_source): Implement.
-
-2003-12-17  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/create-account.c: added support for specifying
-       a password, since we need one to connect to the server.
-
-2003-12-16  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c (e_gw_connection_new): no need to
-       set the namespace for "types:", it's already set in
-       e_gw_message_new_with_header().
-
-2003-12-16  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-message.c (e_gw_message_new_with_header):
-       added the namespace for the SOAP types.
-
-       * backends/groupwise/e-gw-connection.c (logout): fixed copy-paste typo.
-
-       * backends/groupwise/soap-test.c (idle_cb): unref the EGwConnection
-       object, so that the logout message is sent to the server.
-
-2003-12-16  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_open): return an AuthenticationFailed error
-       when we can't open the connection.
-
-2003-12-16  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.c (e_cal_get_free_busy): the info is already in
-       ECalComponent form, no need to process it again, from Gary Ekker
-       <gekker@novell.com>
-
-       Fixes #52218
-       
-2003-12-16  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c (parse_response_status): map
-       some error codes.
-       (e_gw_connection_new): retrieve all the info returned in the UserInfo
-       type (name, email and uuid).
-       (e_gw_connection_disposee): free new private fields.
-
-2003-12-16 Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * backends/groupwise/e-gw-connection.h
-       * backends/groupwise/e-gw-connection.c (e_gw_connection_new,
-       e_gw_connection_get_user_email)
-       * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_get_ldap_attribute,
-       e_cal_backend_groupwise_get_cal_address, e_cal_backend_groupwise_is_read_only,
-       e_cal_backend_groupwise_get_alarm_email_address, e_cal_backend_groupwise_get_static_capabilities
-       e_cal_backend_groupwise_open ): added implementation for all the apis listed above
-
-2003-12-15  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal-listener.c (e_cal_listener_class_init): fix the
-       number of parameters for get free busy and get_changes
-
-2003-12-15  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/e-cal-backend-sync.c (_e_cal_backend_sync_get_ldap_attribute,
-       _e_cal_backend_sync_get_static_capabilities,
-       _e_cal_backend_sync_get_alarm_email_address): call the correct
-       e_cal_backend_sync_* functions, typo pointed out by Siva.
-
-2003-12-15  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/file/e-cal-backend-file.c
-       (e_cal_backend_file_get_static_capabilities): g_strdup the
-       'capabilities' argument, since it is expected to be freed in
-       e-cal-backend-sync.c.
-
-       * backends/http/e-cal-backend-http.c
-       (e_cal_backend_http_get_static_capabilities): ditto.
-
-2003-12-14  JP Rosevear <jpr@ximian.com>       
-
-       * libecal/e-cal-component.c (set_datetime): don't remove and then
-       free the param, lest we double free it
-
-       Fixes #51633
-
-2003-12-14  JP Rosevear <jpr@ximian.com>
-
-       * libedata-cal/e-data-cal.c (e_data_cal_notify_free_busy): call
-       the correct notification method
-
-2003-12-13  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/Makefile.am: set the correct G_LOG_DOMAIN.
-
-2003-12-12  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-message.c (e_gw_message_new_with_header):
-       added SOAPAction header to the request.
-
-2003-12-12  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-message.c (e_gw_message_write_footer): write
-       the request's content here.
-       (e_gw_message_new_with_header): add the Content-Type header.
-
-       * backends/groupwise/e-gw-connection.c (e_gw_connection_send_message):
-       no need to write the request here, it's written in
-       e_gw_message_write_footer().
-
-2003-12-12  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-message.c (setup_debug): fixed typo.
-
-       * backends/groupwise/Makefile.am: use $DEBUG_CFLAGS.
-
-2003-12-12  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-message.c (setup_debug, print_header,
-       debug_handler): new functions for adding debugging of the SOAP messages.
-       (e_gw_message_new_with_header): if G_ENABLE_DEBUG is defined, setup
-       debugging for the message. Also, use POST to send the messages.
-
-       * doc/gw-soap-methods.xsd:
-       * doc/gw-soap-types.xsd: added new versions of SOAP interfaces.
-
-2003-12-11  Rodrigo Moya <rodrigo@ximian.com>
-
-       Fixes #52013
-
-       * backends/file/e-cal-backend-file.c (create_user_free_busy): pass
-       the TIME arguments correctly.
-
-2003-12-10  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c: use a SoupSession per
-       EGwConnection, not one for all.
-       (e_gw_connection_dispose): unref the SoupSession here.
-       (e_gw_connection_init): create the SoupSession here.
-       (e_gw_connection_send_message): use the private SoupSession.
-
-2003-12-10  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/soap-test.c: added support for specifying a
-       password in the command line.
-
-       * backends/groupwise/e-gw-connection.c (e_gw_connection_new): dont
-       unref the response when we havent got one.
-
-2003-12-10  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c (e_gw_connection_finalize):
-       only try to remove the connection from the hash table if the hash
-       table has been created.
-
-2003-12-10  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/soap-test.c: new test program to test the
-       SOAP interface to the GW server.
-
-       * backends/groupwise/Makefile.am: compile new test program.
-
-2003-12-10  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.c (e_cal_get_default_object): don't preload the
-       timezones into the cache, its problematic because we don't want to
-       have multiple operations at the same time and we don't do this for
-       views for instance
-       (e_cal_get_object): ditto
-
-       Fixes #51225
-       
-2003-12-09  JP Rosevear  <jpr@ximian.com>
-
-       * libecal/e-cal-listener.c (impl_notifyStaticCapabilities):
-       actually emit the capabilities string
-
-       Fixes #51747
-       
-2003-12-09  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.[ch]: made the connections be
-       shared.
-       (e_gw_connection_new): get the uri, username and password here, and
-       before trying to login again to the server, see if we have already
-       the same connection request in the loaded connections hash table.
-       (e_gw_connection_login): removed.
-       (e_gw_connection_logout): just unref the connection, the logout code
-       moved to...
-       (logout): ...here.
-       (e_gw_connection_dispose): free new members.
-       (e_gw_connection_finalize): remove the connection from the hash table,
-       and destroy the hash table when there are no more connections on it.
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_open): use the new EGwConnection interface.
-
-2003-12-08  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-cal-backend-cache.h: the class structure derives
-       from EFileCacheClass, not EFileCache.
-
-       * libedata-cal/e-cal-backend-cache.c (get_filename_from_uri): iterate
-       correctly over the characters in the URI.
-
-2003-12-08  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-cal-backend-cache.[ch]: use EFileCache instead
-       of ECache.
-
-2003-12-08  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c (convert_uri):
-       new function to convert "groupwise://" URIs to "http://".
-       (e_cal_backend_groupwise_open): call the above function to
-       get a GnomeVFSURI, and use it as a temporary hack to get
-       username and password.
-
-2003-12-07  JP Rosevear  <jpr@ximian.com>
-
-       * libedata-cal/e-data-cal-factory.c: version the oafiid
-
-       * libecal/e-cal.c (get_factories): update the repo id
-       
-2003-12-07  JP Rosevear  <jpr@ximian.com>
-
-       * libecal/e-cal.c (get_factories): use the versioned repo id
-
-2003-12-04  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/create-account.c (add_account): add the username
-       in the source URI, and use e_source_list_sync, to give it time to
-       sync the GConf changes.
-
-2003-12-04  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/create-account.c: changed to use a main loop,
-       or saving to GConf seems not to work ??
-
-2003-12-04  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/create-account.c (add_account): add the source
-       to the group.
-
-2003-12-04  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/create-account.c: make it use a username also.
-
-2003-12-04  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/create-account.c: added simple program to
-       add accounts to the calendar sources until we a GUI to configure
-       them.
-
-       * backends/groupwise/Makefile.am: added noinst program.
-
-2003-12-03  Christian Kellnerc <gicmo@xatom.net>
-
-         * libedata-cal/e-cal-backend-sexp.c: added has-recurrences sexp
-        function
-
-2003-12-03  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-cal-backend-groupwise.c: use a cache
-       to keep the objects from the server.
-       (e_cal_backend_groupwise_finalize): unref the cache object.
-       (e_cal_backend_groupwise_open): load/create the local cache.
-       (e_cal_backend_groupwise_get_object): look for the object in
-       the cache.
-       (e_cal_backend_groupwise_class_init): fixed warning.
-
-2003-12-01  William Jon McCann  <mccann@jhu.edu>
-        * libecal/e-cal.c (e_cal_generate_instances): Fix query and
-        get object list as components.
-2003-12-01  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-cal-backend-cache.[ch]: changed to be based on the
-       new ECache class.
-       (get_filename_from_uri): new function to get a unique filename for a
-       calendar/tasks URI.
-       (e_cal_backend_cache_set_property): get the filename for the given URI
-       and set the "filename" property on the cache, which will load/create
-       the cache file.
-       (e_cal_backend_cache_finalize): dont free removed fields.
-       (e_cal_backend_cache_get_component, e_cal_backend_cache_add_component,
-       e_cal_backend_cache_replace_component, e_cal_backend_cache_remove_component):
-       new functions.
-
-       * backends/groupwise/e-gw-connection.c (e_gw_connection_login): retrieve
-       the session from the response, not the username.
-
-2003-11-28  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.c (parse_response_status): new
-       function to parse the "status" field returned in the SOAP response.
-       (e_gw_connection_login, e_gw_connection_logout): call above function
-       to get the status, and return that to the caller.
-       
-       * backends/groupwise/TODO: updated with more tasks.
-
-2003-11-27  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedata-cal/e-cal-backend-cache.[ch]: new class implementing a
-       cache of calendar/tasks objects.
-
-       * libedata-cal/Makefile.am: added new files.
-
-2003-11-26  Hans Petter Jansson  <hpj@ximian.com>
-
-       * idl/Evolution-DataServer-Calendar.idl (getCal): Take source XML
-       instead of URI.
-
-       * libecal/client-test.c (create_client): Adapt to API changes.
-       (main): Ditto.
-
-       * libecal/e-cal.c (fetch_corba_cal): Move to ESource.
-       (e_cal_new): Take ESource.
-       (e_cal_new_from_uri): Implement convenience call that takes URI.
-
-       * libedata-cal/e-cal-backend.c (e_cal_backend_set_property):
-       Implement PROP_SOURCE.
-       (e_cal_backend_get_property): Same.
-       (e_cal_backend_class_init): Same.
-       (e_cal_backend_get_source): Same.
-
-       * libedata-cal/e-data-cal-factory.c (impl_CalFactory_getCal): Take
-       source XML and construct an ESource. Init backend with that.
-
-2003-11-25  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-message.[ch]: new files to contain utility
-       functions for easily creating SOAP messages.
-
-       * backends/groupwise/e-gw-connection.[ch] (e_gw_connection_logout):
-       new function.
-       (e_gw_connection_finalize): if we're already connected, call
-       e_gw_connection_logout().
-       (e_gw_connection_login): implement response parsing.
-       (e_gw_connection_send_message): new function.
-
-       * backends/groupwise/e-cal-backend-groupwise.c
-       (e_cal_backend_groupwise_is_loaded): implemented.
-
-       * backends/groupwise/Makefile.am: added new files.
-
-2003-11-20  Harry Lu  <harry.lu@sun.com>
-
-       * backends/file/e-cal-backend-file.c:
-       (e_cal_backend_file_internal_get_default_timezone): move to the front
-       to avoid a compile warning.
-       (e_cal_backend_file_internal_get_timezone): ditto.
-       (sanitize_component): new function. If the component's timezone is not
-       included in buildin timezone list, convert it to local default timezone.
-       (e_cal_backend_file_create_object): call sanitize_component.
-       (e_cal_backend_file_modify_object): ditto.
-       (e_cal_backend_file_receive_objects): ditto.
-
-2003-11-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/e-gw-connection.h: fixed typo.
-
-       * backends/groupwise/e-gw-connection.c: base it on GObject, not
-       SoupConnection.
-       (e_gw_connection_login): new functions.
-       (e_gw_connection_init): create the SoupSession here if it's not
-       created, or ref it if it's already created.
-       (e_gw_connection_finalize): unref the SoupSession here.
-       (session_weak_ref_cb): callback to detect when the SoupSession dies.
-
-       * backends/groupwise/e-cal-backend-groupwise.c: make it use
-       EGwConnection's.
-       (e_cal_backend_groupwise_finalize): unref the EGwConnection.
-       (e_cal_backend_groupwise_open): create the EGwConnection here.
-
-2003-11-17  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/groupwise/gw-connection.[ch]: new class for managing
-       connections to Groupwise servers.
-
-       * backends/groupwise/Makefile.am: added new files and needed
-       CFLAGS and LIBS.
-
-2003-11-17  Dan Winship  <danw@ximian.com>
-
-       * libecal/e-cal-util.c (e_cal_util_new_component): New
-       icalcomponent-based replacement for
-       e_cal_component_new/e_cal_component_set_vtype.
-
-       * libedata-cal/e-data-cal.c: fix up some broken indentation
-       (e_data_cal_notify_default_object, e_data_cal_notify_object):
-       constify the object arg
-
-2003-11-14  Rodrigo Moya <rodrigo@ximian.com>
-
-       * backends/Makefile.am: added groupwise backend directory to build.
-
-       * backends/groupwise/Makefile.am:
-       * backends/groupwise/e-cal-backend-groupwise.[ch]: Groupwise backend
-       skeleton.
-
-2003-11-11  ChangeLog <jpr@ximian.com>
-
-       * libecal/e-cal.c (e_cal_class_init): emit the status
-
-       * libecal/e-cal.h: remove open status enums, use calendar status
-       instead
-
-       * libecal/client-test.c (create_client): just directly open the
-       calendar, no need to be async
-
-2003-11-11  Dan Winship  <danw@ximian.com>
-
-       * libedata-cal/e-cal-backend-sexp.c: Make the time-related sexp
-       function handlers (eg, time-now, make-time, etc) be non-static, so
-       they can be reused by backend-specific calendar sexp parsers.
-
-2003-11-10  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.h: remove dead enums
-
-2003-11-10  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.h: mark struct as private
-
-       * libecal/e-cal.c: fix documentation headers
-
-       * libecal/e-cal-view.h: fix cast macros and typedef the structs
-       separately
-
-       * libecal/e-cal-view.c: use correct type check macro, fix some
-       documentation headers
-
-       * libecal/e-cal-view-listener.h: typedef the structs separately
-       and tidy up class macros
-
-       * libecal/e-cal-util.c: fix a documentation header
-
-       * libecal/e-cal-listener.h: mark parts of the struct as private
-
-       * libecal/e-cal-listener.c: fix a few documentation headers
-
-       * libecal/e-cal-component.h: remove extraneous comma and mark
-       parts of struct as private
-
-       * libecal/e-cal-component.c: fix a couple of documentation headers
-
-2003-11-10  Dan Winship  <danw@ximian.com>
-
-       * libedata-cal/e-cal-backend-sexp.c: Remove get-vtype from the
-       query language, since it is redundant now.
-       (func_has_alarms): Remove the boolean arg from has-alarms. You can
-       just say (not (has-alarms?)).
-
-2003-11-10  JP Rosevear <jpr@ximian.com>
-
-       * libecal/e-cal.h: add proto
-
-       * libecal/e-cal.c (e_cal_free_change_list): this belongs here
-
-       * libecal/e-cal-types.h: remove proto
-
-       * libecal/Makefile.am: don't build dead file
-
-2003-11-07  Dan Winship  <danw@ximian.com>
-
-       * libecal/Makefile.am (libecal_la_LDFLAGS): Remove -no-undefined
-
-       * libedata-cal/Makefile.am (libedata_cal_la_LDFLAGS): Likewise
-
-2003-11-06    <jpr@ximian.com>
-
-       * libecal/e-cal-view-listener.h: match the signals better
-
-       * libecal/e-cal-view-listener.c (e_cal_view_listener_class_init):
-       ditto
-       
-2003-11-06  JP Rosevear  <jpr@ximian.com>
-
-       * libecal/e-cal.c: replace e_mutex stuff with gthread stuff
-
-2003-11-06  JP Rosevear <jpr@ximian.com>
-
-       * Makefile.am: build new subdirs
-
-       * backends/*: build the http and file backends here
-
-       * libedata-cal/Makefile.am: no longer build them here   
-       
-2003-11-05  JP Rosevear  <jpr@ximian.com>
-
-       * rename libedatacal to libedata-cal
-
-2003-11-05  JP Rosvear <jpr@ximian.com>
-
-       * libecal/Makefile.am: use privincludedir
-
-       * libedatacal/Makefile.am: ditto
-
-       * libecal/libecal-1.0.pc.in: ditto
-
-       * libedatacal/libedatacal-1.0.pc.in: use privincludedir; remove
-       gal
-
-2003-11-05  JP Rosevear <jpr@ximian.com>
-
-       * libecal/Makefile.am: LIBADD all the relevant libical libs
-
-       * libecal/libecal-1.0.pc.in: no need to explicitly link
-       libical-evolution
-
-       * libedatacal/libedatacal-1.0.pc.in: ditto; fix include dir
-       
-2003-11-05  Rodrigo Moya <rodrigo@ximian.com>
-
-       * libedatacal/e-cal-backend-sexp.c: removed GAL dependency.
-
-2003-11-04  JP Rosevear <jpr@ximian.com>
-
-       * libedatacal/e-data-cal-factory.c: use properly name spaced
-       default id
-
-2003-11-04  JP Rosevear <jpr@ximian.com>
-
-       * libecal/libecal-1.0.pc.in (prefix): include priv dir stuff for
-       libical
-
-       * libedatacal/libedatacal-1.0.pc.in (prefix): ditto
-       
-       * libecal/e-cal-component.[hc]: properly name space alarm action
-       enum
-
-       * libecal/e-cal-types.h: properly name space change types       
-       
-2003-11-04  JP Rosevear <jpr@ximian.com>
-
-       * libedatacal/e-data-cal-factory.c: remove corba header include
-
-       * libedatacal/e-cal-backend-sync.h: include corba header properly
-       
-       * libedatacal/e-data-cal.h: ditto
-
-       * libedatacal/e-data-cal-view.h: ditto
-
-       * libedatacal/e-data-cal-factory.h: ditto
-
-       * libedatacal/e-cal-backend.h: ditto
-
-       * libedatacal/Makefile.am: reflect idl name change
-
-       * libecal/e-cal-listener.h: include corba header properly
-
-       * libecal/e-cal-view.h: ditto
-
-       * libecal/e-cal-view-listener.h: ditto
-
-       * libecal/Makefile.am: reflect idl name change
-
-       * idl/Makefile.am: rename the idl to Evolution-DataServer-Calendar.idl
-
-2003-11-03  Hans Petter Jansson  <hpj@ximian.com>
-
-       * calendar/libedatacal/e-cal-backend-file.c (free_calendar_components)
-       (free_calendar_data): Implement.
-       (e_cal_backend_file_dispose): Use above freers.
-       (get_uri_string_for_gnome_vfs): Implement.
-       (open_cal): Set priv->uri to be escaped, GnomeVFS-friendly.
-       (notify_removals_cb)
-       (notify_adds_modifies_cb)
-       (notify_changes)
-       (reload_cal): Implement.
-       (create_cal): Set priv->uri to be escaped, GnomeVFS-friendly.
-       (get_uri_string): Implement - unescapes once.
-       (e_cal_backend_file_compute_changes): Unescape DB URI once, don't make
-       like it's in a subdirectory.
-       (e_cal_backend_file_reload): Implement.
-
-       * calendar/libedatacal/e-cal-backend-http.c
-       (e_cal_backend_http_finalize): Cancel potential retrieval and free
-       slave backend.
-       (e_cal_backend_http_is_read_only): Clean up.
-       (webcal_to_http_method)
-       (uri_to_cache_dir)
-       (ensure_cache_dir)
-       (retrieval_done)
-       (retrieval_progress_cb)
-       (begin_retrieval_cb): Implement.
-       (e_cal_backend_http_open): Set up slave backend.
-       (e_cal_backend_http_remove)
-       (e_cal_backend_http_is_loaded)
-       (e_cal_backend_http_get_default_object)
-       (e_cal_backend_http_get_object)
-       (e_cal_backend_http_get_timezone)
-       (e_cal_backend_http_add_timezone)
-       (e_cal_backend_http_set_default_timezone)
-       (e_cal_backend_http_get_object_list)
-       (e_cal_backend_http_get_free_busy)
-       (e_cal_backend_http_get_changes)
-       (e_cal_backend_http_discard_alarm)
-       (e_cal_backend_http_modify_object)
-       (e_cal_backend_http_remove_object)
-       (e_cal_backend_http_receive_objects)
-       (e_cal_backend_http_send_objects)
-       (e_cal_backend_http_internal_get_default_timezone)
-       (e_cal_backend_http_internal_get_timezone): Implement with fallthrough
-       to slave backend.
-       (e_cal_backend_http_init): Remove cruft.
-
-       * calendar/libedatacal/e-cal-backend-sync.c
-       (e_cal_backend_sync_open): Use per-instance mutex.
-       (e_cal_backend_sync_init): Set up per-instance mutex.
-       (e_cal_backend_sync_dispose): Free per-instance mutex.
-
-       * calendar/libedatacal/e-cal-backend.c
-       (e_cal_backend_set_notification_proxy): Implement.
-       (e_cal_backend_notify_object_created)
-       (e_cal_backend_notify_object_modified)
-       (e_cal_backend_notify_object_removed)
-       (e_cal_backend_notify_mode)
-       (e_cal_backend_notify_error): Use notification proxy if set.
diff --git a/camel/ChangeLog b/camel/ChangeLog
deleted file mode 100644 (file)
index fcc2e5c..0000000
+++ /dev/null
@@ -1,10217 +0,0 @@
-2009-05-07  Sergio Villar Senin  <svillar@igalia.com>
-
-       ** Fix for bug #580620
-
-       * camel.c (camel_init, camel_shutdown): protect calls to NSS_Init
-       and NSS_Shutdown to avoid simultaneous calls from multiple
-       threads. Do not unconditionally cleanup NSS if it was externally
-       initialized.
-
-2009-05-06  Jeff Cai <jeff.cai@sun.com>
-
-       ** Fix for bug #581420
-
-       * camel-net-utils.c: (cs_getaddrinfo): 
-       On Solaris, the service name 'http' or 'https' is not defined. Use
-       the port as the service name directly.
-
-2009-04-27  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #478239
-
-       * camel-mime-message.h: (camel_mime_message_has_attachment):
-       * camel-mime-message.c: (camel_mime_message_has_attachment),
-       (find_attachment): New helper function to check whether
-       message contains any 'attachment' part.
-
-2009-04-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #563954
-
-       * camel-folder.h: (camel_folder_cmp_uids), (struct CamelFolder):
-       * camel-folder.c: (cmp_uids), (camel_folder_class_init),
-       (camel_folder_cmp_uids), (cmp_array_uids), (sort_uids):
-       Define camel_folder_cmp_uids to compare UIDs properly.
-       * camel-folder-summary.h: (camel_folder_summary_ensure_infos_loaded):
-       * camel-folder-summary.c: (camel_folder_summary_ensure_infos_loaded):
-       Define new function.
-
-       * camel-db.h: (camel_db_get_folder_uids),
-       (camel_db_get_folder_uids_flags):
-       * camel-db.c: (camel_db_get_folder_uids),
-       (camel_db_get_folder_uids_flags):
-       * camel-folder-summary.c: (camel_folder_summary_load_from_db):
-       Functions prototype cleanup.
-
-2009-04-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #571206
-
-       * camel-vee-folder.c: (camel_vee_folder_add_folder), (vee_sync):
-       * camel-vee-summary.c: (camel_vee_summary_load_check_unread_vfolder),
-       (vee_info_set_flags):
-       * camel-folder-summary.c: (camel_folder_summary_class_init):
-       Various compiler warning cleanup.
-
-       * camel-folder-summary.h: (camel_folder_summary_reload_from_db):
-       Function prototype double-declared.
-
-2009-04-24  Sergio Villar Senin  <svillar@igalia.com>
-
-       ** Fix for bug #578822 - fixed potential invalid dereference
-       
-       * camel-mime-parser.c (folder_scan_header): fixed a potential
-       invalid dereference
-
-2009-04-22  Sergio Villar Senin  <svillar@igalia.com>
-       
-       ** Fix for bug #578817 - fixed potential invalid dereference
-       
-       * camel-store.c (camel_store_rename_folder):  added a condition
-       that avoids a potential invalid dereference of folders structure
-
-2009-04-15  Sergio Villar Senin  <svillar@igalia.com>
-
-       ** Fix for bug #578821 - fixed potential invalid dereference
-       
-       * camel-vee-folder.c (subfolder_renamed_update): added a condition
-       that avoids a potential invalid dereference of vinfo structure
-
-2009-04-15  Sergio Villar Senin  <svillar@igalia.com>
-
-       ** Fix for bug #578823 – invalid condition
-       
-       * camel-disco-diary.c (camel_disco_diary_log): fixed a wrong
-       condition
-
-2009-04-13  Johnny Jacob  <jjohnny@novell.com>
-
-       ** Committing for Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fixes 556116 – unmatched search folder missing in 2.24
-
-       * camel-vee-store.c (construct): Adds back Unmatched vfolder support.
-
-2009-04-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #575084
-
-       * camel-db.c: (camel_sqlite3_file_xCheckReservedLock),
-       (camel_sqlite3_vfs_xOpen): Check for actual SQLite3 version in runtime
-       to call xCheckReservedLock with correct number parameters as expected
-       by the actual SQLite3 version it is running, not was compiled.
-
-2009-03-31  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #564465
-
-       * camel-smime-context.c: (sm_decrypt):
-       Pass correct body for signature verification.
-
-2009-03-27  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #569700
-
-       * camel-http-stream.c: (stream_read):
-       Disconnect properly on a failure.
-
-2009-03-12  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-db.c:
-       Rework the SQLite fsync() workaround to use a simpler thread
-       design and fix a thread leak that caused Evolution to effectively
-       stop working after several hours.
-
-2009-03-12  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-sasl-ntlm.c (ntlm_challenge):
-       CVE-2009-0852: Add stricter checking of NTLM authentication
-       challenges, and extract the domain length value properly.
-
-2009-03-04  Tobias Mueller  <tobiasmue@svn.gnome.org>
-
-       * camel/camel-db.c (write_mir):
-       Cast a time_t to a long long and change SQL statement accordingly to 
-       support systems with a 64bit width time_t.
-       ** Fixes bug 572179  (Patch by Matthias Drochner)
-
-2009-03-04  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Re-fixes bug #564465  (Patch by Milan Crha)
-
-       * camel-smime-context.c (sm_verify_cmsg):
-       Accept signed messages that don't list the digest algorithms.
-
-2009-03-04  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #573198
-
-       * camel-folder-summary.c: (summary_build_content_info),
-       (summary_build_content_info_message): Tag messages with "$has_cal"
-       also when content-type is set to text/calendar.
-
-2009-03-02  Matt McCutchen  <matt@mattmccutchen.net>
-
-       * evolution-data-server/camel/camel-mime-filter-tohtml.c:
-       (append_string_verbatim), (html_convert): Entity-encode the text and
-       target URL of links when formatting plain text mail to HTML for display.
-       ** Part of fix for bug 549838
-
-2009-02-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #564465
-
-       * camel-smime-context.c (sm_verify_cmsg):
-       Recompute digests from the signed message content before verifying
-       the S/MIME signature.  Lets us to detect corrupted or altered data.
-       Patch by Nalin Dahyabhai.
-
-2009-02-26  Milan Crha  <mcrha@redhat.com>
-
-       * camel-smime-context.c: (nss_error_to_string):
-       Check also value of the NSS_VPATCH.
-
-2009-02-25  Milan Crha  <mcrha@redhat.com>
-
-       * camel-smime-context.c: (nss_error_to_string):
-       Do compile recent error codes conditionally, and hide even more.
-
-2009-02-25  Milan Crha  <mcrha@redhat.com>
-
-       * camel-smime-context.c: (nss_error_to_string):
-       Comment too recent error codes.
-
-2009-02-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #273233
-
-       * camel-smime-context.c: (nss_error_to_string), (set_nss_error):
-       Show to user also reason why the operation failed.
-
-2009-02-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #571046
-
-       * camel-gpg-context.c: (gpg_verify):
-       Always strip trailing white-spaces added during message transmission,
-       before verifying message signature.
-
-2009-02-19  Sankar P  <psankar@novell.com>
-
-       ** Fix for bug bnc #477535
-
-       * camel/camel-folder-summary.c:
-       Randomly mail status changes were not getting stored in server.
-       Fixed the issue by unsetting correct flags.
-
-2009-02-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #571726
-
-       * camel-filter-search.c (run_command):
-       Fix a translatable string typo.  Does not break string freeze.
-
-2009-02-09  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #266147
-
-       * camel-gpg-context.c: (gpg_ctx_parse_status):
-       Verify signature of the encrypted text, if any.
-
-2009-02-02  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-db.c: (camel_db_migrate_folder_prepare), (cdb_delete_ids):
-       Handle the error message of 'dirty' column
-
-2009-02-02  Matt McCutchen 2  <matt@mattmccutchen.net>
-
-       ** Fix for bug #569405
-
-       * camel-search-sql-sexp.c (check_header): Ensure that the header is 
-       not NULL.
-
-2009-01-31  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #569874
-
-       * camel-vee-summary.c: (vee_info_set_flags): Fix the typo.
-
-2009-01-31  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #569874
-
-       * camel-vee-summary.c: (vee_info_set_flags): Fix the typo.
-
-2009-01-30  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #569742
-
-       * camel-db.c: (call_old_file_Sync), (camel_sqlite3_file_ xx),
-       (camel_sqlite3_file_xClose), (camel_sqlite3_vfs_xOpen),
-       (init_sqlite_vfs): Do not crash when open of the file failed.
-       Also be thread safe with respect of filling global variables.
-
-2009-01-30  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-folder-summary.c: (camel_folder_summary_update_flag_cache):
-       Fix compiler warning
-
-2009-01-30  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-folder.c: (vf_getv): Fix some implicit warnings
-       * camel-vee-summary.c:
-       (camel_vee_summary_load_check_unread_vfolder):
-       * camel-vee-summary.h:
-
-2009-01-30  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-folder.c: (vee_sync), (vf_getv): Removed unused stuff from
-       db.
-
-2009-01-30  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #557348
-
-       * camel-folder-summary.c: (camel_folder_summary_add),
-       (camel_folder_summary_insert),
-       (camel_folder_summary_update_flag_cache):
-       * camel-folder-summary.h:
-
-2009-01-30  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-folder.c: (vf_getv): Some more fix for counting.
-
-2009-01-30  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-private.h: Added a priv variable to vfolder.
-       * camel-vee-folder.c: (vf_getv), (camel_vee_folder_init):
-       * camel-vee-summary.c: Make unread vfolder counts better.
-       (camel_vee_summary_load_check_unread_vfolder),
-       (vee_info_set_flags):
-
-2009-01-29  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #568332
-
-       * camel-db.c: New camel_sqlite3_vfs and CamelSqlite3File subclasses,
-       doing fsync not so often as the original Sqlite3 vfs does.
-
-2009-01-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-db.c: (camel_db_delete_uids): Dont empty null uids.
-
-2009-01-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #568561
-
-       * camel-folder-summary.c: (camel_folder_summary_reload_from_db),
-       (camel_folder_summary_class_init):
-       * camel-vee-folder.c: (camel_vee_folder_add_folder),
-       (camel_vee_folder_remove_folder), (vee_sync),
-       (camel_vee_folder_init), (vee_folder_stop_folder),
-       (camel_vee_folder_finalise):
-
-2009-01-28  Sankar P  <psankar@novell.com>
-
-       ** Part of Fix for bug bnc #390198
-
-       * camel/camel-folder-summary.c:
-       Free the exception object which was leaking.
-
-2009-01-27  Simon Brys  <sbrys@novell.com>
-
-       ** Fix for bug #464878 (BNC)
-
-       * camel-http-stream.c (stream_read),
-       (camel_http_stream_get_content_type): http_get_statuscode () should 
-       get us the status code and handle redirects better.
-
-       Bug Report:
-       When an HTML attachment contains an image tag with a source that 
-       returns a "HTTP/302 Moved Temporarily", that image is not displayed
-
-2009-01-27  Simon Brys  <sbrys@novell.com>
-
-       ** Fix for bug #467075 (BNC)
-
-       * camel-url-scanner.c (camel_url_web_end): Exclude the closing bracket
-       while searching for links.
-
-       Bug Report:
-
-       Incorrect url is displayed in Evolution plain text mails when the url is
-       surrounded by brackets
-
-       Steps to duplicate:
-       - In Evolution, send yourself a plain text mail with something like this 
-       as the mail contents:
-
-       Please read the doc (see http://a.b.c/d)
-       
-       - When displaying the mail, Evolution detects the url, but it includes 
-       the closing bracket. So clicking the url does not open the correct link.
-
-2009-01-19  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #204891
-
-       * camel-session.h: (camel_session_forward_to):
-       * camel-session.c: (camel_session_init), (session_forward_to),
-       (camel_session_forward_to):
-       * camel-filter-driver.c: (do_forward_to):
-       Be able to forward messages in a filter, passing it to a session.
-
-2009-01-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-folder-summary.c: (info_set_flags): Fix a compiler warning
-
-2009-01-13  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Speed up total-count info, by counting indexed
-       read.
-
-2009-01-12  Philip Van Hoof  <philip@codeminded.be>
-
-       * camel-db.c: Allowing the developer to add migration code for in
-       case the schema of Camel's summary SQLite data format changes.
-
-       Also adds two columns, modified and created, to the summary data being
-       stored and renames the column msg_security to dirty as requested by
-       Srinivasa Ragavan and Sankar P.
-
-2009-01-12  Matt McCutchen 2  <matt@mattmccutchen.net>
-
-       ** Fix for bug #564954
-
-       * camel-search-sql-sexp.c (match_all), (camel_sexp_to_sql_sexp):
-       Fix SQL-ization of booleans and immediate-function confusion.
-
-2009-01-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-db.c: (camel_db_open), (camel_db_begin_transaction),
-       (camel_db_end_transaction), (camel_db_transaction_command),
-       (write_mir): DB Logging and DB Optimizations
-
-2009-01-12  Robert Collins  <robertc@robertcollins.net>
-
-       ** Fix for bug #564339
-
-       * camel-folder.c (camel_folder_class_init),
-       (camel_folder_sync_message), (camel_folder_free_uids),
-       (get_uncached_uids), (camel_folder_get_uncached_uids):
-       * camel-folder.h:
-       * camel-offline-folder.c (offline_folder_downsync):
-       Reduce the IO done during sync by not reading into memory 
-       locally cached files.
-
-2009-01-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-summary.c: (vee_info_set_flags): Fix for better vfolder
-       count
-
-2009-01-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-folder.c: (summary_header_to_db): Sync using counting
-       manually than the old approach
-
-2009-01-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-folder-summary.c: (info_set_flags): Fix for better vfolder
-       flag syncing.
-
-2009-01-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #557348 from  Matt McCutchen
-       * camel-vee-folder.c: (vee_sync), (expression_is_correlating),
-       (vee_folder_remove_folder), (folder_added_uid),
-       (vee_rebuild_folder), (folder_changed_add_uid),
-       (folder_changed_remove_uid), (folder_changed_change_uid),
-       (folder_changed_change): Re-did bits of threaded vfolder
-
-2009-01-11  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #567384
-
-       * camel-folder.c (camel_folder_get_message):
-       Remove unused variables.
-
-       * camel-vee-folder.c (summary_reloaded):
-       Comment out variables that are used by commented out code to
-       silence compiler warnings.
-
-2009-01-08  Philip Van Hoof  <philip@codeminded.be>
-
-       * providers/nntp/camel-nntp-folder.c
-       * providers/pop3/camel-pop3-folder.c
-       * providers/groupwise/camel-groupwise-folder.c
-       * providers/imap/camel-imap-folder.c
-       * providers/imap/camel-imap-message-cache.c
-       * providers/imap/camel-imap-message-cache.h
-       * providers/imap4/camel-imap4-folder.c
-       * providers/local/camel-mbox-folder.c
-       * providers/local/camel-maildir-folder.c
-       * providers/local/camel-mh-folder.c
-       * camel-folder.c
-       * camel-folder.h
-       * camel-data-cache.c
-       * camel-data-cache.h:
-
-       Bugfix for Bug #566279. Introduces a new API in Camel needed for
-       implementing EPlugin of Bug #565091
-
-2009-01-08  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #565376
-
-       * camel-folder-search.h: (struct _CamelFolderSearchClass):
-       * camel-folder-search.c: Support more search options.
-
-2009-01-05  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel/camel-folder-summary.c: (message_info_load): Change to
-       guint to guint32 to fix a crash in 64 bit.
-
-       committing the patch from Michael Meeks <mmeeks@novell.com>
-
-2008-12-22  Sankar P  <psankar@novell.com>
-
-       ** Part of Fix for bug #559153
-
-       * camel/camel-db.c:
-       * camel/camel-db.h:
-       * camel/camel-folder-summary.c:
-       * camel/camel-store.c:
-       * camel/camel-store.h:
-       * camel/providers/local/camel-local-folder.c:
-       Migration improvements
-
-2008-12-15  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-folder-summary.c:
-       #include "camel-debug.h"
-
-2008-12-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-folder.c: (get_uids): Fix some stupidity.
-
-2008-12-15  Srinivasa Ragavan  <sragavan@novell.com>
-       
-       ** Fix for bug #558926 and #546637
-
-       * camel/camel-vee-folder.c:
-       * camel/camel-vee-summary.c:
-       * camel/camel-vtrash-folder.c:
-
-2008-12-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Major changes for better vfolders.
-
-       * camel-db.c: (camel_db_open),
-       (camel_db_delete_uid_from_vfolder_transaction),
-       (read_uids_flags_callback), (camel_db_get_folder_uids_flags):
-       * camel-db.h:
-       * camel-folder-summary.c: (camel_folder_summary_init),
-       (camel_folder_summary_finalize), (remove_cache),
-       (camel_folder_summary_get_flag_cache),
-       (camel_folder_summary_load_from_db),
-       (camel_folder_summary_save_to_db):
-       * camel-folder-summary.h:
-       * camel-private.h:
-
-2008-12-09  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #552986
-
-       * camel-utf8.h: (camel_utf8_make_valid):
-       * camel-utf8.c: (camel_utf8_make_valid): New utility function.
-
-2008-12-08  Jeff Cai <jeff.cai@sun.com>
-
-       * camel-db.c: (camel_db_select):
-       Replace __FUNCTION__ with G_STRFUNC.
-
-2008-11-20  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #558883
-
-       * camel-store-summary.h: (CAMEL_STORE_INFO_FOLDER_CHECK_FOR_NEW):
-       Define new flag.
-
-2008-11-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #558883
-
-       * camel/camel-db.c: Remove the redundant transaction lock.
-
-2008-11-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #531090
-
-       * camel-object.h:
-       * camel-store.h:
-       Deprecate the CamelInterface and CamelIterator APIs since they're
-       unused.  If and when we move Camel to GObject, I don't want to have
-       to provide backward-compatibility support for these things.
-
-2008-11-12  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #524377
-
-       * camel-mime-utils.c: (header_encode_param),
-       (camel_header_param_list_format_append): Encode 'filename' and 'name'
-       parameters based on RFC 2047, instead of the correct RFC 2231, based
-       on the value of 'int camel_header_param_encode_filenames_in_rfc_2047'.
-
-2008-11-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #560076
-
-       * camel/camel-search-sql-sexp.c: Handle followup better.
-
-2008-11-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #557348
-
-       * camel-folder-summary.c (camel_folder_summary_clear):
-       * camel-vee-folder.c (vee_set_expression): Clear summary when we reset
-       query.
-
-2008-11-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Partial fix for bug #546637
-
-       * camel/camel-vee-summary.c: Now unread vfolder should be better.
-
-2008-11-07  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-summary.c: Make unread vfolders to work for match threads.
-
-2008-11-07  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #558883
-
-       * camel-db.c: (camel_db_prepare_message_info_table): Index more
-       fields.
-
-2008-11-06  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #555979
-
-       * camel-store.c: (ignore_no_such_table_exception): New helper function.
-       * camel-store.c: (store_sync): Ignore 'no such table' exceptions.
-
-2008-10-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #558727 (patch by Frederic van Starbmann)
-
-       * camel-vtrash-folder.c (vtrash_append_message),
-       (vtrash_transfer_messages_to):
-       Fix some potential string format crashes.
-
-2008-10-31  Sankar P  <psankar@novell.com>
-
-       ** Fix for bnc bugs #440502, #209514, #434958, #434946, 
-       #435725, #434950, #372382, #435727
-
-       * camel-folder-summary.c (camel_folder_summary_clear_db):
-       GroupWise improvements
-
-2008-10-23  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-folder-summary.c: Remove more console spew.
-
-2008-10-16  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Remove console spew.
-       * camel/camel-folder-search.c:
-       * camel/camel-store.c:
-       * camel/camel-vee-folder.c:
-       * camel/camel-vee-summary.c:
-
-2008-10-16  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #556495
-
-       * camel/camel-db.c:
-       * camel/camel-db.h:
-       * camel/camel-vee-folder.c: When things don't match, remove them from
-       db and force a count.
-
-2008-10-16  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-folder-summary.c (camel_folder_summary_get_hashtable),
-       (camel_folder_summary_free_hashtable): Add new functions to get hash
-       table of summary.
-       * camel-folder-summary.h:
-       * camel-folder.c (folder_getv): Fix negative/overflow of unread/counts
-       * camel-vee-summary.c: Fix warning
-       * camel-vtrash-folder.c (vtrash_getv): Fix junk/trash counts.
-
-2008-10-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #556372
-
-       * camel/camel-folder-summary.c: Update counts to summary on sync.
-
-2008-10-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-folder-summary.c: (perform_content_info_load_from_db),
-       (perform_content_info_save_to_db): Save/load Content info well in DB.
-       Imap cached messages aren't coming up due to this.
-
-2008-10-14  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #546637
-
-       * camel/camel-vee-folder.c:
-       * camel/camel-vee-folder.h:
-       * camel/camel-vee-summary.c: Redo for unread vfolder.
-       * camel/camel-vee-summary.h:
-
-2008-10-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #552261
-
-       * camel-folder-summary.c: Don't expose sqlite3 header outside.
-       * camel-folder-summary.h:
-       * camel-folder.c:
-       * camel-store.c:
-       * camel-store.h:
-       * camel-vee-folder.c:
-       * camel-vee-summary.c:
-       * camel-vtrash-folder.c:
-
-2008-10-14  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #554455
-
-       * camel/camel-folder-search.c: Allow thread based searches by falling
-       back on the old in-memory search model.
-
-2008-10-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fixes lots of bugs and breaks ABI
-
-       * camel/camel-db.c: Added new APIs and support for cloning handles.
-       * camel/camel-db.h:
-       * camel/camel-folder-search.c:
-       * camel/camel-folder-search.h:
-       * camel/camel-folder-summary.c:
-       * camel/camel-folder-summary.h:
-       * camel/camel-folder.c:
-       * camel/camel-folder.h:
-       * camel/camel-search-sql-sexp.c:
-       * camel/camel-store.c: Adds two handles to sqlite
-       * camel/camel-store.h:
-       * camel/camel-vee-folder.c:
-       * camel/camel-vee-summary.c:
-       * camel/camel-vtrash-folder.c:
-       * camel/providers/groupwise/camel-groupwise-folder.c:
-       * camel/providers/imap/camel-imap-folder.c:
-       * camel/providers/imap/camel-imap-store.c:
-       * camel/providers/imap/camel-imap-summary.c:
-       * camel/providers/local/camel-local-folder.c:
-       * camel/providers/local/camel-local-store.c:
-       * camel/providers/local/camel-maildir-summary.c:
-       * camel/providers/local/camel-mbox-summary.c:
-       * camel/providers/local/camel-mh-summary.c:
-       * camel/providers/local/camel-spool-summary.c:
-       * camel/providers/nntp/camel-nntp-folder.c:
-
-2008-09-26  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #550466
-
-       * camel-store.c: (camel_store_delete_folder):
-       Ignore 'no such table' errors.
-
-2008-09-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #553266
-
-       * camel-vee-folder.c: (vee_sync):
-       Do not free memory owned by someone else.
-
-2008-09-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #313225
-
-       * camel-folder-summary.c: (summary_build_content_info): Fix
-       misunderstanding of the parameter in code causing crash in this part.
-
-2008-09-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #313225
-
-       * camel-folder-summary.c: (summary_build_content_info),
-       (summary_build_content_info_message): Check whether message contains
-       headers indicating a calendar attachment and if so, then set the user
-       flag '$has_cal' in the message info.
-
-2008-09-22  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Convert all #warning messages from the disk-summary effort
-          to comments with a greppable FIXME[disk-summary] prefix.
-
-2008-09-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #552729
-
-       * camel/camel-db.c: Adds support for x-camel-mlist & Answered flag to
-       search/vfolders.
-
-2008-09-18  Hiroyuki Ikezoe  <poincare@ikezoe.net>
-
-       ** Fix for bug #552724. 
-
-       * Makefile.am: Remove a while space following trailing backslash.
-
-2008-09-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-folder-summary.c (info_set_flags): Fix for counts on junk
-       * camel-vee-folder.c (update_summary), (folder_changed_change_uid):
-       * camel-vtrash-folder.c (vtrash_getv),
-       (camel_vtrash_folder_class_init):
-
-2008-09-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-db.c (camel_db_count_junk_message_info),
-       (camel_db_count_unread_message_info),
-       (camel_db_count_visible_unread_message_info),
-       (camel_db_count_visible_message_info),
-       (camel_db_count_junk_not_deleted_message_info),
-       (camel_db_count_deleted_message_info), (read_fir_callback):
-       * camel-folder-summary.c (camel_folder_summary_migrate_infos):
-       * camel-search-sql.c (camel_sexp_to_sql):
-       Don't mix declarations and code.
-
-2008-09-12  Andre Klapper  <a9016009@gmx.de>
-
-       * camel-store.c: Fixing typo.
-
-2008-09-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: 
-       * camel/camel-db.h: Make CAMEL_DB_DEBUG as ifdef
-
-2008-09-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Make counts work even better.
-       * camel/camel-vee-summary.c:
-       * camel/camel-vee-summary.h: Do force counts better.
-
-2008-09-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c:
-       * camel/camel-vee-summary.c: Refix vfolder counts.
-
-2008-09-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-folder.c: (folder_changed_change): Fix a deadlock
-
-2008-09-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-folder.c: (folder_changed_change): Another missed lock.
-
-2008-09-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-folder.c: (folder_changed_change): A minor crash fixed.
-
-2008-09-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-folder.c: (folder_changed_change): Missed another deadlock
-       case.
-
-2008-09-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-folder.c: (folder_changed_change): Don't hold one db lock
-       and acquire folder lock. It dead locks
-
-2008-09-10  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Fix vfolders while unloading unmatched
-       search indexes.
-
-2008-09-10  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for BNC bug #418080
-
-       * camel/camel-search-sql-sexp.c: Match contains using %like%.
-
-2008-09-10  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-search.c: Fix a bug when sexp is executed
-       unnecessarily.
-
-2008-09-10  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-search.c: Make it debuggable.
-
-2008-09-10  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Add bdata to index.
-
-2008-09-08  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Fix some compiler warnings
-       * camel/camel-vee-folder.c:
-       * camel/camel-vee-folder.h:
-
-2008-09-08  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-folder.c: (vee_sync): Ignore no such table errors, as we
-       don't create tables for empty folders.
-
-2008-09-08  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #328216
-
-       * camel.c: (camel_shutdown): Do not free default certdb itself,
-       rather set it to NULL to not have freed pointer flying around.
-       * camel-certdb.c: (camel_certdb_save): Save only when changed.
-
-2008-09-05  Paul Bolle  <pebolle@tiscali.nl>
-
-       ** Fix for bug #550412
-
-       * camel-store.c: (camel_store_get_folder) (camel_store_create_folder)
-       (camel_store_get_folder_info): Mention NULL return in documentation.
-       * camel-store.c: (camel_store_free_folder_info): Make sure that a NULL
-       CamelFolderInfo is always gracefully handled. Document that.
-
-2008-09-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-vee-folder.c: (vee_rebuild_folder): Make vfolder counts much
-       better. 
-
-2008-09-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.[ch]: Don't commit deleted folders.
-       * camel/camel-db.c: Make it debuggable through camel-debug
-
-2008-09-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/Makefile.am: Commit missing .h changes to Makefile.am
-
-2008-09-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Make vfolders rebuild only when empty.
-
-2008-09-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for BNC bug #418080
-
-       * camel/camel-folder-search.c: Make thing better, with new sexp/sql
-       parser.
-
-2008-09-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/Makefile.am: 
-       * camel/camel-search-sql-sexp.c: New Sexp based sexp to sql parser.
-       * camel/camel-search-sql-sexp.h:
-
-2008-09-01  Keith Packard  <keithp@keithp.com>
-
-       ** Fix for bug #541045
-
-       * camel-mime-part.c (camel_mime_part_set_filename): Add a default
-       mime-type to the mime-part if it doesn't have one.
-
-2008-08-31  Lucian Langa  <lucilanga@gnome.org>
-
-       ** Fix for bug #550072
-
-       * camel/camel-search-private.c: Allow evolution-rss content type
-       on body-search
-
-2008-08-22  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #548865
-
-       * camel/camel-vee-store.c: Dont crash, if the folder isn't there.
-
-2008-08-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-search.c: During quit, its possible that the
-       parent folder's infos are unavailable.
-
-2008-08-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-store.c: Let vee store also sync its headers at the
-       end.
-
-2008-08-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Make counts work even better.
-
-2008-08-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-store.h: Name the flag appropriately.
-       * camel/camel-vtrash-folder.c:
-
-2008-08-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Update visible count, intelligently.
-
-2008-08-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Fix junk/trash counts.
-
-2008-08-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-store.h: Add a new flag for vtrash handling.
-       * camel/camel-vtrash-folder.c: 
-
-2008-08-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Add code to dump sorted uids for
-       debuging.
-
-2008-08-20  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #546926
-
-       * camel.c (camel_shutdown):
-       Make this function public and don't call PR_Cleanup().
-
-       * camel.c (camel_init):
-       Remove call to g_atexit().
-
-2008-08-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Make use of collate function for just sorts also.
-
-2008-08-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-store.c: Save vfolders headers on sync.
-
-2008-08-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Add function to save headers to db.
-       * camel/camel-vee-folder.h:
-
-2008-08-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Remove debug logs.
-
-2008-08-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Add provision to do summary specific sorts.
-       Summaries can now be loaded in a sorted mode.
-       * camel/camel-db.h:
-
-2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Save the summary header atleast.
-
-2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-filter-driver.c: Read XEV headers if there are any.
-
-2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Make things more debuggable.
-
-2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Add functions to delete from summary
-       fast, without dealing with db, so that bulk db can be invoked.
-       * camel/camel-folder-summary.h:
-
-2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Fix issue of unread mails in trash.
-
-2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Fix counts in vfolders while expunge/empty
-       trash.
-
-2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>
-       
-       ** Partial fix for bnc #418080
-
-       * camel/camel-search-sql.c: Support 'not' operator.
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Add a way to save just the header. We
-       can optimize it a lot.
-       * camel/camel-folder-summary.h:
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-mbox-summary.c: Delete uids in a bunch
-       than individual. It is a lot faster.
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder.c: Save summary at the end of the filtering.
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Don't break while syncing inbetween while
-       syncing.
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Even the summary header could be
-       dirty. Make a provision for saving just the header info.
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-search.c: Save the db, only if it is a db based
-       search.
-
-2008-08-18  Priit Laes  <plaes@plaes.org>
-
-       ** Fix for bug #548059
-
-       * camel-folder-thread.c (thread_summary): NULL check message-id before 
-       accessing its elements. 
-
-2008-08-18  Sergio Villar Senín  <svillar@igalia.com>
-
-       ** Fix for bug #546444
-
-       * camel-tcp-stream-ssl.c (stream_read): Don't loop infinitely when the 
-       network connection is lost while fetching a message, instead exit with 
-       a connection error. 
-
-2008-08-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vtrash-folder.c: Make trash/junk close to a normal vee
-       folder. Now their summaries are created, so it should be faster after
-       first touch.
-
-2008-08-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Debug the counts temporarily and don't
-       try commit when therez nothing. We save lot of db calls.
-
-2008-08-14  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #547389
-
-       * camel/camel-vee-folder.c: Fix crash on account search. Unhook the
-       signals on finalize.
-
-2008-08-14  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Clean up subfolders while finalizing.
-
-2008-08-14  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Build break and fix it better.
-
-2008-08-13  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vtrash-folder.c: Revert junk/trash. It slows down. Needs
-       reimpl.
-
-2008-08-13  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Properly unlock while aborting transaction.
-
-2008-08-13  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Add code to log better. It needs cleanup even now.
-       * camel/camel-db.h:
-
-2008-08-13  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-search-sql.c: Fix label search failure.
-
-2008-08-13  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #547469
-
-       * camel/camel-vee-folder.c: Count only when you have results.
-
-2008-08-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Make junk counts work well.
-
-2008-08-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vtrash-folder.c: Make vtrash folders almost same as vee
-       folder.
-
-2008-08-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-search-sql.c: Fix invalid reads, by not double freeing.
-
-2008-08-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-search-sql.c: Initialize sql var to NULL
-
-2008-08-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #547256
-
-       * camel/camel-search-sql.c:  Handle plain match-all
-
-2008-08-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-search-sql.c: Fix another search issue.
-
-2008-08-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vtrash-folder.c: Make it use vee folder search than its
-       own.
-
-2008-08-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vtrash-folder.c: Comment out unused code with a reason.
-
-2008-08-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-search-sql.c: Revamp search with support for more cases.
-
-2008-08-11  Sankar P  <psankar@novell.com>
-
-       * camel-db.c:
-       Words of warning
-
-2008-08-11  Tor Lillqvist  <tml@novell.com>
-
-       * providers/Makefile.am: Set HULA_DIR=hula if ENABLE_HULA. That
-       was probably the intent but accidentally left out by mbarnes on
-       2008-07-31.
-
-2008-08-11  Sankar P  <psankar@novell.com>
-
-       * camel-vee-folder.c (folder_changed_change):
-       Remove dummy db transactions.
-
-2008-08-11  Sankar P  <psankar@novell.com>
-
-       * camel-db.c (cdb_sql_exec), (camel_db_count_message_info),
-       (camel_db_select):
-       Do not attempt to print the full query when debug is on.
-
-2008-08-11  Sankar P  <psankar@novell.com>
-
-       * camel-folder-summary.c (summary_remove_uid),
-       (camel_folder_summary_remove), (camel_folder_summary_remove_uid):
-       Do not attempt to delete non-existing uids from the db.
-       Save some disk access and associated disk-head travel costs. 
-
-2008-08-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Save the count on exit.
-
-2008-08-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Revamp vfolders and counts for it.
-       * camel/camel-vee-folder.h:
-
-2008-08-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Make the cache thread a bit
-       intelligent and not to continue if the cache is nil and also start the
-       thread only if the contents are loaded.
-
-2008-08-09  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-summary.c: Implement replicated flags for vfolders.
-       * camel/camel-vee-summary.h:
-
-2008-08-09  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Added summary reloaded event to camel
-       object
-
-2008-08-08  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Add API for vfolder tables migration.
-       * camel/camel-db.h:
-
-2008-08-08  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vtrash-folder.c: Disable custom getv function.
-
-2008-08-08  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.h: Remove DIRTY message flag. It is
-       redundant and in the wrong place.
-
-2008-08-08  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Check the summary before using it. It
-       crashes at some remote vtrash sort of folders.
-
-2008-08-08  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-search.c: Check exception before getting. You
-       save lots of warnings.
-       
-2008-08-11  Sankar P  <psankar@novell.com>
-
-       * camel-db.c (cdb_sql_exec), (camel_db_count_message_info),
-       (camel_db_select):
-       MONITOR_DB_PERFORMANCE . Set this const int to non-zero,
-       so as to know how much of time each db call takes.
-
-2008-08-07  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Fix return values.
-       * camel/camel-folder-search.c: Suppress No such table exception.
-
-2008-08-07  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Store to db intelligently.
-
-2008-08-07  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Fix load/save counts of vee folder.
-       * camel/camel-vee-summary.c:
-
-2008-08-06  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #545877
-
-       * camel-block-file.c:
-       * camel-block-file.h:
-       * camel-cipher-context.c:
-       * camel-cipher-context.h:
-       * camel-filter-driver.c:
-       * camel-iconv.c:
-       * camel-index-control.c:
-       * camel-object.c:
-       * camel-offline-journal.h:
-       * camel-offline-journal.c:
-       * camel-operation.c:
-       * camel-partition-table.c:
-       * camel-partition-table.h:
-       * camel-text-index.c:
-       Use CamelDList instead of EDList.
-
-2008-08-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #546613
-
-       * camel/camel-vee-folder.c: return NULL, if unmatched folder is
-       requested.
-
-2008-08-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Some formatting changes.
-       * camel/camel-vee-folder.c: Set query only when it changes.
-
-2008-08-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Remove some unwanted code.
-
-2008-08-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Redo vfolders. It now works.
-       * camel/camel-vee-folder.h:
-       * camel/camel-vee-summary.c:
-       * camel/camel-vtrash-folder.c:
-
-2008-08-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #546544
-
-       * camel/camel-folder-summary.c: Don't try print folder name, when
-       folder is NULL. Print the summary path for such debugging purposes.
-
-2008-08-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Add apis to delete vuids in transaction and clean
-       up add vuid api.
-       * camel/camel-db.h:
-
-2008-08-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder.c: Start fixing counts for vfolders.
-
-2008-08-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Added a api to drop and recreate vfolder table.
-       * camel/camel-db.h:
-
-2008-08-06  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #546397
-
-       * camel-store.c: (construct): Do not use NULL in g_file_test.
-       * camel-folder-search.c: (read_uid_callback): Cast to right type.
-       * camel-folder-summary.c: (camel_folder_summary_remove_range):
-       Do not leak objects from loaded_infos array.
-
-2008-08-05  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes part of #533823
-       * camel-offline-store.c: (camel_offline_store_get_network_state),
-       (camel_offline_store_set_network_state): set the network state to
-       online before calling camel_service_connect as the providers depend
-       on that.                                                 
-       * camel-offline-store.h:
-       * providers/Makefile.am: Disco->Offline migration code.
-
-2008-08-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #545505
-
-       * camel/camel-folder-summary.c: Don't bother starting cache kick off
-       threads for zombie summaries.
-       * camel/camel-folder.c: When we unref a folder, kick off the freeing
-       thread from summary.
-
-2008-08-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c:
-       * camel/camel-vee-summary.c: Safe guard against missing infos and
-       protect them and added debug logs for erring cases.
-
-2008-08-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-search.c: Load the summary from db, only if the
-       searching length is more than in memory cache.
-
-2008-08-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-digest-folder.c: Fix search by uids. Pro'lly a typo.
-
-2008-08-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #546184
-
-       * camel/camel-folder-search.c: Search if we are under match_all.
-
-2008-08-04  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel.pc.in: List sqlite3 as a requirement.
-
-2008-08-04  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #546194
-
-       * camel/camel-folder.c: Use the right path for spool a/c
-       * camel/camel-store.c: Use the right path for spool a/c
-
-2008-08-04  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-vee-folder.c: Fix some basic vfolder code for disk
-       summary.
-
-2008-08-04  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-folder-search.c: (camel_folder_search_search): Fix while
-       moving to offline.
-       * camel-search-sql.c: (camel_sexp_to_sql):
-
-2008-08-04  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-string-utils.c: Disable debug crashers.
-
-2008-08-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Make 5 minutes as cache drop interval.
-
-2008-08-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Don't free mi's in migration.
-
-2008-08-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Fix pstring crash issues.
-
-2008-08-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-exception.c:
-       * camel-filter-driver.c:
-       * camel-folder-search.c:
-       * camel-index-control.c:
-       * camel-object.c:
-       Remove unnecessary <libedataserver/e-memory.h> include.
-
-2008-07-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #545558
-
-       * providers/Makefile.am:
-       Disable the Hula provider unless --enable-hula was given at
-       configure-time.
-
-2008-07-31  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-search.c: Revamp search and make body search as
-       fallback to old search mechanism of loading infos and search.
-       * camel/camel-string-utils.c: Added a new api to get const string from
-       the pool.
-       * camel/camel-string-utils.h:
-
-2008-07-31  Sankar P  <psankar@novell.com>
-
-       * camel-folder-search.c (camel_folder_search_class_init),
-       (camel_folder_search_finalize), (camel_folder_search_construct),
-       (camel_folder_search_set_folder),
-       (camel_folder_search_execute_expression),
-       (camel_folder_search_search), (camel_folder_search_free_result),
-       (search_match_all), (check_header), (search_header_contains),
-       (match_words_index), (search_user_flag), (search_system_flag),
-       (search_user_tag):
-       * camel-folder-search.h:
-       Search goodness. Make use of the new sexp parser.
-
-2008-07-31  Sankar P  <psankar@novell.com>
-
-       * camel-vee-folder.c (vee_search_by_expression),
-       (vee_rebuild_folder):
-       Don't print debug statements
-
-2008-07-31  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #545082
-
-       * camel/camel-db.c: Added support apis.
-       * camel/camel-db.h:
-       * camel/camel-folder.c: Added support to rename folder.
-       * camel/camel-store.c: Added code to delete folder cleanly
-
-2008-07-31  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.c: Add delete folder functionality.
-       * camel/camel-folder-summary.c: Added code to check if the uid exists
-       in summary.
-       * camel/camel-folder-summary.h:
-
-2008-07-30  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #500389
-
-       * camel-provider.h: (enum CamelProviderConfType): New type 'OPTIONS'.
-
-2008-07-30  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder.c: Remove the folder locks in refresh info. It
-       deadlocks while resyncing in IMAP.
-
-2008-07-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #545099
-
-       * camel/camel-folder-summary.c: When new mails added, update the
-       summary.
-
-2008-07-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder.c: Remove Update folder function.
-
-2008-07-28  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-digest-folder.c: Fix uid/pstring issues.
-       * camel/camel-folder-summary.c:
-       * camel/camel-folder-summary.h: Make uid const char *
-       * camel/camel-vee-summary.c:
-
-2008-07-28  Srinivasa Ragavan  <sragavan@novell.com>
-       
-       * camel/camel-disco-folder.c: Fix guint/int issues.
-       * camel/camel-folder-summary.c:
-       * camel/camel-folder-summary.h:
-       * camel/providers/imap/camel-imap-folder.c:
-
-2008-07-28  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder.c: Add function to update summary.
-       * camel/camel-vtrash-folder.c: Fix compiler warnings
-
-2008-07-28  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Kick off debug lines.
-
-2008-07-27  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Fix unread count updates in folder
-       tree. 
-
-2008-07-27  Frederic Peters  <fpeters@0d.be>
-
-       ** Fix for bug #544963
-
-       * Makefile.am: Include camel-search-sql.h in headers.
-
-2008-07-26  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Fix compiler warning and some crash
-       possibilities.
-
-2008-07-26  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Another possible deadlock. Never hold
-       summary lock and do a db operation.
-
-2008-07-26  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #544825
-
-       * camel/camel-folder-summary.c:
-       * camel/providers/imap/camel-imap-folder.c: Never hold the summary
-       lock and do a disk operation. It leads to dead lock.
-
-2008-07-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #544049
-
-       * camel-object.c: Initialize global variables, just to be sure.
-
-2008-07-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #544651
-
-       * camel-folder-summary.c: (EXTRACT_FIRST_STRING), (EXTRACT_STRING):
-       Properly update string position after read (thanks to srag).
-       * camel-folder-summary.c: (EXTRACT_DIGIT):
-       Prevent moving beyond string limit.
-       * camel-folder-summary.c: (camel_read_mir_callback):
-       Do not access NULL.
-       * camel-folder-summary.c: (my_list_append):
-       Interpret and update given list pointer properly.
-
-2008-07-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #544031
-
-       * camel-vee-folder.c: (vee_folder_remove_folder):
-       * camel-folder-summary.c: (camel_folder_summary_migrate_infos),
-       (content_info_to_db): Compiler warnings cleanup.
-
-2008-07-25  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-db.h: Disable share cache sql
-
-2008-07-25  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #543569
-
-       * camel/camel-store.c: Recreate cache, if it was blown.
-
-2008-07-25  Srinivasa Ragavan  <sragavan@novell.com>
-       
-       ** Reverse the meaning of debug/free safe handlers. Let it crash now, than
-       on a production build. We can fix it now. It would be turned off for a
-       release build. (CAMEL_SQLITE_FREE_CACHE, CAMEL_SQLITE_SHARED_CACHE,
-       CAMEL_FREE_INFOS, CDS_DEBUG)
-
-       * camel/camel-db.h: 
-       * camel/camel-folder-summary.c:
-       * camel/camel-string-utils.c:
-
-2008-07-25  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #544114
-
-       * camel/camel-folder-search.c:
-       * camel/providers/local/camel-mbox-folder.c: Do a sync before we
-       reload things.
-
-2008-07-25  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Camel Reference Manual improvements:
-       Tag more symbols as deprecated.  The documentation already
-       describes them as such.
-
-       * camel-debug.h (camel_verbose_debug):
-       * camel-store.h (CAMEL_STORE_FOLDER_INFO_FAST):
-       * camel-store.h (camel_folder_info_build):
-
-2008-07-25  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Camel Reference Manual improvements:
-       Add more sections to the Table of Contents.
-       Tag deprecated API with CAMEL_DISABLE_DEPRECATED.
-
-2008-07-25  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-search.c: Sync the db before we do a search. So
-       that we are always on sync with view.
-
-2008-07-25  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #544491
-
-       * camel/camel-db.c: Lock while 2 thread try to access same folder's
-       table using same handle.
-
-2008-07-25  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-search-sql.c: Further improve search.
-
-2008-07-25  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-search-sql.c: Add more search crash handlers. Atm
-       body-search alone should fail.
-
-2008-07-24  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #544501
-
-       * camel/camel-search-sql.c: Handle single node search queries.
-
-2008-07-24  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #544528
-
-       * camel/camel-search-sql.c: Ignore match-threads. It wont be supported
-       with new disk summary. Handle cases where it crashes.
-
-2008-07-24  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Rewrite camel search by converting sexp to sql.
-
-       * camel/camel-folder-search.c:
-       * camel/camel-folder-summary.c:
-       * camel/camel-search-sql.c:
-
-2008-07-23  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * Makefile.am: Add core camel search in sql support.
-       * camel-db.c (camel_db_get_column_name):
-
-2008-07-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #543943
-
-       * camel-store.c: (construct):
-       * camel-folder.c: (camel_folder_construct):
-       * camel-vee-folder.c: (summary_header_to_db):
-       * camel.c: (camel_init):
-       * camel-db.c: (cdb_sql_exec), (camel_db_count_message_info),
-       (camel_db_select):
-       * camel-folder-summary.c: (camel_folder_summary_migrate_infos),
-       (message_info_from_uid), (camel_folder_summary_save_to_db),
-       (camel_folder_summary_header_load_from_db),
-       (camel_folder_summary_remove_range), (summary_header_to_db):
-       Leak fix.
-
-2008-07-22  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fix a bunch of Gtk-Doc warnings.
-
-2008-07-22  Priit Laes  <plaes@plaes.org>
-
-       ** Fixes bug #544202
-
-       * camel-store.c: (construct): Fix string usage after it is freed.
-
-2008-07-22  Sankar P  <psankar@novell.com>
-
-       * camel-folder-search.c (check_header), (search_system_flag):
-       Make search work and don't screw up when the system flags are included.
-       A better sexp parser is coming up.
-
-2008-07-21  Tor Lillqvist  <tml@novell.com>
-
-       * camel-db.c (camel_db_open): Check for
-       CAMEL_SQLITE_DEFAULT_CACHE_SIZE environment variable was
-       backwards.
-
-2008-07-21  Sankar P  <psankar@novell.com>     
-
-       * camel-db.c (cdb_sql_exec)
-       * camel-folder-summary.c (camel_folder_summary_migrate_infos): Hold the 
-       rights when a transaction in place.
-
-2008-07-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/camel-folder-summary.c: Add migration support and fix some
-       warnings
-
-2008-07-20  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #541347
-
-       * camel-block-file.h:
-       #include <sys/types.h> (in the proper order)
-
-2008-07-17  Sankar P  <psankar@novell.com>
-
-       * camel-folder-summary.c (remove_item):
-       Make disk-summary don't crash for the time being. 
-       We need to find out where the uid is getting leaked and fix that.
-
-2008-07-16  Sankar P  <psankar@novell.com>
-
-       Pushing disk summary changes from the madagascar branch
-
-       * Makefile.am:
-       * camel-folder-search.c (camel_folder_search_class_init),
-       (camel_folder_search_finalize), (camel_folder_search_construct),
-       (camel_folder_search_set_folder),
-       (camel_folder_search_set_summary),
-       (camel_folder_search_execute_expression),
-       (camel_folder_search_search), (camel_folder_search_free_result),
-       (search_not), (search_match_all), (search_match_threads),
-       (check_header_deprecated), (check_header),
-       (search_header_contains), (db_search_header_contains),
-       (match_words_index), (match_words_messages),
-       (search_body_contains), (search_user_flag), (search_system_flag),
-       (search_user_tag), (search_uid), (read_uid_callback):
-       * camel-folder-search.h:
-       * camel-folder-summary.c (camel_folder_summary_init),
-       (camel_folder_summary_finalize), (camel_folder_summary_count),
-       (camel_folder_summary_index),
-       (camel_folder_summary_uid_from_index),
-       (camel_folder_summary_array), (message_info_from_uid),
-       (camel_folder_summary_uid), (perform_content_info_load_from_db),
-       (append_changed_uids), (camel_folder_summary_get_changed),
-       (remove_item), (remove_cache), (camel_folder_summary_cache_size),
-       (camel_folder_summary_reload_from_db),
-       (camel_folder_summary_load_from_db), (mir_from_cols),
-       (camel_read_mir_callback), (camel_folder_summary_load),
-       (perform_content_info_save_to_db), (save_to_db_cb),
-       (save_message_infos_to_db), (camel_folder_summary_save_to_db),
-       (camel_folder_summary_save),
-       (camel_folder_summary_header_load_from_db),
-       (camel_folder_summary_header_load), (summary_assign_uid),
-       (camel_folder_summary_add), (camel_folder_summary_insert),
-       (camel_folder_summary_add_from_header),
-       (camel_folder_summary_add_from_parser),
-       (camel_folder_summary_add_from_message),
-       (camel_folder_summary_clear), (camel_folder_summary_clear_db),
-       (summary_remove_uid), (camel_folder_summary_remove),
-       (camel_folder_summary_remove_uid),
-       (camel_folder_summary_remove_index_fast),
-       (camel_folder_summary_remove_index),
-       (camel_folder_summary_remove_range), (summary_meta_header_load),
-       (summary_header_from_db), (summary_header_to_db),
-       (camel_folder_summary_content_info_new), (message_info_from_db),
-       (message_info_to_db), (message_info_free), (content_info_from_db),
-       (content_info_to_db), (content_info_free), (camel_flag_set),
-       (camel_message_info_new), (info_set_flags), (info_set_user_flag),
-       (info_set_user_tag), (camel_folder_summary_class_init):
-       * camel-folder-summary.h:
-       * camel-folder-thread.c (camel_folder_thread_messages_new):
-       * camel-folder.c (camel_folder_finalize), (camel_folder_construct),
-       (camel_folder_refresh_info), (folder_getv), (folder_free),
-       (get_uids), (free_uids), (free_summary),
-       (camel_folder_free_summary), (search_free):
-       * camel-folder.h:
-       * camel-offline-journal.c:
-       * camel-store.c (camel_store_finalize), (construct):
-       * camel-store.h:
-       * camel-string-utils.c (camel_pstring_free):
-       * camel-vee-folder.c (camel_vee_folder_get_location),
-       (summary_header_to_db), (vee_sync), (vee_get_message),
-       (vee_search_by_expression), (vee_folder_add_uid),
-       (vee_folder_remove_folder), (folder_added_uid),
-       (vee_rebuild_folder), (folder_changed_remove_uid),
-       (subfolder_renamed_update), (vee_set_expression),
-       (camel_vee_folder_finalise):
-       * camel-vee-store.c (camel_vee_store_class_init),
-       (camel_vee_store_init), (construct), (vee_get_folder_info):
-       * camel-vee-summary.c (vee_message_info_free),
-       (vee_message_info_clone), (vee_info_ptr), (vee_info_uint32),
-       (vee_info_time), (vee_info_user_flag), (vee_info_user_tag),
-       (vee_info_set_user_flag), (vee_info_set_user_tag),
-       (vee_info_set_flags), (message_info_from_uid),
-       (camel_vee_summary_class_init), (camel_vee_summary_new),
-       (camel_vee_summary_get_ids), (camel_vee_summary_add):
-       * camel-vee-summary.h:
-       * camel-vtrash-folder.c (vtrash_transfer_messages_to),
-       (vtrash_search_by_expression), (vtrash_search_by_uids),
-       (vtrash_uid_added), (vtrash_folder_changed), (vtrash_add_folder),
-       (vtrash_remove_folder):
-
-2008-07-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #213072
-
-       * camel-folder.c: (camel_folder_refresh_info): Lock while rebuilding
-       summaries.
-
-2008-07-07  Matt McCutchen 2  <matt@mattmccutchen.net>
-
-       ** Fix for bug #503922
-
-       * camel-folder-summary.c: Fix typo in mapping flag name "draft".
-
-2008-07-02  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-folder.c (camel_folder_sort_uids): New method to sort an
-       array of uids.
-
-2008-06-25  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-utils.c (camel_header_decode_date): Don't crash if
-       the str argument is NULL.
-
-       * camel-folder-summary.c (message_info_new_from_header): Don't
-       allow ourselves to pass NULL as the str argument to
-       camel_header_decode_date().
-
-2008-06-21  Jeffrey Stedfast  <fejj@novell.com>
-
-       * broken-date-parser.[c,h]: Removed, more-or-less moved into
-       camel-mime-utils.c (this code was basically the same as the GMime
-       date parser code except that it might not have been as
-       up-to-date).
-
-       * camel-mime-utils.c (camel_header_decode_date): Copy/pasted
-       GMime's decode_date() code to replace really nasty code.
-
-2008-06-20  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-filter-progress.[c,h]: New progress-reporting stream
-       filter.
-
-       * camel-mime-utils.c: Get rid of the CLEAN_DATE #define
-       usage... we can never trust that dates are always properly
-       formatted.
-
-2008-06-18  Priit Laes  <plaes@plaes.org>
-
-       ** Fix a regression introduced with bug #534080
-
-       * camel-stream-vfs.c: (stream_write):
-       Return correct bytes_written on success and -1 on error.
-
-2008-06-18  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #340838
-
-       * camel-http-stream.c: (http_method_invoke):
-       Use the whole URL even when not the proxy set, because the URL can
-       contain parameters, which are not part of the path.
-
-2008-06-18  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #334160
-
-       * camel-data-cache.c: (struct _CamelDataCachePrivate),
-       (data_cache_path):
-       Changed the way when test the expiration of the cache.
-
-2008-06-13  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #534080
-
-       * camel-stream-vfs.c: (stream_write):
-       Use g_output_stream_write_all instead of g_output_stream_write.
-
-2008-06-13  Tor Lillqvist  <tml@novell.com>
-
-       * camel-msgport.c: Make it compile on Win32.
-
-2008-06-06  Tor Lillqvist  <tml@novell.com>
-
-       * camel-private.h
-       * camel-win32.c: Drop the Win32 fsync() implementation. Instead
-       just use _commit() in the Microsoft C library which does the same.
-
-       * Makefile.am: Link libcamel with ICONV_LIBS.
-
-2008-05-29  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #534312
-
-       * camel-folder-summary.h: (enum CamelMessageFlags):
-       Added new message flag CAMEL_MESSAGE_FORWARDED.
-
-2008-05-22  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-utils.c (camel_header_param_list_format_append): Work
-       around the broken "Jive Forums" NNTP gateway. Fixes bug #518312.
-
-2008-05-27  Hiroyuki Ikezoe  <poincare@ikezoe.net>
-
-       ** Fixes bug #534294.
-
-       * camel-folder-search.[ch]: Added accessor to _camel_header_param.
-       * camel-filter-search.c: Use camel_message_info_headers() instead of
-       direct access (i.e. ->headers) since the message does not have
-       headers' pointer if the message is in vitrual folder.
-
-2008-05-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #531591
-
-       * camel-disco-diary.c:
-       * camel-disco-folder.c:
-       * camel-disco-store.c:
-       * camel-folder-summary.c:
-       * camel-folder.c:
-       * camel-gpg-context.c:
-       * camel-object.c:
-       * camel-offline-journal.c:
-       * camel-provider.c:
-       * camel-sasl-kerberos4.c:
-       * camel-service.c:
-       * camel-session.c:
-       * camel-smime-context.c:
-       * camel-store.c:
-       * camel-url.c:
-       * camel-vee-folder.c:
-       Don't use TeX-style quotes in user-visible messages.
-
-2008-05-13  Tor Lillqvist  <tml@novell.com>
-
-       * camel-net-utils.h [Win32]: Define WIN32_LEAN_AND_MEAN around
-       including <winsock2.h> to reduce the namespace pollution,
-       especially DATADIR clashes.
-
-2008-05-07  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-uid-cache.c (camel_uid_cache_save): Check cache->fd after
-       we finish looping thru all of our uids; if cache->fd is -1, then
-       it means we failed somewhere along the lines and need to goto
-       exception.
-
-2008-05-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-operation.c (camel_operation_unref):
-       A typo broke the mailer.  Use camel_msgport_try_pop() (non-blocking)
-       instead of camel_msgport_pop() (blocking).
-
-2008-05-06  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #424744
-
-       * Makefile.am:
-       * camel-iconv.[ch]:
-       * camel-msgport.[ch]:
-       * camel-trie.[ch]:
-       Add camel-iconv.[ch], camel-msgport.[ch], camel-trie.[ch].
-       Essentially they're just renamed versions of equivalent but now
-       deprecated API in libedataserver.
-
-       * camel.h:
-       #include <camel/camel-msgport.h>
-       #include <camel/camel-trie.h>
-
-       * camel-charset-map.c:
-       * camel-filter-search.c:
-       * camel-mime-utils.c:
-       * camel-mime-part.c:
-       * camel-sasl-digest-md5.c:
-       * camel-mime-message.c:
-       * camel-gpg-context.c:
-       * camel-mime-filter-charset.c:
-       * camel-folder-summary.c:
-       Use camel-iconv.h instead of e-iconv.h.
-
-       * camel-net-utils.c:
-       * camel-operation.c:
-       * camel-session.h:
-       Use camel-msgport.h instead of e-msgport.h.
-
-       * camel-url-scanner.c:
-       Use camel-trie.h instead of e-trie.h.
-
-2008-05-06  Sankar P  <psankar@novell.com>
-
-       * Bad git-svn usage. Reverted.
-
-2008-05-01  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-folder-summary.c: Don't limit references while loading the
-       summary, etc to 500 entries - especially since we don't force the
-       limit when outputting the summary. Fixes bug #347061.
-
-2008-04-30  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-session.c:
-       * camel-session.h:
-       Replace assertions with g_return_val_if_fail().
-       Clean up coding style in the threading functions.
-
-2008-04-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #530139
-
-       * tests/Makefile.am: Do not ship .svn files.
-
-2008-04-22  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #529339
-
-       * camel-folder-summary.c: (camel_system_flag):
-       Do not access NULL pointer, aka recognize sentinel properly.
-
-2008-04-18  Sankar P  <psankar@novell.com>
-
-       * camel-mime-filter-pgp.c: (filter_run):
-       Fix a build break. Use different variable names 
-       for different purposes.
-
-2008-04-17  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-filter-pgp.c (filter_run): Properly handle CRLF
-       line-endings and fixed the logic so that we could never read
-       beyond the end of the buffer. Also fixed the "blank line end of
-       headers" case which only allowed a single whitespace character.
-
-2008-04-17  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #526741
-
-       * camel-stream-vfs.h:
-       * camel-stream-vfs.c: Do not depend on gnomve-vfs, but use gio/gvfs
-       instead. Dropped camel_stream_vfs_new_with_handle, new function for
-       this is camel_stream_vfs_new_with_stream, also prototype for
-       camel_stream_vfs_new_with_uri has been changed. 
-       CamelStreamVFS is not seekable anymore.
-
-2008-04-16  Christian Kellner  <gicmo@gnome.org>
-
-       ** Fixes bug #514300
-
-       * providers/imap/camel-imap-store.c:
-       Make sure we do the Inbox -> INBOX translation at the right place,
-       i.e. *after* we asked the camel_store_summary_path with the correct
-       folder_name that we got from the server.
-
-2008-04-14  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #270406
-
-       * camel-folder.h: (CamelFolderClass):
-       * camel-folder.c: (camel_folder_class_init), (get_quota_info),
-       (camel_folder_get_quota_info), (camel_folder_quota_info_new),
-       (camel_folder_quota_info_clone), (camel_folder_quota_info_free):
-       Add virtual function get_quota_info on a folder. Also add functions
-       to work with CamelFolderQuotaInfo structure.
-
-2008-04-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #526138
-
-       * camel-mime-utils.c (camel_header_unfold):
-       Return NULL if the input string is NULL.
-
-2008-04-04  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-folder-summary.c (summary_format_address): Unfold the
-       header before decoding it.
-       (summary_format_string): Same.
-
-       * camel-mime-message.c (process_header): Unfold certain headers.
-
-       * camel-mime-parser.c (folder_scan_header): Applied patch by Craig
-       Shelly to fix the PRESERVE_HEADERS logic. First step in fixing bug
-       #235681.
-
-2008-04-02  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-utils.c (camel_header_fold): Fixed bug #417000.
-
-2008-04-02  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #271863
-
-       * camel-folder.h: New CAMEL_FOLDER_JUNKED_NOT_DELETED property.
-       * camel-folder.c: (folder_getv):
-       Count junk messages which are not marked as deleted separately.
-
-2008-03-31  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #524704
-
-       * camel-mime-utils.c: (quoted_decode):
-       Allow direct spaces in a string.
-       * camel-mime-utils.c: (rfc2047_decode_word):
-       Do not return empty string in case of malformed text.
-       * camel-mime-utils.c: (header_decode_text):
-       Be sure we access only allocated memory.
-
-2008-03-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #518710
-
-       * camel-folder-summary.c:
-       * camel-multipart.c:
-       * camel-sasl-cram-md5.c:
-       * camel-sasl-digest-md5.c:
-       * camel-tcp-stream-ssl.c:
-       * camel-vee-folder.c:
-       Use GLib's new MD5 Checksum API.  The MD5 utilities in
-       libedataserver are now deprecated.
-
-       * camel-multipart-signed.c:
-       * camel-store-summary.c:
-       Remove unneeded inclusion of <libedataserver/md5-utils.h>.
-
-2008-03-17  Christian Kellner  <gicmo@gnome.org>
-
-       ** Fix for bug #341004
-
-       * camel-url.c: (camel_url_to_string): Hide the auth mech when
-       CAMEL_URL_HIDE_AUTH is specified.
-
-2008-02-20  Jeff Cai<jeff.cai@sun.com>
-
-       ** Fix for bug #517190
-
-       * camel-mime-utils.c: (decode_8bit):
-       Make sure the parameter is valid before being passed to
-       g_ascii_strcasecmp
-
-2008-02-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bnc #167638
-
-       * camel.c: Upstreamed OpenSUSE patch. Patch by Fejj to quit evolution
-       faster. (Dont try downloading while exitting).
-
-2008-02-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #516074
-
-       * camel-net-utils.c:
-       * camel-net-utils.h:
-       Don't assume NI_MAXHOST and NI_MAXSERV are defined in <netdb.h>
-       since these are GNU extensions.
-
-2008-02-11  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #515054
-
-       * camel-folder-summary.h: (CamelMessageFlags):
-       New flag CAMEL_MESSAGE_NOTJUNK.
-       * camel-folder-summary.c: (flag_names):
-       New flag is system flag and check for changes on it.
-       * camel-filter-search.c: (junk_test):
-       Skip testing messages with this or CAMEL_MESSAGE_JUNK flag set.
-
-2008-02-06  Matthew Barnes  <mbarnes@redhat.com>
-
-       * Makefile.am:
-       Fix a compilation error that occurs when building in a
-       remote object directory (#514682, patch by Paul Smith).
-
-2008-02-04  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #513389
-
-       * camel-url.c: (camel_url_new):
-       It's possible to pass empty string as url, so return safely.
-
-2008-02-01  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #211353
-
-       * camel-filter-driver.c: (do_label):
-       Use new label tags when setting old tags.
-
-2008-01-11  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #324168
-
-       * camel-vee-summary.c: (vee_message_info_free),
-       (vee_message_info_clone) (camel_vee_summary_add): Ensure the owner 
-       of the real message info will not be freed before we unref the 
-       message info itself.
-
-2008-01-27  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-utils.c (rfc2047_encode_word): Use ssize_t for
-       proclen so that we can compare it against -1. Fixes a coverage
-       warning noticed by Nokia.
-
-2008-01-24  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-object.c (camel_object_cast):
-       Check CamelObject pointer for NULL (#509124).
-
-2008-01-24  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-store.c (camel_store_get_folder):
-       Call camel_object_bag_abort() before returning with an exception.
-
-2008-01-24  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #510779 
-
-       * camel-filter-search.c: (junk_test): Add contact lookup and header
-       based filtering.
-       * camel-folder-summary.c: (message_info_free): Add/Free headers
-       fetched into message info.
-       * camel-folder-summary.h: Add a headers param into message info
-       * camel-private.h: Add junk_headers into the session private which
-       holds the junk headers to be extracted.
-       * camel-session.c: (camel_session_init), (camel_session_finalise),
-       (camel_session_lookup_addressbook),
-       (camel_session_set_junk_headers), (camel_session_get_junk_headers):
-       * camel-session.h:
-
-2008-01-23  Tor Lillqvist  <tml@novell.com>
-
-       * camel-net-utils.c
-       * camel-filter-driver.c
-       * camel-filter-search.c
-       * camel-gpg-context.c: Include GLib headers before testing G_OS_WIN32.
-
-2008-01-21  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #510303
-
-       * camel-gpg-context.c (gpg_ctx_parse_status):
-       Escape the PIN and passphrase prompts so the markup parser
-       will parse it verbatim.
-
-2008-01-21  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel.c (camel_shutdown):
-       Save certificates _before_ calling PR_Cleanup().  Calling fsync()
-       from camel_certdb_save() after we've called PR_Cleanup() appears to
-       trigger a race between PR_Cleanup() -- which frees a lock protecting
-       thread bookmarking data -- and _pt_thread_death_internal() -- which
-       needs to temporarily lock the thread bookmarking data.  (#445309)
-
-2008-01-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-session.c (camel_session_build_password_prompt):
-       Forgot to escape the user and host name strings.  (#506250)
-
-2008-01-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #506250
-
-       * camel-session.c (camel_session_build_password_prompt):
-       New function constructs a password prompt markup string from the
-       given account type, user name, and host name.  The prompt string
-       is suitable for use in a password prompt dialog.
-
-2008-01-16  Øystein Gisnås  <oystein@gisnas.net>
-
-       ** Fix for bug #300098
-
-       * camel-provider.pc.in:
-       * camel.pc.in:
-       Set proper dependencies for stand-alone programs linking against
-       camel.
-
-2008-01-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-operation.c (camel_operation_end):
-       Use g_slist_delete_link() to discard the list node (#509370).
-
-2008-01-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-mime-part.c: (camel_mime_part_get_content_size): Fixes few
-       warnings.
-
-2008-01-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-mime-part.c: Fix a build break.
-
-2008-01-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #379896
-
-       * camel-mime-utils.c: (camel_header_param): Check the value for NULL 
-       before comparing.
-
-2008-01-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #500233 
-
-       * camel-url.c: (camel_url_new): Handle empty strings.
-
-2008-01-11  Jeffrey Stedfast  <fejj@novell.com>
-
-       Slightly modified version of a patch submitted by Jean-Christophe
-       BEGUE for bug #329692.
-
-       * camel-mime-part.c (camel_mime_part_get_content_size): Get the
-       decoded content size of a MIME part.
-
-2008-01-09  Milan Crha  <mcrha@redhat.com>
-
-       * Reverted previous patch because it doesn't play well with
-       prefer plain plugin.
-
-2008-01-09  Sankar P  <psankar@novell.com>
-
-       * camel-mime-part.c: (camel_mime_part_set_filename):
-       Use the right API to get the mime_type. Accessing Data Wrapper's
-       field directly is not advisable.
-
-       ** Fix for bug #460204
-
-2008-01-07  Sankar P  <psankar@novell.com>
-
-       * camel-partition-table.c: (camel_key_table_add),
-       (camel_key_table_set_flags):
-       Convert a g_assert to g_warning. 
-       Reduces the severity of #348149
-
-2008-01-07  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #405497
-       * camel-private.h:
-       * camel-vee-folder.c: (folder_changed_base),
-       (camel_vee_folder_finalise): Don't pass events if the object is being 
-       destroyed.
-
-2008-01-06  Bharath Acharya  <abharath@novell.com>
-
-       ** Fix for bug #474118
-
-       * camel-offline-store.c: (camel_offline_store_prepare_for_offline):
-       * camel-offline-store.h:
-       Downsyncs all the messages from folders marked for offline use.
-
-2007-12-27  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-utils.c (rfc2047_decode_word): If we fail to
-       completely convert the text using the supplied charset, pass the
-       declared charset as the 'default_charset' argument to
-       decode_8bit() rather than the default_charset argument we were
-       passed.
-       (rfc2047_decode_word): Make sure inlen >= 8.
-
-2007-12-25  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fixes bug #224026
-
-       * camel-charset-map-private.h: Regenerated.
-
-       * camel-charset-map.c (main): Rewritten to be in-sync with GMime's
-       implementation which has support for multibyte charsets and
-       Arabic.
-
-2007-12-25  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-utils.c (header_decode_domain): Check *inptr before
-       calling camel_mime_is_dtext()
-
-2007-12-25  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fixes the remainder of the "evolution won't decode
-       this/that/whatever brokenly rfc2047 encoded header" bugs.
-
-       * camel-mime-utils.c (camel_iconv_strndup): New (internal, tho
-       could maybe be made public eventually) function to convert a
-       string from one charset into another which returns NULL on
-       failure.
-       (decode_8bit): New function to try to find the best charset to
-       convert raw 8bit/multibyte strings into UTF-8 by any means
-       necessary.
-       (rfc2047_decode_word): Rewritten. Now also takes a default_charset
-       argument to aid in charset conversion.
-       (header_decode_text): Rewritten to handle a wider variety of
-       utterly broken encodings from crap mailers. No longer takes an
-       inlen argument because it wasn't necessary.
-
-2007-12-14  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #211353
-
-       * camel-filter-driver.c: (do_label):
-       Labels are newly stored in user_flags, not in user_tags.
-
-2007-12-15  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_finalize),
-       (stream_close), (socket_connect):
-       Call PR_Shutdown() before PR_Close() (based on discussion with
-       Philip Van Hoof on evolution-hackers).
-
-2007-12-12  Evil Ninja Squirrel  <evilninjasquirrel@hotbrev.com>
-
-       ** Fix for bug #486126
-
-       * camel-filter-driver.c: (camel_filter_driver_filter_message):
-       Fixed an incorrect format string usage that can lead to crashes.
-
-2007-12-11  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #336074
-
-       * camel-store.h: (struct CamelStoreClass::can_refresh_folder),
-       (camel_store_can_refresh_folder):
-       * camel-store.c: (can_refresh_folder), (camel_store_class_init),
-       (camel_store_can_refresh_folder):
-       New virtual function to check if folder can be refreshed or not.
-       Default behavior of this function is that the Inbox will be refreshed.
-
-2007-12-05  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #501622
-
-       * camel-sasl.c (camel_sasl_challenge_base64):
-       Return an empty string instead of NULL for empty SASL responses.
-       Fixes broken Digest-MD5 authentication.
-
-2007-12-03  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #324008
-
-       * camel-text-index.c: (text_index_sync):
-       Don't sync when wasn't created successfully.
-
-2007-11-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #461979
-
-       * camel-url.c: (camel_url_new_with_base):
-       The base URL can be without a path, so do not crash, if that happen.
-
-2007-11-22  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #376425
-
-       * camel-http-stream.c: (camel_http_stream_get_content_type):
-       Use proxy if user uses it.
-       * camel-http-stream.c: (camel_http_stream_set_proxy):
-       Do not crash if have proxy without name and password.
-
-2007-11-15  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #474000
-
-       * camel-mime-utils.c (camel_base64_decode_simple):
-       * camel-sasl.c (camel_sasl_challenge_base64):
-       Initialize 'length' before calling g_base64_decode().
-
-2007-11-15  Milan Crha  <mcrha@redhat.com>
-
-       ** Typo fix in previous commit causing crash.
-
-2007-11-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Merge a bunch of compiler warning fixes and cosmetic
-          cleanups from camel-lite.
-
-2007-11-11  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-tcp-stream-ssl.c (enable_ssl):
-       Disable SSLv2 compatible HELLO on SSL stream when SSLv2 is
-       disabled (#345135, patch from Niels Vorgaard Christensen).
-
-2007-11-09  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-mime-utils.c (camel_base64_decode_simple):
-       Add argument guards, although nothing should be using this anymore.
-
-2007-10-15  Jeffrey Stedfast  <fejj@gnome.org>
-
-       * camel-mime-message.c (camel_mime_message_set_subject): Protect
-       against a NULL subject string.
-
-2007-10-01  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * camel-folder-summary.c: (camel_folder_summary_finalize),
-       (perform_content_info_load), (camel_folder_summary_load),
-       (camel_folder_summary_clear), (camel_folder_summary_encode_token),
-       (my_list_append), (camel_flag_set), (camel_tag_set):
-       * camel-folder-thread.c: (prune_empty), (thread_summary),
-       (camel_folder_thread_messages_new):
-       * camel-folder.c: (camel_folder_get_message_user_tag), (thaw):
-       * camel-mime-filter-charset.c: (reset), (complete):
-       * camel-mime-message.c: (camel_mime_message_set_date),
-       (find_best_encoding), (best_encoding):
-       * camel-mime-parser.c: (camel_mime_parser_filter_add),
-       (camel_mime_parser_filter_remove), (folder_seek),
-       (folder_scan_skip_line), (folder_scan_header), (folder_scan_step):
-       * camel-mime-part.c: (init_header_name_table), (write_to_stream):
-       * camel-multipart.c: (set_boundary), (write_to_stream):
-       * camel-object.c: (cobject_meta_get), (camel_object_hook_event),
-       (camel_object_trigger_event), (camel_object_get_ptr),
-       (camel_object_meta_get), (camel_object_bag_reserve):
-       * camel-offline-folder.c: (camel_offline_folder_get_type):
-       * camel-offline-journal.c: (camel_offline_journal_get_type):
-       * camel-offline-store.c: (camel_offline_store_get_type):
-       * camel-partition-table.c: (camel_key_table_lookup),
-       (camel_key_table_next):
-       * camel-sasl-digest-md5.c: (generate_response), (digest_response),
-       (digest_md5_challenge):
-       * camel-sasl-popb4smtp.c: (popb4smtp_challenge):
-       * camel-search-private.h: Include "libedataserver/e-sexp.h" to
-       get the _ESExpResult declaration.
-       * camel-stream-buffer.c: (camel_stream_buffer_init), (stream_read):
-       * camel-stream-mem.c: (camel_stream_mem_init):
-       * camel-tcp-stream-raw.c: (camel_tcp_stream_raw_new),
-       (socket_connect):
-       * camel-text-index.c: (text_index_add_name_to_word),
-       (text_index_compress_nosync), (camel_text_index_dump),
-       (text_index_cursor_reset):
-       * camel-vee-store.c: (change_folder), (vee_get_folder),
-       (vee_get_folder_info): NULL vs 0 and ANSIfy.
-
-2007-09-12  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #231178
-
-       * camel-filter-driver.c: (struct symbols), (do_label):
-       New symbol 'set-label' defined and added corresponding callback.
-
-2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #474000
-
-       * camel-mime-utils.c:
-       * camel-mime-utils.h:
-       Deprecate Camel's Base64 API and make the functions thin wrappers
-       for GLib's Base64 API.
-
-       * camel-multipart.c (set_boundary):
-       * camel-vee-folder.c (camel_vee_folder_hash_folder):
-       * camel-mime-filter-basic.c (complete):
-       * camel-sasl-digest-md5.c (generate_response):
-       * camel-http-stream.c (camel_http_stream_set_proxy):
-       * camel-sasl.c (camel_sasl_challenge_base64):
-       Use GLib's Base64 API instead of Camel's.
-
-2007-09-12  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #231178
-
-       * camel-filter-driver.c: (struct symbols), (do_label):
-       New symbol 'set-label' defined and added corresponding callback.
-
-2007-09-10  Sankar P  <psankar@novell.com>
-
-       * camel-partition-table.c: (camel_key_table_lookup):
-       Convert a g_assert to g_warning. Reduces the severity of
-       #348149
-
-2007-09-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #469007
-
-       * camel-search-private.c: (camel_search_header_match):
-       Let work the code for skipping white spaces at the beginning of
-       header value.
-
-       * camel-search-private.c: (camel_ustrcasecmp), (camel_ustrncasecmp):
-       Fixed other compiler warnings in this file.
-
-2007-09-07  Milan Crha <mcrha@redhat.com>
-
-       ** Fix for bug #473880
-
-       * camel-mime-filter-tohtml.c: (writeln), (html_convert):
-       * camel-utf8.c: (camel_utf8_ucs2):
-       * camel-url-scanner.c: (camel_url_scanner_scan):
-       * camel-sasl-gssapi.c: (removed header glib/gi18n.h):
-       Fixes serious compiler warnings.
-
-2007-08-28  Ross Burton  <ross@openedhand.com>
-
-       * */*:
-       Fix FSF address (Tobias Mueller, #470445)
-
-2007-08-27  Johnny Jacob  <jjohnny@novell.com>
-       ** Fix for 261084 by Jared Moore <cornflake.pirate@gmail.com>
-       
-       * camel-folder-search.c: String change.
-       
-       
-2007-08-27  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #256878 from Vincent Untz
-
-       * camel-cipher-context.h:
-       * camel-gpg-context.c: (gpg_verify), (gpg_decrypt):
-
-2007-08-23  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-tcp-stream-ssl.c (camel_certdb_nss_cert_get):
-       Simplify the code; use g_file_get_contents() (#437331).
-
-2007-08-20  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-url.c:
-       Add argument checks to several public functions (#467883).
-
-2007-08-16  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #350539
-
-       * camel-filter-search.c: (check_header):
-       * camel-smime-context.c: (camel_smime_context_describe_part):
-       * camel-mime-part-utils.c:
-       (camel_mime_part_construct_content_from_parser):
-       * camel-gpg-context.c: (gpg_decrypt):
-       Ensures non-NULL part/message/dw/ipart/content.
-
-2007-08-14  Jens Granseuer  <jensgr@gmx.net>
-
-       ** Fix for bug #466309
-
-       * camel-folder-summary.c: (camel_folder_summary_add_from_parser):
-       declare variables at the beginning of the block. Fixes building
-       with non-C99 compilers.
-
-2007-08-13  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #352346
-
-       * camel-provider.h: Added new constants CAMEL_URL_PART_PATH_DIR and
-       CAMEL_URL_NEED_PATH_DIR; when CAMEL_URL_NEED_PATH_DIR is set, then
-       in editor dialog is choosing file, without it directory.
-
-2007-08-13  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #420462
-
-       * camel-store.c: (camel_folder_info_build): If the FolderInfo doesn't
-       have a child, unset the NO_CHILDREN flag.
-
-2007-08-12  Rob Bradford  <rob@openedhand.com>
-
-       * camel-text-index.c: (camel_text_index_new):
-       Fix syntax error introduced by my patch. Kudos to Theppitak
-       Karoonboonyanan for discovering it.
-
-2007-08-12  Johnny Jacob  <jjohnny@novell.com>
-       ** Fix for 387806 by Rob Bradford  <rob@openedhand.com>
-       
-       * camel-text-index.c: Add some checking of return values when
-       calling camel_block_file_new_block. 
-2007-08-12  Johnny Jacob  <jjohnny@novell.com>
-
-       ** Fix for Bug 261084 from Jared Moore
-
-       * camel-folder-search.c :
-       
-2007-07-28  Ross Burton  <ross@openedhand.com>
-
-       * camel-index.c:
-       * camel-folder-summary.c:
-       Add some sanity checks (#460861)
-
-2007-07-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #402925 from hggdh
-
-       * camel.c: (camel_init):
-
-2007-07-09  Gilles Dartiguelongue  <gdartigu@svn.gnome.org>
-
-       * camel-folder.c: (camel_folder_change_info_add_update),
-       (change_info_remove), (camel_folder_change_info_add_uid),
-       (camel_folder_change_info_remove_uid),
-       (camel_folder_change_info_change_uid):
-       * camel-gpg-context.c: (gpg_ctx_get_diagnostics),
-       (gpg_ctx_parse_status):
-       * camel-mime-filter-bestenc.c: (filter):
-       * camel-mime-filter-tohtml.c: (writeln):
-       * camel-search-private.c: (camel_ustrstrcase), (camel_ustrcasecmp),
-       (camel_ustrncasecmp), (camel_search_header_match),
-       (camel_search_message_body_contains), (camel_search_words_simple):
-       * camel-url-scanner.c: (camel_url_scanner_scan):
-       * camel-utf8.c: (g_string_append_u), (camel_utf8_ucs2):
-       Fix compilation warnings (#363384)
-
-2007-06-20  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #449531
-
-       * camel-mime-filter-pgp.c: (filter_run):
-       Accept one space on a line after signature header as separator.
-
-2007-07-09  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #434356 from Jindrich Makovicka
-
-       * camel-mime-utils.c: (header_decode_lwsp), (header_decode_domain):
-
-2007-07-02  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #412735 from Pascal Terjan
-
-       * camel-url-scanner.c: (url_stop_at_brace):
-
-2007-06-26  Philip Van Hoof  <pvanhoof@gnome.org>
-
-       * providers/local/camel-maildir-folder.c: Bugfix when renaming from
-       tmp to cur didn't work (which can happen on FAT32 that doesn't allow
-       certain special characters that are used by the Maildir spec).
-
-2007-06-21  Irene Huang  <irene.huang@sun.com>
-
-       * camel-sasl-gssapi.c: (gssapi_challenge): replace gss_nt_service_name
-       with GSS_C_NT_HOSTBASED_SERVICE.
-
-2007-06-14  Philip Van Hoof  <pvanhoof@gnome.org>
-       
-       * camel-net-utils.c: Memory leak fix
-
-2007-06-14  Philip Van Hoof  <pvanhoof@gnome.org>
-
-       * camel-imap-folder.c: Security bugfix. The sequence can be a negative
-       value while it is being used as the index of an array (#447414)
-
-2007-06-10  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-object.c (cobject_state_read), (cobject_state_write):
-       Calculate CamelArgV sizes in such a way that it doesn't produce
-       negative intermediate values.  Negative values are bad because
-       the terms of the expression are unsigned.  (#331099)
-
-2007-06-06  Sankar P <psankar@novell.com>
-
-       * camel-sasl-gssapi.c: 
-       Fixed some wrong pre-processor directives,
-       that were causing build-break.
-       See bug #344728
-
-2007-06-05  Irene Huang  <irene.huang@sun.com>
-
-       * camel-sasl-gssapi.c: Add headers for Sun Kerberos
-       fixing bug #344728
-
-2007-06-05  Irene Huang  <irene.huang@sun.com>
-
-       * camel-sasl-gssapi.c:
-
-2007-06-01  Karl Relton  <karllinuxtest.relton@ntlworld.com>
-
-        ** Fix for bug #311512
-
-       * camel-folder.c (folder_changed): Block "folder_changed" signal
-       propagation until filtering has completed.
-       (camel_folder_change_info_new): Added a new uid_filter array.
-       (change_info_recent_uid, change_info_filter_uid): Silently add
-       uids.
-       (camel_folder_change_info_cat): Silently add uids to recent and
-       filter uid sets.
-       (camel_folder_change_info_recent_uid): Use the new
-       change_info_recent_uid() function and also add the uid to the
-       filter set.
-       (camel_folder_change_info_clear): Clear the filter uid set.
-       (camel_folder_change_info_free): Free the filter uid set.
-
-2007-05-24  Ross Burton  <ross@openedhand.com>
-
-       * providers/sendmail/Makefile.am:
-       Add missing link flags to fix build with -z,defs. (#409542, Loic
-       Minier)
-
-2007-05-16  Jules Colding  <colding@omesc.com>
-
-       * camel-lock.c (camel_lock_dot): Use g_mkstemp()
-
-       * camel-folder-summary.c (camel_folder_summary_save): Fix file
-       descriptor leak.  fclose() a fdopen() stream instead of
-       close()'ing the underlying file descriptor.
-
-       * camel-uid-cache.c (camel_uid_cache_save): Cleanups, such as
-       setting cache->fd = -1 when fd has been closed.
-
-       * camel-block-file.c (key_file_use): Do not close() if (fd == -1)
-
-       * camel-index-control.c (do_perf): Fix file descriptor leak
-
-       * camel-charset-map.c (main): Check for return value
-
-       * camel-text-index.c (dump_raw): Fix file descriptor leak
-
-       * camel-lock.c (main): Fix file descriptor leak.
-
-       * camel-lock-client.c (camel_lock_helper_init): Fix file
-       descriptor leak
-       * camel-process.c (camel_process_fork): Fix file descriptor leak
-2007-05-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-disco-store.c: (camel_disco_store_prepare_for_offline):
-       Added a new api to fetch a folder for offline sync.  *
-       camel-disco-store.h:
-
-2007-05-12  Jules Colding  <colding@omesc.com>
-
-       * camel-store.h (CamelFolderInfo): Change type of unread and total 
-       members to gint32 instead of guint32. The previous unsigned members 
-       are initialized to a negative value (-1) by many CamelFolderInfo 
-       producers. To do that is ugly. Changing the type to a signed data 
-       type will make a negative initialization value acceptable. We 
-       won't be able to index folders with more than ~2 billion messages, 
-       but who has that many anyway?
-
-2007-05-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-stream-vfs.c:
-       * camel-stream-vfs.h:
-       Fix warnings reported by 'sparse'.  Patch from Kjartan Maraas.
-
-2007-04-30  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * Makefile.am: Added the include files part of core to the
-       installation path. Build break.
-
-2007-04-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #418852
-
-       * Note, these changes touch almost every file in Camel.
-
-       * Replace C++ declaration guards (extern "C" { ... }) with
-         G_BEGIN_DECLS / G_END_DECLS, or add them to headers with
-         no declaration guards at all.
-
-       * Use GLib's i18n support instead of Camel's (now deprecated).
-
-       * Use quotes and brackets consistently in #include directives.
-
-       * Remove CAMEL_EXPLICIT_TRANSLATION_DOMAIN from Makefiles.
-
-       * Fix documentation warnings identified by Gtk-Doc.
-
-       * camel.h:
-       Expose Camel's entire "core" (non-provider) API.
-
-       * camel-i18n.h:
-       Deprecate this API.  Use GLib's i18n support instead.
-
-       * camel-folder.h (camel_folder_get_message_flags):
-       * camel-folder.h (camel_folder_set_message_flags):
-       * camel-folder.h (camel_folder_get_message_user_flag):
-       * camel-folder.h (camel_folder_set_message_user_flag):
-       * camel-folder.h (camel_folder_get_message_user_tag):
-       * camel-folder.h (camel_folder_set_message_user_tag):
-       * camel-folder.h (camel_folder_get_unread_message_count):
-       * camel-folder.h (camel_folder_ref_message_info):
-       Add deprecation guards around these function declarations.
-
-2007-04-05  Ross Burton  <ross@openedhand.com>
-
-       * camel-data-cache.c: (camel_data_cache_new):
-       * camel-object.c: (camel_object_state_write):
-       * camel-session.c: (get_storage_path):
-       * camel-uid-cache.c: (camel_uid_cache_new):
-       Use g_mkdir_with_parents (#383686).
-
-2007-04-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #322105
-
-       * camel-folder-summary.c: (info_set_flags): Fix for non-junk messages 
-       to learn ham.
-
-2007-04-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-mime-utils.c (rfc2047_encode_word):
-       Properly escape what would otherwise be a trigraph (??=).
-       Patch from Kjartan Maraas.
-
-       * camel-search-private.c (header_match):
-       * camel-url.c (camel_url_to_string):
-       Fix a compiler warning.  Patch from Kjartan Maraas.
-
-2007-03-29  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-private.h:
-       E-D-S requires GLib 2.10 now; remove dead backward-compatibility
-       code for GLib < 2.8 (#418971).
-
-2007-03-16  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #360240
-
-       * camel-stream-vfs.c (camel_stream_vfs_new_with_handle):
-       Remove unused variable.
-
-2007-02-26  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #331813
-
-       * camel-mime-filter-tohtml.c: Patch from Gilles 
-       Dartiguelongue.
-
-2007-02-23  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #356177
-
-       * camel-folder.c:
-       * camel-object.c:
-       * camel-private.h:
-       * camel-provider.c:
-       * camel-service.c:
-       * camel-store.c:
-       * camel-text-index.c:
-       Migrate from EMutex to GStaticMutex or GStaticRecMutex.
-
-2006-01-08  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       ** Fixes eds part of bgo #362638 - Patch submitted by Matthew
-       Barnes
-
-       * camel/camel-private.h: 
-       * camel/camel-session.c: Replace EThread with GThreadPool.
-       
-2006-12-14  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       ** Fixes for bgo #349445 - Patch submitted by Bastien Nocera
-
-       * camel-url-scanner.c: (url_stop_at_brace): Added parameter to
-       return appropriate "open" equivalent of the url_braces array.
-       (camel_url_web_end): Do not remove ')' and '\'' from the end of URL.
-       
-2006-12-14  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-        ** Fix for bnc #208395
-
-        * camel-url.[ch]: (camel_url_decode_path): Added method to
-        decode path, by preserving the path-delimiter.
-       
-2006-11-08  Sankar P  <psankar@novell.com>
-
-       * camel-folder-summary.h: Added support for CAMEL_MESSAGE_HIDDEN and 
-       CAMEL_MESSAGE_USER_NOT_DELETABLE flags which can be used in mailer 
-       and for proxy rights management.
-
-2006-11-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #330157
-
-       * camel-vee-folder.c: (camel_vee_folder_remove_folder),
-       (camel_vee_folder_finalise): Dont unref if the sub folder is a
-       vfolder.
-
-2006-11-02  Hans Petter Jansson  <hpj@novell.com>
-
-       * camel-mime-filter-tohtml.c (writeln): Prevent potential buffer
-       overrun by one byte.
-
-       * camel-gpg-context.c (gpg_ctx_op_step): Clear the poll structures'
-       events fields, so we don't pass uninitialized values to poll().
-
-2006-11-02  Harish Krishnaswamy  <kharish@novell.com>
-
-       * camel-mime-filter-crlf.c (filter): Fixes buffer overrun. 
-        Bug #369168. Patch submitted by Hans Petter Jansson.
-
-2006-10-05  Tor Lillqvist  <tml@novell.com>
-
-       Fixes from Steffen Eschenbacher:
-
-       * camel-stream-vfs.c (camel_stream_vfs_finalize): Call
-       gnome_vfs_close() on the GnomeVFSHandle *, not close(). (#350576,
-       #350885, #358010)
-
-       * camel-url.c (camel_url_new_with_base, camel_url_to_string): On
-       Win32, for file: urls, simply call g_filename_{to/from}_uri.
-       (#358010) We could do this on all platforms maybe?
-
-2006-09-14  Veerapuram Varadhan  <vvaradhan@novell.com> 
-
-       ** Fixes bug #350907
-
-       * camel-filter-search.c: (run_command): Unref GMainContext
-       * camel-filter-driver.c: (pipe_to_system): ditto
-       
-2006-08-28  Veerapuram Varadhan  <vvaradhan@novell.com> 
-
-       ** Fixes bug #331099 based on patches by Eric Anholt
-       <anholt@FreeBSD.org> and Joe Marcus Clarke <marcus@FreeBSD.org>
-
-       * camel-object.c: (cobject_state_read): Cast the input for
-       g_try_malloc to gulong.
-       
-2006-08-23  Wang Xin  <jedy.wang@sun.com>
-
-       Fixes bug #352109.
-
-       * camel-stream-vfs.c: (stream_read), (stream_write), (stream_seek):
-       GnomeVFSFileSize should be used, not ssize_t.
-
-2006-08-23  Srinivasa Ragavan  <sragavan@novell.com>
-       
-       ** Fix for bug #349960 by Daniel Gryniewicz
-       
-       * camel-stream-vfs.c: (camel_stream_vfs_new_with_uri): Set the excl
-       flag to FALSE to over write existing file.
-
-2006-07-24  Veerapuram Varadhan <vvaradhan@novell.com>
-
-       * camel-folder-summary.h: Added CamelFolderMetaSummary structure
-       that holds values for meta summary file.
-
-       * camel-folder-summary.c (summary_meta_header_load),
-       (summary_meta_header_save), (meta_message_info_save): Newly added
-       virtual methods to load and save meta-headers and meta-message
-       infos.
-       (camel_folder_summary_load), (camel_folder_summary_save): Load and
-       save meta-summary information as well.
-
-       * providers/local/camel-mbox-summary.c (meta_message_info_save):
-       Save message offset in the meta-summary file.
-
-       * camel-file-utils.[c,h] (camel_file_util_encode_fixed_string),
-       (camel_file_util_decode_fixed_string): Encode and decode fixed
-       length string.
-       
-2006-07-07  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fix for a bug pvanhoof spotted with my last patch
-
-       * camel-string-utils.c (camel_pstring_add): If the value is in the
-       table already and 'own' is TRUE, g_free the passed-in string.
-
-2006-07-07  Sankar P  <psankar@novell.com>
-
-       * camel-string-utils.c (camel_pstring_add):
-       Fixes a variable naming error. Fixes build break.
-               
-2006-07-06  Jeffrey Stedfast  <fejj@novell.com>
-
-       Based on a suggestion/patch by pvanhoof
-
-       * camel-string-utils.c (camel_pstring_add): New function that now
-       holds the main logic of the old camel_pstring_strdup function. If
-       'own' is TRUE, re-use the memory if the string doesn't already
-       exist and free it otherwise. If FALSE, strdup the value if it
-       doesn't already exist.
-       (camel_pstring_strdup): Calls camel_pstring_add() with 'own' as
-       FALSE.
-
-       * camel-folder-summary.c (message_info_new_from_header): Use
-       camel_pstring_add instead of camel_pstring_strdup here to prevent
-       unnecessary strdup/freeing.
-       (message_info_load): Same.
-
-2006-06-26  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): Only set name to ""
-       if it wasn't already set. Fixes bug #345965.
-
-2006-06-15  Tor Lillqvist  <tml@novell.com>
-
-       * camel.c (camel_init): On Win32, NSS wants the directory name in
-       system codepage, not UTF-8. No need to handle g_atexit()
-       differently on Win32 any longer, in current GLib it is on Win32
-       just a #define for atexit().
-
-2006-06-15  Andre Klapper  <a9016009@gmx.de>
-
-       * camel-gpg-context.c:
-
-       * camel-net-utils.c: changing "cancelled" to "canceled" in
-       user-visible strings.  Fixes bug #342163.
-
-2006-06-15  Andre Klapper <a9016009@gmx.de>
-
-       * addressbook/libebook/e-book.c:
-
-       * camel/camel-folder.c:
-
-       * camel/providers/nntp/camel-nntp-folder.c:
-
-       * camel/providers/pop3/camel-pop3-folder.c: changing "uri" to
-       "URI" in user-visible strings.  Fixes bug #342161.
-
-2006-06-09  Chris Heath  <chris@heathens.co.nz>
-
-       * camel-net-utils.c (camel_getnameinfo): Fix memory leak
-
-       * camel-folder-search.c (camel_folder_search_search): Ditto
-
-       * camel-digest-folder.c (digest_add_multipart): Ditto.
-       Fixes bug #335423.
-
-2006-06-02  Tor Lillqvist  <tml@novell.com>
-
-       * camel-file-utils.c (camel_read, camel_write, camel_read_socket)
-       (camel_write_socket): Improve doc comment, mention the Win32
-       aspects.
-
-2006-05-25  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-stream-vfs.h: Added the missed file to commit.
-
-2006-05-24  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * Makefile.am: Added new files for camel vfs stream
-       * camel-stream-vfs.[ch]: Added a new gnome-vfs backend for 
-       camel stream.
-
-2006-05-05  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-charset-map.c (camel_charset_best_mask): Fixed a
-       mis-ordering of an if-statement clause that caused bug #340717.
-
-2006-05-01  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): Handle prompts from
-       GnuPG asking for the user's PIN for their SmartCard. Fixes bug
-       #335386.
-
-2006-04-19  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-filter-pgp.c (filter_run): You cannot CANNOT modify
-       the input strings. EVER. Fixed to not do that and to also work if
-       there is preface before the pgp block (previous code failed in
-       that case).
-       (reset): Reset the filter state.
-
-2006-04-13  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-utils.c (camel_header_raw_check_mailing_list): Fixed
-       a goof in the last patch.
-
-2006-04-12  Jeffrey Stedfast  <fejj@novell.com>
-
-       * Fixes to many source files to suppress compiler warnings thanks
-       to Kjartan Maraas.
-
-2006-04-04  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-charset-map.c (main): Set appropriate structs/struct
-       elements to static/const.
-
-       * camel-charset-map-private.h: Regenerated.
-
-2006-04-05  Simon Zheng  <simon.zheng@sun.com>
-
-       ** Fixes bug #333698
-
-       * camel-search-private.c (header_match):
-       (camel_search_header_match):
-       To traverse strings by utf8 char order rather than one by one byte,
-       use camel_utf8_getc() and other utf8-specific routines instead.
-
-2006-03-20  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug 272307
-
-       * camel-mime-utils.c (header_decode_mailbox): Do not decode_lwsp
-       if there is a space in mail id, just append it.  Also do not
-       truncate address if addr is not NULL.
-
-2006-03-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): Added flag to ask
-       for pass phrase.
-
-       * camel-session.h: Added the flag for passphrase.
-
-2006-03-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * providers/groupwise/camel-groupwise-store.c:
-       (groupwise_build_folder_info): Added flags for the system folders.
-
-2006-02-21  Rohini S  <srohini@novell.com>
-
-       ** See bug 318697
-
-       * camel-url-scanner.c (camel_url_addrspec_start): conditions
-       modified to parse only valid mailto links
-
-2006-02-21  Rohini S  <srohini@novell.com>
-       ** Fixes bug #328322
-       * camel-mime-filter-tohtml.c: add new pattern for sftp urls.
-2006-02-21  Rohini S  <srohini@novell.com>
-       * camel-url-scanner.c (camel_url_web_end): Modified to accept urls 
-       with ./
-       Fixes bug#256142
-2006-02-16  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * camel-disco-diary.c (camel_disco_diary_log): proceed only if
-       diary is a valid pointer
-
-2006-02-13  Rohini S  <srohini@novell.com>
-
-       **See bug 328384
-
-       * camel-url-scanner.c (camel_url_addrspec_start): modified to
-       remove all invalid characters in the beginning of a email address
-
-2006-02-02  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug 328481
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): do not search if the
-       gpg->need_id is NULL
-
-2006-02-02  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * camel-object.c (object_finalise):
-       (camel_message_info_free): decrement Ref count properly
-
-2006-02-02  Tor Lillqvist  <tml@novell.com>
-
-       * camel-net-utils.h
-       * camel-net-utils.c: Make it compile on Win32 also without
-       getaddrinfo() (with NEED_ADDRINFO).
-
-2006-01-25  Not Zed  <NotZed@Ximian.com>
-       * camel-folder-search.c (search_match_threads): add new
-       match-thread type "unreplied", matches messages that are unreplied
-       to. 
-       Committed to head on behaf of Notzed
-2006-01-23  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-mime-utils.c (camel_content_type_unref):
-       Id the content-type refcount is <1 then free it and
-       assign it to NULL
-
-2006-01-17  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-service.c (camel_service_disconnect):
-       set the service-status to CAMEL_SERVICE_DISCONNECTED
-
-2006-01-10  Simon Zheng  <simon.zheng@sun.com>
-
-       * camel-file-utils.h: 
-       * camel-file-utils.c: Delete function camel_mkdir().
-
-       * camel-data-cache.c (camel_data_cache_new):
-       * camel-object.c (camel_object_state_write):
-       * camel-session.c (get_storage_path):
-       * camel-uid-cache.c (camel_uid_cache_new):
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new):
-       * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
-       * providers/imapp/camel-imapp-folder.c (camel_imapp_folder_new):
-       * providers/local/camel-local-store.c (get_folder):
-       * providers/local/camel-mbox-store.c (get_folder):
-       (create_folder):
-       (rename_folder):
-       * providers/local/camel-spool-store.c (spool_get_meta_path):
-       * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new):
-       Because of deletion of camel_mkdir(), all the callers use
-       e_util_mkdir_hier() instead and add the related header file 
-       <libedataserver/e-data-server-util.h>.
-
-       * camel-debug.c: 
-       * camel-win32.c: As file e-util.h is renamed,
-       replace "libedataserver/e-util.h" as
-       "libedataserver/e-data-server-util.h".
-
-2006-01-05  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * camel-session.c (camel_session_get_network_state): Return stuff
-       from this non-void function.
-
-       * providers/imap4/camel-imap4-store.c (connect_to_server): Move
-       some vars inside #ifdef HAVE_SSL
-
-       * providers/local/camel-local-store.c (xrename): Use NULL not 0 as
-       the last parameter to g_strconcat().
-
-2006-01-04  Tor Lillqvist  <tml@novell.com>
-
-       * camel-win32.c (setup): Modify calls to e_util_replace_prefix()
-       according to its changed interface.
-
-       * Makefile.am (INCLUDES): Need to pass also E_DATA_SERVER_PREFIX
-       to the compilation because of the above.
-
-2005-12-22  Shreyas Srinivasan  <sshreyas@novell.com>
-
-       * Network Manager Support
-       
-       * camel-session.[h,c]: Add a gboolean network_state which the
-       shell uses to set the current network state.  Add new api's
-       camel_session_get_network_state and
-       camel_session_set_network_state.
-       
-       * camel-offline-folder.c: If network down then dont sync folders
-       while going offline and send clean as FALSE to
-       camel_service_disconnect.
-       
-       * camel-disco-folder.c: If network down then dont sync folders
-       while going offline and send clean as FALSE to
-       camel_service_disconnect.
-
-2005-12-13  Tor Lillqvist  <tml@novell.com>
-
-       * camel-filter-driver.c: Use gstdio wrappers. Use
-       g_filename_to_uri().
-
-       * camel-filter-driver.c (pipe_to_system)
-       * camel-filter-search.c (run_command): Use
-       g_spawn_async_with_pipes() instead of manual fork/dup/exec dance.
-
-       * camel-folder.c
-       * camel-junk-plugin.c: Just cosmetics.
-
-       * camel-lock.c: Use g_usleep() instead of sleep() which isn't
-       available (as such) on Win32. No locking implementation for Win32
-       yet (none of USE_DOT, USE_FCNTL or USE_FLOCK get defined on
-       Win32), I wonder whether it is necessary t ohave one? Is locking
-       used to guard against several threads in Evolution (or Evolution
-       and the E-D-S or E-E processes) accessing the same files
-       simultaneously, not just against other apps accessing them while
-       Evolution is?
-
-       * camel-object.c: Use gstdio wrappers. Use binary mode when
-       opening files. Use g_path_get_dirname().
-
-       Use a separate have_owner boolean flag field to indicate whether
-       the pthread_t owner field is valid in the _CamelObjectBagKey
-       struct. There is no portable way to check a pthread_t for
-       uninitializedness. Remove the E_THREAD_NONE magic constant. Use
-       pthread_equal() to compare pthread_t values.
-
-       * camel-tcp-stream.h: Include Winsock headers on Win32.
-
-       * camel-tcp-stream-raw.h (struct _CamelTcpStreamRaw): There is no
-       way to find out a socket's blockingness state on Win32, so keep
-       the state in a separate flag field on Win32.
-
-       * camel-tcp-stream-raw.c: Use socket API wrapper macros to hide
-       Unix/Winsock differences. Use camel_read_socket() and
-       camel_write_socket() to read and write from sockets. Use
-       ioctlsocket(FIONBIO) to set and clean nonblocking mode on Win32.
-       
-       * camel-tcp-stream-ssl.c (set_errno): Most of the network related
-       errno values don't exist in the Win32 C library, so use ifdef
-       around those cases.
-       (stream_read, stream_write): Check PR_GetError() instead of errno.
-       No ETIMEDOUT on Win32, so use the catch-all EIO instead.
-       (cert_fingerprint): The fingerprint is used as a file name, and
-       there can't be colons in file names on Win32, so use underscore
-       instead.
-       (camel_certdb_nss_cert_get, camel_certdb_nss_cert_set): Use gstdio
-       wrappers. Use g_get_home_dir() on Win32 instead of $HOME.
-
-2005-12-11  Tor Lillqvist  <tml@novell.com>
-
-       * camel-gpg-context.c: Use gstdio wrappers. Ifdef out
-       implementation on Win32 for now. Will have to come back to this
-       later. Probably running a gpg subprocess is not the right way to
-       do this on Windows.
-       (swrite): Use g_get_tmp_dir(), g_build_filename(), g_mkstemp().
-
-       * camel-net-utils.c (gai_strerror): Implement gai_strerror() for
-       Win32.
-       (cs_waitinfo): Use select() instead of poll() on Win32. Use
-       g_win32_error_message(WSAGetLastError()) for socket API error
-       messages on Win32.
-
-       * camel-net-utils.h: Include the Winsock2 headers on Win3.
-
-       * camel-session.c (get_storage_path): No need to have ifdefs for
-       g_access() here, camel-private #defines g_access as access when
-       builing against an older GLib.
-
-2005-12-07  Jeff Cai <jeff.cai@sun.com>
-
-       * camel-vee-folder.c (vee_search_by_expression),
-       (vee_search_by_uids): if search expression of a vfolder is null,
-       make it an empty string.  Fix #323433
-       
-2005-12-08  Tor Lillqvist  <tml@novell.com>
-
-       * camel-file-utils.c: Win32 port: Include <winsock2.h>. Use
-       g_htonl() and g_ntohl().
-       (camel_mkdir): Implement using g_mkdir_with_parents() when
-       compiling against GLib 2.8 or later.
-       (camel_file_util_safe_filename): Need to encode more unsafe chars
-       on Win32.
-       (camel_read, camel_write): Not cancellable on Win32. But then
-       these functions should be used only with regular files, not
-       sockets.
-       (camel_read_socket, camel_write_socket): New functions, to be used
-       for sockets. On Unix just call camel_read() and camel_write(). On
-       Win32 use recv() and write(). read() and write() can not be used
-       on sockets in Windows. read() and write() are in the C library,
-       which knows nothing about sockets.
-       (camel_file_util_savename): Clarify doc comment. Use
-       g_path_get_dirname() instead of looking for '/'. Use
-       g_path_get_basename(), and g_build_filename() to construct the
-       savename.
-
-2005-12-06  Tor Lillqvist  <tml@novell.com>
-
-       * camel-index.c
-       * camel-mime-filter-basic.c
-       * camel-mime-filter-charset.c
-       * camel-mime-filter-from.c
-       * camel-mime-filter-index.c
-       * camel-mime-filter-windows.c
-       * camel-mime-filter.c
-       * camel-mime-part-utils.c
-       * camel-multipart-encrypted.c
-       * camel-multipart-signed.c
-       * camel-multipart.c
-       * camel-offline-folder.c
-       * camel-offline-store.c
-       * camel-operation.c
-       * camel-sasl-anonymous.c
-       * camel-sasl-cram-md5.c
-       * camel-sasl-digest-md5.c
-       * camel-sasl-kerberos4.c
-       * camel-sasl-login.c
-       * camel-sasl-ntlm.c
-       * camel-sasl-plain.c
-       * camel-sasl.c
-       * camel-search-private.c
-       * camel-service.c
-       * camel-smime-context.c
-       * camel-store.c
-       * camel-stream-buffer.c
-       * camel-stream-filter.c
-       * camel-stream-process.c
-       * camel-stream.c
-       * camel-transport.c
-       * camel-url-scanner.c
-       * camel-vee-folder.c
-       * camel-vee-summary.c
-       * camel-vtrash-folder.c
-       * camel.c: Unify header inclusion order and style purely for
-       cosmetic reasons.
-       
-2005-12-02  Shi Pu <shi.pu@sun.com>
-
-       ** See bug #321139
-
-       * camel-exception.c: (camel_exception_get_description):
-       Don't return NULL.
-
-2005-12-01  Tor Lillqvist  <tml@novell.com>
-
-       * camel-private.h: If building against a GLib older than 2.8, map
-       those gstdio wrappers that were introduced only in 2.8 to their
-       normal counterparts here. (When building for Win32, we require
-       GLib and GTK+ 2.8, so this is for Unix only.)
-
-2005-12-01  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel-data-cache.c:
-       * camel-session.c: (get_storage_path):Use the functions
-       defined in glib -2.8 only for win32 as it fails to build
-       for OS which has glib 2.4.
-
-2005-12-01  Tor Lillqvist  <tml@novell.com>
-
-       * camel-mime-message.c: Add gmtime_r() implementation (a simple
-       macro) for Win32.
-
-       * camel-win32.c: Drop the realpath() implementation. realpath() is
-       only used in one place in providers/local/camel-local-folder.c,
-       and it's better to just enclose that code snippet (which isn't
-       needed on Win32 anyway) in an ifdef.
-
-       * camel-private.h: Drop the realpath() declaration from
-       here. Remove the S_ISLNK() and lstat() dummy definitions. They are
-       also used only in the place mentioned above.
-
-2005-12-01  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       reviewed by Srinivasa Ragavan  <sragavan@novell.com> 
-
-       * camel-private.h: Declare the functions _camel_get_*
-       only for win32 as camel-win32.c is inlcuded only for
-       win32. Fixes a build break.
-
-2005-11-30  Tor Lillqvist  <tml@novell.com>
-
-       * camel-file-utils.h: Define O_BINARY as 0 on Unix. Add
-       declarations for camel_read_socket() and camel_write_socket(). (In
-       a not yet committed addition to camel-file-utils.c.)
-
-       * camel-block-file.c
-       * camel-certdb.c
-       * camel-data-cache.c
-       * camel-disco-diary.c
-       * camel-folder-summary.c
-       * camel-mime-parser.c
-       * camel-offline-journal.c
-       * camel-provider.c
-       * camel-session.c
-       * camel-store-summary.c
-       * camel-stream-fs.c
-       * camel-text-index.c
-       * camel-uid-cache.c
-       * camel-vee-store.c: Use gstdio wrappers for full non-ASCII
-       filename support on Windows.
-
-       * camel-block-file.c (key_file_use)
-       * camel-certdb.c (camel_certdb_save)
-       * camel-disco-diary.c (camel_disco_diary_new)
-       * camel-folder-summary.c (camel_folder_summary_load)
-       * camel-offline-journal.c (camel_offline_journal_construct)
-       * camel-store-summary.c (camel_store_summary_load,
-       camel_store_summary_save, camel_store_summary_header_load)
-       * camel-stream-fs.c (camel_stream_fs_new_with_name)
-       * camel-text-index.c (dump_raw)
-       * camel-uid-cache.c (camel_uid_cache_new, camel_uid_cache_save):
-       Open file in binary mode.
-
-       * camel-data-cache.c (data_cache_expire)
-       * camel-provider.c (camel_provider_init): Use GDir instead of
-       dirent API for portability and full non-ASCII filename support on
-       Windows.
-       
-       * camel-folder-summary.c (camel_folder_summary_load): On Win32
-       unlink destination before attempting a rename.
-
-       * camel-mime-parser.c: Drop unused includes. Use
-       g_ascii_strcasecmp() instead of strcasecmp() for well-definedness,
-       and the other string being compared is an ASCII literal anyway.
-
-       * camel-provider.c (camel_provider_init) Use G_MODULE_SUFFIX
-       instead of hardcoding .so.
-
-       * camel-session.c (session_thread_wait): Use g_usleep() instead of
-       usleep() for portability.
-
-       * camel-utf8.c: Use g_htons() and g_ntohs() instead of htons() and
-       ntohs() for portability.
-       
-2005-11-25  Tor Lillqvist  <tml@novell.com>
-
-       * camel-private.h: Add declaration for our Win32-only fsync() and
-       realpath() implementations. Define S_ISLNK() as 0 and lstat() as
-       stat().
-       (realpath): Use gstdio wrappers.
-
-       * camel-win32.c (_camel_get_localedir, _camel_get_libexecdir,
-       _camel_get_providerdir): Run-time path construction
-       machinery. Maybe these should just be in libedataserver instead,
-       like _libedataserver_get_extensiondir() etc.
-
-2005-11-18  Jeff Cai  <jeff.cai@sun.com>
-
-       * camel-disco-store.c: (disco_connect):
-       If no diary is created, no need to do resync.
-
-2005-11-15  Ross Burton  <ross@burtonini.com>
-
-       * camel-provider.c:
-       Use lazy bindings (#321515)
-
-2005-11-15  Harish Krishnaswamy  <kharish@novell.com>
-
-       * providers/Makefile.am: Add hula to SUBDIRS.
-
-2005-10-23  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug #218177
-
-       * camel-vtrash-folder.c: (vtrash_remove_folder):
-       check if mi->real exists, continue otherwise. 
-       
-2005-10-11 Vivek Jain <jvivek@novell.com>
-
-       ** See bug #318508
-
-       * camel-folder-summary.c : (camel_folder_summary_info_new_from_parser)
-       Null check for p->index before using it.
-
-2005-09-22  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug #316287
-       
-       * camel-mime-filter-bestenc.c:(camel_mime_filter_bestenc_get_best_encode):
-       Remove the last return statement that can never be reached.
-       
-2005-09-15  Sankar P  <psankar@novell.com>
-
-       * camel-store.h:
-       Defined new macro CAMEL_FOLDER_TYPE_SENT for identifying sent-folder.
-       Needed for fixing #257321
-       
-2005-09-15  Tor Lillqvist  <tml@novell.com>
-
-       * broken-date-parser.c (get_wday, get_month)
-       * camel-folder-search.c (check_header)
-       * camel-http-stream.c (http_connect, http_get_statuscode)
-       * camel-mime-filter-enriched.c (param_parse_colour, enriched_to_html)
-       * camel-mime-part.c
-       * camel-mime-utils.c
-       * camel-movemail.c
-       * camel-sasl-popb4smtp.c
-       * camel-string-utils.c
-       * camel-url.c: Use g_ascii_str(n)casecmp() instead of
-       str(n)casecmp(). The strings we are comparing in these cases
-       should be just ASCII anyway, so spell it out that we really do
-       need ASCII casefolding only.
-
-       * camel-debug.c: Use e_util_pthread_id() to identify threads.
-
-2005-09-12  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug #314574
-
-       * camel-lock-client.c: (camel_lock_helper_init):
-       remove an spurious ','.
-       
-2005-09-01  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-lock-client.c: (camel_lock_helper_init):
-       use API_VERSION instead of the BASE_VERSION
-
-2005-08-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_rename_folder): init folders and only
-       use it if set.
-
-       * camel-offline-journal.c (CAMEL_OFFLINE_JOURNAL_GET_CLASS):
-       move redefined macro to .h.
-
-       * camel-gpg-context.c (gpg_decrypt): cast args properly.
-
-       * camel-text-index.c (camel_text_index_validate): cast to int for
-       printf.
-
-       * camel-object.c (co_metadata_get): assign metalast to remove
-       spurious warning.
-
-2005-08-19  Not Zed  <NotZed@Ximian.com>
-
-       ** See #312668.
-
-       * camel-tcp-stream-ssl.c (stream_close): handle re-closing a
-       closed socket.
-
-2005-08-18  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #271894.
-
-       * camel-gpg-context.c (gpg_decrypt): use the content part's
-       mime-type to determine options.
-
-2005-08-17  Tor Lillqvist  <tml@novell.com>
-
-       * camel-operation.c (stamp): Use g_get_current_time() instead of
-       gettimeofday() for portability.
-
-       * camel-cipher-context.c
-       * camel-vee-folder.c: Drop unneeded <pthread.h>.
-
-       * camel-block-file.c
-       * camel-index-control.c
-       * camel-index.c
-       * camel-partition-table.c
-       * camel-text-index.c
-       * camel-vee-summary.c
-       * providers/groupwise/camel-groupwise-summary.c
-       * providers/imap/camel-imap-summary.c
-       * providers/local/camel-local-summary.c
-       * providers/local/camel-mh-summary.c
-       * providers/local/camel-spool-summary.c
-       * providers/nntp/camel-nntp-summary.c: Drop unneeded <sys/uio.h>.
-
-       * camel-sasl-digest-md5.h: Drop unneeded <netdb.h>.
-       
-       * camel-sasl-kerberos4.h
-       * camel-sasl-kerberos4.c: Move inclusion of <netdb.h> to the
-       source file so we don't need any Win32 ifdefs in the
-       header. Include also <netinet/in.h> and "camel-net-utils.h" in the
-       source file.
-
-       * camel-service.c: Drop unneeded <sys/poll.h>
-
-       * providers/pop3/camel-pop3-store.c
-       * providers/smtp/camel-smtp-transport.c: Drop unneeded <sys/socket.h>
-       <netinet/in.h> and <arpa/inet.h>.
-
-2005-08-15  Not Zed  <NotZed@Ximian.com>
-
-       ** backported from disksummary-branch
-
-       * camel-object.c: Change all ref-counting and bag-related
-       operations to use a simple mutex rather than a recursive one.
-       Then change the bag to use a cond rather than a semaphore.  Fixes
-       some nasty races exposed by extra paralellism in the code.
-       (camel_iterator_*): small iterator interface, not used on this
-       branch; backported to make later merging easier.
-
-2005-08-12  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-filter-windows.c (filter_filter): same.
-
-       * camel-mime-filter-charset.c
-       (camel_mime_filter_charset_new_convert): remove another common
-       useless warning.
-
-       * camel-block-file.c (block_file_validate_root): ifdef out the
-       'invalid root' stuff.
-
-       * camel-folder-summary.c (summary_build_content_info): turn off
-       the annoying/pointless 'cannot convert xxx' message.
-
-       ** See bug #313284.
-
-       * camel-mime-parser.c (folder_scan_content): make sure *data is
-       set to something before we exit.
-
-       * camel-mime-parser.c (folder_read): use memmove, not memcpy,
-       since memory areas could overlap.
-
-       * camel-html-parser.c (tokenise_step): use the length from the
-       utf8 conversion, it isn't 0 terminated.
-
-       * camel-mime-utils.c (header_decode_quoted_string): if we run out
-       of string, then don't go past the 0.
-
-2005-08-13  Tor Lillqvist  <tml@novell.com>
-
-       * camel.c (camel_init): Call atexit() directly on Win32, not
-       g_atexit(). As g_atexit() is currently implemented, the registered
-       function gets called when the GLib DLL is detached, not when the
-       process exits. This causes problems. Calling atexit() in the camel
-       DLL at least means the function gets called when the camel DLL is
-       detached, which works OK.
-
-2005-08-12  Tor Lillqvist  <tml@novell.com>
-
-       * Makefile.am: On Win32: Leave out camel-lock-client and
-       camel-stream-process from libcamel-provider. Leave out
-       camel-movemail and camel-sasl-kerberos4 from libcamel. Include
-       camel-win32 in libcamel. Don't build lock-helper. Use
-       -no-undefined. Link with CAMEL_LIBS, SOCKET_LIBS and REGEX_LIBS.
-
-       * camel-win32.c: New file, some Win32-specific functions.
-
-       * providers/Makefile.am: Leave out sendmail on Win32.
-
-2005-08-09  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_get_folder): add some debug logging.
-
-2005-04-17  Changwoo Ryu  <cwryu@debian.org>
-
-       ** See bug #300891
-       
-       * Makefile.am (INCLUDES): define CAMEL_EXPLICIT_TRANSLATION_DOMAIN
-       and EVOLUTION_LOCALEDIR.
-
-       * camel.c (camel_init): initialize gettext with bindtextdomain()
-       and bind_textdomain_codeset().
-
-2005-08-09  Changwoo Ryu <cwryu@debian.org>
-
-       ** See bug #300115.
-
-       * camel-mime-utils.c (rfc2047_encode_word): if the last unicode
-       character in the input string is non-ASCII, it is always encoded
-       as a separated chunk.
-
-2005-08-08  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #312831.
-
-       * camel-folder-thread.c (prune_empty): change to depth-first
-       search so we check for empty children before checking if we have
-       children.
-       (dump_tree_rec): update debug func.
-
-2005-08-03  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #274382.
-
-       * camel-mime-message.c (process_header): return false if we have a
-       to/cc/etc, we can have multiple instances of all of these, and we
-       dont want to strip them.
-
-2005-07-28  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #311731.
-
-       * camel-store.c (camel_folder_info_build): fix this, again, minor
-       simplification.  it was messing up the namespace != "" case
-       somewhat.
-
-2005-07-28  Shreyas Srinivasan  <sshreyas@novell.com>
-
-       * camel-offline-folder.c: (camel_offline_folder_init): Revert old
-       patch. Copy folder contents locally by default makes evolution crawl.
-       
-2005-07-27  Mengjie Yu  <meng-jie.yu@sun.com>
-
-       * camel-store.c: (camel_isubscribe_subscribe),
-       (camel_isubscribe_unsubscribe):
-       Void function should not return value.
-
-       Fixes #310198
-
-2005-07-25  Shreyas Srinivasan  <sshreyas@novell.com>
-
-       * camel-offline-folder.c (camel_offline_folder_init): Copy 
-       folder contents locally by default.
-       
-2005-07-20  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_get_folder_info): Changed the
-       semantics slightly.  !FAST makes no guarantees about message
-       counts anymore.
-
-       * camel-disco-store.c: fix up some stupid hidden logic here.
-
-2005-07-19  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (camel_folder_refresh_info): remove the folder
-       lock.
-
-       * camel-disco-store.c (disco_get_folder_info): dont force a
-       connect here, it doesn't belong here.
-
-       * camel-store.c (camel_store_get_folder_info): remove subscription
-       assert.
-
-2005-07-13  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_init): initialise the mode to
-       something which reflects the actual mode.
-
-       * camel-store.h: fix the permission bit names and mode name.
-
-       * camel-session.c (camel_session_class_init,
-       camel_session_set_online): Create/emit a new event 'online'.
-
-2005-07-10  Shreyas Srinivasan <sshreyas@novell.com>
-
-       * camel-store.h: Add a new #define to identify proxy stores
-       and a new data member permissions to hold store specific permissions.
-       
-2005-07-08  Harish Krishnaswamy  <kharish@novell.com>
-
-       ** Patch submitted by Greg Hudson <ghudson@mit.edu>
-       ** See bug #308209
-       * camel-sasl-login.c: (login_challenge): Wait for the
-       server to initiate the challenge.
-
-2005-07-06 Vivek Jain <jvivek@novell.com>
-
-       * camel-folder.c: (folder_changed) check if junk_plugin is
-       supplied before starting any junk specific operation
-       * camel-junk-plugin.[ch]: pass CamelJunkPlugin object in all the
-        callbacks
-       * camel-junk-plugin.c: (camel_junk_plugin_init) use csp->init(csp)
-       style in place of (* csp->init)(csp) similar change in all other callbacks
-       
-2005-06-24     Matt Brown <matt@mattb.net.nz>
-
-       * camel-gpg-context.c:  Extend verify and decrypt functions to support
-       inline pgp signed messages via x-inlinepgp-signed/x-inlinepgp-encrypted
-       mime types.
-       * camel-mime-filter-pgp.h:
-       * camel-mime-filter-pgp.c:
-       New filter to strip dash encoding from inline pgp signed messages.
-
-2005-06-09  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * camel-store.c (camel_folder_info_build): Minor typo in debug message.
-
-2005-05-16  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-filter-basic.c (complete): Call
-       camel_quoted_encode_close() instead of quoted_decode_close() when
-       encoding.
-
-       * camel-mime-utils.c (camel_quoted_decode_close): This function
-       was named incorrectly, it's really camel_quoted_encode_close
-       (camel_quoted_encode_close): New name.
-
-2005-05-07  Sankar P  <psankar@novell.com>
-
-       * camel-provider.h: Added a new flag
-       CAMEL_PROVIDER_DISABLE_SENT_FOLDER so as to facilitate disabling
-       sent button and prevent copying sent items.  This flag is
-       introduced for the GroupWise provider, but can be made use of by
-       any other type of provider, if needed.
-
-2005-04-26  Ross Burton  <ross@burtonini.com>
-
-       * camel/broken-date-parser.c:
-       * camel/camel-block-file.c:
-       * camel/camel-charset-map-private.h:
-       * camel/camel-mime-message.c:
-       * camel/camel-mime-utils.c:
-       * camel/camel-object.c:
-       * camel/camel-url-scanner.c:
-       * camel/camel-utf8.c:
-       * camel/gentables.pl:
-       Add the const keyword liberally.
-
-2005-04-18  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-url-scanner.c (camel_url_web_end): Handle the case where
-       the path doesn't exist in the url. See bug #301037 for more
-       details.
-
-2005-04-07  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fix for bug #273945
-
-       * camel-mime-utils.c (camel_header_encode_string): If
-       camel_charset_best() returns NULL, default to UTF-8.
-       (camel_header_encode_phrase): Same as above.
-
-2005-04-11  Harish Krishnaswamy  <kharish@novell.com>
-
-       * Makefile.am:
-       * providers/local/Makefile.am:
-       * providers/pop3/Makefile.am:
-       * providers/smtp/Makefile.am:
-       * tests/folder/Makefile.am:
-       * tests/lib/Makefile.am:
-       * tests/message/Makefile.am:
-       * tests/mime-filter/Makefile.am:
-       * tests/misc/Makefile.am:
-       * tests/smime/Makefile.am:
-       * tests/stream/Makefile.am:
-       use API_VERSION 
-
-2005-03-31  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-sasl-digest-md5.c (camel_sasl_digest_md5_finalize): If the
-       SASL negotiation fails or is cancelled, then the challenge and/or
-       response may be NULL and so dereferencing them will cause a
-       crash. Possible fix for bug #72325.
-
-2005-03-25  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-utils.c (header_append_param): Don't try to convert
-       boundary param values into UTF-8 even if they contain binary
-       text. Based on a patch from Pavel Fedin.
-
-2005-03-15  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-stream.c (camel_stream_read): Fix for systems where read
-       is a macro by David Malcolm.
-
-2005-03-01  Not Zed  <NotZed@Ximian.com>
-
-       * tests/misc/test2.c: fix the case of the charset specification,
-       now we properly canonicalise them.
-
-2005-03-01  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #73015
-
-       * tests/misc/test1.c: Test case for references decoding.
-
-       * camel-mime-utils.c (header_decode_addrspec): if we get no start
-       word, then return NULL not "".
-
-2005-03-02  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #70195
-
-       * camel-mime-utils.c (rfc2047_encode_word): if we fail to convert
-       all the buffer, skip the content we didn't convert - don't just
-       skip the number of bytes we didn't convert from the start of the
-       string.
-       (header_encode_phrase_merge_words): when we merge the word, make
-       sure we merge the encoding too.
-
-2005-03-02  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #70590 (again)
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message):
-       don't drop to default folder if we moved it.
-       (do_move): mark moved, not copied.
-
-2005-03-01  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #72876
-
-       * camel-mime-message.c (process_header): if there are no addresses
-       in from or reply-to header, don't save empty address list.
-
-2005-02-28  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #72609
-
-       * camel-mime-utils.c (header_encode_param): just call
-       camel_charset_best once to get the best charset, and handle a NULL
-       charset name case properly.
-
-       * camel-charset-map.c (camel_charset_step): use the camel utf8
-       functions for robustness (&fix possible buffer-read-overflow).
-       Perform some short-circuit optimisation when we can.
-
-2005-02-28  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #70590
-
-       * camel-filter-driver.c (do_move): Make this copy+delete, and
-       terminate processing implicitly.
-
-2005-02-24  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #68459
-
-       * camel-nntp-address.[ch]: cameladdress implementation for list of
-       newsgroups.
-
-2005-02-11  Radek Doulik  <rodo@novell.com>
-
-       * camel-filter-search.c (junk_test): use camel debug
-
-       * camel-junk-plugin.c: use camel debug
-
-2005-02-09  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-store.c (camel_folder_info_build): Fix the FIXME about
-       using fragment instead of path for those urls which use fragment
-       instead. Also fixes bug #71747.
-
-2005-02-07  JP Rosevear  <jpr@novell.com>
-
-       * camel-iconv.c: remove dead file
-
-2005-02-07  Jeffrey Stedfast  <fejj@novell.com>
-
-       * tests/folder/test11.c: Fixed junk/trash folder names/paths.
-
-2005-02-04  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-search.c (check_header): don't try to match against
-       mlist if the mlist entry is NULL.
-
-       * camel-store-summary.h: make the store-info flags match the
-       store:folder_info flags.
-
-       * Revert jeffs changes, they weren't needed.
-
-2005-02-02  Jeffrey Stedfast  <fejj@novell.com>
-       
-       * camel-store.h (CAMEL_STORE_FOLDER_INFO_SUBSCRIPTION_INFO):
-       Added. Hint to the provider that we want the
-       CAMEL_FOLDER_SUBSCRIBED flag (even if we aren't requesting
-       CAMEL_STORE_FOLDER_INO_SUBSCRIBED).
-       * camel-folder-summary.h:
-       Added some RESERVED bits for the summary->flags (last 24 bits are
-       for provider specific flags).
-       
-2005-02-01  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #65329
-
-       * camel-vee-store.c (camel_vee-store_init): api chanes
-
-       * camel-vtrash-folder.c (camel_vtrash_folder_new): api chagne and
-       translate the short name.
-
-       * camel-vee-folder.c (camel_vee_folder_construct): take full-name
-       argument separately from short-name.
-       (camel_vee_folder_new): calculate short-name.
-
-       * camel-store.c (camel_store_get_folder_info): set the folder type
-       hint.
-
-       * camel-store.h: add a bitfield for a folder-type hint.  used to
-       indicate inbox/trash/etc (mainly for gui icons).
-
-       ** See bug #38791 and bug #36142.
-
-       * camel-gpg-context.c (gpg_ctx_op_step): use poll rather than
-       select, and listen to the cancellation fd as well.  perform all
-       cancellation here.
-       (gpg_sign): remove cancellation check/processing.
-       (gpg_verify): same.
-       (gpg_encrypt): same.
-       (gpg_decrypt): same.
-       (gpg_ctx_op_step): remove the messy execption handling stuff, it
-       wasn't useful.
-       (gpg_import_keys, gpg_export_keys): clean up exception case.
-
-       ** See bug #72020.
-
-       * camel-filter-driver.c (do_score): don't use
-       camel_folder_set_message_user_tag anymore, use the messageinfo
-       interface.
-       (do_adjust_score): implement missing function.
-
-       * camel-store.c (camel_store_folder_uri_equal): check the path
-       isn't NULL before dereferencing it.  Could happen with badly
-       formed uris (since we're comparing folders, it MUST contain a path
-       or fragment).
-
-2005-01-31  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * providers/groupwise/camel-groupwise-folder.c
-         (groupwise_folder_get_message): fixed a crash
-         while getting message. also applied lock 
-         when getting message
-       * providers/groupwise/camel-groupwise-store.c
-         (gropuwise_get_folder_info),
-         (groupwise_create_folder),
-         (groupwise_delete_folder): applied locks which
-         were missed out previously
-
-2005-01-31  Hans Petter Jansson  <hpj@novell.com>
-
-       * camel-mime-utils.c (camel_mime_special_table): Remove this, it's
-       declared externally now.
-
-2005-01-31  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #70303.
-
-       * tests/mime-filter/test1.c: added new test for
-       camel-mime-filter-canon.c
-
-       * camel-mime-filter-canon.c (filter_run): separated out from
-       filter.  Fix a case when it finds an embedded "From " not to
-       create "=46rom rom".
-       (complete): Properly canonicalise \n -> \r\n rather than just
-       copying it across (use filter_run now).
-
-       ** See bug #68741.
-
-       * camel-vtrash-folder.h: move Junk and Trash into the ".#evolution"
-       'namespace'.
-
-       * camel-store.c (add_special_info): only compare the full name for
-       the special folder.
-
-       ** See bug #38671.
-
-       * camel-filter-search.c (check_header): check all instances of
-       headers for match string.
-
-2005-01-28  Not Zed  <NotZed@Ximian.com>
-
-       * camel-provider.h: Added CAMEL_URL_PART_HIDE* options, required
-       for more flexible extensibility.
-
-2005-01-29   Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-groupwise-store.c 
-       (groupwise_auth_loop) : change the default to 7191 
-       use "use_ssl" param from CamelUrl instead of soap_ssl
-
-2005-01-29   Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-groupwise-provider.c 
-       (camel_provider_init) : Make the soap mailer 
-       default for groupwise accounts. exporting USE_IMAP 
-       will cause imap to be used 
-
-2005-01-27  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-summary.c
-       (camel_imap4_summary_init): Default the have_mlist bit to TRUE so
-       that upgraders from 2.0 won't have their summaries rescanned.
-       (camel_imap4_summary_flush_updates): Always update have_mlist to
-       reflect reality.
-
-2005-01-27  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * providers/groupwise/camel-groupwise-folder.c
-       (groupwise_refresh_info):
-       (gw_update_summary): using getquickmessages instead of get items
-
-       * providers/groupwise/camel-groupwise-store.c
-       (groupwise_get_folder): using get quick messages instead of get
-       items
-
-2005-01-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-summary.c (untagged_fetch_all):
-       Decode References to improve threading code (In-Reply-To from
-       ENVELOPE just wasn't good enough to make users happy). See bug
-       #71808.
-       (untagged_fetch_all): Look at the Content-Type header to decide if
-       the message might contain attachments.
-       (imap4_summary_fetch_all): Added References and Content-Type to
-       our query.
-
-       * providers/imap4/camel-imap4-engine.c (engine_parse_namespace):
-       Fixed to handle "" as the delim portion of the NAMESPACE. Fixes
-       bug #71847.
-
-2005-01-26  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-summary.c (imap4_header_load): Check
-       whether or not we have mlist info in our summary.
-       (imap4_header_save): Save have_mlist.
-       (camel_imap4_summary_flush_updates): Modified to clear the summary
-       and do a complete refetch if enable_mlist has been newly enabled
-       and we don't already have mlist info in our summary info's.
-       (imap4_fetch_all_add): If the \Recent flag is set, also add it to
-       the "recent" changes structure so the filetr code knows to filter
-       it.
-
-2005-01-25  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
-       Setup filtering and junk filtering stuff.
-
-2005-01-24  JP Rosevear  <jpr@novell.com>
-
-       * tests/folder/test6.c: get imap4 not imap
-
-       * tests/folder/test4.c: ditto
-       
-2005-01-24  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
-       Default enable_mlist to ON.
-       (imap4_append_message): Don't compare date_received against -1,
-       compare it to 0 (since that's what it'll be if unset).
-
-2005-01-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
-       Respect the user's namespace override setting.
-       (imap4_get_folder_info): Changed the behaviour a bit to work like
-       the old imap code: only use the cache if the network is
-       unavailable, otherwise always scan the server for the folder
-       listing.
-       (imap4_get_folder_info): Always get INBOX (fix for cases where
-       INBOX wasn't under the namespace and for cases where it's not
-       subscribed).
-
-2005-01-24  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * providers/groupwise/camel-groupwise-folder.c
-       (groupwise_transfer_messages_to): using moveItemRequest for moving
-       messages between folders.
-
-2005-01-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_construct): Check if
-       we have the use_lsub url param and set the store->flags
-       appropriately.
-
-2005-01-24  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #71427.
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): fix the
-       exception case for re-prompting for the password.
-
-       ** See bug #71625, and bug #56110.
-
-       * providers/imap/camel-imap-folder.c (get_content): when getting a
-       simple content for a message, don't get .TEXT, as that is the full
-       content of a message, not the part itself.
-
-2005-01-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-summary.c (untagged_fetch_all):
-       Handle BODY[HEADER.FIELDS ...] responses for cases where we may
-       wish to query for mailing-list headers.
-       (imap4_summary_fetch_all): If enable_mlist is set for this folder,
-       then query for mailing-list headers as well.
-
-       * providers/imap4/camel-imap4-folder.c (imap4_getv): Added a new
-       property to enable mlist detection (which will change our summary
-       query to the same as the old imap code).
-       (imap4_setv): Implemented.
-
-2005-01-21  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-summary.c (imap4_header_load): Fixed
-       to load fixed_int32's rather than uint32's.
-       (imap4_header_save): Fixed to save fixed_int32's rather than
-       uint32's for compat with old imap code.
-
-       * providers/Makefile.am: Removed "imap" from the build and made
-       "imap4" the default.
-
-       * providers/imap4/libcamelimap4.urls: Fixed to only list "imap"
-
-       * providers/imap4/camel-imap4-provider.c: Changed the 'protocol'
-       string to "imap" from "imap4" so we override the old imap urls.
-
-       * providers/imap4/camel-imap4-summary.c: Updated to load/save in
-       the same format as the old imap code so no migration is necessary.
-
-       * camel-offline-journal.c: Same.
-
-       * camel-offline-folder.c (camel_offline_folder_downsync): Use a
-       new macro to get the class from the offline folder object, don't
-       cast the object as a class.
-
-2005-01-20  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * providers/groupwise/camel-groupwise-folder.c
-         (groupwise_folder_get_message) : support for status
-         for message tracking. 
-         Removed compiler warnings.
-
-2005-01-20  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * providers/groupwise/camel-groupwise-folder.c 
-         (groupwise_folder_get_message):
-         Show warning, but display message in case we cannot get
-         attachments. 
-         Display the itip control for appointments even if no 
-         message body is present
-       * providers/groupwise/camel-groupwise-store.c 
-         (groupwise_get_folder_info):
-         Not displaying the Calendar and Contacts folders in the mail
-         view.
-
-2005-01-20  Not Zed  <NotZed@Ximian.com>
-
-       * camel-lock-helper.c (main): since malloc(MAXINT+1) returns a
-       valid pointer, validate the length of the path before using it.
-       set maximum path to 65000 characters.  Spotted by Max Vozeler
-       <max@hinterhof.net>
-
-2005-01-19  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-offline-folder.c (camel_offline_folder_class_init): Only
-       init the perperties list once (class_init can be called multiple
-       times apparently).
-
-       * providers/imap4/camel-imap4-utils.c: disable debugging.
-
-       * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
-       Set a cmeta file path.
-
-       * providers/imap4/camel-imap4-command.c: Disable debugging spew
-       unless imap4:command is enabled.
-
-       * camel-offline-folder.c (camel_offline_folder_downsync): Documented.
-
-       * camel-offline-store.c (camel_offline_store_set_network_state):
-       Use NULL as the search expression which forces all messages to be
-       synced.
-
-2005-01-18  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-summary.c (imap4_header_load): Load
-       the IMAP4 summary version.
-       (imap4_header_save): Save the IMAP4 summary version.
-
-2005-01-13  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/groupwise/camel-groupwise-journal.c
-       (groupwise_entry_load): Simplified the exception case. Also, in
-       the exception case don't abort() if entry->type is an unknown type
-       (keeps us from "crashing" on invalid/corrupted journal data).
-       (camel_groupwise_journal_append): Don't free the uid here.
-       (camel_groupwise_journal_transfer): Same.
-       (groupwise_entry_write): Save the original_uid for TRANSFER types
-       as we need it when we later replay the journal.
-       (groupwise_entry_load): Load the original_uid here for TRANSFER
-       entries.
-       (groupwise_entry_free): Free the original_uid too.
-       (groupwise_entry_play_transfer): Untangled from the APPEND entry
-       replay because the code has very little to nothing in
-       common. Also, after transfer we need to get the new message info
-       structure and copy user tags/flags and system flags over or we
-       lose that information.
-       (play_update): Removed.
-
-2005-01-19  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * providers/groupwise/camel-groupwise-folder.c
-       (groupwise_folder_get_message): set the message id as the uid
-       for the CamelMimeMessage
-       
-2005-01-18  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * providers/groupwise/camel-groupwise-store.c:
-         Removed debug statements and compiler warnings
-
-2005-01-17 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * camel-groupwise-provider.c : remove poa ip and 
-       soap ssl settings. We no longer need them as we now use soap for mail 
-       
-       * camel-groupwise-store.c (groupwise_auth_loop) :
-       when use_ssl is whenever possible try to login 
-       using https and them if it fails using http 
-       
-2005-01-17  Not Zed  <NotZed@Ximian.com>
-
-       * tests/lib/folders.c (test_folder_basic): dont enforce local
-       store == no inbox; maildir implements one now.
-
-       * camel-multipart-signed.c (skip_content): in the message state
-       skip a state, otherwise we go nowhere but down an overflowed stack
-       drain.
-
-2005-01-14  Not Zed  <NotZed@Ximian.com>
-
-       ** Better fix for #65178.
-       
-       * tests/folder/test11.c: new maildir test.
-
-       * camel-store.c (camel_store_folder_uri_equal): dont pass NULL
-       values to compare_folder_name.
-
-       * providers/local/camel-maildir-store.c (get_folder_info):
-       reimplemented, now everything isn't a subfolder of INBOX ('.')
-       anymore.
-       (get_inbox): call main entry point so we don't create multiple
-       inboxes each call.
-       (scan_dirs): re-implemented using non-recursive implementation.
-       (scan_fi, scan_free, scan_equal, scan_hash): helpers for above.
-       (md_canon_name): helper to canonicalise old-format names to new
-       ones.
-       (maildir_hash_folder_name, maildir_compare_folder_name): implement
-       custom folder hash functions so canonicalisation works.
-       (get_folder): canoncalise name before using it.  special case '.'
-       aka 'inbox', so that it is implicitly created if accessed.
-       (delete_folder): don't let the caller delete ".".
-       (camel_folder_info_new): removed.
-
-2005-01-14  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/smtp/camel-smtp-transport.c
-       (connect_to_server_wrapper): if the first connection fails, clear
-       the exception before trying again.
-       (connect_to_server): Use ssl_new_raw() for STARTTLS mode
-       conenctions. Fixes bug #71082.
-
-2005-01-14  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-journal.c (imap4_entry_play_append):
-       Get the appended_uid from camel_folder_append_message() so that we
-       can copy all user flags/tags over from the journal info over to
-       the real summary info once the append has completed (assuming of
-       course that the server supports UIDPLUS).
-       (camel_imap4_journal_readd_failed): New function to readd
-       message-info's from failed journal appends to the folder summary
-       so that they aren't lost from the user's message-list (they have
-       to temporarily be removed while the summary updates itself from
-       the server or Bad Things (tm) would happen).
-
-       * providers/imap4/camel-imap4-summary.c
-       (camel_imap4_summary_flush_updates): Readd the failed journal
-       replay info's to the summary so even if messages fail to be
-       appended to the folder, the user will still see them in his/her
-       message-list.
-
-2005-01-12  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-provider.c: Use the same key
-       shortcuts as current imap code.
-
-2005-01-13  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #65178.
-
-       * providers/local/camel-maildir-store.c (get_folder_info)
-       (get_folder): if the incoming folder name starts with /, convert
-       it to implicit start with "./".
-
-       ** See bug #69024.
-
-       * providers/nntp/camel-nntp-store.c
-       (nntp_store_get_subscribed_folder_info): emit a folder_changed
-       event if refreshing it added any changes.
-
-2005-01-12  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #47824.
-
-       * camel-multipart-signed.c (parse_content): re-implemented to use
-       camel-mime-parser.  For the annoying pathalogical case of re-used
-       multipart boundary markers.
-
-       * camel-mime-parser.c (folder_scan_step): modified the multipart
-       state so that we don't try to match the same boundary again if
-       we've already seen an end boundary for this part.  This is for the
-       annoying case of a multipart inside a multipart which shares an
-       identical boundary marker (groupwise!).
-       (camel_mime_parser_tell_start_boundary): new function to indicate
-       the offset of the start of the last boundary.
-
-       * tests/message/test3.c (main): remove the nonfatal fixme & put
-       extra null check for pre/postface text checks.
-
-       * tests/message/test2.c (convert): use size_t for iconv length
-       types.
-
-2005-01-11  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-store-summary.c
-       (camel_imap4_store_summary_get_folder_info): Fixed a possible
-       uninitialised condition.
-
-2005-01-12  Sushma Rai <rsushma@novell.com>
-
-       * camel-provider.[ch]: Removed camel_provider_validate_user()
-       and added a void pointer to CamelProvider structure. 
-
-2005-01-12  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #70095.
-
-       * camel-vee-folder.c (vee_delete): fix past-o, unlock not lock
-       lock when done.
-
-2005-01-08  Not Zed  <NotZed@Ximian.com>
-
-       * camel-sasl-ntlm.c: convert all the unsigned long/long stuff to
-       guint32 since it seems to need 32 bit integers.
-
-       * camel-url.c (camel_url_new_with_base): cast length to int.
-
-       * providers/imap/camel-imap-command.c
-       (imap_command_strdup_vprintf): cast strlen to int.
-
-       * camel-mime-utils.c (append_quoted_pair, header_decode_text): use
-       gssize for length to match dumb g-api.
-
-2005-01-11  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * providers/groupwise/camel-groupwise-store.c
-         (groupwise_create_folder): fixed a crash when creating a folder.
-         was not building the folder info
-
-2005-01-11  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * providers/groupwise/camel-groupwise-folder.c
-         (groupwise_sync): to sync back flags to the server. currently
-         can sync only read messages.
-         (groupwise_append_message): set source based on folder 
-       * providers/groupwise/camel-groupwise-utils.[ch]
-         (do_flags_diff): finds the difference between flags. Based on the
-         imap4 code by fejj
-
-2005-01-11  JP Rosevear  <jpr@novell.com>
-
-       * providers/groupwise/camel-groupwise-transport.h: remove defines
-
-       * providers/groupwise/camel-groupwise-transport.c (groupwise_send_to) 
-       (groupwise_send_to): use util routine to build item
-
-       * providers/groupwise/camel-groupwise-store.h: new protos
-
-       * providers/groupwise/camel-groupwise-store.c
-       (groupwise_rename_folder): use new api name and don't strdup the
-       lookup name
-       (camel_groupwise_store_folder_lookup): find folder from container id
-
-       * providers/groupwise/camel-groupwise-journal.[hc]: implement
-       journalling for append and transfer
-
-       * providers/groupwise/camel-groupwise-folder.h: add journal member
-
-       * providers/groupwise/camel-groupwise-folder.c
-       (groupwise_folder_get_message): use new api name and don't strdup
-       the lookup name
-       (groupwise_refresh_info): ditto
-       (groupwise_append_message): ditto
-       (groupwise_expunge): ditto
-       (groupwise_transfer_messages_to): handle being in offline mode
-
-       * providers/groupwise/Makefile.am: build journal sources
-
-2005-01-11 Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * providers/groupwise/camel-groupwise-folder.c
-         (groupwise_append_message): support for append messages
-         into groupwise folders.
-       * providers/groupwise/camel-groupwise-utils.[ch]
-         (camel_groupwise_util_item_from_message): creates an groupwise
-         item from CamelMimeMessage
-       
-2005-01-11 Vivek Jain  <jvivek@novell.com>
-       * camel-store.h : defined flags for shared folders
-
-2005-01-11  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #70919.
-
-       * camel-multipart-signed.c (parse_content): treat the post pointer
-       as binary, not 0 terminated.
-
-2004-12-23  Not Zed  <NotZed@Ximian.com>
-      ** See bug #70556.
-      
-      * providers/imap/camel-imap-command.c (imap_read_untagged): scan
-      the non-literal contnet for s-expression brackets, and if we seem
-      to be outside of one, don't try the 'blank line after literal'
-      hack.
-
-2005-01-10  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/groupwise/camel-groupwise-folder.c
-       (groupwise_folder_get_message): Updated the offline check to use
-       CamelOffline methods.
-       (groupwise_refresh_info): Same.
-       (groupwise_cache_message): Removed.
-       (groupwise_folder_get_message): Use CAMEL_RECIPIENT_TYPE_* rather
-       than strings.
-       (groupwise_expunge): Updated to fit the normal CamelStore expunge
-       API and fixed a deadlock condition.
-
-       * providers/groupwise/camel-groupwise-store.c
-       (groupwise_get_folder_offline): Removed.
-       (groupwise_get_folder_online): Renamed to groupwise_get_folder()
-       and made to handle offline case.
-       (groupwise_connect_offline): Removed.
-       (groupwise_disconnect_offline): Removed.
-       (groupwise_get_fodler_info_online): Renamed
-       groupwise_get_folder_info() - if in offline mode, do the offline
-       thing.
-       (groupwise_create_folder): Updated for CamelOfflineStore stuff.
-       (groupwise_delete_folder): Same.
-       (groupwise_rename_folder): Same.
-
-       * providers/imap4/camel-imap4-stream.c: Disable token debug spew
-       unless imap4:stream debug is enabled.
-
-2005-01-10  Sushma Rai <rsushma@novell.com>
-
-       * camel-provider.[ch] (camel_provider_validate_user):
-       Given the server URL, validates the user credentials if
-       the provider supports.
-       Added temporarily for Exchange connector, will be removed
-       once connector plugin is made external.
-
-2005-01-10  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * providers/groupwise/camel-groupwise-folder.c
-       (groupwise_folder_get_message),
-       (groupwise_refresh_info): included default and notification in
-       the view list for e_gw_connection_get_item.
-       
-       * providers/groupwise/camel-groupwise-store.c
-       (groupwise_get_folder_online):included default and notification
-       in the view list for e_gw_connection_get_items.
-       
-       * providers/groupwis/camel-groupwise-transport.[ch]
-       (groupwise_send_to): sets send options in EGwItem by parsing the
-       camelmimemessage for send-option headers
-
-2005-01-10  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * providers/groupwise/camel-groupwise-store-summary.[ch]:
-       implements the CamelStoreSummary Class providing support
-       for store summary for the soap provider.
-
-       * providers/groupwise/camel-groupwise-store.c
-       (groupwise_get_folder_info_online): saves the store summary
-       after building folder info.
-  
-2005-01-07  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_connect): Same as
-       imap4-folder changes.
-       (imap4_disconnect): Same.
-       (imap4_get_folder): Same.
-       (imap4_query_auth_types): Same.
-       (imap4_create_folder): Same.
-       (imap4_delete_folder): Same.
-       (imap4_rename_folder): Same.
-       (imap4_subscribe_folder): Same.
-       (imap4_unsubscribe_folder): Same.
-
-       * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
-       Instead of checking the session online state, check the
-       OfflineStore network availability state.
-       (imap4_sync): Same.
-       (imap4_refresh_info): Same.
-       (imap4_get_message): Here too.
-       (imap4_append_message): Same.
-       (imap4_transfer_messages_to): Same.
-
-2005-01-07  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * providers/groupwise/camel-groupwise-transport.c
-       (groupwise_send_to): fixed the problem of the mail message (body)
-       being treated as an attachment
-
-2005-01-07  JP Rosevear  <jpr@novell.com>
-
-       * providers/groupwise/camel-groupwise-store.c
-       (groupwise_store_construct): don't free an alloca'd memory pointer
-
-2005-01-06  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-summary.c: Changed to use the new
-       CamelOfflineJournal API.
-
-       * providers/imap4/camel-imap4-journal.c: Changed to inherit from
-       the new CamelOfflineJournal class.
-
-       * providers/imap4/camel-imap4-folder.c: Changed to inherit from
-       CamelOfflineFolder
-       (camel_imap4_folder_class_init): Removed the properties setup code
-       - no longer needed as it is handled in our parent class now.
-       (camel_imap4_folder_finalize): Use camel_offline_journal_write()
-
-       * providers/imap4/camel-imap4-store.c: Changed to inherit from
-       CamelOfflineStore rather than CamelStore.
-
-       * camel-offline-journal.[c,h]: New abstract class for keeping a
-       journal of folder operations done while in offline mode. (Future
-       replacement for CamelDiscoDiary?)
-
-       * camel-offline-folder.[c,h]: New abstract class for offline
-       folders - handles syncing messages from the server to disk for
-       offline use. (Future replacement for CamelDiscoFolder?)
-
-       * camel-offline-store.[c,h]: New abstract class for offline stores
-       - handles switching between network avail/unavail. (Future
-       replacement for CamelDiscoStore?)
-
-2005-01-06 Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * providers/groupwise/camel-groupwise-store.[ch]
-       (groupwise_get_folder_info_online): update the total and unread
-       mail count from soap response
-       (groupwise_rename_folder): fixed problems in renaming groupwise
-       folders
-       (storage_path_lookup): returns the storage path for the groupwise
-       account
-
-       * providers/groupwise/camel-groupwise-folder.c
-       (groupwise_folder_get_message): support for shared folder
-       notification type. displaying the itip control for appoinments.
-       (groupwise_folder_rename): support function for renaming cache and
-       summary when a groupwise folder is renamed
-       (groupwise_transfer_online): function for copying/moving messages
-       between folders
-       (convert_to_calendar): function to populate data for displaying
-       appointments by itip control
-
-       * providers/groupwise/camel-groupwise-transport.c
-       (groupwise_send_to): support for sending attachments
-
-2005-01-04  Sivaiah Nallagatla     <snallagatla@novell.com>
-
-       * providers/groupwise/camel-groupwise-store.c
-       (groupwise_create_folder, groupwise_delete_folder),
-       (groupwise_rename_folder): prevent these operations in offline
-       mode
-
-2005-01-04  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * providers/groupwise/camel-groupwise-store.c
-       (groupwise_store_construct): initialise the store summary.
-
-2005-01-04  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * providers/groupwise/camel-groupwise-transport.c
-       (groupwise_send_to): freeing the recipient list and assigning to
-       NULL, which was causing a crash while sending mails.
-
-2004-12-31  JP Rosevear  <jpr@novell.com>
-
-       * providers/groupwise/Makefile.am: dist the private header, fix
-       includes
-
-       * tests/smime/pgp.c (main): use define for data location
-
-       * tests/smime/Makefile.am: define for the data dir
-
-       * tests/mime-filter/test-charset.c (main): load and output to the
-       correct dir
-
-       * tests/message/Makefile.am: clean up generated files
-
-       * Makefile.am: clean up the package config data
-
-       * tests/Makefile.am: dist the data dir
-
-2004-12-23  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-groupwise-provider.c : changed the
-       offline_sync setting label 
-
-2004-12-23  Parthasarathi Susarla <sparthasarathi@novell.com>
-       * providers/groupwise/camel-groupwise-private.h:
-         Added the file which was missed out in the previous commit.
-
-2004-12-23  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * providers/groupwise/camel-groupwise-store.[ch]
-       * providers/groupwise/camel-groupwise-transport.[ch]
-       * providers/groupwise/camel-groupwise-utils.[ch]
-       * providers/groupwise/camel-groupwise-store-summary.[ch]
-       * providers/groupwise/camel-groupwise-summary.[ch]:
-        Added the above files for implementing mailer for soap based
-        camel provider for groupwise server.
-       * providers/groupwise/Makefile.am : added new files to SOURCES 
-       * providers/groupwise/camel-groupwise-provider.c:(camel_provider_module_init): 
-       check for an environment variable SOAP_MAILER, if not present will use IMAP 
-       instead of soap.
-
-2004-12-23  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-search.c (check_header): treat a missing header as
-       if it was set to "".
-
-       * camel-object.c (camel_object_is, camel_object_class_is)
-       (camel_interface_is): check for null values before dereferencing
-       them.
-
-2004-12-20  David Mosberger-Tang  <David.Mosberger@acm.org>
-
-       * camel-mime-parser.c: Include "libedataserver/e-memory.h".
-       (STRUCT_ALIGN): Remove.
-       (MemPoolNode): Likewise.
-       (MemPoolThresholdNode): Likewise.
-       (MemPool): Likewise.
-       (mempool_new): Likewise.
-       (mempool_alloc): Likewise.
-       (mempool_flush): Likewise.
-       (mempool_free): Likewise.
-       (struct _header_scan_stack): Change type of "pool" from MemPool to
-       EMemPool.
-       (folder_pull_part): Call e_mempool_destroy() instead of
-       mempool_free().
-       (header_append_mempool): Call e_mempool_alloc() instead of
-       mempool_alloc().
-       (folder_scan_header): Call e_mempool_new() instead of
-       mempool_new().
-
-2004-12-20  Not Zed  <NotZed@Ximian.com>
-
-       * camel-operation.c (camel_operation_init): remove
-       (camel_operation_shutdown): remove.
-       (co_getcc): new helper to get the current thread-specific value &
-       init if need be.
-
-       * camel-mime-utils.c (camel_mime_utils_init): removed, taken from
-       prebuilt tables now.
-       (header_remove_bits, header_init_bits, header_decode_init) 
-       (base64_init): removed, handled by perl script now.
-
-       * camel.c (camel_shutdown): dont shutdown mime utils anymore.
-
-       * camel-mime-utils.c (mailing_list_init): move the mailing list
-       init stuff from camel-mime-utils-init to here.
-       (camel_header_raw_check_mailing_list): call mailing_list_once to
-       init the regular expression tables.
-       (camel_mime_utils_shutdown): removed, it can 'leak' the static
-       memory.
-       (base64_init): removed, this data never changes, keep table in
-       static memory.
-
-2004-12-15  Rodney Dawes  <dobey@novell.com>
-
-       * Makefile.am: Move camel-search-private.h to libcamelinclude_HEADERS
-       so we can install it so Evolution can build from a disted tarball
-
-2004-12-14  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-folder.c
-       (imap4_transfer_messages_to): Doh. Unlock the connect_lock at the
-       end, don't lock it again :)
-
-       * providers/imap4/camel-imap4-journal.c
-       (camel_imap4_journal_append): Now takes an appended_uid
-       argument. Also fixed to add a message-info place-holder to the
-       summary.
-
-       * providers/imap4/camel-imap4-folder.c (imap4_append_message): get
-       an appedned_uid for the journalled append.
-       (imap4_transfer_messages_to): Updated for appended_uid API change.
-
-2004-12-14  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-journal.[c,h]: New source files
-       implementing a basic journal.
-
-       * providers/imap4/camel-imap4-summary.c
-       (camel_imap4_summary_flush_updates): Replay the journal.
-
-       * providers/imap4/camel-imap4-folder.c
-       (camel_imap4_folder_finalize): Write/unref the journal.
-       (camel_imap4_folder_new): Create a journal object.
-       (imap4_append_message): Journal the message append if we're in
-       offline mode.
-       (imap4_transfer_messages_to): Implement offline copy/move support
-       using the new journal code.
-
-2004-12-09  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-folder.c (imap4_append_message):
-       Don't bother sending UID APPEND if the caller doesn't care about
-       appended_uid.
-
-2004-12-13  Not Zed  <NotZed@Ximian.com>
-
-       * tests/lib/Makefile.am: put the test-provider stuff back in.
-
-       * tests/*/Makefile.am: version libcamel*.
-
-       * tests/lib/camel-test-provider.[ch]: duh, re-implement, it got
-       lost somehow.
-
-2004-12-07  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-folder.c (imap4_append_message):
-       Need to have the folder as the first vararg.
-
-2004-12-06  Rodney Dawes  <dobey@novell.com>
-
-       * camel-lock-client.c (camel_lock_helper_init):
-       Exec camel-lock-helper-$BASE_VERSION instead of just camel-lock-helper
-
-2004-12-06  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-sasl-gssapi.c: #include "camel-net-utils.h"
-
-       * camel-net-utils.h: #include sys/types.h for size_t, etc.
-
-2004-12-06  Rodney Dawes  <dobey@novell.com>
-
-       * Makefile.am: Fix pkgconfig bits to dist the unversioned .in files
-       properly
-
-       * tests/lib/Makefile.am: Removed camel-test-provider stuff, since it
-       isn't in the source tree
-
-2004-11-29  Mengjie Yu  <meng-jie.yu@sun.com>
-
-       * providers/imap/camel-imap-provider.c:add mnemonic for checkboxes.
-
-2004-12-03  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-store.c (connect_to_server): Same.
-
-       * providers/nntp/camel-nntp-store.c (connect_to_server): Same.
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Same.
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server): Same.
-
-       * providers/smtp/camel-smtp-transport.c (connect_to_server): Wrap
-       ssl stream stuff in #ifdef's so the code can be built without SSL
-       support and not contain unresolved symbols.
-
-2004-12-03  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-groupwise-provider.c: Remove
-       unnecessary includes . Remove camel-gw-listener stuff from here as
-       we are going to make it a plugin
-
-       * providers/groupwise/Makefile.am: Remove camel-gw-listner.c from
-       SOURCES
-
-       * providers/Makefile.am: add groupwise to SUBDIRS 
-               
-2004-12-02  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #69533.
-
-       * providers/imap/camel-imap-command.c (imap_read_untagged): gross
-       hack, if we get a blank line after a literal, assume the server
-       (read: groupwise) made a mistake.  Given the complexity of this
-       code i'm not sure it is the server anyway but what can you do.
-
-2004-12-01  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #69776.
-
-       * camel-multipart-signed.c (parse_boundary): take end of data
-       argument, so it handles binary data.  Use a binary data string
-       search rather than strstr.
-       (parse_content): dont bother to append a \0 on the end of the
-       data, not binary capable.
-
-2004-11-23  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #69615.
-
-       * camel-smime-context.c (sm_get_passwd): removed.  All callers
-       that passed it now pass NULL.  This is so we don't override the
-       password function set by e-cert-db.  Seems to work ok, I think.
-
-2004-11-22  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #69109.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): if we have
-       ipv6 address and it is numeric, prefix it with "IPv6:"
-
-2004-11-30  Not Zed  <NotZed@Ximian.com>
-
-       * providers/nntp/camel-nntp-stream.c (CAMEL_NNTP_STREAM_LINE):
-       rename to STREAM_LINE_SIZE so it doesn't override the STREAM_LINE
-       enum.  Sigh.
-       (camel_nntp_stream_init): fix for above change.
-
-2004-11-28  S.Çağlar Onur  <caglar@uludag.org.tr>
-
-       ** See bug #69446.
-
-       * camel-charset-map.c (camel_charset_iso_to_windows):
-
-       * camel-filter-search.c (check_header):
-
-       * camel-folder-search.c (check_header):
-
-       * camel-folder-summary.c
-       (message_info_new,summary_build_content_info,camel_system_flag):
-
-       * camel-html-parser.c (camel_html_parser_attr):
-
-       * camel-mime-filter-enriched.c 
-       (param_parse,camel_mime_filter_enriched_init):
-
-       * camel-mime-parser.c (folder_scan_step,main):
-
-       * camel-mime-utils.c (camel_header_param,camel_header_set_param),
-       (camel_content_type_is,camel_transfer_encoding_from_string),
-       (camel_content_type_format,camel_content_type_simple),
-       (camel_header_decode_date,header_raw_find_node):
-
-       * camel-sasl-digest-md5.c (decode_data_type):
-
-       * providers/imap/camel-imap-command.c (camel_imap_response_free):
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new),
-       (camel_imap_folder_selected,imap_refresh_info),
-       (camel_imap_folder_new,camel_imap_folder_selected):
-
-       * providers/imap/camel-imap-store.c (imap_get_capability),
-       (imap_connect_online,get_folder_online,get_folder_offline),
-       (get_subscribed_folders,folder_hash,get_folders):
-
-       * providers/pop3/camel-pop3-store.c (get_folder):
-
-       * tests/lib/folders.c (test_folder_message_ops): some strcasecmp()
-       calls changed with g_ascii_strcasecmp() for Turkish character
-       conversiton problems
-       [http://www.i18nguy.com/unicode/turkish-i18n.html]
-
-2004-10-12  Radek Doulik  <rodo@ximian.com>
-
-       * camel-junk-plugin.c: new init method implementation
-
-       * camel-junk-plugin.h: added junk plugin init declaration
-
-2004-11-10  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #69109.
-       
-       * camel-service.c (cs_getnameinfo): honour the NI_NAMEREQD flag.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): change the
-       nameinfo flags a bit so we know when we got a numeric name and
-       need to wrap it in [].
-
-2004-11-21 Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * providers/groupwise/camel-groupwise-provider.c : added 
-       a setting to mark the account for offline usuage 
-
-       * providers/groupwise/came-gw-listener.c 
-       (add_esource) (modify_esource) : changed the prototypes
-       to pass CamelUrl instead of individual properties 
-       Add offline_sync property on e-sources if account is 
-       marked for offline
-
-2004-11-18  Not Zed  <NotZed@Ximian.com>
-
-       * providers/nntp/camel-nntp-stream.c:
-       * providers/nntp/camel-nntp-store.c:
-       * providers/nntp/camel-nntp-summary.c: Make debug run based on
-       'nntp' debug option.
-
-       * providers/nntp/camel-nntp-stream.c (stream_fill): if we get a 0
-       read, return ECONNRESET.  This should really have been put on the
-       stream for that imap hack fix.
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_try_authenticate):
-       retry if the password attempt failed.
-
-       ** See bug #68556.
-
-       * providers/nntp/camel-nntp-store.c (xover_setup): don't overwrite
-       exception if we get a failure.
-       (camel_nntp_command): if we continue, then set the return code to
-       -1, so we re-loop rather than abort.
-
-2004-11-15  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
-       In the fallback cases, clear the exception first.
-
-       * providers/imap/camel-imap-store.c (connect_to_server_wrapper):
-       In the fallback cases, clear the exception first.
-
-       * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper):
-       In the fallback cases, clear the exception first.
-
-2004-11-15  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Use
-       camel_tcp_stream_ssl_new_raw() for STARTTLS stream.
-
-       * providers/imap4/camel-imap4-store.c (connect_to_server): Use
-       camel_tcp_stream_ssl_new_raw() for STARTTLS stream.
-
-       * providers/pop3/camel-pop3-store.c: Change default port numbers
-       to be correct (they shouldn't all be the pop3s port).
-       (connect_to_server): Moved the last tcp_stream unref to afetr the
-       last fail-check so that we won't ever get a double-unref on
-       something we only own one ref on.
-       (connect_to_server): Unref the tcp_stream if we fail to create an
-       engine object before returning fail.
-       (connect_to_server): Use camel_tcp_stream_ssl_new_raw() for
-       STARTTLS stream.
-
-       * providers/imap4/camel-imap4-stream.c (camel_imap4_stream_line):
-       Fix bug #69408 by filling our input buffer if inptr == inend.
-
-2004-11-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-engine.c
-       (camel_imap4_engine_parse_resp_code): Handle numeric tokens for
-       the COPYUID set values as well.
-
-2004-11-12  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-summary.c (camel_imap4_summary_new):
-       Folder now gets set on the CamelFolderSummary object rather than
-       the CamelIMAP4Summary.
-       (imap4_fetch_all_update): Base summary class now has a folder
-       member, use that instead.
-       (imap4_fetch_all_add): Same.
-       (imap4_summary_fetch_all): Same.
-       (imap4_summary_fetch_flags): Same.
-       (camel_imap4_summary_set_uidvalidity): Same.
-       (camel_imap4_summary_expunge): Same.
-       (camel_imap4_summary_flush_updates): Same.
-
-       * providers/imap4/camel-imap4-folder.c (imap4_append_message):
-       Init appended_uid value to NULL
-
-       * providers/imap4/camel-imap4-engine.c (engine_parse_namespace):
-       Properly handle NILs for the namespace separator (somehow I missed
-       this, silly me).
-
-2004-12-02  Not Zed  <NotZed@Ximian.com>
-
-       * Makefile.am: version all the libraries with the base version of the
-       package.  move libcamel-1.2 into libdir, etc.
-
-       * camel.pc.in: remove the provider stuff from here.
-
-       * camel-provider.pc.in: create a camel-provider pc file.
-
-2004-11-16  Not Zed  <NotZed@Ximian.com>
-
-       * tests/lib/folders.c (test_folder_message_ops): updated counts for
-       delete also marking unread.
-
-       * tests/lib/camel-test.c (camel_test_provider_init): new api for
-       initialising test system 'in-build'.
-
-       * camel-provider.c: remove the assertions, init if we need to,k
-       use pthread_once stuff to serialise it.
-
-       * tests/folder/test3.c (main): remove gtk stuff (???).
-
-       * tests/*: Fix all the makefiles.  Made make-check work 'in-build'.
-
-       * tests/lib/folders.c (test_folder_counts): update for api changes.
-       (test_message_info): similar.
-
-       * providers/Makefile.am: removed groupwise from the build, this
-       can't go in here anymore, not in its current state.
-
-       * camel-net-utils.c (camel_gethostbyaddr_r)
-       (camel_gethostbyname_r): the old e_gethost* calls from
-       e-host-utils.c.
-
-2004-11-15  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_path_to_physical):
-       copied from e-path.c.
-       (imap_path_find_folders): copied from e-path.c.
-
-       * camel.h: remove the provider stuff from the header.
-
-       * camel-provider.c: globalise provider_init variable, and asserton
-       it in all functions that rely on it.
-
-       * camel-service.c: removed getaddrinfo/etc.
-
-       * camel-net-utils.[ch]: separate out camel_getaddrinfo etc.
-
-       * Makefile.am: split camel into 2 libraries, libcamel and
-       libcamel-store.
-
-       * camel-multipart-signed.c (camel_multipart_signed_sign)
-       (camel_multipart_signed_verify, prepare_sign): remove old
-       deprecated api.
-
-       * camel-multipart-encrypted.c (camel_multipart_encrypted_encrypt) 
-       (camel_multipart_encrypted_decrypt): remove old deprecated api.
-
-2004-11-12  Not Zed  <NotZed@Ximian.com>
-
-        ** Merge in notzed-messageinfo-branch, fix some minor conflicts.
-
-2004-11-11  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_reconnect): Free the
-       passwd here if we need to retry to authenticate.
-
-2004-11-10  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-summary.c (imap4_summary_fetch_all):
-       Use the expanded ALL macro as on closer inspection of the RFC,
-       we're not allowed to use macros in conjunction with other FETCH
-       items (such as UID in our case).
-
-2004-11-09  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): before
-       short-circuiting the check for child content, check the child
-       content info is actually correct.
-
-2004-11-08  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #69145.
-
-       * providers/imap/camel-imap-folder.c (get_message): remove spec
-       argument, always calculate it from the content-info.
-       (content_info_incomplete): recursively check the content-info for
-       completeness, not just one level.
-
-2004-11-09  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-provider.c: Updated the properties
-       to include all the same settings as the old imap code.
-
-       * providers/imap4/camel-imap4-folder.c (imap4_getv): Implemented.
-       (imap4_setv): Implemented.
-
-2004-11-08  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fix for bug #69241.
-
-       * camel-gpg-context.c (gpg_decrypt): We need to extract just the
-       application/pgp-encrypted part from the multipart/encrypted that
-       gets passed in. Added checks to verify that the input part is the
-       correct type as well. Once we have the application/pgp-encrypted
-       part, we need to use camel_data_wrapper_decode_to_stream() in case
-       the part was encoded in any way.
-
-2004-11-09  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-stream.c (camel_imap4_stream_line):
-       Handle not getting the CRLF pair together. Also don't require that
-       we have at least 3 bytes in the read buffer as it is possible we
-       don't have that much (see bug #69160).
-
-2004-11-08  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_subscribe_folder):
-       Note the folder-info just subscribed.
-       (imap4_unsubscribe_folder): Unnote the folder-info.
-
-2004-11-04  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-engine.c: Added much in-line
-       documentation.
-       (engine_parse_capability): Use g_ascii_str[n]casecmp().
-       (camel_imap4_engine_nstring): New convenience function.
-
-2004-11-02  Not Zed  <NotZed@Ximian.com>
-
-       * camel-object.c (camel_object_hook_event): check interfaces for
-       events too.
-       (camel_object_trigger_event): check interfaces for events too.
-       (camel_object_class_add_event): more checks for interfaces vs
-       normal object classes.
-       (camel_object_class_add_interface): add an interface to a class.
-       (camel_object_get_interface): query for interfaces on an object.
-       (camel_object_get_type): register the interface type.
-
-2004-11-02  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_folder_utf7_name):
-       Don't bother getting the folder delim if the name is "" since we
-       don't need it in that case.
-
-       * providers/imap4/camel-imap4-utils.c
-       (camel_imap4_get_path_delim): add an assert that s->namespaces is
-       non-NULL.
-
-       * providers/imap4/camel-imap4-stream.c
-       (camel_imap4_stream_literal): Update stream->inptr after fetching
-       the literal chunk.
-
-       * providers/imap4/camel-imap4-summary.c (envelope_decode_address):
-       Do proper cleanup in case of error and also handle literals.
-
-       * providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
-       Removed camel_service_connect() call which is no longer needed.
-       (imap4_connect): If engine is already connected, shortcut to
-       simply returning success.
-       (imap4_disconnect): Check engine state rather than poking at
-       stream state.
-
-2004-11-01  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/smtp/camel-smtp-transport.c
-       (connect_to_server_wrapper): Do the same SSL->TLS and TLS->CLEAR
-       fallbacks that the 2.0 (and older) code did.
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
-       Same.
-
-       * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper):
-       Same.
-
-       * providers/imap/camel-imap-store.c (connect_to_server_wrapper):
-       Same.
-
-2004-11-01  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-summary.c
-       (camel_imap4_summary_expunge): Remove expunged messages from the
-       cache.
-       (camel_imap4_summary_set_uidvalidity): Clear the cache if the
-       UIDVALIDITY has changed.
-
-       * providers/imap4/camel-imap4-folder.c (imap4_get_message): If the
-       message exists in the cache, use that rather than fetching it from
-       the server and cache messages fetched from the server for later
-       use.
-       (camel_imap4_folder_finalize): Unref the cache if non-NULL.
-       (camel_imap4_folder_new): Create the CamelDataCache.
-
-       * providers/imap4/camel-imap4-store.c (imap4_create_folder): Cache
-       the folder-info on the summary if successful.
-       (imap4_delete_folder): Un-cache the folder-info from the summary.
-
-       * providers/imap4/camel-imap4-store-summary.c (load_namespaces):
-       Cleaned up a bit.
-       (save_namespaces): Same.
-       (camel_imap4_store_summary_unnote_info): New function.
-       (camel_imap4_store_summary_get_folder_info): Fixed the logic a
-       bit.
-
-2004-11-11  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap4/*: Update for folder-summary api changes.
-
-       * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
-       clean up the logic for getting counts from the folder, we have
-       code to do this already.  Also always run it against the selected
-       folder, does'nt need to have FAST bit unset.
-
-       * camel-folder-summary.c (camel_folder_summary_info_new): removed.
-
-       * camel-string-utils.c (camel_pstring_strdup, camel_pstring_free):
-       pooled string allocators.  Oh so much easier than the poolv thing,
-       and these refcount too.
-
-       * camel-folder-summary.h: put message_id back into the summary.
-
-2004-11-08  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (camel_folder_get_deleted_message_count): use
-       getv method to get the deleted count.
-       (get_deleted_message_count): removed.
-
-       * camel-vtrash-folder.c (vtrash_getv): override the unread count
-       to ignore junked or deleted.
-
-       * camel-folder.c (folder_getv): ignore junked and deleted in the
-       unread count.
-
-       * camel-vee-folder.c (camel_vee_folder_finalise): changed the
-       logic slightly not to call internal functions directly.
-       (vee_delete): implement, remove all our folders when we're
-       deleted, to give unmatched at least a snowflakes chance in hell of
-       working.
-
-       * camel-vtrash-folder.c (vtrash_search_by_expression)
-       (vtrash_search_by_uids, vtrash_folder_changed, vtrash_add_folder)
-       (vtrash_remove_folder, vtrash_rebuild_folder): implement
-       vtrash-optimised versions.  Much faster.
-
-       * camel-vee-folder.c (camel_vee_folder_set_folders): don't rebuild
-       the folder.
-       (camel_vee_folder_add_folder): track folders here, but invoke
-       virtual method to let subclasses know about it.
-       (camel_vee_folder_remove_folder): similar.
-       (vee_search_by_uids): free the folder_uids array with TRUE,
-       plugging memory leak.
-
-2004-11-06  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c: Removed vname, use Folder->full_name
-       instead.  Make add_folder/remove_folder/set_expression/set_folders
-       virtual methods.
-       (vee_add_folder): virtual implementation.
-
-       * camel-vee-summary.c (camel_vee_summary_add): remove folder arg.
-
-2004-11-05  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-summary.c (vee_info_set_flags): don't emit changed for
-       ourselves, let it filter through the changed handler, otherwise we
-       do it twice.
-       (vee_info_set_user_tag, vee_info_set_user_flag): same.
-
-       * camel-folder-summary.c (message_info_new_from_header): use the
-       string pool for allocations.
-       (message_info_load): same here.
-       (camel_pstring_strdup): noop for NULL or ""
-       (camel_pstring_free): same.
-       (summary_assign_uid): don't always assing the flagged bit, der.
-
-2004-11-02  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-summary.c (camel_pstring_strdup)
-       (camel_pstring_free, message_info_free, message_info_clone):
-       'uniquify' the strings.
-
-2004-10-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-summary.c (envelope_decode_nstring):
-       Handle literal strings.
-       (envelope_decode_date): Same. Fixes bug #68894.
-
-       * providers/imap4/camel-imap4-stream.c
-       (camel_imap4_stream_next_token): Properly tokenise "\*" as a flag
-       token. Fixes bug #68869.
-
-2004-10-21  Björn Torkelsson <torkel@acc.umu.se>
-
-       * camel-sasl-kerberos4.c: #include "camel-i18n.h"
-
-2004-10-27  Julio M. Merino Vidal <jmmv@menta.net>
-
-       * camel-operation.c (camel_operation_shutdown): fix the arguments
-       to pthread_key_delete.
-
-2004-10-26  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-store-summary.[c,h]: New files
-       implementing a folder-info cache for offline mode (and faster
-       startup I guess).
-
-       * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
-       Cache the folder-info for later use in offline mode.
-
-       * providers/imap4/camel-imap4-utils.c
-       (camel_imap4_get_path_delim): Instead of assigning top = "INBOX",
-       do strcpy (top, "INBOX") so that we can later modify the
-       string. Fixes bug #68814.
-
-2004-10-25  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-engine.c (engine_parse_namespace):
-       Updated to use the public function in camel-imap4-utils.c
-       (camel_imap4_engine_finalize): Same.
-
-       * providers/imap4/camel-imap4-store.c (imap4_construct): Setup and
-       load the store summary.
-       (camel_imap4_store_finalize): Unref the store summary.
-       (imap4_get_folder): Implemented offline support.
-       (imap4_folder_utf7_name): Pass the summary to get_delim rather
-       than the engine.
-       (imap4_create_folder): Same.
-       (imap4_reconnect): Update the namespaces on the store summary.
-       (connect_to_server): Update the store summary capabilities.
-
-       * providers/imap4/camel-imap4-utils.c
-       (camel_imap4_get_path_delim): Now takes a store-summary rather
-       than an engine so that it will work in offline mode.
-       (camel_imap4_namespace_clear): Moved here from
-       camel-imap4-engine.c
-       (camel_imap4_namespace_list_copy): New convenience function.
-       (camel_imap4_namespace_list_free): New.
-
-       * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
-       Check the return value of summary loading in offline mode (if it
-       fails, we can't get the folder).
-
-2004-10-21  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-sasl-gssapi.c: #include "camel-i18n.h"
-
-2004-10-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_get_folder): Don't
-       allow users to create folders in offline mode. When in offline
-       mode, use a different codepath to get a folder object.
-       (imap4_noop): Handle offline mode.
-       (imap4_unsubscribe_folder): Throw an exception if we are in
-       offline mode.
-       (imap4_subscribe_folder): Same.
-       (imap4_get_folder_info): Started to implement offline
-       support. Also, even if we are in online mode but the engine has
-       not yet been connected, we should follow the "offline" code path
-       and get the folder info's from the cache.
-       (imap4_rename_folder): Disallow in offline mode.
-       (imap4_delete_folder): Same.
-       (imap4_connect): Handle offline mode.
-       (imap4_disconnect): Handle offline mode and do proper locking.
-       (imap4_query_auth_types): Same.
-
-2004-10-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-summary.c (imap4_summary_fetch_all):
-       Removed an already-fixed FIXME comment.
-       (imap4_summary_fetch_flags): Same.
-
-       * providers/imap4/camel-imap4-folder.c (imap4_get_path_delim):
-       Removed. Use camel_imap4_get_path_delim() instead.
-       (camel_imap4_folder_new): Updated.
-       (imap4_sync): If we aren't online, we're done. nothing to do.
-       (imap4_refresh_info): Same.
-       (imap4_append_message): Same but set an exception.
-       (imap4_transfer_messages_to): Same.
-
-       * providers/imap4/camel-imap4-utils.c
-       (camel_imap4_get_path_delim): Moved here from camel-imap4-store.c
-
-       * providers/imap4/camel-imap4-store.c (imap4_try_authenticate):
-       Change the service string for the sasl mechanism to"imap" rather
-       than "imap4".
-       (imap4_get_path_delim): Removed.
-       (imap4_create_folder): Updated.
-       (imap4_folder_utf7_name): Same.
-
-2004-10-13  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new)
-       (imap4_sync_changes, imap4_sync): 
-       * providers/imap4/camel-imap4-summary.c (untagged_fetch_all): kill
-       cast as lvalue warning.
-
-       * camel-string-utils.h: add prototype for camel_toupper.
-
-       * providers/imap4/camel-imap4-utils.c: 
-       * providers/imap4/camel-imap4-summary.c: 
-       * providers/imap4/camel-imap4-folder.c: 
-       * providers/imap4/camel-imap4-engine.c: 
-       * providers/imap4/camel-imap4-command.c: 
-       * providers/imap4/camel-imap4-store.c: include camel-i18n.h.
-
-2004-10-12  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug ???
-
-       * providers/nntp/camel-nntp-store.c (connect_to_server): if we
-       have a username, try to authenticate before doing anything else.
-
-       ** See bug #67895.
-
-       * providers/nntp/camel-nntp-summary.c (add_range_xover)
-       (add_range_head): use raw_command_auth since we might need auth
-       here.
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_raw_command_auth):
-       new almost-raw command that also does auth.
-       (xover_setup, connect_to_server, camel_nntp_command): use
-       raw_command_auth since we might need auth here.
-
-2004-10-12  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #67898 and probably others.
-
-       * providers/imapp/camel-imapp-store.c (connect_to_server):
-       * providers/pop3/camel-pop3-store.c (connect_to_server_wrapper): 
-       * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper): 
-       * providers/imap/camel-imap-store.c (connect_to_server_wrapper): 
-       * providers/nntp/camel-nntp-store.c (connect_to_server_wrapper): 
-       * providers/smtp/camel-smtp-transport.c (connect_to_server_wrapper):
-       Fallback to hard-coded port number if the name lookup fails and no
-       port was supplied.
-
-2004-10-11  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #67211.
-
-       * camel-mime-utils.c (camel_header_raw_check_mailing_list):
-       initialise the match start/end pointers, since some regexec's
-       don't seem to do it.
-
-2004-10-09  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-gw-listner.c (add_esource) : add the
-       source uid to list of selected calendar and tasks so that
-       groupwise calendar and tasks are automatically selected
-        (remove_esource) : remove the uids from corresponding gconf keys
-       Fixes #62053
-
-2004-10-08  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #67170.
-
-       * providers/nntp/camel-nntp-store.c
-       (nntp_store_get_cached_folder_info): compare newsgroup names case
-       sensitively.
-
-2004-10-05  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-service.c (camel_getaddrinfo): Check msg->result for error
-       and set an exception if appropriate.
-       (camel_getnameinfo): Same.
-
-2004-10-04  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-service.c (camel_getaddrinfo): Add a non-const cast for
-       hints when changing the ai_family member in the IPv6-disabled
-       case. Fixes bug #67028.
-
-2004-10-05  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #67527.
-
-       * camel-service.c (cs_getaddrinfo, cs_getnameinfo): don't loop on
-       EAI_AGAIN, it doesn't appear to mean the same as EAGAIN does with
-       system calls (i guess 'no shit sherlock' really).
-
-2004-10-04  JP Rosevear  <jpr@novell.com>
-
-       * providers/imap4/camel-imap4-provider.c: include camel-i18n.h
-
-2004-10-01  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-service.c (camel_getaddrinfo): Avoid assigning a value to
-       the member of a const struct (which newer gcc's apparently break
-       over) by casting to non-const.
-
-2004-09-28  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #66509.
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_command): if we
-       get an error selecting the folder, disconnect/include it in the
-       re-try loop.
-       (camel_nntp_command): don't set the exception based on errno,
-       exception processing is already done.  don't clear it if we're on
-       the 3rd retry.
-
-2004-09-27  Not Zed  <NotZed@Ximian.com>
-       
-       * providers/nntp/camel-nntp-store.c (nntp_get_folder_info): don't
-       do any locking here.
-       (nntp_store_get_folder_info_all): move the locking here.
-       (nntp_store_get_subscribed_folder_info): and some here too.
-
-       * providers/nntp/camel-nntp-store.c:
-       * providers/nntp/camel-nntp-folder.c: Remove nntp command_lock and
-       just use the service connect lock for serialisation.
-
-2004-09-14  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_try_authenticate):
-       s/not/no/ in the error string. Fixes bug #65828.
-
-2004-09-24  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-store.c (camel_vee_store_finalise): free the unmatched
-       uid values as well.
-
-       * camel-vee-folder.c (vee_folder_remove_folder): lock main folder
-       summary lock before doing the unmatched stuff, so the order is
-       right.
-
-2004-08-25  Ed Catmur  <ed@catmur.co.uk>
-
-       ** See bug #63881.
-
-       * camel-vee-store.c:
-       * camel-vee-folder.c: move the unmatched
-       folder onto the camel-vee-store object.  Removede the global
-       unmatched folder and associated locks/etc, fixed all the code up
-       to work with the new unmatched folder, if present.
-
-2004-09-27  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-folder.c (camel_spool_folder_new):
-       make sure body indexing is turned off always, missed the ~ bit.
-
-       * providers/local/camel-spool-store.c (camel_folder_info_new):
-       dont take unread count.
-       (spool_fill_fi): copied from mbox more or less.
-       (scan_dir): use fill_fi to setup counts.
-       (spool_new_fi): replace camel_foldeR_info_new with one that does
-       most of the work, also generates uri's properly.
-       (get_folder_info_mbox): make the 'system' inbox name translatable.
-
-       * providers/local/camel-mbox-folder.h: make the
-       camel_mbox_folder_get* functions properly public.
-
-       * providers/local/camel-local-folder.h: pass the object to the
-       virtual methods now, fix all callers.
-
-       * providers/local/camel-spool-folder.c (spool_get_full_path)
-       (spool_get_meta_path): implement, this needs to work differnetly
-       to the parent classes implementations :-/.
-
-2004-09-22  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Instead
-       of doing a host-lookup ourselves, get it passed in to us as an
-       argument. Also simplified a bit (try_starttls is no longer an
-       option).
-       (connect_to_server_wrapper): Simplified (we no longer have
-       fallback cases for SSL stuff). Also, perform host lookup here.
-
-       * providers/imap4/camel-imap4-store.c: Same changes as above.
-
-       * providers/pop3/camel-pop3-store.c: Same.
-
-       * providers/smtp/camel-smtp-transport.c: Same. Other changes
-       include making the code consistant with the other providers.
-
-       * providers/nntp/camel-nntp-store.c: Same as pop/imap.
-
-2004-09-21  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #63521.
-
-       * camel-movemail.c (camel_movemail): don't clear exception on entry.
-
-       * camel-folder-search.c (match_words_message): use local exception.
-
-       * camel-operation.c (camel_operation_cancel_check): soak up all
-       cancellation requests as soon as we get one.
-       (camel_operation_uncancel): soak up all cancellation reqeusts when
-       we uncancel.
-
-       * camel-uid-cache.c (camel_uid_cache_save): open the file O_TRUNC
-       rather than O_EXCL, otherwise a crash would mean this file never
-       gets updated.
-       (camel_uid_cache_save): block cancellation around writes otherwise
-       we could be interupted from old cancellation.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): don't clear exception here, just
-       don't pass it to summary load.
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): only clear the
-       exception when we received one we handled.
-
-       * camel-filter-driver.c (close_folder): if exception is already
-       set, don't pass it to folder.sync().
-
-       * camel-lock.c (camel_lock_folder): don't clear the exception
-       here, if it came in set its a programming error.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message): if
-       the exception is set after evaluating the expression, stop
-       immediately.
-
-2004-09-13  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #47821.
-
-       * camel-service.c: removed the old hostent based hostname interfaces.
-
-       * camel-sasl-kerberos4.c (krb4_challenge): new hostname interfaces.
-
-       * camel-sasl-gssapi.c (gssapi_challenge): new hostname interfaces.
-
-       * camel-sasl-digest-md5.c (digest_md5_challenge): use new hostname
-       interfaces.
-       (generate_response): just take hostname directly, not hostent.
-
-       * camel-mime-utils.c (camel_header_msgid_generate): use new
-       hostname interfaces.
-
-       * providers/smtp/camel-smtp-transport.c (connect_to_server): fixed
-       to use new addrinfo apis.
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server): fixed to
-       use new addrinfo apis.
-
-       * camel-tcp-stream-ssl.c (stream_connect): try all addresses
-       supplied.
-
-       * camel-tcp-stream.c (camel_tcp_stream_get_remote_address)
-       (camel_tcp_stream_get_local_address): return a sockaddr now, and
-       also the address length.  Fixed all implementations and callers.
-       (camel_tcp_stream_connect): use addrinfo rather than hostent for
-       host AND port info.  Fixed all implementations and callers.
-
-2004-09-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-summary.c (camel_folder_summary_decode_token):
-       handle a zero-length token read rather than failing.
-
-2004-09-21  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #66199.
-
-       * camel-http-stream.c (stream_read): handle relative url's in
-       redirect.
-       (camel_http_stream_set_proxy): generate the basic auth token for
-       basic proxy auth if we have a user and password.
-
-       * camel-http-stream.c: turn off debug.
-
-2004-09-08  Hannah & Fazlu <hannah_lins@yahoo.co.in>
-
-        Fixes Bug#61088
-
-       * camel/camel-smime-context.c: Change of strings.
-
-2004-09-15  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #0xffff.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): only emit folder_created if we
-       actually created it.
-
-2004-09-03  Not Zed  <NotZed@Ximian.com>
-
-       * camel-tcp-stream-ssl.c (stream_connect): make ssl connection
-       async and cancellable, and minor api update to async connection.
-
-2004-08-27  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #64023.
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_try_authenticate):
-       forget the password if it was wrong.
-
-2004-08-26  Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * providers/groupwise/camel-gw-listner.c
-       (add_calendar_tasks_sources) : change the "CheckList" to "Tasks"
-       as there is another foder called chekclist in groupwise not
-       related to tasks Fixes #64092
-
-2004-08-25  Frederic Crozat  <fcrozat@mandrakesoft.com>
-
-       * camel-folder.c (folder_getv): Init one variable (remove warning)
-       and don't redefine it.
-
-2004-08-23  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #63189.
-
-       * providers/imap/camel-imap-store.c (get_subscribed_folders): only
-       LSUB folders we're interested in, and check full name of each path
-       element.
-       (imap_is_subfolder): helper for above.
-
-2004-08-23  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap/camel-imap-store.c (get_folders): Check for an
-       exception from get_folders_online() here so that we don't send
-       commands to an IMAP server after a disconnect for example. See bug
-       #63504 for an example.
-
-2004-08-23  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-tcp-stream-openssl.c (open_ssl_connection): Call
-       SSL_CTX_set_default_verify_paths() to initialise the certificate
-       database paths. Thanks to Anton Altaparmakov for this fix.
-
-2004-08-21 Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * providers/groupwise/camel-gw-listener.c (account_changed) :
-       if any of the settings required for soap interaction changes 
-       try connecting to server and resetup the ESources 
-        * providers/groupwise/camel-groupwise-provider.c ": don't
-       check soap ssl setting by default to be in consistent with
-       IMAP 
-
-2004-08-16  Not Zed  <NotZed@Ximian.com>
-
-       * providers/groupwise/camel-groupwise-provider.c
-       (camel_provider_module_init): pass an exception handle to
-       camel_provider_get.
-
-2004-08-13  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-summary.c (imap4_summary_fetch_all):
-       Use g_ptr_array_sized_new() rather than using set_size() after
-       creating a GPtrArray so that array->len starts out at 0.
-       (imap4_summary_fetch_flags): Same.
-
-2004-08-13  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-gw-listener.c (account_changed):
-       remove the cal/taksks sources when account is disbaled. Also do
-       not try to to create sources when a disabled account is changed to
-       Novell Groupwise
-       (camel_gw_listener_construct): do not add the disbaled accounts
-       to exitsting groupwise accounts list
-
-2004-08-13  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-groupwise-provider.c: update ssl
-       setting label and title of the soap settings section. Fixes #62747
-
-2004-08-13  Rodney Dawes  <dobey@novell.com>
-
-       * camel-sasl-gssapi.c: Handle et/comm_err.h as well as the
-       normal comm_err.h
-
-2004-08-11  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fix for bug #62771
-
-       * camel-mime-utils.c (append_quoted_pair): New function to append
-       a string of text that may contain quoted-pairs.
-       (header_decode_text): Now takes a ctext argument specifying
-       whether or not to expect comments and to handle them.
-       (camel_header_decode_string): Pass FALSE as ctext argument.
-       (camel_header_format_ctext): New function to format text|comment
-       header field bodies.
-
-2004-08-10  Not Zed  <NotZed@Ximian.com>
-
-       * providers/groupwise/camel-gw-listener.c
-       (get_addressbook_names_from_server): fix for e_passwords api
-       change, and handle reprompting as well.
-
-2004-08-06  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-summary.c (untagged_fetch_all): Call
-       camel_operation_progress().
-       (imap4_summary_fetch_all): Setup info we need for progress
-       reporting.
-       (imap4_summary_fetch_flags): Same.
-
-2004-08-04  Rodney Dawes  <dobey@novell.com>
-
-       * camel-charset-map.c: #include <gal/util/e-iconv.h>
-
-2004-08-03  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-url-scanner.c (camel_url_scanner_scan): In the case of
-       start() or end() failing, loop starting with the first character
-       immediately following the failed match position. Fixes bug #62136.
-
-2004-08-03  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_construct): Pass a
-       reconnect func.
-
-       * providers/imap4/camel-imap4-engine.c
-       (camel_imap4_engine_iterate): Reconnect if needed.
-       (camel_imap4_engine_new): Now takes a reconnect func.
-
-2004-07-30  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-engine.c
-       (camel_imap4_engine_capability): This needs to prequeue the
-       CAPABILITY command rather than queue it normally for the case of
-       reconnecting.
-       (camel_imap4_engine_namespace): Same.
-
-2004-07-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (camel_header_encode_string): Similar fix as
-       below in a later if-statement. Thanks to Suresh for spotting this
-       one.
-
-2004-07-28  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-utils.c (camel_header_encode_string): Fixed an ABR
-       that may have been responsible for bug #62029.
-
-2004-07-29 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * proivders/groupwise/camel-groupwise-provider.c: Add an entry to
-       specify POA address and a check box to say whehter ssl has to be
-       used for SOAP or not
-       (groupwise_auto_detect_cb): new function to automatically fill POA
-       address with host specified in receiving mail page
-       (camel_provider_module_init): use the new auto_detect funcntion
-
-       * providers/groupwise/camel-gw-listener.c (modify_esource)
-       (account_changed, add_calendar_tasks_sources)
-       (remove_calendar_tasks_sources, get_addressbook_names_from_server)
-       (add_addressbook_sources, modify_addressbook_sources)
-       (remove_addressbook_sources): while forming the uri, use the value
-       from new poa_address setting instead of url->host. Also use ssl
-       setting from the new check box provider instaed of imap one
-       (get_addressbook_names_from_server): display an error to user when
-       connection cpuld not be established with server during account
-       setup
-
-2004-07-26  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-charset-map.c (camel_charset_best_mask): Changed the logic
-       slightly to only match certain charsets if the locale matches
-       (Macedonians don't want to use koi8-r for example).
-
-2004-07-27  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #61841.
-
-       * providers/groupwise/camel-groupwise-provider.c: added junk settings.
-
-2004-07-27  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-engine.c
-       (camel_imap4_engine_prequeue): Changed to be the same prototype as
-       engine_queue().
-       (engine_prequeue_folder_select): Updated.
-
-       * providers/imap4/camel-imap4-store.c (connect_to_server): Use
-       engine_prequeue() for STARTTLS in case we are reconnecting and
-       already have a command queue.
-       (imap4_try_authenticate): Use prequeue() here too.
-       (imap4_reconnect): Moved all the connect logic in here.
-       (imap4_connect): just lock and call reconnect().
-
-2004-07-27  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       Fixes #61454
-
-       * providers/groupwise/camel-groupwise-provider.c
-       (camel_provider_module_init): do not set transport object for
-       groupwise provider. We want user to use SMTP itself instead of
-       "Novell Groupwise"
-
-2004-07-26  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-store.c (connect_to_server): Don't
-       instantiate an engine here. Instead, take an engine as an argument
-       (it has a service pointer) and connect using that. Also, if
-       connect fails, don't unref the engine.
-       (connect_to_server_wrapper): Now also takes an engine argument
-       rather than a service argument.
-       (imap4_try_authenticate): Now also takes an engine argument.
-       (imap4_connect): Pass the engine to connect/auth functions rather
-       than the store.
-       (imap4_query_auth_types): Updated.
-       (imap4_disconnect): Don't unref the engine here.
-       (camel_imap4_store_init): Create the engine here.
-       (imap4_get_folder_info): Can't check engine == NULL to know to
-       connect (that was a broken check anyway).
-
-       * providers/imap4/camel-imap4-engine.c (camel_imap4_engine_new):
-       Now simply takes a service argument rather than a session and url.
-       (camel_imap4_engine_next_token): Set the state to DISCONNECTED.
-       (camel_imap4_engine_eat_line): Same.
-       (camel_imap4_engine_line): Same.
-       (camel_imap4_engine_literal): Same.
-
-2004-07-22  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #61761.
-
-       * providers/pop3/camel-pop3-engine.c (camel_pop3_engine_iterate):
-       if we get an io error, move every current/active and queued
-       command to the done queue and mark as failed.
-
-2004-07-19  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap/camel-imap-store.c (get_subscribed_folders): Free
-       result after parsing it. Fixes a leak.
-
-2004-07-19  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-filter-canon.c (filter): only copy 5 chars after the
-       F if we actually have "From ", otherwise we might have F.{,4}\n
-       instead and break eol canonicalisation.  For #53355.
-
-2004-07-16  Not Zed  <NotZed@Ximian.com>
-
-       * camel-gpg-context.c: Added some debug stuff.
-
-2004-07-15  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap/camel-imap-folder.c (imap_transfer_online): Don't
-       grab the connect_lock before calling refresh_info so that we avoid
-       the deadlock in bug #61551.
-
-2004-07-14  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fix for bug #61538
-
-       * camel-process.c (camel_process_fork): Same.
-
-       * camel-filter-driver.c (pipe_to_system): Fixed strings
-
-2004-07-12 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-gw-listener.c (add_esource)
-       (modify_esource, add_addressbook_source)
-       (modify_addressbook_sources): pass "use_ssl" value to these
-       functions and set it on e-source
-       (add_calendar_tasks_source): read the "use_ssl" param from camel
-       url and pass it to add_esource) calls
-       (get_addressbook_names_from_server): use "https" or http depending
-       upon whther ssl is enabled or not
-       (account_changed): compare urls from account instead of uris
-       formed to know wheter somehting in the account changed
-
-2004-07-09  Not Zed  <NotZed@Ximian.com>
-
-       ** This is no guarantee of security, but its just a helper to
-       prevent old memory accidentally being included/used elsewhere.
-       
-       * camel-smime-context.c (sm_decrypt): mark the output stream
-       'secure'.
-
-       * camel-gpg-context.c (gpg_decrypt): set the output stream to
-       secured, so we automagically blank it out on finalise.
-
-       * camel-stream-mem.c (camel_stream_mem_set_secure): set the
-       memory-stream 'secured', all we do at the moment is blank out the
-       buffer on finalise.
-       (camel_stream_mem_set_byte_array, camel_stream_mem_finalize):
-       clear memory if owner and secured.  kill dead comment.
-       (clear_mem): utilitiy to set memory to 0xABADF00D
-
-2004-07-08  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #61186.
-       
-       * camel-cipher-context.c (camel_cipher_sign):
-       (camel_cipher_verify, camel_cipher_encrypt, camel_cipher_decrypt):
-       Add preliminary progress reporting.
-
-2004-07-07  Chris Toshok  <toshok@ximian.com>
-
-       * providers/groupwise/Makefile.am (INCLUDES): use
-       CAMEL_GROUPWISE_CFLAGS.
-       (libcamelgroupwise_la_LIBADD): use CAMEL_GROUPWISE_LIBS.
-
-2004-09-07  Not Zed  <NotZed@Ximian.com>
-
-       * providers/groupwise/camel-groupwise-provider.c: put the options
-       in their own section.
-
-2004-09-06  Not Zed  <NotZed@Ximian.com>
-
-       * camel-search-private.c (utf8_get): remove this, and make the
-       code use camel_utf8_getc instead.  Quite a bit faster esp if
-       optimising with inlines.
-
-       * camel-object.c (check_magic_fail): change the check_magic code
-       to mostly run from a macro, its worth it.
-
-2004-09-04  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-mbox-summary.c (message_info_new): fix
-       cast issue.
-
-       * providers/pop3/camel-pop3-engine.c (get_capabilities): remove
-       some unused variables.
-
-       * camel-object.h: remove camel-i18n.h, fixed all c files where
-       appropriate.
-
-2004-08-25  Not Zed  <NotZed@Ximian.com>
-
-       * camel-list-utils.[ch]: Copied e_dlist* stuff to here, part of
-       removing e-util dependency on camel.
-
-2004-08-05  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-provider.c: same.
-
-       * providers/imap/camel-imap-provider.c: put the extra stuff into a
-       'general' section.
-
-       * providers/imapp/camel-imapp-provider.c: same.
-
-       * providers/pop3/camel-pop3-provider.c: make sure each section
-       start has a name.
-
-2004-08-03  Not Zed  <NotZed@Ximian.com>
-
-       * camel-url.c (camel_url_set_param): when clearing a param, use
-       remove_data instead of set_data_full.  craptatious glib at it
-       again.
-
-       * providers/nntp/camel-nntp-provider.c: turn on ssl option.
-
-2004-07-07  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c: removed filter-rule.h  ugh.
-
-2004-07-02  Christian Neumair  <chris@gnome-de.org>
-
-       * camel-smime-context.c: s/Can't/Cannot/.
-
-2004-06-30  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-search.c (imap4_body_contains): Set
-       the size of the ptrarray to prevent potentially realloc'ing
-       several times.
-
-2004-06-29  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-command.c
-       (camel_imap4_command_newv): Aded a new %formatter 'V' which takes
-       a string vector (needed for SEARCH).
-
-       * providers/imap4/camel-imap4-search.[c,h]: New source files
-       implementing search functionality.
-
-       * providers/imap4/camel-imap4-folder.c (imap4_sync_flag): Use the
-       new public version of imap4_get_uid_set().
-       (imap4_transfer_messages_to): Same.
-       (camel_imap4_folder_new): Create a search context.
-       (camel_imap4_folder_finalize): Unref the search context.
-       (camel_imap4_folder_class_init): Override the search methods.
-       (imap4_search_by_expression): New.
-       (imap4_search_by_uids): New.
-       (imap4_search_free): New.
-
-       * providers/imap4/camel-imap4-utils.c (camel_imap4_get_uid_set):
-       Moved here from camel-imap4-folder.c
-
-2004-06-29  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-store.c (vee_rename_folder): add any parents of the
-       new name before we actually do the rename so the rename has
-       somewhere to go to.  #60775.
-
-2004-06-28  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-folder.c (maildir_folder_getv):
-       override CAMEL_FOLDER_NAME arg so we can translate "." into
-       "Inbox".
-
-       * providers/local/camel-maildir-store.c (camel_folder_info_new):
-       take url argument directly, fixes a memleak.
-       (camel_folder_info_new): make the toplevel "." into "Inbox"
-       always.
-       (maildir_rename_folder): dont let users rename inbox.
-
-2004-06-27  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-url-scanner.c (camel_url_web_end): More fixes.
-
-2004-06-25  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-url-scanner.c (camel_url_web_end): Fixed to handle :pass
-       in proto://user:pass@host. Fixes bug #60104.
-
-2004-06-24  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server): Error out
-       and set an exception if camel_pop3_engine_new() returns NULL
-       (which it can do now).
-
-       * providers/pop3/camel-pop3-engine.c (get_capabilities): No longer
-       reads the greeting.
-       (camel_pop3_engine_new): Reads the greeting itself and returns
-       NULL if an error occurs (like stupid braindamaged piece of shit
-       POP servers that spew debug prinfs).
-
-       * providers/local/camel-spool-folder.c (spool_lock): If we fail to
-       lock the folder, close the lockfd and reset it to -1. Fixes bug
-       #54680.
-
-2004-06-23  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
-       First LIST/LSUB the toplevel folder, and then LIST/LSUB the
-       subfolders (it needs to be 2 commands to work properly).
-       (imap4_delete_folder): CLOSE the folder we are about to DELETE if
-       it is currently SELECTED.
-
-       * providers/imap/camel-imap-provider.c (imap_url_equal): Same.
-
-       * providers/imap4/camel-imap4-provider.c (imap4_url_equal): Check
-       the protocol.
-
-       * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
-       Hide password, etc info in the fi->uri's.
-       (imap4_create_folder): Don't bother to use
-       imap4_get_folder_info(), we can construct the fi ourselves.
-       (imap4_delete_folder): Emit the folder_deleted signal and
-       construct an fi ourselves.
-       (imap4_subscribe_folder): Same.
-       (imap4_unsubscribe_folder): Same.
-
-       * providers/imap4/camel-imap4-provider.c: Specify that the
-       fragment is the path.
-
-2004-06-21  Christian Kellner <gicmo@xatom.net>
-
-       * camel-service.c (service_setv): Really set the path if tag is 
-       CAMEL_SERVICE_PATH.
-
-2004-06-21  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-filter-enriched.c (enriched_to_html): Fixed a number
-       of issues described in bug #49497.
-
-2004-06-18  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel.c (camel_shutdown): Call camel_mime_utils_shutdown() and
-       camel_operation_shutdown().
-
-       * camel-operation.c (camel_operation_shutdown): New function.
-
-       * camel-mime-utils.c (camel_mime_utils_shutdown): New function to
-       clean up the compiled regexes.
-
-       * camel-stream-buffer.c (set_vbuf): Need to re-init sbf->ptr and
-       sbf->end too, or we'll be sorrryy!
-
-2004-06-18  Not Zed  <NotZed@Ximian.com>
-
-       * camel-exception.h (CAMEL_EXCEPTION_INITIALISER): setup for
-       static inititialisation.
-
-2004-06-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-folder.c (uidset_init): init
-       tail->last to (guint32) -1, so that index = tail->last + 1 will
-       start at 0 at the top of uidset_add() :-)
-
-2004-06-17  Rodney Dawes  <dobey@novell.com>
-
-       * camel-mime-filter-tohtml.c: Add support for the webcal, callto, and
-       h323 URIs when we get them in mails
-
-2004-06-17  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-filter-tohtml.c: Don't foolishly unmunge From_
-       lines. First off, we don't even know if our input stream came from
-       an mbox file and secondly, the ">From " may have been intentional
-       by the author. We Just Don't Know (tm).
-
-2004-06-15  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
-       Make sure we have elements in the array, if not then we're done
-       (return a NULL fi).
-
-2004-06-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-folder.c (imap4_get_uid_set): Fixed
-       to work properly. It was getting ranges wrong before sometimes
-       which was making me lose mail! Ugh.
-
-       Thanks to Christian Kellner for pointing out these bugs (and
-       submitting the original patch for service_setv)
-
-       * camel-service.c (service_setv): Don't use (tag &
-       CAMEL_ARG_IGNORE) to determine if we should ignore this
-       tag. CAMEL_ARG_IGNORE is not a bit flag.
-
-       * providers/imap/camel-imap-store.c (imap_setv): Don't use (tag &
-       CAMEL_ARG_IGNORE) to determine if we should ignore this
-       tag. CAMEL_ARG_IGNORE is not a bit flag.
-
-2004-06-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-folder.c (imap4_refresh_info): Only
-       force a re-update of all FLAGS if this folder wasn't in the
-       SELECTED state. Otherwise, simply send a NOOP.
-
-       * providers/imap4/camel-imap4-summary.c: Added a 'first' member to
-       the imap_fetch_all_t struct so we can use that as a base offset in
-       our GPtrArray, allowing us to limit resource consumption which
-       could otherwise get quite large. Also added a ChangeInfo member
-       that was needed for changes to untagged_fetch_all().
-       (imap4_fetch_all_add): Use fetch->first as a base offset and
-       change int i to guint32 i. Also updated to sue the fetch->changes.
-       (imap4_fetch_all_update): Same.
-       (untagged_fetch_all): Same - this is where it is really valuable,
-       since we can avoid adding elements to the GPtrArray that we won't
-       even use. Also needed to change code a big in case index <
-       fetch->first (which could happen if a server notified us of a
-       FLAGS change for a message we didn't request info about).
-       (imap4_fetch_all_free): Free the ChangeInfo.
-       (imap4_summary_fetch_all): Init fetch->changes and fetch->first.
-       (imap4_summary_fetch_flags): Same.
-       (camel_imap4_summary_flush_updates): Only request envelope info if
-       first <= summary->exists. Avoids needless queries.
-       (info_uid_sort): #if 0'd
-       (camel_imap4_summary_flush_updates): No need to sort the summary -
-       this should never have been needed. I can't remember why I did
-       this...
-
-2004-06-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_verify): Use
-       camel_multipart_signed_get_content_stream() rather than getting
-       the first part and canonicalising it ourselves. Fixes bug #60159.
-
-       * providers/imap4/camel-imap4-stream.c (camel_imap4_stream_init):
-       Init have_unget to FALSE. Don't set unget to NULL, it's no longer
-       a pointer.
-       (camel_imap4_stream_finalize): No need to g_free() unget anymore.
-       (camel_imap4_stream_next_token): Check have_unget rather than
-       unget != NULL. Set have_unget to FALSE if we get an unget'd token.
-       (camel_imap4_stream_unget_token): Don't malloc space for an unget
-       token. The unget token is no longer a pointer.
-
-2004-06-14  Not Zed  <NotZed@Ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): use
-       g_ascii_strcasecmp.
-       (smtp_connect): do not re-helo after we've authenticated.  This
-       was a misreading of the spec.  We must only re-helo after a
-       transport layer negotiation.
-
-2004-06-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_noop): Flush summary
-       updates for the currently selected folder.
-       (imap4_noop): Sync the currently selected folder before sending
-       NOOP.
-
-       * providers/imap4/camel-imap4-summary.c
-       (camel_imap4_summary_set_exists): Don't bother with
-       exists_changed. We don't need it afterall.
-       (camel_imap4_summary_flush_updates): Instead of updating flags if
-       update_flags or exists_changed is set, only bother if update_flags
-       is set or if exists is smaller than the summary count (since
-       updating flags is also sueful for determining which messages have
-       been removed).
-
-2004-06-11  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-folder.c (imap4_refresh_info): Force
-       updating of the emsage flags (normally this only happens if
-       something has changed that warrants rescanning them).
-
-2004-06-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-folder.c (untagged_fetch): Handle
-       getting FLAGS even though we didn't request it (server can send us
-       FLAGS info if another client changed them recently, for
-       example). Also fixed to handle the fact that not every bit of info
-       has to be in a single untagged FETCH response - it may come in
-       several untagged responses.
-
-       * providers/imap4/camel-imap4-summary.c (envelope_decode_address):
-       Decode the email address name token.
-       (envelope_decode_nstring): rfc2047 decode strings if requested.
-       (decode_envelope): Request that the subject string be rfc2047
-       decoded.
-
-2004-06-11  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-store.c (get_folder_info): if we
-       scan from "" or top == NULL, then we really want to scan from "."
-       instead.
-
-       * camel-url.c (camel_url_new_with_base): don't check the for a
-       character after the # before extracting the fragment.  An empty
-       fragment is still allowed and # should never be added to the path.
-       See Rfc1808 2.4.1.
-
-2004-06-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-summary.c
-       (camel_imap4_summary_flush_updates): Don't bother scanning summary
-       info if EXISTS was 0.
-       (camel_imap4_summary_set_uidvalidity): Emit the folder_changed
-       event after clearing the summary.
-       (camel_imap4_summary_expunge): Emit the folder_changed event after
-       removing the message from the summary.
-       (camel_imap4_summary_set_exists): Only set exists_changed if the
-       new and old exists values are different.
-       (imap4_fetch_all_add): Emit a folder_changed signal if any new
-       info's were added.
-       (imap4_fetch_all_update): Emit a folder_changed event if any uids
-       were removed or otherwise updated.
-       (camel_imap4_summary_expunge): Use seqid-1 to determine the actual
-       summary index.
-       (camel_imap4_summary_flush_updates): Added some logic to
-       distinguish between EXISTS value changing because it changed and
-       because messages got expunged.
-
-       * providers/imap4/camel-imap4-folder.c (imap4_sync): Flush updates
-       after an EXPUNGE and don't unset expunge if we didn't delete
-       anything (the logic was wrong anyway).
-       (imap4_refresh_info): Implemented.
-
-2004-06-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-engine.c
-       (camel_imap4_engine_handle_untagged_1): Don't always try and parse
-       a RESP-CODE in the BYE case as the RESP-CODE is optional.
-
-2004-06-10  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
-       If flags does not include FOLDER_INFO_FAST, get the total/unread
-       counts for the folder-info.
-
-       * providers/imap4/camel-imap4-engine.c (engine_parse_status):
-       Removed.
-       (camel_imap4_engine_handle_untagged_1): Don't handle untagged
-       STATUS responses anymore. Let the STATUS requestor handle them
-       instead.
-
-       * providers/imap4/camel-imap4-utils.c
-       (camel_imap4_untagged_status): New function to parse untagged
-       status events.
-
-2004-06-10  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message): add
-       some :filter debug.
-       (open_folder): only ignore the get_folder exception if we have a
-       default folder, otherwise don't.  See #59727.
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_command): move the
-       stream based checking into the loop, after we connect.  Fixes a
-       crash.
-
-2004-06-09  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-gpg-context.c (gpg_verify): Fixed a case where it was
-       possible to double-free the gpg context.
-       (gpg_verify): If we don't have a public key, then the signature is
-       just BAD always.
-
-2004-06-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_verify): Don't assign trust to be
-       UNKNOWN if gpg sent us a NODATA status.
-
-2004-06-07  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
-       Load the entire summary, not just the summary header. This way
-       when the user opens the folder, we don't do a complete re-sync
-       with the server unnecessarily.
-
-       * providers/imap4/camel-imap4-summary.c (untagged_fetch_all): New
-       info's always have a uid of "", so don't checkagainst NULL.
-
-2004-06-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_rename_folder):
-       Implemented, mostly. Still need to update state on the renamed
-       folder object if instantiated and rename the on-disk cache
-       directory.
-
-       * providers/imap4/camel-imap4-folder.c
-       (camel_imap4_folder_finalize): Free the cachedir.
-       (camel_imap4_folder_new): Init the cachedir and load the saved
-       summary before updating it against the server summary.
-
-       * providers/imap4/camel-imap4-store.c
-       (camel_imap4_store_finalize): Free the storage_path.
-       (imap4_construct): Init the storage_path.
-
-2004-06-04  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
-       Initialise the folder->summary and force an update of the message
-       info cache by selecting the folder and flushing the updates to the
-       imap4 summary object.
-
-       * providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
-       Lock the connect_lock before we check if the engine is NULL and
-       after we connect (assuming we need to), initialise the engine
-       pointer again.
-       (imap4_get_folder_info): Doh. Need to escape the "'s in the LIST
-       command string.
-       (imap4_get_folder): Same.
-
-       * camel-stream-buffer.c (stream_flush): Fixed to work
-       properly. After we've flushed the buffer, we want to set sbf->ptr
-       to sbf->buf, we don't want to do sbf->ptr += written, that'll just
-       corrupt our next write.
-
-       * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper):
-       Duh. If the user doesn't care about SSL/TLS - use USE_SSL_NEVER,
-       not USE_SSL_ALWAYS.
-
-       * camel-tcp-stream-ssl.c (stream_flush): Always just return 0,
-       don't try to PR_Sync() - fsync on a socket causes an error.
-
-       * providers/imap4/camel-imap4-command.c
-       (camel_imap4_command_step): Set exceptions when write/flush fail.
-
-       * providers/imap4/camel-imap4-engine.c
-       (camel_imap4_engine_take_stream): Set an exception in the case
-       where we get an unexpected greeting from the server.
-
-       * providers/imap4/camel-imap4-store.c (imap4_create_folder):
-       store->dir_sep no longer exists, so query the engine for the
-       directory separator for the parent_folder.
-       (imap4_build_folder_info): CamelFolderInfo no longer has a path
-       component.
-
-2004-06-03  Not Zed  <NotZed@Ximian.com>
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_command):
-       disconnect if we get an io error or user cancellation.
-       (nntp_disconnect_online): reset current folder.
-       (connect_to_server): and here too just to make sure.
-
-       * providers/nntp/camel-nntp-folder.c (nntp_folder_sync_online):
-       only save the summary, don't update from server, thats what
-       refresh info does.
-       (nntp_folder_download_message): fix exception handling.
-       (nntp_folder_cache_message): same.
-       (nntp_folder_get_message): ditto, plus major cleanup.
-       (nntp_folder_download_message): take combined uid so it can cache
-       and lookup properly.  duh.
-
-       * providers/nntp/camel-nntp-store.c
-       (nntp_store_get_subscribed_folder_info): if not fast, then open
-       the folder, and update it.  Yeah i've given up trying to worry
-       about performance vs usability.
-
-       * providers/nntp/camel-nntp-summary.c (camel_nntp_summary_check):
-       update the storesummary if we update the folder summary.  Hmm,
-       isn't duplicated data meant to be a bad thing? :P
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_store_set_folder):
-       removed, now handled by nntp_command.
-       (nntp_connected): removed, now handled by nntp_command.
-
-       * camel-string-utils.c (camel_tolower): added ascii to-lower
-       function.
-       (camel_toupper): and upper, for completeness.
-
-       * camel-store-summary.c (CAMEL_STORE_SUMMARY_VERSION): bumped file
-       version by 1.  This is a mess, version 1 files treated the
-       bitfield 'flags' with bit number values not bits.  Messy.
-
-       * providers/nntp/camel-nntp-store-summary.c (store_info_save):
-       write last/first count.
-       (CAMEL_NNTP_STORE_SUMMARY_VERSION): bump version to 1.
-       (store_info_load): if we're loading >= version 1, then load
-       last/first counts.
-
-       * providers/nntp/camel-nntp-store.c
-       (nntp_store_get_folder_info_all): pass the whole line to
-       store_info_from_line, dont strip last/first info.
-       (nntp_store_info_update): renamed from info_new_from_line.  only
-       add if not present.  handle updates, try and handle unread counts
-       and readonly status.
-
-2004-06-02  Not Zed  <NotZed@Ximian.com>
-
-       * providers/nntp/camel-nntp-store.c: setup xover once we've
-       started.
-
-       * providers/nntp/camel-nntp-summary.c: (xover_setup): moved to
-       nntp store.
-
-       * providers/nntp/camel-nntp-folder.c (folder_check)
-       (folder_check_free, camel_nntp_folder_new): remove async summary
-       stuff.
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_command): take
-       exception argument again, and folder argument.  do retry logic and
-       auth logic differently.
-       (camel_nntp_raw_command): raw command interface, dont try
-       reconnect or anything fancy.  pass i/o errors straight out, etc.
-       (camel_nntp_try_authenticate): change to return return codes &
-       take exception.
-
-       * providers/nntp/camel-nntp-summary.c (camel_nntp_summary_new):
-       just take path argument.
-       (camel_nntp_summary_check): take a store, and a folder name.
-       (add_range_head, add_range_xover): remove the time based update
-       events, they never had any effect anyway.  Take store argument.
-       (xover_setup): take store argument.
-
-       * camel-folder-search.c (search_match_threads): remove debug.
-
-2004-06-01  Not Zed  <NotZed@Ximian.com>
-
-       ** A few fixes for better rfc compliance, and cleaner code.
-
-       * camel-mime-utils.c (header_encode_param): a bunch of logic
-       cleanups with new util functions.
-       (header_decode_init): setup a new type ATTR_CHAR, for
-       attribute-char.
-
-       * tests/misc/test2.c (main): new test for rfc2184 stuff.
-
-       * camel-mime-utils.c (header_convert): helper to convert between
-       charsets.
-       (rfc2184_decode): fix a bunch of logic problems and use the helper
-       above to simplify code.
-       (decode_param_token): removed, not needed.
-       (header_decode_rfc2184_param): removed, not needed.
-       (header_decode_param): removed, not needed.  ugh.
-       (header_decode_param_list): completely rewritten, hence lack of
-       need of above.
-
-2004-05-31  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-gzip.c (camel_mime_filter_gzip_finalize):
-       Don't leak the zlib stream internals.
-
-2004-05-27  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fixes bug #59191.
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_readline):
-       Don't override the exception with g_strerror() since presumably
-       camel_imap_store_is_connected() will have set that for us (and
-       will have a much more accurate exception anyway).
-
-2004-05-26  Dan Winship  <danw@novell.com>
-
-       * camel-store.c (camel_store_get_trash): If the store is not a
-       vtrash store, just invoke the virtual method. (In particular,
-       don't assume that the trash folder's name is CAMEL_VTRASH_NAME).
-       If it is a vtrash store, just let camel_store_get_folder() do the
-       work since it's duplicated there anyway. #57114
-       (camel_store_get_junk): Likewise.
-
-2004-05-25 Sivaiah nallagatla <snallagatla@novell.com>
-       * providers/groupwise/came;-gw-listener.c (add_addressbook_sources):
-       set port property on  e-source 
-
-2004-05-25 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-gw-listener.c (lookup_account_info):
-       return NULL when there is no existing gw account with same uid
-       
-2004-05-25  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_folder_info_build_path): removed.
-
-       * camel-store.h (CamelFolderInfo): removed 'path', fixed all
-       callers.
-       (struct _CamelStore): removed 'dir_sep' fixed all uses.
-
-2004-05-25  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-gw-listener.c (add_addressbook_sources)
-       (add_calendar_tasks_sources) : remove /soap part from uri.
-       make port as a e-source property instead of putting it in uri
-       to amek the uris same as that of mail for password sharing 
-
-2004-05-24  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (camel_header_newsgroups_decode):
-       fix/rearrange logic.  It was using the wrong working pointer.
-
-2004-05-24  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * camel-provider.h: Added CAMEL_PROVIDER_CONF_HIDDEN to
-         conf item type enum. This is used by groupwise provider
-
-       * providers/groupwise/camel-groupwise-provider.c: Added
-       CAMEL_PROVIDER_CONF_HIDDEN to groupwise_conf_entries to pass the
-       auth-domain value
-
-       * providers/imap/camel-imap-store.c (imap_auth_loop): Read the
-       auth-domain property from imap url and pass it camel sesstion apis
-
-2004-05-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c: oops, forgot folder_created.  Removed locking, the
-       object bag serialises stuff for us.
-       (camel_store_get_junk): same.
-
-       ** Another unread count bug, #58814.
-
-       * camel-store.c (camel_store_class_init): added a folder_opened
-       event.
-       (camel_store_get_folder): emit a folder_opened event whenever we
-       [re] open the physical folder.
-
-2004-05-21  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Added a
-       workaround for broken IMAP. Hopefully by forcing only the IMAP4
-       command subset, we can work around their suckage.
-
-2004-05-21  Not Zed  <NotZed@Ximian.com>
-
-       * camel-session.c (camel_session_get_password): added a 'domain'
-       argument, and rearragned arguments to be prettier and more
-       consistent.  Fixed all callers.
-       (camel_session_forget_password): added a domain argument.  Fixed
-       all callers.
-
-       ** See #58376.
-
-       * camel-folder.c (set_message_flags): if system flags change, then
-       don't trigger a folder changed event.
-
-       * camel-folder-summary.h (CAMEL_MESSAGE_SYSTEM_MASK): added this
-       to indicate which flags are internal/apps not interested in.
-
-       * camel-folder.c (filter_free): rearrange and use some helpers.
-       (folder_changed): if we're frozen, dont go firing off threads to
-       do any processing on each change, wait until we're called
-       unfrozen.  Slight code rearragnement.
-       (filter_filter): add progress to junk learn/unlearn, and separate
-       them.
-
-2004-05-19  Suresh Chandrasekharan  <suresh.chandrasekharan@sun.com>
-
-       Fix for #58738 ja_JP.UTF-8: Evolution crashes when certain 
-       ASCII/non-ASCII combination is used in mail subject
-
-       * camel-mime-utils.c (camel_header_encode_string) Use 
-       camel_mime_is_lwsp for determining word separators, 
-       according to rfc822 (which's also same for rfc2047). 
-       g_unichar_isspace as word separator is illegal.
-
-2004-05-20  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fixes bug #42295 and the infinite loop part of bug #58766 (these 2
-       bugs are almost identical, except the server responses are broken
-       in different ways).
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Remove
-       the kludge to re-SELECT the folder to force a re-FETCH of
-       message-info's. This 1) doesn't do what it was meant to do and 2)
-       has a tendency to cause infinite loops with broken servers such as
-       Courier-IMAP.
-       (imap_update_summary): Rework the loop that adds messages to the
-       summary such that if we encounetr an error, we break out and set
-       an exception (we can keep the messages up to the point of failure,
-       but none after that because otherwise our uid-to-seqid mapping
-       would be inconsistant with that of the server and could
-       potentially cause data loss).
-
-2004-05-20  Not Zed  <NotZed@Ximian.com>
-
-       * camel-exception.c (camel_exception_setv): re-arrange the code so
-       exception debug will print the expanded description.
-       (camel_exception_set): print exception debug.
-
-       * providers/pop3/camel-pop3-folder.c (pop3_get_message): same.
-
-       * providers/local/camel-mh-folder.c (mh_get_message) *
-       providers/local/camel-mbox-folder.c (mbox_get_message): *
-       providers/local/camel-maildir-folder.c (maildir_get_message):
-       Don't use INVALID_UID for errors which are more system related.
-       And sync up all the error messages.
-
-       * providers/nntp/camel-nntp-folder.c (nntp_folder_get_message):
-       oops, poke the right uid to get the article number.
-       (nntp_folder_cache_message): & here too.  Somehow fixes #58700,
-       but i don't know why.
-
-2004-05-19  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (transfer_message_to): copy the messageinfo
-       rather than reference the source folder's one, we poke its flags
-       variable if the message is deleted.  And dont re-delete the
-       message if its already deleted.
-
-       * providers/nntp/camel-nntp-folder.c (nntp_folder_get_message):
-       use the article number instead of the messageid.  Some servers are
-       just broken.
-       (nntp_folder_cache_message): same.  See #58655.
-
-       * camel-smime-context.c (sm_verify_cmsg): import the certs as
-       UsageEmailRecipient as well as signer, and also save the certs
-       always.
-
-       ** See #58641.
-
-       * camel-vee-folder.c (vee_sync): don't rebuild auto-type vfolders.
-       they should always be consistent and it saves a lot of unecessary
-       work.
-
-       * camel-store.c (store_sync): we don't want to sync any vfolders
-       as part of the store sync call.  its used for a different purpose
-       in vFolders.  oh well its a hack.
-
-2004-05-18  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-store.c (fill_fi): do the same
-       load of mailbox if we're in slow mode as we did for maildir.
-       #58294.
-
-       * camel-disco-folder.c (disco_expunge_uids): check for NULL
-       implementation before calling it.
-       (disco_sync): similar.  Fixes crash #58278.
-
-2004-05-17  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-folder-search.c (search_match_threads): Fixed a string type-o.
-
-       * camel-smime-context.c (sm_verify_cmsg): Fixed some spelling mistakes.
-
-       * camel-gpg-context.c (gpg_decrypt): If the encrypted block was
-       also signed, set the signature verification status on the Validity
-       structure as well.
-
-2004-05-17  Not Zed  <NotZed@Ximian.com>
-
-       ** Bug #56050.
-
-       * providers/imap/camel-imap-store.c (imap_get_trash) 
-       (imap_get_junk): similar to below.
-
-       * providers/local/camel-local-store.c (local_get_trash)
-       (local_get_junk): set state file on trash/junk to something we know
-       about.
-
-2004-05-17  Not Zed  <NotZed@Ximian.com>
-       * providers/local/camel-mh-store.c (fill_fi): if we have no folder
-       in-memory, load it if we're not doing it fast to get really up to
-       date unread counts.  #57616.
-
-2004-05-14  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_create_folder): don't allow creation
-       of Trash or Junk folders.
-       (camel_store_rename_folder): similar for rename.  #57250.
-
-2004-05-13  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-summary.c (summary_build_content_info): set secure
-       flag if we have a known security type.
-       (flag_names[]): Added secure bit.
-       (summary_build_content_info_message): set secure flag as
-       appropriate.
-       (summary_build_content_info_message): dont set attachments for
-       simple types (non text), only base it on multipart/* stuff.
-       (summary_build_content_info): same.
-
-       * camel-folder-summary.h: added SECURE flag.  Indicates signed or
-       encrypted content.
-
-2004-05-12  Jeffrey Stedfast  <fejj@novell.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
-       Ignore PERMANENTFLAGS if it gives us an empty set. Works around
-       broken IMAP servers like the one in bug #58355.
-
-2004-05-12  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-search.c (search_threads): changed to match_threads.
-       (camel_folder_search_search): remove thread matching stuff from here.
-
-2004-05-11  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-smime-context.c (sm_signing_cmsmessage): Fixed a
-       type-o. Fixes bug #58348.
-
-2004-05-10  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mime-filter-gzip.[c,h]: New class for zipping/unzipping
-       gzip streams.
-
-       * camel-mime-filter-yenc.[c,h]: New class for encoding/decoding
-       the crack known as YEncode.
-
-2004-05-07  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-thread.c (thread_summary): properly set the parent
-       nodes for the re-parented phantom-node children.  Wasn't that fun
-       to debug!
-
-       * camel-folder-thread.h: make order and re bitfields, saves 4
-       bytes/node.
-
-2004-05-06  Not Zed  <NotZed@Ximian.com>
-
-       * camel-digest-folder.c (digest_search_by_expression) 
-       (digest_search_by_uids): 
-       * providers/nntp/camel-nntp-folder.c (nntp_folder_search_by_expression)
-       (nntp_folder_search_by_uids): 
-       * providers/imap/camel-imap-folder.c (imap_search_by_expression) 
-       (imap_search_by_uids):
-       * providers/local/camel-local-folder.c (local_search_by_expression) 
-       (local_search_by_uids): use camel_folder_search_search & some minor cleanups.
-
-       * camel-folder-search.c (search_threads): keep track of the match
-       threads option for this search.
-       (camel_folder_search_match_expression): Removed, not used anymore.
-       (camel_folder_search_search): new api entry point for searching, a
-       bit easier to use and needed for thread matching.
-
-       * camel-folder-search.c (camel_folder_search_search): new search
-       api entry point, take a full summary and optionally a subset of
-       uids to match against.
-       (search_match_all): use the uids' passed in to only search a
-       subset of uid's.
-
-       * providers/imap/camel-imap-store.c (connect_to_server): set
-       nodelay and keepalive on the socket.
-
-       * camel-file-utils.c (camel_read): put a timeout on the select.
-       Logic shuffle to match the ssl stuff.
-       (camel_write): Similar.
-
-       * camel-tcp-stream-ssl.c (stream_connect): remove timeout, use
-       CONNECT_TIMEOUT directly.
-       (stream_read): put a timeout on the poll.  IO_TIMEOUT.  And a
-       little logic shuffle.
-       (stream_write): similar.
-       (CONNECT_TIMEOUT): make this 4 minutes === tcp-raw timeout.
-
-2004-05-05  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (get_message_simple): dont
-       set X-Evolution-Source here anymore, set in caller.
-       (imap_get_message): move the busted server get into the retry
-       loop.  only leave the simple cache test outside of it.
-
-2004-05-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-session.h: Get rid of #ifdef ENABLE_THREADS stuff, that
-       was done away with a while back and is causing problems for 3rd
-       parties trying to use camel unless they explicityly #define
-       ENABLE_THREADS in their code.
-
-2004-05-04  Christian Kellner <gicmo@xatom.net>
-
-       * providers/groupwise/camel-gw-listener.h: Fixed typo.
-
-2004-05-04  Not Zed  <NotZed@Ximian.com>
-
-       ** See #57979.
-
-       * camel-vee-folder.c (subfolder_renamed_update): when the
-       subfolder gets renamed, remove all the old uid's and add the new
-       ones (since the uid is based on the subordinate folder name).
-       (subfolder_renamed): listen to renamed folder events.
-
-       * providers/local/camel-mbox-store.c (get_folder_info): if we're
-       getting a single folder with no children, make sure we fill the
-       counts out.  Fixes some rename strangeness.
-
-       * camel-vee-folder.c (camel_vee_folder_add_folder): hook onto the
-       folder renamed signal.
-       (camel_vee_folder_finalise): unhook folder_renamed signal.
-       (camel_vee_folder_remove_folder): same.
-
-2004-05-03  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #57881.
-
-       * camel-vee-folder.c (camel_vee_folder_add_folder): use the
-       folder's change log and frozen count, not our copy.
-       (vee_thaw): dont maintain our frozen count.
-       (vee_freeze): same.
-       (folder_changed_change): if we get changed messages that dont
-       match, make sure they're also propagated as a change too.
-
-       * camel-private.h: remove the freeze_count from
-       camelveefolderprivate.  We already have that in the camel folder
-       private.
-
-2004-04-30  Priit Laes  <amd@tt.ee>
-
-       * providers/nntp/camel-nntp-summary.c: Fix typo. #53466.
-
-2004-04-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c: Change the UID_SET_LIMIT to
-       768 (something <1000 octets as suggested by rfc2683). Fixes bug
-       #57389.
-
-       * camel-smime-context.c: Mark exception strings for translation
-       and fixed a spelling mistake.
-
-2004-04-27  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #57659.
-
-       * camel-vee-store.c (vee_get_folder_info): translate Unmatched in
-       the folder display name.
-
-       * camel-store.c (add_special_info): dont translate full_name or
-       path, only do that for name.
-
-2004-04-23  Sarfraaz Ahmed <asarfraaz@novell.com>
-       
-       * camel-provider.h: Added HAS_LICENSE flag for allowing camel
-       providers to display license file.
-
-2004-04-22  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_expunge_uids_online)
-       (imap_expunge_uids_resyncing): Send a flag list rather than
-       \Deleted by itself.  See #57381.
-
-2004-04-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-folder.c (imap4_sync_changes): Don't
-       bother doing any work if perm_flags is 0.
-
-2004-04-21  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/Makefile.am: added CAMEL_LIBS to LIBADD
-
-       * providers/groupwise/camel-gw-listener.c
-       (get_addressbook_names_from_server): added new function to get
-       addres book names from server.
-       (add_addressbook_sources) (modify_addressbook_sources) : changed
-       the implementation to use address book returned form above call
-       while creating e-sources
-
-2004-04-21  Not Zed  <NotZed@Ximian.com>
-
-       * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): set
-       the meta data file on nntp folders.
-
-       * camel-disco-folder.c (disco_refresh_info_online): implement
-       dummy virtual method.
-
-       * providers/nntp/camel-nntp-folder.c
-       (nntp_folder_refresh_info_online): implement.  Fixes #57280.
-
-2004-04-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-folder.c (untagged_fetch): Fixed to
-       not expect ]'s as part of the BODY atom token.
-
-2004-04-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-vee-store.c (change_folder): (flags & 0) will never be
-       true. Fixes bug #56982.
-
-2004-04-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-utils.c: Changed imap_atom_specials[]
-       to not treat ']' as an atom char (as per rfc3501). Fixes bug
-       #50985.
-
-2004-04-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c
-       (imap_check_folder_still_extant): Use %F instead of %S so that the
-       folder name gets properly converted from using '/' path delimeters
-       to whatever the native character the server uses. Should fix bug
-       #56715.
-
-2004-04-14  Not Zed  <NotZed@Ximian.com>
-
-       * camel-disco-store.c (set_status): do offline mail syncing (only
-       for open folders so far).  If we fail doing syncing or store sync,
-       don't abort.
-
-2004-04-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_online):
-       Rearranged some error checking code to fix bug #56405.
-
-2004-04-13  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (folder_getv): implement the new counts, and get
-       them all atomically so they're only calculated once and can return
-       consistent results.
-
-       * camel-folder.h: Added CAMEL_FOLDER_DELETED, CAMEL_FOLDER_JUNKED,
-       and CAMEL_FOLDER_VISIBLE args, to support client display of
-       various values.
-
-2004-04-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder.h (camel_folder_delete_message): Fix NotZed's fix
-       to not mark messages as unseen. Fixes bug #56879.
-
-2004-04-13   Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-gw-listener.c
-       (add_addressbook_sources): change the auth type string from
-       Password to plain/password
-
-2004-04-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fix for bug #56878.
-
-       * camel-gpg-context.c (gpg_verify): Don't rely on the exit code of
-       gpg, we already save enough state to decide if the sig is valid
-       without it. Modified to only set BAD if gpg->validsig and
-       gpg->nopubkey are both FALSE. If we get a NO_PUBKEY status
-       message, then it simply means that the the sender could not be
-       verified.
-       (gpg_ctx_parse_status): Listen for NO_PUBKEY status messages.
-
-2004-04-11  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-gw-listener.c 
-       (add_addressbook_sources) (modify_addressbook_sources) : add
-       bookname to uri 
-
-2004-04-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-provider.c: Fix capitalisation of the
-       "mailcheck" section title and move it to the top (so it matches
-       with the UI).
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): Fetch the
-       entire message in one fell swoop even if the message size is
-       larger than 5k *if* the message is a single part. Fixes bug #56686.
-
-2004-04-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_online): Changed
-       (!flags & _CREATE) to (!(flags & _CREATE))
-       (get_folder_online): Do what create_folder() does and if the
-       parent folder has \NoInferiors set but contains no messages,
-       delete the parent folder and recreate it before creating the child
-       folder. Fixes bug #56651.
-
-2004-04-08  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.h (camel_folder_delete_message): always set the
-       seen flag when we delete a message.  I demand that this may, or
-       may not, fix #56549.
-
-       * camel-folder.c: include camel-debug.h
-       (camel_folder_set_message_flags): fixed the doco slightly (well
-       reversed the flag and set explanation) and give an example.
-
-       * providers/local/camel-mbox-folder.c
-       (mbox_set_message_user_flag): message changed to folder_changed.
-       (mbox_set_message_user_tag): ditto.
-
-       * camel-vee-folder.c (camel_vee_folder_finalise): dont hook onto
-       message_changed.
-       (camel_vee_folder_add_folder): or unhook.
-       (camel_vee_folder_remove_folder): "
-       (message_changed): or proxy.
-
-       * camel-folder.c (camel_folder_class_init): removed the
-       message_changed event - its redundant, and covered by
-       folder_changed, and just makes life difficult for everything using
-       message_changed/folder_changed (and nothing uses it anyway).
-       (message_changed): removed.
-       (set_message_user_flag): emit a folder_changed event instead of
-       message changed.
-       (set_message_user_tag): "
-       (set_message_flags): "
-
-       * camel-object.h: revered the CAMEL_OBJECT_TYPE change, it should
-       be a global variable access.
-
-2004-04-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-folder.c: Added mutex locking where
-       appropriate.
-
-       * providers/imap4/camel-imap4-store.c: Added mutex locking where
-       appropriate.
-
-       * camel-folder-summary.h (CAMEL_FOLDER_SUMMARY_TYPE): Defined.
-
-       * camel-object.h (CAMEL_OBJECT_TYPE): Fixed.
-
-       * providers/imap4/camel-imap4-folder.c
-       (camel_imap4_folder_utf7_name): Implemented.
-
-       * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
-       Use camel_folder_info_build() to build the folder-info tree.
-
-2004-04-06  Not Zed  <NotZed@Ximian.com>
-
-       * camel-debug.c: #if 0 out the sys/debugreg stuff.
-
-       ** See bug #56110.
-
-       * providers/imap/camel-imap-folder.c (get_content): more debug!
-       (get_content): if we have no content-type header set on a sub-part
-       of a multipart/digest, then we need to set it to message/rfc822 as
-       in the multipart/digest rfc (2046 or so?).
-
-       * camel-folder.c (camel_folder_get_message): output this stuff as
-       folder debug.
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): add some
-       imap:folder debug.
-       (get_content): get xx.TEXT rather than xx if we're from a message
-       parent part.
-
-       ** See bug #56464.
-
-       * camel-folder.c (camel_folder_transfer_messages_to): do not lock
-       the source here.
-       (transfer_message_to): call the main entry point for get message
-       and append message.
-
-       ** See bug #56050.
-
-       * camel-vee-store.c (vee_delete_folder): delete the state file if
-       it exists.
-
-       * camel-object.c (camel_object_state_write): create the parent dir
-       if we need to.  Also spit a warning if we fail in the end.
-
-       * camel-vee-folder.c (camel_vee_folder_new): set the persistent
-       state file location.
-       (vee_sync): write the state file when we sync.
-
-2004-04-05  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folders): dont add
-       folders to folders_out here, only in get_folders_add_folders.
-
-       * camel-store.c (camel_folder_info_build): simplify 'list append'
-       since we have next pointer at the head of the struct.
-
-       * providers/imap/camel-imap-store.c (create_folder): fixed
-       "containes" spelling count.
-       (get_folder_online): "
-       (get_folders_add_folders): duh, add the folder info to the
-       folders_out array.
-
-2004-04-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder.c (camel_folder_get_deleted_message_count): New
-       function to get the deleted message count (used for Outbox count
-       which is total minus deleted).
-
-2004-04-02  Not Zed  <NotZed@Ximian.com>
-
-       * camel-exception.c (w): turn this on, this should always be on,
-       it points to real bugs in the code.
-
-       * camel-folder-summary.c (summary_build_content_info): dont set
-       attachments if its a signature block.
-       (summary_build_content_info_message): same.
-
-2004-04-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-exception.c (w): Wrap annoying exeption warnings with w().
-
-2004-03-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
-       Partially implemented.
-       (imap4_get_folder): Implemented.
-
-2004-03-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_param): Use
-       header_decode_text() rather than rfc2047_decode_word() to decode
-       the brokenly rfc2047 encoded param value string in case it is
-       actually made up of multiple rfc2047 encoded words. Thanks to
-       Andrei Nigmatulin for the fix.
-
-2004-03-30  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_get_folder_info): added some debug to
-       dump the whole folderinfo tree if store:folder_info is set.
-
-       * providers/imapp/camel-imapp-driver.c: #if 0 out some code, to
-       kill warnings.
-
-       * camel-url-scanner.c: include ctype.h for isspace (wonder if it
-       should use utf8 funcs?).
-
-2004-03-29  Not Zed  <NotZed@Ximian.com>
-
-       ** See #56146.
-
-       * providers/imap/camel-imap-store.c (get_folders): check the
-       top-level folders list for duplicates as well.
-       (get_folders_add_folders): split out the folder return merging
-       code from get_folders.  Absolute mess of crap to deal with more
-       busted servers.
-
-       * camel-debug.c (camel_debug_start, camel_debug_end): some helpers
-       to wrap debug output for atomicicity.
-
-2004-03-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
-       Implemented.
-
-       * providers/imap4/camel-imap4-engine.c (engine_parse_namespace):
-       If the namespace begins with "INBOX", canonicalise the INBOX
-       portion (ie, make it all caps).
-
-       * providers/imap4/camel-imap4-store.c (imap4_noop): Implemented.
-
-2004-03-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_status): Updated
-       to actually parse the STATUS response into a list of item/value
-       pairs.
-       (create_folder): Updated for above change.
-       (get_folder_counts): Only call get_folder_status() once (we can
-       get both values with a single call now). Fixes a FIXME and might
-       also fix bug #55784.
-
-       * providers/local/camel-mbox-store.c (get_folder_info): Removed
-       debugging printfs.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): Since the folder was *just*
-       created, it shouldn't have any subfolders so set the
-       CAMEL_FOLDER_NOCHILDREN flag (altho, ideally, we wouldn't be
-       guessing these flags at all - rather we'd call get_folder_info()
-       or some such). Fixes bug #56010.
-
-2004-03-29  Radek Doulik  <rodo@ximian.com>
-
-       * camel-mime-filter-tohtml.c (html_convert): close pre tag in case
-       we just flush. I am not sure if it's still worth to check for
-       inlen == 0 and handle it specially, but didn't want to make too
-       big changes.
-
-       Fixes #55817
-
-2004-03-29  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_counts): use
-       object_bag_peek instead of _get, since we dont want to clash/wait
-       for reservations.  More #56045 related fixes.
-       (get_folder_counts): revert the lookup/hashtable stuff for the
-       folder, and use object_bag_peek.
-
-       * camel-object.c (camel_object_bag_peek): new method to get an
-       object bag entry without worrying about if its reserved or not.
-
-       * camel-gpg-context.c (gpg_verify): get the content-type off of
-       the multipart-signed, not its container.  This seems wrong
-       ... but might fix #56084.
-
-       * providers/imap/camel-imap-store.c (get_folder_counts): remove
-       locking here, we're locked whne we enter.
-       (fill_fi): call refresh_info unlocked.  More for #56045.
-
-2004-03-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap-folder.[c,h]: New source files
-       implementing the CamelFolder class for the new IMAP4
-       implementation.
-
-       * providers/imap4/camel-imap-summary.[c,h]: New source files
-       implementing the CamelFolderSummary class for the new IMAP4
-       implementation.
-
-2004-03-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary):
-       Reverted imap.web.de fix.
-
-2004-03-26  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-summary.c (flagbits[]): Added new
-       maildir flags D for draft and commented P for forwarded.
-
-       * providers/imap/camel-imap-store.c (get_folder_counts): Instead
-       of looking up the folder in the object bag which will handle
-       reservations and perhaps deadlock, just get the list of opened
-       folders and use them if they're available.  Should fix #56045.
-
-2004-03-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap-engine.c
-       (camel_imap_engine_parse_resp_code): No longer need to split ']'
-       tokens from atom tokens due to a fixup in the ABNF grammar in
-       rfc3501.
-
-       * providers/imap4/camel-imap-specials.c: Changed ATOM_SPECIALS to
-       include ']' (this is an addition in rfc3501).
-
-       * providers/imap4/camel-imap-store.[c,h]: New Store class for
-       IMAP. Implemnted a bunch of but still got a ways to go.
-
-2004-03-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): If the
-       server is imap.web.de, just ask for all the headers rather than
-       "HEADER.FIELDS.NOT (RECEIVED)". Actually, maybe we should always
-       just query for the entire header block?
-       (imap_get_message): If the server is brain-damaged (that's a
-       technical term), always fetch the message in whole, never bother
-       to try and fetch partial messages (Courier-IMAP gives us the wrong
-       BODY responses fairly often).
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Set
-       store->braindamaged to TRUE if we find the string "Courier-IMAP"
-       in the greeting.
-
-2004-03-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fix for bug #55018.
-
-       * providers/imap/camel-imap-store.c (create_folder): Don't allow
-       the user to create folders with #, %, * or the directory separator
-       in the folder name (added the checks for %, * and #).
-       (get_folder_online): Add a check to make sure the folder name is
-       sane before sending a CREATE (ie. we want to allow getting of
-       folders with discouraged characters in them if they exist, but we
-       don't want to allow the user to create them).
-
-2004-03-25  Martyn Russell  <ginxd@btopenworld.com>
-
-       * providers/smtp/camel-smtp-provider.c: Removed newline character
-       from the provider description
-
-2004-03-25  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-groupwise-provider.c: removed ldap
-       seetings and added a settng for SOAP port 
-
-       * providers/groupwise/camel-gw-listner.h
-       (add_calendar_tasks_sources, remove_calendar_tasks_sources),
-       (modify_calendar_tasks_sources): read port number from url instead
-       of hardcoding. Also removed code for adding e-sources for ldap
-       address book and adding now e-sources for groupwise address book
-
-2004-03-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap4/camel-imap-engine.c (camel_imap_engine_literal):
-       New convenience wrapper function.
-       (engine_parse_status): Fixed to handle literal mailbox strings.
-
-       * providers/imap4/camel-imap-command.c (camel_imap_command_newv):
-       Changed how %L works - create the CamelIMAPLiteral for our caller
-       instead of expecting them to create it for us. We can autodetect
-       what type of object (stream vs data-wrapper) the literal is, so
-       it's trivial to do.
-
-2004-03-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): Reworked
-       the else bit to fix a bug where if we had the BODY structure, we simply
-       wouldn't try fetching the actual message.
-
-2004-03-23  Not Zed  <NotZed@Ximian.com>
-
-       * camel-exception.c (camel_exception_setv): use camel debug to add
-       some debug here.
-
-       * camel.c (camel_init): call camel_debug_init().
-
-       * camel-debug.c (camel_debug_init, camel_debug): new util stuff
-       for extended debug options.
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): if we're
-       supposed to be online, check we are online before proceeding.
-       Actually major restructure so we re-try the fetch a couple of
-       times first before failing.  i.e. silent reconnect.  See #55381.
-
-       * providers/imap/camel-imap-store.c (get_folder_info_online):
-       connect lock around this.  was getting a race with mem corruption
-       otherwise.
-
-2004-03-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (camel_header_newsgroups_decode)
-       (camel_header_newsgroups_free): decode newsgroups header into a
-       list of newsgroups.
-
-       ** See #55887.
-
-       * providers/nntp/camel-nntp-summary.c (camel_nntp_summary_check):
-       NOOP if we're offline.
-
-       * providers/nntp/camel-nntp-store.c (nntp_connected): spit a
-       warning if we try to do stuff whilst offline, rather than crash.
-
-2004-03-19  Not Zed  <NotZed@Ximian.com>
-
-       * camel-disco-store.c (disco_connect): ref the diary before
-       replaying it.  it could get unreffed during replay if there's an
-       error and we disconnect.
-
-       * camel-store.c (camel_store_get_folder): no longer use
-       folder_lock, we already have adequate serialisation code here or
-       below here.  I hope.
-       (camel_store_get_folder_info): same here.
-
-       * providers/imap/camel-imap-store.h: remove async_thread thing.
-
-2004-03-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): Checking
-       that mi->content->type != NULL is no longer good enough to tell if
-       a ContentInfo is complete (ie. contains the parsed BODY
-       response). We need to check that th ContentInfo has children if
-       the part is a multipart of message/rfc822 part. Apparently Zucchi
-       didn't test his camel-folder-summary changes using IMAP.
-
-2004-03-17  Radek Doulik  <rodo@ximian.com>
-
-       * camel-folder-summary.h: use 1<<30 for CAMEL_MESSAGE_JUNK_LEARN,
-       1<<17 was already used by imap provider and maybe others
-
-2004-03-17  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-store.c: Reverted jeff's fix for
-       #55018, since it wasn't tested, and doesn't work.  Wrote an
-       alternate implementation, and tested it at least once.  Turns out
-       it was a one line error, it still wasn't tested.  Oh well, its
-       rewritten now.
-
-       * See bug #55618.
-       
-       * camel-disco-diary.c (camel_disco_diary_new): seek to the end of
-       the file after we open it.  c99 apparently says the file merely
-       adds to the end of the file when you write, not that it is opened
-       and positioned at the end of the file (linux's man pages are out
-       of date).
-
-       * camel-folder-summary.c (content_info_new): setup the content
-       type as well, from the headers.
-
-       * providers/imap/camel-imap-summary.c
-       (camel_imap_summary_add_offline): copy size from the source info.
-
-2004-03-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder.c (folder_rename): Always use '/' to derive the
-       basename of the folder. folder->full_name is always the UNIX-path
-       evrsion of the folder name, no matter what the actual path
-       delimeter is on the underlying store.
-
-       * providers/imap/camel-imap-store.c (get_folder_online): If the
-       initial SELECT fails and CREATE is specified, clear the exception
-       before attempting to CREATE, this way we don't have an exception
-       set even if the CREATE passes. Fixes bug #55607.
-
-2004-03-16  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-message.c (camel_mime_message_init): rever previous
-       patch.  We don't want to set the default mime/type, it'll break
-       stuff.
-
-2004-03-15  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-mbox-store.c (delete_folder): same as
-       below for path.
-
-       * providers/local/camel-local-store.c (delete_folder): NULL out
-       str before looking up the state file using it.  Otherwise we
-       double-free str.
-
-       * camel-mime-parser.c (folder_scan_skip_line): we want to scan
-       till in-end-1.  If we've been called we're either at the end of
-       data, or we know we have an end of line character within memory.
-       Another case in Bug #53355.
-
-       * providers/imap/camel-imap-folder.c (get_content, get_message):
-       set the mime-type field on the content the same way as
-       construct_from_stream does.  Bug #55472.
-
-       * camel-mime-message.c (camel_mime_message_dump): utility function
-       to dump message content to stdout.
-       (camel_mime_message_init): default mime type to message/rfc822.
-
-       * camel.c (camel_init): change camel verbose debug to be an int, a
-       bitmask of debug options.
-
-       * camel-mime-utils.c (camel_header_location_decode): drop embedded
-       whitespace characters, and don't do unquoting, etc.  See rfc2557
-       4.4.2 and rfc2017 3.1.
-
-2004-03-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_set_exception): Now
-       takes an argument to specify whether disconnecting when respbuf is
-       NULL is safe (to prevent us from recursively disconnecting or
-       disconnecting during a connect).
-
-2004-03-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fix for bug #53497.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): Instead of
-       unreffing the streams, call camel_service_disconnect().
-       (smtp_mail): Same.
-       (smtp_rcpt): Same.
-       (smtp_data): Same.
-       (smtp_send_to): Ignore exceptions for smtp_rset(). Also, check
-       that we are connected before we try to send (in Evolution's
-       current usage scenario, this isn't a problem but in the future if
-       we ever try to fire off several messages via the same smtp
-       connection, it may be - especially if RSET failed during the
-       previous send).
-
-2004-03-12  Radek Doulik  <rodo@ximian.com>
-
-       * camel-folder.c (folder_changed): clearn the learn bit only if
-       set.
-
-2004-03-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes for bug #55018.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): Use camel_url_to_string() here
-       too, so we properly encode the fragment.
-
-       * providers/local/camel-mbox-store.c (get_folder_info): Use
-       CamelURL to properly encode the fi->uri. Pass the CamelURL into
-       scan_dir() so that scan_dir() can re-use it (rather than having to
-       malloc/parse/free for each file/dir)
-       (scan_dir): Use camel_url_to_string().
-
-       * providers/local/camel-maildir-store.c (get_folder_info): Same as
-       mbox.
-       (scan_dir): Same as mbox. We also need to set the
-       CAMEL_FOLDER_NOSELECT flag if appropriate.
-
-       * providers/local/camel-mh-store.c (get_folder_info): Same as mbox
-       and maildir.
-       (folders_scan): Now takes a url argument which we pass off to
-       folder_info_new().
-       (recursive_scan): Same.
-       (folder_info_new): Use camel_url_to_string().
-
-2004-03-11  Radek Doulik  <rodo@ximian.com>
-
-       * camel-folder.c (camel_folder_set_message_flags): watch for
-       setting JUNK flag, if JUNK_LEARN is not set as well then reset
-       JUNK_LEARN bit
-       (folder_changed): look for junk changes in uid_changed's messages,
-       if these changes request junk filter learning
-       (CAMEL_MESSAGE_JUNK_LEARN bit set) then prepare junk and nonjunk
-       uid arrays, clear CAMEL_MESSAGE_JUNK_LEARN bit so that we don't
-       process it again
-       (folder_changed): start filter thread if there's junk and/or
-       nonjunk arrays
-       (filter_filter): if junk/nonjunk arrays are non-NULL, call junk
-       filter report to learn junk/non-junk messages
-       (filter_free): free junk/nonjunk uids and arrays
-
-       * camel-folder-summary.h: added CAMEL_MESSAGE_JUNK_LEARN to
-       CamelMessageFlags, used when setting CAMEL_MESSAGE_JUNK flag to
-       say that we request junk plugin to learn that message as
-       junk/non-junk
-
-2004-03-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (connect_to_server): If
-       errno is EINTR, set USER_CANCEL instead of SERVICE_UNAVAILABLE or
-       whatever.
-       (smtp_helo): Same.
-       (smtp_auth): Same.
-       (smtp_mail): Same.
-       (smtp_rcpt): Same.
-       (smtp_data): Same.
-       (smtp_rset): Same.
-       (smtp_quit): Same.
-       (smtp_set_exception): Here too.
-       (smtp_auth): If the AUTH response code is not 334, then use
-       smtp_set_exception() to get the most accurate error report we can.
-
-2004-03-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-object.c (cobject_state_read): Sanity check that count is
-       <1024 and also use g_try_malloc so that we can recover if malloc
-       fails.
-
-2004-03-11  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (no_such_folder): removed
-       this.  not sure what it was doing there, a 1 line funciton used
-       once.
-       (get_folder_online): pass exception to camel_imap_command.  if we
-       got a user cancel, pass it up.  See #55388.
-       (hash_folder_name, compare_folder_name): more g_ascii_strcasecmp
-       stuff.
-
-2004-03-11  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-store.c (vee_get_folder_info): we need to add the
-       folderinfo always if we're recursive from top.  Should fix #52965
-       and maybe the other vfolders not showing on startup bug.
-
-       * providers/imap/camel-imap-store.c (get_one_folder_offline):
-       (parse_list_response_as_folder_info): turn off NOINFERIORS always,
-       translate to nochildren.
-       (imap_store_refresh_folders): check we're updating an imap folder,
-       we could also have trash folders in the store too.
-
-2004-03-08  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-store.c (vee_get_folder_info): setup virtual/system
-       flags as appropriate.
-       (change_folder): setup flags properly.
-
-       * providers/nntp/camel-nntp-store.c
-       (nntp_store_get_subscribed_folder_info): mark all folders as
-       system folders.
-
-       * providers/local/camel-mh-store.c (fill_fi): add this to setup
-       folderinfo.
-       (folder_info_new): call fill_fi to fill unread/total.
-       (recursive_scan, folders_scan): ahh yeah, so wtf was i thinking,
-       store->flags != get_folder_info flags!!!!
-
-       * providers/local/camel-maildir-store.c (camel_folder_info_new):
-       remove unread count arg & setup total.
-       (fill_fi): setup total field.
-       (scan_dir): remove the code that checked the directory directly -
-       use fill_fi instead.  It will more accurately reflect what you get
-       when you visit the folder.
-       (camel_folder_info_new): mark "." as a system folder.
-       (scan_dir): try to setup children/no children flags properly.
-
-       * providers/local/camel-mbox-store.c (fill_fi): setup total field.
-       (scan_dir): init total.
-       (get_folder_info): "
-
-2004-03-05  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c
-       (parse_list_response_as_folder_info): mark INBOX as a system
-       folder.  Can't be renamed/deleted.
-       (fill_fi): setup total field.
-       (get_folder_counts): ditto.
-
-       * camel-store.c (add_special_info): set the system folder flag.
-
-       * camel-store.h: time to fix up the camelfolderinfo mess.  fix
-       some member names, and add some type fields.  Fixed all uses.
-
-2004-03-04  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #53355.
-
-       * providers/imap/camel-imap-folder.c (get_content): if the parent
-       isn't a message/rfc822 type, we don't want to get the section.TEXT
-       for multipart/signed, we just want to get section.
-
-2004-03-03  Rodrigo Moya <rodrigo@ximian.com>
-
-       * providers/groupwise/camel-gw-listener.c
-       (add_calendar_tasks_sources): use "Calendar" and "Checklist" for the
-       folder names, instead of "Default".
-       (remove_calendar_tasks_sources): remove the correct folder.
-
-2004-03-03  Not Zed  <NotZed@Ximian.com>
-
-       * camel-operation.c (camel_operation_uncancel): attempt at
-       uncancelling a cancelled operation.
-
-       * camel-stream-filter.c (do_write, do_write): fun dun diddley un
-       fun.  Since we're writing a const buffer, we need to copy it
-       first.  See #54937.
-
-2004-02-27  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #54755.
-
-       * camel-vtrash-folder.c (vtrash_append_message)
-       (vtrash_transfer_messages_to): error/fail out if the user tries to
-       copy messages to the trash.
-       (vtrash_transfer_messages_to): use the destination bit not the
-       source bit for moving messages to a vtrash folder.
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): ignore NODATA
-       response, otherwise we abort in a meaningless way.  See #52939.
-
-       * providers/imap/camel-imap-utils.c: use g_ascii_str[n]casecmp
-       everywhere.
-       * providers/imap/camel-imap-utils.c (imap_body_decode): fix the
-       sense of the nil check for the subtype of a mutlipart.  See
-       #53355.
-
-2004-02-26  Not Zed  <NotZed@Ximian.com>
-
-       * camel-session.c (camel_session_check_junk_for_imap) 
-       (camel_session_set_check_junk_for_imap): removed.
-
-       * providers/imap/camel-imap-provider.c: Add filter_junk and
-       filter_junk_inbox options to the receive option page.
-
-       * providers/imap/camel-imap-store.c (imap_setv, imap_getv): handle
-       FILTER_JUNK and FILTER_JUNK_INBOX parameters.
-       (imap_setv): conver to switch rather than if statement.
-       (construct): handle url args for filter_junk and
-       filter_junk_inbox.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Set
-       the folder's flags based on the stores junk settings.
-       (imap_update_summary): remove the test for
-       session_check_junk_for_imap, its handled per-store now.
-
-       * camel-folder.c (folder_changed): only check for FILTER_RECENT or
-       FILTER_JUNK to see if we need to do filtering.
-
-       * camel-folder.h (CAMEL_FOLDER_FILTER_JUNK): renamed from
-       CAMEL_FOLDER_SUPRESS_JUNK_TEST (and obviously inverted logic).
-
-2004-03-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-mbox-summary.c
-       (mbox_summary_encode_x_evolution): Overrides the parent method. We
-       don't want to encode user flags/tags or the size of the header
-       will change and force a complete rewrite of the mbox file.
-
-2004-02-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_folder): Free
-       the uids *after* reporting Complete, otherwise we get an FMR if
-       our caller didn't pass in the uids.
-
-       * camel-sasl-gssapi.c (gssapi_challenge): #ifdef out another
-       gss_release_buffer() call as this function causes memory
-       corruption if using Heimdal's implementation of Kerberos5. Yay
-       Heimdal.
-
-2004-02-25  Radek Doulik  <rodo@ximian.com>
-
-       * camel-folder.c (get_unread_message_count): do not avoid junk
-       mails in unread count
-
-2004-02-25  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-summary.h (CAMEL_IMAP_MESSAGE_RECENT):
-       moved the RECNET flag into the folder area (bit 17-30).
-
-2004-02-24  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #53876.
-
-       * providers/imap/camel-imap-command.c (camel_imap_command): ref
-       the folder before unreffing store->current_folder, incase they're
-       the same.  Do a select anyway.
-
-       * providers/imap/camel-imap-folder.c (imap_refresh_info): keep the
-       connect_lock for longer, imap_rescan for one assumes its locked.
-       Fixes a race selecting the folder for refresh.
-
-2004-02-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-stream-process.c: #include <signal.h>, we don't need limits.h
-
-       * camel-store.c (camel_store_folder_uri_equal): New function to do
-       what camel_store_uri_cmp() was supposed to do.
-
-2004-02-23  Rodney Dawes  <dobey@ximian.com>
-
-       * providers/local/camel-mbox-store.c (scan_dir): If our folder has
-       a subdir, but no actual children, then we need to unset the flag for
-       CAMEL_FOLDER_CHILDREN
-
-       Fixes #54470
-
-2004-02-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (camel_store_uri_cmp): Removed. Useless/broken
-       function.
-
-2004-02-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-provider.c (camel_provider_list): Init list to NULL to
-       prevent the crash in bug #54574.
-
-2004-02-19  Chris Toshok  <toshok@ximian.com>
-
-       * camel-smime-context.c: wrap this file with #ifdef ENABLE_SMIME
-       instead of #ifdef HAVE_NSS.
-
-2004-02-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-mbox-store.c (get_folder): Add sanity
-       checking to the folder name if we are going to create it, just
-       like we do in create_folder().
-
-2004-02-19  Not Zed  <NotZed@Ximian.com>
-
-       * providers/*/camel-*-provider.c
-       (camel_provider_module_init): Fixes for api changes.
-
-       * camel-provider.c (camel_provider_load): no longer take session
-       argument.  the providers are global resources.
-       (camel_provider_init): dont return anything anymore.  (error?)
-       call from camel_init now.  Use a recursive lock too.
-
-       * camel-session.c (camel_session_register_provider)
-       (camel_session_list_providers, camel_session_get_provider): Moved
-       to camel-provider, camel_provider_register/list/get.
-       (vee_provider): moved to camel-provider.c
-
-2004-02-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_verify): Use the trust to decide the
-       validity signature status. (Better way of solving yesterday's
-       problem)
-
-       * camel-cipher-context.h: Revert change from yesterday.
-
-2004-02-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_verify): Set the trust.
-
-       * camel-cipher-context.h: Add a trust metric to signatures.
-
-2004-02-17  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-store.c (vee_sync): implment, make sync a noop on vee
-       stores.  Speeds up exit, so we don't try and sync and re-sync
-       folders multiple times.
-
-       ** See bug #53861.
-
-       * providers/nntp/camel-nntp-summary.c (add_range_xover): Fix from
-       Edd Dumbill <edd@usefulinc.com> to avoid aborting on irrelevently
-       truncated lines.
-
-2004-02-16  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #51045.
-
-       * providers/imap/camel-imap-store.c (fill_fi): similar to mbox
-       version.
-       (get_folder_counts): use fill_fi to try and get folder counts if
-       we're not doing the hard slog.
-       (get_one_folder_offline): use fill_fi to try to get folder counts
-       from open folders or summaries.
-
-       * providers/local/camel-maildir-store.c (fill_fi): similar to mbox
-       version.
-       (scan_dir): use fill_fi to get the unread count now.
-
-       * providers/local/camel-mbox-store.c (fill_fi): helper to lookup
-       unread count either from active folder or from summary file, if
-       it's available.
-       (scan_dir, get_folder_info): use helper above to get folder info.
-
-       * devel-docs/camel-folder-summary.txt: New document describing the
-       format/conventions in the CamelFolderSummary file.
-
-       * providers/nntp/camel-nntp-summary.c (summary_header_load/save): 
-       * providers/imapp/camel-imapp-summary.c (summary_header_load/save): 
-       * providers/imap/camel-imap-summary.c (summary_header_load/save):
-       Handle versions, per-class version number (1).
-
-       * providers/local/camel-mbox-summary.c (summary_header_load/save):
-       Handle versions properly, add a per-class version (1).  Write out the
-       folder size as a size_t rather than 32 bit int.
-
-       * providers/local/camel-local-summary.c (summary_header_load/save):
-       read/write the per-class version number (1).
-
-       * camel-folder-summary.c (summary_header_load): do version
-       checking differently, allow the version to be bumped without
-       aborting the load.  Added unread/deleted/junk counts to base
-       header.
-       (summary_header_save): Save out the new-format header.  Version
-       bumped to 13.
-
-       * camel.c (camel_init): return 0 rather than spit a compiler warning.
-
-       * camel-file-utils.c (camel_file_util_encode_*_t): macro-ise the
-       type encoder/decoders.  Also add size_t encoder/decoder.
-
-2004-02-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_online): Same.
-
-       * providers/local/camel-mh-store.c (get_folder): Same as maildir
-       changes.
-
-       * providers/local/camel-maildir-store.c (get_folder): Make
-       exceptions strings consistanmt with the mbox exception strings
-       (and vise versa). Also handle the CAMEL_STORE_FOLDER_EXCL flag.
-
-       * providers/local/camel-mbox-store.c (get_folder): Check
-       CAMEL_STORE_FOLDER_EXCL flag.
-
-       * providers/local/camel-local-store.c (get_folder): Simplified by
-       using camel_mkdir instead of doing it manually.
-
-       * camel-store.c (camel_store_get_folder): If the folder exists in
-       the cache and the O_EXCL flag was passed, return NULL and set an
-       exception.
-
-       * camel-store.h: Added a new CAMEL_STORE_FOLDER_EXCL flag for use
-       with get_folder().
-
-2004-02-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-file-utils.c (camel_file_util_encode_string): Since
-       decoding a string doesn't allow strings longer than 65536,
-       truncate strings that are longer than 65536 here. Fixes bug
-       #54319.
-
-2004-02-09  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #53978.
-
-       * providers/local/camel-mbox-store.c: added ".lock" to the list of
-       ignored extensions.
-       (ignore_file): ignore anything ending in ~ too.
-
-       ** See bug #51319.
-       
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): re-enable indexing when folder is
-       first opened.  Also load defaults if no meta-data present.
-
-2004-02-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-provider.c (camel_provider_init): Use strrchr, not strchr.
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): Forget the need_id,
-       not the userid. Fixes bug #53908.
-
-       * camel-store.c (add_special_info): Set a CAMEL_FOLDER_VIRTUAL bit
-       on the special folder info so our UI can know if it is virtual or
-       not (meant for vTrash/vJunk).
-       (camel_store_get_folder_info): Don't add vTrash/vJunk if the
-       NO_VIRTUAL flag bit is set. Used by the subscriptions editor.
-
-2004-02-06  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (camel_folder_set_message_flags): changed to
-       return a boolean to indicate if the flags were actually changed or
-       not.  Fixed all implementors.
-
-2004-02-05  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-mbox-store.c (rename_folder): rename
-       .cmeta file too, and fix the recovery order.
-
-       * providers/local/camel-local-store.c (rename_folder): rename the
-       .cmeta file too.
-
-       * providers/local/camel-local-folder.c (local_rename): fix this to
-       use local_get_full_path stuff.
-
-       * camel-store.c (camel_store_rename_folder): fix umr's comparing
-       old and new names.
-
-2004-02-05  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #53553.
-       
-       * camel-provider.c (camel_provider_init): changed to return a
-       hashtable of url protocols to CamelProviderModule structs, rather
-       than simple strings.
-
-       * camel-session.c (get_provider): if we load a provider module,
-       mark it as loaded.
-       (ensure_loaded): Check the module loaded flag before trying to
-       load it.
-
-       * providers/local/libcamellocal.urls: Remove spoold from the list,
-       since it doesn't exist anymore.  Actually fixes #53553, the rest
-       is to robustify the code.
-
-2004-02-05  Not Zed  <NotZed@Ximian.com>
-
-       * camel-session.c (CS_CLASS): dont typecheck cast.
-
-       * camel-store.c (camel_vjunk_folder_new): removed, use
-       vtrash_new(junk).
-       (setup_special): changed to get_special, with a type now, and
-       dont add vtrash folders to the sources.
-       (get_trash, get_junk): down to 1 liners, call get_special
-
-       * camel-vtrash-folder.c (CF_CLASS): dont use cast typecheck macros
-       here, makes debugging easier and removes redundant checks.
-       (camel_vtrash_folder_init): dont set flags here.
-       (camel_vtrash_folder_new): takes a new argument, type, for junk
-       folders too, removed name arg (taken from type).
-       (vtrash_transfer_messages_to): parameterise flag processing.
-
-2004-02-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c: Get rid of some unnecessary
-       CAMEL_OBJECT() casts.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): The
-       folder_name argument passed to this function is ALWAYS in the UNIX
-       path form (ie. using '/' as the dir sep) and so when getting the
-       short_name, don't use imap_store->dir_sep as the dir sep, always
-       use '/'. Fixes bug #53755 for the IMAP case.
-
-2004-02-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fix for bug #53755 (local folders case)
-
-       * providers/local/camel-mbox-store.c (xrename): No longer takes an
-       exception arg, we just set errno. Our caller can take care of
-       setting an exception.
-       (rename_folder): Don't pass an exception to xrename(), we always
-       overwrote if an error occured it anyway.
-       (rename_folder): Rename the .sbd as well.
-
-2004-02-04  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_sync): added 'expunge' parameter,
-       easier 'empty trash on exit' call.
-       (store_sync): duh, actually pass expunge to folder_sync.
-
-2004-02-04  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c
-       (parse_list_response_as_folder_info): if we can't add the folder
-       to the summary {i.e. duplicate}, then ignore it.  See #53836.
-
-       * camel-store.c (camel_store_delete_folder): changed order around,
-       first try to delete and only remove from the object bag if the
-       delete worked.  If vjunk/vtrash enabled, don't allow those to be
-       deleted.
-       (cs_delete_cached_folder): helper to delete the folder if its in
-       the cache, remove it from trash/junk, etc.
-       (camel_store_unsubscribe_folder): changed similarly to
-       delete_folder.
-
-       * camel-vee-store.c (vee_delete_folder): dont do any trash/junk
-       processing anymore.
-
-2004-02-03  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c: use the folders object bag to manage the trash
-       folder and junk folders.  Remove the init_trash and init_junk
-       stuff, just use get_trash and get_junk to mean the same thing.
-       Get rid of the hacked up vjunk and vtrash "uri" stuff too.
-
-       * camel-object.c (camel_object_bag_add): null out the pair->func,
-       otherwise we get an uninitalised memory read during unhook event.
-
-2004-02-03  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-vee-folder.c (vee_folder_build_folder): Use macro casts
-       from int to pointer.
-
-       * camel-folder.c (camel_folder_change_info_add_source): Same as below.
-       (camel_folder_change_info_add_source_list): Same.
-
-       * camel-folder-search.c (camel_folder_search_execute_expression):
-       Use GINT_TO_POINTER() to cast 1 to a pointer for
-       g_hash_table_insert().
-
-       * camel-vee-folder.c (vee_folder_remove_folder): 64bit fixes.
-       (folder_added_uid): Same.
-       (vee_folder_build_folder): Here too.
-       (folder_changed_add_uid): And here.
-       (folder_changed_remove_uid): Same.
-
-2004-02-03  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * tests/misc/url-scan.c: New test suite for url scanning.
-
-       * camel-url-scanner.c: Added single/double quotes to url_braces[]
-       in case the user is quoting the url.
-       (camel_url_web_end): Add "-;:" to list of punctuation to strip off
-       the end of urls. Also fixed to handle user@domain's
-       (camel_url_addrspec_start): Strip open brace characters from the
-       beginning of the addr.
-       (camel_url_web_start): Make sure "www" wasn't part of something
-       not a url (like "Ewww.Gross") by check that pos[-1] is either an
-       open brace or whitespace.
-       (camel_url_addrspec_end): Don't allow toplevel domain addr-specs
-       (if we encounter something that looks like it is a toplevel domain
-       addr, it is more likely to be bogus than correct).
-
-2004-02-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes for bug #53091.
-
-       * providers/imap/camel-imap-store.c (create_folder): Set the new
-       folder's fi->flags to CAMEL_FOLDER_NOCHILDREN since we know it
-       doesn't have any (we just created it!).
-       (subscribe_folder): Same.
-
-       * camel-store.c (folder_info_clone_rec): Copy the flags too. Fixes
-       the local folder case of bug #53091.
-
-2004-01-31  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Same
-       as below.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): Instead of
-       using the form %s@%s in the password prompt, use %s on host %s,
-       hopefully this will be less confusing to users who have usernames
-       of the form user@vhost.
-
-2004-01-30  Rodney Dawes <dobey@ximian.com>
-
-       * providers/groupwise/camel-groupwise-provider.c: Fix spelling error in
-       provider description
-
-       Fixes #53572
-
-2004-01-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel.c (camel_init): Protect against multiple camel_init()
-       calls. Remember if we've already been called.
-
-2004-01-30  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_rename_folder): copy the old_name
-       that comes in, since it might be the actual folder_name, which
-       will go away during processing.  Related to #53123.
-
-2004-01-29  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #53269.
-       
-       * providers/nntp/camel-nntp-store.c
-       (nntp_store_get_cached_folder_info): don't dereference last before
-       checking if its null.
-
-       * camel-object.c (camel_object_bag_rekey): added a doc comment.
-
-       ** See bug #53520.
-
-       * camel-session.c (get_service): free the url once done, it now
-       gets copied by the service.
-
-       * camel-service.c (construct): copy the url that comes in, don't
-       just '0Wn34z' it.  clena up exception handling too.
-
-2004-01-29  Not Zed  <NotZed@Ximian.com>
-
-       * camel-object.c (cobject_state_write): output scan->name and
-       scan->value for writing metadata, rather than meta->name/value
-       which just duplicates the last entry, related to #53195.
-
-       * camel-url.c (camel_url_free): zero out passwd/user/host before
-       freeing them.
-
-2004-01-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-mbox-store.c (rename_folder): Make sure
-       the new dir path exists before trying to rename files to avoid
-       ENOENT errors. Also save errno when we encounter errors so that we
-       can report the true error later rather than an error we may get
-       while reverting changes. Also, it is OK if the ibex files don't
-       exist, so check for that errno case.
-
-2004-01-28  Sivaih Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-gw-listener.c (account_changed)
-       (modify_esources) : add port and /soap parts to relative uri while 
-       updating it when account changed
-
-2004-01-27  Radek Doulik  <rodo@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): set
-       CAMEL_FOLDER_SUPRESS_JUNK_TEST flag
-       (imap_update_summary): update CAMEL_FOLDER_SUPRESS_JUNK_TEST flag
-
-       * camel-folder.c (folder_changed): use
-       CAMEL_FOLDER_SUPRESS_JUNK_TEST flag instead of check_junk_for_imap
-
-       * camel-folder.h (CAMEL_FOLDER_SUPRESS_JUNK_TEST): added new flag
-
-2004-01-27  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #53373.
-
-       * camel-store.c (camel_store_rename_folder): use object_bag_rekey
-       to rename the object.  object_bag use was broken.
-
-       * camel-object.c (camel_object_bag_rekey): new api to atomically
-       re-key
-
-2004-01-23  Radek Doulik  <rodo@ximian.com>
-
-       * camel-folder.c (folder_changed): use check_junk_for_imap flag
-
-       * camel-session.c: add check_junk_for_imap flag
-
-2004-01-23  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (IMAP_SMALL_BODY_SIZE):
-       removed the meaningless fixme, a butt-retrieved-number is as good
-       as any in this case.
-       (imap_get_message): revert peterw's change of 2002-07-15, instead
-       of checking for online mode here, let get_message do it when you
-       retrieve the parts.  This lets a multi-fetch (i.e. large) message
-       work more betterer in offline mode.
-
-2004-01-22  Jeremy Katz  <katzj@redhat.com>
-
-       * camel-mime-part.c: Fix prototype to be consistent.
-
-2004-01-21  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #52996.
-
-       * camel-data-cache.c (camel_data_cache_add): put a do-loop around
-       the object_bag_reserve stuff, otherwise we can add/abort out of
-       sync (i.e. when object_bag_reserve returned a pointer we mustn't
-       call add/abort).
-
-       * camel-object.c (camel_object_bag_*): Added some inline doco.
-
-2004-01-20  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #52817.
-
-       * camel-session.c (camel_session_get_password): merged reprompt
-       and secret into a flags field, and add more options.  Fixed all
-       callers.
-
-       ** See bug #52899.
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): use need_id as the
-       password key, not userid.
-
-2004-01-19  Siviaah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-gw-listener.c
-       (remove_calender_tasks_sources, modify_calender_tasks_sources):
-       add port and "/soap" to source uri
-
-2004-01-19  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-store.c (change_folder): use a CamelURL to properly
-       encode the url we generate.
-       (vee_get_folder_info): ditto.
-       (vee_get_folder_info): removed unused variable/warning.
-
-       * camel-session.c (vee_provider): Update the provider flags for
-       URL_FRAGMENT_IS_PATH.
-
-       * providers/imapp/camel-imapp-utils.c (imap_parse_addfress_list):
-       namespaces fixes for HEADER_ADDRESS*
-
-2004-01-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_sync_online): Limit the
-       flags we set (or unset) to the folder's permanent flags.
-
-2004-01-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-message.c (camel_mime_message_build_mbox_from): Same.
-
-       * camel-internet-address.c (internet_decode): Same.
-
-       * camel-mime-utils.[c,h]: Namespaced camel_header_address_t enums
-       s/HEADER_ADDRESS_/CAMEL_HEADER_ADDRESS_/g
-
-2004-01-16 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-groupwise-provider.c: added some conf
-       entries for LDAP address setup
-
-       * providers/groupwise/camel-gw-listener.c: added
-       add_ldap_addressbook_source, modify_ldap_addressbook_source,
-       remove_ldap_addressbook_source functions for setting up LDAP
-       address book. Also setting "username" property on cal/tasks
-       ESources
-
-2004-01-15  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #52881.
-
-       * camel-object.c (camel_object_bag*): Support reserving different
-       keys from the same thread.  Oh the pain.
-
-       * camel-vee-store.c (vee_get_folder_info): implement child flags
-       properly. Changed to build tree itself rather than calling
-       camel_folder_info_build.
-       (vee_get_folder): if we're adding a folder with dummy parents,
-       create and add the dummy parent folders too (as real folder
-       objects).  We are the only owner of the ref, so this sort of leaks
-       the folder, but they're small.
-
-2004-01-14  Rodrigo Moya <rodrigo@ximian.com>
-
-       * providers/groupwise/camel-groupwise-provider.c
-       (camel_provider_module_init): missing renaming.
-
-2004-01-14  Rodrigo Moya <rodrigo@ximian.com>
-
-       * providers/groupwise/camel-gw-listener.c (add_esource): set the
-       "auth" property on the ESource's we create, to get authentication.
-
-2004-01-14  Not Zed  <NotZed@Ximian.com>
-
-       ** Patch from Timo Sirainen <tss@iki.fi> to honour read-only
-       status for imap folders.
-       
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
-       check for read-only status response.
-       (imap_sync_online): only call sync_offline if we're read-only.
-       (imap_expunge_uids_resyncing): NOOP for read-only.
-
-2004-01-14  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-folder.c (local_getv): remove debug
-       printf.
-
-       ** See bug #52835.
-
-       * camel-smime-context.c (sm_get_passwd): removed debugging.  If we
-       get called multiple times in a row, then forget the old password
-       and re-prompt - it was a bad password.  Zero out password memory
-       too.
-
-2004-01-13  Rodrigo Moya <rodrigo@ximian.com>
-
-       * providers/groupwise/camel-groupwise-provider.c: missing renaming.
-
-2004-01-13  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/camel-gw-listener.[ch]: renamed
-       groupwise-config-listener.[ch] to these file names and also
-       changed code to use CamelURL insted of EUri
-
-       * providers/groupwise/camel-groupwise-provider.c: use the renamed
-       config listener apis
-
-       * providers/groupwise/Makefile.am: changed the source file names
-
-2004-01-12  Meilof Veeningen  <meilof@wanadoo.nl>
-
-       * providers/nntp/camel-nntp-folder.[ch]: now based on discofolder,
-       cache_message and append_message implemented, only retrieve messages
-       when we are subscribed, some stubs
-
-       * providers/nntp/camel-nntp-provider.c: newsgroup name display
-       settings, password authentication, fix for check_equal where the
-       protocols wouldn't be checked
-
-       * providers/nntp/camel-nntp-store.[ch]: base on discostore with
-       online/offline support, subscriptions, downloading changed parts of
-       the newsgroup list, some stubs, authentication, automatic reconnect
-
-       * providers/nntp/camel-nntp-store-summary.[ch]: NNTP store
-       summary based on IMAP code
-
-       * providers/nntp/camel-nntp-summary.c: save summary after xover
-
-       * providers/nntp/camel-nntp-grouplist.h: added CamelNNTPGroupList
-       structs
-
-       * providers/nntp/Makefile.am: added store summary
-
-2004-01-12  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug 52725.
-
-       * providers/imap/camel-imap-folder.c (get_content): pass in
-       transfer encoding when setting up wrapper part.
-
-       * providers/imap/camel-imap-wrapper.c (camel_imap_wrapper_new):
-       Added an encoding type parameter, set on data wrapper.
-
-2004-01-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (rfc2047_encode_word): if e_iconv() returns
-       -1, check that errno != EINVAL - if errno *is* EINVAL, it just
-       means that our convlen wasn't long enough to include the whole
-       sequence. This is fine, we'll just start where we left off next
-       loop thru. Fixes bug #52593 (the buffer was duplicated because
-       state wasn't flushed).
-       (camel_header_encode_string): Fixed a type-o in loop where
-       encoding=0, don't g_string_append_len starting at 'word'
-       inptr-start bytes long - 'word' could be NULL and/or inptr-start
-       could be longer than inptr-word.
-
-2004-01-09  Rodney Dawes  <dobey@ximian.com>
-
-       * providers/groupwise/Makefile.am (EXTRA_DIST): libcamelgroupwise.urls
-       instead of libcamelimap.urls
-
-2004-01-09  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/groupwise-config-listener.c
-       (is_groupwise_account): added null check for source url to take
-       care of accounts with Server Types as "None"
-
-2004-01-09  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_forget_folder): fix
-       removal of journal file, and remove the cmeta state file too.
-
-       * providers/imap/camel-imap-folder.c (imap_getv): count up so we
-       call parent class if we missed any, rather than only if we didn't
-       miss any.
-       (imap_rename): rename the object state file.
-       (camel_imap_folder_new): set the object state file for persistent
-       properties.
-
-       * camel-disco-folder.c (disco_getv): support
-       (PERSISTENT_)PROPERTIES & OFFLINE_SYNC.
-       (disco_setv): implement OFFLINE_SYNC.
-       (camel_disco_folder_get_type): setup disco properties list.
-       (cdf_folder_changed): honour the offline_sync setting on the
-       current folder.
-       (disco_sync): save object state.
-       (disco_setv): save object state if it changed.
-
-       * camel-data-wrapper.c (camel_data_wrapper_set_mime_type_field):
-       move assertions here.
-       (set_mime_type_field): change order slightly to properly handle
-       setting the same object.  removed assertions from internal method.
-
-2004-01-08 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/Makefile.am : add groupwise to SUBDIRS
-
-       * providers/groupwise/camel-groupwise-provider.c: new camel
-       provider for groupwise
-
-       * providers/groupwise/groupwise-config-listener.[ch] : new class
-       to add e-sources for groupwise calender and tasks
-
-       * providers/groupwise/Makefile.am : added new files to Makefile.am
-
-2004-01-05  JP Rosevear <jpr@ximian.com>
-
-       * camel-utf8.c: include sys/types.h for freebsd
-
-2004-01-05  Rodrigo Moya <rodrigo@ximian.com>
-
-       * providers/groupwise/camel-groupwise-provider.c (groupwise_url_hash,
-       groupwise_url_equal): renamed from imap_*.
-
-2004-01-05  Not Zed  <NotZed@Ximian.com>
-
-       * camel-tcp-stream-raw.c (socket_connect): check the right return
-       of the socket call, dont set fd to the value of the -1 check!
-
-2003-12-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-raw.c (socket_connect): Save errno and check
-       the return of the socket() call.
-
-2003-12-24  Rodrigo Moya <rodrigo@ximian.com>
-
-       * providers/groupwise/camel-groupwise-provider.c
-       (camel_provider_module_init): g_module_open the other providers we
-       depend on to avoid load ordering problems.
-
-2003-12-22  Rodrigo Moya <rodrigo@ximian.com>
-
-       * providers/groupwise/camel-groupwise-provider.c: removed useless
-       configuration options, and added other options from the IMAP
-       provider.
-       (camel_provider_module_init): register a SMTP transport object
-       also, and removed SASL registration, since we don't support it.
-
-2003-12-19  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * providers/groupwise/Makefile.am:
-       * providers/groupwise/libcamelgroupwise.urls:
-       * providers/groupwise/camel-groupwise-provider.c: added Camel
-       provider for Groupwise accounts, based on the IMAP one.
-
-2003-12-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): Don't immediately
-       prompt for a passwd after receiving the NEED_PASSPHRASE status
-       message. Instead, parse the userid that gpg needs a passwd for and
-       store it on our context. Wait for a GET_HIDDEN status message
-       before prompting, this way if the user has their gpg configured to
-       use gpg-agent, the user won't get 2 passwd prompts.
-       (gpg_sign): Fixed to not free a gpg context that we have not
-       allocated (could happen in a fail case).
-
-2003-12-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-mbox-store.c (get_folder_info): Use
-       CAMEL_FODLER_NOCHILDREN rather than NOINFERIORS because
-       NOINFERIORS means the folder cannot contain subfolders. However,
-       our mbox structure always allows subfolders.
-       (scan_dir): Same.
-
-       * camel-store.h: Add a CAMEL_FOLDER_NOCHILDREN flag.
-
-       * providers/imap/camel-imap-store.c (get_folders): Same as below.
-
-       * providers/imap/camel-imap-utils.c (imap_parse_list_response):
-       s/CAMEL_IMAP_FOLDER_NOCHILDREN/CAMEL_FOLDER_NOCHILDREN/
-
-2003-12-10  Not Zed  <NotZed@Ximian.com>
-
-       * camel-smime-context.c (sm_verify): also check
-       application/pkcs7-signature (bloody applemail).
-       (camel_smime_context_describe_part): as above, and fix the logic.
-       dont think its used anyway.  Bug #51750.
-
-2003-12-10  Not Zed  <NotZed@Ximian.com>
-
-       * Makefile.am (libcamel_la_SOURCES): put the
-       camel-smime-context.[ch] back in here, remove it from EXTRA_DIST,
-       and make it compile optinally the same way camel-tcp-stream-ssl.c
-       does (#ifdef ...).
-
-       * camel-smime-context.c (sm_verify_cmsg): add signer info to
-       certvalidity.
-
-       * camel-cipher-context.c (CamelCipherValidity): Added certinfo to
-       validity for signing and encrypting, so we can find the keys later
-       for a gui.
-       (camel_cipher_validity_add_certinfo): add signer or
-       encrypter info to the validity.
-       (camel_cipher_validity_envelope): add sign/encrypt keys.
-
-2003-12-10  Not Zed  <NotZed@Ximian.com>
-
-       * camel-stream-process.c (do_exec_command): remove dthe clearenv
-       stuff, not sure why its there.  s/setenv/putenv/ for portability.
-       See Bug #51767.
-
-2003-12-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_rfc2184_param): Revert the
-       s/is_/camel_mime_is_/ changes or we get really long variable
-       names.
-       (header_decode_param): Same.
-       (header_decode_param_list): Here too.
-
-2003-12-09  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #51899.
-
-       * providers/imap/camel-imap-store.c (get_folders): add the first
-       fi to the info's hash, so we dont duplicate it if we come across
-       it again (which we generally will).
-
-2003-12-09  Not Zed  <NotZed@Ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_send_to): encode the
-       address before sending it out, rather than using the raw/utf8
-       version.
-
-       * camel-internet-address.c
-       (camel_internet_address_encode_address): check for quoting the
-       local part of the address before outputting it.
-       (cia_encode_addrspec): quote local part if need be.
-       (camel_internet_address_encode_address): make folding optional
-       based on whether inlen is null or not.
-
-       * camel-mime-utils.[ch]: rename is_* to camel_mime_is_* and export
-       the type functions.
-
-2003-12-08  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_atom_specials): add } to
-       the atom specials list.  This isn't correct, but some busted
-       servers expect it.  Bug #50728.
-
-2003-12-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes bug #51881
-
-       * providers/local/camel-mbox-store.c (delete_folder): Same.
-
-       * providers/local/camel-local-store.c (delete_folder): Unlink the
-       cmeta file too.
-
-2003-12-06  JP Rosevear <jpr@ximian.com>
-
-       * */Makefile.am: Remove hard coded disable deprecated flags
-
-2003-12-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_ctx_op_start): Properly set the
-       O_NONBLOCK flag along with any previously set flags.
-
-       * camel-filter-search.c (run_command): Don't set O_NONBLOCK on the
-       pipe (1. we don't need to, and 2. we should have been setting
-       O_NONBLOCK|prev_flags but we weren't, and so the pipe got
-       O_RDONLY|O_NONBLOCK even tho we wanted to write to it).
-
-       * camel-filter-driver.c (pipe_to_system): Same.
-
-2003-12-04  Radek Doulik  <rodo@ximian.com>
-
-       * camel-folder.c (folder_changed): check recent messages for junk
-       mail
-
-       * camel-session.c (camel_session_check_junk): new wrapper method
-       for check_junk flag
-       (camel_session_set_check_junk): ditto
-
-       * camel-session.h (struct _CamelSession): added check_junk flag
-       (if to check incoming mail for junk messages)
-
-2003-12-03  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (add_special_info): Free fi->path if we are gonna
-       replace it with the vinfo path.
-
-       * providers/local/camel-mbox-store.c (create_folder): Treat
-       parent_name == NULL and parent_name == "" the same.
-
-       * camel-store.c (camel_store_get_folder_info): Only add
-       vTrash/vJunk info's if we've requested the toplevel folder tree,
-       otherwise we get vTrash/vJunk folders in odd places in the folder
-       tree.
-       (add_special_info): Use the provider->url_flags to determine if
-       the url uses the fragment or not for the path.
-
-2003-12-02  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-folder.c (local_setv): remove some
-       debug printfs.
-
-       ** See bug #51576.
-
-       * camel-url.c (camel_url_decode): robustify url decoding for bad
-       input, addresses a crash.
-
-       ** See bug #51478.
-
-       * camel-gpg-context.c (gpg_ctx_free): handle the context being
-       NULL, and exit silently.
-
-2003-12-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-process.c (camel_process_fork): Start at fd = 3.
-
-       * camel-gpg-context.c (gpg_ctx_op_start): Same.
-
-       * camel-filter-driver.c (pipe_to_system): Same.
-
-       * camel-filter-search.c (run_command): Start at fd = 3.
-
-2003-12-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-stream-process.c (do_exec_command): Same.
-
-       * camel-process.c (camel_process_fork): Same.
-
-       * camel-filter-search.c (run_command): Same as below.
-
-       * camel-filter-driver.c (pipe_to_system): Same as below.
-
-       * camel-gpg-context.c (gpg_ctx_op_start): Use fcntl() to set
-       FD_CLOEXEC on each fd rather than close()ing it. Apparently
-       Linux's older pthread implementations use sockets and so this
-       fouls threading up. GO LINUX! GO!
-
-2003-12-01  Radek Doulik  <rodo@ximian.com>
-
-       * camel-store.c (add_special_info): set SUBSCRIBED and NOINFERIORS
-       flags to special folders, renamed method from
-       add_vtrash_or_vjunk_info
-       (camel_store_get_folder_info): call add_special_info directly
-
-2003-11-28  Radek Doulik  <rodo@ximian.com>
-
-       * camel-store.c (camel_store_get_folder_info): use old code from
-       mail-ops to add vtrash/vjunk info
-
-2003-11-28  David Woodhouse  <dwmw2@redhat.com>
-
-       * providers/imap/camel-imap-provider.c: Enable GUI option for
-       'custom command' connection.
-       * providers/imap/camel-imap-store.c: Don't g_free strings in
-       .rodata. It's considered rude.
-
-2003-11-28  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (mail_list_magic[]): Added list-unsubscribe
-       header match.
-
-2003-11-26  Not Zed  <NotZed@Ximian.com>
-
-       * camel-smime-context.c (sm_verify_cmsg): take a stream rather
-       than a part for the content.
-       (sm_verify): get the content directly as a stream.
-
-       * camel-multipart-signed.c
-       (camel_multipart_signed_get_content_stream): new api to get the
-       content stream which will match the signed version.
-
-2003-11-26  JP Rosevear <jpr@ximian.com>
-
-       * Makefile.am: make sure we always dist the smime stuff
-
-2003-11-26  JP Rosevear  <jpr@ximian.com>
-
-       * Makefile.am (libcamelinclude_HEADERS): conditionally compile
-       s/mime support
-
-2003-11-25  Not Zed  <NotZed@Ximian.com>
-
-       * camel-cipher-context.c (camel_cipher_validity_envelope): change
-       args to make it suit storing the validity in a tree.
-       (camel_cipher_validity_init): init the list header.
-       (camel_cipher_validity_clone): call validity_new so it gets init
-       properly.
-       (camel_cipher_validity_free): free any children nodes recursively.
-
-       * camel-cipher-context.h (CamelCipherValidity): added next/prev
-       and list header.
-
-2003-11-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-session.c (camel_session_finalise): Don't destroy the
-       providers as it mans we can never ever have more than 1 session
-       object. See bug #51119 for details.
-
-2003-11-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-mbox-store.c (create_folder): Fixed an
-       exception to give a more meaningful description.
-       (get_folder_info): We always want to scan at least one level deep.
-
-2003-11-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-mbox-store.c (get_folder_info): Handle ""
-       as a request for a full dirscan as well (not just NULL). Makes it
-       consistant with other stores.
-       (scan_dir): Set the fi->flags appropriately.
-
-       * providers/local/camel-mbox-folder.c
-       (camel_mbox_folder_get_full_path): Removed temporary hack.
-
-2003-11-14  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-parser.c (SCAN_BUF): oops, put the mempool stuff
-       back, we don't use e-memory afterall.  Damn plane hacking.
-
-2003-11-13  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-parser.c: Remove mempool code, we use the stuff in
-       e-util.
-       (PRESERVE_HEADERS): new compile option, if on, we preserve headers
-       and folding exactly rather than unfolding all input.  THIS BREAKS
-       EVERYTHING right now, so don't turn it on.
-
-       * camel-gpg-context.c (gpg_decrypt): reset the input memstream
-       before passing it to the gpg engine.
-
-       * tests/smime/pgp-mime.c (main): redirect /dev/null to stdin so it
-       doesn't hang waiting for input.
-       (main): removed from build - this tests multipart/signed
-       explictly, but now the details of this is handled directly by the
-       cipher context.
-
-       * tests/smime/pgp.c (main): fixes for api changes.
-       (main): redirect /dev/null to stdin so it doesn't hang waiting for
-       input.
-
-       * tests/message/test1.c (main): update for api changes.
-
-       * camel-smime-context.c (sm_verify): look at the content object's
-       mime type, not the container's type.
-
-2003-11-11  Not Zed  <NotZed@Ximian.com>
-
-       * camel-cipher-context.c (camel_cipher_validity_set_valid): take
-       into account the @valid argument and set validity properly.
-       (camel_cipher_validity_clone): new method to copy validities.
-
-       * camel-smime-context.c (sm_signing_cmsmessage): removed a todo.
-
-2003-11-10  Not Zed  <NotZed@Ximian.com>
-
-       * camel-smime-context.c (sm_verify_cmsg): split out the CMSMessage
-       verification code so it can be used from enveloped or externally
-       signed data.
-
-       * camel-cipher-context.c (camel_cipher_verify): only take a
-       mimepart, internally handle multiparts and the hash.
-
-2003-11-07  Not Zed  <NotZed@Ximian.com>
-
-       * camel-cipher-context.c: make ciphervalidity a public structure,
-       added encrypt status.
-       (camel_cipher_decrypt): changed to return a ciphervalidity.  fixed
-       implementations.
-       (camel_cipher_validity_*): Fixed implementations to match new
-       structure, some of this is now redundant.
-
-2003-11-06  Not Zed  <NotZed@Ximian.com>
-
-       * camel-smime-context.c (camel_smime_context_describe_part):
-       implement.
-
-2003-11-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (connect_to_server): Don't
-       bother trying to see if the server advertises EHLO. Simply always
-       try EHLO and fall back to HELO if EHLO fails. Fixes bug #50535.
-
-2003-11-05  Not Zed  <NotZed@Ximian.com>
-
-       * camel-smime-context.c (camel_smime_context_describe_part): new
-       (unfinished) api to peek inside smime parts to tell us whats in
-       it.
-
-2003-11-03  Not Zed  <NotZed@Ximian.com>
-
-       * camel-gpg-context.c (gpg_encrypt): Make this output the
-       full multipart/encrypted part, not just the encrypted content part.
-
-       * camel-cipher-context.c (camel_cipher_sign): change to output
-       full mime part, not just a stream.
-       (camel_cipher_canonical_to_stream): utility function to
-       canonicalise a mimepart to a stream.
-
-       * camel-smime-context.c (sm_encode_cmsmessage): removed.
-       (sm_sign): change interface to output a full mime-part, not just a
-       part of a mime part in multipart/signed mode.
-
-2003-11-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): We might need to
-       convert the passwd from UTF-8 into the locale charset. Fixes bug
-       #50485.
-
-2003-10-31  Not Zed  <NotZed@Ximian.com>
-
-       * camel-cms-context.[ch]: removed, now redundant.
-
-2003-10-30  Not Zed  <NotZed@Ximian.com>
-
-       * camel-smime-context.c (sm_get_passwd): implement something basic.
-
-       * camel-cipher-context.h: Added a note about api inconsistencies.
-
-2003-10-30  Not Zed  <NotZed@Ximian.com>
-
-       * camel-multipart-encrypted.c (camel_multipart_encrypted_decrypt):
-       fix for cipher_decrypt changes.
-
-       * camel-gpg-context.c, camel-cipher-context.c: moved all the init
-       code to the end to save having to keep forward declarations
-       around.
-       (camel_cipher_decrypt): changed to take mimepart input and return
-       a mimepart.
-       (gpg_decrypt): fix for changed args.
-
-2003-10-29  Not Zed  <NotZed@Ximian.com>
-
-       * camel-smime-context.[ch]: replaced entirely with a new
-       implementation which inherits from camel-cipher-context, and add
-       to build.
-
-       * camel-multipart-encrypted.c (camel_multipart_encrypted_encrypt):
-       fix for cipher_encrypt api changes.
-       (camel_multipart_encrypted_decrypt): use g_ascii_strcasecmp.
-
-       * camel-gpg-context.c (gpg_encrypt): Fix to handle input/output as
-       parts not streams
-
-       * camel-cipher-context.c (camel_cipher_encrypt): change to take
-       mimeparts rather than streams as input/output.  And remove the
-       'sign' argument, it is implied if userid is supplied.
-
-2003-10-28  Not Zed  <NotZed@Ximian.com>
-
-       * tests/smime/pgp.c (main): fix for ciphercontext api changes.
-
-       * camel-multipart-signed.c (camel_multipart_signed_verify): pass
-       in the part to cipher_verify directly.
-       (camel_multipart_signed_sign): let the cipher context setup the
-       part details.
-
-       * camel-gpg-context.c (gpg_sign): put the signature stream into a
-       mimepart, with appropriate headers/encoding.
-       (swrite): write out a mimepart rather than a stream.
-       (gpg_verify): handle changed args.
-
-       * camel-cipher-context.c (camel_cipher_sign): write the signature
-       to a mimepart rather than a simple stream.
-       (camel_cipher_verify): take the signature as a mimepart not a
-       stream.
-
-2003-10-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-utf8.c (camel_ucs2_utf8, camel_utf8_ucs2): helpers for
-       ucs2 stuff.  ucs2 is 16 bit truncated unicode.
-
-2003-10-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c: We should check List-Post before List-Id
-       (List-Post has to contain the mailing-list posting address,
-       whereas List-Id does not.) WAlso moved X-Loop to after List-Id to
-       make FreeBSD lusers happy. Fixes bug #32297.
-
-2003-10-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * Fixes bug #35083
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Same
-       here.
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server): Same as
-       the smtp changes.
-
-       * providers/smtp/camel-smtp-transport.c (connect_to_server): If
-       HAVE_SSL is undefined, don't default to raw connections if the
-       option to connect via ssl is set. Instead set an exception and
-       return fail.
-
-2003-10-27  Frederic Crozat  <fcrozat@mandrakesoft.com>
-
-       * camel-mime-utils.c: (camel_header_decode_date):
-       better detection of broken date to give to broken_date_parser.
-
-2003-10-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-text-index.c (text_index_name_add_buffer): If a word is
-       longer than CAMEL_TEXT_INDEX_MAX_WORDLEN, then ignore it. This
-       fixes bug #50096.
-
-2003-10-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * *.c: Removed unneeded CAMEL_OBJECT() casts.
-
-2003-10-21  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-folder.c (local_getv, local_setv):
-       use the right tag name for the index_body arg.
-       (local_sync): write any persistent metadata - to make it
-       persistent.
-       (camel_local_folder_construct): turn off indexing, for now, it
-       should be done in local_setv.
-
-       * providers/local/camel-local-folder.h: change body_index to a bool
-       type.
-
-       * camel-object.c (cobject_state_read, cobject_state_write): handle
-       bool types
-       (cobject_state_write): make sure we free all arg types.
-
-       * camel-arg.c (camel_argv_build):
-       (camel_arggetv_build):  handle bool type.
-
-       * camel-arg.h: Added BOO (bool) type.
-
-2003-10-15  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_folder_info_build): Fix so we output the
-       tree in sorted depth-first order, rather in reverse.
-
-2003-10-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-kerberos4.c: Fixed a #include.
-
-2003-10-10  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-provider.c: set the url fragment
-       flag for local providers.
-
-       * camel-provider.h: Move the URL_PART_NEED bits to the high 16
-       bits, to allow for easier changes in the future.  Added a
-       URL_PART_FRAGMENT flag for providers that use fragment = folder
-       path.
-
-2003-10-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_date): Allow timezone offsets
-       to be up to 14 hours ahead of UTC. Fixes bug #49357.
-
-       * broken-date-parser.c (get_tzone): Same.
-
-2003-10-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): Removed an
-       unused variable.
-
-2003-09-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): If the
-       localhost lookup results in a numeric IPv6 host, use the form
-       "[IPv6:<addr>]" as specified in rfc2821. Fixes bug #46006.
-
-2003-09-23  Ettore Perazzoli  <ettore@ximian.com>
-
-       * providers/local/camel-local-provider.c: Set the IS_STORAGE bit
-       in the mbox provider, since it can now contain a hierarchy of
-       folders.
-
-2003-09-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-mbox-store.c (get_folder): If the CREATE
-       flag is set and the parent .sbd directory does not exist, create
-       it.
-
-       * camel-mime-utils.c (append_8bit): Don't forget to flush the
-       iconv conversion.
-
-       * tests/message/test4.c (main): Don't try dot-files.
-
-2003-09-22  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #41610
-       
-       * providers/pop3/camel-pop3-folder.c (cmd_tocache): protect a
-       divide by 0 for 0 length messages.
-
-2003-09-22  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-provider.c: Added "offline_sync"
-       option, which lets you synchronise all mail to local storage
-       automagically.
-
-       * camel-disco-folder.c (cdf_folder_changed): hook onto the folder
-       changed single, for all new messages, check that they are online
-       using another thread, if the offline_sync option has been enabled
-       for this store.
-
-2003-09-21  Not Zed  <NotZed@Ximian.com>
-
-       * camel-session.c (session_thread_destroy): call proper entry
-       point for freeing the message.
-
-2003-09-18  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (filter_filter): register the filtering process
-       for progress, and do progress of the filtering process.
-
-2003-09-17  Not Zed  <NotZed@Ximian.com>
-
-       * camel.c (camel_init): init camel operation.
-
-       * camel-operation.c (camel_operation_reset): removed, not used,
-       not worth it.
-       (camel_operation_mute): new method to stop all status updates
-       permanently.
-       (*): Changed to use thread specific data and a list rather than a
-       hashtable.
-       (cancel_thread): removed.
-       (camel_operation_register): return the previously registered op.
-
-2003-09-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/nntp/camel-nntp-store.c (connect_to_server): Fix the
-       code that creates a new ssl stream to pass the correct arguments
-       and the proper flags.
-
-       * providers/imapp/camel-imapp-folder.c (imap_sync): Cast the
-       CamelFolder to a CamelIMAPPFolder to hush some compiler warnings.
-
-       * camel-mime-utils.h: Define a struct _CamelContentDisposition
-       (allows the imapp code to compile)
-
-       * providers/imapp/camel-imapp-driver.c: #include <string.h>
-
-2003-09-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (camel_transfer_encoding_to_string): New
-       function to replace the one from camel-mime-part.c
-       (camel_transfer_encoding_from_string): Same.
-       (camel_content_transfer_encoding_decode): Renamed from
-       camel_header_content_encoding_decode().
-
-       * camel-mime-part.c (camel_mime_part_encoding_to_string): Removed.
-       (camel_mime_part_encoding_from_string): Removed.
-
-       * camel-data-wrapper.[c,h]: updated for CamelTransferEncoding
-       namespace changes
-
-       * camel-folder-summary.c: updated for CamelTransferEncoding
-       namespace changes
-
-       * camel-mime-filter-bestenc.[c,h]: updated for CamelTransferEncoding
-       namespace changes
-
-       * camel-mime-message.c: updated for CamelTransferEncoding
-       namespace changes
-
-       * camel-mime-part-utils.c: updated for CamelTransferEncoding
-       namespace changes
-
-       * camel-multipart-signed.c: updated for CamelTransferEncoding
-       namespace changes
-
-       * camel-smime-context.c: updated for CamelTransferEncoding
-       namespace changes
-
-       * providers/imapp/camel-imapp-utils.c: updated for
-       CamelTransferEncoding namespace changes
-
-       * tests/lib/messages.c: updated for CamelTransferEncoding
-       namespace changes
-
-       * tests/message/test1.c: updated for CamelTransferEncoding
-       namespace changes
-
-2003-09-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.[c,h]: namespaced the encoding/decoding
-       routines.
-
-       * camel-mime-filter-basic.c: updated for namespace changes to the
-       encoding/decoding routines in camel-mime-utils.c
-
-       * camel-multipart.c: updated for namespace changes to the
-       encoding/decoding routines in camel-mime-utils.c
-
-       * camel-sasl-digest-md5.c: updated for namespace changes to the
-       encoding/decoding routines in camel-mime-utils.c
-
-       * camel-sasl.c: updated for namespace changes to the
-       encoding/decoding routines in camel-mime-utils.c
-       
-       * camel-vee-folder.c: updated for namespace changes to the
-       encoding/decoding routines in camel-mime-utils.c
-
-       * providers/imap/camel-imap-search.c: updated for namespace
-       changes to the encoding/decoding routines in camel-mime-utils.c
-
-       * providers/pop3/camel-pop3-folder.c: updated for namespace
-       changes to the encoding/decoding routines in camel-mime-utils.c
-
-2003-08-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-parser.[c,h]: s/HSCAN_/CAMEL_MIME_PARSER_STATE_/g and
-       s/_header_state/_camel_mime_parser_state/g
-
-       * camel-filter-driver.c: Same.
-
-       * camel-folder-summary.c: Here too.
-
-       * camel-http-stream.c: And here.
-
-       * camel-mime-message.c: ...
-
-       * camel-mime-part-utils.c: ...
-
-       * camel-mime-part.c: ...
-
-       * camel-movemail.c: ...
-
-       * camel-multipart-signed.c: ...
-
-       * camel-multipart.c: ...
-
-       * providers/local/camel-mbox-folder.c: ...
-
-       * providers/local/camel-mbox-summary.c: ...
-
-       * providers/local/camel-mh-summary.c: ...
-
-       * providers/nntp/camel-nntp-summary.c: ...
-
-       * providers/pop3/camel-pop3-folder.c: ...
-
-2003-08-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.[c,h]: Namespaced.
-
-       * camel-data-wrapper.c: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-digest-folder.c: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-filter-driver.c: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-filter-search.c: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-folder-search.c: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-folder-summary.[c,h]: updated for namespace changed made
-       to camel-mime-utils.[c,h]
-
-       * camel-http-stream.c: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-http-stream.h: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-internet-address.c: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-medium.[c,h]: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-mime-message.c: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-mime-parser.[c,h]: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-mime-part-utils.c: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-mime-part.[c,h]: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-movemail.c: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-multipart-encrypted.c: updated for namespace changed made
-       to camel-mime-utils.[c,h]
-
-       * camel-multipart-signed.c: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-multipart.c: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * camel-search-private.[c,h]: updated for namespace changed made
-       to camel-mime-utils.[c,h]
-
-       * camel-types.h: updated for namespace changed made to
-       camel-mime-utils.[c,h]
-
-       * providers/imap/camel-imap-folder.c: updated for namespace
-       changed made to camel-mime-utils.[c,h]
-
-       * providers/imap/camel-imap-store-summary.c: updated for namespace
-       changed made to camel-mime-utils.[c,h]
-
-       * providers/imap/camel-imap-utils.c: updated for namespace changed
-       made to camel-mime-utils.[c,h]
-
-       * providers/imapp/camel-imapp-utils.[c,h]: updated for namespace
-       changed made to camel-mime-utils.[c,h]
-
-       * providers/local/camel-local-summary.[c,h]: updated for namespace
-       changed made to camel-mime-utils.[c,h]
-
-       * providers/local/camel-maildir-summary.c: updated for namespace
-       changed made to camel-mime-utils.[c,h]
-
-       * providers/local/camel-mbox-summary.c: updated for namespace
-       changed made to camel-mime-utils.[c,h]
-
-       * providers/local/camel-spool-summary.h: updated for namespace
-       changed made to camel-mime-utils.[c,h]
-
-       * providers/nntp/camel-nntp-summary.c: updated for namespace
-       changed made to camel-mime-utils.[c,h]
-
-       * providers/nntp/camel-nntp-utils.c: updated for namespace changed
-       made to camel-mime-utils.[c,h]
-
-       * providers/pop3/camel-pop3-folder.c: updated for namespace
-       changed made to camel-mime-utils.[c,h]
-
-       * providers/sendmail/camel-sendmail-transport.c: updated for
-       namespace changed made to camel-mime-utils.[c,h]
-
-       * providers/smtp/camel-smtp-transport.c: updated for namespace
-       changed made to camel-mime-utils.[c,h]
-
-2003-09-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-mbox-folder.c
-       (camel_mbox_folder_get_full_path): Implement a temp hack so trunk
-       works until we merge in new-ui-branch.
-
-       * camel-stream-filter.c (do_flush): Don't warning about how we
-       haven't written anything to the stream, this is not an
-       error. fflush() doesn't care if you try to fflush() a stream
-       without writing to it, so we shouldn't care either.
-
-2003-09-15  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imapp/camel-imapp-store.c (store_resp_list)
-       (imap_login, try_sasl, imap_try_authenticate): removed dead code.
-
-       * providers/imapp/camel-imapp-stream.c: return -1 if stream not
-       set.
-
-       * providers/imapp/camel-imapp-engine.c (iterate_completion): put
-       done request on the done queue, so all requests are always
-       somewhere.
-       (camel_imapp_engine_command_free): just spit warnings of active
-       messages being freed, but abort if the item isn't in any list.
-       Also remove the node from its list before going on.
-       (iterate_untagged, iterate_continuation, iterate_completion):
-       staticifiy.
-
-       * providers/imapp/camel-imapp-provider.c
-       (camel_imapp_module_init): move camel_exception_setup call here.
-
-       * providers/imapp/camel-imapp-driver.c
-       (camel_imapp_driver_get_type): remove execption setup here, it
-       isn't early enough.
-       (camel_imapp_driver_list): handle exceptions.
-
-2003-09-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-mbox-folder.c
-       (camel_mbox_folder_get_full_path): Implements
-       CamelLocalFolder::get_full_path() (publicly namespaced so that
-       CamelMboxStore can re-use them).
-       (camel_mbox_folder_get_meta_path): Same.
-
-       * providers/local/camel-mbox-store.c (get_folder): Changed the way
-       the path is constructed, since we now handle subdirectories and
-       stuff.
-       (delete_folder): Try deleting the Folder.sbd directory. We also
-       need to manage our own meta files since CamelLocalStore's impl
-       constructs paths differently than what we need.
-       (create_folder): Implemented.
-       (rename_folder): Implemented.
-       (scan_dir): Scan an mbox tree
-       (get_folder_info): Implemented using scan_dir().
-
-       * providers/local/camel-local-store.c (delete_folder): Set fi->url
-       to the correct value, meaning we need to prefix it with the
-       protocol and the folder_name is not actually part of the path, it
-       is a separate component to the url.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): Use the new class virtual method
-       to construct the full folder path and all the meta files.
-       (local_get_full_path): Implemented default get_full_path method.
-       (local_get_meta_path): Implemented default get_meta_path method.
-
-2003-09-11  Dan Winship  <danw@ximian.com>
-
-       * Makefile.am (noinst_LTLIBRARIES): Remove libcamel-static.la
-
-2003-09-05  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_noop): call
-       camel_folder_sync bypassing the folder lock.  See
-       imap_store_refresh_folders too.
-
-2003-09-04  David Woodhouse  <dwmw2@infradead.org>
-
-       * providers/camel-imap-store.[ch]: Add PREAUTH handling and
-       pine/mutt/etpan/etc.-style 'ssh <mailhost> exec imapd' support.
-       
-2003-09-03  David Woodhouse  <dwmw2@infradead.org>
-
-       * camel-stream-process.[ch]: New stream implementation for running
-       commands.
-       * Makefile.am: Compile the above
-
-2003-08-20  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #47765.
-
-       * camel-folder-search.h: Removed match1 member.
-
-       * camel-folder-search.c (camel_folder_search_match_expression):
-       use current directly rather than match1.  This method isn't used
-       anywhere anyway.
-       (search_not): remove match1 stuff.
-       (search_match_all): properly handle the match-all against 1
-       message as a scalar result, not an array result.
-
-2003-09-03  Not Zed  <NotZed@Ximian.com>
-
-       * camel-http-stream.c (camel_http_stream_set_proxy): handle NULL
-       proxy_url - unset the proxy.
-
-2003-08-29  Not Zed  <NotZed@Ximian.com>
-
-       * camel-object.c (camel_object_state_write): 
-       (cobject_getv):
-       (cobject_setv, cobject_state_read, cobject_state_read) 
-       (cobject_state_write): removed debug printfs.
-
-       * providers/local/camel-local-folder.c (local_getv): Need to copy
-       the local properties list before passing it out, since it's freed.
-
-2003-08-27  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-folder.c (local_getv): implement
-       PERSISTENT_PROPERTIES, for index mode.
-
-       * camel-object.c (cobject_state_read): Also add property reading,
-       and bump version to 1.
-       (cobject_state_write): add persistent property writing.
-
-2003-08-26  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (folder_getv): chain up properly.
-
-       * camel-file-utils.c (camel_file_util_savename): helper to create
-       a .#filename filename.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): init meta-data for local folders.
-       (local_getv): chain up properly, if args are not processed, rather
-       than don't if they aren't.
-
-2003-08-23  Not Zed  <NotZed@Ximian.com>
-
-       * camel-object.c (cobject_class_init): added a new event,
-       meta_changed.
-       (camel_object_meta_set, camel_object_meta_get): meta-data api.
-       (camel_object_free_hooks): Free meta-data if it is set on the
-       object.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_get_type): setup a property list for local
-       folders, just 'index_body' at present.
-
-2003-08-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (pipe_to_system): Added some more error
-       checking for reading/writing to the pipes. Fixes bug #47880.
-
-2003-08-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-data-wrapper.c (decode_to_stream): Don't poke
-       wrapper->stream directly, use camel_data_wrapper_write_to_stream()
-       instead as this simplifies things and makes the imap data wrapper
-       implementation Just Work (tm).
-
-       * providers/imap/camel-imap-wrapper.c: changed prototype of
-       write_to_stream() to return ssize_t.
-
-2003-08-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate): Make
-       sure to ref the stream. Fixes bug #47749.
-
-2003-08-18  Not Zed  <NotZed@Ximian.com>
-
-       * camel-http-stream.c: Various fixes to make it work.
-
-       * tests/smime/pgp-mime.c (main): added missing 'ret' variable.
-
-       * providers/smtp/camel-smtp-transport.c (connect_to_server): 
-       * providers/imapp/camel-imapp-store.c (connect_to_server:
-       * providers/imap/camel-imap-store.c (connect_to_server):
-       * providers/pop3/camel-pop3-store.c (connect_to_server):
-       * camel-http-stream.c (http_connect): change service->session for
-       tcp_stream_ssl_new.
-
-       * camel-tcp-stream-ssl.c: Changed service to session, and fix some
-       refcounting of it.
-       include camel-operation.h
-
-2003-08-15  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #47634.
-
-       * tests/lib/messages.c (test_message_compare): check
-       write_to_stream returns.
-       (message_dump_rec): helper to dump message structure.
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): dont set content
-       encoding here.
-       (camel_mime_part_construct_content_from_parser): set it here
-       instead, on every part.  basically same as setting the
-       mime_type_field always.
-
-       * camel-multipart-signed.c (camel_multipart_signed_class_init): 
-       * camel-mime-message.c (camel_mime_message_class_init): 
-       * camel-multipart.c (camel_multipart_class_init): override
-       decode_to_stream to always do the same as write_to_stream, since
-       we can never be encoded.
-
-2003-08-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate):
-       Don't attach any filters to decode base64/qp/etc.
-
-2003-08-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part.c (write_to_stream): Save errno when
-       flushing/unreffing the filter stream.
-
-2003-08-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part.c (write_to_stream): If the content is
-       base64/qp/uu/etc encoded but the part is 7bit/8bit/(or otherwise
-       non-encoded), set reencode to TRUE so that we decode the original
-       content stream. Fixes a bug noticed on
-       evolution-patches@ximian.com where a patch had a
-       Content-Transfer-Encoding of 7bit but was base64 encoded.
-
-2003-08-13  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-summary.c (camel_folder_summary_remove_range): Fix
-       the range check, we were stopping removal of 1 or 2 removals, for
-       some odd and completely uncomprehensible reason.  Perhaps debug
-       left in?
-
-2003-08-13  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #47517.
-
-       * camel-vee-folder.c (vee_sync): Always rebuild folder on any
-       sync, not just expunge ones.
-
-2003-08-11  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imapp/camel-imapp-store.c (imap_get_folder_info):
-       force connect manually so basics work.
-
-       ** See bug #45505.
-
-       * camel-service.c (camel_gethostbyname): duh, pthread_create
-       returns the error code directly, not via errno.
-       (camel_gethostbyaddr): Same, also properly handle the failure
-       case.
-
-2003-08-01  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #47208.
-
-       * camel-filter-search.c (match_all): match-all with no arguments        
-       should always return TRUE.
-
-       * camel-folder-search.c (camel_folder_search_execute_expression):
-       print a warning when we get an invalid result type & fixed a leak
-       for that case.
-
-2003-08-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * tests/message/test4.c: New test suite for the mime parser (which
-       is where the below 2 fixes were noticed).
-
-       * camel-mime-parser.c (folder_boundary_check): Calculate 'len' by
-       subtracting the boundary start from inend rather than 'atleast'.
-       (folder_scan_content): Calculate 'inend' differently depending on
-       the EOF state.
-
-2003-08-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-tohtml.c (html_convert): Rather than checking
-       *inptr == '\n', check inptr >= inend - this gets rid of an Invalid
-       Read report from valgrind.
-
-       * camel-mime-part.c (write_to_stream): Don't necessarily re-encode
-       just because the encodings differ. Need to look into making it so
-       that message/rfc822 and multipart parts ignore the
-       Content-Transfer-Encoding header and just keep their 'encoding'
-       bits set to DEFAULT.
-
-2003-08-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (get_content): Updated.
-
-       * camel-mime-message.c (camel_mime_message_init): Don't override
-       the mime_type here.
-       (process_header): Updated to use CamelDataWrapper's mime_type
-       field.
-       (find_best_encoding): Same.
-       (best_encoding): Here too.
-
-       * camel-digest-folder.c (camel_digest_folder_new): Updated for
-       CamelMimePart::content_type change.
-
-       * camel-mime-part.c (camel_mime_part_init): Override our parent
-       class's default mime_type.
-       (camel_mime_part_finalize): Don't need to unref the content_type
-       anymore.
-       (process_header): Updated to use CamelDataWrapper's mime_type
-       field.
-       (camel_mime_part_set_filename): Same.
-       (camel_mime_part_get_filename): Same.
-       (camel_mime_part_get_content_type): Same.
-       (set_content_object): Here too.
-       (write_to_stream): Updated.
-       (construct_from_parser): Updated.
-
-       * camel-mime-part.h: Remove the content_type field.
-
-2003-07-31  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * tests/lib/messages.c (test_message_compare_content): If the
-       chunks differ, perform a hexdump on the data being compared so
-       that we may analyse it easier.
-
-       * camel-multipart-signed.c (write_to_stream): Return ssize_t.
-
-       * camel-mime-utils.h: Added the CamelMimePartEncodingType enum
-       here.
-
-       * camel-mime-part.h: Removed the CamelMimePartEncodingType enum
-       from here.
-
-       * camel-mime-part.c (write_to_stream): Updated to return
-       ssize_t. Also minor changes to only re-encode the content stream
-       if the charset or encoding changed (this way we write it out in
-       the original raw form if nothing changed).
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): Drastically
-       simplify. We no longer scan html content to try and find the
-       charset, nor do we care about converting the content to UTF-8 and
-       handling broken windows charsets.
-
-       * camel-mime-message.c (find_best_encoding): Use
-       decode_to_stream() here. Also updated to not assume the content
-       charset is UTF-8 since it is very likely not the case anymore
-       since data-wrappers no longer are converted to UTF-8 at parse
-       time.
-
-       * camel-folder-summary.c (summary_build_content_info_message): Use
-       decode_to_stream instead here too.
-
-       * camel-folder-search.c (match_words_1message): Use
-       decode_to_stream instead of write_to_stream so we can search the
-       contents.
-
-       * camel-data-wrapper.c (camel_data_wrapper_init): Set the default
-       encoding to DEFAULT.
-       (write_to_stream): Updated to return ssize_t
-       (camel_data_wrapper_decode_to_stream): New virtual function to
-       decode a data wrapper to a stream (results in nearly identical
-       behaviour to the old write_to_stream method).
-       (decode_to_stream): Default implementation of above virtual
-       method. Decodes base64/qp/etc streams.
-
-       * camel-data-wrapper.h: Removed the rawtext bit and added an
-       encoding member.
-
-2003-08-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * tests/smime/pgp-mime.c: Same.
-
-       * tests/smime/pgp.c: Updated to build and to import some custom
-       gpg keys for use with testing.
-
-2003-07-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-message.c (write_to_stream): Also updated.
-
-       * camel-data-wrapper.c (write_to_stream): This should return ssize_t
-
-       * camel-multipart-signed.c (write_to_stream): Updated.
-
-       * camel-multipart.c (write_to_stream): Same.
-
-       * camel-mime-part.c (write_to_stream): Here too.
-
-2003-07-11  Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
-
-       * camel-iconv.c: Fix for #46168 'some additional locale aliases
-       required for chinese support'.
-
-2003-07-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_word): Revert NotZed's fix for
-       bug #42170 - this causes even more problems than it solves. See
-       bug #46331 for info. Basically, each address header would be
-       converted to UTF-8 twice which means no raw 8bit address header
-       would render correctly.
-       (header_decode_mailbox): Perform a sanity check on the resultant
-       addr->str to make sure that it is valid UTF-8, if not convert it
-       to UTF-8. Fixes bug #42170.
-
-2003-07-23  Ettore Perazzoli  <ettore@ximian.com>
-
-       * camel-provider.c (camel_provider_init): Print the provider
-       directory as well, for debugging.
-
-2003-07-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-message.c (find_best_encoding): Revert my previous
-       changes to this function.
-
-       * camel-mime-utils.h: Revert previous changes.
-
-       * camel-mime-part.h: Revert previous changes.
-
-       * camel-mime-part-utils.c: Revert previous changes.
-
-       * camel-data-wrapper.c (camel_data_wrapper_init): Revert previous
-       changes.
-       (write_to_stream): Revert previous changes.
-
-2003-07-23  Dan Winship  <danw@ximian.com>
-
-       * camel-block-file.c: #include camel-file-utils.h for camel_read()
-
-       * camel-uid-cache.c (camel_uid_cache_save): Remove unused variable
-       and label.
-
-       * camel-url.c: #include camel-string-utils.h for camel_strdown
-
-       * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Cast
-       an (unsigned char *) to (char *) to fix a warning
-
-2003-07-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-message.c (find_best_encoding): Updated to convert
-       to/from the correct charset (since content is no longer
-       necessarily in UTF-8).
-       (best_encoding): Free the charset string when we're done with it.
-
-       * camel-stream-fs.c (stream_read): Increment the seekable stream
-       position by the number of bytes read. Oops.
-       (stream_write): Same here.
-
-2003-07-17  Timo Sirainen <tss@iki.fi>
-
-       ** See bug #42573
-       
-       * providers/imap/camel-imap-folder.c (do_append): Only free the
-       response after we have finished the literal request, otherwise we
-       could try processing folder updates incorrectly.
-
-2003-07-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.h: Add the CamelMimePartEncodingType definition
-       here.
-
-       * camel-mime-part.h: Remove the CamelMimePartEncodingType
-       definition.
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): Don't do any of the
-       auto-detection we used to do here anymore. Just read the content
-       into a memory buffer and record the encoding type.
-       (camel_mime_part_construct_content_from_parser): Don't mangle the
-       Content-Type struct here anymore.
-
-       * camel-data-wrapper.c (camel_data_wrapper_init): Init encoding to
-       DEFAULT.
-       (write_to_stream): If the stream needs to be decoded, decode it.
-
-2003-07-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-stream-fs.c (stream_read): If we read 0 bytes, then set
-       eos to TRUE.
-
-2003-07-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Get rid of the #ifdef ENABLE_THREADS since we no longer plan to
-       support/maintain this.
-
-       * providers/nntp/camel-nntp-store.c: Here.
-
-       * providers/nntp/camel-nntp-newsrc.c: And here.
-
-       * providers/nntp/camel-nntp-folder.c: Same.
-
-       * providers/local/camel-local-folder.c: And here.
-
-       * camel-block-file.c: Here too.
-
-       * camel.c: Same.
-
-       * camel-certdb.c: Here too.
-
-       * camel-charset-map.c: And here.
-
-       * camel-cipher-context.c: "
-
-       * camel-data-wrapper.c: "
-
-       * camel-digest-folder.c: "
-
-       * camel-exception.c: "
-
-       * camel-folder.c: "
-
-       * camel-folder-summary.c: "
-
-       * camel-lock-client.c: "
-
-       * camel-mime-utils.c: "
-
-       * camel-object.c: "
-
-       * camel-operation.c: "
-
-       * camel-partition-table.c: "
-
-       * camel-sasl-popb4smtp.c: "
-
-       * camel-service.c: "
-
-       * camel-session.c: "
-
-       * camel-store.c: "
-
-       * camel-store-summary.c: "
-
-       * camel-text-index.c: "
-
-       * camel-transport.c: "
-
-       * camel-vee-folder.c: "
-
-       * camel-tcp-stream-openssl.c: Removed pthread.h, it isn't needed.
-
-2003-07-09  Larry Ewing  <lewing@ximian.com>
-
-       * camel.h: remove reference to camel-pgp-mime.h
-
-2003-07-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-mime.[c,h]: Removed.
-
-       * camel-iconv.c: Updated (new copy/paste from e-iconv).
-
-       * camel-block-file.c (camel_block_file_get_block): Use
-       camel_read() rather than libc read.
-
-       * camel-tcp-stream-raw.c (stream_read): Use camel_read().
-       (stream_write): Use camel_write().
-
-       * camel-stream-fs.c (stream_read): Use camel_read().
-       (stream_write): Use camel_write().
-
-2003-07-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): Use
-       camel_mkdir().
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Use
-       camel_mkdir().
-
-       * camel-session.c (get_storage_path): Use camel_mkdir().
-
-       * camel-store.c (camel_mkdir_hier): Removed.
-
-       * camel-data-cache.c (camel_data_cache_new): Updated to use
-       camel_mkdir().
-       (data_cache_path): Same.
-
-       * camel-file-utils.c (camel_mkdir): Renamed and documented.
-       (camel_file_util_safe_filename): Documented.
-       (camel_read): Moved here from camel-io.c
-       (camel_write): Same.
-
-       * camel-io.[c,h]: Removed.
-
-       * camel-uid-cache.c (camel_uid_cache_new): Use the
-       camel-file-utils.c version of mkdir.
-
-2003-07-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-session.c (camel_session_init): Updated for string-utils
-       namespace changes.
-
-       * camel-provider.c: Updated for string-utils namespace changes.
-
-       * camel-mime-part.c (init_header_name_table): Updated for
-       string-utils namespace changes.
-
-       * camel-mime-message.c (camel_mime_message_class_init): Updated
-       for string-utils namespace changes.
-       (camel_mime_message_init): Same.
-
-       * camel-mime-filter-enriched.c
-       (camel_mime_filter_enriched_class_init): Updated for string-utils
-       namespace changes.
-
-       * camel-folder-summary.c (camel_folder_summary_init): Updated for
-       string-utils namespace changes.
-
-       * camel-string-utils.[c,h]: Renamed from string-utils.[c,h] and
-       also namespaced all functions.
-
-2003-07-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-digest-md5.c (digest_response): Don't quote the
-       charset value, the qop value, nor the response value. Fixes bug
-       #45712.
-
-2003-07-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_format_date): Use gmtime_r() instead
-       of using gmtime() and memcpy() to try and be "atomic".
-
-2003-06-30  Dan Winship  <danw@ximian.com>
-
-       * camel-folder-search.c (camel_folder_search_finalize): free the
-       summary hash
-
-2003-06-24  David Woodhouse  <dwmw2@infradead.org>
-
-       * camel-mime-utils.c (header_format_date): Put day of week into
-       outgoing email.
-
-
-2003-06-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-summary.h: Added prototype for
-       camel_folder_summary_remove_range().
-
-2003-06-25  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #45386
-       
-       * camel-service.c (camel_gethostbyname, camel_gethostbyaddr): Make
-       sure we have an exception that we test against.
-
-2003-06-20  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #43887
-
-       * camel-mime-filter-enriched.c (camel_enriched_to_html): simple
-       wrapper to convert enriched to html in one go.
-
-2003-06-18  Not Zed  <NotZed@Ximian.com>
-
-       * camel-service.c (get_hostbyaddr, get_hostbyname): if we got
-       cancelled, the message is floating, so free it.
-       (struct _lookup_msg): Add a cancelled tag.
-       (camel_gethostbyname, camel_gethostbyaddr): if we get a
-       failure/cancel, cancel the lookup thread and detach, so we dont
-       have to wait for it to return.  cleanup changed to handle the case
-       where we didn't get a reply message.
-
-2003-06-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-folder.c (pop3_finalize): Made static
-       (to match the prototype).
-
-2003-06-13  Larry Ewing  <lewing@ximian.com>
-
-       * camel-folder-thread.c (camel_folder_thread_messages_apply):
-       don't leak the summary when reloading it.  Fixes a very large
-       leak.
-
-2003-06-17  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (vee_folder_remove_folder): Calculate ranges
-       to remove folder info's more efficiently.  affects shutdown
-       performance on big vfolders signifinantly.
-       (vee_folder_build_folder): do the same here, when rebuilding a
-       folder's definition.
-
-       * camel-folder-summary.c (camel_folder_summary_remove_index): new
-       function to drop a range of index entries in one hit.
-
-2003-06-16  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #31745
-
-       * providers/imap/camel-imap-store-summary.c
-       (camel_imap_store_summary_namespace_new): Workaround a shell bug -
-       if the namespace has '#' in it, then strip it.
-
-2003-06-16  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #44322
-       
-       * providers/imap/camel-imap-command.c (imap_command_strdup_vprintf):
-       If we are outputting a folder name, make sure we calculate buffer
-       size based on the raw/utf7 version
-
-       ** See bug #44121
-       
-       * camel-multipart-signed.c (signed_get_part): If we can't parse
-       the content, but we have a stream, just use that as the content.
-
-2003-06-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fix for bug #40788.
-
-       * providers/pop3/camel-pop3-engine.c (camel_pop3_engine_new): Now
-       takes a flags argument. Currently there is only 1 flag which can
-       be used to disable Pop3 server extensions.
-       (get_capabilities): Don't check for Pop3 server extensions if the
-       DISABLE_EXTENSIONS flag is set on the engine.
-       (camel_pop3_engine_iterate): If we get a response that is neither
-       +OK nor -ERR, default to treating it like a -ERR.
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server): Check for
-       the disable_extensions param.
-
-       * providers/pop3/camel-pop3-provider.c: Define a checkbox to
-       disable all POP3 extension support.
-
-2003-06-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Partial fix for bug #44457.
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): Make sure to set
-       rawtext to FALSE if we successfully convert the text to UTF-8.
-
-       * camel-data-wrapper.c (camel_data_wrapper_init): Default the
-       value of rawtext to TRUE instead of FALSE. This way if the mailer
-       decides to try displaying a non-textual part as text, it knows
-       that it needs to convert the content to UTF-8.
-
-2003-06-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-uid-cache.c (camel_uid_cache_new): Create the directory
-       with mode 0777 and the cache file itself with mode 0666. Let the
-       user's umask filter the permissions. Instead of saving the fd on
-       the Cache object, instead save the filename. Use camel_read()
-       instead of expecting read() to just always work without getting an
-       EINTR/etc.
-       (maybe_write_uid): Don't do anything if cache->fd == -1, this
-       means an error has occured in a previous callback. Replace the 2
-       calls to write() with camel_write() and check their return
-       values. If either of them fails, set cache->fd to -1 (GHashTable
-       doesn't give us a way to abort foreach'ing thru the table).
-       (camel_uid_cache_save): Save to a temp file instead of overwriting
-       the original. Do proper error checking, etc. Also added some
-       smarts about whether to try and overwrite the old cache even if we
-       haven't successfully saved all the uids in the cache.
-       (camel_uid_cache_destroy): Free the cache->filename, no longer
-       need to close (cache->fd).
-
-2003-06-11  Larry Ewing  <lewing@ximian.com>
-
-       * camel-text-index.c (text_index_normalise): use g_utf8_strdown
-       properly.
-
-2003-06-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-message.c (find_best_encoding): Add the
-       CAMEL_BESTENC_TEXT bit to enctype if the part is a text part.
-
-       * camel-mime-filter-bestenc.c
-       (camel_mime_filter_bestenc_get_best_encoding): If we have any
-       nul-bytes or if the content is non-text and contains any 8bit
-       octets, we need to use base64. Fixes bug #44344.
diff --git a/camel/ChangeLog.pre-1-4 b/camel/ChangeLog.pre-1-4
deleted file mode 100644 (file)
index 7ea58c8..0000000
+++ /dev/null
@@ -1,22083 +0,0 @@
-2003-06-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * broken-date-parser.c (d): Turn off debugging.
-
-       * providers/pop3/camel-pop3-engine.c (get_capabilities): Move the
-       code that prepends the 'password' authtype to the auth list so
-       that we don't add it again when regetting the capabilities.
-
-2003-05-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (run_only_once): Turned off a debugging
-       printf.
-
-2003-05-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       This should finish fixing all variations of bug #42854, which,
-       funnily enough specified "copying" as the scenario for reproducing
-       this bug, but somehow I found/fixed it only for expunging for some
-       reason? I can't even guess as to how this happened. Oh well,
-       expunging needed fixing either way.
-
-       * providers/imap/camel-imap-folder.c (imap_transfer_online): Sort
-       the uids here too (just like I had fixed for expunge a week or so
-       ago).
-       (imap_transfer_resyncing): Sort them here too.
-       (imap_search_by_uids): Sort here too, even though I don't think it
-       is necessary. Can't hurt.
-       (imap_expunge_uids_offline): Might as well sort here too.
-
-2003-05-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-object.c (camel_object_bag_destroy): Lets try this
-       again. We don't actually want to free the key here, because
-       camel_object_bag_remove() does that for us. This should fix bug
-       #43406 properly.
-
-2003-05-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-object.c (camel_object_bag_destroy): Create a second
-       GPtrArray for the keys. We don't want to use bag->free_key() on
-       the object. Fixes bug #43406.
-
-2003-05-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-summary.c (camel_folder_summary_load): Only display
-       a warning if errno != EINVAL (EINVAL means there was a version
-       mismatch, so we don't really need to warn here since we are
-       supposed to be able to handle this situation).
-       (perform_content_info_load): Turn off debugging message.
-       (summary_assign_uid): Turn off uid-clash warning.
-       (camel_folder_summary_decode_token): Turn off debug messages.
-       (summary_header_load): Turn off version-mismatch warning.
-
-2003-05-16  Jeremy Katz  <katzj@redhat.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): Ensure cmdbuf
-       is initialized to avoid compiler warning.
-
-       * providers/local/camel-mbox-summary.c (summary_header_load): Cast
-       folder_size to uint32 to fix warning.
-       (camel_mbox_summary_sync_mbox): Update for new API.
-
-       * providers/imap/camel-imap-utils.c (parse_params):
-       imap_parse_nstring expects size_t, not int
-       (imap_body_decode): Likewise.
-
-       * camel-stream-filter.c (do_read): presize needs to be size_t
-       instead of int.
-       (do_write): Likewise.
-
-       * camel-seekable-substream.c (stream_read): Return ssize_t instead
-       of int to match prototypes.
-       (stream_write): Likewise.
-
-       * camel-mime-part.c (construct_from_parser): len needs to be
-       size_t instead of int.
-
-       * camel-mime-parser.c (folder_scan_step): datalength needs to be a
-       size_t* instead of an int* to make dependent APIs safe.
-       (camel_mime_parser_step): Likewise.
-       (folder_scan_content): Likewise.
-       * camel-mime-parser.h: Likewise.
-
-       * camel-mime-message.c (camel_mime_message_class_init): Use glib
-       macro for pointer/int conversions.
-       (construct_from_parser): Update for new API.
-
-       * camel-folder-summary.c
-       (camel_folder_summary_info_new_from_parser): Update len to be
-       size_t for new API.
-       (summary_build_content_info): Likewise.
-       * camel-http-stream.c (http_get_headers): Likewise.
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): Likewise.
-       * camel-multipart-signed.c (signed_construct_from_parser): Likewise.
-       * camel-multipart.c (construct_from_parser): Likewise.
-
-       * camel-folder-search.c (match_words_index): Use glib macros for
-       pointer/int conversions.
-       * camel-html-parser.c (tokenise_setup): Likewise.
-       (convert_entity): Likewise.
-       * camel-block-file.c (block_hash_func): Likewise.
-       (camel_block_file_get_block): Likewise.
-       (camel_block_file_get_block): Likewise.
-       (camel_block_file_detach_block): Likewise.
-       * camel-session.c (session_thread_msg_new): Likewise.
-       (session_thread_msg_free): Likewise.
-       (session_thread_wait): Likewise.
-       * camel-text-index.c (text_index_compress_nosync): Likewise.
-       (text_index_compress_nosync): Likewise.
-       (camel_text_index_validate): Likewise.
-       * camel-vee-folder.c (vee_folder_remove_folder): Likewise.
-       (unmatched_check_uid): Likewise.
-       (folder_added_uid): Likewise.
-       (vee_folder_build_folder): Likewise.
-       (folder_changed_add_uid): Likewise.
-       (folder_changed_remove_uid): Likewise.
-       * providers/imap/camel-imap-search.c (imap_body_contains): Likewise.
-       * providers/pop3/camel-pop3-folder.c (cmd_list): Likewise.
-       (cmd_uidl): Likewise.
-
-       * camel-data-cache.c (data_cache_init): Cast to CamelCopyFunc.
-       Fixes a warning.
-
-2003-05-15  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (header_decode_word): Simplistic quick-fix
-       for #42710.  Add a charset argument.  If the data is 8 bit, try to
-       decode into the passed in charset (i.e. the message header?), at
-       worst, fall back to latin1, similarly to header_decode_text.
-       Fixed all callers to pass in a charset if available, or NULL.
-
-2003-05-14  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #42540
-       
-       * camel-service.c (camel_gethostbyname): pre-initialise the error
-       return to invalid, so if we cancel, we definetly get a bad result.
-       Also, for a valid return against result, not herr.
-       (camel_gethostbyaddr): Likewise.
-
-2003-05-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-local-folder.c (local_delete): Only delete
-       the index if it is non-NULL. Fixes bug #42763.
-
-2003-05-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_uid_array_to_set): Added
-       a note to the comment block for this function noting that uids
-       MUST be in sorted order.
-
-       * providers/imap/camel-imap-folder.c (imap_expunge_uids_online):
-       Sort the uids before splitting them into UID set chunks. The code
-       that splits the uid array into sets expects the uids to be in
-       sorted order. Fixes bug #42854.
-
-       * providers/imap/camel-imap-command.c (imap_command_start):
-       Re-enable camel_verbose_debug logging.
-
-2003-05-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): If
-       host->h_name is NULL or an empty string, default back to using the
-       IP address rather than the hostname in the EHLO command.
-
-2003-05-13  Ettore Perazzoli  <ettore@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (d): Disable debugging.
-
-       * providers/imap/camel-imap-command.c (d): Disable debugging.
-
-       * providers/imap/camel-imap-search.c (d): Disable debugging.
-
-2003-05-02  Dan Winship  <danw@ximian.com>
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): Don't call
-       g_utf8_validate on an empty message. Fixes a warning.
-
-2003-05-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Workaround for POS mailers like the one in bug #42045.
-
-       * camel-mime-utils.c (header_decode_date): Make sure the numeric
-       timezone is between -1200 and 1200, otherwise it is invalid.
-
-       * broken-date-parser.c (get_tzone): Make sure the numeric timezone
-       is between -1200 and 1200, otherwise it is invalid.
-
-2003-04-29  Dan Winship  <danw@ximian.com>
-
-       * Makefile.am (camel_lock_helper_SOURCES): Remove camel-lock.c
-       from here because it upsets automake 1.6 for some reason
-       (camel_lock_helper_LDADD): Add camel-lock.o here
-
-2003-04-29  Jeremy Katz  <katzj@redhat.com>
-
-       * providers/imap/camel-imap-folder.c (parse_fetch_response):
-       body_len needs to be a size_t instead of int
-
-2003-04-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-utils.c: Disable debugging printfs.
-
-       * providers/imap/camel-imap-store.c (imap_connect_online): #if 0
-       out some code that parsed the namespaces since the results aren't
-       used and they generate debugging output.
-
-2003-04-23  Not Zed  <NotZed@Ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): only free the
-       host if it was set.  removes a run-time warning.
-
-       * camel-session.c (get_service): oops, the service owns the url
-       after we construct it.
-
-2003-04-22  Not Zed  <NotZed@Ximian.com>
-
-       ** Should fix #41629, #41448, et al.
-       
-       * tests/folder/test10.c: a new torture test for object bag
-       creation/unreffing.
-
-       * camel-url.c (camel_url_copy): new function to copy a url.
-
-       * camel-object.c (camel_object_bag_new): add arguments for key
-       copy and key free functions.  Fixed all callers.
-       (camel_object_bag_destroy): fix a memleak, free the bag key.
-       (camel_object_bag_get, camel_object_bag_reserve)
-       (camel_object_bag_abort, save_bag, save_object): Make the key a
-       void type, rather than char *.
-       (camel_object_bag_add): As above, and also copy the key.
-       (camel_object_bag_remove_unlocked): free the key using
-       bag->free_key.
-
-       * camel-session.c (register_provider)
-       (camel_session_destroy_provider, get_service): Changed to use an
-       object bag instead of a hash table for the service 'cache'.
-       (service_cache_remove): Removed, no longer required.
-
-2003-04-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): Don't set seen_eof1
-       here anymore once we get a trust metric.
-       (gpg_ctx_new): Init seen_eof1 to TRUE here.
-       (gpg_ctx_set_ostream): Change seen_eof1 to FALSE here this way we
-       only ever have to set this if we are expecting output.
-       (gpg_ctx_parse_status): Don't set seen_eof1 for importing either.
-       (gpg_ctx_op_step): Only FD_SET() those fd's that we have not yet
-       finished reading.
-
-2003-04-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-url-scanner.c (camel_url_web_end): Urls are unlikely to
-       end with punctuation or closing braces, so strip any of those off
-       the end of the url. Fixes bug #41461.
-
-       * tests/mime-filter/data/html.1.out: Removed a trailing \n at the
-       end of the file, this is incorrect (since out input file does not
-       contain one).
-
-       * camel-mime-filter-tohtml.c (html_convert): Only output a <br> if
-       we found an eoln in the input. Along the same lines, don't write a
-       '\n' to the output buffer unless we've encountered that eoln in
-       the input. Fixes bug #41407.
-
-2003-04-17  Not Zed  <NotZed@Ximian.com>
-
-       ** for #40989
-
-       * camel-text-index.c (text_index_delete): delete the block
-       file/key file directly, not just its files.
-
-       * providers/local/camel-local-folder.c (local_delete): implement,
-       just delete the index file if it exists.
-       camel-store-delete-folder will delete other data (maybe it all
-       should be done here).
-
-       * camel-block-file.c (camel_key_file_finalise): keep lock around
-       decrementing key file use count.
-       (camel_key_file_delete): new function to delete the key file (&
-       close it off).
-       (key_file_use): if we've been deleted, always fail.
-       (camel_block_file_finalise): only close the file if its a valid
-       fd.
-       (block_file_use): if we've been deleted, always fail.
-       (camel_block_file_delete): delete the block file & close.
-       (struct _CamelBlockFilePrivate): fix the !ENABLE_THREADS case to
-       still compile this.
-
-       ** for #41163
-
-       * camel-multipart-signed.c (parse_content): Dont assume adding 1
-       to line length will go to the next line.  e.g. for dos lines that
-       end in \r\n.  Fix for #41163.
-       (parse_boundary): util function to help above.
-
-2003-04-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_verify): The gpg child process exiting
-       does not necessarily mean that we've ready everything that we can
-       from its pipes, so don't use gpg_ctx_op_exited() as a loop-exit
-       condition. If for some reason the gpg child process does exit (due
-       to an error), gpg_ctx_op_step() will eventually fail (as soon as
-       it has finished reading any data in the pipes) and cause the loop
-       to be terminated anyway. This fixes truncation of the gpg --verify
-       stderr output that Evolution displays as the "validity report"
-       (for lack of a better description).
-       (gpg_ctx_op_step): Removed some debugging printf's
-       (gpg_ctx_get_diagnostics): Use a bitfield to decide if we've
-       already flushed the diagnostics stream, much simpler (plus we have
-       plenty of bits to spare so might as well use them).
-       (gpg_ctx_new): Fixed another logic bug which determined whether or
-       not we should convert the gpg output from the locale charset into
-       UTF-8.
-
-2003-04-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c: Turn off debugging if
-       CAMEL_VERBOSE_DEBUG isn't set.
-
-2003-04-10  Not Zed  <NotZed@Ximian.com>
-
-       * tests/mime-filter/data: filter data test cases.
-
-       * tests/mime-filter/test-tohtml.c: New test for html filter.
-
-       ** See bug #40969
-
-       * camel-mime-filter-tohtml.c (html_convert): Change the logic
-       slightly, scan a whole line within the main loop.
-
-2003-04-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_ctx_get_utf8_diagnostics): Removed. I
-       just realised that we ALWAYS want to get gpg's stderr in UTF-8, so
-       the better solution (plus less code duplication) is to just have
-       the diagnostics buffer be a CamelStreamMem with a charset filter.
-       (gpg_ctx_new): Setup a filter stream to convert our gpg stderr
-       diagnostics into UTF-8 if needed.
-       (gpg_ctx_free): Unref the diagnostcis stream.
-       (gpg_ctx_parse_status): Flush the diagnostics stream if we are
-       going to use the data in an exception.
-       (gpg_ctx_op_step): Use camel_stream_write() to append to the
-       diagnostics stream rather than appending the buffer to a
-       GByteArray like we used to do.
-       (gpg_ctx_op_step): Flush the diagnostics stream here too.
-       (gpg_verify): Use a const char *diagnostics string here, forcing a
-       slight rearrangement of calls - use the const char *dignostics
-       before we gpg_ctx_free, otherwise we'll be passing free'd memory
-       off to the cipher_validity.
-       (gpg_ctx_get_diagnostics): Do the work here to flush the
-       diagnostics stream and nul-terminate the buffer. Also return const
-       now, instead of strdupping. No need for that.
-       (gpg_ctx_parse_status): Convert the user hint to UTF-8.
-
-2003-04-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_ctx_get_utf8_diagnostics): Changed my
-       mind a bit on how I wanted this to work. Instead of aborting on an
-       illegal sequence, do like we do with camel-mime-filter-charset and
-       just skip over invalid sequences. Also, in the noop failure case,
-       close the iconv_t so we don't leak it.
-
-2003-04-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_body_decode): Save the
-       content size in a temp variable until after we've successfully
-       parsed all of the body_type_1part expr. Also fixed a type-o in the
-       body_type_mpart case that caused the parser to fail.
-       (imap_parse_body): On failure to parse the body, as we iterate
-       through the child nodes, set their children/parent/next nodes to
-       NULL so that content_info_free() won't double-free any of the
-       other nodes we have already free'd (or are about to free).
-
-       * camel-gpg-context.c (gpg_ctx_get_utf8_diagnostics): New function
-       to get the UTF-8 version of the diagnostics (if the locale isn't
-       already UTF-8 safe).
-       (gpg_verify): Use the utf-8 diagnostics here. Also fixed a memleak
-       in the exception case.
-
-       * camel-mime-filter-charset.c
-       (camel_mime_filter_charset_new_convert): NULL-protect the to/from
-       charsets in the g_warning call.
-
-2003-04-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes for bug #40778. Probably others as well.
-
-       * providers/imap/camel-imap-utils.c (parse_params): Return 0 on
-       success, or -1 on fail. The other small utility functions should
-       probably do the same, but I was too lazy to fix them. Setting
-       inptr to NULL is just lame.
-       (imap_body_decode): New function to correctly parse a BODY
-       response.
-       (imap_parse_body): Rewritten to use the above function.
-
-2003-04-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): Make sure
-       host->h_name is not an empty string too? Apparently for one user
-       his resolved hostname is "". Go figure. Probably a broken system,
-       but easy enough to work around.
-
-       * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): If
-       store->engine->line is NULL, use _("Unknown error") as the error
-       string instead.
-
-2003-04-08  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-summary.c (camel_folder_summary_load): use
-       g_strerror, and use errno directly rather than ferrno().
-       (summary_header_load): set errno when we get a version mismatch.
-
-2003-04-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c: Disable debug printf's
-
-2003-03-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-gssapi.c (gssapi_challenge): If we are using the
-       heimdal krb5 implementation, don't free outbuf ever. Seems to
-       segfault if we do.
-
-2003-03-31  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-enriched.c (enriched_to_html): Use strncasecmp
-       for matching the nofill and /nofill tags. Also fixed to handle
-       enriched tags that require <param> tags.
-
-2003-03-28  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-store.c (get_folder): remove unused
-       var.
-
-       * providers/imap/camel-imap-utils.c (imap_parse_list_response):
-       moved an unused var to the #if 0'd out block.
-
-       * providers/imap/camel-imap-store.c
-       (parse_list_response_as_folder_info): remove unused vars.
-
-       * camel-index-control.c (main): deifne camel_init() before using
-       it.
-
-       * camel-vee-store.c (vee_get_folder): removed unused var.
-
-       * camel-stream-mem.c (stream_write): warning -> fixme.
-
-       * camel-stream-filter.c (_CamelStreamFilterPrivate): Add a ; to
-       the end of the struct definition.
-
-       * camel-store.c (camel_store_delete_folder): remove unused var.
-       (camel_store_rename_folder): "
-       (camel_store_unsubscribe_folder): "
-
-       * camel-mime-part.c (write_to_stream): Changed warning into a
-       TODO.
-       (construct_from_parser): removed warning, the code was fixed.
-
-       * camel-mime-message.c (construct_from_parser): Remove the
-       warning, the code was fixed.
-
-       * camel-mime-filter-enriched.c (camel_mime_filter_enriched_new):
-       Remove unused var.
-
-       * camel-medium.c (camel_medium_get_header): Removed warning, and
-       changed docs to reflect it.
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): handle MODE_EXPORT
-       as a noop (warning).
-
-       * camel-folder.c (get_message_user_tag): changed a warning into a
-       fixme (its not that important).
-       (camel_folder_get_message_user_tag): "
-
-       * camel-data-cache.c (data_cache_finalise): removed unused vars.
-       (data_cache_expire): "
-
-2003-03-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-gssapi.c (gssapi_challenge): Get rid of debug
-       printf's that are no longer needed. In the case of errors, don't
-       release the outbuf gss_buffer_t since it shouldn't be set. Also
-       g_free (str) when we are done with it.
-
-       * camel-mime-utils.c (header_encode_phrase_merge_words): When we
-       remove a node from the list, make sure to g_list_free_1().
-       (header_encode_phrase_merge_words): Don't use
-       CAMEL_FOLD_PREENCODED as the upper-bound for merged-word length if
-       the merged-word will not be an rfc2047 encoded word. Instead, use
-       CAMEL_FOLD_SIZE-8 (which is the value we use in other places for
-       determining upper-bound lengths). Solves bug #38659.
-
-2003-03-27  Dan Winship  <danw@ximian.com>
-
-       * camel-url.c (append_url_encoded): Like camel_url_encode, but
-       works directly on an existing GString.
-       (camel_url_to_string, output_param): Use it.
-       (camel_url_encode): Likewise. Remove "escape_unsafe" arg since the
-       "unsafe" chars are the ones that should *always* be escaped, and
-       the places we were passing FALSE were wrong.
-       (camel_url_decode): replace with a new version
-
-       * camel-file-utils.c (camel_file_util_safe_filename): Remove extra
-       arg to camel_url_encode.
-
-       * tests/misc/url.c (main): Add tests of basic URL parsing and
-       unparsing
-
-2003-03-28  Not Zed  <NotZed@Ximian.com>
-
-       *
-       camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser):
-       Do a more thorough check for html marked as text/plain.  Check
-       that the text starts with <html or <!doctype.  More complete fix
-       for #16817.
-
-2003-03-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-gssapi.c (camel_sasl_gssapi_finalize): Pass in the
-       addresses of the second args to the delete/release functions.
-
-2003-03-27  Not Zed  <NotZed@Ximian.com>
-
-       * camel-object.c (camel_object_bag_list): Ignore whether or not
-       the bag is currently reserved.  We'll miss the new potential
-       object, but only 1.  Should address #40103.
-
-2003-03-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-service.c (camel_gethostbyaddr): Don't use setv when we
-       don't need the stdarg interface.
-       (camel_gethostbyname): Same.
-
-2003-03-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-search.c (search_user_tag): This expression can
-       never return an array. We must always return a string value.
-
-2003-03-24  Timo Sirainen  <tss@iki.fi>
-
-       * camel-imap-command.c (imap_read_untagged) Integer overflow fix.
-       If server sent a huge literal length, only a few bytes of memory
-       was allocated to it, but server could write as much data there as
-       it wanted.
-
-2003-03-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Camel part of the fix for Lewing's bug #39204. Second half of the
-       patch should also fix it so that text/plain parts that are
-       detected as being text/html are rendered as html (not that I agree
-       with this mind you, but corporate customers want this "feature").
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): If the part is
-       text/html and doesn't have a charset and we are able to find a
-       charset in the meta tags of the html content, set the charset
-       param on the content-type.
-       (camel_mime_part_construct_content_from_parser): After setting the
-       content object on the mime part, re-set the content-type of the
-       content object back to the one from the parser (as it may contain
-       changes from the original - see changes made to the ct in
-       simple_data_wrapper_construct_from_parser for details).
-
-2003-03-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (camel_certdb_nss_cert_get): continue
-       reading the cert file until we've read it all or get a non-EINTR
-       errno.
-
-2003-03-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-gssapi.c: #include <com_err.h> instead of
-       #include <et/com_err.h>
-
-2003-03-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl.c: Plug in GSSAPI support.
-
-       * camel-sasl-gssapi.[c,h]: Various fixes to make it compile (fixed
-       type-o's mostly).
-
-2003-03-20  Dan Winship  <danw@ximian.com>
-
-       Handle raw 8-bit From data "correctly". (The same way we handle
-       raw 8-bit Subject data.)
-
-       * camel-mime-utils.c (header_decode_mailbox): Take a charset arg
-       and pass it to header_decode_string.
-       (header_decode_address): Take a charset arg and pass it to
-       header_decode_mailbox.
-       (header_mailbox_decode): Likewise.
-       (header_address_decode): Take a charset arg and pass it to
-       header_decode_address.
-
-       * camel-folder-summary.c (summary_format_address): Take a charset
-       arg and pass to header_address_decode.
-       (message_info_new, camel_message_info_new_from_header): Pass
-       charset to summary_format_address
-
-       * camel-internet-address.c (internet_decode): Update for
-       header_address_decode change. (Unfortunately we don't have a
-       charset to pass here.)
-
-       * camel-mime-message.c (camel_mime_message_build_mbox_from): Move
-       this here from camel-mbox-summary since the same functionality is
-       needed by evolution-mail too (and update for header_address_decode
-       change)
-
-       * providers/local/camel-mbox-summary.c
-       (camel_mbox_summary_build_from): Moved to CamelMimeMessage
-
-2003-03-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part.c (process_header): Removed unused variable left
-       over from my previous fix.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_send_to): Don't pass
-       'has_8bit_parts' to smtp_data() anymore.
-       (smtp_data): No longer takes 'has_8bit_parts' argument. Ignore
-       whether or not the message has 8bit parts when deciding what the
-       required encoding type we need to enforce. Fixes bug #39744.
-
-2003-03-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part.c (process_header): Use
-       header_contentid_decode() as this new function should be safer
-       than the hack that we had before.
-
-       * camel-mime-utils.c (header_contentid_decode): New function to
-       try and parse a content-id string in such a way as to work around
-       some of the known bugs in other MIME implementations. Try to be as
-       "safe" as we can - ie. don't allow for more than 1 @ (since the
-       mailer uses "@@@%d" as a fake content-id value for parts without
-       content-ids) and don't allow for invalid content-type chars.
-
-2003-03-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder.c (get_uids): Don't add bogus uids to the uid
-       array. Might fix bug #38868 (it's the only way I can figure that
-       camel_folder_get_message_info() could possibly return NULL for the
-       Outbox folder).
-
-2003-03-12  Not Zed  <NotZed@Ximian.com>
-
-       * camel-object.c (remove_bag): removed, it was double-freeing the
-       key.
-       (save_object): Just save the object in an array.
-       (camel_object_bag_destroy): first save the object bag's objects in
-       a list, then remove them one at a time from the bag since we can't
-       remove hash table entries while we're in a foreach (PITA glib
-       shit).  For #39486.
-       (camel_object_bag_*): killed some warnings.
-
-2003-03-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-url-scanner.c (camel_url_addrspec_end): Doh! If inptr ==
-       pos + 1, then return FALSE (before it was checking for inptr ==
-       pos, but it will never be pos).
-
-2003-03-07  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (vee_search_by_expression): handle a null
-       return from search_by_expression, for bug #33786.
-
-2003-03-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_next_word):
-       s/g_strncasecmp/strncasecmp/g
-
-       * camel-iconv.c: Updated to be an exact copy of e-iconv (except
-       names changed). We don't use this yet, but we may in the future.
-
-       * camel-url.c (camel_url_new_with_base): Here too.
-
-       * camel-sasl-kerberos4.c (krb4_challenge): Use camel_strdown()
-       here instead of g_strdown() since the latter has been deprecated.
-
-       * providers/imap/camel-imap-utils.c (imap_parse_body): Use
-       camel_strdown() since g_ascii_strdown() does not do what we
-       thought.
-
-       * providers/imap/camel-imap-store.c:
-       s/strstrcase/camel_strstrcase/g
-
-       * providers/imap/camel-imap-folder.c (do_append):
-       s/strstrcase/camel_strstrcase/
-       (handle_copyuid): Same.
-
-       * string-utils.c (camel_strdown): New function because the
-       g_ascii_strdown interface sucks.
-       (camel_strstrcase): Renamed from strstrcase.
-
-2003-03-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-text-index.c (camel_utf8_next): Same as below.
-
-       * camel-search-private.c (camel_utf8_getc): Updated since not all
-       platforms/compiles support __inline__.
-
-2003-03-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part.c (camel_mime_part_get_encoding): Get rid of the
-       const return - it mismatches the prototype and we don't need it
-       anyway. Fixes bug #39173.
-
-2003-03-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes for bug #39170
-
-       * camel-store-summary.c (camel_store_info_set_string): Remove
-       return keyword.
-
-       * camel-session.c (camel_session_thread_msg_free): Remove return
-       keyword.
-       (camel_session_thread_wait): Same.
-
-       * camel-index.c (camel_index_cursor_reset): Remove return keyword.
-
-2003-03-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes for bug #39168
-
-       * providers/local/camel-spool-summary.c: Get rid of the empty
-       private struct.
-
-       * providers/local/camel-mbox-summary.c: Get rid of the empty
-       private struct.
-
-       * camel-vee-store.c: Get rid of the empty private struct.
-
-       * camel-mime-filter-from.c: Get rid of the empty private struct.
-
-2003-03-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/sendmail/camel-sendmail-transport.c
-       (sendmail_send_to): Add a CRLF filter to the output stream to
-       convert any CRLF sequences into plain old line-feeds to work
-       around a bug in some local transport programs.
-
-2003-03-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-object.h: s/class/klass in one place so that the header is
-       c++-safe.
-
-2003-03-03  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-openssl.c (camel_tcp_stream_ssl_new): Updated
-       to use the new API from a fe commits ago for the NSS stream. This
-       is just to make it compile, but does not update the behaviour to
-       act like the NSS stream. Note that people shouldn't be using
-       OpenSSL anyway.
-       (camel_tcp_stream_ssl_new_raw): Same.
-
-       * camel-process.[c,h]: New source file containing convenience
-       functions for process creation/termination mainly for use with
-       Pipe filters but should be usable for anything we want.
-
-       * camel-io.[c,h]: New source files implementing read/write system
-       calls with proper error checking and cancellation
-       (ie. StreamFs::read/write and CamelTcpStreamRaw::read/write). No
-       sense duplicating the same code over and over. Now I can use this
-       same code easily in other i/o code (such as Pipe filters and gpg
-       code?).
-
-2003-03-03  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_unsubscribe_folder): Do similar
-       folder != NULL checking as for delete_folder before passing a NULL
-       to object_bag_remove.
-
-2003-02-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-http-stream.c (http_connect): Here too.
-
-       * providers/smtp/camel-smtp-transport.c (connect_to_server): Same
-       as IMAP and POP.
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Same as
-       the POP3 code.
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server): Pass in
-       appropriate flags for camel_tcp_stream_ssl_new*() functions.
-
-       * camel-tcp-stream-ssl.c (enable_ssl): Not all ssl/tls streams
-       will want to allow each of SSLv2, SSLv3 and TLSv1 so use flags to
-       decide which to enable/disable.
-       (camel_tcp_stream_ssl_new): Now takes a flags argument to mask out
-       which SSL/TLS versions the stream should be compatable with.
-       (camel_tcp_stream_ssl_new_raw): Same.
-
-2003-02-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-stream-filter.c: Add a 'flushed' state variable to the
-       private struct.
-       (do_read): Set p->flushed to TRUE after we call
-       camel_mime_filter_complete() on all the filters.
-       (do_reset): Set p->flushed to FALSE.
-       (do_eos): Make sure the filters have been flushed before returning
-       that the stream is at EOS.
-
-       * camel-mime-filter-canon.c (complete): Don't add a eol -
-       otherwise we will fail to verify some mutt signatures that do not
-       have a blank line before the boundary line (and note that the last
-       \n before the boundary really belongs to the boundary anyway) so
-       #if 0 this code out for now.
-
-2003-02-27  Not Zed  <NotZed@Ximian.com>
-
-       * camel-multipart-signed.c: Undo jeff's changes.
-
-       * providers/local/camel-spool-store.c (scan_dir): Fix a paste-o in
-       the object_bag_get key.
-
-2003-02-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-multipart-signed.c: Updated to use g_alloca instead of
-       alloca so that we can skip all the #ifdef checks and skip checking
-       for alloca in configure.in and all that foo.
-
-       * camel-store.c (camel_store_delete_folder): Make sure the folder
-       is non-NULL before trying to remove it from the store's
-       object-bag.
-
-2003-02-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): canonicalise the
-       charset name (if it is an iso charset) so that our strncasecmp to
-       see if it is an iso-8859-# charset will be guarenteed to work on
-       all systems.
-       (canon_charset_name): New function to return the canonical iso
-       charset name.
-       (simple_data_wrapper_construct_from_parser): If the charset is
-       NULL *or* the charset == "us-ascii" then check that it is 7bit
-       clean to decide if it is rawtext (we did not check the case where
-       charset was "us-ascii" before).
-
-2003-02-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-message.c: Same as the ones below.
-
-       * camel-mime-part.c: Reverted back to pre-camel-iconv
-
-       * camel-filter-search.c: Same as below.
-
-       * camel-folder-summary.c: Reverted back to pre-camel-iconv
-
-       * camel.c (camel_init): Reverted to pre-camel-iconv
-
-       * camel-charset-map.c (camel_charset_locale_name): Removed (part
-       of the revert).
-       (camel_charset_canonical_name): Same.
-
-       * camel-mime-filter-charset.c: Revert back to using e_iconv from GAL.
-
-       * camel-mime-part-utils.c: Revert back to using e_iconv from GAL.
-
-       * camel-mime-utils.c: Revert back to using e_iconv from GAL.
-
-       * camel-sasl-digest-md5.c: Revert back to using e-iconv from GAL.
-
-2003-02-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-charset-map.c (camel_charset_canonical_name): g_alloca
-       (strlen (charset) + 1) so we don't overflow the buffer.
-
-       * providers/pop3/camel-pop3-stream.c (stream_write): Don't write
-       the passwd, fixes "bug" #38601.
-
-       * camel-iconv.c: Make bucket->refcount 31 bits and bucket->used 1
-       bit instead of having each use their own 32bit int.
-       (iconv_cache_bucket_expire): Use g_iconv_close() here, missed this
-       before.
-       (camel_iconv): Might as well call g_iconv here even though it just
-       calls iconv directly.
-
-2003-02-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-iconv.c (camel_iconv_charset_name): New function...back
-       from the depths of hell from whence it came originally. Turns out
-       that g_iconv_open() is lame and can't handle all the stuff we used
-       to handle in e_iconv_charset_name().
-       (camel_iconv_open): Use camel_iconv_charset_name() on the to/from
-       charsets rather than camel_charset_canonical_name(). Now maybe
-       g_iconv_open will work for charsets such as "ks_c_5601-1987".
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): Reget the
-       capabilities after a successful authentication.
-
-       * providers/pop3/camel-pop3-engine.c (get_capabilities): If we are
-       in the TRANSACTION state and CAPA did not list UIDL as a supported
-       command, try checking for it the hard way.
-
-2003-02-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Do it the
-       same way we just made the sendmail code do it.
-
-       * providers/sendmail/camel-sendmail-transport.c
-       (sendmail_send_to): My last change but in a better way.
-
-2003-02-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Remove all
-       Bcc headers before sending to the smtp server.
-
-       * providers/sendmail/camel-sendmail-transport.c
-       (sendmail_send_to): Remove all Bcc headers before sending to
-       sendmail.
-
-2003-02-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel.c (camel_init): Call camel_iconv_init().
-       (camel_shutdown): Call camel_iconv_shutdown().
-
-       * camel-sasl-digest-md5.c (digest_response): Updated to use
-       camel-iconv and the new camel-charset-map functions.
-
-       * camel-mime-utils.c: Updated to use camel-iconv and the new
-       camel-charset-map functions.
-
-       * camel-mime-part-utils.c (check_html_charset): Use
-       camel_charset_canonical_name() instead of e_iconv_charset_name()
-       which is longer available.
-       (convert_buffer): Use camel-iconv.
-       (simple_data_wrapper_construct_from_parser): Since
-       camel_charset_iso_to_windows() returns the charset in it's
-       canonical format, no need to re-canonicalise it.
-
-       * camel-mime-part.c (process_header): Use
-       camel_charset_canonical_name() instead of e_iconv_charset_name()
-       which is longer available.
-
-       * camel-mime-message.c (process_header): Use
-       camel_charset_canonical_name() instead of e_iconv_charset_name()
-       which is longer available.
-
-       * camel-mime-filter-charset.c: Use camel-iconv.
-
-       * camel-folder-summary.c (message_info_new): Use
-       camel_charset_canonical_name() instead of e_iconv_charset_name()
-       which is longer available.
-       (content_info_new): Use camel_charset_locale_name().
-       (camel_message_info_new_from_header): Same as message_info_new().
-
-       * camel-search-private.c: Use g_alloca() instead of alloca().
-
-       * camel-filter-search.c (check_header): Use
-       camel_charset_canonical_name() instead of e_iconv_charset_name()
-       which is longer available.
-
-       * camel-charset-map.c (camel_charset_locale_name): New function,
-       replaces e_iconv_locale_charset().
-       (camel_charset_canonical_name): New function, similar to
-       e_iconv_charset_name() but instead of returning the iconv-friendly
-       name, it returns the canonical name. (g_iconv will do the
-       iconv-friendly name conversions for us).
-
-2003-02-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-search.c (run_command): Redirect program's stdout
-       and stderr to /dev/null
-
-       * camel-filter-driver.c (pipe_to_system): Redirect the program's
-       stderr to /dev/null
-       (pipe_to_system): Write the pipe to a mem stream and use the mem
-       stream in the parser. Also, when setting an exception get the
-       errno from the parser so we can give more info about the error to
-       the user.
-
-2003-02-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (stream_connect): Fixed a type-o in the
-       ENABLE_IPv6 ifdef section.
-
-2003-02-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (pipe_message): New filter action that
-       pipes the message source to the user-program and reads back the
-       modified message and replaces driver->priv->message with the new
-       message object.
-       (do_copy): Check p->modified to make sure the message hasn't been
-       modified by the pipe-message action - if it has been modified,
-       default to the slower camel_folder_append_message() way of
-       copying.
-       (do_move): Same.
-       (pipe_to_system): Set p->modified to TRUE if the user-program gave
-       us back a message stream and we were able to parse it.
-       (camel_filter_driver_filter_message): If the message has been
-       modified, always use camel_folder_append_message() when appending
-       it to the default folder.
-
-2003-02-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-search.c: Added a (get-size ) function to fix bug
-       #38073.
-       (search_get_size): Implemented.
-
-2003-02-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-url-scanner.c (url_scanner_table_init): Mark chars with
-       the high-bit set as CTRL chars.
-       (camel_url_web_end): If the char before the start of the url is an
-       open-brace, watch out for the matching close-brace.
-       (camel_url_file_end): Same.
-
-2003-02-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-smime-context.c (smime_get_password): Same as the gpg and
-       pkcs7 contexts.
-
-       * camel-sasl-popb4smtp.c (popb4smtp_challenge): Updated for
-       camel_session_get_password().
-
-       * camel-pkcs7-context.c (get_password): Same as the gpg code.
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): Updated for
-       camel_session_get_password().
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): No need to
-       set USER_CANCEL exception here as it is done by
-       camel_session_get_password(). Also updated for the new
-       get_password() API change.
-
-       * providers/imap/camel-imap-store.c (imap_auth_loop): Updated for
-       camel_session_get_password() changes. We don't need to play the
-       "bad passwd" game here too, do we? Bah, probably should but I
-       don't feel like it for now. Maybe when we rewrite the IMAP
-       provider.
-
-       * camel-session.c (camel_session_get_password): Now takes a
-       'reprompt' argument that will force user-input to be given even if
-       we have the passwd cached.
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): Instead of
-       uncaching the passwd after we receive a -ERR from the POP server,
-       set 'reprompt' to TRUE to force user-input for the next password
-       prompt (ie, make sure the front-end knows not to just return the
-       cached value). The front-end can then decide to fill-in the
-       user-input field with the last passwd that the user supplied.
-       (pop3_try_authenticate): Now takes a reprompt argument which we
-       pass into camel_session_get_password().
-
-2003-02-05  Dan Winship  <danw@ximian.com>
-
-       * Makefile.am (libcamelincludedir): Define in terms of
-       privincludedir.
-       (camellibexecdir): Define in terms of privlibexecdir
-       (libcamel_la_LDFLAGS): Remove -rpath. (automake will add that)
-
-       * providers/imap/Makefile.am (libcamelimapincludedir): Define in
-       terms of privincludedir.
-       (INCLUDES): Remove -I$(includedir)
-       * providers/local/Makefile.am: Likewise
-       * providers/nntp/Makefile.am: Likewise
-       * providers/pop3/Makefile.am: Likewise
-       * providers/sendmail/Makefile.am: Likewise
-       * providers/smtp/Makefile.am: Likewise
-
-2003-02-04  Not Zed  <NotZed@Ximian.com>
-
-       * camel-object.c (camel_object_bag_new): Init bag->owner to 0.
-
-2003-01-31  Not Zed  <NotZed@Ximian.com>
-
-       * camel-object.c (camel_object_bag_*): Changed to use a posix
-       semaphore instead of a condition variable + flag to reserve the
-       object bag because e_mutex_cond is broken.
-
-2003-02-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_parse_body): Use
-       g_ascii_strdown() instead of g_strdown, since g_strdown is
-       deprecated.
-       (imap_parse_body): Same.
-
-       * providers/imap/camel-imap-folder.c (decode_internaldate): Use
-       strncasecmp() here too.
-       (parse_fetch_response): And here.
-       (camel_imap_folder_selected): Here too.
-
-       * providers/imap/camel-imap-utils.c (imap_namespace_decode): Use
-       strncasecmp() instead of g_strncasecmp() because the latter is
-       deprecated.
-
-       * providers/imap/camel-imap-store.c (imap_get_capability): Again here.
-       (hash_folder_name): Here too.
-       (compare_folder_name): And here.
-       (get_folder_online): Again.
-       (get_folder_offline): And again.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
-       Same as below again.
-
-       * providers/imap/camel-imap-command.c (camel_imap_response_free):
-       Same as below.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Use
-       strcasecmp() because g_strcasecmp() is deprecated.
-
-       * camel-url.c (camel_url_new_with_base): Use g_ascii_strdown()
-       instead of g_strdown, since g_strdown is deprecated.
-
-2003-01-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-gssapi.c (gssapi_challenge): Pass in some default
-       flags to gss_init_sec_context() (these default flags are defined
-       as a MUST in rfc1964).
-
-2003-01-22  Hans Petter Jansson  <hpj@ximan.com>
-
-       * Makefile.am: $(libexec) -> $(libexecdir)
-
-2003-01-22  Ettore Perazzoli  <ettore@ximian.com>
-
-       * providers/imap/Makefile.am (libcamelimapincludedir): Update to
-       the new $(BASE_VERSION)-versioned path.
-       * providers/smtp/Makefile.am (libcamelsmtpincludedir): Likewise.
-       * providers/sendmail/Makefile.am (libcamelsendmailincludedir):
-       Likewise.
-       * providers/pop3/Makefile.am (libcamelpop3includedir): Likewise.
-       * providers/nntp/Makefile.am (libcamelnntpincludedir): Likewise.
-       * providers/local/Makefile.am (libcamellocalincludedir): Likewise.
-
-       * camel-lock-client.c (camel_lock_helper_init): Use
-       CAMEL_LIBEXECDIR instead of CAMEL_SBINDIR to find
-       camel-lock-helper.
-
-       * Makefile.am: Install camel-lock-helper and camel-index-control
-       in $(libexec)/evolution/$(BASE_VERSION)/camel.  Install
-       libcamel.la in $privlibdir.
-       (install-exec-hook): Update for the new location of
-       camel-lock-helper.
-       (libcamelincludedir): Version using $(BASE_VERSION).
-       (INCLUDES): Define CAMEL_LIBEXECDIR.
-
-2003-01-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-canon.c (complete): Set the backbuflen to 0 so
-       that calling us again won't re-flush the same data.
-
-2003-01-17  Larry Ewing  <lewing@ximian.com>
-
-       * camel-mime-filter-enriched.c (enriched_to_html): only grow the
-       buffer when we are out of space.
-
-2003-01-14  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-parser.c (folder_scan_step): If we have no
-       content-type header, set it to text/plain explcitly, rather than
-       NULL, because some code doesn't handle NULL.
-
-2003-01-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-gssapi.[c,h]: New source files implementing the
-       GSSAPI SASL mechanism.
-
-2003-01-13  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-filter-tohtml.c: fix header include order.
-       
-       * camel-object.c (camel_object_bag_reserve): Add an assert to
-       check we're not trying to reserve the bag more than once in a
-       given thread.
-       (camel_object_bag_list): If we have reserved the bag, dont try and
-       cond wait.  Fixes a deadlock.
-
-       * camel-mime-filter-tohtml.c (writeln): Read the characters as
-       utf8, rather than as 8 bit bytes.  Remove the PRESERVE_8BIT as it
-       has no meaning.  Also change the default logic slightly so that 8
-       bit or greater characters are properly converted to entities.
-
-       * camel-utf8.c (camel_utf8_getc_limit): new function, gets a utf8
-       char, bounded by an end pointer.
-
-2003-01-07  Dan Winship  <danw@ximian.com>
-
-       * camel-provider.h (CamelProvider): add a "translation_domain"
-       field. (NULL for all providers in the camel source tree itself).
-
-       * camel-session.c (register_provider): Translate provider strings
-       in the correct domain
-
-2003-01-06  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (store_sync): init local exception before doing
-       anything.  fixes a crash.
-
-2003-01-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_send_to): Instead of
-       checking recipients != NULL, check that camel_address_length
-       (recipients) != 0 since it is illegal for recipients to be NULL
-       (camel_transport_send_to already checks this).
-
-2002-12-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-utils.c: Replace calls to
-       g_string_sprintfa() with g_string_append_printf() since the former
-       seems to have been deprecated.
-
-       * providers/imap/camel-imap-search.c: Same.
-
-       * providers/imap/camel-imap-folder.c: Here too.
-
-       * providers/local/camel-mbox-summary.c: And here.
-
-       * providers/local/camel-local-summary.c: Replace
-       g_string_sprintf() with g_string_printf().
-
-       * camel-data-cache.c (data_cache_expire): Replace
-       g_string_sprintf() with g_string_printf().
-
-       * camel-url.c: Replace calls to g_string_sprintfa() with
-       g_string_append_printf() since the former seems to have been
-       deprecated.
-
-       * camel-service.c: Same.
-
-       * camel-mime-utils.c: Here too.
-
-2002-12-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): Detect text/html
-       parts that were marked as text/plain and re-tag them as text/html
-       parts. Note: currently just checks if the first non-lwsp char is a
-       '<' - but we might need to be smarter about this? *sigh* Stupid
-       Windows mailers.
-
-       * camel-mime-filter-tohtml.c (camel_text_to_html): New convenience
-       function to replace calls to e_text_to_html() in the
-       mailer/composer etc.
-
-       * camel.h: #include some headers we had forgotten to add
-       previously, also added camel-mime-filter-enriched.h.
-
-       * camel-mime-filter-enriched.[c,h]: New stream filter to convert
-       text/enriched and text/richtext into HTML.
-
-2002-12-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-multipart-signed.c (camel_multipart_signed_verify): Don't
-       apply the CANON_STRIP filter here, since we are verifying whatever
-       raw data we received (all we want to do is convert o the canonical
-       CRLF format).
-
-2002-12-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-tohtml.c (html_convert): Use camel-url-scanner
-       instead of regex.
-
-2002-12-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-url-scanner.c (camel_url_addrspec_end): Fixed to not be
-       fooled in the case where the address is followed immediately by a
-       period.
-       (camel_url_web_end): Made more robust.
-       (camel_url_scanner_scan): Oops. We need to set the match->pattern
-       string pointer to the correct pattern before executing the
-       start/end methods (as some of them rely on this info).
-
-2002-12-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-url-scanner.c: New code to scan for patterns (used only
-       for url pattern matching atm, but we may find other uses for this
-       and thus rename it? I dunno). Uses ETrie.
-
-2002-12-07  Not Zed  <NotZed@Ximian.com>
-
-       * camel-data-cache.c (data_cache_init): Use a bag instead of a
-       hashtable to track the cache streams.
-       (data_cache_finalise): Same.
-       (free_busy): No longer needed.
-       (data_cache_expire): use bag instead of hashtable.
-       (stream_finalised): No longer required.
-       (camel_data_cache_add): objectbagise
-       (camel_data_cache_get): "
-       (camel_data_cache_remove): "
-       (data_cache_path): Set the now expired date before running expiry,
-       so it plays better with multiple threads.  Still a couple of
-       harmless races.
-
-2002-12-06  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-store.c (scan_dir): folders ->
-       object bag.
-       (get_folder_info_mbox): folders -> object bag.
-
-       * providers/local/camel-mh-store.c (folder_info_new): folders ->
-       object bag.
-
-       * providers/local/camel-maildir-store.c (scan_dir): folders ->
-       object bag.
-
-       * providers/local/camel-local-store.c (rename_folder): folders ->
-       object bag.
-
-       * camel-private.h (CamelStorePrivate): Remove 'cache' lock,
-       handled by the objectbag.
-
-       * providers/imap/camel-imap-store.c (copy_folder): Removed.
-       (imap_store_refresh_folders): folders -> object bag.
-       (get_folder_counts): folders -> object bag.
-
-       * camel-vee-store.c (vee_get_folder): changes for folders
-       objectbag.
-       (vee_get_folder_info): Change to use folders objectbag.  Also,
-       dont refresh the base folder if we're in FAST mode.
-       (build_info): Removed, no longer needed.
-       (vee_rename_folder): Fixed for folders objectbag.
-
-       * camel-store.c (camel_store_init): init the folders objectbag.
-       (camel_store_finalize): Destroy the folders object bag.
-       (folder_matches): 
-       (folder_finalize): Removed, now handled implicitly by the
-       objectbag.
-       (camel_store_get_folder): object bag changes.
-       (camel_store_delete_folder): "
-       (get_subfolders): Removed, now handled without a callback.
-       (camel_store_rename_folder): Changed to use object bag of folders.      
-       (trash_add_folder): Removed.
-       (init_trash): use folders object bag.
-       (copy_folder_cache): 
-       (sync_folder): Removed, no longer needed.  Weird arsed code anyway.
-       (store_sync): Use folder object bag instead of hashtable.
-       (camel_store_unsubscribe_folder): "
-       (camel_store_init): remove cache_lock init, no longer used.
-       (camel_store_finalize): Same for cleanup.
-
-2002-12-05  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.h (struct _CamelStore): change folders from a
-       hashtable into a CamelObjectBag.
-
-       * camel-object.c (camel_object_ref): Use type_lock instead of
-       class lock for ref counting.
-       (camel_object_unref): Use type_lock instead of class lock for
-       unref.
-       (camel_object_unref): If the object is 'bagged', then also look
-       hooks, and remove it from any bags.
-       (camel_object_bag_new):
-       (camel_object_bag_destroy):
-       (camel_object_bag_add):
-       (camel_object_bag_get):
-       (camel_object_bag_remove_unlocked):
-       (camel_object_bag_list): 
-       (camel_object_bag_abort): 
-       (camel_object_bag_remove): New functions to implement a utility
-       object which can manage a 'bag' of weakly ref'd children in an
-       atomic & threadsafe way.
-
-2002-12-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store-summary.c
-       (camel_imap_store_summary_add_from_full): Properly handle the case
-       where the namespace is "". Fixes bug #34975
-
-2002-12-03  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * broken-date-parser.c (get_tzone): Fixed to not get false
-       positives when the token is shorter than the actual timezone
-       string (but matches the first little bit of it).
-       (datetok): Modified to properly handle when the first char of a
-       token is a special char (such as a '-') that is also used as a
-       token delimiter.
-
-2002-11-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (stream_read): Use the new
-       camel_operation_cancel_prfd() function to get the cancellation fd
-       so we can poll on it for cancellation stuff.
-       (stream_write): Same.
-
-2002-11-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-operation.c (camel_operation_cancel_prfd): Implement, gets
-       a nspr pr filedesc to poll/wait on
-       (struct _CamelOperation): include a pr filedesc.
-
-2002-11-21  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store-summary.c
-       (camel_imap_store_summary_namespace_find_path): If we have a
-       namespace of "", then always match any path.
-       (camel_imap_store_summary_namespace_find_full): Same, for full
-       names. Should address #33309 & friends.
-
-2002-11-19  Radek Doulik  <rodo@ximian.com>
-
-       * camel-mime-filter-tohtml.c (html_convert): added
-       CAMEL_MIME_FILTER_TOHTML_PRESERVE_8BIT flag
-
-2002-11-18  Rodney Dawes  <dobey@ximian.com>
-
-       * tests/*/Makefile.am: Removed $(GNOME_LIBDIR) and $(GNOMEUI_LIBS)
-       
-2002-11-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_connect_online): If the
-       namespace is at/below INBOX, check for the INBOX explicitly (since
-       it obviously won't show up in a LSUB INBOX.*). If either INBOX is
-       not returned in the response or if the folder flags contain
-       \NoSelect, subscribe to INBOX and then try LSUB again.
-
-2002-11-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-tohtml.c (html_convert): Rewritten. Much much
-       much cleaner implementation now, though uses malloc/free more
-       often than I'd like.
-
-2002-11-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (get_message_simple): Use
-       g_strerror when setting an exception string (we need it to be in
-       UTF-8).
-
-       * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Use
-       g_strerror when setting an exception string (we need it to be in
-       UTF-8).
-
-       * providers/pop3/camel-pop3-folder.c (pop3_refresh_info): Use
-       g_strerror when setting an exception string (we need it to be in
-       UTF-8).
-       (pop3_get_message): Same.
-
-       * providers/local/camel-spool-summary.c (spool_summary_sync_full):
-       Use g_strerror when setting an exception string (we need it to be
-       in UTF-8).
-       (spool_summary_check): Here too.
-
-       * providers/local/camel-spool-store.c (construct): Use g_strerror
-       when setting an exception string (we need it to be in UTF-8).
-       (get_folder): Same.
-       (scan_dir): Here too.
-
-       * providers/local/camel-spool-folder.c (spool_lock): Use
-       g_strerror when setting an exception string (we need it to be in
-       UTF-8).
-
-       * providers/local/camel-mh-summary.c (mh_summary_check): Use
-       g_strerror when setting an exception string (we need it to be in
-       UTF-8).
-
-       * providers/local/camel-mh-store.c (delete_folder): Use g_strerror
-       when setting an exception string (we need it to be in UTF-8).
-
-       * providers/local/camel-mbox-summary.c (summary_update): Use
-       g_strerror when setting an exception string (we need it to be in
-       UTF-8).
-       (mbox_summary_sync_full): Here too.
-       (mbox_summary_sync_quick): Same.
-       (mbox_summary_sync): Also here.
-       (camel_mbox_summary_sync_mbox): Again here.
-
-       * providers/local/camel-mbox-folder.c (mbox_lock): Use g_strerror
-       when setting an exception string (we need it to be in UTF-8).
-       (mbox_append_message): Same.
-       (mbox_get_message): Here too.
-
-       * providers/local/camel-maildir-summary.c (maildir_summary_load):
-       Use g_strerror when setting an exception string (we need it to be
-       in UTF-8).
-       (maildir_summary_check): Same.
-
-       * providers/local/camel-maildir-store.c (get_folder): Use
-       g_strerror when setting an exception string (we need it to be in
-       UTF-8).
-       (delete_folder): Same.
-       (delete_folder): Here too.
-
-       * providers/local/camel-local-summary.c (local_summary_sync): Use
-       g_strerror when setting an exception string (we need it to be in
-       UTF-8).
-
-       * providers/local/camel-local-store.c (get_folder): Use g_strerror
-       when setting an exception string (we need it to be in UTF-8).
-       (create_folder): Same.
-       (xrename): Here too.
-       (rename_folder): And here.
-       (delete_folder): Also here.
-
-       * camel-provider.c (camel_provider_init): For debugging printfs,
-       we want to use normal strerror (we want locale charset, not
-       UTF-8).
-
-       * camel-movemail.c (camel_movemail): Use g_strerror when setting
-       an exception string (we need it to be in UTF-8).
-       (movemail_external): Same.
-       (camel_movemail_copy_file): Here too.
-       (camel_movemail_solaris): Also here.
-
-       * camel-mime-utils.c (rfc2047_decode_word): For debugging printfs,
-       we want to use normal strerror (we want locale charset, not
-       UTF-8).
-       (header_encode_param): Same.
-
-       * camel-mime-part-utils.c (convert_buffer): For debugging printfs,
-       we want to use normal strerror (we want locale charset, not
-       UTF-8).
-
-       * camel-lock-client.c (camel_lock_helper_init): Use g_strerror
-       when setting an exception string (we need it to be in UTF-8).
-
-       * camel-data-cache.c (camel_data_cache_remove): Use g_strerror
-       when setting an exception string (we need it to be in UTF-8).
-
-       * camel-tcp-stream-raw.c (flaky_tcp_write): For debugging printfs,
-       we want to use normal strerror (we want locale charset, not
-       UTF-8).
-       (flaky_tcp_read): Same.
-
-       * camel-gpg-context.c (gpg_ctx_op_step): For debugging printfs, we
-       want to use normal strerror (we want locale charset, not UTF-8).
-
-       * camel-service.c (camel_gethostbyname): Use g_strerror when
-       setting an exception string (we need it to be in UTF-8).
-
-       * camel-lock.c (camel_lock_dot): Use g_strerror when setting an
-       exception string (we need it to be in UTF-8).
-       (camel_lock_fcntl): Same.
-
-2002-11-07  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-part.c (camel_mime_part_set_content_type): constify
-       the content_type.
-
-2002-11-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-i18n.h: Added.
-
-       * camel-object.h: #include camel-i18n.h instead of gnome-i18n.h
-
-       * camel-lock.c: Same.
-
-2002-11-07  Rodrigo Moya <rodrigo@ximian.com>
-
-       * camel-object.h: removed gnome-defs.h, it does not exist.
-
-2002-11-05  Not Zed  <NotZed@Ximian.com>
-
-       * Makefile.am (camel_lock_helper_LDADD): Created temporary link
-       list, we need to link with something for gettext.
-
-       * camel.h: Remove gstring-util.h and hash-table-utils.h.
-
-       * camel-text-index.c: 
-       (text_index_normalise): Changed for g_utf8_strdown api change.
-
-       * camel-search-private.c:
-       * camel-mime-utils.c:
-       * camel-mime-part-utils.c:
-       * camel-html-parser.c:
-       * camel-charset-map.c: Include glib/gunicode.h from glib instead
-       of gal.
-
-       * camel-filter-driver.c: Remove include of gtk/gtk.h, should never
-       have been there.
-
-2002-11-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (g_string_append_len): Removed. Glib2 has
-       this function.
-
-       * providers/local/camel-local-store.c (delete_folder): Use
-       g_path_get_basename instead of g_strdup (g_basename (filename)).
-
-       * camel-uid-cache.c (camel_uid_cache_new): Use g_path_get_dirname
-       since g_dirname has been deprecated.
-
-2002-10-31  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (camel_gpg_context_class_init): Set the
-       virtual method pointers to the import/export methods.
-       (camel_gpg_context_init): Set the key_protocol string.
-       (gpg_hash_to_id): Handle 2 more hash types.
-       (gpg_id_to_hash): Same.
-       (gpg_ctx_op_step): Slight fixes to support import/export.
-       (gpg_ctx_parse_status): Fix to hack around the fact that importing
-       keys doesn't write to stdout.
-       (gpg_import_keys): Implemented.
-       (gpg_export_keys): Implemented.
-
-       * camel-cipher-context.c (camel_cipher_context_class_init): Hook
-       up default virtual methods for import/export.
-       (camel_cipher_import_keys): Implemented.
-       (camel_cipher_export_keys): Implemented.
-
-2002-10-31  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * Makefile.am: Removed hash-table-utils.[c,h] from the build.
-
-       * hash-table-utils.[c,h]: Removed.
-
-       * string-util.c: Imported g_strcase[hash,equal] into here so we
-       can remove hash-table-utils.[c,h].
-
-       * camel-medium.c: Removed #include "hash-table-utils.h"
-
-       * camel-mime-message.c: Same here.
-
-       * camel-mime-part.c: And here.
-
-       * camel-session.c: Here too.
-
-       * providers/imap/camel-imap-store-summary.c: #include
-       string-utils.h instead of hash-table-utils.h
-
-       * camel-charset-map.c: Same.
-
-       * camel-folder-summary.c: Here too.
-
-       * camel-provider.c: Again here.
-
-       * camel-store-summary.c: And again...
-
-2002-10-31  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Remove a ton of useless snot.
-
-       * Makefile.am: Remove gstring-util.[c,h] from the build.
-
-       * gstring-util.[c,h]: Removed.
-
-       * string-utils.c (string_equal_for_glist): Removed.
-       (string_split): Removed.
-       (string_trim): Removed.
-       (string_prefix): Removed.
-       (string_unquote): Removed.
-       (strip): Removed.
-
-       * hash-table-utils.c (g_hash_table_generic_free): Removed.
-
-       g_str[n]casecmp functions are deprecated in glib2.
-
-       * string-utils.c (strstrcase): Use strncasecmp instead of
-       g_strncasecmp.
-
-       * hash-table-utils.c (g_strcase_equal): Use strcasecmp
-       instead of g_strcasecmp.
-
-       * camel-smime-utils.c (camel_smime_is_smime_v3_signed): Same.
-       (camel_smime_is_smime_v3_encrypted): Here too.
-
-       * camel-sasl-digest-md5.c (decode_data_type): And here.
-       (parse_server_challenge): Again here.
-
-       * camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): Same.
-       (camel_pgp_mime_is_rfc2015_encrypted): Same
-
-       * camel-mime-part-utils.c (check_html_charset): Here too.
-
-       * camel-folder-summary.c (camel_system_flag): Same.
-
-2002-10-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): Don't prematurely
-       set gpg->complete to TRUE. Let gpg_ctx_op_step () set it to TRUE
-       when gpg closes the status-fd instead.
-
-2002-10-24  Not Zed  <NotZed@Ximian.com>
-
-       ** For bug #31647 and bug #31456.
-       
-       * camel-store-summary.c (store_info_string): for STORE_INFO_NAME,
-       skip the leading /.
-
-       * providers/imap/camel-imap-store.c
-       (parse_list_response_as_folder_info): Remove jeff's last patch,
-       and use the store summary to create the name and path of the
-       folderinfo so it manages namespace issues.
-       (get_folder_info_online): Just pass @top directly to
-       build_folder_info always, since namespace is mapped to 1 tree
-       level.
-       (imap_build_folder_info): Remove jeff's last patch, dont strip
-       leading /'s, they shouldn't exist.
-       (imap_connect_online): Remove adding the INBOX here, we add it
-       later.
-       (get_subscribed_folders): Make sure INBOX is always in the list.
-       some imap servers dont seem to let you subscribe to it(?), so
-       always have it act as subscribed.
-
-       * camel-store.c (camel_folder_info_build): back out the last 2
-       patches from Jeff (for #31456) to get the original behaviour.
-       (camel_folder_info_build): When creating a fake
-       parent, dont strip the namespace from the full_name.  malloc keys
-       in hash since we dont have them anymore.
-       (free_name): Helper to free names.
-
-       * providers/imap/camel-imap-store-summary.c
-       (camel_imap_store_summary_namespace_new): Canonicalise the
-       namespace (strip trailing dir_sep), and change the path to remove
-       any /'s.
-       (camel_imap_store_summary_namespace_find_path):
-       (camel_imap_store_summary_namespace_find_full): new, find
-       namespace by path/full name.
-       (camel_imap_store_summary_full_from_path): Changed to a simple
-       wrapper around path_to_full, after checking namespace.
-       (camel_imap_store_summary_add_from_full): map the namespace if
-       present.
-       (camel_imap_store_summary_path_to_full): If namespace exists,
-       unmap it.
-
-2002-10-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_folder):
-       Canonicalise the source_uri to not have a path. Fixes bug #32268.
-
-2002-10-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Possible fix for bug #32270
-
-       * providers/pop3/camel-pop3-store.c (try_sasl): If we get an I/O
-       error, we should not be setting the CANT_AUTH exception but should
-       instead be setting the SYSTEM exception. Also check for EINTR
-       which signifies a USER_CANCEL exception.
-       (pop3_try_authenticate): If the auth mechanism isn't supported,
-       don't set the CANT_AUTH exception since then we will loop and try
-       again with the same data which will just cause an infinite loop.
-       (pop3_connect): Simplified a bit.
-
-2002-10-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (camel_certdb_nss_cert_set): If
-       ~/.camel_certs doesn't exist, create it.
-
-2002-10-15  Not Zed  <NotZed@Ximian.com>
-
-       * camel-tcp-stream-ssl.c (cert_fingerprint): helper, build
-       fingerprint.
-       (camel_certdb_nss_cert_get): Helper for nss certs.  Lookup cert.
-       As well as fingerprint, the whole raw cert is checked for
-       validity.
-       (camel_certdb_nss_cert_add): Add an nss cert to a certdb, also
-       saves the cert by fingerprint in ~/.camel_certs/.
-       (ssl_bad_cert): Changed to use above functions to simplify logic.
-       (ssl_bad_cert): Also added non-compiled code which mimics what
-       mozilla does, but it doesn't work right :-/
-       (camel_certdb_nss_cert_set): Save the raw cert associated with a
-       cert.
-
-       * camel-certdb.c (certdb_cert_free): Free the raw cert data if
-       set.
-
-2002-10-14  Not Zed  <NotZed@Ximian.com>
-
-       * camel-file-utils.c (camel_file_util_encode_string): Encode a
-       length of 0 as 1, not 0, to match the decode code.
-
-2002-10-03  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (filter_filter): Do the filtering ourselves.
-       This is so a problem like a missing uid (which can happen
-       legitemitely) doesn't prematurely abort filtering.  Stop on all
-       other errors.  See #31667.
-
-2002-10-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (camel_gpg_context_new): No longer takes a
-       path argument.
-       (camel_gpg_context_fianlise): No need to free ctx->path.
-       (gpg_ctx_new): No longer takes a path argument either.
-       (gpg_ctx_free): No need to free ctx->path, it's no longer used.
-       (gpg_ctx_op_start): Don't stat the path anymore and change the
-       first arg to execvp to "gpg" so that we use the shell's
-       environment to find gpg.
-       (gpg_sign): Updated.
-       (gpg_verify): Updated.
-       (gpg_encrypt): Updated.
-       (gpg_decrypt): Updated.
-       (gpg_ctx_get_argv): Removed some debug printfs.
-
-2002-10-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_id_to_hash): If the hash id is NULL,
-       return CAMEL_CIPHER_HASH_DEFAULT. Fixes bug #32229.
-
-2002-10-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-command.c (imap_read_response): If the
-       response from the IMAP server is "No", don't set the
-       SERVICE_UNAVAILABLE exception, this makes error reporting in the
-       UI for deleting IMAP folders that cannot be deleted inaccurate
-       (ie, it reports "Cannot delete in offline mode" which is not the
-       problem).
-
-2002-10-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes bug #31752
-
-       * providers/smtp/camel-smtp-transport.c (connect_to_server): Don't
-       forget to send another EHLO command to the server once we toggle
-       into STARTTLS mode.
-       (smtp_helo): Reset any flags set using the EHLO response and also
-       any authtypes.
-
-2002-10-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes bug #31681
-
-       * camel-mime-utils.c: Fix all mailing list regex patterns to allow
-       any number of spaces *or* tabs as pre-padding for the header
-       values.
-
-2002-10-03  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part.c (write_to_stream): Use the content-object's
-       rawtext flag to decide if it needs to be filtered through the
-       charset filter instead of using the mime part's rawtext flag since
-       this will never be set. Partial fix for bug #31655.
-
-2002-10-03  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (folder_changed): Dont get the filter driver
-       inside the change_lock.  Its not necessary, and can cause deadlock
-       with the way the mailer gets the filter driver via g_mainloop.
-       Should fix #31572.
-
-2002-10-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-charset-map.c (camel_charset_iso_to_windows): Map us-ascii
-       to windows-1252 also.
-
-2002-10-02  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (get_matching): Set *set to
-       NULL if we dont get any matches.
-       (imap_sync_online): If we get no matches, skip any work, also
-       reorder some code to make it easier to skip.  See #31031.
-
-       * providers/imap/camel-imap-store.c
-       (imap_check_folder_still_extant): Default to "TRUE", if the list
-       command failed, it probably means a server problem, assume the
-       worst.  This makes imap_refresh_info not clear the exception and
-       crash.  Fixes crash of #31000.
-
-2002-10-01  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_refresh_info): Make
-       sure we pass the exception to imap_folder_selected(), otherwise
-       failures can be lost.  See bug #31000.
-
-2002-10-01  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (thaw): Add an assertion that the frozen count>0.
-       (freeze): Same for >= 0.
-
-       * camel-vee-folder.c (camel_vee_folder_remove_folder): Use the
-       unmatched freeze_count when thawing folders removed from
-       unmatched, rather than the folder's freeze_count.  Might be
-       related to #27391.
-
-2002-10-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (decode_internaldate): Use
-       strtol when decoding the timezone (since it can be negative) and
-       don't forget to increment inptr to the start of the time (ie,
-       don't leave inptr pointing to the year when decoding the
-       hour:min:sec).
-
-2002-09-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes bug #31456.
-
-       * providers/imap/camel-imap-store.c (imap_connect_online): Don't
-       LSUB "" "*", instead get both an LSUB containing the subfolders of
-       the namespace and an LSUB of INBOX (assuming namespace was
-       non-empty). This fix really has nothing to do with bug #31456 but
-       is what should have been done in the first place.
-       (parse_list_response_as_folder_info): Simplify a tad and strip
-       extra leading /'s from fi->path.
-       (imap_build_folder_info): Strip extra leading /'s from fi->path.
-
-       * camel-store.c (camel_folder_info_build): Don't strip the
-       namespace from the fi->full_name when hashing or creating fake
-       parent folder-infos. Fixes a bug I found while trying to reproduce
-       bug #31456.
-       (camel_folder_info_build_path): Strip off extra leading dir_sep
-       chars from the path.
-
-2002-09-30  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): Remove
-       debug content_info_dump, could cause a crash, and not really
-       needed anymore.
-
-       * camel-folder-summary.c (camel_content_info_dump): Check ci->type
-       != NULL before dereferencing it.  Should fix crash #31331.
-
-2002-09-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (decode_internaldate): New
-       function to decode the INTERNALDATE response from an IMAP server
-       so we don't have to use my broken-date-parser routines.
-
-2002-09-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (connect_to_server):
-       NULL-check the streams before unreffing them in the case of a
-       failure during ssl negotiations.
-
-       * camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_enable_ssl): Check
-       SSL_ResetHandshake() for errors. Also force a handshake after
-       we've reset the handshake state on the socket.
-
-2002-09-27  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Use
-       the summary's last uid as the one to fetch from, ignoring the
-       cache.  Use strtoul instead of atoi as well.
-
-       * providers/imap/camel-imap-store.c (get_folder_counts): If we
-       have the folder open, and the unread count has changed, refresh
-       it.  Should fix #30399 enough.  Also in non-check-all mode, if we
-       have the folder open, use it anyway.
-
-2002-09-26  Not Zed  <NotZed@Ximian.com>
-
-       * tests/folder/test2.c (main): Treat spool as a local folder, so
-       the ref checks work right.
-
-       * providers/local/camel-spool-store.c (get_folder): Implement
-       FOLDER_CREATE flag.
-       (scan_dir): Dont free name on exception, its alloca'd.
-       (scan_dir): If we start scanning from a file, just add that
-       directly.
-       (scan_dir): Allow empty files to also show up in folder list, as
-       well as files starting with "From ".
-       (get_folder): Use creat() instead of open() to create file.
-
-       * providers/local/camel-spool-folder.c (camel_spool_folder_new):
-       Check folder != NULL before writing to it.
-
-       * providers/local/camel-local-store.c (create_folder): Handle a
-       parent of NULL for creating top-level dirs.  Part of #31186.
-       
-       * providers/imap/camel-imap-store.c
-       (parse_list_response_as_folder_info): Store the folder flags in
-       the store summary.
-       (get_one_folder_offline): Set the noselect url parameter if this
-       is a noselect folder, from the stored summary flags.  #30877.
-
-2002-09-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-charset.c (complete): Handle EILSEQ by eating
-       bytes in the input buffer until conversion is successful. The old
-       behaviour aborted when it got EILSEQ and just dumped the raw data.
-       (filter): Same. Fixes bug #30873.
-
-2002-09-24  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (mail_list_magic[]): Changed the Mailing-List
-       rule to get the complete domain (* in wrong spot).  #31087.
-
-       * camel-text-index.c (text_index_compress_nosync): If we have no
-       data written to a key, dont add it, or its partition header.
-
-2002-09-23  Not Zed  <NotZed@Ximian.com>
-
-       * camel-block-file.c (sync_nolock): Mark root block dirty if we're
-       going to sync it.
-       (camel_key_file_finalise): de-count the active list if we close
-       it.
-
-       * camel-text-index.c (text_index_delete): Implement.
-       (text_index_compress_nosync): Use index_delete when we're finished
-       with the old one, so it is properly deactivated.
-
-       * camel-index.c (camel_index_delete): Remove api call.  Mark index
-       deleted in new state variable.
-       (camel_index_*): Wrap all calls in check for deleted state.
-
-2002-09-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder.c (transfer_message_to): If the original message is
-       deleted, reset the deleted flag when we're done. Fixes bug #30876.
-
-       * providers/imap/camel-imap-folder.c (add_message_from_data):
-       Decode the INTERNALDATE if we've got one.
-       (imap_update_summary): Instead of requesting a list of specific
-       headers, request HEADER.FIELDS.NOT (RECEIVED) to reduce bandwidth
-       usage even more.
-       (parse_fetch_response): Change slightly to allow HEADER.FIELDS or
-       HEADER.FIELDS.NOT so that we can make changes in
-       imap_update_summary and not need to keep changing this function to
-       match. Also parse an INTERNALDATE response.
-
-2002-09-22  Dan Winship  <danw@ximian.com>
-
-       * camel-mime-parser.c (folder_scan_drop_step): fix non-ANSI switch
-       statement.
-
-       * camel-service.c (service_getv): Likewise.
-
-       * providers/imap/camel-imap-store.c (imap_getv): Likewise.
-
-       * providers/pop3/camel-pop3-folder.c (cmd_builduid): Likewise.
-
-2002-09-20  Not Zed  <NotZed@Ximian.com>
-
-       * tests/misc/split.c: New regression test for word
-       splitting/search input parsing code.
-
-       * tests/folder/test9.c (main): Fix for filter_driver api change.
-
-       * camel-search-private.c (camel_search_words_split): Handle "'s
-       and \'s to escape characters.  For fat, lazy, slobs who dont like
-       anything changing.
-
-2002-09-19  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-search.c (camel_filter_search_match): Take new
-       session arg.  Update callers.
-       (symbols[]): changed get-source to header-source
-       (header_source): Changed from get_source.  Now a boolean, returns
-       true if source matches one of the arguments.  Uses the provider
-       url comparison directly for accurate checking.  Makes 'filter on
-       source' work.
-
-       * camel-filter-driver.c (camel_filter_driver_new): Take new arg,
-       session.
-       (camel_filter_driver_finalise): Free session.
-
-2002-09-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (parse_fetch_response): Don't
-       increment the response pointer when deciding what type of header
-       response we got, this screws up the string that we strdup into the
-       part_spec string later. Also, instead of using the entire blob of
-       HEADER.FIELDS that we get in the response, shorten it to just
-       HEADER.FIELDS to use as the part_spec key.
-
-2002-09-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (CAMEL_MESSAGE_INFO_HEADERS):
-       Include MIME-VERSION and CONTENT-TYPE.
-
-2002-09-18  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-command.c
-       (camel_imap_command_response): If we get an ALERT, pass it to the
-       user.  An rfc2060 MUST, and bug #22496.
-
-2002-09-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (parse_fetch_response):
-       Handle when the response is from a HEADER.FIELDS (if so, we don't
-       want to cache the result).
-       (imap_update_summary): Request specific headers when building the
-       CamelMessageInfo's rather than fetching the full headers.
-
-2002-09-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part.c (process_header): If header_msgid_decode fails
-       for the content-id field, just grab whatever is between the <>'s
-       (yes, this means that the content-id is invalid - but what can ya
-       do?). Addresses bug #21027.
-
-2002-09-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_encode_string): Revert a patch that I
-       had not meant to commit that was aimed at fixing bug #29234.
-
-2002-09-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store-summary.c (camel_store_summary_load): Same as
-       below. Also save errno before closing the file so our caller can
-       figure out why we failed.
-       (camel_store_summary_save): Same here, but also flush the output
-       stream to disk.
-
-       * camel-folder-summary.c (camel_folder_summary_load): s/fclose(in)
-       == -1/fclose(in) != 0/ since fclose doesn't necessarily return -1
-       on fail, all we really know is that it returns 0 on success and
-       non-zero on fail.
-
-       * camel-certdb.c (camel_certdb_save): fsync() the stream after we
-       fflush it.
-
-       * camel-folder-summary.c (perform_content_info_save): Do proper
-       error checking and return -1 on fail.
-       (camel_folder_summary_save): Check the return of
-       perform_content_info_save and a few other output calls within the
-       message_info_save loop. If any of them fail, save errno, close the
-       file, and return -1. If we finish the loop without fail, fflush
-       the stream and then fsync (fflush only flushes user-space buffers,
-       you still need to fsync afterward to flush the data to disk). If
-       either fail, treat it as an exception by saving errno, closing the
-       stream, and returning -1. I suspect that this also fixes bug
-       #30150 because the old code would fclose if fflush or fclose
-       failed in the check after the loop (man fclose(3) states that any
-       further calls using the stream (even another call to fclose) will
-       have undefined behaviour no matter what the first fclose call
-       returned).
-
-       * providers/local/camel-local-summary.c
-       (camel_local_summary_init): Don't malloc a private struct of 0
-       size.
-
-       * providers/imap/camel-imap-folder.c
-       (camel_imap_folder_fetch_data): Clear the exception even if we
-       failed to get the message (part) from the imap-message-cache if we
-       are online and able to try fetching it from the IMAP server.
-
-2002-09-10  Not Zed  <NotZed@Ximian.com>
-
-       * camel-data-cache.c (data_cache_expire): Remove the hash table
-       entry using the right path.  Related to #29731.
-       (camel_data_cache_remove): "
-
-2002-09-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes bug #4224
-
-       * providers/imap/camel-imap-folder.c
-       (camel_imap_folder_fetch_data): Pass ex into
-       camel_imap_message_cache_get().
-
-       * providers/imap/camel-imap-message-cache.c
-       (camel_imap_message_cache_get): Now takes an exception and sets it
-       on fail.
-       (camel_imap_message_cache_copy): Updated to properly handle
-       cache_get error conditions.
-
-2002-09-04  Dan Winship  <danw@ximian.com>
-
-       * camel-mime-utils.c (header_decode_date): Use e_mktime_utc.
-
-       * camel-mime-message.c (camel_mime_message_set_date): Use
-       e_localtime_with_offset.
-
-       * broken-date-parser.c (decode_broken_date): Use e_mktime_utc.
-
-2002-09-04  Not Zed  <NotZed@Ximian.com>
-
-       * tests/folder/test4.c (main): clear nonfatal stuff.
-
-       * tests/folder/test6.c (main): check inbox and 'another folder'
-       because some servers do different things w/ inbox.
-
-       * providers/imap/camel-imap-message-cache.c
-       (camel_imap_message_cache_get): Dont try to open the directory
-       instead of an empty "" uid.
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): we dont
-       want to g_return_if_fail, we need to set an exception and always
-       handle the case.
-       (get_message_simple): Set an exception if we get a construct
-       failure.
-       (imap_refresh_info): if we're refreshing inbox, force a reselect.
-       this is required for at least cyrus.  CHECK doesnt work either :(
-
-       * tests/lib/folders.c (test_folder_basic): for non-local stores,
-       the folder will have an extra ref for selection, take this into
-       account when checking ref leaks.
-       (test_folder_message_ops): Dont try to delete folder with messages
-       in it, it works generally with imap.  also, change params so we
-       can test different mailbox types.
-       (test_folder_message_ops): disconnect remote services before
-       finishing off.  doesn't need to stricly but makes ref count
-       checking more accurate.
-       (test_folder_message_ops): removed explicit remote sync, imap does
-       it itself now ...
-
-       * providers/imap/camel-imap-store.c:
-       (camel_imap_store_finalize): call service_disconnect, so it isn't
-       called later in the finalise chain, to properly cleanup on exit.
-
-       * camel-mime-parser.c (folder_scan_content): If we fake the from
-       eof file boundary, also make sure we say we matched nothing.  Also
-       make the end case a little more robust to make sure we expired all
-       hope of finding a sub-boundary.
-
-       * providers/imap/camel-imap-store.c,
-       providers/imap/camel-imap-folder.c: Lots of changes, too numerous
-       to list.  Changed to use camel-imap-store-summary to cache list
-       requests.  Changed to use a canonicalised url path with / instead
-       of per-store directory separator.  Indirects folder name so
-       invalid folder names can still be accessed.  Summary now stored in
-       a new expandable format in .ev-store-summary.
-
-2002-08-29  Not Zed  <NotZed@Ximian.com>
-
-       * tests/folder/test3.c: Change the case sensitive search of
-       subject to expect case insensitive results, as the behaviour has
-       changed.
-       (main): Made the search content before sync nonfatal.  its
-       something that needs to be fixed but not practical concern in
-       evolution.
-
-       * camel-block-file.c (block_file_validate_root): Only spit out the
-       invalid root warnings if the file isn't empty.
-
-       * camel-text-index.c (text_index_compress_nosync): Swap the path
-       as well when we compress.
-
-       * camel-mime-parser.c (folder_scan_content): Treat the end of file
-       as a boundary if we're scanning From lines, and drop the last \n.
-       (folder_scan_init_with_fd): Dont pre-read from the fd, and init eof.
-       (folder_scan_init_with_stream): Similar.
-       (folder_read): Handle eof, and set eof on 0 read.
-       (folder_seek): Dont pre-read after a seek, and reset eof flag.
-       (camel_mime_parser_init_with_fd): Fix doco, no pre-read occurs
-       anymore.
-       (camel_mime_parser_init_with_stream): Same.
-
-       * providers/local/camel-mbox-summary.c
-       (camel_mbox_summary_sync_mbox): Add a \n to end of content of each
-       message, not at start.
-
-       * providers/local/camel-mbox-folder.c (mbox_append_message):
-       Instead of appending "\nFrom " to a mailbox, start with "From ",
-       and append a \n after the message always.  For better mutt/elm
-       compatability.  Also, unlock after we've stat'd.
-       (mbox_append_message): Set the message's from_pos exactly as the
-       mbox size.
-
-2002-08-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-openssl.c (stream_setsockopt): Fixed `set' to
-       hold the correct value when setting the flags.
-
-       * camel-tcp-stream-raw.c (stream_setsockopt): Fixed `set' to hold
-       the correct value when setting the flags.
-
-       * camel-mime-filter-tohtml.c (is_protocol): Match file: urls too.
-
-2002-08-28  Not Zed  <NotZed@Ximian.com>
-
-       * tests/folder/test8.c (test_add_message): Change message number
-       to use hex, so its properly unique.
-       (worker): Same here.
-
-       * tests/misc/utf7.c: some utf7/utf8 tests.
-
-       * providers/imap/camel-imap-utils.c (imap_mailbox_encode): Changed
-       to use camel_utf8_utf7 code.
-       (imap_mailbox_decode): As above, using camel_utf8_utf7.  'UTF-7'
-       isn't a widely support iconv() codeset, and besides the new code
-       is simpler.
-
-       * camel-utf8.[ch]: robust utilities for working with utf8 and utf7.
-
-2002-08-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-thread.c (camel_folder_thread_messages_new): Now
-       takes a third argument to specify whether or not to group messages
-       by subject when threading. It seems some people don't want this
-       feature (see bug #22791 for details).
-       (thread_summary): If thread_by_subject is enabled, group
-       un-threaded messages by subject otherwise don't bother.
-
-2002-08-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-command.c
-       (camel_imap_response_free_without_processing): If the response is
-       NULL, just return. (now works the same way as imap_response_free
-       which allowed a NULL response argument). Fixes bug #25491.
-
-2002-08-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c:
-
-       * providers/imap/camel-imap-folder.c:
-
-       * providers/imap/camel-imap-command.c: Lock the
-       CamelService->priv->connect_lock instead of using our own
-       command_lock. This fixes bug #28177.
-
-2002-08-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): If we fail to
-       send the EHLO/HELO command successfully, set transport->connected
-       to FALSE when we close the tcp connection. Also updated to work on
-       an IPv6 network.
-       (smtp_connect): transport->authtypes can be NULL, so NULL-protect
-       the call to g_hash_table_size() - this should fix a warning that
-       was reported on the evolution@ximian.com mailing list.
-       (smtp_set_exception): If the status message is multi-line, add a
-       \n between lines.
-       (connect_to_server): If we are going to ignore the EHLO/HELO error
-       as if it were non-fatal, then we should clear the exception.
-
-2002-08-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_noop): If current_folder
-       is not NULL and the summary for that folder is dirty, sync the
-       flags rather than sending a NOOP.
-
-       * providers/imap/camel-imap-utils.c (imap_parse_list_response):
-       Workaround for Courier imap's brokeness when LSUBing the INBOX
-       folder when it isn't subscribed to. Fixes bug #28929.
-
-2002-08-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (connect_to_server): If
-       imap_get_capability() fails, after unlocking the command_lock,
-       disconnect the service.
-
-2002-08-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-session.c (get_service): Don't register the noop timeout
-       here anymore, we're gonna handle all this in the mailer now.
-       (camel_session_register_timeout): Removed.
-       (camel_session_remove_timeout): Removed.
-
-2002-08-28  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (construct): Load store
-       summary if it exists.
-       (can_work_offline): Just see if we have any folders to say whether
-       we can work offline or not.  Should probably always just return
-       true.
-
-2002-08-27  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store-summary.[ch]: New files to
-       handle offline definition of folders, etc.
-
-       * camel-url.h: Define CamelURL to be struct _CamelURL rather than
-       anonymous struct.
-
-       * camel-store-summary.[ch]: a few api tweaks.  Also, the summary
-       header is versioned separately at each level, so that version
-       upgrades can be handled separately.  Renamed FolderInfo ->
-       StoreInfo to avoid namespace with current FolderInfo code.  This
-       should be reversed when the FolderInfo code is rationalised to
-       this new base.
-
-2002-08-23  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-command.c (camel_imap_command): domt
-       encode folder name.
-
-       * providers/imap/camel-imap-folder.c (do_copy): dont encode folder
-       name.
-       (do_append): dont encode folder name.
-
-       * providers/imap/camel-imap-store.c (get_folder_status): don
-       encode folder name in imap request.
-       (get_folder_online): here too for creating folder.
-       (rename_folder): Assume the incoming 'new name' is a utf8 path,
-       whereas the 'old name' is as from get folder info (raw).
-       (create_folder): Dont encode parent_name, assume its the raw
-       thing.
-
-2002-08-22  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_online): Select
-       based on unconverted name.
-       (imap_build_folder_info): New function to create a folderinfo
-       properly based on raw name.
-       (subscribe_folder): Use above helper.
-       (imap_folder_effectively_unsubscribed): Same here.
-       (imap_forget_folder): Same here.
-       (get_one_folder_offline): "
-
-2002-08-21  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c
-       (parse_list_response_as_folder_info): Setup path properly, as
-       decoded path with / separator.  Setup full_name as non-decoded raw
-       name.  Keep url as decoded path but with server separator
-       ... (ick).
-       (create_folder): Dont call build_path anymore, get_folders() does
-       it for us.
-       (subscribe_folder): Build the path ourself.
-       (imap_folder_effectively_unsubscribed): Same here.
-       (get_subscribed_folders): list using %S not %F, we're using the
-       raw server provided name directly.
-       (subscribe_folder): As above, for SUBSCRIBE.
-       (unsubscribe_folder): Same here.
-       (delete_folder): Same.
-       (rename_folder_info): Same here for source name.
-       (rename_folder): And here?
-       (get_folders_online): Amd here.
-
-       * providers/imap/camel-imap-utils.c:
-       (imap_parse_list_response): Dont decode the mailbox.
-
-       * camel-utf8.[ch]: some new utf8 & utf7 utilities.
-
-       * providers/imap/camel-imap-utils.c (imap_mailbox_encode):
-       (imap_mailbox_decode): use camel_utf7/8* functions instead.
-       : Add config.h and alloca.h headers.
-
-2002-08-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_noop): Override the
-       default noop implementation.
-
-       * camel-store.c (camel_store_noop): New virtual method to ping a
-       store.
-
-       * camel-session.c (get_service): Register a timeout that calls
-       camel_store_noop() every 10 minutes.
-
-2002-08-19  Peter Williams  <peterw@ximian.com>
-
-       Plug some large leaks in the indexing code.
-
-       * camel-mime-filter-index.c (camel_mime_filter_index_set_index): Unref
-       the old index if necessary.
-
-       * camel-text-index.c (camel_text_index_get_type): Give it the correct
-       parent type so that finalize handlers chain.
-       (camel_text_index_name_get_type): Here too.
-       (camel_text_index_cursor_get_type): Here too.
-       (camel_text_index_key_cursor_get_type): Here too.
-
-2002-08-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folders): Don't let the
-       minimum recursive depth be negative.
-       (get_folders): Pass flags & CAMEL_FOLDER_INFO_SUBSCRIBED as the
-       `lsub' argument to get_folders_online() otherwise we'll end up
-       doing a LIST when we really wanted to do an LSUB.
-
-       * camel-session.c: Set CAMEL_URL_NEED_PATH for the vFolder
-       provider.
-
-2002-08-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c: Changed the STOREINFO_VERSION
-       - should fix bug #28571, but if it doesn't - oh well, I don't
-       care. I'm considering it fixed no matter what.
-
-       * camel-gpg-context.c (gpg_sign): If the diagnostics are empty,
-       just explain that gpg failed to execute.
-       (gpg_encrypt): Same.
-       (gpg_decrypt): And here too.
-
-       * tests/lib/camel-test.c (camel_test_init): Updated to pass the
-       needed arguments to camel_init() and to init gthreads before camel
-       (since camel expectes it to be initialised already).
-
-       * tests/lib/session.c: #include <config.h> needed for
-       ENABLE_THREADS so that sizeof (CamelSessionClass) gives the
-       correct size.
-
-       * tests/*: Updated to work with camel API changes.
-
-2002-08-16  Dan Winship  <danw@ximian.com>
-
-       * camel-session.c (get_service): If the passed-in URL contains a
-       path, but the service doesn't allow paths, then the path part must
-       be a folder name, and we should ignore it here. #29010
-
-2002-08-16  Chris Toshok  <toshok@ximian.com>
-
-       * camel-arg.h: remove the outer parens from the expansion of
-       camel_argv_{start,end} since at least on freebsd va_end is
-       #defined to be nothing, so (va_end(..)) causes a syntax error.
-
-2002-08-16  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folders): Fix the logic
-       check for working out if we add inbox or not, we do it if we
-       listed the namespace.
-
-2002-08-15  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.h (CamelFolderInfo): added a flags field, defined
-       some flags, currently only used by imap.  This and below is first
-       step to getting incremental folder tree loading.
-
-       * providers/imap/camel-imap-store.c (get_subscribed_folders): If
-       the subscribed list is empty, always add inbox.
-       (imap_connect_offline): If the 'storeinfo' namespace isn't the
-       same as our own (if its set), then ignore it, assume we changed
-       settings.  Otherwise you can't change the namespace ...
-       (get_folders): allow the env variable CAMEL_IMAP_MAX_DEPTH to
-       override the default maximum recursion depth if 10 levels.
-       (camel_imap_store_readline): Dont depend the log debug on d(x)
-       being defined.
-       (get_folder_info_online): changed to use new functions/names.
-
-2002-08-14  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_subscribed_folders):
-       Removed the by_hand sillyness.  Return an array instead.
-       (get_folders): New method to get folders recursively without
-       having to use '*'.  Uses '%', and stops if it gets too deep
-       (current max of 10).
-       (get_folder_counts): New method to fill out unread counts on
-       folderinfo tree.
-       (get_subscribed_folders): Fix some failure logic.
-
-       * providers/imap/camel-imap-utils.[ch]: Changed IMAP_LIST_FLAGS to
-       use the new CamelFolderInfoFlags directly.
-
-2002-08-09  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (get_temp_uid): New function,
-       generate a UID that has better chances of being unique.
-       (imap_append_offline): Use it here.
-       (imap_transfer_offline): And here.
-
-2002-08-09 Peter Williams <peterw@ximian.com>
-       * providers/imap/camel-imap-store.c
-       (get_folder_info_online): Tweak how we build the tree based on whether
-       a full tree or a subtree is being requested. Fixes subscribe dialog
-       on UW servers.
-       (get_one_folder_offline): Don't add folders that we're not subscribed
-       to; fixes UW folders that weren't being marked as NoSelect because
-       the storeinfo doesn't record that information.
-       
-2002-08-09  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_rename): When renaming our
-       cache, add the "/folders" to the path.
-
-2002-08-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_init): Set
-       some default permanent_flags. This is the other cause of bug
-       #28038.
-       (imap_refresh_info): After calling camel_imap_command() with a
-       NULL format value (this is a shortcut to change the current_folder
-       by SELECTing it), call camel_imap_folder_selected(). This may have
-       been why permanent_flags never got set on the folder even after
-       going online in bug #28038.
-       (imap_update_summary): Same here. Also NULL-guard
-       camel_imap_response_free().
-
-2002-08-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_encode_param): Oops - outbuf pointed
-       to alloca'd memory but we were g_free'ing it after using
-       it. Instead use g_malloc for this outbuf buffer since it may be
-       kinda large. Also don't depend on a single byte to nul-terminate
-       the outbuf buffer so as to be safe with charsets such as UCS2 and
-       UCS4, instead keep a pointer to the end of the buffer.
-
-       * providers/imap/camel-imap-folder.c (parse_fetch_response): Only
-       add the stream to the gdatalist if it is non-NULL.
-
-2002-08-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/sendmail/camel-sendmail-transport.c
-       (sendmail_send_to): If writing to the sendmail pipe fails, wait
-       for the sendmail process to exit before returning. Fixes bug
-       #19636.
-
-2002-08-06  Not Zed  <NotZed@Ximian.com>
-
-       * providers/pop3/camel-pop3-folder.c (cmd_list): Add messageinfo
-       to id table, and store array index in messageinfo too.
-       (fi_to_index): Removed, use index member of messageinfo, fixed
-       callers.
-       (cmd_builduid): Parse the headers of the data, and ignore any
-       status or x-status headers.
-       (uid_to_fi): Removed, use the hashtable instead.
-       (id_to_fi): Same.
-       (cmd_uidl): Add messageinfo to uid table.
-       (pop3_refresh_info): Setup hash tables, and fill out uid table for
-       nonuid capable servers.
-       (pop3_finalize): Destroy hash tables.  Only free resources if the
-       uids table is not null (if finalised before we ran refresh info).
-       (id_to_fi): Removed.  Use id hash table instead, fixed caller.
-
-2002-08-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel.c (camel_init): Always set a g_atexit handler to
-       flush/save the camel-certdb.
-
-       * providers/imap/camel-imap-store.c (get_folder_info_online): If
-       we are asking for the toplevel folders, use the IMAP store's
-       namespace as the toplevel folder rather than an empty
-       string. Fixes bug #28574.
-       (imap_forget_folder): Rearrange the code so that name can never be
-       used uninitialised.
-
-       * providers/imap/camel-imap-utils.c (imap_namespace_concat):
-       Removed.
-
-2002-08-05  Dan Winship  <danw@ximian.com>
-
-       * camel-folder-summary.h (CamelMessageFlags): Add
-       CAMEL_MESSAGE_ANSWERED_ALL, for folders that can distinguish a
-       reply-to-sender from a reply-to-all. (eg, Exchange)
-
-       * providers/local/camel-local-folder.c (local_init): Add
-       ANSWERED_ALL to permanent_flags too.
-
-2002-08-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes bug #26237.
-
-       * providers/imap/camel-imap-command.c
-       (imap_command_strdup_vprintf): Don't prepend any namespace shit in
-       the %F case.
-
-       * providers/imap/camel-imap-utils.c (imap_parse_list_response):
-       Don't strip off the namespace.
-
-2002-08-01  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-store.c (create_folder): If the folder
-       name contains the directory separator, reject it.
-
-2002-08-02  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_check): Clear
-       the summary after building the 'removed uid' list.
-
-       * camel-folder-summary.c (message_info_load): revert jeff's patch
-       below, and do it slightly differently, and stop the auto-reformatting
-       bullshit.
-
-2002-08-02  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-summary.c (message_info_new): If
-       we get a duplicate, just re-use the old info.
-       (remove_summary): Add any removed to a change list.
-       (maildir_summary_check): If we find new ones in 'cur' track them
-       in the change list.  Removed FIXME about it.  For #18348.
-
-2002-08-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-summary.c (message_info_load): Do more error
-       checking to prevent crashing if we fail to read a string for
-       example.
-
-2002-07-29  Peter Williams  <peterw@ximian.com>
-
-       Fix bug #28238
-       
-       * providers/imap/camel-imap-store.c (imap_forget_folder): New
-       function, breaking out the code in delete_folder() to handle when
-       a folder is removed.
-       (imap_folder_effectively_unsubscribed): New function, breaking out
-       the code in unsubscribe_folder() to handle when a folder is
-       unsubscribed.
-       (imap_check_folder_still_extant): New function, check whether a
-       folder exists by LIST'ing it.
-       (imap_store_refresh_folders): Add code here to check if the folder
-       still exists if we're unable to refresh its info. If so, pretend
-       that it was unsubscribed (to get the mailer to remove it from 
-       the tree) and delete its cache. If somehow this goofs up, the 
-       worst that can happen is that we must redownload the headers.
-       (get_folder_status): If we can't get the status, behave as above.
-       (delete_folder): Call imap_forget_folder() where the bulk of this
-       code has gone.
-       (unsubscribe_folder): Call imap_folder_effectively_unsubscribed()
-       where the bulk of this code has gone.
-
-2002-07-31  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (parse_fetch_response):
-       Disable my fix to not cache headers as it means that each time we
-       load the message, we've got to re-fecth the headers.
-
-       * camel-mime-filter-tohtml.c (is_addr_char): Don't use
-       "isprint(c)" to mean "c >= 32 && c < 128" since it doesn't in most
-       locales.
-       (is_url_char): Same.
-       (is_trailing_garbage): Same.
-       (is_domain_name_char): New macro for dns-valid characters
-       (email_address_extract): Use is_domain_name_char rather than
-       is_addr_char for the part after the @.
-
-2002-07-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream.c (camel_tcp_address_new): Update the comment.
-
-       * camel-tcp-stream-raw.c (socket_connect): If building with IPv6
-       support and the address is an IPv6 address, connect using a
-       sockaddr_in6 otherwise use the standard IPv4 sockaddr_in
-       structure.
-       (stream_get_local_address): Fix to work with IPv6 addresses.
-       (stream_get_remote_address): Same.
-
-       * camel-tcp-stream-openssl.c (socket_connect): Same as above.
-       (stream_get_local_address): Fix to work with IPv6 addresses.
-       (stream_get_remote_address): Same.
-
-       * camel-tcp-stream-ssl.c (stream_connect): If building with IPv6
-       support and the address is an IPv6 address, initialise the
-       PRNetAddr accordingly.
-       (stream_get_local_address): Fix to work with IPv6 addresses.
-       (stream_get_remote_address): Same.
-
-2002-07-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-openssl.c (ssl_verify): X509_digest() needs a
-       pointer to an int len. Also fixed some other compiler errors.
-
-       * camel-certdb.h: #include <stdio.h>
-
-2002-07-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-certdb.c: New source file implementing a very basic
-       certificate database. This is mostly just here because the Mozilla
-       NSS certdb seems to not be working for everyone's Evolution
-       install (works fine for me and Ettore but not many other people).
-
-       * camel-tcp-stream-ssl.c (ssl_bad_cert): If we have this
-       certificate in our own CamelCertDB, then get the trust value from
-       that and only prompt the user if the trust is unknown.
-
-       * camel-tcp-stream-openssl.c (ssl_verify): Same.
-
-       * camel.c (camel_init): Create our default certdb.
-
-2002-07-30  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_transfer_offline): Use
-       the same command-counter mojo that the append code uses in case
-       the use tries to copy the same message to the folder repeatedly.
-
-2002-07-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (unset_flag): New filter action to unset a
-       system flag. The exact opposite of set_flag.
-
-2002-07-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-local-store.c (get_folder): If the path
-       exists and is a directory, return non-NULL. Missed this before
-       which is how we could return NULL even on success. Oops.
-
-2002-07-26  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-summary.c
-       (camel_imap_summary_add_offline_uncached): The flags'n'tags
-       copy was unnecessary. Removed it.
-
-2002-07-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       If we're gonna do an elite hack, lets do it right.
-
-       * providers/local/camel-local-store.c (get_folder): On success,
-       return non-NULL so that our caller doesn't have to depend on 'ex'
-       being non-NULL in order to work correctly.
-
-       * providers/local/camel-mbox-store.c (get_folder): Don't bother
-       checking if an exception was set, just use the return value of
-       camel-local-store's get_folder.
-
-       * providers/local/camel-maildir-store.c (get_folder): Same as the
-       mbox change.
-
-       * providers/local/camel-mh-store.c (get_folder): Here too.
-
-2002-07-25  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-summary.h
-       (camel_imap_summary_add_offline_uncached): Prototype.
-
-       * providers/imap/camel-imap-summary.c
-       (camel_imap_summary_add_offline_uncached): New function to add an
-       uncached message to the summary while offline.
-
-       * providers/imap/camel-imap-store.c (imap_connect_online): Only
-       refresh the folders if the disco diary is empty (ie, we're not
-       resyncing.)
-
-       * providers/imap/camel-imap-folder.c (imap_transfer_offline): Emit
-       an event for the source if deleting its originals. Also, if we
-       can't load the message, still process it, using the new imap
-       summary function.
-
-2002-07-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c: Remove "possibly
-       non-fatal" exception strings, all exceptions are fatal unless
-       their caller decides otherwise.
-       (connect_to_server): If smtp_helo() fails due to us getting
-       disconnected, treat the exception as fatal.
-       (smtp_connect): Abort if smtp_helo() fails and we got
-       disconnected.
-       (smtp_send_to): If smtp_mail() fails, abort the send operation.
-       (smtp_set_exception): If respbuf was NULL, then we got
-       disconnected and so update our state accordingly.
-       (smtp_disconnect): Only send a QUIT if we are still in the
-       connected state (or, at least think we are).
-
-2002-07-24  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c
-       (imap_expunge_uids_resyncing): It would help to mark the UIDs as
-       deleted before we try to expunge them
-       (in the case when no other UIDs were marked deleted this didn't
-       happen.)  Also fix an FMR.
-       (imap_expunge_uids_offline): Trigger a folder_changed event with
-       our own changeinfo because camel_imap_response_free won't be able
-       to do that for us.
-
-2002-07-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (do_shell): Renamed from
-       shell_exec(). Also, we now want to pass argc/argv on to the
-       CamelFilterDriverShellFunc.
-       (camel_filter_driver_set_shell_func): Renamed a bit.
-
-       * camel-filter-search.c (pipe_message): Renamed from shell_exec().
-
-2002-07-25  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-summary.c (camel_folder_summary_save): When writing
-       the summary, use TRUNC flag, duh.  Also, write to a temp file
-       first, and rename when closed successfully, and check ferror() and
-       fclose() against 0 rather than -1.
-
-       * providers/local/camel-mbox-summary.c (summary_update): Decrement
-       i if we remove the summary item so we dont skip every 2nd one.
-
-       * camel-mime-utils.c (header_decode_mailbox): Use
-       rfc2047_decode_word explicitly incase we just found an encoded
-       word.  Stops us re-decoding the string twice, which fixes memory
-       corruption in #26330 when the HUGE string is used later.
-
-2002-07-24  Not Zed  <NotZed@Ximian.com>
-
-       * camel-partition-table.c (camel_key_table_next): Didn't unlock if
-       we exited on an empty key list.
-
-       * providers/imap/camel-imap-folder.c (imap_expunge_uids_online):
-       Sync before doing an expunge if we dont have uidplus.  See #25766.
-       (imap_expunge_uids_resyncing): Same here.
-
-       * providers/imap/camel-imap-store.c (get_folder_info_online):
-       Duplicated the very much hack in imap_store_refresh_folders() to
-       avoid a deadlock in #27959.  A decent fix has to wait for a
-       rewrite.
-       (get_folder_online): Move folders to a subdirectory of
-       storage_path, rather than in it.  Bye bye everyones settings.  See
-       24947.
-       (get_folder_offline): And here too.
-       (delete_folder): And here too.
-       (rename_folder): and here too.
-       (get_folder_info_offline): And here too.  I love code reuse.
-
-2002-07-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream.c: #include <string.h> for memcpy.
-
-2002-07-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (vee_set_message_user_tag): Oops, forgot to
-       implement this.  Fixes #24604.
-
-2002-07-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-crlf.c (filter): Only add a \r if the
-       character before the \n wasn't already a \r - this covers for when
-       people add DOS files as attachments. Fixes bug #28056.
-
-2002-07-19  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-part-utils.c (convert_buffer): Changed to use a
-       different length calculator.
-
-2002-07-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-lock.c: Add the appropriate #include for the _() macro.
-
-2002-07-17  Not Zed  <NotZed@Ximian.com>
-
-       * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Got
-       rid of the stupid "tryagain" semantics, which didn't work.
-       (pop3_connect): Fixed here to only retry under proper conditions.
-
-2002-07-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-canon.c (filter): When CRLF encoding, "empty"
-       (after stripping trailing whitespace characters) lines need to end
-       in CRLF also, not just lines with data in them.
-
-2002-07-16  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_sync_online): Clean
-       up some improper usage of CamelExceptions (looking at
-       camel_exception_is_set when ex = NULL).
-
-       * providers/imap/camel-imap-store.c (get_folder_online): Here too.
-
-       * providers/imap/camel-imap-message-cache.c
-       (camel_imap_message_cache_new): Nothing sets the exception so
-       don't bother to check it at the end of this function. Prevents
-       a warning about checking a NULL exception's value.
-
-2002-07-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): Make the
-       standard AUTH format take priority over the AUTH= priority, since
-       sometimes servers only list a subset of the supported authtypes in
-       the AUTH= response while they list all authtypes in the standard
-       AUTH response. Fixes "bug" #27841.
-
-2002-07-15  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): If we're
-       not online and the message isn't in our cache, give up.
-
-2002-07-15  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-search.c (get_label): Removed.
-       (get_score): Removed.  Labels & scores are stored in tags, we
-       already have a function to get tags.
-       (user_tag): Fail if we dont get valid arguments, it must be a
-       string type.
-       (system_flag): Same here.
-
-2002-07-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_msgid_generate): Try to get the FQDN
-       from the results of gethostname(). If that fails, then fall back
-       to the results gotten from gethostname() or if that fails just use
-       "localhost.localdomain". Addresses bug #17416.
-       (header_decode_param): Protect against a NULL value.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Get rid of
-       the constant 'required' variable, just use the value when calling
-       set_best_encoding.
-
-       * providers/local/camel-local-provider.c: Changed the mbox and
-       spool provider descriptions to try and be more clear. I'm not sure
-       I like the mention of Evolution in the mbox provider description,
-       but there was no other way to make it clear that it MOVED mail out
-       of the mbox folder into a folder managed by Evolution without
-       mentioning Evolution. *sigh* Anyways, to me "retrieve" means move,
-       but apparently this isn't clear to the weak minded.
-
-2002-07-15  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_rescan): >= is not
-       appropriate here because the sequences are 1-based; so seq =
-       summary_len is valid.  Hopefully addresses 15646, because this
-       caused the last message in a folder to be reloaded, replacing its
-       CamelMessageInfo, and the tree view was using the old
-       CamelMessageInfo.
-
-2002-07-13  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-summary.c
-       (camel_folder_summary_info_new_from_message): Only assign a uid if
-       indexing is enabled.  This stops us always assigning a uid in the
-       imap folder and disco folder?
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Also
-       check the uid is set at all, another bit of a fix for #15667.
-
-2002-07-09  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Check
-       for existing messages of the same uid before doing anything.  If
-       it exists, do nothing (perhaps it should merge?).  A dirty hack for
-       #15667.
-
-2002-07-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-multipart-encrypted.c (camel_multipart_encrypted_decrypt):
-       On error, do not unref the parts gotten using
-       camel_multipart_get_part() since that function does not ref the
-       parts. Also don't forget to reset the decrypted stream before
-       trying to parse it ;-)
-
-2002-07-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-multipart.c (camel_multipart_class_init): Updated to not
-       use camel_type_get_global_classfuncs() since this is just a cast
-       macro now.
-
-       * providers/imap/camel-imap-folder.c (get_content): Handle
-       multipart/encrypted parts too.
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): Handle
-       multipart/encrypted types too.
-
-2002-07-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Don't let any
-       parts have a binary encoding.
-
-2002-07-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes bug #27672
-
-       * camel-mime-filter-bestenc.c: Conditionally #include <config.h>
-
-       * camel-mime-filter-linewrap.c: Same here... although we could
-       probably just get rid of this filter? We don't seem to use it
-       anywhere since we try to QP/Base64 encode any text parts with long
-       lines. Besides, we couldn't use this filter for SMTP anyway since
-       we can't risk possibly linewrapping a binary mime part. I dunno,
-       maybe this could be useful in the composer though? *shrug*
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Always call
-       camel_mime_message_set_best_encoding() even if the server allows
-       8BITMIME and even if we don't have any 8bit parts because we may
-       have parts with long lines (>998 octets) which also need to be
-       encoded.
-
-       * camel-mime-message.c (check_8bit): Don't forget to check for the
-       binary encoding here as well.
-
-2002-07-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (parse_fetch_response): If we
-       are fetching HEADERs, don't cache the stream - instead just create
-       a mem-stream and return that. This reduces a significant amount of
-       overhead due to disk i/o.
-
-       * camel-multipart-encrypted.c (camel_multipart_encrypted_decrypt):
-       Don't forget to set an appropriate exception before returning
-       NULL.
-
-2002-07-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (get_message_cb): Make sure message is
-       non-NULL before setting the source on it.
-
-       * camel-gpg-context.c: Renamed stdin to stdin_fd, stdout to
-       stdout_fd, and stderr to stderr_fd in struct _GpgCtx since
-       Solaris' stdin/stdout/etderr variables seem to be macros and are
-       thus breaking the compilation.
-
-2002-07-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/nntp/camel-nntp-provider.c: Set the IS_SOURCE provider
-       flag.
-
-       * providers/pop3/camel-pop3-store.c: Change all exceptions to
-       report which POP server failed (and tried to make a few of the
-       exceptions a bit more clear).
-
-2002-07-03  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (vee_sync): If we get an exception from the
-       child sync, update the exception string so we know where it really
-       was.
-
-       * camel-vee-store.c (change_folder): Util to emit created/deleted
-       events.
-       (vee_get_folder): If the folder has path elements, and its parents
-       dont exist, create dummy no-select nodes.  This is for bug #4246.
-       (vee_delete_folder): Use change_folder() to save code.
-
-       * providers/local/camel-mbox-folder.c (mbox_set_message_flags):
-       Only set xevchange if we're storing status headers in pine format,
-       so we dont do a full sync every time any flag changes.
-
-2002-06-27  Not Zed  <NotZed@Ximian.com>
-
-       * camel-object.c (camel_object_hook_event): Take a void object arg.
-       (camel_object_remove_event): "
-       (camel_object_unhook_event): "
-       (camel_object_trigger_event): ", also, execute events in the same
-       order they were added, i.e. reverse hook-list order.
-
-2002-06-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_ctx_get_argv): Don't use
-       --no-auto-key-retrieve, this option has apparently been deprecated
-       in gpg 1.0.7.
-
-2002-06-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_ctx_op_step): Loop on our reads while
-       errno is EINTR or EAGAIN. Also make sure to completely read stdout
-       and stderr by keeping better state.
-       (gpg_ctx_parse_status): In the case of a NODATA response from gpg,
-       try to use the diagnostics that gpg may have written to its
-       stderr.
-       (gpg_verify): Check that the gpg process has not exited.
-       (gpg_ctx_op_wait): Make sure we haven't already exited (as by
-       gpg_ctx_op_is_exited()) and if we have, retrieve the exit status
-       from the gpg context.
-
-2002-06-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.[c,h]: Removed.
-
-       * camel-pgp-mime.c (pgp_mime_part_sign_restore_part): Removed.
-       (pgp_mime_part_sign_prepare_part): Removed.
-       (camel_pgp_mime_part_sign): Removed.
-       (camel_pgp_mime_part_verify): Removed.
-       (camel_pgp_mime_part_encrypt): Removed.
-       (camel_pgp_mime_part_decrypt): Removed.
-       (camel_pgp_mime_is_rfc2015_signed): Documented.
-       (camel_pgp_mime_is_rfc2015_encrypted): Same.
-
-2002-06-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-multipart-encrypted.c (camel_multipart_encrypted_encrypt):
-       Oops, this needs to take a userid argument.
-
-       * camel-gpg-context.c (gpg_clearsign): Removed (never did anything
-       anyway).
-
-       * camel-pgp-context.c (pgp_clearsign): Removed.
-
-       * camel-cipher-context.c (camel_cipher_clearsign): Removed unused
-       method.
-
-       * camel-multipart-encrypted.[c,h]: New class implementing the
-       multipart/encrypted content type. Contains methods for encrypting
-       and decrypting a multipart/encrypted MIME object.
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): Check for NODATA
-       too.
-
-2002-06-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-local-provider.c: Remove the #include for
-       camel-spoold-store.h
-
-2002-06-26  Not Zed  <NotZed@Ximian.com>
-
-       * camel-gpg-context.c: Include <sys/time.h> for struct timeval.
-
-       * providers/local/camel-local-provider.c
-       (camel_provider_module_init): Removed spoold provider.  The spool
-       provider does it now.
-       (): Spoold doesn't exist anymore, remove its header.
-
-2002-06-25  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-folder.c (camel_spool_folder_new):
-       Support a new xstatus option - folders update/honour the
-       Status/X-Status headers in addition to X-Evolution.
-
-       * providers/local/camel-local-summary.c
-       (camel_local_summary_write_headers): If supplied with an
-       additional status or xstatus arg, write a Status header and/or
-       X-Status.  Also fix the case of properly terminating the headers
-       if an xev line isn't supplied.
-
-       * providers/local/Makefile.am (libcamellocalinclude_HEADERS,SOURCES):
-       Removed spoold-store.[ch].
-
-       * providers/local/camel-local-provider.c
-       (camel_provider_module_init): For the spoold type, just use the
-       spool store instead.
-
-       * providers/local/camel-spool-store.h: Added a type field, so the
-       1 store can implement different types without having to subclass.
-
-       * providers/local/camel-spool-store.c
-       (camel_spool_store_get_toplevel_dir): Removed, inherits from local
-       store now.
-       (construct): If we're pointing to a file, treat it as mbox mode,
-       otherwise treat it as 'elm' mode.
-       (get_folder): Only test for INBOX in mbox mode.
-       (get_folder_info_elm): 
-       (get_folder_info_mbox): Two alternatives for getting folder info,
-       depending on the type of folder we're looking at.
-       (get_folder_info_mbox): Make the url include the protocol.
-       (scan_dir): "
-
-       * providers/local/camel-spoold-store.c
-       (camel_spoold_store_get_toplevel_dir): Removed, inherits from
-       local store now.
-
-       * camel-folder.c (get_message_user_tag): Dont use a
-       g_return_if_fail for info==NULL.  This is not an error.
-       (set_message_user_tag): And same here.
-       (set_message_user_flag): Sigh, and here.
-       (get_message_user_flag): And here.
-       (set_message_flags): and here ...
-       (get_message_flags): Dum de dum, de done at last.
-
-       * providers/local/camel-mbox-folder.c (mbox_get_message): Check
-       for new messages whenever we retrieve one.  In the common
-       no-update case, this is a single stat.
-       (mbox_get_message): If we need to rescan, then force a full rescan
-       to make sure it does the right thing.
-       (mbox_get_message): Cleanup the exception handling a bit, if we do
-       get an error, propagate any folder changes anyway as well.
-       (mbox_set_message_user_flag): Argh more of these stupid g_returns
-       taht shouldn't be.
-       (mbox_set_message_user_tag): Here too.
-       (mbox_set_message_flags): If the read flag is being changed, mark
-       it as an xevchange (i.e. Status line change).
-
-       * providers/local/camel-mbox-summary.c (summary_rebuild): Merged
-       into summary_update.
-       (summary_update): Changed to allow it to update existing lists of
-       messages without clearing out the summary.
-       (mbox_summary_check): Dont clear the summary, just re-scan.
-       (message_info_new): Attempt to support the 'Status: RO' elm/pine
-       thing.
-       (camel_mbox_summary_encode_status): 
-       (camel_mbox_summary_decode_status): Util functions for
-       creating/parsing the Status line.
-       (camel_mbox_summary_sync_mbox): Write out the status line if we're
-       going to try support it.
-       (camel_mbox_summary_xstatus): Implement option to control
-       read/write of (x-)status.
-       (message_info_new): Do x-status stuff based on run-time option.
-       (camel_mbox_summary_sync_mbox): "
-       (mbox_summary_add): If x-status enabled, then always add
-       status/x-status headers to message.
-
-       * camel-folder-summary.c (summary_assign_uid): If the messageinfo
-       is already in the summary, AND is the same messageinfo, dont do
-       anything, return a value to indicate this.
-       (camel_folder_summary_add): Do nothing if this info already in the
-       summary, so we can perform updates.
-
-2002-06-24  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-summary.c
-       (camel_local_summary_check_force): New method to force the next
-       summary check to be a full check, set if a mismatch occurs.
-
-       * camel-folder-summary.c (camel_folder_summary_load): If we have
-       no summary path set, dont do any i/o, rather than abort.
-       (camel_folder_summary_save): "
-       (camel_folder_summary_header_load): "
-
-       * providers/local/camel-spool-store.h: Inherit from camel mbox
-       store, even if we override almost everything.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): If the base path points to a file,
-       use that as the folder path as well.
-
-       * providers/local/camel-spool-folder.h: Inherit from
-       camel-mbox-folder.
-
-       * providers/local/camel-spool-summary.c (spool_summary_sync_full):
-       Use camel_mbox_summary_sync_mbox to do most of the work.
-
-       * providers/local/camel-spool-summary.[ch]: Make spool-summary
-       inherit from mbox summary rather than foldersummary.
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync): Make
-       sync_full/quick virtual methods.
-       (camel_mbox_summary_sync_mbox): The full sync method put into a
-       simple function that sync's from fd to fd.
-       (mbox_summary_sync_full): Use summary_sync_mbox to do the real
-       work.
-       (mbox_summary_check): Create removed events if the folder gets
-       cleared.  Also, dont clear the summary before a rebuild, try to
-       merge.
-
-2002-06-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c: #include <sys/time.h>
-
-2002-06-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_hash_str): Return the option as
-       --digest-algo=<micalg>
-       (gpg_ctx_parse_status): Decode more status information and keep
-       track of trust and such.
-       (gpg_ctx_op_complete): Make sure we aren't waiting for gpg to
-       write data to stdout (such as encrypted/decrypted data or a
-       signature).
-       (gpg_encrypt): Remove the fejj@stampede.org hard-coded value
-       (which had only meant to be for testing).
-
-2002-06-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_ctx_get_argv): Use --command-fd rather
-       than --passphrase-fd since what we really want is an interactive
-       mode (besides, --passphrase-fd requires a passphrase to be sent
-       before --status-fd will send a NEED_PASSPHRASE status message).
-       (gpg_ctx_parse_status): When we encounter a BAD_PASSPHRASE, tell
-       the session to uncache it.
-       (camel_gpg_context_set_always_trust): Implemented.
-
-2002-06-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_ctx_parse_status): Check for ERRSIG
-       also.
-       (gpg_ctx_op_step): Don't try writing a passphrase unless our
-       operation requires it.
-
-2002-06-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.c (gpg_encrypt): Return -1 on error.
-       (gpg_decrypt): Same.
-       (gpg_sign): Again here.
-       (gpg_ctx_op_step): Only attenmpt to read from the status-fd if we
-       are not already 'complete'.
-
-       * camel-pgp-mime.c (camel_pgp_mime_part_encrypt): Flush the
-       filtered stream.
-
-2002-06-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-gpg-context.[c,h]: New source files implementing the
-       CamelCipherContext class for gnupg.
-
-       * camel-pgp-context.c (camel_pgp_context_new): Return a
-       CamelCipherContext.
-
-       * camel-pgp-mime.c (camel_pgp_mime_part_decrypt): Take a
-       CamelCipherContext argument rather than a CamelPgpContext since we
-       now have a CamelGpgContext also.
-       (camel_pgp_mime_part_encrypt): Same.
-       (camel_pgp_mime_part_verify): Same.
-       (camel_pgp_mime_part_sign): Same.
-
-2002-06-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-digest-folder.c: Updated to support searching as well as
-       making it use CamelDigestSummary.
-
-       * camel-digest-summary.[c,h]: New class to handle the summary for
-       CamelDigestFolder.
-
-       * camel-tcp-stream-ssl.c (set_errno): PR_IO_TIMEOUT_ERROR should
-       map to ETIMEDOUT and not EAGAIN.
-       (stream_connect): Reset the PR_Poll() timeout back to 2 minutes as
-       this wasn't the problem afterall.
-
-2002-06-19  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-parser.c (folder_scan_drop_step): Drop back to
-       initial state if we came from eof state.
-
-2002-06-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (stream_connect): Set the poll timeout to
-       be PR_INTERVAL_MIN, this one shouldn't need to be 2 minutes (plus
-       it blocks my connection at home for far too long).
-
-       * providers/imap/camel-imap-folder.c (imap_refresh_info): Make
-       sure we hold the command_lock before accessing current_folder.
-       (imap_append_online): Same.
-       (imap_transfer_online): Same.
-
-       * providers/imap/camel-imap-store.c (delete_folder): We need to
-       hold the command_lock before we can set the current_folder to
-       NULL.
-       (rename_folder): Same.
-       (get_folder_info_online): We need to make sure we hold the
-       command_lock in order to use current_folder.
-       (everywhere): Same.
-
-2002-06-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): Don't
-       bother trying to authenticate (and thus don't throw up an error
-       dialog) unless the server is an ESMTP server and supports
-       authentication.
-
-       * camel-sasl-plain.c: Change the user-friendly name to PLAIN, this
-       is what it should be. Not "Password" because user's immediately
-       think that they need authentication when they see "Password" even
-       if they don't need it at all.
-
-2002-06-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-vee-folder.c (camel_vee_folder_add_folder): Update the
-       freeze state of the new source folder.
-       (camel_vee_folder_remove_folder): Undo any freeze state that we
-       have imposed on this source folder.
-
-2002-06-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-vee-folder.c (vee_freeze): Freeze source folders.
-       (vee_thaw): Thaw all source folders. Fixes bug #24317.
-
-       * providers/imap/camel-imap-folder.c (imap_sync_online): Unlock
-       the command_lock after each UID STORE command so that other
-       (probably more important) threads can send their requests.
-
-       * camel-arg.c:
-       * camel-disco-diary.c:
-       * camel-index-control.c:
-       * camel-mime-part.c:
-       * camel-pgp-mime.c:
-       * camel-store.c:
-       * camel-tcp-stream-ssl.c:
-       * camel-text-index.c: Fixed compiler warnings.
-
-       * camel-multipart-signed.c: Updated to use ctx->sign_protocol
-       rather than ctx->protocol.
-
-       * camel-cipher-context.h: Add an ecnryption protocol member.
-
-       * camel-pgp-context.c (camel_pgp_context_init): Set the encryption
-       protocol.
-
-2002-06-11  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vtrash-folder.c (camel_vtrash_folder_class_init): Our
-       parent class is camel_vee_folder, not camel_folder, fix setting of
-       parent folder (unused anyway, but removes a run-time warning).
-
-2002-06-07  Not Zed  <NotZed@Ximian.com>
-
-       * camel-pgp-context.c (camel_pgp_context_init): Duh!  The protocol
-       is application/pgp-signature.  TODO: need to have a signed and an
-       encrypted protocol specified separately.
-
-2002-06-06  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-thread.c (thread_summary): Do the work here.
-       (camel_folder_thread_messages_remove): Implement.  Remove some
-       uid's from the tree.   Disalbe from build, for now.
-       (remove_uid_node_rec): Actually do the work.
-       (camel_folder_thread_messages_add): Implement.  Add some summary
-       items to the tree.  Disable from build though.
-       (camel_folder_thread_messages_apply): Make a thread tree built
-       using camel_folder_thread_new() map to a new set of uids,
-       preserving some order.  Meant primarily to manage deleted + added
-       uids in a user-friendly manner.
-
-2002-06-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-multipart-signed.c (camel_multipart_signed_verify): Use
-       CAMEL_EXCEPTION_SYSTEM rather than '1' for clarity.
-
-2002-06-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (stream_connect): Up the timeout on the
-       connect code to 2 minutes.
-
-2002-06-05  Dan Winship  <danw@ximian.com>
-
-       * camel-mime-utils.c (header_decode_mailbox): Parse
-       "From: Dan Winship <danw>" (with no domain) in the way the sender
-       meant it, even though it's completely wrong.
-
-2002-06-04  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-provider.c: Remove the
-       CONF_DEFAULT_PATH entry, as this is handled by the url config
-       stuff.  This made it basically impossible to configure any local
-       folder from the gui.
-
-       * providers/local/camel-local-folder.c (local_refresh_info): Force
-       a refresh.  Should work for all local folders to force them to
-       refresh.
-
-       * providers/local/camel-maildir-folder.c (maildir_refresh_info):
-       Removed, moved into camel-local-folder.
-
-       * providers/local/camel-mh-summary.c (mh_summary_next_uid_string):
-       Once we assign or get a uid, tell the summary of this, so the next
-       uid we get will be higher than any previously.
-
-       * camel-object.c (camel_object_ref, camel_object_unref): I got
-       sick of casting, these now take void * like they should, and
-       perform their own run-time type checking.
-
-       * providers/local/camel-mh-store.c (recursive_scan): Changed to
-       use stat, not lstat (*shrug* maybe someone wants to softlink their
-       maildir tree?).
-       (inode_hash):
-       (inode_equal):
-       (inode_free): Copied from camel-maildir store (should put into
-       camel-local-store or utils?).
-       (recursive_scan): Changed to check for re-visiting inodes.  Also,
-       it builds the tree itself, rather than using folder_info_build.
-       (add_folder): Changed to folder_info_new.
-       (recursive_scan): Properly honour the recursive flag.  Also,
-       lookup unread count from folder.
-       (folder_info_new): Init unread message count to -1, since we dont
-       know yet.
-       (folder_info_new): Take the name as an argument, and perform the
-       merging here.
-       (folders_update): Util func to add/remove folders from .folders
-       file.  I'm assuming its sorted.
-       (get_folder): Add the folder to .folders if we created a new one,
-       and if it exists.
-       (delete_folder): Remove from .folders, etc.
-       (folders_scan): If we have a .folders file, read and use that
-       instead.
-       (recursive_scan): Handle scanning from a particular directory
-       properly.
-       (rename_folder): Implement so we can track any changes to the
-       .folders file if its turned on.
-
-       ** Applied patch below from Greg Hudson.
-       
-2002-05-10  Greg Hudson  <ghudson@mit.edu>
-
-       * camel-mh-store.c (get_inbox, get_folder_info, recursive_scan,
-       add_folder): Implement support for MH stores.
-
-       * camel-mh-summary.c (mh_summary_check, sort_uid_cmp): Sort MH
-       messages by message number (uid), like we sort maildir messages by
-       date.
-
-       * camel-local-provider.c (mh_provider): Turn on source and store
-       flags.
-
-2002-06-03  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (camel_vee_folder_add_folder):
-       (folder_changed_change):
-       (folder_changed_remove_uid):
-       (folder_changed_add_uid):
-       (vee_folder_build_folder): Check that any unmatched operation is
-       not concerning any vfolder.  Other vfolders should never be part of any
-       unmatched handling.  For #24615, and others probably.
-
-2002-06-02  Not Zed  <NotZed@Ximian.com>
-
-       * camel-sasl.c (camel_sasl_new): 
-       (camel_sasl_finalize): setup/free the mech string.
-
-       * camel-sasl.h: Added 'mech' mechanism string.
-
-2002-06-01  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_getv): Implement.  Only
-       the object_description arg.
-       (camel_imap_folder_get_type): Init parent_class holder.
-
-       * providers/local/camel-local-folder.c (local_getv): Implement,
-       object_description arg.
-
-       * camel-folder.c (folder_getv): Implement, add a bunch of args you
-       can get -> camel_folder_get_unread_count etc will be going RSN i
-       hope.
-       (camel_folder_finalize): Free cached description string.
-
-       * camel-object.c (cobject_getv): Implement
-       CAMEL_OBJECT_ARG_DESCRIPTION, just return the classname of the
-       object.
-       (camel_object_getv): 
-       (camel_object_get): 
-       (camel_object_setv): 
-       (camel_object_set): Take object = void *, to simplify usage.
-       (camel_object_setv): Removed unecessary locals.
-       (camel_object_getv): Same.
-       (camel_object_free): New method, free an arg, upto implementations
-       whether args are static/const or not.
-       (cobject_free): Implement a dummy do nothing free.
-
-2002-05-31  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (camel_vee_folder_get_location): new function
-       to get the real location (folder) (and uid) of a vfolder object.
-       Using the folderinfo, since we already have it, maybe it should
-       use the uid.
-
-2002-05-31  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (get_content): When the part
-       is a multipart/signed, make sure to free the part_spec before
-       returning (the other types already did this properly).
-
-       * providers/imap/camel-imap-message-cache.c
-       (camel_imap_message_cache_get): Free the path buffer when we're
-       done with it.
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Free
-       the final tagged response buffer.
-
-       * providers/imap/camel-imap-command.c (imap_read_untagged): If we
-       fail to read a literal, free the temporary string buffer.
-
-       * providers/imap/camel-imap-folder.c (imap_rescan): Revert my fix
-       from the other day since camel_imap_command_response() doesn't
-       guarentee that resp will be set to NULL on error.
-
-       * camel-data-cache.c (camel_data_cache_get): If we fail to be able
-       to create a stream to insert into the cache, then free the 'real'
-       path.
-
-2002-05-30  Not Zed  <NotZed@Ximian.com>
-
-       * camel-cipher-context.h: Added a protocol field for users to use.
-
-       * camel-stream-filter.c (do_read): Sigh, the pre-size is READ_PAD
-       not READ_SIZE.  Big difference.
-       (READ_PAD): Bumped upto 128 from 64, so we can fit a typical line
-       in full.
-
-       * providers/imap/camel-imap-folder.c (get_content): Changed to
-       load multipart/signed as an opaque block into the right kind of
-       object.
-
-       * camel-multipart.h (struct _CamelMultipart): Removed the boundary
-       field.  It wans't actually used anywhere.
-
-       * camel-seekable-substream.c
-       (camel_seekable_substream_new_with_seekable_stream_and_bounds):
-       Shortened this stupidly long name to just :new(), its the only way
-       its ever used.  Fixed all callers.
-
-       * camel-multipart-signed.[ch]: new wrapper for multipart/signed
-       types.  We need to treat the entire content as a blob of data for
-       transport purposes.  This also cleans up a lot of the sign/verify
-       handling.
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): Just call
-       camel_multipart_construct_from_parser for multipart parts, also
-       use a multipart_signed for multipart/signed types.
-
-       * camel-multipart.c (camel_multipart_construct_from_parser): New
-       virtual function for multiparts to buld themselves.
-       (construct_from_parser): Implement for normal multiparts.
-       (toplevel): Got rid of a warning, it'll never be an abstract
-       class.
-
-       * camel-pgp-context.c (pgp_hash_to_id): 
-       (pgp_id_to_hash): Implement.
-       (camel_pgp_context_init): Init the pgp protocol specifier.
-
-       * camel-cipher-context.c (camel_cipher_id_to_hash): 
-       (camel_cipher_hash_to_id): Util virtual methods to handle the
-       cipher id string.
-
-       * camel-mime-filter-canon.[ch]: A new filter, end/start of line
-       canonicalisation filter.  Can escape "From " and strip trailing
-       whitespace, and canonicalise the end of line to crlf or to lf.
-
-2002-05-29  Not Zed  <NotZed@Ximian.com>
-
-       * camel-multipart.h (struct _CamelMultipart): Removed the
-       'parent', nothing used it, anywhere.  Cleaned up some formatting
-       slightly.
-
-2002-05-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_readline):
-       On error, don't leak the GByteArray buffer.
-
-       * providers/imap/camel-imap-folder.c (imap_rescan): Free the
-       response before checking for errors. I'm not sure this'll actually
-       fix the memory leak here, but it might? Certainly can't hurt.
-
-       * camel-block-file.c (camel_block_file_finalise): Destroy the
-       blocks hash table.
-
-2002-05-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Only free
-       the LOGOUT response if it is non-NULL.
-
-2002-05-28  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-folder.c (maildir_refresh_info):
-       Implement.  Run a summary check to update for any newly arrived
-       messages.
-
-       * providers/local/camel-maildir-store.c (scan_dir): If we have a
-       folder, execute a refresh_info on it, to suck in any new stuff.
-
-2002-05-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_log): Use the
-       CamelMessageInfo rather than the CamelMimeMessage because the
-       message may not have been loaded (thus NULL).
-
-2002-05-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (connect_to_server): On
-       connection failure, unref the tcp stream.
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server): On
-       connection failure, unref the tcp stream.
-
-       * providers/imap/camel-imap-store.c (connect_to_server): On
-       connection failure, unref the tcp stream.
-
-       * providers/nntp/camel-nntp-store.c (nntp_store_query_auth_types):
-       Our parent class is no longer CamelRemoteStore.
-       (nntp_store_init): Same.
-       (camel_nntp_store_get_type): Here too.
-       (nntp_connect): Rewritten to try to connect via SSL. Also remove
-       code using CamelRemoteStore.
-       (camel_nntp_command): Don't call camel_remote_store_connected().
-
-2002-05-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (content_info_get_part_spec):
-       Helps if we allocate enough space here. Also, start smoking the
-       same purple flavoured IMAP crack when counting parts (parts don't
-       count if their parent part is a message/* part with a parent
-       part). Fixes bug #25260.
-
-2002-05-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-command.c (imap_read_untagged): Use
-       the new readline function.
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Use the
-       new camel_imap_store_readline() function which doesn't suck quite
-       as bad as the original camel_remote_store_recv_line() function.
-       (camel_imap_store_readline): New function to replace
-       camel_remote_store_recv_line(). This function is at least safe
-       with embedded nul chars. Not that any of our callers use it
-       *sigh*.
-
-2002-05-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Added
-       some NULL protection fixes.
-
-2002-05-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-remote-store.c: Removed from the build. Glory glory
-       hallelujah.
-
-       * camel-disco-store.c: Updated to inherit from
-       CamelStore rather than CamelRemoteStore.
-
-       * providers/imap/camel-imap-command.c (imap_command_start): Don't
-       use the camel-remote-store shit to send a string. Just use
-       camel_stream_printf for chrissakes.
-
-       * providers/imap/camel-imap-store.c: Updated to not depend on
-       CamelRemoteStore and to handle STARTTLS.
-       (imap_disconnect_online): Unref the streams.
-       (imap_keepalive): Removed.
-       (camel_imap_store_connected): New function to replace
-       camel_remote_store_connected().
-       (camel_imap_store_finalize): Unref the streams.
-       (camel_imap_store_recv_line): New function to replace
-       camel_remote_store_recv_line().
-       (imap_get_capability): Renamed from connect_to_server
-       (connect_to_server): New function to try and connect to the
-       server.
-       (connect_to_server_wrapper): New wrapper function around
-       connect_to_server that takes the ssl modes into consideration.
-       (query_auth_types): Don't bother calling our parent's
-       implementation of query_auth_types() since CamelDiscoStore doesn't
-       have any anyway.
-       (imap_get_name): New method to implement CamelService::get_name
-
-2002-05-18  Not Zed  <NotZed@Ximian.com>
-
-       * camel-search-private.c (camel_utf8_getc): If we get an invalid
-       start char, just ignore it and goto the next character.
-
-2002-05-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_offline): Don't
-       call some retarded function to simply set an exception.
-
-       * camel-filter-search.c (get_label): New e-sexp callback function
-       to get a user_tag label value.
-
-2002-05-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-utils.c
-       (imap_parse_namespace_response): New function to parse a NAMESPACE
-       response properly.
-       (imap_namespaces_destroy): New function to destroy the returned
-       structure from the above function.
-
-2002-05-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-service.c (service_setv): Only reconnect if we are already
-       connected, if we are in a disconnected state then no need to
-       reconnect.
-
-       * providers/imap/camel-imap-folder.c (get_content): If the
-       part_spec is an empty string for a leaft part, use "1" since we
-       don't actually want to get the raw message headers too.
-
-2002-05-15  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (refresh_folder_info): removed.
-       (imap_store_refresh_folders): Copy the folders first, then refresh
-       them, outside of the cache_lock, which could cause deadlocks
-       because of a workaround for crappo exchange.
-       (imap_disconnect_online): Dont pass an exception to LOGOUT
-       command.  The required response 'BYE' always sets an exception
-       when we call LOGOUT.  This also interfered with a lot of other
-       processing causing partial failures and messed up offline/online
-       state.
-
-       * camel-disco-folder.c (disco_prepare_for_offline): Do progress
-       reporting.
-
-2002-05-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Fixes bug #24136.
-
-       * providers/imap/camel-imap-folder.c (content_info_get_part_spec):
-       New function to take a CamelMessageContentInfo and generate a
-       part-specification string.
-       (get_content): Stop passing around part_spec strings and use
-       content_info_get_part_spec instead.
-
-       * camel-folder-summary.c (camel_content_info_dump): Made this into
-       a public debugging function.
-
-       * providers/imap/camel-imap-utils.c (imap_parse_body): Make sure
-       to set the parent of any message/rfc822 subparts.
-
-2002-05-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): Previous
-       fix reverted.
-
-2002-05-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_class_init):
-       Overload the setv/getv CamelObject virtual methods.
-       (imap_setv): Implemented.
-       (imap_getv): Implemented.
-
-2002-05-13  Dan Winship  <danw@ximian.com>
-
-       * camel-folder.c (camel_folder_append_message): Add a "char
-       **appended_uid" argument, for the caller to optionally pass in a
-       variable to receive the UID of the appended message (if the
-       provider knows it).
-       (camel_folder_transfer_messages_to): Likewise, add "GPtrArray
-       **transferred_uids"
-       (transfer_messages_to): Update default implementation to handle
-       transferred_uids.
-
-       * camel-disco-folder.c (disco_append_message,
-       disco_transfer_messages_to): Update for API changes.
-
-       * camel-disco-diary.c (camel_disco_diary_replay): Update the
-       diary's temporary uid->real uid map when replaying appends and
-       transfers.
-
-       * providers/imap/camel-imap-folder.c (imap_append_offline,
-       imap_append_online, imap_transfer_offline): Pass back the new
-       UIDs, when requested and available.
-       (imap_append_resyncing): Pass back the new UIDs when requested and
-       available. Remove the diary uidmap managing code since
-       CamelDiscoDiary can handle that itself now.
-       (imap_transfer_online, imap_transfer_resyncing): Update for new
-       APIs, but don't actually pass back the new UIDs yet. (It's tricky
-       since the COPYUID response may not be in the same order as the
-       input uids.)
-       
-       * providers/local/camel-maildir-folder.c (maildir_append_message):
-       Pass back the new UID if requested.
-
-       * providers/local/camel-mbox-folder.c (mbox_append_message):
-       Likewise.
-
-       * providers/local/camel-mh-folder.c (mh_append_message): Likewise.
-
-       * providers/local/camel-spool-folder.c (spool_append_message):
-       Likewise.
-
-       * camel-digest-folder.c (digest_append_message,
-       digest_transfer_messages_to): Update for API changes.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message,
-       do_copy, do_move): Update for API changes.
-
-       * camel-vee-folder.c (vee_append_message,
-       vee_transfer_messages_to): Likewise.
-
-       * camel-vtrash-folder.c (vtrash_append_message,
-       vtrash_transfer_messages_to): Likewise. 
-
-2002-05-13  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-thread.c
-       (camel_folder_thread_messages_new_summary):
-       (camel_folder_thread_messages_new): Since the fix for #3357 uses
-       'order=0' to indicate tree structure nodes, make sure we dont
-       actually set order=0 for valid messages, otherwise we silently
-       lose duplicates of the first message (i==0).  Fixes #19920.
-
-2002-05-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): Fetch the
-       BODYSTRUCTURE rather than BODY since BODY seems to be lacking some
-       of the data we need. This fixes bug #24136.
-
-       * camel-transport.c (camel_transport_get_type): Might help if we
-       called camel_transport_class_init.
-
-2002-05-10  Dan Winship  <danw@ximian.com>
-
-       * camel-folder.c (camel_folder_transfer_messages_to): Replace
-       copy_messages_to and move_messages_to with a single function that
-       just takes a "delete_originals" flag. Also, use the vtrash
-       implementation if *either* folder is a vtrash.
-       (transfer_messages_to): Make this use camel_operation_progress
-       (previously move_messages_to did but copy_messages_to didn't), and
-       freeze/thaw the folder(s) if doing multiple messages.
-
-       * camel-vtrash-folder.c (vtrash_transfer_messages_to): Update for
-       move/copy merge. Move the "move messages into vtrash" code here
-       from mail-ops.c. Now all of the vtrash move/copy special casing is
-       in camel instead of half of it being here and half in mail/. (This
-       should also make it so that "Move to Trash" will work in filter
-       rules.)
-
-       * camel-vee-folder.c (vee_transfer_messages_to): Make this just
-       return an exception, since it will only be called when trying to
-       move/copy messages from one vfolder to another.
-       (vee_append_message): Add this too so we get a nicer error message
-       than the default "unimplemented" one in camel-folder.c.
-
-       * camel-digest-folder.c: Replace copy_messages_to and
-       move_messages_to with transfer_messages_to.
-
-       * camel-disco-folder.c: Likewise
-
-       * camel-disco-diary.c (camel_disco_diary_log,
-       camel_disco_diary_replay): replace MOVE/COPY with TRANSFER.
-
-       * providers/imap/camel-imap-folder.c (imap_transfer_offline,
-       imap_transfer_online, imap_transfer_resyncing): Update for
-       changes. (This ends up being a bit more complicated than it was
-       before for now, but later disconnected operation changes should
-       resimplify it.)
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message,
-       do_copy, do_move): Use transfer_messages_to instead of copy.
-
-2002-05-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-search.c (shell_exec): New filter function to pipe
-       a message to another program.
-       (run_command): Fixed some bugs to make this work.
-
-2002-05-09  Not Zed  <NotZed@Ximian.com>
-
-       * camel-service.c (camel_service_disconnect): Instead of testing
-       for SERVICE_CONNECTED, we need to also handle SERVICE_CONNECTING
-       too, as it will often have setup some details before it failed.
-       Make it !DISCONNECTED (and !DISCONNECTING for recursive calls,
-       which happen).  Fixes #23782, and maybe also #21604 and many other
-       random crashes.
-
-2002-05-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-digest-store.c (digest_setv): Implemented.
-       (digest_getv): Implemented.
-
-       * camel-disco-store.c (disco_setv): Implemented.
-       (disco_getv): Implemented.
-
-       * camel-remote-store.c (remote_store_setv): Implemented.
-       (remote_store_getv): Implemented.
-
-       * camel-transport.c (camel_transport_class_init): Implemented.
-       (transport_setv): Implemented.
-       (transport_getv): Implemented.
-
-       * camel-store.c (store_setv): Implemented.
-       (store_getv): Implemented.
-
-       * camel-service.c (service_setv): Implemented.
-       (service_getv): Implemented.
-
-       * providers/pop3/camel-pop3-store.c (pop3_try_authenticate):
-       camel_pop3_engine_iterate doesn't return the state, it returns -1
-       on fail, 0 when finished processing request or >0 if more ops are
-       in the queue, so don't check status against CAMEL_POP3_STATE_OK,
-       instead check pcp->state against that.
-
-2002-05-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-object.h: s/class/klass for arguments so that c++
-       developers don't complain later.
-
-2002-05-07  Dan Winship  <danw@ximian.com>
-
-       * camel-object.c (camel_object_class_cast): Fix a crash in a
-       g_warning.
-
-2002-05-07  Not Zed  <NotZed@Ximian.com>
-
-       * camel-remote-store.c (remote_send_string): Check for LOGIN xxxx
-       as well if debug is on, so we dont print passwords to evolution
-       logs.
-
-       * providers/imap/camel-imap-utils.c (imap_is_atom_char): This was
-       really broken.  1. isprint() is locale dependent, and 2. it looked
-       up an 8 bit value in a 7 bit table without truncating it.  I've
-       removed the isprint() stuff and just put it directly into the
-       special table, which i've expanded to the right size too.
-
-       * providers/imap/*: Applied patch from Preston Elder
-       <prez@magick.tm> to make camel only use literals if it needs to
-       for simple strings.  Changed slightly to use imap_is_atom() and
-       more consistent formatting.
-       * providers/imap/camel-imap-utils.c (imap_is_atom): Changed from
-       imap_needs_quoting().
-
-       ** Merged in camel-object2 branch.  Simpler camelobject
-       implementation + object args interface.
-
-       * camel.c (camel_init): Call camel_object_get_type() to make sure
-       camel_object_type is initialised.
-
-       * camel-object.h (CAMEL_OBJECT_TYPE): Changed to return global
-       camel_object_type pointer, not call camel_object_get_type.
-       
-2002-05-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): If
-       the pop3 command status is -1, then we probably have a TCP error
-       (?) so set a SYSTEM exception so our caller can distinguish
-       between a "bad password" and a "tcp error".
-       (pop3_connect): Only uncache the password on "bad password"
-       errors.
-
-       * camel-pgp-mime.c (pgp_mime_part_sign_prepare_part): Use
-       CamelMimeFilterBestenc to get a more appropriate encoding rather
-       than just blindling assigning QP.
-
-       * providers/imap/camel-imap-folder.c (do_append): Call
-       camel_mime_message_encode_8bit_parts() which fixes bug #10885.
-
-       * camel-tcp-stream-raw.c (socket_connect): Don't bother with
-       counting down the timeout.
-
-2002-05-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-stream-fs.c (stream_read): Same fix as the tcp stream.
-       (stream_write): Again here. Just like tcp stream's stream_write(),
-       also make sure to save errno before calling fcntl to restore the
-       fd flags.
-
-       * camel-tcp-stream-raw.c (stream_read): Handle EINTR errors for
-       select().
-       (stream_write): Same and also preserve errno when setting the fd
-       flags back. If w == -1, return -1.
-
-2002-05-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_mailbox): Fixed the fix for
-       stupidly-broken-mailer bug #5 to work when multiple unescaped
-       characters were in a row. Fixes bug #24140.
-
-       * camel-tcp-stream-raw.c (socket_connect): Check select() for
-       EINTR errors.
-
-       * camel-pgp-context.c (crypto_exec_with_passwd): Change the order
-       of some code so that we check if the select() failed before we
-       check for user-cancellation.
-
-       * camel-service.c (camel_gethostbyname): Check for EINTR when
-       select()ing.
-       (camel_gethostbyaddr): Same.
-
-2002-04-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-provider.c (camel_provider_auto_detect): Now takes a
-       CamelURL argument rather than a GHashTable *settings argument.
-
-2002-04-29  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-store.c (get_folder_info): We want
-       to set unread_count to get_unread_message_count, not
-       get_message_count().  Might fix #17174.  Also removed FIXME: as it
-       was fixed.
-
-2002-04-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/Makefile.am: Don't link to libibex.a anymore.
-
-       * providers/nntp/Makefile.am: Same.
-
-       * providers/imap/Makefile.am: And again here.
-
-       * camel-store-summary.h: No longer want to #include
-       <libibex/ibex.h>
-
-       * camel-provider.c (camel_provider_auto_detect): New function to
-       auto-detect configuration settings.
-
-2002-04-26  Not Zed  <NotZed@Ximian.com>
-
-       * camel-block-file.c (block_file_validate_root): Remove the
-       excessive \n's, after printfs.
-
-       * camel-text-index.c (text_index_compress_nosync): @!#$@#$!@$#!.
-       Since the rename op was fixed, this broke compression's rename,
-       resulting in the index 'vanishing' after every compress
-       (i.e. after every reindex).  Fix this code to account for the
-       fixed rename operation.
-
-2002-04-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_rcpt): Don't put a
-       space between the "RCPT TO:" and the "<recipient>" strings -
-       rfc0821 was not clear on this but it seems rfc2821 defines a
-       grammar excluding that SP.
-       (smtp_mail): Same.
-
-2002-04-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-local-provider.c
-       (camel_provider_module_init): Configure the default paths for mh,
-       mbox, maildir, spools, etc.
-
-       * camel-provider.h: Add a CAMEL_PROVIDER_CONF_LABEL enum and
-       define some default CamelProviderConfEntry macros.
-
-2002-04-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-folder.c (pop3_refresh_info): Free the
-       LIST pop3 command.
-
-       * camel-data-cache.c (data_cache_finalise): Free the cdc->path.
-
-       * camel-multipart.c (write_to_stream): Don't g_return_val_if_fail
-       here if the boundary is an empty string. See bug #23676 for
-       details. The way I see it, we have 2 options: 1) leave this fix
-       the way it is, thus allowing multipart boundaries to be
-       empty-strings; or 2) make camel_multipart_get_boundary() change
-       the boundary to something legal if the boundary is an
-       empty-string. Since the parser should be able to handle an
-       empty-string boundary *and* more importantly because we want to
-       keep the same boundaries as the original raw message so as to be
-       able to verify multipart/signed parts, I vote for solution #1.
-
-2002-04-19  Not Zed  <NotZed@Ximian.com>
-
-       * devel-docs/camel-index.txt: Start of a white-paperish document
-       describing camel-index and older libibex.
-
-2002-04-18  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-store.c (rename_folder): If we get a
-       failure, make sure we set an exception.
-
-       * camel-text-index.c (camel_text_index_rename): If the file
-       doesn't exist, just assume it never did, dont return failure.
-       (text_index_rename): Add '.index' to the path name we're using,
-       since we dont get it passed in.
-
-       * camel-folder-search.c (check_header): When doing a contains
-       match, split the words and perform an and on it.
-       (match_words_messages): If we have an index, but were forced to do
-       a full search, first lookup a subset of messages using
-       the index and a simplified word set.  Only do a manual search of
-       this subset.
-
-2002-04-17  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-search.c (match_message_index): Changed to take a
-       utf8 string not a regex pattern.
-       (match_words_index): Matches against a camel_search_words list.
-       (match_words_1message): Matches a single message against a
-       camel_search_words list.
-       (match_words_message): Same, but gets the message from the folder
-       for you.
-       (match_words_messages): Matches a list of messages against a words
-       list.
-       (search_body_contains): Rewritten to handle multiple word
-       searches.  For #23371.
-
-       * providers/imap/camel-imap-search.c (sync_match): Split words
-       when searching, to support multiple search words.  Also, try
-       searching specifying charset of utf8 if we can, if that fails,
-       fall back to not specifying charset.  TODO: It should translate
-       the strings into the locale default charset?
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Added new
-       cap - utf8_search, if set, we tell the server we're searching
-       using utf8, otherwise we dont (incorrectly, since we always use
-       utf8 to search).
-
-       * camel-search-private.c (camel_ustrstrcase): Make this class public.
-       (camel_search_words_split): Split a word into multiple words based
-       on whitespace, and keep track of whether the word is simple
-       (indexable directly), or not.
-       (camel_search_words_free): Free 'em.
-
-2002-04-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-vee-folder.c (vee_search_by_expression): If the vee-folder
-       is the unmatched, we don't have our own expression so we cannot
-       merge them. Instead, just use the expression passed in. This fixes
-       a Null-Pointer-Read crash on Solaris systems at least.
-
-2002-04-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_folder): Get
-       rid of an unused variable.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): Use
-       camel_gethostbyaddr since gethostbyaddr is not reentrant.
-
-       * camel-http-stream.c (http_connect): Updated after the rename of
-       camel_get_host_byname.
-
-       * camel-service.c (camel_gethostbyname): Renamed.
-       (camel_gethostbyaddr): New cancellable/reentrant version of
-       gethostbyaddr.
-
-2002-04-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-spoold-store.c: Added #include
-       <sys/types.h> for dirent.h which needs it on MacOS X.
-
-       * providers/local/camel-maildir-store.c: Same.
-
-       * providers/nntp/camel-nntp-store.c: Same.
-
-       * providers/imap/camel-imap-message-cache.c: Same.
-
-       * camel-provider.c: Same.
-
-       * camel-data-cache.c: Same.
-
-2002-04-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * broken-date-parser.c (datetok): Treat commas as token
-       delimeters.
-       (WEEKDAY_CHARS): Use full weekday names in case the broken mailer
-       used the full names.
-       (MONTH_CHARS): Same as above but for months.
-
-2002-04-15  Not Zed  <NotZed@Ximian.com>
-
-       * *.c: Fix callers for api changes to camel-object, mainly
-       declare_event->add_event, and classfuncs->klass, and a couple
-       of missing #include <config.h>'s
-
-       * camel-arg.[ch], Makefile.am: New support code for
-       camel_object_get/set arg.
-
-       * *.h: Fixed all uses of get_type to return a CamelType rather
-       than a guint (now a pointer).
-
-       * camel-object.[ch]: Major cleanup of object implementation.  Also
-       added a get/set interface, and some debugging options.
-
-2002-04-11  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-summary.c (spool_summary_sync_full):
-       If the last message(s) were deleted, and we had any messages
-       output, account for the lost \n of the following From line by
-       adding an extra \n. fix for #8214.
-
-2002-04-10  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-part-utils.c (convert_buffer): If we get a 0 length
-       input, return a 0 lenght output as valid - fixes bugs with some
-       iconv impl and its simpler anyway.
-
-2002-04-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c: Set the UID_SET_LIMIT value
-       to 4096. I ran into an issue tonight where apparently the IMAP
-       server changed the UIDVALIDITY and so Evo needed to re-fetch all
-       headers and it was trying to send a uid set of some 25k (yes, I
-       have a very large INBOX). Anyways, it was set to unlimited
-       before. Courier IMAPd can safely handle up to ~16k per token, but
-       UW IMAPd can only handle 8k per command-line, so I set it to 4k
-       just to be safe.
-
-2002-04-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part-utils.c (convert_buffer): Fixed a bug that would
-       miscalculate how much data to copy into the GByteArray (negative
-       value) thus causing a segfault. Also optimized it while I was at
-       it.
-
-2002-04-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (camel_store_init): Make the folder_lock
-       recursive. See bug #22363 for details. Basically,
-       get_folder_info() is requesting a diary folder which in turn
-       connects which requests then calls get_folder() but deadlocks
-       because get_folder_info already holds the lock.
-
-       * camel-mime-message.c (camel_mime_message_set_date): Don't adjust
-       the timezone offset if we used tm.tm_gmtoff because it is already
-       adjusted.
-
-2002-04-09  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-part.c (construct_from_parser): If we get multiple
-       Content-Type header values, change subsequent headers to
-       X-Invalid-Content-Type so it doesn't wreck processing.  This fixes
-       the reported case in #18929, but i dont know if it fixes the
-       original posters problems.
-
-2002-04-08  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vtrash-folder.c (vtrash_move_messages_to): If we find
-       we're moving from the vtrash to another folder, we need to convert
-       the uid from a vfolder uid to the source uid (+8).  Fix for
-       #20886.  Also changed to batch multiple moves to different folders
-       so they are done as efficiently as possible rather than one at a
-       time.
-
-       * camel-mime-utils.c (base64_decode_step): If we only get passed
-       '=', we back track only if we actually output any data.  Fix for
-       #21716.
-       (quoted_decode): Pass out size_t instead of int, and use 0 instead
-       of -1 for error since its not signed.  This will fix similar bug
-       to above in different circumstances since the result is taken as
-       unsigned.  This is only an internal func.
-       (quoted_encode): Return size_t just for consistency.
-
-       * camel-block-file.c (block_file_validate_root): Comment out the
-       debug and move it into a warning when the validation fails.
-
-2002-04-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (uuencode_close): Don't count our filler when
-       encoding our line-length octet.
-
-2002-04-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-http-stream.c (http_get_headers): Don't get the statuscode
-       here anymore.
-       (http_method_invoke): Use a User-Agent header and do basic proxy
-       authentication.
-       (stream_read): Handle redirects.
-       (camel_http_stream_set_user_agent): New function to allow client
-       to set the User-Agent string.
-       (camel_http_stream_set_proxy): New function for setting the proxy
-       server.
-       (camel_http_stream_set_proxy_authrealm): New function for setting
-       the proxy auth realm.
-       (camel_http_stream_set_proxy_authpass): New function for setting
-       the proxy auth password.
-
-2002-04-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-summary.c (message_info_new): Simplified since we
-       can now decode in-reply-to without getting extra cruft. Get rid of
-       the FIXME about having to check scan->id because of the
-       possibility of it being NULL, this can no longer happen.
-
-       * camel-mime-utils.c (header_references_inreplyto_decode): New
-       function to decode in-reply-to headers. Only grabs the first thing
-       that looks like a message-id and then returns.
-       (header_references_decode): Loop calling
-       header_references_decode_single (a new internal function).
-
-2002-04-04  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-search.c (imap_body_contains): If
-       (body-contains) is not passed any arguments, return empty/false.
-       Fixes a crash exposed by #15001.
-
-       * camel-remote-store.c (remote_connect): Reset the keepalive
-       timeout to 10 minutes rather than the 30 seconds I was using for
-       testing.
-
-2002-04-03  Dan Winship  <danw@ximian.com>
-
-       * camel-provider.h (CamelProvider): make service_cache be an array
-       of CAMEL_NUM_PROVIDER_TYPES elements so you can have a single
-       provider offer both stores and transports. (Eg, Exchange, NNTP)
-
-       * providers/imap/camel-imap-provider.c: Don't initialize
-       service_cache here. (The session code can do it itself since the
-       url_hash and url_equal functions are stored as part of the
-       provider.)
-
-       * providers/nntp/camel-nntp-provider.c: Likewise.
-
-       * providers/local/camel-local-provider.c: Likewise.
-
-       * providers/pop3/camel-pop3-provider.c: Likewise.
-
-       * providers/sendmail/camel-sendmail-provider.c: Likewise.
-
-       * providers/smtp/camel-smtp-provider.c: Likewise.
-
-       * camel-session.c (register_provider): Initialize the provider's
-       service cache(s) here.
-       (camel_session_class_init): Don't initialize.
-       vee_provider.service_cache here.
-       (camel_session_destroy_provider): Update to destroy multiple
-       service_caches.
-       (service_cache_remove, get_service): Tweak these a bit to deal
-       with multiple service_caches.
-
-2002-04-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (set_errno): Handle a ton more nspr i/o
-       errno's.
-       (stream_connect): Act as if we are doing a non-blocking
-       connect. This is to try and work around bug #15120 where users get
-       an EINPROGRESS error. Maybe importing a PRFileDesc into SSL mode
-       automagically makes it non-blocking? I dunno.
-
-2002-04-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-summary.c (message_info_new): Updated the
-       construction of the references to match JWZ's updated algorithm
-       initialization (ie, append any In-Reply-To reference onto any
-       References header and never take more than a single message-id
-       from the In-Reply-To header since anything after the first will
-       probably just be email addresses). Fixes bug #1336.
-
-2002-04-03  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): Turn indexing back on, fingers
-       crossed ...
-
-       * camel-block-file.c (sync_nolock): #!@$@$#@~#$
-       DF@#$!Q@$#!@$#!#%.  Well it helps if we're iterating a list to
-       iterate the node pointer ...
-
-       * camel-text-index.c (text_index_sync): Sync the key tables
-       explcitly.
-       (text_index_sync): Debug out frag info.
-       (camel_text_index_dump): Added a (rather large, but optional) raw
-       dumping mode for debugging purposes.
-
-       * camel-partition-table.c (camel_key_table_finalise): Sync root
-       block when done.
-       (camel_key_table_sync): New function, sync key table (root) explicitly.
-       (camel_partition_table_sync): Method to explicitly sync the
-       partition table.
-
-2002-04-02  Not Zed  <NotZed@Ximian.com>
-
-       * camel-block-file.c (camel_block_file_free_block): Mark root
-       block dirty when we change it (this function isn't used yet
-       anyway).
-
-       * camel-text-index.c (text_index_add_name_to_word): Touch the root
-       block when we modify the counts.  Also, abort processing on any
-       errors.
-       (text_index_sync): Fix typo in comments.  Sync the block file
-       inside the lock.
-       (text_index_compress_nosync): Lock the old index while we're
-       compressing.
-       (text_index_compress_nosync): Remove the bogus while() at the end
-       of the while() loops!  Also plug a memleak - records weren't
-       freed.
-       (text_index_rename): Lock around rename op.
-       (text_index_add_name): More typos.
-       (text_index_sync): Touch root when changing it.
-       (text_index_add_name): "
-       (text_index_delete_name): "
-       (camel_text_index_new): Touch root if we change it.
-       (text_index_cursor_reset): Make sure we NULL pointers after we
-       free them (nothing uses this yet).
-
-       * camel-partition-table.c (hash_key): Remove some debug
-       accidentally left in.
-       (camel_partition_table_add): When linking in the next block list,
-       set the right previous pointer.
-       (camel_key_table_add): Simplify the 'left' calculation (it was
-       already ok though).
-       (camel_key_table_next): Initialise returns before processing.
-       Broaden the lock slightly, and simplify validity calculations.
-
-       * providers/imap/camel-imap-store.c (imap_keepalive): Put back in
-       the exception setup stuff i disabled for debugging.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): Temporarily disable indexing.
-
-2002-03-28  Not Zed  <NotZed@Ximian.com>
-
-       * camel-partition-table.c (camel_key_table_lookup): Change range
-       checking assert to a warning.
-
-       * providers/pop3/camel-pop3-folder.c (pop3_finalize): Make sure we
-       flush out all outstanding commands before finalising, stops being
-       finalised while outsanding requests are processed by the store
-       finalise.
-       (pop3_get_message): Instead of pre-fetching all messages, just
-       pre-fetch a maxiumum number at any one time, stops us running out
-       of cache fd's.
-       
-       * providers/nntp/camel-nntp-folder.c (nntp_folder_init/finalise):
-       Setup priv data + locks, & free.
-
-       * providers/imap/camel-imap-folder.c (imap_rescan): Batch all
-       message_chagned events into a single folder_changed event
-       (otherwise updates can be >>> expensive, like >5 hours for 80K
-       messages changing!).  Alternately it could use folder
-       freeze/unfreeze perhaps.
-
-2002-03-27  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_keepalive): Pass an
-       exception to called code so it behaves properly since it uses the
-       passed exception to check returns.
-
-2002-04-01  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/Makefile.am (libcamelimap_la_LDFLAGS): Use
-       -avoid-version instead of -version-info 0:0:0, and specify
-       -module. (From Max Horn <max@quendi.de>).
-
-       * providers/local/Makefile.am (libcamellocal_la_LDFLAGS): Likewise.
-
-       * providers/nntp/Makefile.am (libcamelnntp_la_LDFLAGS): Likewise.
-
-       * providers/sendmail/Makefile.am (libcamelsendmail_la_LDFLAGS):
-       Likewise.
-
-       * providers/smtp/Makefile.am (libcamelsmtp_la_LDFLAGS): Likewise.
-
-       * providers/pop3/Makefile.am (libcamelpop3_la_LDFLAGS): Likewise.
-       Also remove $(KRB4_LDFLAGS) since KPOP is gone.
-       (INCLUDES): and $(KRB4_CFLAGS)
-
-2002-03-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (do_copy): We now have to check to make
-       sure that p->message is non-NULL because we only load the message
-       when we have to.
-       (do_move): Same here.
-
-2002-03-28  Dan Winship  <danw@ximian.com>
-
-       * camel-transport.c (camel_transport_send_to): Change the message
-       arg to a CamelMimeMessage instead of a CamelMedium. Even the NNTP
-       provider returns CamelMimeMessages, and we're never going to
-       support anything more exotic than that. Also do a few more
-       g_return_if_fails here instead of in the providers.
-       (camel_transport_can_send): No longer needed.
-       (camel_transport_send): Remove this too. It wasn't being used any
-       more, and it doesn't behave exactly the same in sendmail and smtp.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_send,
-       smtp_can_send): Gone.
-       (smtp_send_to): Update for arg change.
-       (smtp_data): Make this take a CamelMimeMessage too.
-
-       * providers/sendmail/camel-sendmail-transport.c (sendmail_send,
-       sendmail_can_send): Gone.
-       (sendmail_send_to): Update for arg change, and merge in the part
-       that used to be shared with sendmail_send.
-
-2002-03-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_folder):
-       Construct the source_url the right way. The previous way was
-       generating urls like pop://fejj@ximian.com;keep_on_server/inbox
-       which is wrong.
-
-2002-03-26  Not Zed  <NotZed@Ximian.com>
-
-       * camel-text-index.c (text_index_normalise): Changed to use just
-       g_utf8_strdown instead of utf8_normalise, to match the indexing
-       code.  utf8_normalise is just far too expensive (saves approx 25%
-       total processing).
-
-2002-03-25  Not Zed  <NotZed@Ximian.com>
-
-       * camel-text-index.c (text_index_add_name): When we add a new
-       name, up all of the cache limits, because we're probably going to
-       be adding more.
-       (text_index_sync): Drop the cache limits back down again, we dont
-       need them when looking words up.
-
-       ** MERGE camel_index branch.
-
-       * camel-text-index.[ch]: Added files i forgot to add (eep nearly
-       lost all this work!)
-
-       * camel-block-file.c (sync_nolock): Fix an infinite loop in syncing.
-
-2002-03-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-summary.c (camel_message_info_new_from_header): Use
-       the date in the received header for the received_date.
-
-2002-03-22  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): Use the right option to remove the
-       index file and reset the index file on creation.
-       (camel_local_folder_construct): Remove any existing '.ibex' files
-       - these are the old format index files.
-
-       * camel-block-file.c (camel_block_file_rename): Lock io lock while
-       renaming.
-       (camel_key_file_rename): Lock around rename.
-       (block_file_validate_root): Implement sync flag checking.
-       (camel_block_file_touch_block): Turn off the sync flag if we're
-       touching any non-root block and write it to disk.  Shoudl this
-       fsync()?
-       (sync_nolock): sync the root block only if we need to.
-
-       * providers/local/camel-local-store.c (rename_folder): Re-enable
-       index rename code.  Not sure how race-free it is though.
-       (delete_folder): Delete the index file properly.
-
-       * camel-partition-table.c (camel_key_table_lookup): Initialise
-       output values to 0 before doing anything.
-       (camel_key_table_add): Do some range-checking on values.
-
-       * camel-text-index.c (text_index_compress): Changed to call sync here.
-       (text_index_compress_nolock): and not here - stops a recursive
-       sync call when sync performs a compress also.
-       (text_index_compress_nolock): Change to _nosync, since the locking
-       is irrelevent (recursive lock).  Fixed callers.
-       (text_index_add_name_to_word): If we get a failure with key table
-       ops, fail immediately.
-       (text_index_compress_nosync): Likewise.
-       (text_index_write_name): If the nameid is 0, do nothing.
-       (text_index_add_name): If we can't get a keyid, dont add it to the
-       partition table.
-       (camel_text_index_remove): Function to delete an index file.
-       (text_index_compress_nosync): Clean up temp files when done.
-
-       * camel-folder-search.c (match_messages_index): New function,
-       split from body_contains, matches a regex against all words in an
-       index.
-       (match_message_index): Similar to above but matches against an
-       individual message.
-       (search_body_contains): Changed to use above functions for
-       matching - substring matches should now work on indexed data.
-
-2002-03-21  Not Zed  <NotZed@Ximian.com>
-
-       * camel-index.c (camel_index_words/names): New virtual
-       methods/stubs to get a cursor of all words and names.
-
-       * camel-text-index.c (text_index_compress_nolock): Split from
-       text_index_compress, so we can call the compressor while locked
-       also, removed lock calls.
-       (text_index_compress): Changed to stub which calls
-       text_index_compress_nolock.
-       (camel_text_index_key_cursor_new): New object to iterate through
-       a key table.
-       (text_index_words, text_index_names): Implement virtual functions
-       for iterating through all words or names.
-
-       * camel-block-file.c: Turn off some debug.
-
-2002-03-20  Not Zed  <NotZed@Ximian.com>
-
-       ** New body index implementation.
-
-       * camel-index*: Code for camel index, a new class to replace ibex.
-
-       * camel-block-file.[ch]: block-based and link based
-       filesystem-in-a-file classes.
-
-       * camel-partition-table.[ch]: An implementation of a partition
-       table (automatically extending on-disk hash-table using ideal
-       hash), and a key-table, a key<>name mapping table.  Used by
-       camelindex.
-
-       * providers/local/*, camel-folder-summary.[ch]: Changed to use
-       camel-index interface rather than ibex.
-
-2002-03-05  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-summary.c (maildir_summary_check):
-       Do progress reporting of operations.
-       (maildir_summary_sync): Same here.
-
-2002-03-04  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spoold-store.c (scan_dir): Kill a warning
-       with a cast.
-
-       * providers/local/camel-*.c: Changed for ibex->camelindex.
-
-       * camel-folder-search.c (camel_folder_search_set_summary): Init
-       summary_hash to point to 'static' uid strings.
-       (search_body_contains): Use the static uid memory to return
-       results rather than the values from the index library.
-
-       * camel-folder-search.[ch]: Changed to use camelindex object.
-
-       * camel-folder-summary.c (summary_build_content_info_message):
-       Use a stream to index content, also filter html mail first.
-       (camel_folder_summary_info_new_from_message): Use a stream
-       filtered to index content.
-       (main): Removed the test main code.  Added headers for open call
-       (ibex must've had them before).
-
-       * camel-folder-summary.[ch]: Changed from ibex to CamelIndex.
-
-       * camel-mime-filter-index.c (camel_mime_filter_index_finalize):
-       Unref index.
-
-       * camel-mime-filter-index.[ch]: Changed from ibex to CamelIndex.
-
-2002-03-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_encode_param): Fix this to work
-       right. We need to convert the input buffer to the charset we claim
-       in the encoded param (duh).
-
-2002-03-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c
-       (connect_to_server_wrapper): Updated to use the same logic as the
-       POP code.
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server): No longer
-       takes a stls_supported argument since we no longer need it with
-       the new logic.
-       (connect_to_server_wrapper): New logic: First try connecting to
-       the SSL port (995 by default), if that fails with
-       SERVICE_UNAVAILABLE, then we attempt to connect (to port 110 by
-       default) and try to use STARTTLS.
-
-2002-03-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder.h: 
-
-       * camel-private.h: Don't allow any empty structs. If
-       !ENABLE_THREADS, provide a gpointer dummy member. Fixes bug #6382.
-
-2002-03-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_auth): Added a
-       work-around for SMTP servers that can't read the RFCs and thus
-       implement SASL incorrectly. Oh well, that's life in the world of
-       mail clients I guess.
-
-2002-03-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-digest-store.c (camel_digest_store_new): Now takes a url
-       argument.
-
-       * camel-digest-folder.c (digest_add_multipart): Fixed some memory
-       corruption and also modified to use CAMEL_IS_MIME_MESSAGE() rather
-       than comparing content-type strings.
-       (digest_get_message): Fixed a logic blooper.
-
-       * camel-folder-summary.c (camel_message_info_new_from_header): Set
-       the date fields of the CamelMessageInfo as well. This may even fix
-       some filter-related bugs where the user was trying to compare
-       dates.
-
-2002-03-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-digest-store.c: A pretty empty store implementation to be
-       the parent store of a CamelDigestFolder.
-
-       * camel-digest-folder.c: Updated to reference it's parent store.
-
-2002-03-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-digest-folder.c (camel_digest_folder_new): Allow any leaf
-       part to be a message/rfc822 part.
-       (digest_get_uids): Recurse the mime structure and add all
-       message/rfc822 parts and use a uid scheme similar to IMAP's mime
-       part naming convention.
-       (digest_get_message): Decode the uid to get the correct mime part.
-
-2002-03-11  Ettore Perazzoli  <ettore@ximian.com>
-
-       * camel-mime-utils.c: Change the order of the mailing list magic
-       patterns so that the more mailing-list specific ones are on the
-       top.
-
-2002-03-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       These fixes should fix bug #21737.
-
-       * providers/smtp/camel-smtp-transport.c
-       (connect_to_server_wrapper): Same as with the POP code.
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
-       Slight restructuring of the if-statements for the USE_SSL_ALWAYS
-       case so that we can't possibly return TRUE unless we really did
-       connect successfully.
-
-2002-03-10  Dan Winship  <danw@ximian.com>
-
-       Rename the OpenSSL implementation of things to match the NSS
-       implementation so that callers don't need to care which one is
-       being used.
-
-       * camel-tcp-stream-openssl.c: Implement CamelTcpStreamSSL, not
-       CamelTcpStreamOpenSSL. Rename methods as well. Replace the
-       camel-tcp-stream-openssl.h include with camel-tcp-stream-ssl.h.
-
-       * camel-tcp-stream-openssl.h: Gone.
-
-       * camel-tcp-stream-ssl.c: Add a note explaining that this
-       implementation is only used for NSS, and that OpenSSL's
-       implementation is in another file. (Should probably do some CVS
-       renaming magic at some point.)
-
-       * camel-http-stream.c (http_connect): Remove OpenSSL refs; the
-       previously-NSS-specific code works for both now.
-
-       * camel-remote-store.c: Likewise.
-
-       * providers/smtp/camel-smtp-transport.c: Likewise.
-
-       * providers/pop3/camel-pop3-store.c: Likewise.
-
-       * Makefile.am (libcamelinclude_HEADERS): Remove
-       camel-tcp-stream-openssl.h
-
-2002-03-10  Dan Winship  <danw@ximian.com>
-
-       * camel-tcp-stream.c (camel_tcp_stream_get_socket): Remove this:
-       it couldn't be generically used, because different subclasses
-       returned entirely different types of data.
-       (camel_tcp_stream_get_local_address,
-       camel_tcp_stream_get_remote_address): Add these to replace what
-       get_socket was being used for.
-       (camel_tcp_address_new, camel_tcp_address_free): Utility functions
-       for get_{local,remote}_address.
-
-       * providers/smtp/camel-smtp-transport.c: Change localaddr to a
-       CamelTcpAddress *.
-       (connect_to_server): Call camel_tcp_stream_get_local_address to
-       get the local IP address.
-       (smtp_disconnect): free localaddr.
-       (smtp_helo): Update for localaddr change.
-
-       * camel-tcp-stream-raw.c (stream_get_socket): Remove
-       (stream_get_local_address, stream_get_remote_address): Implement.
-
-       * camel-tcp-stream-ssl.c (stream_get_socket): Remove
-       (stream_get_local_address, stream_get_remote_address): Implement.
-
-       * camel-tcp-stream-openssl.c (stream_get_socket): Remove
-       (stream_get_local_address, stream_get_remote_address): Implement.
-
-2002-03-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-provider.c
-       (camel_provider_module_init): Don't call
-       camel_remote_store_get_authtypes since we no longer subclass
-       camel-remote-store.
-
-       * providers/pop3/camel-pop3-engine.c: Added STARTTLS to the
-       capabilities to look for.
-       (camel_pop3_engine_reget_capabilities): New function to re-get
-       capabilities.
-
-       * providers/pop3/camel-pop3-store.c: Updated to not subclass
-       CamelRemoteStore.
-       (connect_to_server): Rewritten to not depend on CamelRemoteStore's
-       connect implementation. Also added support for STLS (aka
-       STARTTLS).
-
-2002-03-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-mime.c (camel_pgp_mime_part_sign): Add support for
-       hash type RIPEMD160.
-
-       * camel-cipher-context.h: Add RIPEMD160 hash type.
-
-       * camel-pgp-context.c (pgp_sign): Updated to consider hash
-       function for pgp5 and pgp6.
-       (pgp_clearsign): Same.
-
-       * camel-tcp-stream-openssl.c (stream_read): Add a timeout on the
-       select.
-       (stream_write): Same.
-
-2002-03-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (connect_to_server): Fix
-       to work with OpenSSL.
-
-       * camel-tcp-stream-openssl.c: compile fixes.
-       (camel_tcp_stream_openssl_enable_ssl): Check to make sure that the
-       sockfd != -1, it's not enough to check that it is non-zero. Also
-       set the sockfd to -1 on fail (open_ssl_connection will close the
-       sockfd on fail).
-
-2002-03-06  Dan Winship  <danw@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_construct): Make
-       this compile.
-
-2002-03-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (save_ssl_cert): Removed. Glory glory
-       hallelujah!
-       (ssl_bad_cert): No longer calls ssl_save_cert or
-       ssl_cert_is_saved.
-
-2002-03-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_new_raw):
-       Start the ssl stream off in non-ssl mode (useful for STARTTLS).
-       (camel_tcp_stream_openssl_enable_ssl): New function to toggle an
-       ssl stream into ssl mode.
-       (open_ssl_connection): Close the sockfd on fail so our caller
-       doesn't have to - this also allows us to save the original errno.
-       (stream_connect): If we want ssl mode, do our ssl stuff.
-       (camel_tcp_stream_openssl_class_init): Init some SSL stuff here
-       instead of in open_ssl_connection since these only ever need to be
-       called once.
-       (stream_read): Only use SSL_read if we are in ssl mode.
-       (stream_write): Only use SSL_write if we are in ssl mode.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): Check for the
-       STARTTLS extension.
-       (connect_to_server): Try to use STARTTLS whenever possible rather
-       than the old way of doing things.
-       (connect_to_server_wrapper): Wrapper around connect_to_server() to
-       first try STARTTLS and then attempt normal SSL mode if we can't
-       connect via STARTTLS.
-
-       * camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_enable_ssl): New
-       function to toggle an ssl stream into ssl mode.
-       (camel_tcp_stream_ssl_new_raw): Start the ssl stream off in
-       non-ssl mode (useful for STARTTLS).
-       (stream_connect): Only connect in SSL mode if required.
-
-2002-03-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-vtrash-folder.h: 
-       * camel-vee-store.h: 
-       * camel-vee-folder.h: 
-       * camel-stream-null.h: 
-       * camel-stream-filter.h: 
-       * camel-store-summary.h: 
-       * camel-news-address.h: 
-       * camel-mime-utils.h: 
-       * camel-mime-parser.h: 
-       * camel-mime-filter-save.h: 
-       * camel-mime-filter-linewrap.h: 
-       * camel-mime-filter-index.h: 
-       * camel-mime-filter-html.h: 
-       * camel-mime-filter.h: 
-       * camel-mime-filter-from.h: 
-       * camel-mime-filter-crlf.h: 
-       * camel-mime-filter-chomp.h: 
-       * camel-mime-filter-charset.h: 
-       * camel-mime-filter-bestenc.h: 
-       * camel-mime-filter-basic.h: 
-       * camel-internet-address.h: 
-       * camel-folder-thread.h: 
-       * camel-folder-summary.h: 
-       * camel-folder-search.h: 
-       * camel-filter-driver.h: 
-       * camel-charset-map.h: 
-       * camel-address.h: Add c++ armoring.
-
-       * camel-object.h: s/class/klass
-
-2002-03-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): Reverted my
-       pgp/mime fixes here too.
-
-       * camel-mime-part.c (write_to_stream): Removed my pgp/mime raw
-       stream hack, this is causing problems such as some messages to not
-       displaying, view->source not working at all, etc.
-
-2002-02-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-parser.c: Changed offset variables from int's to
-       off_t's since the system may support large files.
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): Rearrange the
-       save filter stuff so that we save raw streams for all mime
-       parts. If the mime part turns out to be a multupart, then don't
-       bother saving the raw stream, we only need to save the raw stream
-       for leaf parts.
-
-2002-02-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-summary.h: Don't #include camel-mime-filter-save.h,
-       we don't use it.
-
-       * camel-file-utils.c: Fixed a few 'might be used uninitialized'
-       warnings which were real problems.
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): Save the raw mime
-       stream for any/all signed parts.
-
-       * camel-mime-part.c (camel_mime_part_init): Initialize our raw
-       stream to NULL.
-       (camel_mime_part_finalize): Unref our raw stream, if we have one.
-       (write_to_stream): If we have a raw stream, write that out instead
-       of re-encoding.
-
-       * camel-mime-filter-save.[c,h]: Rewritten to save to a stream
-       rather than a file.
-
-2002-02-28  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (header_fold): Use the FOLD_SIZE as a
-       recommended folding size, but add a new FOLD_MAX_SIZE (=998, the
-       smtp max line size) as the hard limit for any output.
-
-2002-02-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-chomp.c (camel_mime_filter_chomp_new): New
-       stream filter that chomps excess trailing whitespace from the end
-       of the stream. This is needed to update the PGP/MIME code to
-       comply with rfc3156.
-
-       * camel-pgp-mime.c (camel_pgp_mime_part_verify): Don't attach a
-       from filter, if it ain't from-filtered already, then we'll just be
-       breaking stuff. To become rfc3156 compliant, add a chomp filter
-       here.
-       (camel_pgp_mime_part_sign): Add a chomp filter here too.
-
-2002-02-27  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-part.c (init_header_name_table): Changed header
-       formatted table to contain a pointer to an output function, and
-       added in-reply-to and references headers.
-       (write_references): New function to write out references header,
-       folded properly.  It only approximates based on the last >, but it
-       should be adequate and will also handle invalid headers.
-       (write_fold): Function to write out headers folded.  Since this is
-       the default it isn't required.
-       (write_raw): Write out an already formatted header, e.g. most of
-       the rest.
-       (write_to_stream): Lookup header output function, if we have one,
-       use that, otherwise fold header using basic (dumb) function.
-
-       This is all for #14779.  A better fix is probably do have the
-       headers always stored formatted, but that can wait.
-
-2002-02-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-digest-folder.c (camel_digest_folder_new): Allow all
-       multiparts that contain message/rfc822 attachments.
-       (digest_get_uids): Only assign uids to message parts.
-
-2002-02-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part.c (camel_mime_part_set_filename): Set the 'name'
-       parameter on the Content-Type too. Fixes bug #20779.
-
-2002-02-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (pgp_sign): Pass --always-trust to gpg
-       (requested by users).
-       (pgp_clearsign): Same.
-       (pgp_encrypt): Here too.
-
-2002-02-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): Since the
-       AUTH token sometimes uses '=' instead of whitespace, don't use
-       smtp_token_next here.
-
-2002-02-09  Not Zed  <NotZed@Ximian.com>
-
-       * providers/pop3/camel-pop3-engine.c (get_capabilities): Duh, when
-       we grab the apop stamp it needs to include the <> as well, I even
-       read the rfc, silly me.
-
-       * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Doh,
-       when iterating the authtype list, it helps to goto the next node.
-       Found with help from miles.
-
-2002-02-08  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-summary.c
-       (camel_spool_summary_build_from): The day number has to be 2 chars
-       wide, space filled to work properly with pine, etc.
-
-       * providers/local/camel-spoold-store.[ch]: new type of provider
-       'spool directory', which lets you view external mbox dirs without
-       adding any extra cruft.  Perhaps it should use . files to store
-       summaries?  Still a bit experimental, there's a warning when you
-       select it in the account editor.  Finished off most of #1185.
-       Can't rename or move folders.
-
-       * camel-mime-utils.c (header_decode_date): If the date is
-       100->1900 then we actually want to use it as the year in the tm
-       struct, not year+100.  e.g. year 102 -> 2002, not 2102.
-
-2002-02-07  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-store.c (get_folder): Pass path into
-       spool_folder_new.
-
-       * providers/local/camel-spool-folder.c (camel_spool_folder_new): 
-       (camel_spool_folder_construct): Take the full path to the folder
-       and use that as the file path, independent of the full_name we
-       use.
-
-2002-02-07  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-provider.c: Added new type, spoold
-       provider, spoold: for local directories.
-
-       * providers/imap/camel-imap-store.c (get_one_folder_offline):
-       Create offline uri's in a compatible manner to online ones.
-
-2002-02-07  Dan Winship  <danw@ximian.com>
-
-       * camel-sasl-ntlm.c: Implementation of NTLM (aka "Secure Password
-       Authentication") auth, taken from soup.
-
-       * Makefile.am (libcamel_la_SOURCES, libcamel_la_HEADERS): Add
-       camel-sasl-ntlm.
-
-       * camel-sasl.c: Add refs to camel-sasl-ntlm.
-
-       * providers/imap/camel-imap-store.c (try_auth): Use
-       imap_next_word() to skip over the "+ " of the continuation rather
-       than just "resp + 2" since Exchange (incorrectly) returns "+"
-       instead of "+ " for an empty continuation response.
-
-2002-02-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-summary.h: Remove the CAMEL_MESSAGE_NEEDS_REPLY
-       flag, we no longer will be using this.
-
-2002-02-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-http-stream.c (stream_read): Use camel_mime_parser_read to
-       read internal parser data.
-       (camel_http_stream_get_content_type): Implemented.
-       (http_method_invoke): Use HTTP/1.0 instead of 1.1
-
-       * camel-mime-utils.c (header_decode_int): Made public.
-
-       * camel-http-stream.[c,h]: Added. New stream for HTTP requests
-       (currently supported are GET and HEAD).
-
-       * camel-tcp-stream-ssl.c (stream_connect): Call set_errno
-       appropriately.
-
-2002-01-31  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (header_decode_domain): Oops, this was
-       converting foo@[blah] to foo@[ blah ], fixed.
-
-2002-01-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-provider.c: Use "pop" instead of
-       "pop3" so current configurations continue to work.
-
-2002-01-30  Not Zed  <NotZed@Ximian.com>
-
-       * camel-sasl-login.c: Changed name from "NT Login" to simply
-       "Login".
-
-       * providers/pop3/*: Entirely new pop implmentation, supporting
-       pipelining.
-
-2002-01-29  Not Zed  <NotZed@Ximian.com>
-
-       * camel-data-cache.c (free_busy): We dont want to unref the
-       stream, instead, stop listening to the finalised events, and free
-       the path only.
-
-2002-01-25  Not Zed  <NotZed@Ximian.com>
-
-       * camel-data-cache.c (stream_finalised): Remove the object from
-       the busy_stream hashtable, not the busy_path hashtable.
-
-2002-01-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Added
-       more kludge to an existing Exchange IMAP 5.5 kludge to work around
-       it returning multiple messages with the same UIDs.
-
-2002-01-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-message.c (process_header): Handle Resent headers
-       too.
-
-       * camel-mime-message.h: Added Resent-* #defines.
-
-       * camel-filter-driver.c (camel_filter_driver_remove_rule_by_name):
-       Use while (node->next) instead of while (node)
-
-       * providers/smtp/camel-smtp-transport.c (smtp_decode_status_code):
-       New function to decode an enhanced status code.
-       (smtp_set_exception): Sets an exception based on the
-       Enhanced-Status-Code.
-       (esmtp_get_authtypes): Don't diplicate the key in the hash since
-       the key and value are the same.
-       (smtp_rcpt): Include the failed recipient in the error message to
-       be more helpful to the user.
-
-       * camel-mime-utils.c (hex_decode): Make sure to allocate enough
-       for the NUL byte.
-
-2002-01-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_construct):
-       (connect_to_server): Use flags rather than a bunch of gboolean
-       variables.
-       (smtp_connect): Same.
-       (smtp_mail): Here too. Use the enhanced status codes if available.
-       (smtp_data): And again here.
-       (smtp_helo): Finally here. Also detect the ENHANCEDSTATUSCODES
-       extension.
-       (smtp_rcpt): Use the enhanced status codes if available.
-       (smtp_rset): Here too.
-       (smtp_quit): And finally here.
-
-       * camel-transport.h: Removed gboolean supports_8bit since this is
-       pretty local to only SMTP for now.
-
-2002-01-24  Ettore Perazzoli  <ettore@ximian.com>
-
-       * Makefile.am: Remove some old cruft.
-
-2002-01-24  Ettore Perazzoli  <ettore@ximian.com>
-
-       * tests/folder/Makefile.am: s/MAILER_LIBS/EVOLUTION_MAIL_LIBS/.
-       * tests/message/Makefile.am: Likewise.
-       * tests/mime-filter/Makefile.am: Likewise.
-       * tests/misc/Makefile.am: Likewise.
-       * tests/smime/Makefile.am: Likewise.
-       * tests/stream/Makefile.am: Likewise.
-
-2002-01-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (do_beep): Call the beep callback
-       function.
-       (camel_filter_driver_set_system_beep_func): New function to set
-       the beep callback.
-
-2002-01-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_remove_rule_by_name):
-       New function to remove a filter rule by name.
-
-2002-01-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (do_beep): As a temporary solution, just
-       printf ("\a"); to make a beep :-)
-
-       * providers/imap/camel-imap-command.c
-       (imap_command_strdup_vprintf): Encode the mailbox to UTF-7 here.
-
-       * providers/imap/camel-imap-utils.c (imap_parse_list_response):
-       Decode the mailbox name as we parse the list response.
-       (imap_mailbox_decode): It's only an illegal mailbox name if it
-       didn't switch back to US-ASCII mode.
-
-2002-01-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_mailbox_decode): New
-       function to decode an IMAP mailbox name from modified UTF-7
-       encoding to UTF-8.
-       (imap_mailbox_encode): New function to convert a mailbox name from
-       UTF-8 to IMAP's modified UTF-7 encoding.
-
-2002-01-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-basic.c (filter): Stop uudecoding once the
-       CAMEL_UUDECODE_STATE_END state bit gets set. Set the
-       CAMEL_UUDECODE_STATE_BEGIN state bit once we find the begin line.
-       (reset): No longer have uu_begin or uulen state variables, these
-       are now stuffed into a single state variable.
-
-       * camel-mime-utils.c (uudecode_step): No longer needs a uulen
-       argument and also keeps track of whether or not the end of the
-       encoded data has been found in 'state'.
-       (uuencode_step): Now stuffs uulen into state so that the uulen
-       argument is no longer needed.
-       (uuencode_close): Same.
-
-2002-01-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-basic.c (filter): If we don't want to corrupt
-       the uuencoded data by overwriting it with base64 decoded data
-       afterward, we need to add a break statement!
-
-       * camel-folder-summary.c (summary_build_content_info): Add code to
-       add a uu filter.
-       (camel_folder_summary_finalize): Unref the uuencode filter.
-
-2002-01-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-basic.c (filter): Fixed slight logic error to
-       find the uuencode begin line. Fixes bug #18754.
-
-2002-01-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_send_to): Updated to
-       match the new send_to API.
-       (smtp_send): Get the from address and pass that along to
-       smtp_send_to().
-
-       * providers/sendmail/camel-sendmail-transport.c
-       (sendmail_send_to): Updated to match the new send_to API.
-
-       * camel-transport.c (camel_transport_send_to): Now takes a from
-       argument too.
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Sort
-       the needheaders UID array and fixed to respect the
-       UID_SET_LIMIT. This should now finish the fixification of bug
-       #2529. There's still the possible issue that a command-line (The
-       only command-line I can think of that can still be too long is a
-       SEARCH command, but this can't possibly be fixed until we rewrite
-       the imap code to use Zucchi's ImapEngine idea).
-
-2002-01-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_expunge_uids_online):
-       Move the command-lock outside the loop.
-
-2002-01-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_expunge_uids_online):
-       Updated to use the new imap_uid_array_to_set() interface.
-       (imap_expunge_uids_resyncing): Same.
-       (do_copy): Here too.
-       (imap_update_summary): Added a FIXME comment to rewrite allowing
-       for a uid-set limitation.
-       (get_matching): Copy some of the logic over from
-       imap_uid_adday_to_set() to limit the length of the uid-set string.
-       (imap_sync_online): Added a comment to explain what is going on
-       with get_matching() since the behavior has changed slightly.
-
-       * providers/imap/camel-imap-utils.c (imap_uid_array_to_set):
-       Modify the interface so that we can limit the size of the uid set
-       string returned.
-
-2002-01-14  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-search.c (imap_body_contains):
-       Rewritten to use a cache for body searches when online.  Will need
-       some heavy testing but so far seems to be beneficial.
-
-       * providers/imap/camel-imap-folder.c (imap_search_by_expression,
-       search_by_uids): dont initialise search object here.
-       (camel_imap_folder_new): Setup search object here with pointer to
-       cache dir.
-
-2001-12-01  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store-summary.[ch]: New class to store a store's folder
-       list in.  Not yet completed.
-
-2002-01-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Kludge
-       around a bug in Exchange 5.5 that reports 2 messages with the same
-       UID. Fixes bug #17694. Replaces the fix from yesterday.
-
-2002-01-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-local-folder.c: If PATH_MAX doesn't exist,
-       use _POSIX_PATH_MAX.
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): If mi
-       is NULL, don't bother updating it. Should fix bug #17694.
-
-2002-01-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel.h: #include camel-mime-filter-tohtml.h
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Kludge
-       around Microsoft Exchange 5.5 (bug #5348) by forgetting our
-       currently selected folder and re-SELECTing it so that the Exchange
-       server has a chance to realise it has new messages.
-
-2002-01-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): If the mbox file is a symlink,
-       follow the symlink and get the One True Path so that we can
-       rewrite the mbox later without worrying about clobbering the
-       symlink.
-
-2002-01-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-search.c (TODO): There are a few sexp callbacks
-       that could be modified to use fms->info rather than using a
-       message object (like date and possibly mlist stuff) but *only* if
-       the date exists on the CamelMessageInfo object (since it may be
-       blank except for message flags).
-       (camel_filter_search_get_message): New internal convenience
-       function to make sure that the FilterMessageSearch has loaded the
-       message (and to load the message if this isn't the case).
-       (check_header): Call camel_filter_search_get_message().
-       (header_exists): Same.
-       (header_regex): Here too.
-       (header_full_regex): And here.
-       (body_contains): Again here.
-       (body_regex): Here too.
-       (get_sent_date): Here also.
-       (get_received_date): Same.
-       (get_source): Here if we need to.
-       (camel_filter_search_match): Now takes a callback function/data
-       pair for on-demand message loading so that we don't necessarily
-       have to load the message if the defined filter rules don't require
-       it.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_folder): Don't
-       bother fetching the message here, let
-       camel_filter_driver_filter_message() worry about this.
-       (get_message_cb): New utility callback to fetch a message.
-       (camel_filter_driver_filter_message): Only fetch the message if we
-       absolutely need it to get a CamelMessageInfo. Instead of passing a
-       message object to camel_filter_search_match(), pass get_message_cb
-       and some user_data so that the matching code can fetch the message
-       on demand.
-
-2002-01-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder.c (filter_filter): Flush the only-once actions.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message):
-       Don't increment a filtered_count here any longer.
-       (camel_filter_driver_reset_filtered_count): Removed.
-       (camel_filter_driver_get_filtered_count): Removed.
-       (do_beep): New action.
-       (play_sound): New action to play a sound
-       (do_only_once): Another new action.
-       (camel_filter_driver_finalise): Free the only_once hash if the
-       driver has not been "flushed".
-       (camel_filter_driver_flush): Flush all of the only-once actions.
-
-       * camel-charset-map.c: Moved windows-1251 to the end of the list
-       since it contains the euro and we'd prefer to use iso-8859-15 when
-       the euro is requested than a windows charset if possible.
-
-       * camel-charset-map-private.h: Regenerated.
-
-2001-12-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-summary.c (content_info_load): Don't try setting a
-       content-type parameter if either the name or value is NULL.
-
-       * camel-mime-utils.c (header_set_param): NULL-protection.
-
-2002-01-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (ssl_bad_cert): Do more like what mutt
-       does so hopefully this'll fix bug #16363 and #16300.
-
-2001-12-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * broken-date-parser.c (parse_broken_date): Completely
-       rewritten. It is now a load faster and a heck of a lot more
-       accurate, also now returns a time_t and sets the saveoffset
-       variable rather than returning a new char* buffer for the normal
-       camel date parser to re-parse. This saves a fair number of cpu
-       cycles :-)
-
-       * camel-mime-utils.c (header_decode_date): Cleanup the broken date
-       parsing code.
-
-2001-12-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-address.h: Change the prototype for camel_address_get_type
-       to return a CamelType (since internally this is what it returns
-       and also in case we decide to write a replacement for the current
-       CamelObject it'd be easier to drop in).
-
-       * camel-internet-address.h: Same but for
-       camel_internet_address_get_type()
-
-       * providers/smtp/camel-smtp-transport.c (smtp_send_to): Updated to
-       use a CamelAddress of recipients.
-       (smtp_send): Since smtp_send_to now takes a CamelAddress
-       recipients argument, our lives have been simplified and we can now
-       just concat To/Cc/Bcc into a recipients addr and send away.
-
-       * providers/sendmail/camel-sendmail-transport.c
-       (sendmail_send_to): Updated to use a CamelAddress of recipients.
-
-       * camel-transport.c (camel_transport_send_to): Now takes a
-       CamelAddress argument for the recipient list rather than a GList.
-
-2001-12-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/Makefile.am: Remove the providerdir variable.
-
-       * providers/sendmail/Makefile.am: Same.
-
-2001-12-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-charset-map.c (camel_charset_iso_to_windows): New function
-       to map ISO charsets to the Windows charsets.
-
-       * camel-mime-part-utils.c (broken_windows_charset): Detect Windows
-       charsets.
-       (simple_data_wrapper_construct_from_parser): Simplify a tad and
-       also check for iso-8859-* charsets that are really Windows
-       charsets. Fixes bug #12631.
-
-2001-12-17  Dan Winship  <danw@ximian.com>
-
-       * Makefile.am (INCLUDES): define CAMEL_PROVIDERDIR to be the
-       configure.in-defined camel_providerdir.
-
-       * providers/Makefile.am: Remove some outdated comments
-
-       * providers/imap/Makefile.am (camel_provider_LTLIBRARIES,
-       camel_provider_DATA): renamed from provider_LTLIBRARIES,
-       provider_DATA.  
-
-       * providers/local/Makefile.am: Likewise 
-
-       * providers/nntp/Makefile.am: Likewise 
-
-       * providers/pop3/Makefile.am: Likewise 
-
-       * providers/sendmail/Makefile.am: Likewise 
-
-       * providers/smtp/Makefile.am: Likewise
-
-2001-12-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (get_content): Reverted my
-       previous changes here since it doesn't actually work afterall.
-
-       * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate):
-       Update to do uudecoding when appropriate.
-
-2001-12-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (get_content): Try to use the
-       original boundary so luis will stop bugging me about "data
-       corruption". Also preserve other params in the multipart
-       content-type by dumping it to a string and setting it on the mime
-       part.
-
-2001-12-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c
-       (camel_filter_driver_reset_filtered_count): Reset the
-       filtered_count to zero.
-       (camel_filter_driver_get_filtered_count): Return the private
-       filtered_count value.
-       (camel_filter_driver_filter_message): Increment the
-       filtered_count.
-       (camel_filter_driver_set_shell_exec_func): New function to set the
-       shell-exec func.
-       (shell_exec): New ESExp filter action callback.
-
-2001-12-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-mime.c (camel_pgp_mime_part_verify): Removed
-       x-inline-pgp-hack kludge because it doesn't work.
-       (camel_pgp_mime_part_decrypt): Same.
-
-2001-12-13  Chris Toshok  <toshok@ximian.com>
-
-       * camel-data-cache.c: include stdlib.h (for alloca on freebsd) and
-       only include alloca.h if HAVE_ALLOCA_H is defined.
-
-2001-12-11  Zbigniew Chyla  <cyba@gnome.pl>
-
-       Fixes #17085
-
-       * camel-charset-map.c: Added #include <errno.h>.
-
-       * camel-charset-map-private.h:
-       Recreated (following instructions from camel-charset-map.c)
-
-2001-12-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-object.c (camel_type_register): Keep a name-to-type hash
-       so that we can make sure that the type has not yet been registered
-       (prevents a race condition such as the one in bug #16559).
-
-       * camel-service.c (camel_service_connect): Make sure that the
-       connect_op is non-NULL before unregistering/unreffing it.
-
-2001-12-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_content_type_simple): Protect against
-       either of the types being NULL.
-
-2001-12-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-basic.c (filter): If complete() allocates
-       len+2 bytes for the out buffer, so should this. See bug #16371 for
-       an example case.
-
-2001-12-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-digest-md5.c: iconv() returns a size_t, not an int.
-
-       * camel-pgp-context.c: The return value of iconv() is a size_t,
-       not an int.
-
-       * camel-mime-part-utils.c (convert_buffer): Always use size_t args
-       for iconv().
-
-       * camel-mime-filter-charset.c (complete): Always use size_t args
-       for iconv().
-       (filter): Same.
-
-       * camel-mime-utils.c (header_address_fold): Make headerlen a
-       size_t instead of an int.
-       (header_fold): Same.
-       (base64_encode_close): We should be returning a size_t and inlen
-       should also be a size_t.
-       (base64_encode_step): Same here.
-       (base64_decode_step): Here too.
-       (base64_encode_simple): And here...
-       (base64_decode_simple): Same.
-       (uuencode_close): We should also use size_t's here...
-       (uuencode_step): And here too.
-       (uudecode_step): And also here.
-       (quoted_encode_close): Same idea here.
-       (quoted_encode_step): Again here.
-       (quoted_decode_step): Here too.
-       (quoted_encode): Input length should be a size_t.
-       (rfc2047_decode_word): Same.
-       (g_string_append_len): Here too.
-       (append_8bit): "
-       (rfc2047_encode_word): "
-       (quote_word): "
-       (hex_decode): "
-       (rfc2184_decode): Use size_t's with iconv().
-       (header_decode_param): Same.
-
-2001-12-09  Jon Trowbridge  <trow@ximian.com>
-
-       * camel-folder-summary.c: Add "NeedsReply" to the flag_names array
-       for CAMEL_MESSAGE_NEEDS_REPLY.
-
-       * camel-folder-summary.h: Added CAMEL_MESSAGE_NEEDS_REPLY flag.
-
-2001-12-07  Dan Winship  <danw@ximian.com>
-
-       * camel-mime-message.c (camel_mime_message_set_date): Fix the
-       tm_gmtoff case (its sign is the opposite of "timezone"). Fixes
-       #14678
-
-2001-11-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-search.c (search_body_contains): Don't use regex
-       matching. Fixes bug #16227.
-
-       * camel-mime-message.c (best_encoding): Check the content-object's
-       mime type, not the mime part types. Should fix bug #15843.
-
-2001-11-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (get_content): Return NULL if
-       construct_from_stream fails.
-       (get_message): Same.
-       (get_message_simple): Here too.
-       (add_message_from_data): And here.
-
-2001-11-14  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (folder_changed_remove_uid): Use the uid
-       rather than vuid for unmatched.  Also add the uid to unmatched if
-       it wasn't in the unmatched_uids table at all.
-       (folder_changed_change): If checking for added, if the new ones
-       dont match, then try to add them to unmatched.  Fixes #6893.
-
-       * camel-folder-summary.c (camel_folder_summary_index): Change lock
-       order, always summary_lock before ref_lock.
-       (camel_folder_summary_array): "
-       (camel_folder_summary_uid): "
-       (camel_folder_summary_remove_uid): " Fixes a deadlock.
-
-2001-11-30  Not Zed  <NotZed@Ximian.com>
-  
-       * providers/nntp/camel-nntp-*.c: Completely new implementation of
-       NNTP.
-       
-       Doesn't support subscriptions yet (lists all folders), but should
-       be more reliable (faster?), and has an integrated cache.
-
-       * camel-exception.c (camel_exception_new): Use e_memchunks for
-       exception blocks.
-       (camel_exception_free): Same.
-
-       * camel-data-cache.[ch]: New object for managing on-disk caches of
-       anything that can be stored in a camel-stream.
-
-       * camel-file-utils.c (camel_file_util_mkdir): New function, just a
-       nicer place to put this (than camel-store), should be removed from
-       camel-store.
-       (camel_file_util_safe_filename): New function to url-encode a
-       filename.
-
-       * camel-mime-parser.c (drop_states): New func to drop the parser
-       state to initial state.
-       (folder_scan_init_with_fd): 
-       (folder_scan_init_with_stream): Call above func to reset state if
-       the stream is changed on us so we can change streams to reuse a
-       parser object.
-
-2001-11-25  Not Zed  <NotZed@Ximian.com>
-
-       * providers/nntp/camel-nntp-folder.c (nntp_folder_get_message): If
-       the uid doesn't have a ',' in it, fail to crash.
-
-       * providers/nntp/camel-nntp-newsrc.c
-       (camel_nntp_newsrc_article_is_read): check group != NULL before
-       scanning.
-       (camel_nntp_newsrc_get_highest_article_read): "
-       (camel_nntp_newsrc_get_num_articles_read): "
-       (camel_nntp_newsrc_mark_range_read): "
-
-       * providers/nntp/camel-nntp-store.c
-       (camel_nntp_store_get_overview_fmt): IF we dont have
-       nntp_list_follows, dont try and get a list response.
-       (nntp_store_get_folder_info): Set path part of folderinfo.
-
-2001-11-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (get_smtp_error_string):
-       Check to see that errno is non-zero before returning
-       g_strerror. If it's 0, then we have an unknown error.
-
-2001-11-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-basic.c: For the uudecoding mode, garble up
-       the "begin <mode> <filename>" line before decoding.
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): Add a uudecoder if
-       the transfer encoding is x-uuencode.
-
-       * camel-mime-part.c (write_to_stream): Handle x-uuencoded content
-       too.
-
-2001-11-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (stream_read): Added a check to see if
-       the operation has been cancelled.
-       (stream_write): Same.
-
-2001-11-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Updates for compliance with rfc2231
-
-       * camel-mime-utils.c (header_encode_param):
-       camel_mime_special_table[c] & IS_ESAFE should have been
-       !(camel_mime_special_table[c] & IS_ESAFE). Also added a few
-       comments for how to improve the code at some future date.
-       (header_decode_param): Now takes an argument rfc2184_part so our
-       caller can get this information as well.
-       (header_decode_param_list): Pass an rfc2184_part argument to
-       header_decode_param and also added a few comments on where to
-       improve on rfc2184/rfc2231 compliance.
-       (rfc2047_decode_word): Updated to respect the updated ABNF syntax
-       of rfc2047 encoded words, yay.
-
-2001-11-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_parse_body): Abort if
-       body == NULL.
-
-       * camel-mime-filter-tohtml.c (camel_mime_filter_tohtml_new): New
-       mime filter to convert plain text to html.
-
-2001-11-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Since some mail clients like Outlook are broken, we need to set a
-       name parameter on pgp signed and encrypted parts.
-
-       * camel-pgp-mime.c (camel_pgp_mime_part_encrypt): Set a name
-       parameter.
-       (camel_pgp_mime_part_sign): Same.
-
-2001-11-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-command.c
-       (camel_imap_command_response): If we get a BYE response, call
-       camel_service_disconnect() and set an exception. Also do the check
-       for "* BYE" first instead of passing it off imap_read_untagged()
-       since we'll just waste time in there mallocing left and right only
-       to arrive at the single response line "* BYE" again :-)
-
-2001-11-13  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-search.c (get_source): If we have no source string,
-       then use undefined, which should always evaluate to FALSE.  Fix
-       for #15267.
-
-2001-11-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (camel_store_get_folder): Added a
-       g_return_val_if_fail for folder_name != NULL.
-
-2001-11-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (crypto_exec_with_passwd): If any of the
-       pipe()'s fail, clean up any pipes that may have succeeded. Also
-       close the password fds.
-
-2001-11-09  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_auth_loop): If we get a
-       user cancel and that causes us to fail to authenticate, abort
-       rather than loop forever.  Fix for #14951.
-
-2001-11-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-command.c
-       (camel_imap_command_continuation): Now takes a command-length
-       argument so we can 1) avoid duping the command string yet again,
-       yay. 2) we now don't have to worry about embedded nul-chars
-       screwing us over (we still need to avoid allowing them into the
-       string but at least now it won't mess us up).
-
-       * providers/imap/camel-imap-folder.c (do_append): Instead of
-       appending a nul char to the end of the byte array and then passing
-       that off as if it were a string to
-       camel_imap_command_continuation, instead pass the byte-array
-       length since that function now takes a length argument. Yay.  Also
-       encode any 8bit parts to avoid the possibility of sending embedded
-       nul chars to the imap server.
-
-       * providers/imap/camel-imap-store.c (try_auth): Updated to pass a
-       command-length argument to camel_imap_command_continuation().
-
-2001-11-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (save_ssl_cert): Oops, pass a mode
-       argument to the open() call.
-
-       * camel-tcp-stream-openssl.c (save_ssl_cert): Oops, pass a mode
-       argument to the open() call.
-
-2001-11-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-mime.c (camel_pgp_mime_part_decrypt): Add code to
-       kludge around any x-inline-pgp-hacks by prepending some content
-       headers to the decrypted data.
-
-2001-11-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-data-wrapper.c (camel_data_wrapper_init): Initialize our
-       private mutex.
-       (camel_data_wrapper_finalize): Destroy our private mutex.
-       (write_to_stream): Lock around camel_stream_write_to_stream() so
-       that we don't get 2 threads trying to read from our stream at the
-       same time.
-
-2001-11-01  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (folder_changed_change): Move all searching
-       operations outside of any locks except subfolder lock, same as
-       build_folder.  Fix for #14294.
-
-2001-10-31  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-folder.c (spool_get_message): Same
-       as below.
-
-       * providers/local/camel-maildir-folder.c (maildir_get_message):
-       Same as below.
-
-       * providers/local/camel-mbox-folder.c (mbox_get_message): Set
-       USER_CANCEL if failed due to EINTR.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_mbox): If
-       construct from parser fails due to user cancel, set USER_CANCEL on
-       exception.
-
-       * camel-mime-part.c (construct_from_parser): Return error if the
-       parser had an io error.
-
-       * camel-mime-message.c (construct_from_parser): Check error on
-       parser/return error.
-
-       * camel-mime-parser.c (folder_scan_init): Init error number.
-       (camel_mime_parser_errno): New function, return errno of any io
-       failures.
-       (folder_read): Set errno if a failure occured.
-       (folder_seek): Same.
-       (folder_scan_init_with_fd): Setup errno depeding on ok/failure.
-       (folder_scan_init_with_stream): Same.
-
-2001-10-30  Not Zed  <NotZed@Ximian.com>
-
-       * camel-operation.c (camel_operation_new): Dont setup cancel_fd.
-       (camel_operation_cancel_fd): If cancel_fd not created, set it up.
-       (camel_operation_cancel): Set cancel flag before sending message.
-       (cancel_thread): Same.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_mbox): Make
-       sure we unref the mimeparse when we're done (successfully).  This
-       was leaking an fd every get-mail! :(
-
-       * camel-lock-client.c (camel_lock_helper_init): Close all fd's
-       above 2.
-
-       * providers/local/camel-mbox-folder.c (mbox_get_message): Remove
-       the X-Evolution header before anyone else gets to see this private
-       thing.  Shoudl fix 11676 since we were inheriting flags from
-       X-Evolution headers we didn't want to.
-
-       * camel-folder-search.c (match_message): If we can't retrieve the
-       message, ignore it, it can't match.
-
-       * providers/imap/camel-imap-search.c
-       (camel_imap_search_class_init): Setup parent class pointer.
-       (imap_body_contains): If offline, just use the parent
-       body_contains method which will get the messages and search them
-       manually.
-
-       * providers/imap/camel-imap-folder.c (imap_search_by_expression,
-       imap_search_by_uids): Remove offline check.
-
-2001-10-30  Dan Winship  <danw@ximian.com>
-
-       * camel-mime-part.c (free_headers): Fix this to match get_headers.
-
-2001-10-30  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-store.c (rename_folder): Dont try to
-       move ibex if we have none.
-
-       * camel-tcp-stream-openssl.c (stream_write): Fixed compilation
-       errors.
-
-2001-10-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (camel_mime_utils_init): Removed unused
-       variable.
-
-2001-10-30  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (header_decode_mailbox): w(x) out some warnings.
-
-       * providers/local/camel-local-summary.c
-       (camel_local_summary_load): Remove the warning about not loading
-       summary file - its a valid case for new folders.
-
-2001-10-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-openssl.c (my_SSL_write): Removed.
-       (stream_write): Keep looping (non-blocking case) if errno is
-       EAGAIN, EINTR or EWOULDBLOCK. For NONBLOCKing I/O, sync up with
-       CamelTcpStreamRaw. As with CamelTcpStreamRaw/SSL - make sure to
-       write out everything before returning.
-       (my_SSL_read): Removed.
-       (stream_read): Just call ssl_error_to_errno() and check the errno
-       values that we care about so we can keep the general look of all
-       this stream code the same. Also when checking the return value of
-       SSL_read, check for <0 instead of ==-1 since the man page for
-       SSL_read doesn't say it will return -1 on fail, it just says <0.
-       (stream_flush): Don't fsync() since syncing on a socket is a Bad
-       Thing (tm).
-
-       * camel-tcp-stream-ssl.c (stream_write): Make sure we write out
-       everything just like in camel-tcp-stream-raw.c.
-
-       * camel-stream-buffer.c (camel_stream_buffer_gets): If
-       camel_stream_read() returns -1, don't necessarily return -1 to our
-       caller since it's possible that we did actually "read" some data
-       (ie, we copied some pre-buffered data into the out buffer).
-
-       * camel-stream-buffer.h: Removed CAMEL_STREAM_BUFFER_NEWLINE since
-       it never got used anywhere and it isn't supported anyway.
-
-2001-10-30  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c
-       (parse_list_response_as_folder_info): If we get an empty name,
-       then mark that as NoSelect.  Workaround fix for #13239.
-
-2001-10-29  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (get_message_simple, 
-       imap_get_message): Set an X-Evolution-Source header on the
-       returned message so replies come from the right identity.
-
-2001-10-29  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (folder_changed_change): If we're not going
-       to search on a changed uid, make sure we change out copy still.
-       Fixes #13916.
-
-2001-10-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (subscribe_folder): Don't emit
-       a folder_subscribed signal if we are in the process of renaming
-       folders.
-       (unsubscribe_folder): Same here but for the unsubscribe signal.
-       (rename_folder): Unsubscribe from the folder being renamed and any
-       subfolders it may have before actually renaming. Once the folder
-       has been renamed, re-subscribe to it and it's subfolders with the
-       new name.
-
-       * camel-store.c (camel_folder_info_build): Sort the folder info's
-       before constructing the tree.
-
-       * camel-mime-utils.c (header_decode_param): Minor fix - should
-       have been using a strNcmp when checking if it was an rfc2047
-       encoded word.
-
-       * camel-pgp-context.c (pgp_sign): Notify the user that PGP 2.6.x
-       is no longer supported and use camel_exception_set() instead of
-       setv() where appropriate.
-       (pgp_clearsign): Same.
-       (pgp_verify): And again here.
-       (pgp_encrypt): Here too.
-       (pgp_decrypt): And finally here.
-
-2001-10-29  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-store.c (unsubscribe_folder): Don't
-       free the hash table key if the folder wasn't found in the hash
-       table. I'm not sure where the bug is/was that made it possible to
-       add a folder to the tree after creating it failed, but now if that
-       happens, it won't crash if you try to delete it again. (#11492)
-
-       * camel-disco-store.c (camel_disco_store_status): if the service
-       is being connected and thinks it's online, but the session is
-       offline, then mark the service offline as well. Fixes 13683.
-
-2001-10-29  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c: Turn off w() -> warnings.
-
-       * providers/imap/camel-imap-store.c (rename_folder): Also rename
-       the message cache.
-       (rename_folder): Fix subscribed folders table with rename(s).
-
-       * providers/imap/camel-imap-folder.c (imap_rename): Implement,
-       rename the cache dir pointer.
-
-       * providers/imap/camel-imap-message-cache.c
-       (camel_imap_message_cache_set_path): New method to set the path
-       used by a message cache.
-
-       * camel-vee-store.c (build_info): Fix the 'is this a matching
-       subfolder or subfolder' logic to match camel-store
-       get_subfolders'.
-
-       * camel-store.c (get_subfolders): Fix the 'is this a matching
-       folder or subfolder' logic.
-
-2001-10-28  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-store.c (rename_folder): Changed to
-       call ibex_move to rename it internally.
-
-       * camel-store.c (camel_store_rename_folder): Use the right
-       variable, not info.
-
-2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-stream-buffer.c (camel_stream_buffer_read_line): Make sure
-       we've actually read data before checking if p[-] is '\r' or not.
-
-       * camel-tcp-stream-raw.c (stream_write): Same.
-
-       * camel-stream-fs.c (stream_write): If errno isn't EAGAIN, just
-       exit with -1 and instead of using continue (which doesn't go to
-       the top of the do-while thus making our logic suck), just set w to
-       0. Still seems to be a bug in select() if it's telling us the
-       socket is ready for data when it really isn't but oh well.
-
-2001-10-28  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): Use path not protocol as the path
-       part of the uri of the folder_created event.
-
-       * providers/local/camel-maildir-store.c (scan_dir): If FAST is
-       set, dont try and scan for unread counts.
-
-       * providers/local/camel-local-store.c (create_folder): Implement,
-       just return the folderinfo of the folder matched, not all of it.
-
-       * camel-store.c (camel_store_rename_folder): Rename the
-       camelfolders before emitting the folderchanged event (otherwise
-       vstore fails to pick up change.
-
-2001-10-27  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_init): Always use a default dir_sep
-       of '/'.
-
-       * camel-store.h (struct _CamelStore): Added a dir_sep to the base
-       store so rename and whatnot can work, temporary fix for mixed dir
-       separator in folder name api's.
-
-       * providers/imap/camel-imap-store.c (rename_folder): Finished
-       implementation.
-       (imap_connect_online): Also set the store's dir_sep here.
-       (imap_connect_offline): "
-
-       * providers/local/camel-local-folder.c (local_rename): Implement
-       local rename of folder objects.
-
-2001-10-26  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (camel_vee_folder_class_init): Hook into
-       rename function.
-       (vee_rename): Implement the veefolder rename function.
-       (camel_vee_folder_class_init): 
-       (folder_changed_change): Kill a warning with a cast.
-
-       * camel-vee-store.c (vee_rename_folder): Emit a folder_renamed
-       event properly, also call parent to do some rename stuff.
-
-       * camel-store.h: Added a CamelRenameInfo for the rename event.
-
-       * camel-folder.c (camel_folder_rename): New function to rename a
-       folder object.
-       (camel_folder_class_init): Added a renamed event.
-       (folder_rename): Default impl, set full_name, and set name
-       assuming the dir separator is '/'.
-
-       * camel-store.c (camel_store_class_init): Added folder_renamed
-       event.
-       (camel_store_rename_folder): Rename an active folder object if we
-       have one, and update the folder table.
-       (rename_folder): Make a default implementation that handles
-       updating the folder tree.
-
-2001-10-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (delete_folder): Don't bother
-       checking ex since we can rely on the response being NULL on error.
-       (rename_folder): Implemented.
-
-2001-10-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): Check to
-       make sure that the dataset is non-NULL before using and/or
-       freeing.
-
-       * camel-tcp-stream-raw.c (stream_write): Check for EWOULDBLOCK
-       too?
-       (stream_read): Same.
-       (stream_flush): Return 0 always, fsync() and tcp sockets don't
-       play nice :-)
-
-       * providers/imap/camel-imap-message-cache.c
-       (camel_imap_message_cache_get): Lets try putting a
-       camel_stream_reset() here. Logic being that the stream may have
-       been read from since it was cached and thus our caller may try
-       reading from it and get no data from it since it is already at the
-       EOS. This may fix bug #12943.
-
-2001-10-25  Not Zed  <NotZed@Ximian.com>
-
-       * camel-search-private.c (utf8_get): Remove the stupid warning
-       that should never have been there in the first place.
-
-       * camel-sasl-digest-md5.c (digest_response): s/iconv/e_iconv/
-
-       * camel-pgp-context.c (pgp_verify): "
-
-       * camel-mime-utils.c (rfc2047_decode_word, rfc2047_decode_word,
-       append_8bit, rfc2047_encode_word, rfc2184_decode,
-       header_decode_param): "
-
-       * camel-mime-part-utils.c (convert_buffer, convert_buffer): "
-
-       * camel-mime-filter-charset.c (reset, complete, filter): "
-
-2001-10-24  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-filter-basic.c (complete): For qp decoding, if the
-       data isn't really qp encoded, we could possible grow the buffer by
-       upto 2 bytes above the input size, fix allocations/assertions
-       appropraitely.
-
-       * camel-vee-folder.c (folder_changed_change): If we're not
-       autoupdate, only search for new matches against changed uid's that
-       we dont already have.
-
-2001-10-24  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-store.c (unsubscribe_folder): Don't
-       let fi->name be NULL.
-
-2001-10-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-stream-fs.c (stream_read): Same as in the TcpStreamRaw code.
-       (stream_write): And again here...
-
-       * camel-tcp-stream-raw.c (stream_read): Handle the EAGAIN error
-       case as well.
-       (stream_write): Same here, this might fix the SMTP truncation
-       thing? I hope?
-
-2001-10-23  Dan Winship  <danw@ximian.com>
-
-       * camel-mime-utils.c (mail_list_magic): Remove an extra * in one
-       of the regexps that glibc apparently doesn't mind but bsd does.
-
-2001-10-23  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-mbox-summary.c: made d(x) x recompile again.
-
-2001-10-22  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-summary.c (summary_rebuild): No, use
-       Storing, as the other code does :p
-       (spool_summary_check): Check for consistency.
-
-2001-10-22  Jon Trowbridge  <trow@ximian.com>
-
-       * providers/local/camel-spool-summary.c (summary_rebuild):
-       s/summarising/summarizing/.
-       (spool_summary_check): s/summarise/summarize/.
-
-2001-10-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-mime.c (camel_pgp_mime_part_verify): If we are
-       kludging around a inline-pgp signed part, do some charset
-       conversion to protect any 8bit text.
-
-2001-10-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-search.c, camel-folder-search.c (check_header): Use
-       search_type_mlist for mailing list searches.
-
-       * camel.c (camel_init): call camel-mime-utils-init func.
-
-       * camel-mime-utils.c: Changed mail mail_list_magic to include a
-       domain part, also pre-compile all the patterns.  They are all
-       backward compatible except List-Id: which now uses the
-       mail-address-like <list-name.host.name> part rather than the
-       plain-text part (which might've been blank anyway).
-       (camel_mime_utils_init): Initialisation function to setup any
-       static data required by camel-mime-utils at run-time.  We now
-       setup the base64/charset class tables here, so it doesn't need to
-       be done statically.
-       (camel_mime_special_table, camel_mime_base64_rank): No longer
-       statically initialise these.
-       (main): Removed + the tests at the end of the file.
-       (header_raw_check_mailing_list): Dont compile regex's here,
-       already compiled in utils_init.  Use the regex patterns to remove
-       leading <'s from addresses.  Also, if there is a domain part
-       matched, add that after a '@' is added.
-
-       * camel-search-private.c (camel_search_header_match): Match check
-       against all addresses in a multiple address match.  Should fix
-       #13051.
-       (camel_search_header_match): Oops, missing i=0.
-       (camel_search_header_match): Added SEARCH_TYPE_MLIST for mlist
-       search types.  It ignores the domain part if either (but not both)
-       of the values dont have it.
-
-2001-10-22  Dan Winship  <danw@ximian.com>
-
-       * camel-pgp-mime.c (camel_pgp_mime_part_verify): Add a hack: if
-       the multipart/signed part has a "x-inline-pgp-hack" parameter in
-       its Content-Type, don't pass the MIME headers as part of the data
-       to be verified.
-
-2001-10-22  Rodrigo Moya <rodrigo@ximian.com>
-
-       * Makefile.am: added $GNOME_INCLUDEDIR to INCLUDES, needed for latest
-       libgnome, which install headers in $(prefix)/gnome-1.0
-
-2001-10-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): Only do the rawtext
-       checks if the part is a text part, otherwise don't bother wasting
-       cpu cycles.
-
-       * camel-store.c (camel_folder_info_build): Updated comments to
-       make the code a bit more clear.
-
-2001-10-21  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (CS_CLASS): Dont do the macro stuff - basically so
-       you can actually debug calls.
-       (camel_store_uri_cmp): New function to compare store objects.
-
-       * camel-vee-folder.c (vee_folder_add_info): oops, dont free the
-       vuid, since its alloca'd now.
-       (folder_changed_change): Kill a compile warning.
-
-2001-10-20  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (move_messages_to): If no exception supplied, use
-       a local one.
-       (move_message_to): Set the seen flag also when we delete it.
-
-2001-10-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-vtrash-folder.c (vtrash_move_messages_to): If the
-       destination folder is the vfolder source folder, then
-       set_message_flags on it.
-
-2001-10-19  Not Zed  <NotZed@Ximian.com>
-
-       * camel-session.c (register_provider): When registering provider,
-       translate all strings.
-
-       * camel-vee-folder.c (camel_vee_folder_remove_folder): Lock the
-       right lock for unmatched subfolder list stuff.  If the sub folder
-       is deleted & part of unmatched, or the last ref to the sub folder
-       is gone from unmatched, blow it away completely from unmatched,
-       but only do it once.
-       (vee_folder_remove_folder): Added arg to kill unmatched
-       unconditionally.  Also handle deleted folders, always remove
-       stuff.
-       (folder_changed_change): Lock subfolder lock for entirety of
-       operation, and also check to see if the subfolder is still there
-       before doing any fancy work (incase it got removed while we were
-       waiting to execute).
-       (folder_changed_change_uid): Use alloca for vuid, and not
-       sprintf(".lengths")
-       (vee_search_by_expression): Dont use sprintf for vuid.
-       (vee_search_by_uids): "
-       (vee_folder_add_info): "
-       (folder_changed_remove_uid): "
-       (folder_changed_change): "
-       (folder_changed_change_uid): Also check folder_unmatched for
-       changed uid's so we properly update/propagate unmatched changes.
-       (folder_changed_change): Ok, so dont hold the subfolder lock for
-       the whole duration of the changed event, although we probably
-       should, requires a recursive mutex.
-       (folder_changed_change): Change logic, we always add changed stuff
-       if it now matches, but dont remove it unless its auto-remove, only
-       propagate changes for it.
-       (vee_set_message_flags): Call parent method after doing our work.
-       (vee_set_message_user_flag): Same here.
-
-2001-10-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): If a charset isn't
-       specified or claims to be utf-8, check the validity of the text
-       and if it's invalid, set the rawtext bit to TRUE. If the charset
-       is x-unknown or some other x- charset, always set the rawtext bit
-       to TRUE.
-
-2001-10-18  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_unsubscribe_folder): If we are
-       unsubscribing from a folder we have loaded, set the folder
-       deleted, as with the delete_folder case.
-
-       * providers/(imap|local|pop3|sendmail|smtp)/Makefile.am: Added
-       CAMEL_CFLAGS so we get the right iconv stuff, patch from Yanko
-       Kaneti <yaneti@declera.com>
-
-2001-10-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (crypto_exec_with_passwd): Make sure the
-       cancel_fd isn't -1.
-
-2001-10-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-message-cache.c (insert_finish): Flush
-       the stream here, not sure it really matters but it might
-       (hopefully) fix bug #12943.
-
-       * camel-pgp-context.c (crypto_exec_with_passwd): Make
-       user-cancellable.
-
-       * providers/local/camel-local-provider.c: String cleanup for bug
-       #6640.
-
-       * providers/imap/camel-imap-folder.c (imap_sync_online): Fix my
-       Cyrus imapd workaround...instead of checking to see if info->flags
-       == FLAGGED, just check to see if it contains any IMAP flags.
-
-2001-10-17  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-folder.c
-       (camel_maildir_folder_new): Use '.' as the inbox name for filter
-       new messages test.
-
-       * camel-store.c (camel_folder_info_clone): New function to clone a
-       folderinfo tree.
-
-2001-10-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-mh-folder.c (mh_append_message): Same as
-       maildir and mbox append-message.
-
-       * providers/local/camel-maildir-folder.c (maildir_append_message):
-       Same as mbox append.
-
-       * camel-exception.c (camel_exception_set): Make sure the new
-       description isn't the same as the old description pointer before
-       freeing the old one.
-       (camel_exception_setv): Don't free the old description until we
-       set the new one this way we can reuse the old description in the
-       new description.
-
-       * providers/local/camel-mbox-folder.c (mbox_append_message): If
-       errno == EINTR, then we got a user-cancel so set the exception
-       appropriately so that we don't make the user shit his pants.
-
-       * camel-filter-driver.c (do_copy): Add an optimization for when
-       destination folder is the same as the source folder.
-
-2001-10-17  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_info_online):
-       (parse_list_response_as_folder_info): Patch from Danw, Use unread
-       count of -1 to mark unflagged messages.  Make sure any folder we
-       dont lookup explicitly is marked as -1.  Should fix #9947 and
-       friends.
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync): Only
-       touch the summary if the timestamp or size changed.
-
-2001-10-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message): Set
-       the DELETED flag on directly on the info if the source folder
-       doesn't have summary capability.
-
-2001-10-17  Not Zed  <NotZed@Ximian.com>
-
-       * camel-tcp-stream-raw.c (stream_write): As below.
-
-       * camel-stream-fs.c (stream_write): If not checking cancellation,
-       make sure we write out everything asked of us.
-
-2001-10-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (pgp_verify): Rearange the order of the gpg
-       options slightly otherwise it might try to use "--no-tty" as the
-       filename to verify :-)
-
-       * camel-object.[c,h]: If CAMEL_DEBUG is defined, print some useful
-       ref/unref info.
-
-       * providers/imap/camel-imap-store.c (delete_folder): Fixed an
-       assignment warning.
-
-       * camel-uid-cache.c (camel_uid_cache_new): Make sure that the
-       parent directory exists before trying to open the filename, if it
-       doesn't, create it.
-
-2001-10-16  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (header_address_decode): If no content, dont
-       try and decode further and spit meaningless warnings.
-
-2001-10-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (do_flag): Only perform the operation on
-       the folder if the folder has summary capability, else just poke
-       the info directly. Fixes the "Filters don't work" bug.
-       (do_score): Same.
-       (do_colour): And here too.
-
-2001-10-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-stream-fs.c (stream_read): Save the errno before calling
-       fcntl so fcntl doesn't overwrite errno in case of a previous
-       error.
-       (stream_write): Same.
-
-2001-10-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Replace the
-       Bcc headers in a single location and don't flush the data unless
-       the write was successful.
-
-2001-10-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * Makefile.am: Remove the stripheader filter from the build.
-
-       * camel-mime-filter-stripheader.[c,h]: Removed.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Check the
-       return value of camel_stream_flush to make sure it flushed the
-       data successfully before continuing. Don't use the stripheader
-       filter, it was completely broken - instead remove the header and
-       set it again after we send.
-
-2001-10-12  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (camel_vee_folder_remove_folder): Unhook from
-       all events before removing folder.
-       (camel_vee_folder_add_folder): Hook onto delete event.
-       (camel_vee_folder_finalise): Unhook from deleted event for suibfolder.
-       (subfolder_deleted): When the folder is deleted, remove it from
-       the vfolder automagically.
-
-2001-10-11  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (vee_search_by_uids): convert the uids list
-       to a subset appropriate for each subfolder before trying to search
-       on it.
-
-       * camel-charset-map.[ch]: Removed charset/locale charset lookup
-       and iconv_open/close functions, moved to gal.  Fixed all callers.
-
-2001-10-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (ssl_cert_is_saved): Same.
-
-       * camel-tcp-stream-openssl.c (ssl_cert_is_saved): Instead of
-       opening the file, stat it and make sure that it belongs to us.
-
-2001-10-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-openssl.c (ssl_verify): Same hack as below.
-
-       * camel-tcp-stream-ssl.c (ssl_bad_cert): Hack around the fact that
-       adding a cert to nss's certdb seems to not work.
-
-2001-10-10  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (vee_sync): Only re-build the folder if we're
-       expunging.  Also only clear out the changed folders list if we're
-       expungung and everything worked.
-
-2001-10-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-charset-map.c (camel_charset_map_init): Added a hack for
-       Solaris systems.
-
-2001-10-10  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-store.c (scan_dir): oops, we want
-       get_unread_message_count, not get_message_count!
-
-2001-10-09  Not Zed  <NotZed@Ximian.com>
-
-       * camel-service.c (camel_service_disconnect): Duplicate connect
-       code that unregisters a cancel op if we created one.
-
-       * camel-operation.c (camel_operation_progress): Another go at
-       getting the logic right again.  Make transients only update after
-       5 seconds (CAMEL_OPERATION_TRANSIENT_DELAY)
-       (camel_operation_end): Likewise.
-
-       * providers/local/camel-spool-folder.c (spool_search_by_uids):
-       Implement.
-
-       * providers/imap/camel-imap-search.c (imap_body_contains): If
-       searching a sub-set of the total message count, then use a UID
-       range to search only specific messages.
-
-       * camel-vee-folder.c (vee_folder_change_match): Removed.
-       (folder_changed_add_uid): Helper func for changed code.
-       (folder_changed_remove_uid): "
-       (folder_changed_change_uid): "
-       (folder_changed): Rewritten.  Supports proper auto-updating of
-       changes, but not removals till a sync occurs.
-       (vee_search_by_uids): Implement.
-       (folder_changed): Changed to call an async threaded function to do
-       the actual folder updating.
-
-       * camel-folder-summary.c (camel_flag_list_copy): New func to copy
-       a whole list of flags.
-       (camel_tag_list_copy): New func to copy a whole list of flags.
-
-       * providers/imap/camel-imap-folder.c (imap_search_by_uids):
-       Implement.
-
-       * providers/local/camel-local-folder.c (local_search_by_uids):
-       Implement.
-
-       * camel-folder.c (camel_folder_search_by_uids): New function,
-       search a subset of uid's.
-       (search_by_uids): Default impl, return error.
-
-2001-10-08  Dan Winship  <danw@ximian.com>
-
-       * camel-folder.h (struct _CamelFolder): replace the ever-growing
-       list of gbooleans with a single guint32 for flags.
-
-       * camel-folder.c: Update folder flag setting/checking.
-
-       * providers/pop3/camel-pop3-folder.c (camel_pop3_folder_init):
-       * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): 
-       * providers/local/camel-spool-folder.c (spool_init,
-       camel_spool_folder_new): 
-       * providers/local/camel-maildir-folder.c (camel_maildir_folder_new): 
-       * providers/local/camel-local-folder.c (local_init): 
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_init,
-       camel_imap_folder_new): 
-       * camel-vtrash-folder.c (camel_vtrash_folder_init): 
-       * camel-vee-folder.c (camel_vee_folder_init): 
-       * camel-digest-folder.c (camel_digest_folder_init): update folder
-       flag setting.
-
-2001-10-07  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_online): Unlock
-       the store before returning error. (noted by NotZed)
-
-2001-10-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_text): Fix a slight error in
-       logic. Just because the last word was an encoded word doesn't mean
-       we ignore the lwsp padding, we only ignore it if the last word and
-       *this* word are encoded.
-
-2001-10-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-basic.c (filter): Implemented uuencoding and
-       decoding.
-       (complete): Implemented uuencoding and decoding.
-
-       * camel-mime-utils.c (uuencode_close): New function to flush the
-       uu encoder.
-       (uuencode_step): New function to uuencode a block of data.
-
-2001-10-05  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (subscribe_folder): Use a
-       folder_subscribed event rather than a folder_created one.
-       (unsubscribe_folder): Similarly for unsubscribed/deleted.
-       (create_folder): Emit a folder_created event on the folders we
-       added.  Not sure hsould probably check which ones are new and
-       which ones are just existing ones?
-       (delete_folder): Emit a folder_deletd event when we've deleted the
-       folder.  Part of fix for #11831.
-
-       * camel-store.c (camel_store_class_init): Added
-       folder_subscribed/unsubscribed events.
-
-2001-10-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-service.c (camel_service_finalize): Turn off warnings.
-       (get_name): Same.
-
-       * camel-sasl.c (sasl_challenge): Turn off warnings.
-
-       * camel-tcp-stream.c (tcp_connect): Turn off warnings.
-       (tcp_getsockopt): Same.
-       (tcp_setsockopt): Here too.
-       (tcp_get_socket): And here.
-
-       * camel-folder.c (folder_sync): Turn off warnings.
-       (expunge): Same.
-       (append_message): Here too.
-       (get_message): And here.
-       (search_by_expression): And again here.
-       (folder_changed): Here too.
-
-       * camel-store.c (get_folder): Set an exception and turn off
-       debugging g_warnings.
-       (create_folder): Same.
-       (delete_folder): Here too.
-       (rename_folder): And here.
-       (get_trash): And here.
-       (get_folder_info): Same.
-       (free_folder_info): And again here.
-       (camel_folder_info_build): Here too.
-       (folder_subscribed): Same.
-       (subscribe_folder): Here too.
-       (unsubscribe_folder): And here.
-
-2001-10-05  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (header_decode_mailbox): Try harder to get
-       broken names out of addresses.  Unencoded ,'s in names will still
-       break it, but well what can you do eh?
-       (header_decode_mailbox): Always add .'s into address we've scanned
-       past a '.', even if we can't decode the next part.  Fix for some
-       annoying bug #.
-
-2001-10-04  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_delete_folder): Change the order of
-       execution slightly.  We delete the folder first, then call the
-       classes delete folder, then cleanup the hashtable afterwards.
-       This is so deletes of vfolders work, since vee-store uses the
-       folder hashtable to store all of is vfolders :-/
-
-2001-10-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-service.c (camel_service_connect): Unregister the
-       operation before unreffing it.
-
-2001-10-03  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
-       Remove now unused 'recents' array/freeing func.
-
-       * camel-object.c (camel_object_trigger_event): Oops, always run
-       the prep function, even if we have no hooks listening.  Causes
-       incoming imap recents to get ignored bythe camel-folder filter
-       inbox code.
-
-       * providers/local/camel-local-folder.c (local_sync): Dont
-       explicitly save metadata, its saved in summary_sync.
-
-       * providers/local/camel-mh-summary.c: Call superclass.
-       (mh_summary_check): Dont save ibex.
-
-       * providers/local/camel-maildir-summary.c: Call superclass method.
-       (maildir_summary_check): Dont save ibex explictly.
-
-       * providers/local/camel-mbox-summary.c: Call super-class sync when
-       done, saves summary/ibex, etc.
-       (mbox_summary_check): Dont save ibex.
-       (mbox_summary_sync): Call summary_check rather than trying to
-       update from our known position.
-
-       * providers/local/camel-local-summary.c
-       (camel_local_summary_check): Dont save the summary or index here.
-       (local_summary_sync): Save the summary/index here.
-
-       * camel-search-private.c (camel_search_build_match_regex): Added
-       MATCH_NEWLINE flag, -> REG_NEWLINE.
-
-       * camel-lock-helper.c: Include <string.h> to kill some warnings.
-
-       * camel-filter-search.c (get_full_header): Put \n's between each
-       line we generate.
-       (header_full_regex): Dont drop the first argument to the command
-       -> empty matches!
-       (header_full_regex): Set match_newline for building regex.
-       (body_regex): And here too.  These all fix #9877.
-
-2001-10-03  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (camel_store_delete_folder): Call
-       camel_folder_delete() on the folder if it's "alive".
-
-       * camel-folder.c (camel_folder_delete): Mark the folder as
-       deleted, perform any folder specific cleanup and emit the deleted
-       event.
-       (camel_folder_sync): Only sync the folder if it hasn't been
-       deleted.
-       (camel_folder_expunge): Same.
-
-2001-10-03  Dan Winship  <danw@ximian.com>
-
-       * providers/local/camel-local-provider.c (local_url_equal):
-       Strange are the ways of alloca. Fixes 11543.
-
-2001-10-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (ssl_bad_cert): Import the certificate if
-       the user accepts it.
-
-2001-10-02  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-provider.c (local_url_hash,
-       local_url_equal): for hashing/comparing local url's, we ignore
-       trailing /'s in paths (maybe shuld handle multiple /'s too).
-       (camel_provider_module_init): Use local_url_hash/equal for all
-       functions.
-
-       * camel-sasl-digest-md5.c (digest_response): Change to
-       camel_charset_iconv_open/close.
-
-       * camel-pgp-context.c (pgp_verify): Change to
-       camel_charset_iconv_open/close.
-
-       * camel-mime-part-utils.c (convert_buffer): Change to
-       camel_charset_iconv_open().
-
-       * camel-mime-filter-charset.c
-       (camel_mime_filter_charset_new_convert, finalise): Change to
-       camel_charset_iconv_open, etc.
-
-       * camel-mime-utils.c: Use the camel_charset_iconv_open/close()
-       functions to open/close it.
-
-       * camel-charset-map.c (camel_charset_iconv_open): New function,
-       wrap iconv_open, so we can cache ic's.
-       (camel_charset_iconv_close): Likewise for close.
-       (camel_charset_map_init,shutdown): Init/free iconv cache.
-
-2001-10-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-charset-map.c (camel_charset_to_iconv): Revert my
-       x-unknown special-case hack - this may mask other problems.
-
-       * camel-mime-utils.c (rfc2047_decode_word): If the iconv
-       conversion fails, for whatever reason, retry using the user's
-       locale charset.
-
-2001-10-02  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-store.c (get_folder_info): Go back
-       to using the store url's path, not the toplevel_dir thing.
-
-       * camel-operation.c (camel_operation_progress): Fix the progress
-       logic, so we dont update too often.
-
-       * camel-object.c (camel_object_get_hooks): Change the lock to a
-       recursive e-mutex.
-       (camel_object_hook_event): Maintain list length of hook list.
-       (camel_object_unhook_event): "
-       (camel_object_unhook_event): If we are in an event, just mark the
-       pair as removed, without removing it.
-       (camel_object_trigger_event): Before running events, copy the
-       list, and also ignore 'removed' events.  After running events, if
-       we're all out of events, then free up any pending-removed events.
-       (camel_object_free_hooks): Add some new assertions on the state of
-       the hook structure.
-       Removed the #error if threads not defined.  It _should_ actually
-       work without threads.
-       (camel_object_free_hooks): Free mutex when done.
-
-2001-10-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (delete_folder): Remove any
-       cached messages that belonged to the deleted folder.
-       (subscribe_folder): Don't ever let the info->name be NULL and
-       don't use the stupid concat kludge to generate the URL, just use a
-       CamelURL to do it. This way we don't risk breaking stuff by having
-       a url like imap://fejj@imap//folder
-
-       * camel-charset-map.c (camel_charset_to_iconv): If the charset is
-       x-unknown, return the locale_charset.
-
-2001-10-01  Dan Winship  <danw@ximian.com>
-
-       * camel-provider.h: Fix up the provider flags to specify things
-       more completely so we don't have to hardcode provider names in the
-       mailer.
-
-       * providers/local/camel-local-provider.c: MH, mbox, and Maildir
-       are LOCAL. MH and mbox are no longer STORAGE by the new
-       definition.
-
-       * camel-session.c (vee_provider): The vfolder store is a STORAGE.
-
-2001-10-01  Dan Winship  <danw@ximian.com>
-
-       * providers/local/camel-local-store.c (construct): Don't munge the
-       URL; CamelSession's caching relies on it not changing. Instead,
-       add a toplevel_dir field to CamelLocalStore, and set that to the
-       path, but always ending with /.
-       (camel_local_store_finalize): Free toplevel_dir
-       (camel_local_store_get_toplevel_dir): Return toplevel_dir rather
-       than url->path.
-
-       * providers/local/*: Lots of s/url->path/toplevel_dir/
-
-       * providers/local/camel-spool-store.c (construct): Likewise, don't
-       try to strip a trailing / from url->path here, but I didn't make
-       the corresponding toplevel_dir change, because there's no good
-       reason someone should expect "/var/spool/mail/danw/" to work since
-       that's not a directory.
-
-       * providers/pop3/camel-pop3-folder.c (pop3_refresh_info): if STAT
-       returns 0, don't bother sending UIDL. Speeds things up slightly
-       and also works around a bug in a particular random POP server.
-       (ximian bug 11369).
-
-2001-09-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (pgp_sign): Add --no-secmem-warning and
-       --no-greeting to the gpg command-line options.
-       (pgp_clearsign): Same.
-       (pgp_verify): Here too.
-       (pgp_encrypt): And here.
-       (pgp_decrypt): And finally here.
-
-2001-09-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-search.c (get_source): Same here.
-
-       * camel-mime-message.c (camel_mime_message_set_source): Don't use
-       the e_url_shroud hack, use CamelURL functions instead.
-
-2001-09-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/nntp/camel-nntp-provider.c
-       (camel_provider_module_init): Init the nntp url hash and url_equal
-       functions.
-
-       * providers/sendmail/camel-sendmail-provider.c
-       (camel_provider_module_init): Init the sendmail url hash and
-       url_equal functions.
-
-       * providers/smtp/camel-smtp-provider.c
-       (camel_provider_module_init): Init the smtp url hash and url_equal
-       functions.
-
-       * providers/pop3/camel-pop3-provider.c
-       (camel_provider_module_init): Init the pop3 url hash and url_equal
-       functions.
-
-       * providers/imap/camel-imap-provider.c
-       (camel_provider_module_init): Init the imap url hash and url_equal
-       functions.
-
-       * providers/local/camel-local-provider.c
-       (camel_provider_module_init): Init the local url hash and
-       url_equal functions.
-
-       * camel-session.c (camel_session_class_init): Init the vfolder url
-       hash and url_equal functions.
-
-       * camel-provider.h: Added url_hash and url_equal function pointers
-       to the structure.
-
-       * camel-vtrash-folder.c (vtrash_move_messages_to): Oops, a
-       CamelFolder is not a CamelFolderClass.
-
-2001-09-28  Dan Winship  <danw@ximian.com>
-
-       * camel-tcp-stream-openssl.c (ssl_error_to_errno): Make this take
-       an SSL * instead of a CamelTcpStreamSSL *, since it can get called
-       from open_ssl_connection, when the CamelTcpStreamSSL isn't set up
-       right yet. Fixes a crash on connection failure.
-
-2001-09-27  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c
-       (camel_imap_folder_fetch_data): Grab the store's command_lock
-       before grabbing the folder's cache_lock to prevent deadlock if
-       another thread is processing an EXPUNGE response.
-
-       * providers/imap/camel-imap-folder.c
-       (imap_expunge_uids_resyncing): Fix a compiler warning that might
-       point out a real bug...
-
-       * providers/imap/camel-imap-folder.c (get_content): and one that
-       doesn't
-
-2001-09-27  Not Zed  <NotZed@Ximian.com>
-
-       * camel-service.c (camel_service_connect): Dont re-register the
-       connect_op if we got it by calling 'operation_registered', which
-       returns an already-registered one.
-       (camel_service_disconnect): Likewise here.  This removes all the
-       re-registered warnings.
-
-       * camel-object.c (camel_object_unref): Fill the finalised data
-       with nonsense, rather than 0's - more easily detect bad data.
-       (camel_object_new): Clear instance data when we retrieve it off
-       the list.
-
-       * camel-object.h (_CamelObject): Added an event lock pointer for
-       uh, locking event stuff.  Also change the hooklist hashtable into
-       a list.  Changed all the code to handle it.  Result: thread-safe
-       events, event-hooks, and save memory too, and SHOULD FINALLY FIX
-       THAT UNREAD COUNT PROBLEM.
-
-2001-09-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-mime.c (camel_pgp_mime_part_decrypt): CRLF decode the
-       stream before parsing it into a MIME part. This fixes bug #10521.
-
-       * camel-store.c: Remove the old folder from the vTrash folder.
-
-2001-09-27  Dan Winship  <danw@ximian.com>
-
-       * camel-service.c: Change "gboolean connected" to
-       "CamelServiceConnectionStatus status", which can be disconnected,
-       connecting, connected, or disconnecting.
-       (camel_service_init, camel_service_finalize): create/destroy the
-       connect_op_lock. Refer to service->status rather than
-       service->connected.
-       (camel_service_connect): When connecting, note the current
-       operation (and create a new one if there's none registered) and
-       mark the connection "connecting" until we succeed or fail.
-       (camel_service_disconnect): Likewise in reverse.
-       (camel_service_cancel_connect): New function to cancel a
-       connection attempt.
-       (cancel_connect): Default implementation: Call
-       camel_operation_cancel on the connect_op.
-
-       * camel-disco-store.c (disco_connect): Only call
-       CamelRemoteStore's connect func if we're online.
-       (disco_cancel_connect): Fall back to offline if a connection gets
-       cancelled.
-       (disco_get_folder_info): Kludge: call connect explicitly before
-       deciding whether to do the online or offline version, so if the
-       connect fails, we fall back correctly.
-
-       * camel-session.c (camel_session_get_service_connected):
-       s/svc->connected/svc->status/
-
-       * camel-remote-store.c (camel_remote_store_finalise):
-       Change service->connected check to service->status check.
-       (remote_connect): Don't set service->connected here:
-       camel_service_connect() itself does that.
-
-       * camel-operation.c (camel_operation_registered): Deal with the
-       possibility that there's no registered op.
-
-2001-09-26  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message): If
-       we get a search error, just abort, dont try and fall back and copy
-       to inbox.
-       (camel_filter_driver_filter_message): Make sure we ALWAYS use
-       exceptions for important things - like moving messages to inbox!
-       (camel_filter_driver_filter_message): If we have the source
-       folder, use camel_folder_set_message_flags rather then poking the
-       info directly, which skips changed events.  This means filtering
-       immediate doesn't lose changed events.
-       (do_flag): Same here.
-       (do_colour): Same thing but using set_tag.
-       (do_score): Same again.
-       (camel_filter_driver_filter_folder): Use ~0 as the 'set' arg to
-       set_flags, just saves typing.
-       (open_folder): We cache folders that we couldn't open as well as
-       those ones we could.  Use magic token FOLDER_INVALID =
-       (void *)~0 as the marker.
-       (close_folder): Handle FOLDER_INVALID case properly.
-
-2001-09-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-message.c
-       (camel_mime_message_get_part_by_content_id): New function to
-       convenience Larry ;-)
-       (check_content_id): Oops, return !found instead of found. This
-       callback has to return whether or not to keep searching, not
-       whether or not it found what it's looking for. Do'h!
-
-       * camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): block out
-       some code if ENABLE_PEDANTIC_PGPMIME is not defined.
-
-2001-09-26  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-store.c: Emptied VeeStorePrivate, member wasn't used.
-
-       * camel-vee-folder.c (camel_vee_folder_set_expression): Lock
-       changed list separately.
-       (camel_vee_folder_remove_folder): "
-       (camel_vee_folder_set_folders): Use changed_lock for changed list.
-       (vee_refresh_info): Use changed_lock, also just grab the list,
-       reset it in the lock, and do the work unlocked.
-       (vee_sync): Use changed lock for changed list.
-       (folder_changed): ".  All this kills a deadlock with sync/expunge.
-       
-       * camel-private.h (CamelVeeFolderPrivate): Added a new lock for
-       the folders-changed list.
-       (CamelVeeStorePrivate): Removed, defined in camel-vee-store.c,
-       thanks to a pedantic.
-
-2001-09-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * Makefile.am: Fix Ettore's fix.
-
-2001-09-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (camel_pgp_context_new): No longer takes a
-       remember argument.
-       (pgp_sign): Only uncache the passphrase on failure.
-       (pgp_clearsign): Same.
-       (pgp_encrypt): Here too.
-       (pgp_decrypt): And here.
-       (pass_free): New function to zero the passphrase before freeing
-       it.
-
-2001-09-25  Ettore Perazzoli  <ettore@ximian.com>
-
-       [Patch for Automake 1.5 compatibility pointed out by Richard
-       Boulton <richard@tartarus.org>, as per #9258.]
-
-       * providers/nntp/Makefile.am: Remove some commented parts that
-       make Automake 1.5 choke.
-
-       * Makefile.am (camel-lock-helper): Add $(EXEEXT) for Automake 1.5
-       compatibility.
-
-2001-09-25  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (get_unread_message_count): Only unref info if we
-       got it.
-
-       * camel-operation.c (camel_operation_unref): Fix for !threads
-       enabled not ccompiling.
-       (camel_operation_ref): Assert refcount > 0.
-       (struct _CamelOperation): Removed the lock.  On further
-       investigation, I dont think this will always work, the
-       registration operations assume that a lookup in the
-       operation_active table will return a ref, that will remain valid
-       until we ref it, which needn't be the case.  So now i'm using a
-       single global lock, since we'd need to do that for unref anyway,
-       and every operation is fast & memory-bound.  Changed all the code
-       to handle this.
-       (camel_operation_progress_count): Since the code is identical,
-       just call progress() for now.
-       (camel_operation_register): No longer refcount, use unref to
-       check/clear the active table.
-       (camel_operation_unregister): Same here.
-       (camel_operation_unref): Check if operation is in active table, if
-       so, warn, remove.
-
-2001-09-25  Dan Winship  <danw@ximian.com>
-
-       * camel-tcp-stream-openssl.c (my_SSL_read, my_SSL_write): call
-       SSL_read/write, looping on SSL_ERROR_WANT_READ/WRITE. I'm sure
-       there's a perfectly good reason that the API works this way. No,
-       really.
-       (stream_read, stream_write): use my_SSL_read and my_SSL_write.
-       Fixes at least ximian 8593, and probably 6024 and maybe 10366,
-       at least for OpenSSL. There may be a parallel NSS bug?
-
-2001-09-25  Not Zed  <NotZed@Ximian.com>
-
-       * camel-stream-buffer.c (stream_write_all): A "safe write"
-       function that always writes out all data asked of it, till
-       finished.
-       (stream_write): Rewritten.  What was i on when i wrote that
-       originally, how did it ever work with tcp streams ...
-
-2001-09-24  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (append_message): Set the exception to
-       FOLDER_INVALID rather than making out it worked.  A fix for #7025.
-       (search_by_expression): Here too.
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): In the
-       'lose' case, free messages, not fetch_data twice!
-
-       * camel-filter-search.c (check_header): If the type is encoded,
-       get the fallback charset from the message content-type.
-
-       * camel-mime-part-utils.c (check_html_charset): Dont check for
-       charset==null before calling charset_to_iconv.
-       (simple_data_wrapper_construct_from_parser): "
-
-       * camel-mime-message.c (process_header): Try use content-type
-       charset param as the fallback charset.
-
-       * camel-charset-map.c (camel_charset_to_iconv): Handle name ==
-       NULL, return NULL.
-
-       * camel-folder-summary.c (camel_folder_summary_format_address):
-       (camel_folder_summary_format_string): Made private again, removed
-       #warning about it.  Renamed to s/camel_folder//.
-       (summary_format_string): Take default charset param.
-       (camel_message_info_new_from_header, message_info_new): Decode
-       content-type field to get the charset parameter to use as the
-       default charset for decoding strings.
-
-       * camel-search-private.c (camel_search_header_match): Pass NULL as
-       the charset, the locale charset is always tried.
-       (camel_search_header_match): Supply a default_charset parameter to
-       be used with TYPE_ENCODED params.
-
-       * camel-mime-utils.c
-       (header_param): get rid of the g_strcasecmp crap.
-       (header_set_param): Same here.
-       (header_decode_param_list): And here.
-       (header_decode_text): Totally rewritten.  30% of its size.  If the
-       word is not rfc2047 encoded, always try default_charset if
-       supplied, if that fails, try locale charset if it exists, if that
-       fails then assume latin1/7 bit ascii.
-       (append_8bit): Changed to return FALSE if we can't convert for
-       whatever reason, and dont append anything.
-
-       * camel-mime-part.h (struct _CamelMimePart): Move content_type and
-       headers out of the 'private' section.
-
-       * camel-mime-part.c (get_headers): Dont do any conversion on the
-       header.
-       (process_header): Get the content-type charset as the fallback
-       charset for decode_string.
-       (construct_from_parser): IF we have a content-type header, process
-       it before doing anything else, so we have access to a fallback
-       charset for invalid headers.
-
-2001-09-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-openssl.c (ssl_verify): Don't even try to alert
-       the user if the session isn't interactive.
-       (errlib_error_to_errno): Make the default errno EINTR so that we
-       act just like CamelTcpStreamSSL.
-
-       * camel-pgp-context.c (pgp_sign): When the password is not
-       provided, set the exception to USER_CANCEL.
-       (pgp_clearsign): Same.
-       (pgp_encrypt): And here.
-       (pgp_decrypt): Here too.
-
-2001-09-21  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (create_folder): Set the exception if
-       create_folder isn't implemented.
-
-2001-09-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (create_folder): Go back to
-       not using camel_folder_info_build() here because this seems to
-       break folder creation (returning nodes from the root path when it
-       shouldn't be?).
-
-2001-09-21  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-store.c (vee_get_folder_info): Force a refresh of
-       vfolders before storing their count.  This essentially makes
-       'get_folderinfo' refresh all vfolders, so that get-mail works as
-       expected.
-
-       * camel-vee-folder.c (camel_vee_folder_finalise): Clear lists.
-       (folder_changed): If we're not autoupdating the folder, then
-       add this folder to the list of 'changed' folders for this vfolder.
-       (camel_vee_folder_set_expression): Reset the folders_changed list.
-       (camel_vee_folder_remove_folder): Remove the folder from the
-       folders_changed list.
-       (camel_vee_folder_set_folders): If we have a folder already, but
-       its changed, use this opportunity to update it.
-       (vee_sync): Remove any synced folders from the folders_changed
-       list.
-       (vee_refresh_info): Refresh folder, re-run queries on any changed
-       folders.
-
-2001-09-20  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-summary.c (camel_folder_summary_header_load): New
-       function to just load the summary.  Not much use yet, until unread
-       counts are stored in the summary (which now looks like too much
-       work!).
-
-       * camel-mime-utils.c (header_decode_mailbox): Crappy fix for
-       stupid mailers.  If we get 'name b. name <foo>' then treat it as
-       '"name b. name" <foo>'.  See 8147.
-       (header_decode_mailbox): Another fix for really broken mailers
-       that have things that look like addresses followed by <address>
-       bits.
-       (rfc2047_encode_word): Escape ??= to avoid some bizarre warning
-       about trigraphs.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): Setup unread count properly, and
-       also setup the url properly.
-
-       * providers/local/camel-maildir-store.c (camel_folder_info_new):
-       Build the path on the folderinfo.
-       (scan_dir): Dont include empty host part in url for folder.
-       (scan_dir): Lookup folder counts for any folders we currenty have
-       open.
-       (scan_dir): If we dont have the folder open, then scan the 'new'
-       and 'cur' folders for new and unread messages to count instead.
-
-       * providers/local/camel-spool-store.c (get_folder_info): If we
-       have this folder open, then set unread from the folder itself.
-       (get_folder_info): Change the INBOX path to not include the
-       leading /.
-
-       * providers/local/camel-spool-folder.c
-       (camel_spool_folder_construct): Fix path.
-       (camel_spool_folder_construct): Properly setup the url field when
-       we say we've got a new folder created.
-
-       * providers/imap/camel-imap-store.c (unsubscribe_folder): Build
-       path on folderinfo.
-
-       * camel-store.c (camel_folder_info_build_path): Prepend / to path.
-
-       * camel-vee-folder.c (camel_vee_folder_construct): Use macro for
-       unmatched folder name.
-       (camel_vee_folder_new): "
-
-       * camel-vee-store.c (vee_get_folder_info): Use macro for unmatched
-       folder name.
-       (vee_delete_folder): "
-       (vee_rename_folder): "
-       (vee_get_folder): Prepend / onto path.
-       (vee_delete_folder): Setup path in folderinfo.
-       (vee_get_folder_info): Fix path in folderinfo.
-
-       * camel-vee-folder.h (CAMEL_UNMATCHED_NAME): New define for
-       unmatched (internal) name.
-
-2001-09-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-spool-folder.c
-       (camel_spool_folder_construct): And finally here.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): And here.
-
-       * camel-vee-store.c (vee_get_folder): ANd here too.
-       (vee_get_folder_info): And here.
-
-       * providers/imap/camel-imap-store.c (create_folder): Use
-       camel_folder_info_build() and do better error checking.
-       (subscribe_folder): Set the path on the folder info.
-
-       * camel-store.c (camel_folder_info_build): Set the folder-info
-       path if it hasn't already been set by the caller.
-       (camel_folder_info_free): Free the path.
-
-       * camel-store.h: Added a path member to the FolderInfo type.
-
-2001-09-20  Dan Winship  <danw@ximian.com>
-
-       * camel-charset-map.c (camel_charset_to_iconv): Nuke debug warning.
-
-2001-09-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c: Updated exception strings to be more clear.
-
-       * camel-pgp-mime.c (pgp_mime_part_sign_restore_part): Stupid
-       mistake, fixes bug #9975.
-
-       * camel-tcp-stream-ssl.c (ssl_bad_cert): Oops, don't fail if
-       `data' isn't a CamelService...cuz it's not supposed to be! It's a
-       CamelTcpStreamSSL object...doh!
-
-2001-09-19  Not Zed  <NotZed@Ximian.com>
-
-       * General cleanup of camel debug printfs.
-       
-       * camel-lock.c (camel_lock_fcntl): Changed to return 'success' if
-       the error indicates file locking isn't supported on this
-       filesystem.  Still return a warning just incase (if its the first
-       time).  Might fix a lot of reported bugs.
-
-       * providers/local/camel-spool-store.c (get_folder_info): Dont
-       include the empty // host part in the uri.  This 'breaks' the
-       service lookup.
-
-2001-09-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c: Match mailing-list header List-Owner.
-
-2001-09-18  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-store.c (vee_get_folder): Fix the uri genereated for
-       the folderinfo for the folder_created event.
-
-       * camel-store.h: Added 'total' to CamelFolderInfo.
-
-2000-09-18  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-folder.c
-       (camel_maildir_folder_new): If filter inbox is set on the store,
-       and we're opening inbox '', then enable filtering on new messages.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): After loading the summary, check
-       it, and only abort if that fails.  Also maintain the changes
-       count.
-
-       * providers/local/camel-local-summary.c
-       (camel_local_summary_load): Remove summary_check code from here.
-       (camel_local_summary_check): Sync index/summary here, if we were
-       successful.
-
-       * providers/local/camel-spool-folder.c
-       (camel_spool_folder_new): If we have filter-new-messages-on-inbox
-       set and we just opened inbox, turn on filtering on this folder.
-       (camel_spool_folder_construct): Keep track of changes for the
-       folder, so that filter-new-messages works right (?)
-
-       * providers/local/camel-spool-store.c (get_folder): Pass 'INBOX'
-       as the folder name, not the path.
-
-       * camel-folder-search.c (search_not): Modified patch from
-       <peterw@ximian.com> since the summary is messageinfo's, not
-       strings.
-
-       ** Ok so the problem with the stuff below is that maildir/spool
-       'summary_load' throws away all events, including recents, joy eh?
-       
-       * providers/local/camel-maildir-summary.c (maildir_summary_check):
-       Add new messages to the recent changeinfo.
-
-       * providers/local/camel-spool-summary.c: Mark 'new' message as
-       recent, for later processing if required (i.e. 'filter new
-       messages').
-
-       * camel-store.c (construct): new function, cascade up construct
-       method and check for 'filter' param, and set accordingly for any
-       one that might want it.
-
-       * providers/imap/camel-imap-store.c (construct): map the
-       param_filter_inbox flag to the store->flags as
-       CAMEL_STORE_FILTER_INBOX.
-
-       * camel-store.h (CAMEL_STORE_FILTER_INBOX): new flag to tell it to
-       filter inbox.
-
-       * providers/imap/camel-imap-folder.h: Removed do_filtering flag
-       from CamelImapFolder.
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Remove
-       the 'recents' parameter, use the 'changes' parameter instead to
-       convey this info.
-       (camel_imap_folder_changed): Changed for update_summary api
-       change.  Now always just emit the changed event if we have any
-       changes to report, filtering code removed, handled upstream.
-       (filter_proc): 
-       (filter_free): Removed old filtering code.
-       (camel_imap_folder_new): Set the filter_recent flag on the folder
-       if we're the inbox and filtering of inbox is enabled.
-
-       * camel-folder.c (folder_changed): If we have 'recent' messages,
-       and are set to filter recents, then freeze the folder and launch a
-       thread to do the processing (or similar if threading not enabled).
-       (thaw): Make sure we emit the changed signal outside of owning the
-       lock and if things have changed.  Also, no longer bother
-       downgrading folder_changed events to message_changed events.
-
-       * camel-folder.h (struct _CamelFolder): Added filter_recent flag
-       -> signifies all recent messages in folder should be filtered.
-
-       * camel-session.c: (camel_session_thread_msg_new,
-       camel_session_thread_msg_free, camel_session_thread_queue,
-       camel_session_thread_wait): code to handle async operations as
-       part of camel processing.
-       (camel_session_finalise): free thread_lock, destroy thread, active
-       hash, etc.
-       (camel_session_init): init thread, active hash, etc.
-       (camel_session_class_init): Init virtual functions.
-       (session_thread_msg_new, session_thread_msg_free,
-       session_thread_destroy, session_thread_received,
-       session_thread_queue, session_thread_wait): default implementation
-       of session threads stuff.
-
-2001-09-17  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (camel_folder_change_info_recent_uid): New
-       function to add a 'recent' uid to the change info.
-       (camel_folder_change_info_clear): Clear recent list.
-       (camel_folder_change_info_free): Free recent list.
-       (camel_folder_change_info_new): Setup recent list.
-
-       * camel-folder.h: Added a uid_recent item to the folder_changed
-       event data.
-
-       * providers/local/camel-maildir-store.c (scan_dir): Free new in
-       the right block.
-
-       * providers/local/camel-local-provider.c: Add local config entries
-       to filter on new messages in spool and maildir provider.
-
-       * camel-vee-folder.c (vee_folder_construct): Remove the assertion
-       which stops ? in names from being allowed.
-
-2001-09-18  Dan Winship  <danw@ximian.com>
-
-       * camel-data-wrapper.c (camel_data_wrapper_is_offline): Virtualize
-       this.
-
-       * camel-medium.c (is_offline): A medium is offline if its content
-       object is offline.
-
-       * camel-multipart.c (is_offline): A multipart is offline if any of
-       its subparts are offline.
-
-2001-09-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-charset-map.c: Added korean charset conversion.
-
-2001-09-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (delete_folder): Don't process
-       the ImapResponse data, we don't want to block forever on data we
-       don't care about...
-       (create_folder): Use get_folders_online() instead of
-       get_folder_info_online().
-
-       * camel-folder.c: Reverted previous changes.
-
-2001-09-17  JP Rosevear  <jpr@ximian.com>
-
-       * Makefile.am: Helpful install-exec-hook debugging output
-
-2001-09-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder.c (camel_folder_get_uri): New function to get the
-       URI of a folder.
-       (get_uri): Default implementation.
-
-2001-09-14  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (camel_vee_folder_set_folders): New function,
-       set the complete list of folders on a vfolder, all at once.
-       (camel_vee_folder_set_expression): If we set the query to be the
-       same thing, dont do anything.
-
-       * camel-vee-store.c (camel_vee_store_init): Turn off vtrash for
-       this store.
-
-       * camel-store.c (camel_store_init): Enable vtrash by default via
-       flags.
-       (camel_store_get_trash): REturn NULL if the store doesn't support
-       vtrash.
-       (init_trash): Dont init if store doesn't support vtrash.
-
-       * camel-store.h: Add a new flags CAMEL_STORE_VTRASH -> store
-       supports vtrash.
-
-2001-09-13  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-store.c (vee_get_folder_info): Implement.
-       (build_info): Used to build a folder record from the folders
-       hashtable.
-       (vee_delete_folder): Implemented, remove folder from hashtable.
-       (vee_rename_folder): Implemented, remove old folder from
-       hashtable, add new one and rename its guts too.
-
-       * camel-store.c (camel_store_rename_folder): Do nothing if we're
-       not asked to actually change names.  Also dont do the renamed
-       cache check till after we've called the subclass.
-       (camel_store_delete_folder): Call the subclass delete firs,t then
-       make sure the cache is right.
-
-       * camel-vee-folder.c (vee_folder_construct): Remove support for
-       name?query syntax to setup vfolder.  Abort if such syntax is used.
-       (camel_vee_folder_new): Removed code that handles ? syntax, etc.
-       (vee_folder_build_folder): Handle unset expression, treat it as an
-       empty search.
-       (camel_vee_folder_set_expression): Oops, actually set the
-       expression.
-
-       * camel-vtrash-folder.c (camel_vtrash_folder_new): Dont use
-       name?query syntax to setup vfolder, but set the expression
-       directly.  Also fixes a small memleak.
-
-2001-09-12  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (camel_store_delete_folder): Fixed warnings with a
-       cast.
-       (camel_store_rename_folder): "
-
-2001-09-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-url.c (camel_url_set_param): Use g_datalist_set_data_full
-       so that the data will be free'd when we clear the list.
-
-2001-09-14  Dan Winship  <danw@ximian.com>
-
-       * camel-file-utils.c (camel_file_util_encode_string,
-       camel_file_util_decode_string): Don't claim failure when
-       reading/writing the empty string.
-
-2001-09-14  JP Rosevear  <jpr@ximian.com>
-
-       * Makefile.am: use install hook instead of install rule to
-       guarantee we run after installation
-
-2001-09-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_folder): Don't
-       reuse the exception if it has already been set.
-       (camel_filter_driver_filter_message): Same here. Also use the new
-       return value from camel_filter_search_match().
-
-       * camel-filter-search.c (camel_filter_search_match): Return an
-       integer (matched, no-match, or error).
-
-       * providers/local/camel-mbox-folder.c (mbox_append_message): Do
-       error-checking based on function return values rather than
-       exceptions as it's possible for them to be NULL.
-       (mbox_get_message): Same.
-
-       * providers/imap/camel-imap-folder.c (imap_append_offline): Pass
-       an exception to the cache.
-       (imap_append_online): Same.
-       (imap_append_resyncing): Here too.
-       (imap_copy_offline): And here.
-       (handle_copyuid): Pass NULL as the exception here...
-       (parse_fetch_response): And finally here.
-
-       * providers/imap/camel-imap-message-cache.c
-       (camel_imap_message_cache_insert):
-       (insert_setup):
-       (camel_imap_message_cache_insert_stream):
-       (camel_imap_message_cache_insert_wrapper):
-       (camel_imap_message_cache_copy): Take an exception argument and
-       set it on error.
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): Convert the charset
-       to the iconv-friendly name.
-
-       * camel-charset-map.c (camel_charset_to_iconv): Add code to
-       convert windows-[cp]#### charsets to their iconv-friendly format
-       of cp####.
-
-       * camel-pgp-context.c (crypto_exec_with_passwd): Return -1 on
-       failure.
-
-2001-09-12  Larry Ewing  <lewing@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_mbox): free
-       the source url in the nonfailure case.
-
-2001-09-12  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-search.h: Change the 'not' virtual method from an
-       immediate e-sexp function to a non-immediate one, which is what it
-       should be.
-
-       * camel-folder-search.c (search_not): Implement a 'not' function
-       ourselves.  If 'not' on a vector value, then not over all items
-       in the summary.
-       (builtings[]): Change the 'not' builtin to be a non-immediate
-       function.
-
-2001-09-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_mbox): Unref
-       the message info.
-
-2001-09-10  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-store.c (get_folder_info): Pass in
-       a hashtalbe used for finding visited nodes.
-       (inode_hash): 
-       (inode_equal): 
-       (inode_free): Helper functions for visited node checks, hashes on
-       inode + device number.
-       (scan_dir): Dont re-visited directories we've already visited, use
-       inodes + device number.
-       Also, if the folder doesn't contain cur/tmp/new, mark it as
-       noselect, but continue to recurse folders, if asked.
-
-       * camel-folder.c (move_messages_to): Progress reporting while
-       moving messages.
-
-       * camel-store.c (camel_store_delete_folder): Make sure we remove
-       the folder from our vtrash, if we have it in our opened set, and
-       also remove it from our hashtable.
-       (camel_store_rename_folder): Remove the old folder name from the
-       folder cahce, if it is there.
-
-2001-09-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-charset-map.c (camel_charset_to_iconv): Get rid of the
-       g_warning, we no longer really need that.
-
-2001-09-10  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-store.c (camel_imap_msg_new): Forgot
-       to return the newly allocated msg.
-
-2001-09-08  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-summary.c (spool_summary_sync_full):
-       Likewise.
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
-       Fix the wording.
-
-       * camel-tcp-stream-raw.c (stream_read): Save errno around fcntl
-       call in cancellable read case.  Also, loop while we get EINTR.
-       This might fix some weird reconnect behaviour with pop.
-       (stream_write): "
-
-2001-09-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (ssl_bad_cert): #if 0 out the code that
-       was hopefully going to fix bug #5325 because the functions I used
-       seem to have been deprecated. *sigh*.
-
-       * camel-remote-store.c (camel_remote_store_finalise): Disconnect
-       from the service here otherwise the locks will be destroyed and by
-       the time CamelService finalizes we'll crash or hang.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Make sure to
-       unref the mime filters when we finish with them.
-
-2001-09-07  Ettore Perazzoli  <ettore@ximian.com>
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
-       s/Synchronising/Synchronizing/.
-       (mbox_summary_sync_quick): Likewise.
-       (summary_rebuild): s/Summarising/Summarizing/.
-
-2001-09-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-multipart.c (camel_multipart_set_boundary): Take a const
-       char * instead of a char *.
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): Reuse the
-       original boundary instead of generating our own.
-
-2001-09-06  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (filter_proc): Thread
-       function to perform filtering.
-       (filter_free): Free the filter object.
-       (camel_imap_folder_changed): If we have threads enabled, then
-       queue up a request to perform filtering.  For bug #4422.
-
-       * providers/imap/camel-imap-store.c (camel_imap_msg_new): Create a
-       new 'imap msg'.
-       (camel_imap_msg_queue): Queue an 'imap msg'.
-       (async_received): Handle receiving of imap msg in async thread.
-       (async_destroy): Handle destroying of imap msg.
-       (camel_imap_store_finalize): Destroy thread when done.
-       (camel_imap_store_init): Setup thread.
-
-       * providers/imap/camel-imap-store.h: Added an ethread to the
-       store, for async processing.
-
-2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-remote-store.c (remote_recv_line): Use
-       camel_stream_buffer_read_line() instead of duplicationing the
-       functionality. Also, the previous way was broken anyway. What if a
-       line was the same length as our buffer? Then we'd go and read a
-       second line and a third and so on until they weren't the same
-       length, leaving \r's in the middle of the buffer.
-
-2001-09-06  Dan Winship  <danw@ximian.com>
-
-       * providers/pop3/camel-pop3-store.c (pop3_get_response): Fix this
-       to always set an exception if it returns POP3_FAIL, as documented.
-
-       * providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
-       Revert.
-
-2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
-       Set an exception on POP3_FAIL as well.
-
-2001-09-06  Dan Winship  <danw@ximian.com>
-
-       * providers/pop3/camel-pop3-provider.c: #ifdef out the "delete
-       after N days" option in pop3_conf_entries, since it won't be done
-       for 1.0.
-
-2001-09-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-remote-store.c (remote_disconnect): Too late to sync the
-       folders here... if this is gonna happen at all it should be done
-       in the provider.
-
-       * camel-service.c (camel_service_finalize): Do a clean disconnect.
-
-2001-08-30  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-spool-store.c (get_inbox): Return the
-       default folder (ie. INBOX) rather than saying we don't support an
-       inbox.
-
-       * camel-tcp-stream-ssl.c: #include pk11func.h.
-       (ssl_bad_cert): Use CERT_GetDefaultCertDB.
-
-2001-08-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-smime-context.c (smime_sign_prepare): Do the same here as
-       what we did in the pgp code a moment ago.
-       (smime_sign_restore): And again here.
-       (smime_sign): And update thise code to pass in the address of the
-       encodings list when restoring parts.
-
-       * camel-pgp-mime.c (pgp_mime_part_sign_prepare_part): Special-case
-       message/rfc822 mime parts - don't set an encoding on these,
-       instead traverse into their subparts and set the encodings for
-       those.
-       (pgp_mime_part_sign_restore_part): Reverse any operations done to
-       message/rfc822 parts in the above prepare_part() function and also
-       take a pointer to a GSList of encodings instead of just a GSList
-       so we can properly keep track of which encoding we are on.
-       (camel_pgp_mime_part_sign): Pass in the address to the encodings
-       list when restoring parts.
-
-2001-08-29  Not Zed  <NotZed@Ximian.com>
-
-       * providers/pop3/camel-pop3-folder.c (pop3_sync): Add progress
-       reporting to deleting messages.  Dont change the calculation to a
-       bloody float.  Bug #6189.
-
-2001-08-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (crypto_exec_with_passwd): Initialize buf
-       and diag_buf to NULL, hopefully this fixes the crash if the
-       select() times out.
-       (pgp_encrypt): Argh. What was I thinking? Don't use "-r recipient"
-       as an argument, instead use "-r" and "recipient" as 2 separate
-       arguments to pgp. This might fix the "gpg only encrypts to my
-       private key" bug?
-
-2001-08-28  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-store.c (create_folder): Whoops.
-       Double-free and FMR = bad.
-
-       * camel-remote-store.c (remote_send_string): Don't reveal the
-       user's IMAP password if their server supports LITERALPLUS. Also
-       add some more dashes to make it line up nicely :-)
-
-2001-08-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (ssl_bad_cert): If the user accepts the
-       certificate, add it to the database as a trusted CA.
-
-2001-08-28  Peter Williams  <peterw@ximian.com>
-
-       * camel-object.c (camel_object_unref): Make the locking more
-       fine-grained on destruction; specifically, don't hold the
-       type lock while calling the finalize functions.
-
-2001-08-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-local-provider.c: Changed the
-       description/names of some of the local providers to try and
-       clarify the meanings.
-
-       * providers/pop3/camel-pop3-provider.c: Simplify the POP
-       description - we want short but sweet.
-
-       * providers/imap/camel-imap-provider.c: s/IMAPv4/IMAP
-
-2001-08-27  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-part-utils.c (convert_buffer): re-read the iconv man
-       page, and treat the return value properly.  It returns the number
-       of non-reversible conversions performed, not the number of output
-       characters, sigh.
-       (check_html_charset): Changed to just take a buffer of data, and
-       not the mime parser.
-       (simple_data_wrapper_construct_from_parser): Since we dont need
-       the charset till we have all the data, search for the charset
-       after we've read the data, if we have html data with no charset in
-       the header.
-       (simple_data_wrapper_construct_from_parser): Remove the
-       seekable_source stuff.
-
-       * Re-apply patches from before.
-
-2001-08-25  Not Zed  <NotZed@Ximian.com>
-
-       ["Summarising" and "Synchronising" are spelt with a "s" in
-       ENGLISH]
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync_quick):
-       s/Synchronizing/Synchronising/.
-
-       * providers/local/camel-mbox-summary.c (summary_rebuild):
-       s/Summarizing/Summarising/
-
-2001-08-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-disco-diary.c (camel_disco_diary_replay): Use fseek
-       instead of fseeko since we want to be portable and use ftell
-       rather than ftello for the same reason.
-       (camel_disco_diary_empty): Same here.
-
-2001-08-24  Peter Williams  <peterw@ximian.com>
-
-       * Revert Not Zed's previous commits as they apparently can cause
-       serious data loss for POP3 users.
-       
-2001-08-24  Ettore Perazzoli  <ettore@ximian.com>
-
-       ["Summarizing" and "Synchronizing" are spelt with a "z" in the
-       default locale, that happens to be "en_US".]
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync_quick):
-       s/Synchronising/Synchronizing/.
-
-       * providers/local/camel-mbox-summary.c (summary_rebuild):
-       s/Summarising/Summarizing/
-
-2001-08-24  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-part-utils.c (convert_buffer): Limit the maximum
-       output buffer size.  iconv bugs?  returns E2BIG forever on some
-       (valid) data?
-
-       * providers/local/camel-spool-summary.c (summary_rebuild):
-       Likewise.
-
-       * providers/local/camel-mbox-summary.c (summary_rebuild):
-       Summarising is spelt with an s.
-
-2001-08-23  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-part.c (write_to_stream): If we have rawtext, then
-       dont do any charset conversion, only encoding/crlf conversion.
-
-       * camel-data-wrapper.h (struct _CamelDataWrapper): Added 'rawtext'
-       member, says the character encoding is raw, not utf8.
-
-       * providers/local/camel-spool-summary.c
-       (spool_summary_sync_quick): Synchronising is spelt with an s, not
-       a z.
-       (spool_summary_sync_full): "
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
-       No, synchronising is spelt with an s.
-       (mbox_summary_sync_quick): "
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): Remove the
-       warnings which aren't going anywhere fast.
-       (convert_buffer): Function to convert a bytearray of textual
-       content from one charset to another.  If the charset doesn't exist
-       or fails, then do no conversion.
-       (simple_data_wrapper_construct_from_parser): First, read in data,
-       then try and convert it using the specified charset if supplied.
-       If that fails, then dont do any conversion, and leave as raw.
-       Also, if we have any x-* charsets, then dont do any processing.
-
-2001-08-23  Peter Williams  <peterw@ximian.com>
-
-       * providers/local/camel-mbox-summary.c (summary_rebuild): Add a
-       missing \n to the end of a printf.
-
-       * providers/local/camel-spool-summary.c (summary_rebuild): Same.
-
-2001-08-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-folder.c (pop3_generate_uids):
-       Oops. Fixed a mis-use of GPtrArray. If we set_size, then using
-       g_ptr_array_add will assume `size' elements have already been
-       initialized and will start appending on to the end.
-
-2001-08-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (pgp_verify): Turn on --batch and reenable
-       gpg keyserver lookups.
-       (pgp_decrypt): Disable keyserver lookups if we are disconnected.
-
-2001-08-21  Dan Winship  <danw@ximian.com>
-
-       * camel-folder-thread.c
-       (camel_folder_thread_messages_new_summary): Fix the duplicate
-       message check so it doesn't mess up threading when a reply appears
-       in the folder before the message it's a reply to. Fixes bug #3357.
-       (camel_folder_thread_messages_new): Likewise, although I don't
-       think this function is used any more.
-
-2001-08-20  JP Rosevear  <jpr@ximian.com>
-
-       * Makefile.am: build a static camel for the addressbook conduit
-
-2001-08-20  Ettore Perazzoli  <ettore@ximian.com>
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
-       s/Synchronising/Synchronizing/.
-       (mbox_summary_sync_quick): Likewise.  *
-       providers/local/camel-spool-summary.c (spool_summary_sync_full):
-       Likewise.
-       (spool_summary_sync_quick): Likewise.
-
-2001-08-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (create_folder): Get the
-       entire directory structure for the folder we just created, meaning
-       if we created a folder named "test.mailbox" where test didn't
-       previously exist, get the listing for "test" and "test.mailbox".
-
-       * providers/imap/camel-imap-utils.c (imap_parse_folder_name): New
-       function.
-
-2001-08-19  Chris Toshok  <toshok@ximian.com>
-
-       * camel-store.h: #include <sys/types.h> for mode_t on freebsd.
-
-2001-08-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-folder.c (pop3_generate_uids): Make
-       sure the generated UID is non-NULL before appending it to the
-       array of UIDs. How would this even happen? I have no clue...
-
-2001-08-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Start
-       scanning new messages at maxuid + 1 rather than uidval + 1? Maybe
-       I'm missing the logic, but anyways...this might fix bug #5348.
-
-2001-08-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_keepalive): If we are
-       online and message flags have changed in the current folder, sync
-       the flags else do a NOOP. This fixes bug #4666. Also lock around
-       the NOOP command.
-
-       * providers/imap/camel-imap-folder.c (imap_sync_online): Don't
-       ever send "STORE FLAGS.SILENT ()" since Cyrus imapd doesn't like
-       this (and maybe others too?) so what we'll do instead is to send
-       "STORE -FLAGS.SILENT (\Seen \Answered \Deleted \Marked)" to clear
-       all the flags (since this is in essence what we want to do
-       anyway).
-
-2001-08-16  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_connect_online): Fix
-       this again. Sigh. Problem of namespace = "" may not yet be
-       completely solved.
-
-2001-08-15  Peter Williams  <peterw@ximian.com>
-
-       * camel-tcp-stream-openssl.c (ssl_error_to_errno): New
-       function. Try to approximate the SSL error into errno.
-       (errlib_error_to_errno): New function, try to approximate
-       OpenSSl's error library's error (ERR_*) into errno.
-       (stream_read): Try to set errno using ssl_error_to_errno.
-       (stream_write): Same.
-       (open_ssl_connection): Same.
-
-       * providers/imap/camel-imap-store.c (imap_connect_online): Oh
-       crap, huge killer typo.
-
-2001-08-14  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_connect_online):
-       Canonicalize store->namespace to end in store->dir_sep, once both
-       values are known. The %F-related code makes this
-       assumption. Probably fixes a bug reported on the mailing list.
-
-2001-08-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (camel_store_get_folder): After talking to NotZed,
-       it turns out I was wrong after all.
-       (store_sync): Create a copy of the folder-cache that owns a ref on
-       each of the folders so that if one of the folders get's finalized
-       inside store_sync(), we don't run into any locking issues. This is
-       mostly meant to solve a problem in IMAP (#6089).
-
-2001-08-13  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-store.c (delete_folder): Fix a leak.
-
-       * providers/imap/camel-imap-utils.c (imap_namespace_concat): Bleah,
-       handle when namespace = NULL (can happen upon initial open of mailbox.)
-
-       * providers/imap/camel-imap-command.c (imap_command_strdup_vprintf): 
-       Don't crash when %F'ing with an empty folder name and NULL namespace.
-
-2001-08-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (camel_store_get_folder): We need to be ref'ing
-       the folder if/when we add it to the hash. This may fix bug #6089?
-       (camel_store_get_folder): Nevermind, reverted the fix.
-       (camel_store_get_folder): No, I wasn't on crack before after
-       all...if we don't ref here, then we're open to a race condition
-       later.
-
-2001-08-11  Ettore Perazzoli  <ettore@ximian.com>
-
-       * providers/local/camel-spool-summary.c (summary_rebuild):
-       s/summarising/summarizing/.
-       (summary_rebuild): Likewise.
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
-       s/summarise/summarize/.
-       (mbox_summary_sync_quick): Likewise.
-       (summary_rebuild): Likewise.
-       (mbox_summary_check): Likewise.
-
-2001-08-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_quote_string): Added an
-       assert - at this point a backtrace would be more useful than a
-       transaction log for debugging.
-
-       * providers/imap/camel-imap-command.c (imap_command_start): Return
-       FALSE here, not NULL.
-       
-       * providers/imap/camel-imap-folder.c (imap_rescan): Don't
-       g_strdup() the uid into the trigger_event call.
-
-       * providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
-       Set the total bytes expected to 0 if the response is empty too.
-       (pop3_refresh_info): Return of there was an error generating pop3
-       uids.
-
-       * camel-mime-utils.c (header_raw_check_mailing_list): regfree the
-       pattern before continue'ing. This was showing up quite a bit under
-       purify.
-
-2001-08-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_parse_string_generic): A
-       quoted string cannot contain \n's so check for those as well.
-       (imap_atom_specials): Update this to fix bug #6553.
-
-2001-08-08  Jon Trowbridge  <trow@ximian.com>
-
-       * camel-filter-search.c (get_source): Remove trailing stuff from
-       URLs before returning.  (Done in an evil way, not in the good way
-       suggested by fejj. :)) (Bug #4876)
-
-2001-08-08  jacob berkman  <jacob@ximian.com>
-
-       * camel-search-private.c (camel_search_header_match): check for
-       NULL name and addr (fixes a bug i was about to report)
-
-2001-08-08  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-search.c (check_header): Properly determine match
-       type to pass to header_match.
-       (address_matches_exactly): Removed, effectively added to
-       camel_search_header_match.
-
-       * camel-folder-search.c (check_header): Properly determine the
-       match type to pass to header_match.
-
-       * camel-search-private.c (camel_search_header_match): Add a new
-       parameter 'type' which is the type of header we're matching
-       against.  ASIS means utf8 format, ADDRESS means an internet
-       address ('formatted'), ADDRESS_ENCODED means a raw address header,
-       ENCODED means rfc 2047 encoded text.
-       (header_match): Move original logic here, have search_header_match
-       call it as appropriate for the 'type' of match.
-
-2001-08-07  Not Zed  <NotZed@Ximian.com>
-
-       * camel-session.c (camel_session_class_init): Only init the vee
-       provider struct once (if we're subclassed this will get called
-       multiple times).
-
-       * camel-object.c (obj_finalize): Removed a bit of a debug that
-       crept in with jacob's poolv patch (?).
-
-2001-08-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-search.c (address_matches_exactly): New function to
-       do danw's address "is" comparison (as specified in bug #5886.
-       (check_header): Special-case address-type headers when we are
-       doing an exact match to use the address_matches_exactly function.
-
-2001-08-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
-       Modify to take a headers_only argument which will then only fetch
-       message headers.
-       (pop3_generate_uids): Pass in TRUE for headers_only.
-       (pop3_get_message): Pass in FALSE for headers_only and move the
-       camel_operation() stuff out of get_message_stream and in to here
-       instead.
-       (pop3_generate_uids): We also need to be using i+ 1 as the id
-       since we are starting at 0.
-
-2001-08-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
-       New internal function to get a message stream by message sequence
-       id (so that we can share code between pop3_get_message and
-       pop3_generate_uids).
-       (pop3_get_message): Use pop3_get_message_stream.
-       (pop3_generate_uids): New function to generate UIDs based on the
-       message - this fixes bug #1256.
-       (pop3_refresh_info): If the server doesn't support UIDL, call
-       pop3_generate_uids to get our list of UIDs.
-
-       * providers/imap/camel-imap-store.c (get_folder_info_online):
-       Don't strstr for noselect=yes, that's just plain broken.
-
-2001-08-06  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_rescan): Fix off-by-one
-       error in cleaning up deleted messages at the end of the folder.
-       Fixes bug #5585 and maybe others.
-
-       * providers/imap/camel-imap-store.c (get_folder_info_online): Do a
-       refresh_info on the selected folder before looking at its unread
-       count. Should fix bug #4944.
-
-2001-08-06  Peter Williams  <peterw@ximian.com>
-
-       Completely hide the namespace from everything external to the IMAP
-       code, which Dan W says is the way it should be.
-       
-       * providers/imap/camel-imap-command.c
-       (imap_command_strdup_vprintf): Add a new %F argument, which is like
-       %S but will add the namespace (for folder names).
-       (camel_imap_command): Use %F here.
-
-       * providers/imap/camel-imap-utils.c (imap_parse_list_response):
-       Changed to strip out the namespec when returning *folder. In order
-       to do this we need to be passed the CamelImapStore.
-       (imap_concat): Move to here from camel-imap-store.c, un-static
-       (imap_namespace_concat): New function, adds the namespace to the 
-       folder name, unless it's INBOX.
-       
-       * providers/imap/camel-imap-utils.h: Prototypes.
-
-       * providers/imap/camel-imap-store.c (imap_connect_online): Extra
-       arg to imap_parse_list_response.
-       (imap_connect_offline): Here too.
-       (get_folder_status): Use %F.
-       (get_folder_online): Here too.
-       (delete_folder): Here too.
-       (create_folder): Here too, and arg to imap_parse_list_response.
-       (parse_list_response_as_folder_info): Arg to i_p_l_r.
-       (get_subscribed_folders_by_hand): Use %F.
-       (get_folders_online): Here too.
-       (get_folder_info_online): Instead of checking for NULL @name, check
-       for name = NULL or "", and set to "" instead of namespace. Pass ""
-       instead of namespace to camel_folder_info_build.
-       (subscribe_folder): Use %F.
-       (unsubscribe_folder): Here too.
-
-       * providers/imap/camel-imap-folder.c (imap_get_full_name): This
-       now just returns folder->full_name.
-       (do_append): Use %F
-       (do_copy): Here too.
-
-2001-08-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (pgp_verify): Always do --no-auto-key-retrieve.
-
-2001-08-03  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (pgp_verify): Minor changes to the iconv
-       code so that it does the check in the return value of iconv() just
-       like the code in camel-mime-utils.c in case this fixes Bo Rosen's
-       gpg bugs (but I doubt this will change anything?).
-
-2001-08-03  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): First
-       check to make sure that service->url->authmech is non-NULL before
-       passing it into strcmp to avoid a segfault.
-
-       * camel-pgp-context.c (pgp_decrypt): Sigh, if gpg returns '1' it
-       means that the key is bad but it did succeede in decrypting the
-       block so to make users happy (even though I find this a
-       questionable action) we are going to ignore the error and show it
-       to the user anyway. This fixes bug #6136.
-
-2001-08-03  Not Zed  <NotZed@Ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): special
-       case popb4smtp auth before we try and connect, and do the magic
-       here first.
-
-2001-08-02  Not Zed  <NotZed@Ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): Check for
-       POPB4SMTP separate to the esmtp auth list.
-       (smtp_auth): If creating the sasl object means it is
-       already authenticated, then exit early.  Sort of 'clean hack' to
-       help popb4smtp work.
-       (smtp_auth): Unref the sasl object, clean up a memleak i think.
-
-       * providers/smtp/camel-smtp-provider.c
-       (camel_provider_module_init): Added POPB4SMTP auth type.
-
-       * camel-sasl.c (camel_sasl_authtype): Added POPB4SMTP type.
-
-       * camel-sasl-popb4smtp.c: New file for pop before smtp
-       'authentication'.
-
-       * Makefile.am (libcamel_la_SOURCES, HEADERS): Add
-       camel-sasl-popb4smtp.[ch].
-
-2001-08-01  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-mbox-folder.c (mbox_lock): If we fail to
-       get the lock, make sure we close our locking fd, and reset it.
-       Fixes the crash part of 5095.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
-       Slightly re-arranged filter/change notification logic.  If we;re
-       filtering, freeze the folder till we're finished to smooth the ui
-       for new mail.
-
-2001-07-31  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (camel_folder_init): Changed mutexes to
-       e_mutexes, folder lock recursive.  This fixes the imap filtering
-       bug, or at least some cases of it.
-       (camel_folder_finalize): Free mutexes.
-
-       * camel-private.h (CamelFolderPrivate): Changed mutexes to
-       e_mutexes.
-
-2001-07-25  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (camel_folder_change_info_*): Change the
-       return if fail's into asserts.
-       (camel_folder_change_info_free): Don't let it accept a NULL
-       argument.  This isn't g_lib so we dont have to.
-
-2001-07-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_param): Fix the fix that fixes
-       broken mailer behavior. We want to make sure that the user's
-       locale charset is non-NULL before we pass it off to
-       iconv_open(). If it *is* NULL, we want to use iso-8859-1.
-
-2001-07-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-url.c (camel_url_free): Allow the url to be NULL just like
-       the libc free convention.
-
-2001-07-26  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-command.c (camel_imap_command_start):
-       Send an IMAP command, but don't wait for responses.
-       (camel_imap_command_response): Read a single line of response from
-       the server.
-       (camel_imap_command, etc): Reimplement in terms of the new code.
-
-       * providers/imap/camel-imap-folder.c (imap_rescan): Use
-       camel_imap_command_start and camel_imap_command_response, and
-       call camel_operation_progress after each line read from the
-       server.
-       (imap_update_summary): Likewise, although with more fudging on the
-       precentages... Also, fix this so that if none of the new messages
-       are cached, it only does a single FETCH, and if some of them are
-       cached, it does two FETCHes (one to get the UIDs, FLAGS, and
-       SIZEs, and another to get the bodies of all of the messages that
-       aren't cached now that it knows the relevant UIDs). This should
-       speed up startup a bunch (especially if you have high bandwidth
-       but also high latency to the IMAP server).
-
-2001-07-25  Dan Winship  <danw@ximian.com>
-
-       * camel-mime-utils.c (mail_mlist_magic): Add another Sender
-       pattern.
-
-2001-07-24  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
-       Change the break into a continue, we should process as many as we
-       can find.
-
-       * camel-folder.c (camel_folder_move_messages_to): If we have no
-       uid's to copy, exit here before going any further.  Some code
-       internally [imap] assumes there are uids to copy otherwise it can
-       segfault.
-       (camel_folder_copy_messages_to): Same.
-
-2001-07-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_param): Handle broken mailers
-       that send unencoded 8bit header params. And there was much
-       rejoicing. Rah.
-
-       * camel-url.h (CAMEL_URL_HIDE_ALL): New #define, and there was
-       much rejoicing. Rah.
-
-2001-07-24  Not Zed  <NotZed@Ximian.com>
-
-       * camel-operation.c (camel_operation_register, unregister): Added
-       some warnings for bad cases.
-
-2001-07-23  Not Zed  <NotZed@Ximian.com>
-
-       * camel-operation.c (camel_operation_register): Only insert a hash
-       entry if we haven't already.
-       (camel_operation_unregister): Only remove the has entry if the id
-       is a real thread.
-
-2001-07-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (do_move): Slight fix for when source ==
-       destination (we don't want to do this action because on-demand
-       filtering would then delete the messages it supposedly "moved").
-
-2001-07-23  Not Zed  <NotZed@Ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_auth, smtp_helo,
-       send_to): Added some operation progress reporting.  Actual data
-       transfer is 'tricky' because of the layers used.
-       (smtp_auth): Instead of checking exception_is_set, use
-       challenge==NULL to test if sasl_challenge_base64 failed.
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync): Remove
-       peters changes below and put in a better fix.  These functions
-       already return -1 on error, just use that, and not worry about
-       building our own exception redundantly.
-
-       * camel-service.c (camel_get_host_byname): Turn the progress into
-       a transient event.
-
-2001-07-20  Peter Williams  <peterw@ximian.com>
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync): More
-       usage fixes for CamelException. Check our own exception for
-       summary_update and xfer it out if an error occurred.
-
-2001-07-20  JP Rosevear  <jpr@ximian.com>
-
-       * Pull up test fixes to get them building again
-
-2001-07-20  Not Zed  <NotZed@Ximian.com>
-
-       * camel-charset-map.c (camel_charset_get_iconv_friendly_name):
-       renamed to camel_charset_to_iconv() to make it just a little more
-       consistent and not so long & fixed callers.
-
-2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-filter-charset.c
-       (camel_mime_filter_charset_new_convert): Convert to the
-       iconv-friendly charset names.
-
-       * providers/imap/camel-imap-store.c (create_folder): Fixed a
-       compiler warning about returning without a value in a non-void
-       function. Blah.
-
-       * camel-mime-part.c (process_header): Pass the locale charset as
-       the default_charset to header_decode_string().
-
-       * camel-folder-summary.c (camel_folder_summary_format_string):
-       Pass the locale charset as the default_charset to
-       header_decode_string().
-       (content_info_new): Same.
-
-       * camel-mime-message.c (process_header): Pass the locale charset
-       as the default_charset to header_decode_string().
-
-       * camel-mime-utils.c (append_8bit): New helper function who's
-       purpose is similar to append_latin1() but for 8bit text that we
-       are assuming is not latin1.
-       (header_decode_text): Now takes a default_charset parameter and
-       calls append_8bit when appropriate.
-       (header_decode_string): Also takes a default_charset parameter
-       now.
-       (header_decode_mailbox): Pass NULL as the default_charset to
-       header_decode_string().
-
-2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (pgp_verify): Modified to treat the return
-       value from camel_charset_locale_name() as a const char*.
-
-       * camel-sasl-digest-md5.c (digest_response): Modified to treat the
-       return value from camel_charset_locale_name() as a const char*.
-
-       * camel-charset-map.c (camel_charset_locale_name): Modify to
-       return const char* by returning the static locale_charset which is
-       created inside of camel_charset_map_init().
-       (camel_charset_map_init): Find the locale charset here and set the
-       static variable.
-
-2001-07-19  Peter Williams  <peterw@ximian.com>
-
-       Policy change: NULL url's are no longer allowed in
-       CamelFolderInfos. They used to signify that the folder was, in
-       IMAP jargon, NoSelect; now the same effect is achieved by adding a
-       "noselect=yes" parameter to the end of the URL. As far as I know,
-       IMAP is the only affected provider.
-       
-       * providers/imap/camel-imap-store.c (delete_folder): New
-       function. Implement folder deletion.
-       (camel_imap_store_class_init): Set the delete_folder class
-       function here.
-       (get_folder_status): New function. Utility wrapper around the
-       STATUS command.
-       (create_folder): If the parent folder is NoSelect but is empty,
-       delete it and recreate it as a a subfolder-containing folder. If
-       it is NoSelect but contains messages, set an exception.
-       (parse_list_response_as_folder_info): Always set the FolderInfo's
-       URL, but add a NoSelect parameter if it isn't selectable.
-       (get_folder_info_online): Change logic of removing the namespace
-       to reflect URL change. Same for logic of checking unread counts.
-       (get_folder_info_online): Use get_folder_status to simplify this.
-
-       * camel-store.c (camel_folder_info_build): When creating dummy
-       parents, copy the child's URL and set the NoSelect parameter.
-
-2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): No need for
-       `acharset' anymore.
-       (check_html_charset): Return a const char* and also use
-       camel_charset_get_iconv_friendly_name() internally.
-
-       * camel-mime-utils.c (rfc2047_decode_word): Remove my iso8859-1 ->
-       iso-8859-1 hack and use camel_charset_get_iconv_friendly_name()
-       instead.
-       (rfc2184_decode): Use camel_charset_get_iconv_friendly_name()
-
-       * camel.c (camel_init): Call camel_charset_map_init().
-
-       * camel-charset-map.c (camel_charset_map_init): New function to
-       initialize the charset-equivalent lookup table. To be called by
-       camel_init().
-       (camel_charset_get_iconv_friendly_name): New function to try and
-       convert a charset into something that iconv is more likely to
-       accept.
-
-2001-07-19  Peter Williams  <peterw@ximian.com>
-
-       * Revert 7/11/2001 patch for IMAP INBOX filtering at NotZed's 
-       request.
-
-2001-07-17  Peter Williams  <peterw@ximian.com>
-
-       Clean up some exception misusage.
-
-       * providers/imap/camel-imap-command.c (camel_imap_command): Use
-       our own internal exception for sending the string and transfer it
-       to @ex if anything goes wrong.
-       (imap_read_response): Use our own internal exception for reading
-       the untagged responses and blah blah blah.
-
-       * camel-session.c (get_service): Use our own internal exception
-       when constructing the service and transfer it to @ex if anything
-       goes wrong.
-
-       * camel-remote-store.c (remote_recv_line): Instead of having
-       gboolean exception, use our own internal exception and copy
-       it to @ex if anything goes wrong.
-
-       * camel-store.c (store_sync): Create an internal exception
-       because sync_folder() checks it for validity. Transfer it to
-       @ex when done.
-
-       * camel-exception.c (camel_exception_get_description): If @ex is
-       NULL, complain - passing NULL exceptions to Camel is okay, but
-       there should be no circumstances under which they're then
-       examined.
-       (camel_exception_get_id): Same here,
-       (camel_exception_xfer): NULL-protect and warn if transferring from
-       a NULL exception.
-       
-2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (init_trash): Use CAMEL_VTRASH_NAME.
-
-       * camel-vtrash-folder.h: #define CAMEL_VTRASH_NAME
-
-2001-07-16  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-command.c (camel_imap_response_free):
-       Given:
-               * 4 EXISTS
-               * 1 EXPUNGE
-       We have to pass 3, not 4 to camel_imap_folder_changed for the
-       exists count. Fixes ximian bug #2112 (finally!).
-
-2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
-       If the message info for an expunged message is NULL, then just
-       break out - maybe a message was expunged that we were never
-       notified even existed?
-
-2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (rfc2047_decode_word): Added a hack to
-       convert charsets in the format iso8859-1 to iso-8859-1 because it
-       seems to be more iconv friendly. It has been reported that on some
-       systems, iconv doesn't know about iso8859-1 while it *does* know
-       about iso-8859-1. See bug #4530.
-
-2001-07-13  Peter Williams  <peterw@ximian.com>
-
-       * Makefile.am (install-exec-local): Let people install as
-       non-root, but give them a bigass warning so they're not allowed to
-       complain when it doesn't work right.
-
-       * camel-remote-store.c (sync_remote_folder): New function: hash
-       table callback.
-       (remote_disconnect): If cleanly disconnecting, sync our
-       folders. Fixes deadlocks on exit (folders syncing after store
-       disconnects) and also makes sense.
-
-2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-uid-cache.c (camel_uid_cache_new): We now use a structure
-       as the bucket data rather than just a cache level so set the save
-       state to TRUE.
-       (maybe_write_uid): We only save the uid if the cache levels are
-       the same *and* if the save state is TRUE.
-       (free_uid): Free the state value.
-       (camel_uid_cache_get_new_uids): New uids that get added to the
-       cache start with a save state of FALSE.
-       (camel_uid_cache_save_uid): Set the save state of the uid to
-       TRUE. What should we do if the uid isn't already in the cache?
-       Currently I make it add the uid, but maybe it shouldn't?
-
-       * providers/imap/camel-imap-folder.c (imap_filter_timeout): Update
-       to reflect CamelFilterDriver API changes.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_folder): Take
-       a cache argument so we can tell the cache whether or not the uid
-       should be saved (meaning we have successfully filtered it).
-
-2001-07-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message):
-       Okay, I've decided that that user is just on crack. We don't want
-       to allow filtering of deleted messages or we could get some
-       unexpected behavior.
-       (do_move): Oops. My last fix needs to be after the if-statement,
-       not inside it.
-       (do_copy): And here too.
-
-2001-07-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (do_move): Only set p->copied and
-       p->deleted if the messages are copied without an exception.
-       (do_copy): Same - but obviously we don't set the p->deleted here
-       at all.
-       (camel_filter_driver_filter_message): Since users complained that
-       they couldn't filter deleted messages for "safe keeping" (WTF?
-       safe keeping? why were they deleted in the first place then??), I
-       have taken out the code that optimized filtering by not allowing
-       deleted messages to be filtered. This fixes bug #4473.
-
-       Note: Users have a warped sense of logic.
-
-2001-07-12  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-part-utils.c (extract_metatag_charset): Removed.
-       (check_html_charset): Replaced with this.
-       (simple_data_wrapper_construct_from_parser): Call
-       check_html_charset if we dont have a charset on the content-type,
-       and we have text/html data.
-       (check_html_charset): We also need to do qp/base64 decoding
-       ourselves, sigh.
-
-       * camel-mime-utils.c (html_meta_param_list_decode): Removed.  This
-       was very wrong, the rules for mail headers vastly different from
-       rules for decoding html elements.
-       (rfc2184_decode): Move the malloc inside the iconv_open worked,
-       otherwise we have a memleak.
-
-       * camel-mime-filter-html.c (camel_mime_filter_html_finalize, init,
-       run, reset): Changed to use camelhtmlparser, and fixed a tiny
-       memleak.
-
-       * camel-html-parser.c: Made the html indexer tokeniser re-usable.
-       ONLY TO BE USED INTERNAL TO CAMEL HOWEVER.
-       (tokenise_step): Slight fix to non-quoted values.
-
-       * camel-folder-summary.c
-       (camel_folder_summary_info_new_from_message): Removed some code i
-       wasn't supposed to commit.
-
-       * providers/local/camel-local-summary.c (local_summary_add): Only
-       set info->size if it is not zero.
-       (local_summary_add): If we dont get a size from the info passed
-       in, calculate it using a null stream write.  Should do #4392.
-
-2001-07-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part-utils.c (extract_metatag_charset): New function
-       to extract a meta-tag charset value if it exists.
-       (simple_data_wrapper_construct_from_parser): Along the same lines
-       as the code I previously ripped out, but this time use the
-       mime-parser's seek ability to help us along. Currently I read up
-       to a 2k buffer size - this is probably overkill, 1k is probably
-       plenty.
-
-       * camel-mime-utils.c (html_meta_param_list_decode): When we get to
-       an `=', we must skip past it before trying to grab the param
-       value. duh.
-
-2001-07-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): Ripped out my code
-       since it was never being used since the mime parser is not using a
-       seekable stream (ever?) which pretty much means my code needs to
-       be done someplace else.
-
-2001-07-11  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_changed): 
-       Run the filter in its own thread to prevent locking issues.
-       (imap_filter_timeout): New function that does the filtering called
-       as a CamelSession timeout.
-
-2001-07-11  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_mbox): Create
-       the messageinfo itself, so we can properly set the size.
-
-       * camel-movemail.c (camel_movemail_solaris): Write out the from
-       line between each message.
-
-2001-07-10  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-summary.c (local_summary_add): Copy
-       the size across from the source message info if supplied.
-
-       * camel-stream-null.c: Added a 'written' member which keeps track
-       of how much has been written to the stream.
-
-       * camel-movemail.c (camel_movemail): If we have BROKEN_SPOOL
-       defined, then use the solaris movemail to quote from lines that
-       sendmail didn't.
-       (camel_movemail_solaris): Compile this in if BROKEN_SPOOL defined.
-
-2001-07-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (html_meta_param_list_decode): New function
-       to parse an HTML meta-tag.
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): If the Content-Type
-       did not contain a charset parameter and it's also a text/html
-       part, we have 1 last place to look - in the META html tags. *sigh*
-
-       * camel-mime-message.c (camel_mime_message_get_source):
-       s/gint/unsigned since that's what it should be.
-
-2001-07-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (pgp_sign): Forget the passphrase if the
-       user has set that option.
-       (pgp_clearsign): Same.
-       (pgp_encrypt): And here...
-       (pgp_decrypt): And finally here.
-       (camel_pgp_context_new): Take a `remember' argument.
-
-2001-07-09  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-summary.c (maildir_summary_sync):
-       Oops, e_poolv_set free's it for us, so dont double-free here.
-
-2001-07-06  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (camel_vee_folder_finalise): Changed so we
-       dont have the list changing under us, just going to the next node
-       before we call a function that might change the list is
-       potentially dangerous (slight mod of peters fix).  Hmm, i think it
-       would've double-unref'd it too(?)
-
-2001-07-08  Chris Toshok  <toshok@ximian.com>
-
-       * camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_finalize):
-       openssl_table is gone.  we now store/get the stream from the
-       SSL_CTX's app_data.
-       (stream_read): rework the non-blocking case to account for SSL
-       possibly buffering data (in which case select will block even
-       though data is ready to be read), and to account for FreeBSD's
-       strange behavior of returning -1/EAGAIN even though select said
-       the fd was ready to be read.
-       (ssl_verify): openssl_table is gone.
-       (open_ssl_connection): set the SSL_CTX's app_data to be the
-       stream, remove the openssl_table code.
-
-2001-07-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_encode_param): Don't allow in to be
-       NULL, so instead of doing if (in == NULL) return;, make it a
-       g_return_val_if_fail and later we can make it an assert or
-       something.
-
-       * providers/local/camel-maildir-store.c (get_inbox): Fixes bug
-       #1138.
-
-       * providers/local/camel-mbox-summary.c
-       (camel_mbox_summary_build_from): Make the `day-of-month' digit
-       take up 2 chars by using "%2d". Fixes bug #3989 for lame mailers
-       like Pine.
-
-       * camel-pgp-context.c (crypto_exec_with_passwd): Set the pipe fd's
-       to nonblocking.
-
-2001-07-06  Peter Williams  <peterw@ximian.com>
-
-       * camel-object.c (camel_object_unref): Make sure that after the
-       finalization event has happened and the finalization functions
-       have been called that the object still has a zero refcount.
-
-2001-07-06  Joe Shaw  <joe@ximian.com>
-
-       * providers/nntp/camel-nntp-grouplist.c: Add locking to
-       camel_nntp_get_grouplist_from_server().
-
-       * providers/nntp/camel-nntp-resp-codes.h: Added
-       NNTP_EXTENSIONS_SUPPORTED (202).
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_store_get_extensions):
-       Check for both NNTP_LIST_FOLLOWS and NNTP_EXTENSIONS_SUPPORTED from
-       a LIST EXTENSIONS request. (Dunno if NNTP_LIST_FOLLOWS ever comes
-       out of this, but that's what was already there...) Also, put some
-       locking around it.
-       (finalize): e_mutex_destroy() the command lock
-       (camel_nntp_store_init): e_mutex_new() the command lock.
-
-       * providers/nntp/camel-nntp-store.h: Add locking macros.
-
-2001-07-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-summary.c (camel_message_info_string): Added an
-       assert to make sure that `mi' isn't NULL.
-       (camel_message_info_set_string): Same.
-
-       * providers/imap/camel-imap-command.c (camel_imap_response_free):
-       Create and use a temporary CamelException for use with
-       camel_imap_folder_changed.
-
-2001-07-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (pgp_verify): Send the
-       --no-auto-key-retrieve argument to gpg if we are in offline mode
-       so that we don't have to worry about gpg hanging if it can't
-       connect to the key servers, because now it shouldn't even attempt
-       to.
-
-2001-07-05  Chris Toshok  <toshok@ximian.com>
-
-       * camel-tcp-stream-openssl.c (ssl_verify): use
-       X509_STORE_CTX_get_ex_data to get at the SSL* - don't use the
-       X509_STORE_CTX to look up our stream, since it's not what we used
-       to insert our stream into the hashtable.
-       (open_ssl_connection): insert the stream into the hashtable before
-       calling SSL_connect, as this can cause ssl_verify to be called,
-       and we need to look up the stream there.  remove the stream from
-       the hashtable if there's an error connecting.
-       (stream_connect): pass the CamelTcpStreamOpenSSL* to
-       open_ssl_connection since it handles the hashtable stuff.  remove
-       hashtable stuff from here.
-
-2001-07-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder.c (camel_folder_copy_messages_to): if source ==
-       dest, just no-op.
-
-2001-07-05  Peter Williams  <peterw@ximian.com>
-
-       * camel-vee-folder.c (camel_vee_folder_finalise): Move this before the
-       camel_vee_folder_remove_folder because that function modifies p->folders
-       messing up our iteration.
-       (camel_vee_folder_finalise): Don't unref our summary; camel-folder now
-       does this.
-
-       * camel-object.h (CamelObject): Add a 'destroying' flag to CamelObject.
-
-       * camel-object.c (obj_init): Clear 'destroying'.
-       (camel_object_unref): If 'destroying' then do not send the finalize
-       event and do not call finalize functions. Otherwise, set destroying
-       so just in case we get refed (eg event code) we don't get doubly
-       finalized.
-
-2001-07-05  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-filter-basic.c (filter): Fix the assertion slightly,
-       if we have a little bit of input the output size could be larger,
-       since we store upto 3 chars in the state.
-
-       * camel-folder-summary.c
-       (camel_folder_summary_info_new_from_message): When indexing a new
-       record, create a pseudo word 'ibexindexed' so we can always tell
-       that a message has already been idnexed, even if it contains no
-       words of its own.  Things like maildir use this check to see if
-       its already been processed, and it matters if it is incorrect in
-       this case (not just wasted cycles).
-       (camel_message_info_dup_to): Assign the to->strings from the
-       e_poolv_cpy() call, since it may allocaote a new poolv if the
-       lengths do not match.
-
-       (camel_folder_summary_info_new_from_parser): And same here.
-
-       * providers/local/camel-maildir-summary.c (maildir_summary_sync):
-       Changed the logicfor epoolv code to be different, we dont need to
-       update hash references or any tricky stuff.
-       (maildir_summary_check): Samehere.
-
-       * camel-folder-summary.h: Removed include of e-memory.h.
-
-2001-07-03  Joe Shaw  <joe@ximian.com>
-
-       * providers/nntp/camel-nntp-resp-codes.h: Added NNTP_NO_PERMISSION
-       (502) to the list of response codes.
-
-       * providers/nntp/camel-nntp-store.c (nntp_store_connect): If we
-       receive a NNTP_NO_PERMISSION, don't get into an infinite loop trying
-       to reconnect, get extensions, etc. Just give up and return FALSE.
-
-2001-07-03  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-message-cache.c
-       (camel_imap_message_cache_clear): Doh. Don't remove things from
-       the hash table while foreach'ing it. (And can't use foreach_remove
-       either because we have to remove them in a weird order). Fixes
-       #3618.
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): If the
-       server returns OK from the FETCH BODY, but there's no parseable
-       BODY response, it's probably because there's an UN-parseable BODY
-       response, implying the message is badly formatted, MIMEwise. In
-       that case, fall back to fetching the message as a single part.
-
-2001-07-02  Sam Creasey <sammy@oh.verio.com>
-
-       * providers/nntp/camel-nntp-folder.c: Implemented
-       nntp_folder_search_by_expression and
-       nntp_folder_search_free.  Basic search functionality e.g. unread
-       marking now works for NNTP folders.
-
-       * camel_filter_search.c (get_size): Added get-size sexp directive
-       to get the size of a message for filters.
-
-       * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new):
-       Always check with the NNTP server after summary load -- this
-       function now always expires old summary entries and syncs with
-       the news server.
-
-       * providers/nntp/camel-nntp-utils.c (camel_nntp_get_headers):
-       Only fetch headers for articles not already logged in 
-       the summary file.
-       
-       * providers/nntp/camel-nntp-grouplist.c 
-       (camel_nntp_get_grouplist_from_*): change from g_list_append()
-       to g_list_prepend() + g_list_reverse.  Traversing 40,000 
-       element linked lists sucks.
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_command):
-       Should the NNTP connection die with 
-       CAMEL_EXCEPTION_SERVICE_NOT_CONNECTED, make a single retry 
-       attempt.  Timing out the NNTP link is less painful this way.
-
-2001-07-02  Peter Williams  <peterw@ximian.com>
-
-       * README (Introduction): Add comment noting that Camel actually
-       exists now :-)
-
-2001-07-02  Dan Winship  <danw@ximian.com>
-
-       * camel-session.c (camel_session_get_filter_driver): new method to
-       get an application-initialized filter driver.
-
-       * camel-filter-driver.c (camel_filter_driver_new): Remove the
-       get_folder function and data args from here...
-       (camel_filter_driver_set_folder_func): ...and add this function to
-       set/change them.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): If
-       this folder is INBOX and we're filtering INBOX, set a flag on the
-       folder for later.
-       (imap_update_summary): Add another argument (GPtrArray *recents),
-       and if it's non-NULL, add the uids of any \Recent new messages to
-       it.
-       (camel_imap_folder_changed): If doing filtering in this folder,
-       create a recents array and pass it to imap_update_summary. Then
-       get a filter driver and use it to filter the recent messages.
-
-       * providers/imap/camel-imap-summary.h: 
-       * providers/imap/camel-imap-utils.c (imap_parse_flag_list): Add
-       support for the \Recent flag.
-
-       * providers/imap/camel-imap-provider.c (imap_conf_entries): enable
-       the "filter" option.
-
-       * camel-types.h: add CamelFilterDriver typedef here
-
-2001-07-02  Not Zed  <NotZed@Ximian.com>
-
-       * camel-lock-client.c (camel_lock_helper_init): properly return
-       error if we can't create pipes.
-
-       * camel-folder-summary.c (summary_build_content_info): re-enable
-       html indexing.
-
-       * camel-mime-filter-html.c: Completely re-implemented using a
-       custom parser.
-
-2001-07-02  Dan Winship  <danw@ximian.com>
-
-       * tests/misc/url.c (main): Change a camel_exception_clear to
-       camel_exception_init to fix a sometimes-crash
-
-2001-06-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c: Added Originator: header as a header to look
-       for when looking for the mailing list.
-
-       * tests/mime-filter/Makefile.am: Build the test-crlf test program.
-
-       * tests/mime-filter/test-crlf.c: New test suite for the crlf
-       filter.
-
-       * camel-mime-filter-crlf.c (filter): Fixed to correctly encode and
-       decode dots.
-
-2001-06-28  Peter Williams  <peterw@ximian.com>
-
-       * camel-mime-filter-stripheader.c: New file. Filter that strips a
-       header from mime output.
-
-       * camel-mime-filter-stripheader.h: New file. Header for the above.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Use the
-       stripheader filter to remove the "Bcc" header.
-
-       * Makefile.am: Add the stripheader files.
-
-       * tests/lib/Makefile.am (INCLUDES): Get this to compile again.
-
-       * tests/mime-filter/test-stripheader.c: New file. Test suite for
-       the CamelMimeFilterStripHeader.
-
-       * tests/mime-filter/Makefile.am: New test section: mime filters.
-
-2001-06-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_param_list): Fix a memory
-       leak. Also if the decoded value is NULL, that means it wasn't
-       encoded so we don't want to toss the old value.
-       (header_param_list_format_append): Correctly wrap long parameter
-       values according to rfc2184.
-
-2001-06-28  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_refresh_info): If the
-       folder is frozen, don't refresh, just record that we need to do it
-       later.
-       (imap_append_online): If the APPEND doesn't trigger an immediate
-       EXISTS response (because the folder isn't the selected folder, or
-       because the server doesn't do that until the next command), call
-       imap_refresh_info on the folder.
-       (imap_copy_online): Likewise. (Replacing the unconditional NOOP
-       that was there before, which absolutely killed filter performance
-       by forcing the IMAP provider to switch back and forth between
-       folders after every copy or move.)
-       (imap_thaw): If the folder needs a refresh, do it.
-
-       * camel-folder.c (camel_folder_is_frozen): New method
-
-2001-06-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-transport.c (camel_transport_init): Initialize the private
-       send_lock.
-       (camel_transport_finalize): Free the private send_lock.
-       (camel_transport_get_type): Set the init and finalize functions.
-       (camel_transport_send): Lock the transport.
-       (camel_transport_send_to): Same.
-
-       * camel-private.h: Add CAMEL_TRANSPORT_(UN)LOCK macros.
-
-2001-06-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * tests/folder/test9.c (main): Updated to match the current API.
-
-       * tests/folder/test3.c: #include <gtk/gtk.h> since we use
-       gtk_init().
-
-       * camel-internet-address.c
-       (camel_internet_address_encode_address): Use the new
-       header_address_fold.
-
-       * camel-mime-utils.c: Removed some old #if 0'd code of mine.
-       (rfc2047_encode_word): If enclen is 0, don't write an encoded word
-       token (=?iso-8859-7?Q??= would be an invalid token).
-       (header_address_fold): New function to wrap address headers -
-       header_fold() was force-wrapping rfc2047 encoded words which was
-       making the test suite fail. The *real* solution, however, is to
-       not create rfc2047 encoded words longer than 72 chars.
-
-2001-06-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (open_folder): Since we want an error
-       opening a folder to result in the message being copied to Inbox
-       (assuming no other filters get a chance to `move` it), don't
-       record any exceptions that may occur in this function.
-
-2001-06-26  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_selected,
-       imap_append_offline, imap_append_online,
-       camel_imap_folder_changed): lock the cache around accesses
-
-       * providers/imap/camel-imap-store.c (get_folder_online): ref the
-       newly-created folder (as current_folder) before calling
-       camel_imap_folder_selected, in case that needs to do something
-       that causes another folder to become current...
-
-       * camel-service.c (camel_service_get_url): D'oh.
-       s/FALSE/CAMEL_URL_HIDE_PASSWORD/
-
-2001-06-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-search.c (get_source): g_strdup() the message
-       source here or we will have problems later when we go to free the
-       result ;-)
-
-2001-06-25  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-store.c (try_auth): Fix this: IMAP
-       doesn't allow an extra argument to AUTHENTICATE to avoid a useless
-       round trip like some other SASL bindings do.
-
-       * providers/imap/camel-imap-command.c (imap_read_response): Deal
-       with IMAP servers that (incorrectly) return "+\r\n" rather than
-       "+ \r\n" for an empty continuation response.
-       (camel_imap_response_extract_continuation): Likewise.
-
-2001-06-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (word_types_compatable): New function that
-       decides if 2 word types are mergeable. An atom and a qstring are
-       mergeable; 2 qstrings are mergeable; and 2 encoded words are
-       mergeable.
-       (header_encode_phrase_merge_words): If 2 words are merged, the new
-       word type is the MAX of the combined types. This means that if we
-       merge a qstring and an atom, the resulting word type is a
-       qstring.
-
-       * camel-internet-address.c (internet_format):
-       s/g_string_sprintfa/g_string_append since this makes more sense in
-       this particular case.
-       (internet_encode): Same here.
-
-2001-06-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_send): Use
-       camel_address_length() rather than casting and accessing data
-       members.
-
-2001-06-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_raw_check_mailing_list): If the first
-       char of the mailing-list name is '<', chop it off to make Ettore
-       happy. Fixes bug #2153.
-
-2001-06-19  Not Zed  <NotZed@Ximian.com>
-
-       * camel-lock-helper.c (unlock_id): Fixed a bug when not running
-       setuid it wouldn't unlock.
-
-       * camel-movemail.c (camel_movemail): use new
-       locking daemon, also return an error code.
-
-2001-06-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Note: Except for the info_free(), the NULL checks are
-       g_return's. I felt that since g_free() handles NULL that our
-       _free() functions should also.
-       
-       * camel-folder.c (camel_folder_change_info_free): Check to make
-       sure that the info pointer isn't NULL.
-       (camel_folder_change_info_change_uid): Same.
-       (camel_folder_change_info_changed): Same.
-       (camel_folder_change_info_remove_uid): Same.
-       (camel_folder_change_info_add_uid): Same.
-       (camel_folder_change_info_build_diff): Same.
-       (camel_folder_change_info_cat): Same.
-       (camel_folder_change_info_add_source): Same.
-       (camel_folder_change_info_add_source_list): Same.
-       (camel_folder_change_info_add_update): Same.
-       (camel_folder_change_info_add_update_list): Same.
-
-2001-06-18  Dan Winship  <danw@ximian.com>
-
-       * tests/stream/Makefile.am (LDADD): 
-       * tests/smime/Makefile.am (LDADD): 
-       * tests/misc/Makefile.am (LDADD): 
-       * tests/message/Makefile.am (LDADD): 
-       * tests/folder/Makefile.am (LDADD): Remove DB3_LDADD
-
-       * Makefile.am (install-exec-local): Set camel-lock-help setgid or
-       setuid as needed
-
-2001-06-18  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-summary.c
-       (camel_folder_summary_info_new_from_parser): Only create a missing
-       uid if we have indexing turned on.
-
-       * camel-lock-helper.c (setup_process): Function to setup
-       process/sanity/security checks.  Change to the real uid as soon as
-       we can.
-       (lock_path): First try to lock as the real uid, if that fails, try
-       the root uid.
-       (unlock_id): Unlock as the uid we created the lock as.
-
-       * Makefile.am (INCLUDES): Added -DCAMEL_SBINDIR for lock helper
-       location.
-
-       * providers/local/camel-spool-folder.c (spool_lock): Implemented,
-       using lock helper locking.  Need to work out if the locking
-       requires a root created lock?
-       (spool_unlock): Likewise.
-
-2001-06-15  Not Zed  <NotZed@Ximian.com>
-
-       * camel-lock-helper.c: Setuid Lock helper process.  Creates and manages
-       .locks, keeping them active, removing them, etc.  What real perms it
-       needs is a little system dependent.
-
-2001-06-14  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-store.c (get_folder_info): Implement.
-       (scan_dir): Does the work of scanning for maildir directories.
-
-2001-06-13  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-store.c (get_folder_info):
-       Implemented, just returns a hardcoded INBOX folder.
-       (free_folder_info): implemented, free's the 1 possible level of
-       folder info.
-
-       * providers/local/camel-spool-folder.c
-       (camel_spool_folder_construct): Set the real unread message
-       count on the folder_created thing.
-
-2001-06-15  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-message-cache.c
-       (camel_imap_message_cache_max_uid): Return the largest real UID in
-       the cache (as an integer). Eventually to be used for an
-       optimization in the new-message fetch code.
-       (cache_put): Keep track of max_uid.
-
-2001-06-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c: Added Mailing-List header regex so that we
-       can do mlist magic on that header.
-
-2001-05-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_param): Properly handle
-       correct and incorrect (for the common case, ie Outlook and
-       Netscape/Mozilla) rfc2184 values.
-       (header_decode_rfc2184_param): Get the param name and see if we
-       should expect a rfc2184 parameter value.
-       (rfc2184_decode): Decode a rfc2184 value.
-       (hex_decode): hex decode a string.
-       (header_decode_param_list): Handle rfc2184 encoded parameters (ie
-       parameters that have been split and perhaps encoded).
-       (header_param_list_format_append): Encode the value before seeing
-       if it will fit on the line. If the value does get encoded, be sure
-       to put a '*' before the equal-sign.
-       (header_encode_param): New function to rfc2184 encode a parameter
-       value (maybe it should be renamed?)
-
-2001-06-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part.c (init_header_name_table): Don't try to format
-       the Reply-To header - we don't want to wrap the reply-to address.
-
-2001-06-12  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-spool-*.[ch]: A new provider, for spool
-       mailboxes.  Mostly a cut and paste of the mbox code, but not a
-       subclass CamelLocal*.  Not tested a lot, doesn't lock yet, use
-       with extreme caution.
-
-       * tests/lib/folders.c (test_folder_message_ops): Added spool arg,
-       spool folders can't be deleted, renamed, etc.
-       (test_folder_basic): Same.
-
-       * tests/folder/test2.c (main): Added checks for spool type.
-
-       * tests/[message|stream|folder|misc|smime]/Makefile.am (LDADD):
-       Added db3 flags, so make check compiles, doesn't run though.
-
-2001-05-24  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-local-provider.c
-       (camel_provider_module_init): Added spool provider.
-
-2001-06-07  Jon Trowbridge  <trow@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_folder): Add a
-       separator between the service url and the folder name, if needed.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_mbox): Added
-       an argument, so that the original source URI of the mbox can be
-       passed in.  This is needed because this function is called
-       post-movemail, so we are never reading from the original mbox
-       anymore.  Without the original mbox URI, the X-Evolution-Source
-       tag gets set incorrectly and filter-on-source will fail to work.
-       (camel_filter_driver_filter_message): Also take an extra arg
-       for the original source URI.  It is the original URI, not the
-       source URI, that is used for filtering and for setting the
-       X-Evolution-Source tag.
-
-2001-06-05  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_rescan): Don't fetch
-       the UID and FLAGS of messages we don't know about yet, since
-       they'll just get discarded.
-
-2001-06-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * tests/smime/pgp.c: Fix to not get into a recursive loop in
-       get_type().
-
-       * tests/smime/pgp-mime.c: Same.
-
-2001-05-31  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-smime-context.c: Numerous fixes to get it to compile.
-
-       * camel.h: Added camel-cipher-context.h, camel-cms-context.h,
-       camel-smime-context.h, and camel-smime-utils.h
-
-       * camel-cms-context.[c,h]: New virtual class for manipulating
-       cryptographic message syntax messages (like S/MIME).
-
-       * camel-smime-context.[c,h]: Modified to inherit from the
-       CamelCMSContext class rather than the CamelCipherContext class.
-
-       * camel-smime.[c,h]: Removed - just use camel-smime-context
-       directly.
-
-       * camel-smime-utils.[c,h]: New source files. Moved the 2 useful
-       functions from camel-smime.[c,h] into here.
-
-2001-05-30  Dan Winship  <danw@ximian.com>
-
-       * camel-charset-map.c: Redo the BUILD_MAP code to not depend on
-       libunicode. Now it only generates a map of "popular" 8bit
-       encodings. (It's not worthwhile to support obscure encodings,
-       because any mailer that supports them will support UTF8 too. And
-       Chinese and Japanese use mostly the same UTF8 characters so you
-       need to decide between those encodings based on the locale or
-       the charset of the message you're replying to or the input
-       method you used. So this is sufficient for camel_charset_best's
-       use.)
-
-       * camel-charset-map-private.h: Regenerated.
-
-       * camel.c (camel_shutdown): Move #ifdefs around to prevent a
-       warning.
-
-2001-05-29  Dan Winship  <danw@ximian.com>
-
-       * camel-disco-diary.c: Code for logging and replaying offline
-       operations.
-
-       * camel-disco-store.c (disco_construct): Set disco->status here
-       (where we can base it on the session's offline status) rather than
-       at init time.
-       (disco_connect): If we connect online and have a non-empty diary,
-       switch to RESYNCING mode and replay the diary to the server.
-       (disco_get_folder, disco_get_folder_info): Add _resyncing
-       variants.
-
-       * camel-disco-folder.c (disco_sync, disco_expunge_uids,
-       disco_append_message, disco_copy_messages_to,
-       disco_move_messages_to): Add _resyncing variants to switches.
-       (disco_expunge_uids, disco_append_message, disco_copy_messages_to,
-       disco_move_messages_to): Remove #ifdef'ed out diary code: let the
-       provider do it.
-       (disco_append_message): Redo the append methods to no longer
-       return the UID, since we're no longer doing the logging from here.
-
-       * providers/imap/camel-imap-store.c (imap_connect_online,
-       imap_connect_offline): Create a CamelDiscoDiary.
-       (imap_disconnect_offline): And free it.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
-       If RESYNCING, don't do any sort of checking that the remote folder
-       matches the summary, beyond making sure that the UIDVALIDITY is
-       correct.
-       (imap_rescan): Add a missing camel_folder_summary_info_free when
-       removing a UID from the summary.
-       (imap_expunge_uids_offline): Implement. Fairly simple.
-       (imap_expunge_uids_resyncing): Implement. If the store supports
-       UIDPLUS, we can just use imap_expunge_uids_online. If not, we need
-       to temporarily undelete any messages marked deleted on the server
-       that aren't supposed to get expunged.
-       (imap_append_offline): Implement, using cache and summary
-       operations, and triggering the folder_changed event by hand.
-       (imap_append_resyncing): Implement. Redo imap_append_online a bit
-       in the process to make them able to share more code.
-       (imap_copy_offline): Implement.
-       (imap_copy_online): Move parts of this out into a helper.
-       (imap_copy_resyncing): Implement. In most cases this is just like
-       imap_copy_online, but if you are copying a message that was itself
-       copied or appended into the folder, and the server doesn't do
-       UIDPLUS, it will be necessary to replace at least part of the copy
-       operation with one or more appends.
-
-       * providers/imap/camel-imap-command.c (imap_read_response): Don't
-       record the current folder in the response when in RESYNCING mode.
-       (This means that EXISTS and EXPUNGE responses won't be processed,
-       which is needed because the summary may not match the folder at
-       this point.)
-       (imap_read_response): On error, call
-       camel_imap_response_free_without_processing, not
-       camel_imap_response_free.
-
-       * providers/imap/camel-imap-utils.c (imap_uid_array_to_set): Make
-       this work better when operating on UIDs that aren't in the summary.
-
-       * providers/imap/camel-imap-summary.c
-       (camel_imap_summary_add_offline): New routine used by
-       imap_append_offline and imap_copy_offline to create new summary
-       entries.
-
-2001-05-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_set_param): Use g_strcasecmp()
-       because some systems don't have strcasecmp(). Also, when removing
-       a param, make sure to free the param->name too.
-
-2001-05-27  Dan Winship  <danw@ximian.com>
-
-       * tests/lib/messages.c (test_message_read_file): Fix an fd leak
-
-       * tests/lib/session.c, tests/lib/session.h: a CamelSession
-       subclass for the test programs.
-
-       * tests/lib/Makefile.am: include session.[ch]
-
-       * tests/folder/test*.c: Use a CamelTestSession from libcameltest
-       instead of cut+pasting everywhere.
-
-       * tests/misc/url.c (main): Update for a camel_url_new change at
-       some point.
-
-       * tests/*/.cvsignore: Add stuff.
-
-       * camel-mime-utils.c (rfc2047_encode_word): Fix a silly ==/!=
-       mixup.
-
-2001-05-26  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c: Add a "need_rescan" flag
-       saying if we want to rescan the entire folder for flag changes
-       next time it's selected.
-       (camel_imap_folder_init): Set need_rescan TRUE.
-       (camel_imap_folder_selected): If need_rescan is TRUE, call
-       imap_rescan.
-       (imap_refresh_info): Only do a full rescan if need_rescan is TRUE.
-       Otherwise just do a NOOP, making this a MUCH more lightweight
-       operation. Also, don't call imap_rescan directly if the folder
-       isn't selected, since that could end up causing the folder to be
-       scanned *twice* (imap_rescan -> camel_imap_command ->
-       camel_imap_folder_selected -> imap_rescan).
-       (imap_rescan): Set need_rescan FALSE.
-       (imap_sync_online): Don't NOOP if no changes were pushed: the
-       caller will call refresh_info if it wants to poll for changes.
-       Fixes evolution-mail doing lots of unnecessary extra work at
-       quit time.
-
-       * providers/imap/camel-imap-store.c (refresh_folder_info): Set
-       need_rescan on each folder before calling refresh_info.
-
-2001-05-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_auth): Oops. Use a
-       strNcmp to make sure the response begins with a 334 code, not a
-       strcmp. Duh.
-
-       * providers/local/camel-maildir-folder.c (maildir_append_message):
-       remove the summary info so we are not out-of-sync with the maildir
-       folder.
-
-       * providers/local/camel-mh-folder.c (mh_append_message): remove
-       the summary info so we are not out-of-sync with the mh folder.
-
-       * providers/local/camel-mbox-folder.c (mbox_append_message):
-       remove the summary info so we are not out-of-sync with the mbox.
-
-2001-05-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-smime-context.c (camel_smime_context_new): Oops, I spelled
-       the get-default-db function name wrong.
-
-2001-05-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): s/folder_deleted/folder_created -
-       result of a bad copy/paste.
-
-       * providers/imap/camel-imap-search.c (imap_body_contains):
-       Optimize the match "" case.
-
-2001-05-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_info_online):
-       Store the CamelFolderInfo tree that was returned from
-       camel_folder_info_build() in a new variable, 'tree', rather than
-       'fi' since we later use 'fi' when syncing folders. Not only does
-       this fix a memory leak, but it also fixes the bug where the user
-       would only see the last folder in the folder list and/or it's
-       subfolders.
-
-2001-05-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-session.c (camel_session_forget_password): The service can
-       be NULL here too, thanks to Wayne Davis for pointing this out.
-
-       * camel-smime-context.c (camel_smime_context_new): We don't need
-       to be passed the certdb path anymore.
-
-2001-05-16  Dan Winship  <danw@ximian.com>
-
-       * camel-medium.c (camel_medium_get_headers): New function to
-       return an array of all headers.
-       (camel_medium_free_headers): And free them.
-
-       * camel-mime-part.c (get_headers, free_headers): Implement this
-       for CamelMimePart. (Works for CamelMimeMessage too.)
-
-2001-05-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-smime-context.c (camel_smime_context_finalise): Don't
-       close or free (it wasn't allocated) the certdb.
-       (camel_smime_context_new): If we get a NULL certdb handle, then
-       don't bother trying to create a new certdb handle since NSS_Init*
-       should have done that.
-
-2001-05-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * Makefile.am: Don't use EXTRA_GNOME_*, use the new CAMEL_*
-       variables so we don't link in tons of extra cruft that we don't
-       need.
-
-       * tests/smime/pkcs7.c: Added to the test suite - tests the S/MIME
-       pkcs7 functions.
-
-2001-05-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-smime-context.c: Lots of fixes to get this to compile.
-
-       * camel-smime.c (camel_smime_part_verify): Updated to pass in a
-       hash argument to camel_smime_verify().
-
-       * camel-pgp-mime.c (camel_pgp_mime_part_verify): Update according
-       to the changes in the context API.
-
-       * camel-pgp-context.c (pgp_verify): Updated to take a
-       CamelCipherHash argument.
-
-       * camel-cipher-context.c (camel_cipher_verify): Now takes a hash
-       argument since the S/MIME code needs this.
-
-       * Makefile.am: Add camel-smime-context.[c,h] and camel-smime.[c,h]
-       to the build.
-       
-       * camel-smime.[c,h]: New source files for manipulating S/MIME
-       message parts.
-
-2001-05-14  Jon Trowbridge  <trow@ximian.com>
-
-       * camel-search-private.c (utf8_get): Replicate the semantics of
-       the libunicode utf8 functions by returning NULL in the arg
-       on invalid utf8.
-
-       * camel-pgp-context.c (pgp_verify): Check for valid utf8,
-       terminate loop if something looks wrong.
-
-       * camel-mime-utils.c (header_encode_phrase_get_words): Properly
-       check for invalid utf8.
-       (header_encode_string): Properly check for invalid utf8.
-
-       * camel-charset-map.c (camel_charset_step): Properly check for
-       invalid utf8.
-
-2001-05-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * tests/folder/test9.c: 
-       * tests/folder/test8.c:
-       * tests/folder/test7.c: 
-       * tests/folder/test6.c: 
-       * tests/folder/test5.c: 
-       * tests/folder/test4.c:
-       * tests/folder/test3.c: 
-       * tests/folder/test2.c: 
-       * tests/folder/test1.c: 
-       * tests/smime/pgp-mime.c: 
-       * tests/smime/pgp.c: Subclass CamelSession since we can no longer
-       specify the passwd callback any other way and update code
-       accordingly.
-
-2001-05-11  Dan Winship  <danw@ximian.com>
-
-       * camel-mime-utils.c (header_location_decode): Decode
-       Content-Location, either correctly or Netscape-generated-brokenly.
-
-       * camel-mime-part.c (camel_mime_part_set_content_location,
-       camel_mime_part_get_content_location, etc): Deal with
-       Content-Location header.
-
-2001-05-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_auth): Don't check
-       the initial auth response until we get into the while-loop
-       otherwise we have problems if the SASL mechanism supported a
-       client initiated challenge (like PLAIN and LOGIN do).
-
-2001-05-11  Dan Winship  <danw@ximian.com>
-
-       * camel-stream-null.c (camel_stream_null_new): Make this return
-       CamelStream * (like the other stream new functions) instead of
-       CamelStreamNull *
-
-2001-05-10  Chris Toshok  <toshok@ximian.com>
-
-       * camel-tcp-stream-ssl.c (stream_connect): call SSL_Enable after
-       the SSL_ImportFD and before PR_Connect.  Otherwise, NSS aborts
-       during the connect.
-
-2001-05-10  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-session.c (camel_session_get_password): Don't abort if the
-       Service is NULL, this is perfectly valid for cipher contexts.
-
-2001-05-09  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_move_messages_to): Pass
-       appropriate parameters to CF_CLASS and add comment explaining why
-       my initial attempt at a solution didn't work.
-
-2001-05-09  Dan Winship  <danw@ximian.com>
-
-       * camel-disco-store.c (camel_disco_set_status): Set the
-       disconnected status.
-       (camel_disco_store_can_work_offline): Return whether or not a
-       given CamelDiscoStore can work offline or not.
-
-       * camel-disco-folder.c (camel_disco_folder_cache_message):
-       Explicitly tell a folder to cache a message. (Better than using
-       get_message, because for IMAP that doesn't guarantee you'll get
-       all the message parts.)
-       (camel_disco_folder_prepare_for_offline): Prepare a folder for
-       offline use by caching all messages meeting given search criteria
-       (and doing anything else the particular folder implementation
-       needs).
-
-       * camel-session.c (camel_session_set_online,
-       camel_session_is_online): A session-wide online/offline toggle.
-       (camel_session_init): Set online to TRUE.
-
-       * providers/imap/camel-imap-store.c (can_work_offline):
-       Implementation of CamelDiscoStore::can_work_offline. (Checks that
-       the store has been used online at least once.)
-       (imap_get_folder_online, imap_get_folder_offline): Deal with
-       request for "inbox" properly. ("Don't you mean... 'INBOX'?").
-
-       * providers/imap/camel-imap-folder.c (imap_cache_message):
-       Implementation of CamelDiscoFolder::cache_message.
-
-       * camel.h: Add camel-disco-store.h and camel-disco-folder.h
-
-2001-05-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-part.c (camel_mime_part_set_content_id): Wrap the
-       content-id with <>'s.
-
-2001-05-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (connect_to_server): Add
-       support for using OpenSSL.
-
-       * camel-remote-store.c (remote_connect): Add support for using the
-       OpenSSL implementation.
-
-       * camel-tcp-stream-ssl.c (ssl_bad_cert): Hmmmm, don't pass in a
-       NULL as the last argument to alert_user - prototype doesn't take
-       that argument anymore?
-
-       * camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_finalize):
-       (ssl_verify): Use a global hash table to try and lookup the
-       CamelTcpStreamOpenSSL object given the ssl context since OpenSSL
-       doesn't think one needs to pass data around, we should all be
-       living in a world of global variables, duh!
-
-2001-05-06  Dan Winship  <danw@ximian.com>
-
-       * Makefile.am (libcamelinclude_HEADERS): Fix another build
-       problem. (Um, anyone else could have done this...)
-
-2001-05-04  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_online): Fix up
-       refcounting on current_folder.
-
-       * camel-disco-folder.c, camel-disco-store.h: Remove
-       CamelDiscoDiary refs that weren't supposed to escape yet.
-
-2001-05-03  Dan Winship  <danw@ximian.com>
-
-       * camel-disco-store.c: new abstract class for disconnectable
-       remote stores
-
-       * camel-disco-folder.c: new abstract class for folders on
-       disconnectable stores.
-
-       * Makefile.am: Add camel-disco-folder.[ch] and
-       camel-disco-store.[ch].
-
-       * providers/imap/camel-imap-store.c: Make this a subclass of
-       CamelDiscoStore, and fix up the offline interfaces for the changes
-       since they were first written (particularly the fact that some
-       IMAP stores don't just use subscribed folders).
-
-       * providers/imap/camel-imap-folder.c: Make this a subclass of
-       CamelDiscoFolder, although most ops still fail in disconnected
-       mode.
-
-       * camel-store.c (camel_store_get_folder_info): Change gboolean,
-       gboolean, gboolean to guint32 in the prototype for this function.
-
-       * providers/local/camel-local-store.c (get_folder_info): Update
-       for prototype change.
-
-2001-05-02  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-store.h: Clean this up a bit. Add a
-       "tag_prefix" member. Move "useful_lsub" into capabilities.
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_init):
-       Initialize the tag_prefix, based on a static variable.
-
-       * providers/imap/camel-imap-command.c (camel_imap_command): Use
-       the store's tag_prefix character rather than "A" at the start of
-       the tag. Makes the verbose debug output easier to parse when
-       connected to multiple IMAP servers. (Well, unless you're connected
-       to more than 26 servers...)
-
-       * providers/imap/camel-imap-utils.c (imap_uid_array_to_set): Fix
-       this up... it was losing count in some cases and giving a more
-       verbose answer than it needed to.
-
-       * providers/pop3/camel-pop3-store.c: Rescue the KPOP code from bit
-       rot.
-
-2001-05-01  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-command.c (camel_imap_command): Redo
-       command locking. Since command_lock is recursive, we can just get
-       a lock here, and release it either on error, or when the caller
-       frees the response data. (This simplifies a lot of stuff, and
-       fixes some problems with camel_imap_folder_changed being called
-       without the command_lock locked because of the 2001-03-22 change.)
-
-       (camel_imap_response_free): 
-       (camel_imap_response_free_without_processing): 
-       (camel_imap_response_extract): 
-       (camel_imap_response_extract_continuation): These all take a
-       CamelImapStore now as well, to deal with locking.
-
-       * providers/imap/camel-imap-private.h: Add
-       CAMEL_IMAP_STORE_ASSERT_LOCKED, which defaults to a noop, but can
-       be made to call e_mutex_assert_locked.
-
-       * providers/imap/camel-imap-folder.c, camel-imap-search.c,
-       camel-imap-store.c: Simplify using new locking stuff. Add a few
-       CAMEL_IMAP_STORE_ASSERT_LOCKED checks.
-
-2001-05-01  Dan Winship  <danw@ximian.com>
-
-       Support the IMAP UIDPLUS extension (RFC 2359), which lets you
-       resync after disconnected operation more efficiently, but also
-       makes it possible to do appends and moves/copies more efficiently
-       now.
-
-       * providers/imap/camel-imap-folder.c (imap_append_message): If the
-       server supports UIDPLUS, grab the APPENDUID response and cache the
-       message into the folder's message cache.
-       (imap_copy_messages_to): Likewise, for COPYUID, copy any message
-       parts we have cached between the source and destination folder
-       caches.
-       (imap_get_message): If the entire message is already in the cache,
-       just return that rather than building it from parts.
-       (imap_update_summary): Fetch just the "UID FLAGS RFC822.SIZE" of
-       the new messages first, then only fetch the headers for messages
-       where we don't already have the headers cached.
-
-       * providers/imap/camel-imap-message-cache.c: Add gtk-doc comments.
-       (cache_put): Fix refcounting stuff here.
-       (camel_imap_message_cache_insert_stream,
-       camel_imap_message_cache_insert_wrapper): New.
-       (camel_imap_message_cache_get): Fix a bug here so the memory
-       caching actually works.
-       (camel_imap_message_cache_copy): New routine, used by
-       imap_copy_messages_to.
-
-       * providers/imap/camel-imap-utils.c (imap_uid_set_to_array):
-       Inverse operation of imap_uid_array_to_set. Used to parse COPYUID
-       response.
-
-2001-04-30  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_uid_array_to_set):
-       New-and-improved version of get_uid_set() from
-       camel-imap-folder.c. Looks at the summary as it goes so that if
-       you ask for messages 5, 6, 8, and 9, and there is no message 7,
-       then you get "5:9" instead of "5:6,8:9"
-
-       * providers/imap/camel-imap-folder.c (imap_copy_messages_to): Use
-       imap_uid_array_to_set() rather than get_uid_set().
-       (get_uid_set): Gone
-
-2001-04-27  Dan Winship  <danw@ximian.com>
-
-       * camel-session.c: Redo this a lot so that instead of having a
-       class full of callbacks, we have a subclassable class. Also,
-       replace the increasingly horrifying
-       camel_session_query_authenticator with three new routines,
-       camel_session_get_password, camel_session_forget_password, and
-       camel_session_alert_user.
-
-       * camel-pgp-context.c:
-       * camel-pkcs7-context.c:
-       * camel-smime-context.c: 
-       * providers/imap/camel-imap-store.c: 
-       * providers/pop3/camel-pop3-store.c: 
-       * providers/smtp/camel-smtp-transport.c: 
-       Use camel_session_get_password / camel_session_forget_password.
-
-       * camel-tcp-stream-ssl.c (ssl_bad_cert): Use
-       camel_session_alert_user.
-
-2001-04-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel.c (camel_init): Automagically call camel_shutdown()
-       atexit() ;-)
-       (camel_init): Also initialize NSS databases as read/write for
-       S/MIME and if NSS fails to init, try initializing with volatile
-       databases.
-
-       * camel-file-utils.h: #include <sys/types.h> for off_t.
-
-2001-04-26  Dan Winship  <danw@ximian.com>
-
-       * camel-file-utils.c: New file, with the int, string, time_t, and
-       off_t encode/decode routines from camel-folder-summary.c moved
-       here and renamed, for the enjoyment of non-CamelFolderSummary
-       subclasses.
-
-       * Makefile.am (libcamel_la_SOURCES): Add camel-file-utils.c
-       (libcamelinclude_HEADERS): and camel-file-utils.h
-
-       * camel-folder-summary.c: Remove functions that were moved to
-       camel-file-utils.c, update uses of them for the new names.
-       (camel_folder_summary_{en,de}code_token are still here.)
-
-       * providers/local/camel-mbox-summary.c: Use camel_file_util_*
-       names
-
-       * providers/imap/camel-imap-summary.c: Use camel_file_util_* names
-
-       * providers/imap/camel-imap-store.c (imap_store_setup_online,
-       imap_store_setup_offline): Use camel_file_util_* names, which
-       makes much more sense since this isn't folder summary stuff.
-
-2001-04-26  Dan Winship  <danw@ximian.com>
-
-       * Makefile.am (INCLUDES): Remove UNICODE_CFLAGS (and some other
-       stuff that's redundant with EXTRA_GNOME_CFLAGS)
-       (libcamel_la_LIBADD): Replace UNICODE_LIBS with GAL_LIBS.
-
-       * camel-search-private.c: 
-       * camel-pgp-context.c: 
-       * camel-mime-utils.c: Use gunicode interfaces rather than
-       libunicode.
-
-       * camel-charset-map.c: Use gunicode rather than libunicode. (The
-       charmap-regen code still depends on libunicode though.)
-
-       * camel-mime-filter-charset.h: 
-       * tests/message/test2.c (convert): Use iconv rather than
-       unicode_iconv.
-
-       * providers/smtp/Makefile.am (libcamelsmtp_la_LIBADD): 
-       * providers/pop3/Makefile.am (libcamelpop3_la_LIBADD): 
-       * providers/local/Makefile.am (libcamellocal_la_LIBADD): Remove
-       UNICODE_LIBS.
-
-       * camel.c (camel_init): Remove call to unicode_init.
-
-       * camel-mime-parser.c: Remove unused unicode.h include.
-
-2001-04-26  Dan Winship  <danw@ximian.com>
-
-       * camel-service.c (get_host): Use e_gethostbyname_r.
-       (camel_service_gethost): Remove unused var.
-
-2001-04-26  Not Zed  <NotZed@Ximian.com>
-
-       * Applied jacob's patches for e-poolv stuff.
-
-2001-04-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel.h: Add camel-vee-folder.h and camel-digest-folder.h
-
-       * camel-digest-folder.[c,h]: New class that can be used to browse
-       a multipart/digest message as if it were a CamelFolder.
-
-2001-04-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (pgp_verify): Oops, don't use the return
-       value of iconv() as a string length, it only tells us the number
-       of non-reversable character conversions. This fixes it so we
-       actually see the gpg output in the message viewer.
-
-2001-04-23  Mikael Hallendal  <micke@codefactory.se>
-
-       * providers/nntp/Makefile.am (INCLUDES): 
-       Changed GTK_INCLUDEDIR to EXTRA_GNOME_CFLAGS.
-
-2001-04-20  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-smime-context.c (smime_sign): Implemented using the
-       secmime.h convenience functions.
-       (smime_clearsign): We just error our here, there is no clearsign
-       for smime.
-       (smime_verify): Copied code over from the pkcs7 verify - same
-       state, ugly and unknown :-)
-       (smime_encrypt): Implemented using the secmime.h convenience
-       functions.
-       (smime_decrypt): Same as the code in pkcs7-context.
-
-2001-04-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pkcs7-context.c (pkcs7_sign): Implemented.
-       (pkcs7_clearsign): Implemented.
-       (get_zero_len_passwd): Convenience function to try a 0-length key
-       on the certificate db - if this works then there is no need to
-       prompt the user.
-       (get_password): Callback to get the password.
-       (camel_cipher_hash_to_nss): Convenience function to convert a
-       CamelCipherHash to an NSS HASH_HashType.
-       (nss_hash_to_sec_oid): Converts a HASH_HashType to a SecOidTag.
-       (pkcs7_digest): Digest function for use with pkcs7_sign().
-       (sign_encode_cb): Callback to write the signed data to the output
-       stream.
-       (pkcs7_verify): Hacked on a bit more but am still a bit on the
-       confused side. This might work but I wouldn't hold my breath. The
-       sign/clearsign should be close if not correct, but this one...god
-       only knows.
-       (pkcs7_decrypt): Implemented.
-       (pkcs7_encrypt): Implemented (mostly, still need to handle when
-       'sign' is TRUE).
-
-2001-04-18  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_finalize):
-       Free base_url and storage_path.
-
-       * providers/pop3/camel-pop3-store.c (finalize): Free the
-       implementation string.
-       (camel_pop3_command): Clarify documentation to mention that
-       @ex isn't set (and *@ret is) on CAMEL_POP3_ERR.
-       (connect_to_server): Set @ex properly on CAMEL_POP3_ERR.
-
-       * providers/pop3/camel-pop3-folder.c (pop3_refresh_info,
-       pop3_get_message): Set @ex properly on CAMEL_POP3_ERR.
-
-2001-04-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pkcs7-context.[c,h]: New source files to handle Pkcs7
-       encryption, decryption, signing, and verifying. Not yet
-       complete. I'm sensing this is going to take a while seeing as how
-       NSS is just so well documented.
-
-2001-04-17  Dan Winship  <danw@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message): Fix
-       a memory leak in the error case.
-
-2001-04-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-mbox-summary.c (summary_rebuild): Don't we
-       want to tell where we are by using the start of the message? I
-       think this should be using camel_mime_parser_tell_start_from()
-       instead. Also divide by the size *before* multiplying by 100 so
-       that we don't overflow the int which was giving us negative values
-       for our progress status (oops).
-
-2001-04-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-operation.c: Added a prototype for stamp().
-
-       * camel-charset-map.c (camel_charset_locale_name): #include
-       string.h so we don't get a warning about strchr being undefined
-       and also init charset to NULL.
-
-       * camel-pgp-context.c (pgp_verify): Go back to doing the utf8
-       conversion by hand so that we don't depend on gal.
-
-       * Makefile.am: Remove the EXTRA_GNOME_CFLAGS include.
-
-       * camel-store.c (camel_mkdir_hier): Convenience function that it
-       seems a number of camel-store implementations used gal for.
-
-       * providers/nntp/camel-nntp-store.c (ensure_news_dir_exists): Lets
-       not depend on gal for just e_mkdir_hier() - use camel_mkdir_hier()
-       instead.
-
-       * providers/nntp/camel-imap-store.c: Lets not depend on gal for
-       just e_mkdir_hier() - use camel_mkdir_hier() instead.
-
-       * camel-session.c (camel_session_get_storage_path): Don't depend
-       on e_mkdir_heir() anymore, use the CamelStore version.
-
-       * camel-folder-search.h: Removed gal dependency, why was this even
-       there in the first place?
-
-       * providers/imap/camel-imap-folder.c: Don't need gal/util/e-util.h
-       here, so remove it.
-
-       * string-utils.c (strstrcase): New function, well more like old
-       function brought back to life so we don't have to depend on gal.
-
-       * providers/imap/camel-imap-store.c (imap_store_setup_online): Use
-       strstrcase rather than e_strstrcase so we don't depend on gal.
-       (get_unread_online): Same here.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): Use
-       strstrcase.
-
-2001-04-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_raw_check_mailing_list): regex
-       doesn't set errno and regcomp returns 0 on success and any other
-       value for an error (so don't *just* check for -1).
-
-2001-04-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-cipher-context.c: Check to make sure the context is a
-       valid context in all the user functions.
-
-2001-04-13  Jon Trowbridge  <trow@ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_disconnect):
-       s/imap_store/store/, fixing a typo that was causing the build to
-       fail.
-
-       * camel-filter-search.c (get_source): Make the (previously unused)
-       get-source command actually do the right thing, properly shrouding
-       any passed-in source and falling back to use the source attached
-       to the mime message.
-
-2001-04-13  Dan Winship  <danw@ximian.com>
-
-       * camel-object.c (camel_object_hook_event):
-       * camel-uid-cache.c (camel_uid_cache_get_new_uids):
-       * camel-url.c (camel_url_new_with_base): Plug leaks.
-
-       * camel-remote-store.c (camel_remote_store_init): Don't
-       re-initialize the folders hash table.
-
-       * providers/imap/camel-imap-store.c (imap_disconnect): Free
-       authtypes since they'll be re-read on re-connect.
-       (get_folder_info): Free folderinfos that we're discarding from the
-       list.
-
-2001-04-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (camel_pgp_context_get_type): Oops, lets not
-       get into a recursive call here ;-)
-
-       * tests/smime/pgp.c: Updated to reflect changes to the PGP code.
-
-       * tests/smime/pgp-mime.c: Same.
-
-2001-04-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-mime.c: Updated to reflect the few changes made to the
-       CamelPgpContext class.
-
-       * camel-pgp-context.c: Updated to subclass of CamelCipherContext.
-
-       * camel-cipher-context.[c,h]: New base class for
-       CamelPgpContext. Also contains the replacement for
-       CamelPgpValidity, CamelCipherValidity.
-
-2001-04-12  Dan Winship  <danw@ximian.com>
-
-       * camel-mime-filter-crlf.c (filter): Fix a pair of array bounds
-       reads noted by purify
-
-2001-04-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel.h: #include the pgp stuff.
-
-2001-04-12  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-message-cache.c
-       (camel_imap_message_cache_remove): 
-       * camel-url.c (camel_url_to_string): Plug memory leaks.
-
-2001-04-11  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_parse_string_generic):
-       Simplify peterw's imap_is_atom_char fix.
-
-2001-04-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * tests/smime/Makefile.am: Added pgp-mime.c to the tests.
-
-       * tests/smime/pgp-mime.c: Test suite for camel-pgp-mime.c functions.
-
-       * Makefile.am: Add camel-pgp-mime.[c,h] to the build.
-
-       * camel-pgp-mime.c: Made a number of fixes to get it to compile
-       and also fixed a few logic errors (mostly forgetting to reset
-       streams) so that it worked (thanks to the pgp-mime test program).
-
-2001-04-11  JP Rosevear  <jpr@ximian.com>
-
-       * providers/imap/Makefile.am: user GNOME_INCLUDEDIR since gnome
-       files are included in the top level camel headers and the gtk
-       include dir is now versioned and such
-
-       * providers/local/Makefile.am: ditto
-
-       * providers/pop3/Makefile.am: ditto
-
-       * providers/smtp/Makefile.am: ditto
-
-       * providers/sendmail/Makefile.am: ditto
-
-       * camel-service.c: use five arg version of gethostbyname_r if
-       appropriate
-       (camel_get_host_byname): check if msg->herr is non-zero instead of
-       checking if msg->hp is null since we may not always have msg->hp
-
-2001-04-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-digest-md5.c (digest_response): Use
-       camel_charset_locale_name() to get the locale charset rather than
-       checking the CHARSET environment variable. This is a much less
-       ugly hack. Also: If we fail to be able to convert to UTF8, then
-       disavow all knowledge of the charset parameter.
-
-       * camel-charset-map.c (camel_charset_locale_name): New function to
-       return the locale charset (or NULL if US-ASCII).
-
-2001-04-11  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (camel_pgp_verify): Use
-       e_utf8_from_locale_string() rather than trying to do it manually
-       since Lauris's version works much better.
-
-2001-04-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * Makefile.am: Added camel-pgp-context.[c,h] to the build. Also
-       added tests/smime/pgp.c and Makefile.am
-
-       * tests/smime/pgp.c: New test suite for PGP functions.
-
-       * camel-pgp-context.c: Various fixes to get it to build.
-
-2001-04-07  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-utils.c (imap_parse_string_generic): It
-       would be a good idea to recognize '\0'. Before, this code was running
-       off the ends of strings and intermittently coredumping (if it didn't
-       hit an imap_atom_char first) -- whoops!
-
-2001-04-05  Not Zed  <NotZed@Ximian.com>
-
-       * merge from evolution-0-10-branch to evolution-0-10-merge-0
-
-2001-04-03  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * Makefile.am: Added tests/ back in
-
-       * camel-mime-utils.c (header_decode_text): Ignore whitespace
-       between encoded words (there were a few cases where it didn't
-       before).
-       (header_encode_string): Preserve whitespace between words that are
-       to be encoded by encoding them too.
-       (header_encode_phrase): Same here but with phrases.
-
-2001-04-03  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_sync): If we don't
-       change any flags or expunge, send a NOOP to give the server a
-       chance to send EXISTS, etc, messages.
-       (imap_get_message): If the server_level < IMAP4rev1, always fetch
-       messages all-at-once, since they don't support the [#.MIME]
-       syntax.
-       (imap_update_summary): When reading message flags, set the
-       server_flags field as well, and don't overwrite any flags set by
-       camel_folder_summary_info_new_from_message. Might help with some
-       of the flag problems...
-
-2001-04-02  Dan Winship  <danw@ximian.com>
-
-       * camel-service.h: Remove the "quick_login" member, which is
-       unnecessary.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_auth): Remove the
-       references to quick_login and fix this to use the CamelSasl
-       interfaces correctly to do the same thing.
-       (connect_to_server): Split this out of smtp_connect
-       (smtp_connect): Use connect_to_server. When re-EHLO'ing after
-       auth, ignore errors.
-       (query_auth_types): Use connect_to_server rather than
-       smtp_connect, so it doesn't try to authenticate. Add LOGIN
-       authtype to the list of authtypes to check for.
-
-       * providers/smtp/camel-smtp-provider.c
-       (camel_provider_module_init): Add LOGIN authtype to the authtypes
-       list explicitly.
-
-       * camel-sasl.c (camel_sasl_authtype_list): Don't list LOGIN here:
-       it's not a real SASL authtype and is only used for SMTP.
-       
-       * camel-sasl-plain.c: 
-       * camel-sasl-login.c: 
-       * camel-sasl-kerberos4.c: 
-       * camel-sasl-cram-md5.c: 
-       * camel-sasl-anonymous.c: 
-       * providers/pop3/camel-pop3-provider.c: Remove "quick_login"
-       argument from authtypes.
-
-2001-04-02  Gediminas Paulauskas <menesis@delfi.lt>
-
-       * camel-filter-driver.c: marked missing report status' for translation.
-
-2001-04-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.c (camel_pgp_sign): mutex lock & unlock the
-       context.
-       (camel_pgp_clearsign): Same.
-       (camel_pgp_verify): Same.
-       (camel_pgp_encrypt): Same.
-       (camel_pgp_decrypt): And finally here...
-
-       * camel-pgp-context.h: Update the function prototypes to match
-       those found in camel-pgp-context.c.
-
-       * camel-pgp-context.c: Updated.
-
-       * camel-pgp-mime.c (camel_pgp_mime_part_sign): Implemented.
-       (camel_pgp_mime_part_verify): Implemented.
-       (camel_pgp_mime_part_encrypt): Implemented.
-       (camel_pgp_mime_part_decrypt): Implemented.
-
-2001-04-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-login.[c,h]: New files to handle the LOGIN SASL
-       mechanism.
-       
-       * camel-sasl-plain.c: Removed the definition of
-       camel_sasl_login_authtype.
-
-       * camel-sasl.c (camel_sasl_new): Oops. I thought LOGIN was an
-       alias to PLAIN. I was wrong. These two SASL objects have to be
-       separate.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_auth): Updated to
-       check for and use authmech->quick_login when available.
-
-2001-04-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-provider.c: Updated the authtypes here
-       too.
-
-       * camel-sasl-plain.c: 
-       * camel-sasl-anonymous.c: 
-       * camel-sasl-digest-md5.c: 
-       * camel-sasl-cram-md5.c: 
-       * camel-sasl-kerberos4.c: Updated the authtype values.
-
-       * camel-service.h: Added another field to CamelServiceAuthType
-       that specifies whether or not the mechanism supports "quick auth"
-       which means that the client can send the initial challenge in the
-       AUTH request.
-
-       * camel-sasl.c (camel_sasl_new): Add support for LOGIN.
-       (camel_sasl_authtype_list): Here too.
-       (camel_sasl_authtype): And finally here.
-
-       * camel-sasl-plain.c: Define camel_sasl_login_authtype.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_auth): Only unref
-       the SASL object if it exists.
-
-2001-03-30  Dan Winship  <danw@ximian.com>
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server,
-       query_auth_types, pop3_connect): Move things around here to make
-       this all work right again (so you don't get prompted for a
-       password when checking the supported authtypes.)
-
-2001-03-30  Jon Trowbridge  <trow@ximian.com>
-
-       * camel-mime-message.c (camel_mime_message_set_source): Shrould
-       our source URL before putting it into X-Evolution-Source.
-
-2001-03-29  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_info): Don't
-       blindly append "/INBOX", construct a CamelURL and set the path
-       that way.
-       (parse_list_response_as_folder_info): Don't blindly append
-       "/<foldername>", construct a CamelURL and set the path that way
-       instead.
-       (get_folders_offline): And again here.
-
-2001-03-30  Not Zed  <NotZed@Ximian.com>
-
-       * camel-service.c (camel_get_host_byname): Dont overwrite an
-       exception if we got one already.  Added camel_operation status to
-       it, and comment out some debug.
-
-2001-03-29  Not Zed  <NotZed@Ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): Free host
-       name info when done ... blah blah.
-
-       * camel-sasl-kerberos4.c (krb4_challenge): Free host name info
-       after we're done with it.
-
-       * camel-sasl-digest-md5.c (digest_md5_challenge): Free host name
-       info after we're done with it.
-
-       * camel-remote-store.c (remote_connect): Free the host name info
-       from get_host after we're finished with it.
-
-       * camel-service.c (camel_get_host_byname): New function to
-       lookup a name, and still be cancellable.
-       (camel_free_host): And a function to free the structure
-       returned.
-       (camel_service_gethost): Call get_host_byname for this.
-
-2001-03-29  Jon Trowbridge  <trow@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message): Save
-       the source URL using camel_mime_message_set_source.
-
-       * camel-mime-message.c (camel_mime_message_set_source): Renamed
-       camel_mime_message_set_identity to this.  Sets the X-Evolution-Source
-       header.
-       (camel_mime_message_get_source): Returns the X-Evolution-Source
-       header.
-
-2001-03-29  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * broken-date-parser.c: #include <stdio.h>, <stdlib.h> and <string.h>
-       * broken-date-parser.h: Remove all includes but <glib.h>
-       * camel-address.h: Added #include <glib.h>
-       * camel-data-wrapper.c: Move system includes to the top.
-       * camel-data-wrapper.h: #include <glib.h>
-       * camel-exception.c: #ifdef HAVE_CONFIG_H
-       * camel-exception.h: Remove #include <glib.h>
-       * camel-filter-driver.c: #ifdef HAVE_CONFIG_H and move system
-       headers to top. Mark strings in camel_exception_set*() for i18n.
-       * camel-filter-driver.h: #include <glib.h>
-       * camel-filter-search.c: #ifdef HAVE_CONFIG_H
-       * camel-folder-search.c: #include <config.h>
-       * camel-folder-search.h: Header shuffling
-       * camel-folder-summary.h: Same here
-       * camel-folder-thread.c: #ifdef HAVE_CONFIG_H
-       * camel-folder.c: Here too.
-       * camel-folder.h: #include <glib.h>
-       * camel-internet-address.c: Move system headers up
-       * camel-lock.c: #ifdef HAVE_CONFIG_H
-       * camel-medium.c: Same here
-       * camel-mime-filter-bestenc.c: Move system headers up
-       * camel-mime-filter-from.c: Same here
-       * camel-mime-filter-linewrap.c: And here
-       * camel-mime-filter.c: #include <string.h> to fix warnings from new gcc
-       * camel-mime-filter.h: System headers moved up
-       * camel-mime-message.c: Here too. #ifdef HAVE_CONFIG_H added
-       * camel-mime-part-utils.c: #ifdef HAVE_CONFIG_H added
-       * camel-mime-part.c: Here too, and shuffle headers
-       * camel-mime-utils.c: #ifdef HAVE_CONFIG_H. Remove const from two
-       variables to remove warning.
-       * camel-mime-utils.h: Shuffle headers
-       * camel-movemail.c: #ifdef HAVE_CONFIG_H. Mark string in camel_exception_set
-       * camel-multipart.c: #ifdef HAVE_CONFIG_H. Added includes to remove
-       warnings from new gcc
-       * camel-object.c: #ifdef HAVE_CONFIG_H
-       * camel-object.h: Shuffle headers
-       * camel-operation.c: #ifdef HAVE_CONFIG_H
-       * camel-provider.c: #ifdef HAVE_CONFIG_H. Shuffle headers. Mark a string
-       * camel-remote-store.c: #ifdef HAVE_CONFIG_H
-       * camel-sasl-anonymous.c: #ifdef HAVE_CONFIG_H. #include <string.h>
-       * camel-sasl-cram-md5.c: #ifdef HAVE_CONFIG_H. #include <string.h> and
-       <stdio.h> to remove warnings.
-       * camel-sasl-digest-md5.c: #ifdef HAVE_CONFIG_H. shuffle headers
-       * camel-sasl-digest-md5.h: Shuffle headers.
-       * camel-sasl-kerberos4.c: #ifdef HAVE_CONFIG_H. Shuffle headers.
-       * camel-sasl-kerberos4.h: Shuffle headers.
-       * camel-sasl-plain.c: #ifdef HAVE_CONFIG_H. Shuffle
-       * camel-sasl.c: #ifdef HAVE_CONFIG_H. #include <string.h>
-       * camel-search-private.c: #include <config.h>
-       * camel-seekable-stream.c: #ifdef HAVE_CONFIG_H
-       * camel-seekable-stream.h: Shuffle
-       * camel-seekable-substream.c: #ifdef HAVE_CONFIG_H
-       * camel-service.c: Same
-       * camel-service.h: Shuffle
-       * camel-session.c: #ifdef HAVE_CONFIG_H
-       * camel-store.c: Same
-       * camel-stream-buffer.c: Here too
-       * camel-stream-buffer.h: Shuffle
-       * camel-stream-filter.c: #include <string.h>
-       * camel-stream-fs.c: #ifdef HAVE_CONFIG_H
-       * camel-stream-fs.h: Shuffle headers
-       * camel-stream-mem.c: Same as above
-       * camel-stream-mem.h: Here too
-       * camel-stream-null.c: #ifdef HAVE_CONFIG_H
-       * camel-stream.c: Here too
-       * camel-stream.h: Shuffle
-       * camel-tcp-stream-openssl.c: #ifdef HAVE_CONFIG_H
-       * camel-tcp-stream-raw.c: Same here. and move local includes down
-       * camel-tcp-stream-ssl.c: Same as above
-       * camel-tcp-stream.c: #ifdef HAVE_CONFIG_H
-       * camel-tcp-stream.h: move local include down
-       * camel-transport.c: #ifdef HAVE_CONFIG_H
-       * camel-transport.h: #include <glib.h>
-       * camel-uid-cache.c: #ifdef HAVE_CONFIG_H. Shuffle headers
-       * camel-uid-cache.h: Shuffle
-       * camel-url.c: #ifdef HAVE_CONFIG_H
-       * camel-vee-folder.c: #ifdef HAVE_CONFIG_H. Shuffle headers
-       * camel-vee-folder.h: #include <glib.h>
-       * camel-vee-store.h: Same here
-       * camel.c: #ifdef HAVE_CONFIG_H
-       * gstring-util.c: Here too
-       * hash-table-utils.c: Remove #include <glib.h>
-       * hash-table-utils.h: #include it here instead.
-       * string-utils.c: #ifdef HAVE_CONFIG_H
-       * providers/cache/camel-cache-map.c: #ifdef HAVE_CONFIG_H, shuffle
-       headers and mark strings in camel_exception_set*()
-       * providers/cache/camel-cache-provider.c: #ifdef HAVE_CONFIG_H
-       * providers/cache/camel-cache-store.c: Same here, and mark a string.
-       * providers/imap/camel-imap-command.c: #ifdef HAVE_CONFIG_H
-       * providers/imap/camel-imap-command.h: Shuffle header
-       * providers/imap/camel-imap-folder.c: #ifdef HAVE_CONFIG_H
-       * providers/imap/camel-imap-message-cache.c: #ifdef HAVE_CONFIG_H
-       * providers/imap/camel-imap-provider.c: #ifdef HAVE_CONFIG_H and
-       #include <string.h>
-       * providers/imap/camel-imap-search.c: #ifdef HAVE_CONFIG_H
-       * providers/imap/camel-imap-store.c: #ifdef HAVE_CONFIG_H and mark
-       a string.
-       * providers/imap/camel-imap-summary.c: Shuffle headers
-       * providers/imap/camel-imap-wrapper.c: #ifdef HAVE_CONFIG_H. Shuffle
-       * providers/local/camel-local-folder.c: #ifdef HAVE_CONFIG_H
-       * providers/local/camel-local-provider.c: #ifdef HAVE_CONFIG_H
-       * providers/local/camel-local-store.c: Same here
-       * providers/local/camel-local-summary.c: Here too, shuffle, mark a string
-       * providers/local/camel-maildir-folder.c: #ifdef HAVE_CONFIG_H
-       * providers/local/camel-maildir-store.c: Same
-       * providers/local/camel-maildir-summary.c: Here too
-       * providers/local/camel-mbox-summary.c: And here
-       * providers/local/camel-mbox-store.c: And here
-       * providers/local/camel-mbox-summary.c: #include <config.h>
-       * providers/local/camel-mh-folder.c: #ifdef HAVE_CONFIG_H
-       * providers/local/camel-mh-store.c: same
-       * providers/local/camel-mh-summary.c: #ifdef HAVE_CONFIG_H, shuffle headers
-       and mark a string for translation.
-       * providers/nntp/camel-nntp-auth.c: #include <config.h>
-       * providers/nntp/camel-nntp-store.c: Remove superfluous arg to 
-       CAMEL_SERVICE_CLASS to make it compile
-       * providers/pop3/camel-pop3-provider.c: #ifdef HAVE_CONFIG_H
-       * providers/pop3/camel-pop3-store.c: Same here
-       * providers/sendmail/camel-sendmail-provider.c: Here too
-       * providers/sendmail/camel-sendmail-transport.c: Here too
-       * providers/smtp/camel-smtp-provider.c: Same
-       * providers/smtp/camel-smtp-transport.c: #ifdef HAVE_CONFIG_H, mark
-       strings for translations.
-
-2001-03-29  Dan Winship  <danw@ximian.com>
-
-       * camel-url.c (camel_url_to_string): change "gboolean show_passwd"
-       to "guint32 flags".
-
-       * tests/misc/url.c (main): Update calls to camel_url_to_string
-
-       * providers/imap/camel-imap-store.c (construct): Call
-       camel_url_to_string with flags to hide password, authtype, and
-       params to create the base_url.
-       (etc): Update for the fact that the base_url no longer has the "/"
-       at the end.
-
-       * camel-service.c (construct): Update calls to camel_url_to_string
-       (pass CAMEL_URL_HIDE_PASSWORD)
-
-2001-04-03  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_text): Ignore whitespace
-       between encoded words (there were a few cases where it didn't
-       before).
-       (header_encode_string): Preserve whitespace between words that are
-       to be encoded by encoding them too.
-       (header_encode_phrase): Same here but with phrases.
-
-2001-04-04  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * camel-filter-driver.c: Added #include <config.h>. Marked
-       a bunch of strings for translation.
-       * camel-folder-search.c: Added #include <config.h>.
-       * camel-folder-summary.c: Same here.
-       * camel-movemail.c: Marked strings for translation.
-       * camel-provider.c: Same here.
-       * camel-search-private.c: #include <config.h>
-       * camel-vee-folder.c: Mark string for translation.
-       * providers/local/camel-mbox-summary.c: #include <config.h>
-
-2001-04-03  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_sync): If we don't
-       change any flags or expunge, send a NOOP to give the server a
-       chance to send EXISTS, etc, messages.
-       (imap_get_message): If the server_level < IMAP4rev1, always fetch
-       messages all-at-once, since they don't support the [#.MIME]
-       syntax.
-
-2001-04-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_info): Don't
-       blindly append "/INBOX", construct a CamelURL and set the path
-       that way.
-       (parse_list_response_as_folder_info): Don't blindly append
-       "/<foldername>", construct a CamelURL and set the path that way
-       instead.
-       (get_folders_offline): And again here.
-
-2001-03-31  Not Zed  <NotZed@Ximian.com>
-
-       * camel-operation.c (struct _status_stack): change stamp to
-       unsigned to avoid overflow.
-       (camel_operation_end):
-       (camel_operation_progress_count):
-       (camel_operation_progress): Double the delay before transient
-       events start showing their own progress.
-
-2001-03-30  Not Zed  <NotZed@Ximian.com>
-
-       * providers/pop3/camel-pop3-folder.c (pop3_get_message): Change
-       the pop download into a transient event.
-
-       * camel-operation.c (stamp): Get a timestamp that changes 4x a
-       second (or rather, arbitrarily more often than 1/second).
-       (camel_operation_progress): Use stamp() for time updates.
-       (camel_operation_progress_count): "
-       (camel_operation_start): Store the status as a struct status_stack
-       item.
-       (camel_operation_start_transient): New function to start a
-       transient event, which is only reported if it runs for too
-       long/and is reset afterwards.
-       (camel_operation_progress):
-       (camel_operation_progress_count): Fix for status_stack changes,
-       and account for transient updates. 
-
-       * camel-filter-driver.c (camel_filter_driver_filter_folder): When
-       we remove things (set deleted), always set seen too, to mirror
-       interface behaviour when you delete.
-       (camel_filter_driver_filter_message): And same here too.
-
-2001-03-30  Dan Winship  <danw@ximian.com>
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server,
-       query_auth_types, pop3_connect): Move things around here to make
-       this all work right again (so you don't get prompted for a
-       password when checking the supported authtypes.)
-
-2001-03-29  Dan Winship  <danw@ximian.com>
-
-       * camel-url.c (camel_url_to_string): change "gboolean show_passwd"
-       to "guint32 flags".
-
-       * tests/misc/url.c (main): Update calls to camel_url_to_string
-
-       * providers/imap/camel-imap-store.c (construct): Call
-       camel_url_to_string with flags to hide password, authtype, and
-       params to create the base_url.
-       (etc): Update for the fact that the base_url no longer has the "/"
-       at the end.
-
-       * camel-service.c (construct): Update calls to camel_url_to_string
-       (pass CAMEL_URL_HIDE_PASSWORD)
-
-2001-03-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-pgp-context.[c,h]: New class for PGP encrypting,
-       decrypting, signing and verifying. Next I'll be moving the
-       contents of mail/mail-crypto into Camel. These files will
-       basically replace mail/openpgp-utils.[c,h].
-
-2001-03-29  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-search.c (search_body_contains): Optimise the match
-       "" case, just match everything in the folder (if we have it).
-
-       * camel-vtrash-folder.c (vtrash_move_messages_to): Access the
-       folder directly from the message info.
-       (vtrash_move_messages_to): I think we also need to call the real
-       move_messages_to, and not try and bypass the lock, since we dont
-       have the lock for that folder.
-
-       * camel-vee-folder.h: Move CamelVeeMessageInfo to public, so
-       subclasses can get to it.
-
-       * camel-vee-folder.c (camel_vee_folder_add_folder): Dont let you
-       add a vfolder to itself.
-       (folder_changed): 
-       (vee_folder_remove_folder): 
-       (vee_folder_build_folder): Copy changes before triggering changed
-       events, so we can do them outside of locks.
-       (camel_vee_folder_get_message_folder): Removed function.
-       (camel_vee_folder_hash_folder): Made public (renamed from
-       hash_folder), simply for subclasses (probably not needed).
-       (vee_expunge): Oops, call the class sync, not superclass sync.
-       (vee_sync): Remove some accidental debug.
-
-2001-03-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-service.c (get_path): Add the port (if user defined) to
-       the path to fix bug #1996.
-
-       Danw: I'm iffy on the "fix" so I'd like you to comment.
-
-2001-03-27  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-folder.c (pop3_sync): If we aren't
-       going to even check the resp/free buffer that gets returned from
-       camel_pop3_command, don't even bother using it. Send in NULL
-       instead.
-       (pop3_get_message): Check to make sure that the `result' string is
-       non-NULL. It's possible that some POP servers may return with
-       "+OK\r\n<message>..." rather than the expected 
-       "+OK ### octets\r\n<message>..."
-
-2001-03-27  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-summary.c (camel_folder_summary_finalize): Unref
-       the html filter when done.
-       (summary_build_content_info): Disable using the html parser to
-       help index html mails until it gets sorted out.
-
-       * camel-vee-folder.c (folder_changed): Fix a cut n paste bug, we
-       want uid_removed not uid_changed deref, fixes bug #1999.
-
-2001-03-27  Dan Winship  <danw@ximian.com>
-
-       * camel-sasl.c (camel_sasl_authtype_list): add an argument to say
-       whether or not you want "PLAIN" in the list (so you don't end up
-       with "Password" twice in the config dialog).
-
-       * providers/imap/camel-imap-provider.c (camel_provider_module_init): 
-       * providers/imap/camel-imap-store.c (query_auth_types): We don't
-       want PLAIN.
-
-       * providers/smtp/camel-smtp-provider.c (camel_provider_module_init): 
-       * providers/smtp/camel-smtp-transport.c (query_auth_types): But we
-       do.
-
-2001-03-27  Dan Winship  <danw@ximian.com>
-
-       * camel-provider.h: Add an "extra_conf" field to CamelProvider
-       with structures and defines and stuff, for providers to specify
-       additional configuration options that they want. Also add a
-       "supports ssl" flag to the provider flags.
-
-       * camel-url.c (camel_url_new_with_base): Fix parsing of params.
-       (output_param): And unparsing...
-
-       * camel-remote-store.c: add a "default_ssl_port" field.
-       (remote_construct): If the URL has the "use_ssl" parameter, set
-       the store's use_ssl flag.
-       (remote_connect): If using SSL and no port specified, use the
-       default_ssl_port rather than the default_port.
-
-       * providers/smtp/camel-smtp-provider.c (smtp_provider): add
-       CAMEL_PROVIDER_SUPPORTS_SSL and CAMEL_URL_ALLOW_USER. (The config
-       gui code knows that the ALLOW_USER and ALLOW_AUTH go together.)
-       (ssmtp_provider): gone
-
-       * providers/smtp/camel-smtp-transport.c (smtp_construct): Set a
-       flag if "use_ssl" param is set.
-       (smtp_connect): Check the CamelSmtpTransport use_ssl flag rather
-       than checking if this is smtp or ssmtp.
-
-       * providers/imap/camel-imap-provider.c (imap_conf_entries): Add a
-       bunch of IMAP-specific configuration options, like "check for new
-       mail in all folders" (default TRUE), "show only subscribed
-       folders" (default TRUE), "ignore server-supplied namespace", and
-       "apply filters to INBOX" (not yet implemented).
-       (imap_provider): We support SSL and we no longer allow a path in
-       the URL. (namespace is handled via extra_conf)
-       (simap_provider): Gone
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_init): Set
-       default_ssl_port, don't set CAMEL_STORE_SUBSCRIPTIONS here
-       (construct): remove simap stuff, deal with "use_lsub",
-       "namespace", "check_all", and "filter" parameters. Set base_url
-       to not include params.
-       (imap_store_setup_online): Don't ask for the namespace if it was
-       set explicitly. Don't get subscribed folders if !use_lsub.
-       (imap_concat): Fix a bug.
-       (get_folder_info): Support for not checking all folders.
-
-       * providers/imap/camel-imap-folder.c (imap_get_full_name): Rewrite
-       to use imap_store->namespace, not service->url->path
-
-       * providers/pop3/camel-pop3-provider.c (pop3_conf_entries): "keep
-       on server" (currently still implemented by the mailer code, not
-       here), "delete after N days" (not yet implemented).
-       (pop3_provider): we support SSL
-       (spop_provider): gone
-
-       * providers/pop3/camel-pop3-store.c (camel_pop3_store_init): Set
-       default_ssl_port
-       (pop3_connect): Remove spop code
-
-2001-03-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-vee-folder.c (vee_folder_construct): Move all of the
-       camel_vee_folder_construct() internals here.
-       (camel_vee_folder_construct): This function basically becomes a
-       wrapper for vee_folder_construct and also checks to make sure that
-       the UNMATCHED vfodler is constructed otherwise constructs it.
-       (camel_vee_folder_new): Call vee_folder_construct() instead so
-       that we don't get into a dead-lock.
-
-2001-03-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (init_trash): Use camel_vtrash_folder_new() to
-       create the vtrash folder now.
-
-       * camel-vtrash-folder.[c,h]: New subclass of CamelVeeFolder for
-       our vTrash folders.
-
-       * camel-folder.c (camel_folder_copy_messages_to): Don't watch for
-       vtrash folders anymore.
-       (camel_folder_move_messages_to): Same.
-
-       * camel-vee-folder.c (camel_vee_folder_class_init): Update.
-       (vee_move_messages_to): Rewrite to use the new move API.
-
-       * camel-filter-driver.c (do_copy): Updated to reflect
-       copy_message_to changes. Create a temporary uid array and use
-       that.
-       (do_move): Same.
-       (camel_filter_driver_filter_message): And again, here...
-
-       * providers/imap/camel-imap-folder.c (imap_copy_messages_to):
-       Update to the new API.
-       (imap_move_messages_to): Same.
-       (get_uid_set): New function to create a `set' string based on an
-       array of UIDs for use with imap_copy_messages_to.
-
-       * camel-folder.c (camel_folder_copy_messages_to): Replaces
-       camel_folder_copy_message_to
-       (camel_folder_move_message_to): Replaces
-       camel_folder_move_message_to.
-
-2001-03-27  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-store.c (vee_get_folder): Added folder_created event
-       here.
-       
-       * camel-vee-folder.c (unmatched_finalise): Removed, moved into
-       main finalise code.
-       (message_changed): Just create a new change entry and promote it
-       to a folder_changed thing.
-       (vee_sync): Always rebuild folder on sync, even when not expunge.
-       (folder_changed): If not autoupdating, make sure we remove any
-       removed entries.
-       (vee_folder_build_folder):
-       (vee_folder_remove_folder): NOP if we're called on
-       folder_unmatched.
-       (vee_search_by_expression): Only search each folder once.  Should
-       we also order the result in summary order?
-
-2001-03-20  Not Zed  <NotZed@Ximian.com>
-
-       * camel-store.c (init_trash): Fix calling for vee_folder_new().
-
-       * camel-folder-summary.c (camel_folder_summary_remove_index):
-       Optimise slightly, use ptr_array_remove_index rather than have to
-       search for the index by using summary_remove.
-
-       * camel-vee-folder.h: Removed local member from VeeFolder, since
-       it was never used.
-
-       * camel-vee-store.c (camel_vee_store_finalise): Setup finalise
-       function.
-
-       * camel-vee-folder.c (camel_vee_folder_set_expression): New
-       function to set the query of an existing vfolder.
-       (camel_vee_folder_construct): New function for
-       convenience/subclasses.
-       (camel_vee_folder_new): Removed exception parameter, no longer
-       needed (since we dont search yet).
-       (camel_vee_folder_new): Changed to use folder_construct, and no
-       longer raise the folder created signal.
-       (vee_folder_build_folder): Make it return error on exception, so
-       we can work without exceptions.
-       (vee_folder_remove_folder): Use remove index rather than
-       remove_uid, this is ok since we have the summary locked for our
-       own access.
-       (camel_vee_folder_add_folder): Only add the folder to the
-       unmatched private if it is not a private folder.
-       (camel_vee_folder_remove_folder): Only remove the folder from
-       unmatched if it is not private.
-       (vee_expunge): Just call sync with expunge set.
-       (vee_sync): If expunging, also refresh the search.
-       (vee_folder_build_folder): We do our own locking now, removed from
-       callers, also trigger changed events here too (within locks),
-       fixed callers appropriately.
-       (vee_folder_remove_folder): Do our own locking, and trigger
-       changed events.
-       (vee_folder_add_info): Renamed of vee_folder_add, we now take a
-       hash of the folder name, rather than use the folders address.
-       (hash_folder): Convert a folder name into an 8 character hash.
-       (vee_get_message, vee_search_by_expression, vee_set_message_flags,
-       vee_set_message_user_flag, vee_move_message_to): Changed the uid
-       to be an 8 byte hash + original uid, with no ':' anymore.
-
-2001-03-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_text): When writing the last
-       token (if not rfc2047 encoded), don't use g_string_append_len, use
-       append_latin1.
-
-       * camel-mime-message.c (write_to_stream): Don't spew a warning if
-       the message-id wasn't set by the application, not a big deal since
-       we create one right here.
-
-2001-03-26  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-command.c (camel_imap_command): keep a
-       reference on the store's current_folder.
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_finalize): 
-       (imap_disconnect): unref the current_folder before clearing it.
-
-       * camel-url.c (camel_url_get_param): Add missing accessor.
-
-       * camel-session.c (camel_session_get_provider): New. Return
-       the provider for a URL.
-
-2001-03-25  Dan Winship  <danw@ximian.com>
-
-       * camel-url.c (camel_url_new_with_base): New URL parser with full
-       RFC1808 relative URL support. Yum.
-       (camel_url_new): Wrapper around camel_url_new_with_base now.
-
-       * tests/Makefile.am: add misc subdir
-
-       * tests/misc/url.c: relative URL test cases from RFC 1808
-
-2001-03-25  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (do_copy): Don't use copy_to if the source
-       folder doesn't support summary info's.
-       (do_move): Same.
-       (camel_filter_driver_filter_message): And again here.  I think
-       this will fix the problem of "colour" tags not staying with the
-       message when it's copied to a folder during the filter process.
-
-2001-03-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-digest-md5.c (digest_response): Do charset conversion
-       on the username param here if needed.
-       (parse_server_challenge): Protect against possibly empty-string
-       charset values.
-
-2001-03-23  Jon Trowbridge  <trow@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message):
-       Don't call camel_mime_message_set_identity.  (The call is
-       commented out, left over from some earlier experimentation that I
-       want to be able to remember later...)
-
-       * camel-mime-message.c (camel_mime_message_set_identity): Added.
-       A function to set the X-Evolution-Identity header.
-       
-2001-03-22  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-command.c (imap_read_response): Don't
-       look at untagged responses other than "* BYE"...
-       (camel_imap_response_free): ...do it here instead...
-       (camel_imap_response_free_without_processing): ...but not here.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
-       Remove the "EXISTS" line from the response so
-       camel_imap_response_free won't try to process it.
-       (camel_imap_folder_selected): If we get an EXISTS response mixed
-       in with the FETCH responses, record the new EXISTS value.
-       Use camel_imap_response_free_without_processing so that an EXISTS
-       response won't cause a loop.
-       (imap_rescan): Use camel_imap_response_free_without_processing.
-       (imap_update_summary): Use
-       camel_imap_response_free_without_processing. If an EXISTS response
-       shows up, call imap_update_summary again to get the new messages.
-       (imap_protocol_get_summary_specifier): Use BODY.PEEK[0], not
-       RFC822.HEADER for prev IMAP4rev1, since the FETCH parser won't
-       deal with RFC822.HEADER responses.
-
-       * providers/imap/camel-imap-store.c (get_folder_info): Fix an
-       uninitialized variable
-
-2001-03-21  Dan Winship  <danw@ximian.com>
-
-       * camel-provider.h: (CamelProvider) add a "GList *authtypes", so
-       you can get the list of authtypes used by a provider without
-       needing to have an actual CamelService object handy. (Will be
-       needed by the new config druid.)
-       (CAMEL_PROVIDER_ALLOWS, CAMEL_PROVIDER_NEEDS): New macros to test
-       the URL part stuff, since the way it works is too complicated and
-       everyone always does it wrong.
-
-       * camel-service.c (camel_service_query_auth_types): Remove the
-       @connected arg again: if you don't want to connect, you can just
-       get the list of authtypes off the provider.
-       (camel_service_free_auth_types): Remove this. All existing
-       implementations do authtypes the same way, so just say the caller
-       should "g_list_free" the list. (Oh, look, removing this function
-       doesn't actually cause the mailer to not build. How 'bout that.)
-       (construct, get_path): Use the new URL part macros.
-
-       * camel-remote-store.c (remote_query_auth_types): Update
-       (remote_free_auth_types): Nuke
-       (camel_remote_store_authtype_list): New function for use by
-       subclasses.
-
-       * providers/imap/camel-imap-provider.c:
-       * providers/pop3/camel-pop3-provider.c:
-       * providers/smtp/camel-smtp-provider.c: Update CamelProvider
-       structures.
-       (camel_provider_module_init): Put all the SSL parts together so
-       there's only 1 #ifdef. Set up the provider authtypes field using
-       the SASL, CamelRemoteStore, and standard authtypes, as
-       appropriate. Copy that from the normal provider to the SSL
-       provider.
-
-       * providers/local/camel-local-provider.c:
-       * providers/sendmail/camel-sendmail-provider.c:
-       * camel-session.c: Update CamelProvider structures.
-
-       * providers/imap/camel-imap-store.c (query_auth_types):
-       * providers/pop3/camel-pop3-store.c (query_auth_types): Update
-
-       * providers/smtp/camel-smtp-store.c (query_auth_types): Update.
-       Remove the no_authtype, because that's what "ALLOW_AUTH" rather
-       than "NEED_AUTH" means.
-       (free_auth_types): Nuke.
-
-2001-03-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message):
-       Return -1 on fail.
-       (camel_filter_driver_filter_folder): Same.
-       (camel_filter_driver_filter_mbox): Same.
-       (camel_filter_driver_filter_folder): Return -1 if an exception was
-       set as well.
-
-2001-03-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_finalize):
-       Free the expected host.
-       (camel_tcp_stream_openssl_new): Now takes a Service and an
-       expected_host. Set them.
-
-2001-03-20  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-store.c
-       (camel_imap_store_check_online): Function to check if the store is
-       online and set an exception if not. Currently controlled by an
-       environment variable, but eventually there will be both a global
-       (session-level) setting and a per-store setting.
-       (construct): Set up storage_path and base_url here rather than at
-       connect-time.
-       (imap_auth_loop): Split out from imap_connect.
-       (imap_setup_online): Split out from imap_connect. Do the
-       post-authentication connection setup, and cache the results to
-       disk.
-       (imap_setup_offline): Set up a CamelImapStore with information
-       saved from a previous imap_setup_online.
-       (imap_connect): If online, do connect_to_server(),
-       imap_auth_loop(), and imap_setup_online(). Otherwise, do
-       imap_setup_offline().
-       (get_folder, get_folder_info): Add offline support.
-       (create_folder, subscribe_folder, unsubscribe_folder): Disable
-       these when offline (for now).
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new):
-       Remove the sync'ing-with-server stuff... it's done by
-       camel_imap_folder_selected now, which only gets called if the
-       store is online.
-       (camel_imap_folder_selected): add the code removed from
-       camel_imap_folder_new. Besides simplifying the folder_new and
-       summary_new code, this also means now that we'll DTRT if a
-       folder's UIDVALIDITY changes while we're connected. Also, when
-       that happens, clear the message cache explicitly.
-       (imap_refresh_info, imap_sync): These are no-ops when offline.
-       (imap_expunge, imap_append_message, imap_copy_message_to,
-       imap_search_by_expression): These don't yet work offline.
-       (imap_get_message, camel_imap_folder_fetch_data): Return an error
-       when trying to fetch a non-cached body part when we're offline.
-
-       * providers/imap/camel-imap-summary.c (camel_imap_summary_new):
-       Rewrite to not check the validity here. (We'll do it from
-       camel_imap_folder_selected instead.)
-
-       * providers/imap/camel-imap-command.c (camel_imap_command): Call
-       camel_imap_folder_selected even when the selection is all we're
-       doing, to match the changes in camel-imap-folder.c.
-
-       * providers/imap/camel-imap-message-cache.c
-       (camel_imap_message_cache_clear): New function to clear out a
-       message cache.
-
-2001-03-19  Christopher James Lahey  <clahey@ximian.com>
-
-       * Makefile.am (INCLUDES): Added $(EXTRA_GNOME_CFLAGS)
-
-2001-03-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): Set the errbuf
-       to NULL after freeing it? I don't think this should fix bug #1801
-       but I guess it can't hurt.
-
-2001-03-18  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-remote-store.c (remote_recv_line): Protect against a
-       possibly NULL exception.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message):
-       Document and modify to return a boolean value denoting whether or
-       not errors occured during processing.
-       (camel_filter_driver_filter_mbox): Same as above and also modified
-       to check return codes of filter_message rather than relying only
-       on whether or not the exception was set (as it's possible to pass
-       in NULL for the exception).
-       (camel_filter_driver_filter_folder): Same as above.
-
-       * camel-mime-utils.c (header_param_list_format_append): Quote the
-       param value if it contains whitespace as well.
-
-2001-03-17  Jeffrey Stedfast <fejj@ximian.com>
-
-       * Makefile.am: Don't include system include dir.
-
-       * camel.c: Use quotes around the nss.h include so it doesn't try
-       to use the systen nss.h file.
-
-       * camel-tcp-stream-ssl.c: Same here.
-
-2001-03-17  Not Zed  <NotZed@Ximian.com>
-
-       * providers/local/camel-maildir-summary.c (maildir_summary_sync): 
-       Modified patch from Dan Berger <dberger@ix.netcom.com> to re-check
-       the maildir directory for new/updated messages at sync time.
-
-       * camel-folder.c (camel_folder_ref_message_info): Implemented.
-       (ref_message_info): And default implementation.
-
-       * camel-folder.h: Added ref_message_info virtual method.
-
-2001-03-16  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-thread.c
-       (camel_folder_thread_messages_new_summary): New function to create
-       a thread tree from a supplied summary array.
-       (camel_folder_thread_messages_destroy): Handle thread trees
-       generated by the above function properly.
-
-2001-03-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-private.h: Same.
-
-       * camel-remote-store.h: Fixed #include to use <>'s instead of ""'s
-
-2001-03-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (ssl_bad_cert): Print info about the
-       issuer of the certificate.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): Use
-       camel_tcp_stream_get_socket().
-
-       * camel-tcp-stream-openssl.c (stream_get_socket): Implemented.
-
-       * camel-tcp-stream-ssl.c (stream_get_socket): Implemented.
-
-       * camel-tcp-stream-raw.c (stream_get_socket): Implemented.
-
-       * camel-tcp-stream.c (camel_tcp_stream_get_socket): New function.
-
-2001-03-16  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * providers/pop3/camel-pop3-folder.c: Added #include <config.h>
-
-2001-03-16  Dan Winship  <danw@ximian.com>
-
-       * camel-mime-utils.c (header_msgid_generate): Don't use
-       getdomainname: it's NIS crap, not DNS.
-
-2001-03-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel.c (camel_init): Don't use the hardcoded cert db directory,
-       use the one passed in.
-
-       * camel-tcp-stream-ssl.c (ssl_get_client_auth): Wrote the default
-       implementation. Not that we'll use this though, since this is the
-       default implementation provided by NSS anyway. This more or less
-       serves as a reference in case we want to change anything.
-       (ssl_auth_cert): Same.
-       (ssl_bad_cert): Changed the prompt string and free it when we're
-       done.
-
-2001-03-15  Dan Winship  <danw@ximian.com>
-
-       First batch of disconnected IMAP-related stuff. This adds local
-       caching of message parts, but NOT any actual disconnected support.
-       (But it should speed up IMAP use.)
-
-       * providers/imap/camel-imap-message-cache.c: New class for caching
-       message data to disk, and removing it when it's no longer
-       relevant. Will eventually also support merging message parts
-       together to save on files. Or maybe using a db instead of files?
-
-       * providers/imap/camel-imap-private.h: Add a cache_lock to
-       CamelImapFolderPrivate. This lock must be recursive, so make both
-       locks EMutexes rather than GMutex.
-
-       * providers/imap/camel-imap-folder.c (parse_fetch_response): "The
-       only FETCH response parser you need!" Replaces the various
-       almost-correct bits of code formerly scattered throughout this
-       file with a single fully-correct function that can handle any
-       FETCH response at any time, so we don't get confused by seeing a
-       flags update when we were only expecting a message body, etc.
-       (camel_imap_folder_fetch_data): FETCH a message body part either
-       from the cache or the server
-       (camel_imap_folder_changed): Remove expunged messages from the
-       message cache.
-       (camel_imap_folder_new): Change to take a directory instead of a
-       summary file name. Create a CamelImapMessageCache for the folder.
-       (imap_finalize): Unref the message cache.
-       (camel_imap_folder_selected, imap_rescan, get_content,
-       get_message, imap_get_message, imap_update_summary): Redone a
-       bunch to use parse_fetch_data, CamelImapMessageCache, etc.
-
-       * providers/imap/camel-imap-store.c (get_folder): Pass directory
-       name to camel_imap_folder_new, not summary filename. Use
-       e_path_to_physical to generate a path with /subfolders/ inserted
-       between directory components.
-
-       * providers/imap/camel-imap-wrapper.c (camel_imap_wrapper_new):
-       Call camel_imap_folder_fetch_data (with cache_only TRUE) and if
-       the data is cached, return an online datawrapper rather than an
-       offline one.
-       (write_to_stream): Use camel_imap_folder_fetch_data (with
-       cache_only FALSE) here too
-
-       * providers/imap/camel-imap-utils.c (imap_skip_list): Renamed from
-       skip_list and made non-static.
-
-2001-03-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.h: Uninclude prnetdb.h since it's not
-       needed here.
-
-       * providers/smtp/camel-smtp-transport.c: #include prnetdb.h here
-       instead of making camel-tcp-stream-ssl.h include it. Prevents some
-       header bloat.
-
-       * providers/smtp/Makefile.am: Include the NSPR_CFLAGS and
-       NSS_CFLAGS.
-
-2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): Update for
-       using CamelTcpStreams and also for using SSL.
-
-       * providers/smtp/libcamelsmtp.urls: defined "ssmtp"
-
-       * providers/smtp/camel-smtp-provider.c: Defined the Secure SMTP
-       provider.
-       (camel_provider_module_init): Register the Secure SMTP provider.
-
-2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_connect): Check for
-       "simap" instead of "imaps".
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): Change the
-       port to be 995 for spop.
-
-       * providers/pop3/libcamelpop3.urls: Change to "spop".
-
-       * providers/imap/libcamelimap.urls: Change "imaps" to "simap" to
-       correspond to /etc/services.
-
-2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): Check to see
-       if we are using "pops" and then set the appropriate SSL settings.
-
-       * providers/pop3/libcamelpop3.urls: Add "pops"
-
-       * providers/pop3/camel-pop3-provider.c: Defined the pops provider.
-       (camel_provider_module_init): Register the pops provider.
-
-2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_new): Ya know what?
-       Lets not ref the service because otherwise we'll start having the
-       same problems we had back with vtrash. Besides, since the store
-       owns the stream, it's not like the store is going anywhere without
-       the stream anyway.
-       (camel_tcp_stream_ssl_finalize): No need to unref the service.
-
-2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-remote-store.c (remote_connect): Pass the service into the
-       SSL stream, not the session.
-
-       * camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_init): Set the
-       service to NULL.
-       (camel_tcp_stream_ssl_finalize): Unref the service.
-       (camel_tcp_stream_ssl_new): Takes a CamelService arg now rather
-       than a CamelSession arg.
-
-2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel.c (camel_init): So it turns out that NSS_Init *isn't*
-       idempotent, so we have to protect against initializing it more
-       than once(contrary to what their design specs suggest).
-
-       * camel-session.c (camel_session_get_service): Use
-       camel_exception_is_set() - Makes no difference but it's more
-       consistant with how we normally do it.
-
-       * camel-provider.h (CAMEL_URL_ALLOW_SSL): We don't need this.
-
-       * providers/imap/camel-imap-provider.c: Define the imaps provider.
-       (camel_provider_module_init): Register the imaps provider.
-
-       * camel-provider.c (camel_provider_init): Only add the protocol to
-       the hash table if it's non empty. Also, g_strdup() the filename
-       into the hash table.
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_init): Eek!
-       So the service's URL isn't set until after this is
-       initialized. This means we can't check for SSL here.
-       (imap_connect): Set the SSL options here instead.
-
-2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c: Numerous fixes to get it to build
-       correctly with NSS enabled.
-
-       * camel-remote-store.c (remote_connect): Pass in the session and
-       expected host args, oops.
-
-       * camel-provider.h (CAMEL_URL_ALLOW_SSL): Defined.
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_init): Check
-       to see if we are supposed to use SSL and set the options
-       accordingly.
-       (imap_connect): Return FALSE here instead of NULL.
-
-       * providers/imap/camel-imap-provider.c: Add CAMEL_URL_ALLOW_SSL.
-
-       * providers/imap/libcamelimap.urls: Add "imaps" which is the
-       protocol for Secure IMAP.
-
-2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-openssl.[c,h]: Added
-
-       * Makefile.am: Added camel-tcp-stream-openssl.[c,h] to the build.
-
-       * camel-types.h: Added CamelTcpStreamSSL and CamelTcpStreamOpenSSL
-
-2001-03-14  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-filter-charset.c (filter, complete): re-constify
-       inbuf, to remove a warning.
-
-       * camel-mime-parser.c (folder_scan_step): When we're out of data,
-       run the filter_complete.  For some reason the logic that was there
-       was never being run, always try it now, i think it was to work
-       around a buggy filter, rather than fix it the right way.
-
-       * camel-folder-summary.c (summary_build_content_info): If indexing
-       html parts, use the html filter to convert it to some indexable
-       format.
-       (summary_build_content_info): Reset the filters before adding them
-       back to the stream, if they get re-used in a given instance
-       (likely).
-
-       * Makefile.am (libcamelinclude_HEADERS): Added
-       camel-mime-filter-html.[ch].
-       (INCLUDES): Added xml clags
-
-2001-03-05  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-search.c (camel_folder_search_class_init): Setup a
-       new function, "uid" which matches uids.
-       (search_uid): Implement the "match uid" command.
-
-2001-03-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c: Check for a new type of mailing list header.
-
-2001-03-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-raw.c (stream_read): Made cancellable.
-       (stream_write): Same.
-       (stream_connect): Removed checks for DIVINE_INTERVENTION as the
-       code worked fine.
-
-       * camel-tcp-stream-ssl.c (stream_write): get rid of 'w' as it
-       wasn't really needed.
-       (set_errno): New function to set errno based on the NSPR error
-       code.
-       (stream_read): If an error occured, call set_errno().
-       (stream_write): Same.
-
-2001-03-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * Makefile.am: Added camel-tcp-stream-ssl to the build.
-
-       * camel-remote-store.h: Add a use_ssl member to the
-       CamelRemoteStore object.
-
-2001-03-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_get_type):
-       Oops. Make this a subclass of CamelTcpStream, not CamelStream.
-
-       * camel-types.h: Add the defs for CamelTcpStream and
-       CamelTcpStreamRaw
-
-       * Makefile.am: Add camel-tcp-stream and camel-tcp-stream-raw to
-       the build.
-
-       * camel-remote-store.c (remote_connect): Update to use
-       CamelTcpStreams.
-
-       * camel-tcp-stream-raw.c (stream_connect): Made cancellable by
-       copying the currently used code in camel-remote-store.c.
-       (stream_setsockopt): Oops, flags = fcntl (..., GET_FL);
-       (camel_tcp_stream_raw_get_type): Oops. Make this a subclass of
-       CamelTcpStream, not CamelStream.
-
-2001-03-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel.c (camel_init): Since all of the Mozilla libs (including
-       NSPR and NSS) correctly handle reinitializations, we might as well
-       init both NSPR and NSS in camel_init so we can be sure of that
-       these libs have been initialized.
-       (camel_shutdown): New function to call the NSS cleanup stuff.
-
-2001-03-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder.c (camel_folder_copy_message_to): Don't allow the
-       user to copy a message to or from the vtrash folder. Set an
-       exception if they try.
-       (camel_folder_move_message_to): This one is a bit more
-       complicated: 1) If the user tried to move a message from the
-       vtrash into the original folder, just undelete the message. 2) If
-       the user tries to move the message to the vtrash folder, then just
-       mark the message as deleted. 3) If the user tries to move the
-       message from the vTrash to a folder other than the original, use
-       the original folder as the source. As another optimization, I've
-       made it so that if the user tries to move a message to the same
-       folder, just no-op.
-       (move_message_to): Unset the deleted flag before moving (assuming
-       it's there).
-       (copy_message_to): Same.
-
-       * camel-vee-folder.c (camel_vee_folder_get_message_folder): New
-       convenience function to get the folder from which the message uid
-       is derived from.
-
-2001-03-13  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_connect): When trying
-       again after a failed password attempt, check if the connection got
-       dropped (which Courier will do) and deal accordingly.
-
-       * providers/sendmail/camel-sendmail-transport.c (sendmail_send_to,
-       sendmail_send): More fixing for exim: It can't deal with "-tif",
-       you need to say "-t -i -f".
-
-2001-03-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (init_trash): Rename the folder to "Trash" and
-       i18nify it.
-
-2001-03-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.h: Comment out everything unless HAVE_NSS
-       is defined.
-
-       * camel-tcp-stream-ssl.c (stream_read): Don't use errno, use
-       nspr's error code stuff.
-       (stream_write): Same.
-
-2001-03-09  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-session.c (camel_session_query_authenticator): Created a
-       new mode (CAMEL_AUTHENTICATOR_ACCEPT) which is a Yes/No prompt to
-       the user. This will be needed by the SSL/TLS code to come. Also
-       changed the return value to a gpointer rather than a char* to
-       allow the returning of TRUE/FALSE values.
-
-       * camel.c: Wrap stuff with HAVE_NSS
-
-2001-03-09  Dan Winship  <danw@ximian.com>
-
-       * providers/sendmail/camel-sendmail-transport.c (sendmail_send,
-       sendmail_send_to): Remove the "-U" for now, because it breaks
-       exim's "sendmail" wrapper. (And it doesn't actually do all that
-       much to sendmail's behavior, and it was working fine before
-       anyway.)
-
-       * camel-mime-utils.c (header_fold): Fix a bug that could make this
-       walk off the end of a string. (The bug has been there since
-       December... maybe this will fix some unreproduceable crashes?)
-
-2001-03-08  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (camel_store_get_folder): Changes so that the
-       folder gets added to the vtrash reguardless of whether or not the
-       store is holding it's own folder lookup hash.
-       (init_trash): Oops, lets try locking the cache before we go and
-       add all the cached folders to the vtrash.
-
-2001-03-08  Jeffrey Stedfast  <fejj@ximian.com>
-       These fixes make it so that the CamelStore does not actually hold
-       a ref on it's vTrash folder. The vTrash folder is now created ONLY
-       when it is requested. This solves the problem of not being able to
-       unref a Store and have it disconnect/finalize like we expect it to.
-
-       * camel-store.c (init_trash): When we create the vtrash, add all
-       previously opened folders to it and hook on to the finalize event
-       so that we can then set the store->vtrash to NULL.
-       (get_trash): If a vtrash folder for the store doesn't exist,
-       init_trash() and then try.
-       (construct): No longer need this.
-       (camel_store_class_init): Don't override the construct method.
-       (camel_store_finalize): We no longer hold a ref on the vtrash so
-       don't unref it.
-
-2001-03-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/pop3/camel-pop3-store.c (init_trash): Implement.
-       (get_trash): Implement.
-       (camel_pop3_store_class_init): Override the default init_trash and
-       get_trash virtual functions. Hopefully this should fix the problem
-       of pop3 sotre's not disconnecting after the send&recv code
-       finishes downloading mail.
-
-       Wonder if I should override the default implementation for the
-       mbox, mh, and maildir too?
-
-2001-03-07  Dan Winship  <danw@ximian.com>
-
-       * camel-remote-store.c (camel_remote_store_connected): Return the
-       return value of camel_service_connect rather than returning
-       !camel_exception_is_set(), since that will be wrong if ex==NULL...
-       Fixes a crash in the IMAP keepalive code, but this same problem
-       probably exists in other places too...
-       (remote_recv_line): Fix another problem...
-
-       * providers/local/camel-mbox-provider.c:
-       * providers/vee/.cvsignore:
-       * providers/vee/libcamelvee.urls: Remove some unused stuff
-       
-2001-03-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-digest-md5.c (compute_response): Redone so as to save
-       on memory allocations and speed.
-
-2001-03-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-plain.c (plain_challenge): Don't return NULL if the
-       token is non-NULL. This is why:
-
-       sending : AUTH PLAIN
-       received: 334 ok. go on.                 <-- this is why
-       sending : ZGZPaQpAZ214Lm5ldBBnb29jYXI=
-       received: 235 {mp005-rz3} go ahead
-
-       * camel-sasl.c (camel_sasl_authtype): Add the PLAIN type here.
-       (camel_sasl_authtype_list): And here too.
-
-       * camel-sasl-plain.c: Initialize the camel_sasl_plain_authtype.
-
-       * camel-sasl-plain.h: extern the camel_sasl_plain_authtype.
-
-2001-03-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-store.c (imap_connect): i18n'd some
-       strings in here.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): Keep
-       trying to authenticate until either we succeed or until the user
-       cancels.
-
-2001-03-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c: Wrote a new version of header_fold() that
-       takes a 'force' option and uses another new function called
-       header_fold_next_space() in place of strchr(inptr, ' ') to get the
-       next whitespace char. The idea of header_fold_next_space() is to
-       not treat spaces between a set of quotes as a space - this way it
-       will be possible to fold (for example) the Content-Type MIME
-       header without worrying about breaking up a boundary string.
-       Note: This code is #if 0'd out until Zucchi approves of the patch.
-       Another Note: We will probably still want to use the "don't fold
-       this header" hash lookup for headers like the Message-Id and
-       possibly a few others.
-
-2001-03-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-internet-address.c
-       (camel_internet_address_encode_address): Make sure there is a
-       space between the name and the address tokens.
-
-       * camel-mime-utils.c (rfc2047_decode_word): encoded string
-       segments need to be at least 8 chars (7 doesn't leave room for an
-       ecoding value. To be more realistic, even 8 chars isn't enough as
-       this assumes there is no charset nor any encoded text. If the
-       encoding value is not 'Q' or 'B', then return NULL. This fixes bug
-       #1689.
-
-2001-03-03  Not Zed  <NotZed@Ximian.com>
-
-       * camel-vee-folder.c (vee_folder_remove_folder): New function to
-       remove a folder from a vfolder.
-       (camel_vee_folder_remove_folder): New public function to remove a
-       folder from a vfolder.
-
-2001-03-02  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-provider.c: Doh! Set the
-       CAMEL_URL_ALLOW_AUTH flag.
-
-       * providers/smtp/camel-smtp-transport.c (get_smtp_error_string):
-       Updated with the extended AUTH return codes.
-
-2001-03-02  Jeffrey Stedfast  <fejj@ximian.com>
-       
-       * providers/imap/camel-imap-store.c (try_auth): Don't forget to
-       unref the SASL object.
-
-       * providers/smtp/camel-smtp-transport.c (query_auth_types):
-       Implemented.
-       (smtp_auth): Implemented.
-       (smtp_helo): Don't bother parsing the authtypes if we already have
-       them.
-       (smtp_connect): call smtp_auth() here if we found any authtypes.
-       (smtp_disconnect): Updated as I now use a hash table for the
-       supported authtypes rather than a linked list.
-       (esmtp_get_authtypes): modify to use a hash table instead of a
-       linked list and also use isspace() rather than == ' '.
-
-2001-03-02  Dan Winship  <danw@ximian.com>
-
-       * providers/sendmail/camel-sendmail-transport.c (sendmail_send_to,
-       sendmail_send): Use "-f" to set the envelope from address so
-       bounces go to the right place. Also, pass "-U" since the man page
-       says we're supposed to...
-
-2001-03-01  Jeffrey Stedfast  <fejj@ximian.com>
-       
-       * camel-sasl.c: #include "camel-sasl-digest-md5.h"
-       (camel_sasl_authtype_list): add DIGEST-MD5 stuff here.
-       (camel_sasl_authtype): And here too.
-       (camel_sasl_new): And here...
-
-       * camel-sasl-digest-md5.[c,h]: new SASL class for DIGEST-MD5 (has
-       been tested and proven to work).
-
-2001-03-01  Dan Winship  <danw@ximian.com>
-
-       * camel-sasl.c (camel_sasl_challenge): Take a GByteArray as input
-       as well. Comment that you can pass %NULL for @token to get the
-       initial auth data for mechanisms that are client-initiated.
-       (camel_sasl_challenge_base64): Convenience function for protocols
-       that use base64-encoded SASL.
-       (camel_sasl_authenticated): Implement this... (it was prototyped
-       already)
-       (camel_sasl_new): Function to take a service name, a mechanism
-       name, and a CamelService, and return a CamelSasl for it.
-       (camel_sasl_authtype, camel_sasl_authtype_list): Functions to
-       return CamelServiceAuthType information about SASL mechanisms, to
-       allow providers to deal with them generically.
-
-       * camel-sasl-anonymous.c, camel-sasl-plain.c: Update/simplify for
-       CamelSasl changes. Both of these are single-round
-       (client-initiated) mechanisms, so they don't need to keep state.
-       (camel_sasl_plain_new): Removed; use camel_sasl_new instead.
-       (Can't get rid of camel_sasl_anonymous_new though...)
-
-       * camel-sasl-cram-md5.c: Update/simplify for CamelSasl changes.
-       (camel_sasl_cram_md5_new): Removed; use camel_sasl_new instead.
-       (cram_md5_challenge): Use md5_get_digest where possible, and
-       various other minor simplifications. CRAM-MD5 only has a single
-       round, so there's no need to keep track of state. This code is now
-       tested (against Cyrus IMAPd) and known to work.
-
-       * camel-sasl-kerberos4.h: Update/simplify for CamelSasl changes.
-       Make only a single #ifdef HAVE_KRB4. Remove stuff from priv that
-       isn't needed between rounds.
-       (camel_sasl_kerberos4_new): Removed; use camel_sasl_new instead
-       (krb4_challenge): Fix up the logic I broke in my previous "at
-       least make it compile" fixes, update to match other changes, and
-       remove IMAP-isms that shouldn't be in the generic code. This still
-       isn't tested, because we're stuck behind a NAT right now...
-
-       * providers/imap/camel-imap-store.c: Add an "authtypes" hash table
-       to CamelImapStore recording the supported authtypes.
-       (connect_to_server): Record supported authtypes in the authtypes
-       hash rather than the capabilities bitmask, since now the IMAP code
-       is no longer responsible for keeping track of which authtypes we
-       support.
-       (query_auth_types): Use camel_sasl_authtype_list to get the
-       SASL-supported authtypes.
-       (try_auth): New function to try a SASL auth mechanism. Sort of
-       formerly imap_try_kerberos_v4_auth.
-       (imap_connect): Get rid of the krb4-specific bits and genericize
-       them for any SASL authtype.
-
-       * providers/imap/Makefile.am: Remove camel-imap-auth.[ch] (moved
-       into camel-imap-store.c since it's now constant size) and the
-       KRB4_CFLAGS and KRB4_LDFLAGS references.
-
-2001-03-01  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-sasl-anonymous.c (anon_challenge): Don't base64 encode the
-       data, leave that up to the provider to do if it needs to. Also
-       save on some memory allocations and stuff.
-
-       * camel-sasl-cram-md5.c (cram_md5_challenge): Same here. Also get
-       rid of the need for the temp buf as we can just write it to the
-       GByteArray.
-
-2001-03-02  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (rfc2047_encode_word, rfc2047_decode_word):
-       Reconstify variables to match iconv.
-
-       * camel-search-private.c (camel_ustrstrcase): Change some
-       assertions back into valid returns.
-
-2001-03-01  Dan Winship  <danw@ximian.com>
-
-       * Makefile.am (libcamel_la_LIBADD, INCLUDES): camel depends on
-       krb4 now (where available), for camel-sasl-kerberos4.c
-
-       * camel-sasl-kerberos4.[ch]: Make this at least compile. Dunno if
-       it works yet.
-
-2001-03-01  Peter Williams  <peterw@ximian.com>
-
-       * camel-url.c (camel_url_new): Assert url_string != NULL.
-
-2001-02-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * Makefile.am: Added camel-sasl-anonymous.[c,h] to the build.
-
-       * camel-sasl-anonymous.[c,h]: new SASL class for ANONYMOUS
-
-       * camel-sasl-plain.c (plain_challenge): Oops, have a state for
-       setting sasl->authenticated = TRUE;
-
-       * camel-sasl-cram-md5.c (cram_md5_challenge): Same here.
-
-2001-02-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_decode_date): A fix for broken
-       mailers that send 2-digit years (ie "Wed, 28 Feb 01
-       04:59:41"). Fixes bug #1633.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_folder): Check
-       to make sure message isn't NULL.
-
-2001-02-28  Dan Winship  <danw@ximian.com>
-
-       * camel-remote-store.c (remote_recv_line): If we get back 0 bytes
-       from camel_stream_buffer_gets, that means the socket got
-       disconnected, so set an exception. (Noticed because of a message
-       that crashes our IMAP server when you try to look at it. :)
-
-2001-02-28  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * Makefile.am: Added camel-sasl*.[c,h] to the build.
-
-       * camel-sasl.[c,h]: new "abstract" SASL class
-
-       * camel-sasl-kerberos4.[c,h]: new SASL class for KERBEROS_V4
-
-       * camel-sasl-cram-md5.[c,h]: new SASL class for CRAM-MD5
-
-       * camel-sasl-plain.[c,h]: new SASL class for PLAIN
-
-       * providers/imap/camel-imap-auth.c: Removed the base64 functions.
-
-       * camel-mime-utils.c (base64_encode_simple): Moved here from
-       camel-imap-auth.c
-       (base64_decode_simple): Same.
-
-2001-02-26  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (imap_sync): Group messages
-       into sets with the same flags and use the IMAP message set
-       notation rather than doing a separate STORE FLAGS for each one.
-       This cuts the network traffic down to just a handful of commands
-       per sync rather than one per changed message. Removed the progress
-       notification stuff since it's no longer meaningful and should
-       hopefully be unnecessary.
-       (imap_copy_message_to): move the former sync_message function
-       into here, since it's no longer shared with imap_sync.
-
-2001-02-26  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c: Made thread-safe and moved to above the test
-       code.
-
-       * camel-mime-message.c (camel_mime_message_init): Set the
-       message_id to NULL.
-       (camel_mime_message_finalize): Free the message_id.
-       (camel_mime_message_set_message_id): New function to set the
-       Message-Id.
-       (camel_mime_message_get_message_id): New function to get the
-       Message-Id.
-       (process_header): Decode the message-id.
-
-2001-02-24  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (construct): init the vTrash folder here instead
-       of in store_init.
-       (camel_store_class_init): init service_class->construct.
-       (camel_store_finalize): We only need to unref the vtrash folder.
-       (init_trash): don't create a vstore since we don't need it.
-
-2001-02-23  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-store.c (camel_store_class_init): init get_trash and
-       init_trash.
-       (camel_store_init): call the virtual init_trash function.
-       (camel_store_finalize): unref the vtrash folder/store if present.
-       (camel_store_get_folder): Add the new folder to the vtrash
-       vfolder.
-       (init_trash): default implementation of init_trash.
-       (get_trash): default implementation of get_trash.
-
-       * camel-vee-store.c (vee_init_trash): No-op.
-       (vee_get_trash): return NULL
-
-2001-02-23  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-summary.c (camel_message_info_new_from_header):
-       Doh, cut and paste problem, use mlist not cc.
-
-       * camel-folder.c (move_message_to): 
-       (copy_message_to): If the source folder doesn't support a
-       summary, dont try and get the message info from it.
-
-       * camel-filter-search.c (check_header): Implement a pseudo-header
-       "x-camel-mlist" which just looks up in the message info for a
-       match.
-
-       * camel-folder-search.c (check_header): Add pseudo-header
-       "x-camel-mlist" which can be used to match on mailing list.
-
-       * providers/imap/camel-imap-folder.c (imap_sync): Add some
-       internal progress reporting.
-       (imap_rescan): Do some progress reporting.
-
-       * camel-mime-part.c (init_header_name_table): Add the message-id
-       to the formatted table, so we dont try and wrap it, and break it.
-
-2001-02-22  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder.h: Remove the 'FIXME: remove because this isn't
-       required...' comment for copy_message_to since we now need and
-       cherish its existance in the filter-driver code ;-)
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message): Now
-       takes a UID and CamelFolder arguments (which can be NULL) to allow
-       for possible optimizations when copying messages between folders
-       on the same store.
-       (camel_filter_driver_filter_mbox): Updated (passes NULL for both
-       since this case can't be optimized anyway).
-       (camel_filter_driver_filter_folder): Updated to pass in the uid
-       and folder of the message.
-
-2001-02-22  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-summary.h (CAMEL_IMAP_SERVER_FLAGS):
-       #define this as the set of all IMAP system flags
-
-       * providers/imap/camel-imap-folder.c (sync_message): after syncing
-       flags, set server_flags to (flags & CAMEL_IMAP_SERVER_FLAGS)
-       rather than just "flags", since any other flags won't have been
-       synced. Prevents the CAMEL_MESSAGE_ATTACHMENTS flag from getting
-       lost.
-
-2001-02-22  Not Zed  <NotZed@Ximian.com>
-
-       * providers/vee/*: Removed all files.
-       
-       * camel-private.h: Move camel-vee-private.h stuff into here.
-
-       * camel-session.c: Move the vee_provider here, and initialise it
-       always as part of a session.  The vfolder provider is always
-       available.
-
-       * providers/Makefile.am: Remove "vee" from the build list, now
-       built as part of the main library.
-
-       * Makefile.am (libcamelinclude_HEADERS): 
-       (libcamel_la_SOURCES): Added camel-vee-store.[ch],
-       camel-vee-folder.[ch].
-
-       * providers/vee/camel-vee-folder.c (vee_folder_build): Removed,
-       not used.
-       (camel_vee_folder_new): Removed call to build_folder.
-       (vee_get_message): Dont try and free the mi if we didn't get it.
-
-       * camel-folder.c (camel_folder_change_info_new): Added a hash
-       table of what we have in the lists, plus moved private things into
-       private pointer.
-       (camel_folder_change_info_add_source): Fixed up private accesses.
-       (camel_folder_change_info_add_uid): Changed to use a hashtable to
-       see if we already have the uid, etc.
-       (camel_folder_change_info_remove_uid): Similar.
-       (change_info_remove): Likewise.
-       (camel_folder_change_info_clear): Fixes for privatisations.
-       (camel_folder_change_info_free): "
-
-2001-02-21  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (fetch_medium): Fixes for
-       IMAP4-pre-rev1 from Torsten Schulz.
-
-2001-02-20  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (mail_list_magic): Take the ^Header: part out
-       of the expression, since we look that up ourselves.
-       (header_raw_check_mailing_list): When getting the match, get match
-       1, not match 0, we dont want the full string match.
-
-       * camel-folder-summary.c (CAMEL_FOLDER_SUMMARY_VERSION): Bumped
-       for summary change.
-       (message_info_new): Extract the mlist info from the headers.
-       (message_info_load): Load mlist from summary.
-       (message_info_save): Save mlist to summary.
-       (message_info_free): Save the mlist entry.
-       (camel_message_info_new_from_header): Extract mailing list header.
-       (camel_message_info_dup_to): Copy the mlist entry.
-       (camel_message_info_free): Free mlist.
-       (message_info_dump): Dump the mlist.
-
-       * camel-folder-summary.h: Add an mlist (mailing list) string to
-       the summary.
-
-2001-02-19  Not Zed  <NotZed@Ximian.com>
-
-       * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Added
-       flags argument.
-       (message_changed): Add support for the auto-update flag, in which
-       case we auto-match the content as it changes.
-       (camel_vee_folder_init): Remoive "DYNAMIC" optionality
-       (camel_vee_folder_finalise): "
-       (vee_expunge): As we expunge folders, re-sync their content by
-       rerunning the query.
-
-       * providers/vee/camel-vee-store.c (vee_get_folder): Pass flags to
-       folder new.
-
-2001-02-18  Not Zed  <NotZed@Ximian.com>
-
-       * providers/vee/Makefile.am (noinst_HEADERS): Added
-       camel-vee-private.h.
-
-       * providers/vee/camel-vee-private.h: New file to add locking stuff
-       for vee folders.
-
-       * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Add
-       locking around unmatched setup.
-       (camel_vee_folder_init): Setup lock.
-       (camel_vee_folder_finalise): Free locks.
-       (folder_changed): Add locking.
-       (unmatched_finalise): "
-       (message_changed): "
-       (vee_folder_build): "
-
-2001-02-17  Not Zed  <NotZed@Ximian.com>
-
-       * providers/vee/camel-vee-folder.c (vee_folder_add): Check uid
-       doesn't exist before adding it.
-
-2001-02-16  Not Zed  <NotZed@Ximian.com>
-
-       * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Create
-       a new virtual virtual folder UNMATCHED, to store all messages that
-       dont match other vfolders.
-       (unmatched_folder_changed): When a vfolder issues a changed event,
-       use its info to update the unmatched folder info.
-       (unmatched_finalise): When a vfolder is finalised, remove any uids
-       it has as if we had a removed event for it.
-
-2001-02-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_finalise): Thaw the
-       defaultfolder.
-       (camel_filter_driver_set_default_folder): Thaw the defaultfolder
-       we're about to replace, and freeze the new defaultfolder.
-
-2001-02-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Emit
-       the folder_created signal here.
-
-       * providers/local/camel-local-folder.c
-       (camel_local_folder_construct): Emit the folder_created signal.
-
-       * providers/local/camel-local-store.c (delete_folder): On error,
-       free the 'name' string so we don't leak. Also emit the
-       folder_deleted signal.
-
-       * providers/imap/camel-imap-store.c (subscribe_folder): Emit the
-       folder_created signal.
-       (unsubscribe_folder): Emit the folder_deleted signal.
-
-       * camel-store.c (camel_store_class_init): Added folder_created and
-       folder_deleted signal defs.
-
-2001-02-15  Dan Winship  <danw@ximian.com>
-
-       * camel-folder-thread.c (container_parent_child): Deal with
-       out-of-order References headers so they don't cause messages to
-       disappear in threaded view.
-
-       * providers/imap/camel-imap-folder.c (fetch_medium): IMAP4
-       (pre-rev1) doesn't allow BODY.PEEK[], so use RFC822.PEEK instead
-       in that case.
-
-2001-02-14  Christopher James Lahey  <clahey@ximian.com>
-
-       * camel-mime-filter-charset.c (complete, filter),
-       camel-mime-utils.c (rfc2047_decode_word, rfc2047_encode_word):
-       Changed this code to match the glibc iconv signature.
-
-2001-02-14  Dan Winship  <danw@ximian.com>
-
-       * camel-store.c (camel_store_create_folder): New method to create
-       a folder when you don't know its full name.
-
-       * providers/imap/camel-imap-store.c (create_folder): Implement.
-       (create_folder): Oops, and fix bug involving namespaces
-       
-2001-02-12  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-part.c (init_header_name_table): Add address headers
-       to list that we dont fold when writing.  The are properly
-       formatted as we build them.
-       (write_to_stream): DOH, lookup the header name in the formatted
-       hash table, not the value, that would never have worked.
-
-       * camel-internet-address.c
-       (camel_internet_address_encode_address): Changed to take a
-       parameter saying how much we've printed so far.  We now fold the
-       header as we format it.  We dont fold addresses, even if they are
-       too long, we simply put them on another line by themselves: this
-       should make the result more parsable by mailers that can't handle
-       split up addresses (which are legal).
-       (internet_encode): Fix for changes to above.
-
-2001-02-12  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/local/camel-local-provider.c: mbox, mh, and maildir
-       camel-url's need absolute paths.
-
-       * camel-provider.h (CAMEL_URL_PATH_IS_ABSOLUTE): New flaggy flag.
-
-2001-02-08  Dan Winship  <danw@ximian.com>
-
-       * camel-store.c: Rewrite a bunch. Replace the existing folder
-       cache stuff with much simpler code that still handles all the
-       existing cases. Now the folder hash table is always created by the
-       base class, using hash and compare functions provided by the class
-       implementation. (If they are set to NULL, CamelStore won't cache
-       folders.) lookup_folder, cache_folder, and uncache_folder are no
-       longer class methods, and get_name is gone completely.
-
-       (camel_store_get_inbox): Renamed from
-       camel_store_get_default_folder, since that wasn't being used, and
-       this is what we actually need.
-       (camel_store_get_root_folder): Removed, since it's not needed for
-       anything given get_folder_info.
-
-       * camel-remote-store.c:
-       * providers/local/camel-local-store.c:
-       * providers/local/camel-mbox-store.c:
-       * providers/local/camel-mh-store.c:
-       * providers/local/camel-maildir-store.c:
-       * providers/nntp/camel-nntp-store.c:
-       * providers/pop3/camel-pop3-store.c:
-       * providers/vee/camel-vee-store.c: Minor updates for CamelStore
-       changes
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_class_init):
-       Update for CamelStore changes.
-       (hash_folder_name, compare_folder_name): treat INBOX
-       case-insensitively, otherwise use g_str_hash and g_str_equal.
-
-       * camel-service.c (camel_service_construct): Remove
-       camel_service_new and create camel_service_construct (as a class
-       method) in its place.
-
-       * camel-session.c (camel_session_get_service): Use
-       camel_object_new and camel_service_construct to replace
-       camel_service_new.
-
-       * providers/local/camel-local-store.c (construct): Append a '/' to
-       the URL path if it doesn't end with one
-
-2001-01-31  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-tcp-stream-ssl.c: Oops, include the camel-tcp-stream-ssl
-       header instead of the raw one.
-
-2001-02-07  Not Zed  <NotZed@Ximian.com>
-
-       * camel-operation.c (camel_operation_start): Changed to push the
-       operation into a status stack.
-       (camel_operation_progress): Changed to only accept % complete.
-       (camel_operation_reset): Free status stack as well.
-
-       * providers/pop3/camel-pop3-folder.c (pop3_get_message): Get the
-       octect count from the return line, and pass it to
-       get_additional_data().
-       (pop3_refresh_info): Added status stuff.
-
-       * providers/pop3/camel-pop3-store.c
-       (camel_pop3_command_get_additional_data): Added a total bytes
-       expected argument for progress reporting & fixed callers.
-       (camel_pop3_command_get_additional_data): Added progress
-       reporting.
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
-       (mbox_summary_sync_quick):
-       (summary_rebuild): Added progress reporting stuff.
-
-2001-02-07  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-search-private.c (CAMEL_SEARCH_COMPARE): Macro for making
-       comparisons easy.
-       (camel_ustrcasecmp): Use CAMEL_SEARCH_COMPARE and check for
-       end-of-string before the utf-8 error check.
-       (camel_ustrncasecmp): Same.
-       (camel_search_header_match): Strip leading spaces before doing
-       anything else. Also use vlen and mlen so as to not need to do 500
-       strlen()'s.
-       (camel_ustrcasecmp): Don't get_utf8() for the 2 strings in the
-       comparison part of the loop because of short-circuit expression
-       evaluation. (blame JPR if this is the wrong term!)
-       (camel_ustrncasecmp): Same.
-
-2001-02-06  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-search-private.c (utf8_get): Rewrote using unicode_get_utf8().
-       (camel_ustrcasecmp): Use unicode_char_t
-       (camel_ustrncasecmp): Same.
-
-2001-02-06  Christopher James Lahey  <clahey@ximian.com>
-
-       * camel-mime-filter-charset.c (complete, filter),
-       camel-mime-utils.c (rfc2047_decode_word, rfc2047_encode_word):
-       Made these pass char ** as the second parameter to iconv.
-
-2001-02-06  Not Zed  <NotZed@Ximian.com>
-
-       * camel-session.c: Removed all the camel_cancel stuff.
-
-       * camel-stream-fs.c (stream_read): Change to use camel_operation.       
-       (stream_write): "
-
-       * camel-remote-store.c (socket_connect): Change to use
-       camel_operation rather than camel_cancel stuff.
-       Removed gal include, WTF is that doing there anyway?
-
-       * Makefile.am (libcamel_la_SOURCES): 
-       (libcamelinclude_HEADERS): Added camel-operation.[ch], stuff to
-       handle notification and cancellation.
-
-       * camel-search-private.c: Removed unwanted header.  It was never
-       put in for a reason.  Stop fixing irrelevant warnings.
-       
-       (camel_ustrstrcase): Our own strstrcase impl for utf8 strings.
-       (camel_ustrcasecmp): Ditto for strcasecmp.
-       (camel_ustrncasecmp): And strncasecmp.
-       (utf8_get): Simpler interface to utf8 string processing.
-       (camel_search_header_match): Use the new things.
-
-2001-02-05  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (get_summary): Removed some old variables/a small
-       memleak.
-       (free_summary): Removed old variables.
-
-       * camel-mime-utils.c (header_raw_check_mailing_list): New utility
-       function to get the mailing list (if any) that a set of headers
-       came from.
-
-2001-02-05  Christopher James Lahey  <clahey@helixcode.com>
-
-       * camel-stream-fs.c: Added a missing #include.
-
-       * camel-search-private.c: Added a missing #include.
-
-2001-02-05  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-remote-store.c (remote_query_auth_types): Oops. Change
-       this too.
-
-       * providers/smtp/camel-smtp-transport.c (query_auth_types): Updated.
-
-       * providers/nntp/camel-nntp-store.c (nntp_store_query_auth_types):
-       Updated.
-
-       * providers/pop3/camel-pop3-store.c (query_auth_types): Updated.
-
-       * providers/imap/camel-imap-store.c (query_auth_types): Updated.
-
-       * camel-service.c (camel_service_query_auth_types): Now takes a
-       boolean value to specify whether or not to connect when
-       constructing a supported authtype list.
-
-2001-02-05  Not Zed  <NotZed@Ximian.com>
-
-       * camel-stream-filter.c (do_write): Revert jeff's earlier change,
-       the change below is the more-correct fix.  All his was doing was
-       ignoring the return code & looping actually :)
-
-       * camel-stream-fs.c (stream_write): Since we are non-blocking on
-       the outgoing fd, keep looping if writing out large blocks, so we
-       can keep checking for cancel, etc.
-
-2001-02-02  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-thread.c (camel_folder_thread_messages_new): When
-       we drop a fake node, dont skip checking the next in the list.
-       (camel_folder_thread_messages_new): Add an assertion check just to
-       make sure we dont get any pseudo nodes, and spit a warning if we
-       do.
-
-2001-02-04  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-stream-filter.c (do_write): Make do_write loop until the
-       entire buffer is written.
-
-2001-02-02  Not Zed  <NotZed@Ximian.com>
-
-       * camel-stream-fs.c: Add missing header for cancel check stuff.
-
-       * camel-session.c (camel_cancel_cancel): Fix a wrong cast.
-
-       * camel-mime-part.c (init_header_name_table): Setup a new table
-       header_formatted_table, that lists headers that we dont want to
-       fold (they've already been folded).
-       (write_to_stream): Check for already formatted headers, and dont
-       try and fold them.  This is a fix for bug #1097.
-
-2001-02-01  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mime-utils.c (header_fold): If we are folding, drop the
-       space at the end of the line.
-
-2001-01-30  Not Zed  <NotZed@Ximian.com>
-
-       * camel-remote-store.c (timeout_cb): Remvoe the stream locking
-       here.  I think this was leading to a deadlock when a keepalive is
-       being sent, in imap.
-
-2001-01-29  Not Zed  <NotZed@Ximian.com>
-
-       * providers/imap/camel-imap-command.c
-       (imap_command_strdup_vprintf): Include the terminating NUL in the
-       calculated string length.  This hit memcheck.
-
-2001-01-25  Not Zed  <NotZed@Ximian.com>
-
-       * tests/folder/test3.c: Changed the subject search to handle case
-       sensitive when it is mixed case.
-
-       * Makefile.am (libcamel_la_SOURCES): Added camel-ssearch-private.c
-       (noinst_HEADERS): Added camel-search-private.h
-
-       * camel-folder-search.c (check_header): New function to do the
-       work of the various header checks.
-       (search_header_matches): 
-       (search_header_starts_with): 
-       (search_header_ends_with): 
-       (search_header_contains): Use check_header to do the work.
-       (build_match_regex): Removed.
-
-       * camel-search-private.c (header_soundex):  New
-       function to match words to phrases using soundex algorithm.
-
-       * camel-filter-search.c (soundexcmp): Removed.
-       (check_match): Moved to search-private.h
-
-2001-01-24  Not Zed  <NotZed@Ximian.com>
-
-       * camel-search-private.c (camel_search_build_match_regex): Added
-       extra flags, so the same function can be used for
-       start/end/whole/partial matches.
-       (camel_search_header_match): Convenience function to check a
-       single header against all sorts of different matches.
-
-       * providers/imap/camel-imap-search.c (imap_body_contains): Fix for
-       e_sexp api changes.
-
-       * camel-folder-search.c: Fix for e_sexp api changes.
-       (search_header_contains): Free args/quit on unknown header.
-       (search_header_matches): "
-       (search_header_starts_with): "
-       (search_header_ends_with): "
-       (match_message): Add an exception argument.
-       (search_body_contains): Free args/quit on fatal error.
-       (message_body_contains): Removed (moved to
-       camel-search-private.c), fixed callers.
-
-       * camel-filter-search.c: Fix for e_sexp api changes.
-       (build_match_regex, message_body_contains): Moved into
-       camel-filter-private.c  Fixed callers.
-       (check_header): moved guts to camel-search-private, and
-       changed to use regex's for everything.  Just calls that with the
-       right args.
-       (check_header): GEts the header, decodes it, and checks for
-       failure, and whatnot.
-       (check_match): Removed.
-       (header_soundex): Changed significantly.  Now it soundexes each
-       word in the header separately, and compares it to the first
-       argument.
-
-       * tests/folder/test9.c (main): Fix for api changes.
-       (main): Added tests to see that invalid match and action
-       rules are properly detected.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_mbox): Remove
-       the 'finished message' bit.
-       (camel_filter_driver_filter_message): Remove an accidentally
-       checked in debug.
-       (camel_filter_driver_filter_message): Fix for e-sexp api changes.
-
-2001-01-23  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-wrapper.c: Add a lock around the
-       delayed loading, so two threads won't try to do it at the same
-       time.
-
-2001-01-22  Dan Winship  <danw@ximian.com>
-
-       * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Set the
-       CamelFolder::name to just the base part of the vfolder name (the
-       non-query part)
-
-2001-01-23  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-search.c (camel_filter_search_match): Perform error
-       checking on parsing/execution.
-
-       * camel-folder-search.c (camel_folder_search_execute_expression):
-       Perform error handling on search expression.
-       (CamelFolderSearchPrivate): Add a camelexception for error
-       returns.
-       (camel_folder_search_execute_expression): Setup exception pointer.
-       (search_match_all): Quit on error.
-
-       * providers/imap/camel-imap-summary.c (message_info_load): Removed
-       some debug 'warnings', as they should now be displayed at the
-       toplevel loader, and just made the code match similar code
-       elsewhere.
-
-       * providers/local/camel-mbox-summary.c (message_info_load): Error
-       handling.
-       (message_info_save): more error handling.
-
-       * camel-folder-summary.c (message_info_load): Add error handling
-       and sanity checking.
-       (camel_folder_summary_load): Add error checks.
-       (perform_content_info_load): Error + sanity checks.
-       (content_info_load): error + sanity checks.
-
-       * camel-filter-driver.c (close_folder): avoid /0 by updating after
-       we've done the sync.
-       (close_folders): Setup the first progress report to start it off.
-       (camel_filter_driver_filter_message): Fix a fixme, check errors in
-       e_sexp parsing, etc.
-
-2001-01-22  Christopher James Lahey  <clahey@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
-       Initialize the value of the variable exists here.
-
-2001-01-22  Not Zed  <NotZed@Ximian.com>
-
-       * .cvsignore */*/.cvsignore: Added profiling temp
-       files.
-
-       * camel-folder-thread.c (camel_folder_thread_messages_new): When
-       removing phantom nodes, check for the end node too.
-
-       * camel-filter-driver.[ch]: Changed status vars to be
-       CAMEL_FILTER_STATUS_ etc.
-
-2001-01-21  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-mime-utils.c (header_param_list_format_append): Make the
-       output a little prettier. Okay, so I'm anal...
-
-2001-01-21  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-driver.h: Added an exception to
-       CamelFilterGetFolderFunc.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message):
-       Remove source parameter, as it is determined elsewhere now.
-       (camel_filter_driver_filter_folder): Same here.
-       (camel_filter_driver_filter_mbox): And here.
-       (do_move): If we cannot open a folder, quit, rather than ignoring
-       it.
-       (do_copy): Here too.
-       (open_folder): Pass an exception into get_folder callback.
-       (camel_filter_driver_filter_folder): Report that we're syncing,
-       when we are.
-       (camel_filter_driver_filter_mbox): And here too.
-       (close_folder): And here.
-
-2001-01-19  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-filter-driver.c (camel_filter_driver_filter_message): Set
-       the deleted bit *before* copying to the default folder, this way
-       if they are importing mail and have a rule to delete it, it
-       doesn't get copied to the default folder un-deleted.
-
-2001-01-19  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-store.c
-       (get_subscribed_folders_by_hand): If LISTing a subscribed folder
-       doesn't return a LIST response, just ignore that folder. Yay
-       RFC2060.
-       (subscribe_folder): add a missing UNLOCK
-
-2001-01-19  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * providers/smtp/camel-smtp-provider.c: Mark strings for translation.
-
-2001-01-19  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-driver.c (report_status): Add a percentage complete
-       indicator to the status thing.
-       (camel_filter_driver_filter_mbox): Add percentage complete to
-       reporting.      
-       (camel_filter_driver_filter_folder): Same.
-
-2001-01-18  Dan Winship  <danw@ximian.com>
-
-       * camel-store.c (camel_folder_info_build): More tweaking... skip
-       separator characters after the namespace character. (Gets rid of
-       the shell folder registration warning some people have had with
-       IMAP)
-
-       * providers/imap/camel-imap-store.c (imap_connect): I'm sure there
-       was some clever reason I was storing the flags of the folder in
-       the hash table rather than just "1", but I don't remember what it
-       was now. Anyway, since we only ever test NULL/non-NULL, store 1,
-       since flags is sometimes 0.
-
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Oops.
-       Somewhere in one of the reorgs, the code to add new messages to
-       the CamelFolderChangeInfo structure got removed. Fix that.
-
-2001-01-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/imap/camel-imap-summary.c (message_info_load): Add
-       some g_warnings() to help debug later if I ever get the segfaults
-       I was getting earlier. Can't seem to reproduce them after my
-       previous "fix".
-
-       * camel-folder-summary.c (camel_folder_summary_load): Undid my
-       change here, NotZed said it was wrong and that if it gets a NULL
-       mi then it should abort and not continue.
-
-2001-01-17  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-summary.c (camel_folder_summary_load): Make sure
-       that the message-info is non-null before we go accessing inner
-       parts of it and/or adding it to the summary array. I may not have
-       handled the error correctly, but it does seem to work
-       correctly. If NotZed could double-check this it'd be great.
-
-       * providers/smtp/camel-smtp-transport.c (get_smtp_error_string):
-       New smtp error-code to string mapping function.
-       (smtp_connect): Use the new error->string function for reporting
-       useful errors.
-       (smtp_helo): Same. Also use a case-insensitive strstr for 8BITMIME
-       as it seems Exchange sends back lowercase for that one single SMTP
-       extension. Everything else is uppercase. I'm seeing a lack of love
-       for that extension by Microsoft dudes...
-       (smtp_mail): Use get_smtp_error_string.
-       (smtp_rcpt): Same.
-       (smtp_data): Same.
-       (smtp_quit): Same.
-       (smtp_rset): Same.
-
-2001-01-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-folder-summary.c (camel_folder_summary_array): Add an int
-       i so this code will compile. Should I be worried about how well
-       this code will work? ;-)
-
-2001-01-17  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder.c (free_summary): Call
-       camel_folder_summary_array_free() to do the work.
-       (get_summary): Use camel_folder_summary_array() to get the array
-       atomically.  These fixes allow folder/test8 to work again, and fix
-       a sort of race where the summary size can change while we were
-       making a copy of it.
-
-       * camel-folder-summary.c (camel_folder_summary_array): Get the
-       summary array atomically, so it can't contain empty records.
-       (camel_folder_summary_array_free): And free it.
-
-       * tests/lib/camel-test.c (die): If we are verbose & in threads,
-       then goto sleep so we can debug.
-
-       * tests/folder/test8.c (worker): Add a missing pull() for
-       comnparing content.
-
-       * camel-filter-search.c: Fix the symbol table, so match-all is an
-       immediate function, as it should be.
-
-       * tests/folder/test9.c (main): New test, tests some filtering
-       things.
-
-       * tests/message/test3.c (main): Dont use a boundary string with
-       spaces in it.  Folding can corrupt it.  Maybe the folding isn't
-       working entirely right, but anyway.
-
-       * camel-session.c: Debug out the debug.
-
-       * camel-filter-driver.c (camel_filter_driver_filter_folder): Plug
-       a messageinfo leak.
-
-2001-01-16  Dan Winship  <danw@ximian.com>
-
-       Delayed loading of IMAP message parts.
-
-       * camel-types.h: typedef CamelMessageInfo and
-       CamelMessageContentInfo here
-
-       * camel-folder-summary.h: Add a "size" field to
-       CamelMessageContentInfo.
-
-       * camel-folder-summary.c (camel_folder_summary_content_info_new,
-       camel_folder_summary_content_info_free): Renamed and made
-       non-static for providers that construct their own content info.
-       (content_info_load, content_info_save): load/save size
-
-       * camel-data-wrapper.c (camel_data_wrapper_is_offline): New
-       function to return if a data wrapper's contents are "offline". (So
-       that, for example, we don't make thumbnails of images that haven't
-       been loaded off the IMAP server yet.) Defaults to FALSE.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
-       Fix a bug in re-selecting a folder when messages have been
-       expunged from it by another client in the meantime.
-       (imap_get_message): Rewrite. If the message is larger than a
-       certain size, just create a skeleton message containing
-       CamelImapWrappers that will read parts as needed. This way, large
-       attachments only need to be downloaded if the user looks at them,
-       and multipart/alternative alternatives that aren't used will never
-       be downloaded at all.
-       (imap_update_summary): Rewrite this a bunch too to make the
-       parsing more robust.
-
-       * providers/imap/camel-imap-summary.c
-       (CAMEL_IMAP_SUMMARY_VERSION): bump.
-       (camel_imap_summary_new): Set build_content to TRUE.
-       (content_info_load, content_info_save): Only save/load the content
-       for messages that have it. (The content info gets created as a
-       side effect of imap_get_message.)
-
-       * providers/imap/camel-imap-utils.c (imap_parse_body): New routine
-       (and helpers) to parse an IMAP 'body' FETCH response and fill in a
-       CamelMessageContentInfo from it.
-
-       * providers/imap/Makefile.am (libcamelimap_la_SOURCES,
-       libcamelimap_la_HEADERS): add camel-imap-wrapper.
-
-2001-01-16  Dan Winship  <danw@ximian.com>
-
-       * camel-tcp-stream-raw.c (stream_getsockopt, stream_setsockopt):
-       * camel-stream-fs.c (stream_read, stream_write): 
-       * camel-remote-store.c (socket_connect): fcntl(fd, F_GETFL)
-       returns the flags as the return value, not via a passed in
-       pointer. And F_SETFL looks for an int, not a long, and you have to
-       pass it what it's expecting because it's a va_arg parameter. (Yes,
-       the man page lies on Linux. But check the UNIX98 spec or the glibc
-       source.) Also, fix another bug in socket_connect: if we manage to
-       connect right away, unset O_NONBLOCK so it doesn't mess us up
-       later.
-
-       Fixes a bunch of problems with non-blocking I/O being done in the
-       allegedly-blocking case and then returning EWOULDBLOCK.
-
-2001-01-16  Chris Toshok  <toshok@ximian.com>
-
-       * providers/Makefile.am (NNTP_DIR): set to nntp if ENABLE_NNTP
-       (SUBDIRS): use $(NNTP_DIR)
-
-2001-01-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_rcpt): Don't check
-       errno as it's not being set. Fixes bug #1150.
-
-2001-01-16  Jeffrey Stedfast  <fejj@ximian.com>
-
-       Ugh, this design is ugly like my butt.
-
-       * camel-session.c (camel_session_query_cert_authenticator): New
-       function which will be useful when we integrate SSL.
-
-       * camel-tcp-stream-ssl.c (ssl_auth_cert): Callback to authenticate
-       a certificate.
-       (ssl_bad_cert): Callback that gets the reason the certificate is
-       bad and then calls camel's cert-authenticator callback to notify
-       the user and to allow the user to override the check.
-       (stream_connect): Set the URL we expect to connect with and setup
-       the auth_cert and bad_cert callbacks.
-       (camel_tcp_stream_ssl_new): Now takes a CamelSession and a
-       expected_host argument that it will use for certificate
-       authentication.
-       (camel_tcp_stream_ssl_finalize): Unref the session and free the
-       expected_host.
-
-2001-01-16  Not Zed  <NotZed@Ximian.com>
-
-       * camel-filter-search.c (header_exists): Changed to support
-       multiple args (or'd together).
-       (header_contains): Cleaned up to match the search code.  Why did
-       fejj change it? I'll never know.
-       (header_matches): 
-       (header_starts_with): 
-       (header_ends_with): Big cleanup of fejj's "i'm the cut & paste
-       king" code.  Also properly handle or'ing of additional args to
-       match what the folder-search code should do.
-       (check_match): New function which does the annoying matching
-       stuff (for header matches).
-       (check_header): Similarly, handles or'ing of the matches together.
-       (header_contains):
-       (header_matches): 
-       (header_starts_with): 
-       (header_ends_with): Call check_header to do the actual work.
-       (header_soundex): And here too.
-       (match_all): Yeah like match-all isn't passed expression results,
-       its passed expression terms.  Fix this so match-all works like it
-       should, by executing the contained expression.
-       (message_body_contains): Copied directly from
-       camel-folder-search.c, a more robust/faster/simpler body search
-       code.
-       (mime_part_matches): Removed entirely.
-       (handle_multipart): Removed entirely.
-       (build_match_regex): Copied from camel-folder-search.  Builds a
-       set of simple strings into a regex pattern that matches any of
-       them (for faster & simpler matching).  Expanded to accept regex
-       patterns itself, so it can merge them together.
-       (body_contains): Use build match/match message to match using a
-       built regex.
-       (body_regex): Likewise, this time we tell it we're building a
-       regex though.
-       (header_full_regex): Use build_match_regex to take the drudgery
-       out of it, and expand it to handle multiple regex's at once.
-       (get_full_header): slightly cleaner (well i dunno, the sprintf
-       stuff just got to me).
-       (header_regex): Cleaned up to use build_match_Regex too, and to
-       properly check types.
-       (filter_message_search): Just allocate 'fms' on the stack.
-
-       * camel-filter-driver.c (camel_filter_driver_finalise): 
-       (camel_filter_driver_init): 
-       (camel_filter_driver_class_init): 
-       (camel_filter_driver_get_type): Changed from gtk object to camel
-       object.
-       (camel_filter_driver_add_rule): New function to add a rule to be
-       processed in sexp form.
-       (camel_filter_driver_init): Init the rules list.
-       (camel_filter_driver_finalise): Clear the rules/rules list.
-       (camel_filter_driver_filter_message): Scan rules list directly
-       rather than creating on the fly.
-
-       * Makefile.am (libcamelinclude_HEADERS): Added camel-filter-driver.h
-       (libcamel_la_SOURCES): Added camel-filter-driver.c, code taken
-       from filter-driver, which can drive, uh, filters based on sexp's.
-       (libcamelinclude_HEADERS): 
-       (libcamel_la_SOURCES): Added camel-filter-search.[ch]
-
-       * camel-folder-summary.c (camel_folder_summary_decode_string):
-       Chganged len back to be unsigned.  And do a simple range check on
-       the string value to try and detect corrupted summary files.
-
-       * providers/imap/camel-imap-command.c (imap_read_untagged): Handle
-       cancelled stream reads with an appropriate exception.
-
-       * providers/imap/camel-imap-private.h: Fix the include-once
-       macro.  Doh, confliced with camel-private.h.
-
-       * providers/imap/camel-imap-store.c (imap_store_refresh_folders):
-       A copy of camel_remote_store_refresh_folders.  We avoid locking
-       each folder when we call it though.  This should be removed when i
-       can work out how to remove the folder lock from this function
-       easily.
-
-       * camel-stream-fs.c (stream_write): Fix n' argument of select.
-       (stream_read): Likewise.
-
-       * camel-remote-store.c (socket_connect): Bump the connect timeout
-       upto 4 minutes.
-       (socket_connect): Oops, fix the 'n' argument of select.
-
-       * camel-session.c (camel_cancel_cancel): If we are given no
-       cancellation node, then do it for all active ones.
-
-2001-01-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-stream-fs.c (stream_close): If the close() is successful,
-       set the fd to -1.
-
-       * camel-tcp-stream-raw.c: Removed the disconnect() method.
-       (stream_close): If the close() is successful, set the sockfd to
-       -1.
-
-       * camel-tcp-stream-ssl.c: Removed the disconnect() method.
-       (stream_close): If the close() is successful, set the sockfd to
-       NULL.
-
-       * camel-tcp-stream.c (camel_tcp_stream_disconnect): Removed,
-       easier to just use the close() method as it did the same thing
-       anyway.
-
-2001-01-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-raw.c (stream_getsockopt): Updated to be able
-       to get the CAMEL_SOCKOPT_NONBLOCKING socket opt.
-       (stream_setsockopt): Updated to be able to set the
-       CAMEL_SOCKOPT_NONBLOCKING socket opt.
-
-2001-01-15  Peter Williams  <peterw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Lock
-       around the imap_rescan, which needs it.
-
-2001-01-15  Not Zed  <NotZed@Ximian.com>
-
-       * camel-remote-store.c (socket_connect): A cancellable connection
-       routine.
-       (remote_send_string): Return cancelled exception if we were.
-       (remote_send_stream): "
-       (remote_recv_line): "
-
-       * camel-stream-fs.c (stream_read): First cut at cancellation
-       stuff.  Its looking a bit ugly.
-
-2001-01-15  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (stream_connect): Uses an SSL socket now
-       although there's still a few things missing (like certificate
-       handling and such).
-
-       * camel.c (camel_ssl_init): A replacement function for
-       camel_init() that also initializes SSL.
-
-2001-01-14  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream-ssl.c (stream_getsockopt): Implemented.
-       (stream_setsockopt): Implemented.
-
-       * camel-tcp-stream-raw.c (stream_getsockopt): Implemented.
-       (stream_setsockopt): Implemented.
-
-       * camel-tcp-stream.c (camel_tcp_stream_getsockopt): New method.
-       (camel_tcp_stream_setsockopt): Another new method. I think you get
-       the idea of what these are for so I won't explain them.
-
-2001-01-14  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-tcp-stream-ssl.[c,h]: New CamelTcpStream class that
-       implements nspr sockets and eventually will use nss for
-       SSL/TLS. Currently doesn't do any SSL/TLS but it should still
-       work. It's functionally equivalent to CamelTcpStreamRaw at the
-       moment only it uses nspr i/o.
-
-       * camel-tcp-stream-raw.[c,h]: New CamelTcpStream class that
-       implements native sockets. Should be usable but may have some bugs
-       yet.
-
-2001-01-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-tcp-stream.[c,h]: New abstract class for TCP streams. The
-       next step is to write child classes (CamelTcpStreamBSD and
-       CamelTcpStreamSSL). The BSD stream will use normal BSD sockets
-       while SSL will use Mozilla's NSPR and NSS libraries to do Secure
-       Socket Layers which wille ventually replace CamelStreamSSL which I
-       just commit'd. Oh well.
-
-2001-01-13  Jeffrey Stedfast  <fejj@ximian.com>
-
-       * camel-stream-ssl.[c,h]: New stream for handling SSL/TLS
-       connections.
-
-2001-01-12  Not Zed  <NotZed@Ximian.com>
-
-       * camel-folder-thread.c (camel_folder_thread_messages_new):
-       Perform a final pass, removing any pseudo nodes we added earlier.
-       Quick patch to test the idea.
-       (camel_folder_thread_messages_new): Added casts to rmeove some
-       warnings for the analites out there.
-
-2001-01-11  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
-       Fix a bug in previous commit: don't check for deleted messages if
-       there are no known messages in the folder (because it would end up
-       sending "FETCH 0 ...").
-       (imap_copy_message_to): Fix this up: sync flags to the server
-       before copying so that they end up correct in the remote folder.
-       And poke the destination folder after doing the copy so it notices
-       the new message right away.
-       (imap_move_message_to): Call imap_copy_message_to for most of the
-       work rather than duplicating the code (since it's much more
-       complicated now).
-
-2001-01-11  Dan Winship  <danw@ximian.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
-       New function to check for added/deleted messages when re-selecting
-       a folder.
-       (imap_refresh_info, imap_rescan, imap_update_summary): Various
-       locking tweaks that turn out to be irrelevant since command_lock
-       is recursive, but whatever.
-
-       * providers/imap/camel-imap-command.c (camel_imap_command): When
-       selecting a new folder, call camel_imap_folder_selected on it.
-
-       * camel-folder.c (camel_folder_copy_message_to): Fix a locking
-       problem. (One branch of an if statement was returning with the
-       lock still locked.) Also remove the deprecation comments, to match
-       move_message_to.
-
-2001-01-10  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/local/camel-local-provider.c: Changed the descriptions
-       for mh, mbox, and maildir to be more "user-friendly".
-
-2001-01-10  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-types.h: New header to prevent
-       recursive #include problems
-
-       * providers/imap/*.h: Replace some #includes with #include
-       "camel-imap-types.h", remove typedefs that were moved to
-       camel-imap-types.h
-
-       * providers/imap/*.c: Add #includes to make up for #includes
-       removed from .h files
-
-       * providers/imap/Makefile.am (libcamelimapinclude_HEADERS): Add
-       camel-imap-types.h
-
-2001-01-10  Dan Winship  <danw@helixcode.com>
-
-       * camel-store.c (camel_store_sync): New class function, parallel
-       to camel_folder_sync. (The default implementation just calls
-       camel_folder_sync on each cached folder.)
-
-       * providers/imap/camel-imap-store.c (get_folder_info): Call
-       camel_store_sync before doing anything else so that the IMAP
-       server and Camel are working from the same data. Don't ask the
-       server for the unread message count of the current folder, since
-       UW will return often-incorrect cached data, and we can calculate
-       it without talking to the server anyway.
-
-2001-01-09  Dan Winship  <danw@helixcode.com>
-
-       Mostly IMAP changes. Use the NAMESPACE extension (where
-       available). Deal with servers that don't return LIST flags in
-       response to LSUB (like UW) to get rid of the "not a selectable
-       folder" error messages in the UI. Take advantage of the \Marked
-       and \Unmarked flags to try to speed up the folder scan by not
-       doing STATUS on unmarked folders. Some further tweaks on the shape
-       of the resulting folder tree in various situations...
-
-       * camel-store.h: Remove the (read) message_count, since nothing
-       uses it, and we can speed up IMAP a bit this way.
-
-       * camel-store.c (camel_folder_info_build): Redo this a bit to make
-       it more useful for IMAP since that's the only thing that uses it.
-
-       * camel-remote-store.c (camel_remote_store_connected): Public
-       function to check if the store is connected, and try to connect it
-       if it's not.
-       (remote_send_string, remote_send_stream, remote_recv_line): Use
-       that.
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_finalize):
-       fix up for changes.
-       (camel_imap_store_init): Initialize subscribed_folders to NULL
-       rather than an empty hash table.
-       (imap_connect): Get the list of subscribed folders here. If the
-       server doesn't claim that any of them are either Marked or
-       Unmarked, then assume that it doesn't do that for LSUB and
-       remember that for later. If the server supports the NAMESPACE
-       extension and the user didn't specify a namespace, use the
-       server-provided one.
-       (imap_disconnect): Free the list of subscribed folders, and the
-       namespace.
-       (get_folder): check camel_remote_store_connected
-       (get_folder_info): check camel_remote_store_connected. Add a bunch
-       of new cleverness. If we learned that the server doesn't do LSUB
-       usefully, do a bunch of LISTs by hand. Then, if we're getting
-       unread counts, only do it for folders that weren't listed as
-       Unmarked. Also, deal with namespaces that end with the separator
-       character, and update for changes to camel_folder_info_build.
-       (folder_subscribed): Add a g_return_val_if_fail.
-       (subscribe_folder, unsubscribe_folder): check
-       camel_remote_store_connected.
-
-       * providers/nntp/camel-nntp-store.c (build_folder_info,
-       build_folder_info_from_grouplist, nntp_store_get_folder_info):
-       Don't fill in message_count since it doesn't exist any more.
-
-2001-01-09  Dan Winship  <danw@helixcode.com>
-
-       Kill off a long-hated Camel kludge: "empty" URLs and
-       query_auth_types_generic.
-
-       * camel-url.c: Remove "empty" from CamelURL.
-       (camel_url_new): No longer set it.
-       (camel_url_to_string): Treat "" as equivalent to NULL for
-       authmech. (Unrelated change, but it simplifies some stuff with the
-       new config dialog.)
-
-       * camel-service.c (camel_service_new): Remove url->empty check: if
-       the URL isn't valid, we don't create the service.
-       (camel_service_query_auth_types): No longer need to switch between
-       generic and connected variants.
-
-       * providers/smtp/camel-smtp-transport.c (query_auth_types): 
-       * providers/pop3/camel-pop3-store.c (query_auth_types): 
-       * providers/nntp/camel-nntp-store.c (nntp_store_query_auth_types): 
-       * providers/imap/camel-imap-store.c (query_auth_types): 
-       * camel-remote-store.c (remote_query_auth_types): Remove generic
-       version, rename connected version.
-
-2001-01-06  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/vee/camel-vee-folder.c (vee_folder_build_folder): Dont
-       try and unref a messageinfo that wasn't there, and use the right
-       free function too.  Modified patch from Iain.
-       (vee_move_message_to): New method, call the real folders'
-       move_message_to method.
-
-2001-01-04  JP Rosevear  <jpr@helixcode.com>
-
-       * tests/lib/Makefile.am: fix includes for compilation
-
-       * tests/message/Makefile.am: Build test3 again
-
-       * tests/message/test2.c: Kill warnings with header includes
-
-       * tests/message/test3.c: ditto
-
-       * tests/lib/streams.c: ditto
-
-       * tests/lib/camel-test.c: ditto
-
-       * tests/lib/messages.c: ditto
-
-       * tests/lib/folders.c: ditto
-
-2001-01-04  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_rescan): Fix two
-       problems in figuring out server-expunged messages.
-
-2001-01-04  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-folder.c (thaw): If we have a lot of messages changed,
-       promote it to a folder changed event.
-
-2000-01-03  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-folder-search.c (search_header_matches): Implemented.
-       (search_header_exists): Implemented.
-       (search_header_starts_with): Implemented.
-       (search_header_ends_with): Implemented.
-
-2001-01-03  Christopher James Lahey  <clahey@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new):
-       Initialize the exists variable so that we don't do random things
-       if the imap server misbehaves.
-
-2000-12-29  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-folder.c (camel_folder_move_message_to): REmove warning,
-       this isn't really deprecated, sigh.
-
-       * camel-mime-utils.c (header_fold): Comment out some debug.
-
-2001-01-02  Christopher James Lahey  <clahey@helixcode.com>
-
-       * providers/maildir/, providers/mbox/, providers/mh/: Removed
-       these directories since they're unused.
-
-2001-01-02  Dan Winship  <danw@helixcode.com>
-
-       IMAP randomness.
-
-       * providers/imap/camel-imap-stream.[ch]: Remove. To be replaced.
-
-       * providers/imap/Makefile.am (libcamelimapinclude_HEADERS): Remove
-       camel-imap-stream.h
-
-       * providers/imap/camel-imap-utils.c (imap_parse_flag_list): Take a
-       char ** instead of char *, to return the position at the end of
-       parsing like the string parsing functions.
-       (imap_parse_string_generic): New function to parse a string,
-       nstring, or astring.
-       (imap_parse_nstring, imap_parse_astring): Now macros
-       (imap_parse_string): Added
-
-       * providers/imap/camel-imap-folder.h: Remove the "exists" field
-       from CamelImapFolder.
-
-       * providers/imap/camel-imap-folder.c: Remove unused include of
-       camel-imap-stream.h.
-       (camel_imap_folder_init): Remove no-longer-relevant summary
-       initialization.
-       (camel_imap_folder_new): Update for imap_parse_flag_list change,
-       exists removal, and imap_rescan.
-       (imap_rescan): New function that does most of the work of the old
-       imap_refresh_info, but taking "exists" as an argument instead of
-       getting it from the folder. Also calls camel_imap_folder_changed
-       to do the summary updating and signalling, rather than duplicating
-       that code.
-       (imap_refresh_info): Just call imap_rescan (using the size of the
-       folder summary as "exists").
-       (imap_update_summary): Update for imap_parse_flag_list change
-       (camel_imap_folder_changed): Update for "exists" change.
-
-2001-01-02  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-utils.c (header_content_type_simple): New function to
-       return just foo/bar with no parameters.
-
-       * camel-data-wrapper.c (get_mime_type): Use
-       header_content_type_simple rather than header_content_type_format.
-
-2000-12-28  Dan Winship  <danw@helixcode.com>
-
-       * gmime-content-field.[ch]: Remove this. It was only a thin
-       wrapper around struct _header_content_type anyway, and didn't
-       match the naming scheme of anything else.
-
-       * Makefile.am: Remove gmime-content-field.[ch]
-
-       * camel.h: Remove gmime-content-field.h
-
-       * camel-types.h: Add CamelContentType as a typedef for struct
-       _header_content_type (especially for use outside of camel).
-
-       * camel-multipart.c: 
-       * camel-mime-part.c: 
-       * camel-mime-message.c: 
-       * camel-folder-summary.c:
-       * camel-folder-search.c: 
-       * camel-data-wrapper.[ch]: Use CamelContentType and
-       header_content_type_* functions rather than the GMime stuff. 
-
-       * camel-mime-part-utils.c: 
-       * camel-medium.c: Remove unused gmime-content-field.h include.
-
-2000-12-27  Dan Winship  <danw@helixcode.com>
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server): Fix the
-       APOP check to not crash on servers that don't return any
-       information on the +OK greeting line.
-
-2000-12-24  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/imap/camel-imap-search.c (imap_body_contains): Lock
-       the command channel while searching.
-       (imap_body_contains): If performing a whole uid search, then add
-       references to our own summary items, dont look it up in the
-       folder.  This way they can't vanish unexpectedly.
-
-       * providers/imap/camel-imap-folder.h (CamelImapFolder): Added a
-       private field.
-       (CamelImapFolder): Removed summary again from here.
-
-       * providers/imap/camel-imap-private.h: Added lock for imap
-       searches.
-
-       * Merge from camel-mt-branch.
-       
-       * providers/imap/camel-imap-folder.c (imap_update_summary): Merge
-       fix, use the folder->summary.
-       (imap_get_message_flags, imap_set_message_flags,
-       imap_get_message_user_flag, imap_set_message_user_flag): Removed
-       again.
-       (camel_imap_folder_init): Setup private data/lock.
-       (imap_finalize): Free private data/search lock.
-       (imap_search_free): Lock the search_lock.
-       (imap_search_by_expression): Lock the search lock when using the
-       search object.  Also copy/ref hte summary, rather than getting it
-       directly.
-       (imap_refresh_info): Free any info lookups.  Use folder->summary
-       not imap_folder->summary.  And lock around commands.
-       (camel_imap_folder_changed): Use folder->summary again.
-       (camel_imap_folder_changed): Make sure we unref the summary lookup.
-
-2000-12-22  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_info): When
-       getting the top-level folder list, include INBOX even if it's not
-       subscribed. Don't show subscribed folders outside of the given
-       namespace. Do a better job of pruning the namespace from the
-       returned folder tree.
-
-2000-12-21  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-search.c: New CamelFolderSearch
-       subclass that just reimplements body_contains (using the IMAP
-       SEARCH command). All other kinds of searching are done against the
-       local summary.
-
-       * providers/imap/camel-imap-folder.c (imap_search_by_expression):
-       Use a CamelImapSearch to do searching.
-
-       * providers/imap/camel-imap-utils.c (imap_translate_sexp, etc): No
-       longer needed.
-
-       * camel-folder-search.h: Add missing CAMEL_FOLDER_SEARCH_TYPE
-       #define
-
-2000-12-21  Dan Winship  <danw@helixcode.com>
-
-       * camel-stream-buffer.c (camel_stream_buffer_gets): Update the
-       doc comment: since it always NUL-terminates the buffer, it reads
-       at most @max-1 bytes, not @max.
-
-       * camel-remote-store.c (remote_recv_line): Fix the "did
-       camel_stream_buffer_gets fill the whole buffer" check. Fixes a bug
-       when reading lines longer than 1024 characters (eg, IMAP SEARCH
-       responses in very large folders).
-
-2000-12-19  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_refresh_info): Oops.
-       Don't do "FETCH 1:0" when the folder is empty.
-       (imap_protocol_get_summary_specifier): Request RFC822.SIZE too.
-       (imap_update_summary): Parse RFC822.SIZE and add it to the
-       summary.
-
-2000-12-18  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-summary.c: Add "guint32 server_flags"
-       to CamelImapMessageInfo to keep track of the last known message
-       flag state on the server.
-       (message_info_save, message_info_load): Save/load the
-       server_flags.
-
-       * providers/imap/camel-imap-folder.c: Make this use
-       CamelFolderChangeInfo and emit folder_changed notifications as it
-       gets them rather than only on refresh_info.
-       (imap_refresh_info): Notice flags that get cleared on the server
-       as well as flags that get set.
-       (imap_update_summary): Remove a comment that never actually
-       applied to the committed code.
-
-2000-12-15  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-command.c (camel_imap_command): Change
-       the semantics of fmt: Now %S (capital S) means an IMAP "string",
-       (which can be sent as either a quoted string or a literal). If
-       the server supports LITERAL+, these will be sent as extended
-       literals (which don't require any special escaping). Otherwise
-       they'll be sent as quoted strings (and it now properly deals with
-       " or \ in the string).
-       (imap_command_strdup_vprintf): Utility routine that does the real
-       work for the functionality mentioned above.
-
-       * providers/imap/camel-imap-utils.c (imap_quote_string): Turns a
-       string into a proper IMAP "quoted string".
-
-       * providers/imap/camel-imap-store.c: 
-       * providers/imap/camel-imap-folder.c: Use %S instead of "%s" where
-       appropriate.
-
-2000-12-22  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-folder-summary.c (GLOBAL_INFO_UNLOCK): Doh, cut and paste
-       victim again, call unlock instead of lock!
-       (summary_assign_uid): Unlock around trying to get a new uid, if we
-       have a clash.
-
-2000-12-21  Not Zed  <NotZed@HelixCode.com>
-
-       * tests/folder/Makefile.am (TESTS): reenabled the tests here.
-
-       * providers/nntp/camel-nntp-newsrc.c (CamelNNTPNewsrc): Add a
-       lock.  Made completely mt-safe.  Sigh, this is all so i can
-       support snooping of the set_flags stuff inside camel-nntp-folder,
-       since i've removed the global folder lock from all of the other
-       folder summary operations.
-       (camel_nntp_newsrc_read_for_server): Setup lock.
-       (camel_nntp_newsrc_get_highest_article_read): Lock internal access.
-       (camel_nntp_newsrc_get_num_articles_read): 
-       (camel_nntp_newsrc_mark_article_read): 
-       (camel_nntp_newsrc_mark_range_read): 
-       (camel_nntp_newsrc_article_is_read): 
-       (camel_nntp_newsrc_group_is_subscribed): 
-       (camel_nntp_newsrc_unsubscribe_group): 
-       (camel_nntp_newsrc_subscribe_group): 
-       (camel_nntp_newsrc_get_subscribed_group_names): 
-       (camel_nntp_newsrc_get_all_group_names): "
-       (camel_nntp_newsrc_write_to_file): Lock internal accesses.
-       (camel_nntp_newsrc_write): Lock around diry stuff.
-
-       * providers/local/camel-maildir-summary.c (maildir_summary_check):
-       Lock around our internal poking of the summary hashtable/array.
-       (maildir_summary_sync): And the same here too.
-
-       * camel-folder-summary.c: Moved the summaryprivate data into
-       camel-private.h.  Only needed for the locks really.
-       (camel_folder_summary_init): Setup locks.
-       (camel_folder_summary_set_filename): Lock.
-       (camel_folder_summary_index): lock
-       (camel_folder_summary_uid): Lock
-       (camel_folder_summary_next_uid): "
-       (camel_folder_summary_set_uid): "
-       (camel_folder_summary_load): Lock around whole load.  Hrm,
-       probably not required.
-       (camel_folder_summary_save): Lock around whole save, this is
-       reqwuired, unless we ref/copy the whole list first, and i couldn't
-       be bothreed.
-       (camel_folder_summary_add): lock
-       (summary_assign_uid): Lock around internal accesses.
-       (camel_folder_summary_info_new_from_parser): Lock around filtr stuff.
-       (camel_folder_summary_info_ref): Add locking.  Could probably use
-       its own lock?
-       (camel_folder_summary_touch): Add locking, likewise.
-       (camel_folder_summary_clear): Lock.  If the preiovus two are
-       changed, then so this will need mroe locking.
-       (camel_folder_summary_info_free): Lock around refcounting.
-       (camel_folder_summary_remove): Locking.
-       (camel_folder_summary_remove_uid): Lock ref, unlock, unref.  Also
-       fixed a bug that would have made this never work, freeing the key,
-       which isn't allocated.
-       (camel_folder_summary_remove_index): lock, ref, unlock unref also.
-       (camel_message_info_ref): Lock using a separate global lock, since
-       we have no context here.
-       (camel_message_info_free): Here too.
-       (content_info_alloc): Use an alocation lock here.  avoids races
-       with setting up content_info_chunks, etc.
-       (camel_folder_summary_info_new): And here too.
-       (camel_folder_summary_load): Changed to use a differnet lock for
-       loading/saving.
-       (camel_folder_summary_init): Doh, i do need a reflock afterall,
-       set one up.
-       (camel_folder_summary_finalize): Free it.
-       (camel_folder_summary_index): Add a reflock.
-       (camel_folder_summary_uid): And here too.
-       (camel_folder_summary_info_free): Use reflock instead of
-       summary_lock.
-       (camel_folder_summary_info_ref): Likewise.
-       (camel_folder_summary_remove_uid): Add reflocking.
-       (camel_folder_summary_remove_index): And here too.
-
-       * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Setup a
-       summary object.
-       (vee_folder_build): Build each item into the real summary object.
-       (vee_folder_add, vee_folder_add_uid, vee_folder_add_change): New
-       functions to add a single record to the vfolder summary.
-       (vee_folder_build_folder): Use a real summary.
-       (vee_get_uids): Removed, use default impl.
-       (vee_free_message_info): "
-       (vee_get_message_info): "
-       (vee_get_summary): "
-       (vee_get_unread_message_count): "
-       (vee_get_message_count): "
-       (vee_sync): Make vee-folder-sync sync all subordinate folders.
-       Well i dont think this is right, but enough peopl ehave aksed for
-       it.
-       (vee_expunge): Same for expunge.
-       (vee_set_message_flags): Call parent class, then mirror flags to
-       subfolder.
-       (vee_get_message_user_flag): Removed, we just use the default
-       impl, and our flags should always match.
-       (vee_set_message_user_flag): Snoop the set and set on subfolder.
-       (vee_get_message_flags): Removed, jsut use parent impl, assume our
-       copy matches the real ones.
-       (get_real_message): Removed.  We sort ofneed to keep the
-       summaryitem refed while we use it, so this doesn't make as much
-       sense as it did once.
-       (camel_vee_folder_finalise): Unhook listening events as we unref
-       folders.
-       (camel_vee_folder_new): Set the summary messageinfo data size
-       properly.
-       (vfolder_remove_match): Fixed for summary change.
-       (folder_changed): ditto.  Also stopped changed items from being
-       re-searched and possibly removed.  Might have to resort to the old
-       whole-search idea again.
-       (message_changed): Similarly.  Might be easier just not to bother
-       with a whole search.
-
-       * providers/vee/camel-vee-folder.h: Removes summary
-       hashtable/array, and use a real summary object.  Sigh, more work.
-
-       * providers/nntp/camel-nntp-folder.c (nntp_folder_sync): Move
-       summary to folder object.
-       (nntp_folder_get_message_count): Removed, use default impl.
-       (nntp_folder_set_message_flags): Call parent impl to do the work,
-       but snoop for newsrc.
-       (nntp_folder_get_uids): Removed, use default impl.
-       (nntp_folder_get_summary): "
-       (nntp_folder_get_message_info): "
-       (nntp_folder_free_message_info): "
-       (camel_nntp_folder_new): moved summary to folder class
-       
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_init):
-       Move summary to folder object.
-       (camel_imap_folder_new): "
-       (imap_finalize): No longer unref the summary (or infact, do
-       anything else either).
-       (imap_refresh_info): move summary to folder object.
-       (imap_sync): "
-       (imap_get_message_count): Removed, use default impl.
-       (imap_get_unread_message_count): "
-       (imap_get_uids): "
-       (imap_get_summary): "
-       (imap_free_summary): "
-       (imap_get_message_info): "
-       (imap_free_message_info): "
-       (imap_get_message_flags): "
-       (imap_set_message_flags): "
-       (imap_get_message_user_flag): ", this changes functionality, but
-       only by providing non-permanent flags.
-       (imap_set_message_user_flag): "
-       (imap_update_summary): move summary to folder object, and use
-       camel_folder_summary_info_new_from_header, instead of calling the
-       virtual function directly.
-
-       * providers/local/camel-maildir-folder.c (maildir_append_message):
-       move summary to folder object, again.
-       (maildir_get_message): "
-
-       * providers/local/camel-mh-folder.c (mh_append_message): move
-       summary to folder object.
-       (mh_get_message): "
-
-       * providers/local/camel-mbox-folder.c (mbox_append_message): Move
-       summary to folder object
-       (mbox_get_message): "
-       (mbox_set_message_user_flag): We need our own copy of this, sigh,
-       so we can track if the xev needs a rewrite (probably, its only a
-       guide anyway).
-       (mbox_set_message_user_tag): Same same with this one.
-       (camel_mbox_folder_class_init): Link in these new virtual functions.
-
-       * providers/local/camel-local-folder.h (CamelLocalFolder): removed
-       summary.
-
-       * providers/local/camel-local-folder.c (local_get_message_count): 
-       (local_get_unread_message_count): 
-       (local_get_uids): 
-       (local_get_summary): 
-       (local_free_summary): 
-       (local_get_message_info): 
-       (local_free_message_info): 
-       (local_get_message_flags): 
-       (local_set_message_flags): 
-       (local_get_message_user_flag): 
-       (local_set_message_user_flag): 
-       (local_get_message_user_tag): 
-       (local_set_message_user_tag): Removed, all now use default
-       implementation.
-       (camel_local_folder_class_init): Removed overrides.
-       (local_init): Clear folder->summary.
-       (local_finalize): move summary to folder.
-       (camel_local_folder_construct): "
-       (local_sync): "
-
-       * camel-folder.c (free_summary): Provide a real impl.
-       (get_summary): "
-       (free_uids): "
-       (get_uids): "
-       (free_message_info): "
-       (get_message_info): "
-       (set_message_user_tag): "
-       (get_message_user_tag): "
-       (set_message_user_flag): "
-       (get_message_user_flag): "  Sigh, the last so far.
-       (get_message_flags): Sigh, 1 more afterall.
-       (get_unread_message_count): And and this.
-       (get_message_count): and this!
-       (set_message_flags): Sigh, and this.
-       (camel_folder_finalize): Unref the summary if we have it.
-       (camel_folder_free_uids): Remove locking.
-       (camel_folder_get_message_flags): Remove locks, since the summary
-       is now mt-safe.
-       (camel_folder_set_message_flags): "
-       (camel_folder_get_message_user_flag): "
-       (camel_folder_set_message_user_flag): "
-       (camel_folder_get_message_user_tag): "
-       (camel_folder_set_message_user_tag): "
-       (camel_folder_get_message_info): "
-       (camel_folder_free_message_info): "
-       (camel_folder_get_uids): "
-       (camel_folder_free_summary): "
-       (camel_folder_get_unread_message_count): "
-       (get_unread_message_count): Check we got info, no big deal, but
-       the summary might change while we're counting, and upset the count
-       slightly.
-       (camel_folder_get_message_count): Remove locks.
-
-       * camel-folder.h (struct _CamelFolder): Added CamelFolderSummary
-       to the base folder object.  Sigh, this is going to be a lot of
-       work ...
-
-       * camel-service.c (camel_service_init, finalise): changed
-       connect_lock to be recursive e_mutex.
-
-       * camel-remote-store.c (camel_remote_store_init, finalise): Changed
-       stream_lock to recursive e_mutex.
-
-       * camel-private.h (RemoteStorePrivate, ServicePrivate): Use
-       recursive mutexes for connect_lock & stream_lock.  Ick.  Because
-       of the imap code.
-
-       * providers/imap/camel-imap-private.h: Change the command_lock to
-       be an EMutex.
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Removed
-       the command_lock stuff.  If we are just connected again, it should
-       be safe to assume we have exclusive access at this point without
-       it (and yes, removes a deadlock).
-       (imap_create): Remove a lock that wasn't even supposed to be
-       there.
-       (camel_imap_store_finalize, init): g_mutex->e_mutex(E_MUTEX_REC).
-       Use a recursive mutex since the imap code is multiply recursivly
-       calling some functions (sigh, it would be nice to fix this).
-
-2000-12-20  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-folder.c (folder_changed): Change the locks to inside the
-       if.  Stops a deadloc,k and we dont need a lock to read a value.
-       (message_changed): Likewise.
-
-       * camel.c (camel_init): Blah, comment out g_thread_init, leave it
-       to the caller, since it can only ever be done once.
-
-       * camel-folder-thread.c (camel_folder_thread_messages_new): Ref
-       and save the folder in the thread return.  Also get the summary
-       once, and access that for the messageinfo's.  Added bonus that now
-       threads should come out in a similar order.  We need to do this so
-       that the messageinfo's dont get unref'd under us, and using the
-       summary directly simplifies memory management.
-       (camel_folder_thread_messages_destroy): Free the summary/unref the
-       folder.
-
-       * camel-folder-thread.h: Add a folder to CamelFolderThread struct.
-
-2000-12-19  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/imap/camel-imap-utils.c (imap_translate_sexp): Unref
-       using e_sexp_unref, since it is no longer an object.
-
-       * tests/lib/camel-test.c: Added a global lock, and made it
-       thread-aware.
-
-       * camel-exception.c: Add a global lock.  Not sure its really
-       needed here, but it doesn't really hurt.
-       (camel_exception_clear): Lock around access.
-       (camel_exception_set): Same.
-       (camel_exception_setv): "
-       (camel_exception_xfer): "
-
-       * providers/local/Makefile.am (noinst_HEADERS): Added, for
-       camel-local-private.h
-
-       * camel-folder.c (camel_folder_search_by_expression): Removed
-       locking here, now upto the implementing class to lock.
-       (camel_folder_search_free): Removed the folder lock here too, for
-       consistency really, and the locking probably wasn't needed.
-
-       * providers/local/camel-local-folder.c (local_get_summary):
-       Changed to copy/ref the summary items.
-       (local_free_summary): Unref the summary items/free the array.
-       (local_get_unread_message_count): Free info lookups.
-       (local_search_by_expression): Perform more fine-grained locking,
-       and dont lock the whole folder while searching, just the search
-       object.  Dum de dum, it *would* be possible to not even have to
-       lock the search, by using our own copy of the search object each
-       time.  Could be investigated.
-       (local_init): Init priaate data/lock.
-       (local_finalize): Free private data/lock.
-       (local_search_free): Also lock around the search object, because
-       it accesses global data inside.
-
-       * README.mt: Some info about the mt code development.
-
-       * camel-folder-search.c (match_message): Put in a warning, this
-       plain deadlocks so far, but i'm going to bed now.
-       (camel_folder_search_finalize): Use e_sexp_unref() since its no
-       longer an object.
-
-       * camel-session.c (camel_session_init): Init private data/lock.
-       (camel_session_finalise): Free private data/lock.
-       (camel_session_register_provider): Lock hash insert.
-       (service_cache_remove): Lock.
-       (camel_session_list_providers): "
-       (camel_session_get_service): Lock the whole function.
-
-       * camel-session.h (struct _CamelSession): Added private data.
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_init): Setup
-       private data.
-       (camel_imap_store_finalize): Free private data.
-       (connect_to_server): Lock around command calls.  I dont think its
-       needed, but it shouldn't hurt either.
-       (imap_connect): Lock around command calls.  Again, I don think it
-       is needed, but wont hurt.
-       (imap_disconnect): ditto for this one.
-       (imap_create): Lock around command.
-       (get_folder): "
-       (get_folder_info): "
-       (subscribe_folder): "
-       (unsubscribe_folder): "
-       (imap_keepalive): "
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Lock
-       around calling a command.
-       (imap_refresh_info): Likewise.
-       (imap_sync): "
-       (imap_append_message): "
-       (imap_copy_message_to): "
-       (imap_move_message_to): "
-       (imap_get_message): "
-       (imap_update_summary): "
-       (imap_search_by_expression): ", also minor logic cleanup.
-       (imap_get_summary): Copy/ref the summary items.
-       (imap_free_summary): And free it now too.
-
-       * providers/imap/camel-imap-auth.c (imap_try_kerberos_v4_auth):
-       Lock the command stream for the command session.
-
-       * providers/imap/camel-imap-private.h: Private (locking info)
-       stuff for imap provider.
-       (CAMEL_IMAP_STORE_UNLOCK): Fix to call unlock, rather than lock!
-
-       * camel-service.c (camel_service_query_auth_types): Lock also for
-       the connection here, incase the service needs to connect.
-
-       * camel-remote-store.c (camel_remote_store_init): Init private
-       data/lock.
-       (camel_remote_store_finalise): Readded, free private data/lock.
-       (remote_send_stream): Changed to return the number of bytes
-       written, like a good little stream function should.
-       (camel_remote_store_send_string): Lock for stream access.
-       (camel_remote_store_send_stream): Same here.
-       (camel_remote_store_recv_line): And here.
-       (camel_remote_store_refresh_folders): Lock the store for cache
-       access.
-       (timeout_cb): Lock for stream access.
-
-2000-12-18  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-service.c (camel_service_init): Init private data.
-       (camel_service_finalise): Free private data.
-       (camel_service_connect): Lock around connection access.
-       (camel_service_disconnect): "
-
-       * camel-service.h (struct _CamelService): Added private field.
-
-       * camel-store.c (camel_store_init): Init private data/lock.
-       (camel_store_finalize): Free private data/lock.
-       (camel_store_get_folder): Lock internal calls.
-       (camel_store_delete_folder): "
-       (camel_store_rename_folder): "
-       (camel_store_get_root_folder): "
-       (camel_store_get_default_folder): "
-       (camel_store_get_folder_info): "
-       (camel_store_folder_subscribed): "
-       (camel_store_subscribe_folder): "
-       (camel_store_unsubscribe_folder): "
-       (lookup_folder): Lock accesses to the folder cache.
-       (cache_folder): "
-       (uncache_folder): And here too.
-
-       * camel-store.h (struct _CamelStore): Added a private field.
-
-       * Makefile.am (noinst_HEADERS): Add camel-private.h.  There is a
-       comment in that header as to why it ins't installed.
-
-       * camel-private.h: New header for private data, that subclasses
-       can get to.
-
-       * tests/lib/camel-test.c (camel_test_init): If we do have threads
-       enabled already, dont call g_thread_init().
-       
-       * tests/lib/folders.c (test_folder_counts): Add free of info.
-       (test_folder_message): And here too.
-
-       * providers/local/camel-maildir-summary.c (remove_summary): Free
-       info.
-       (maildir_summary_check): Free info lookups.
-
-       * providers/local/camel-mh-summary.c (message_info_new): Removed,
-       didn't add value.
-       (remove_summary): free info after being used.
-       (mh_summary_check): Free info lookups.
-       (mh_summary_sync): and here too.
-
-       * providers/local/camel-mbox-summary.c (summary_update): Free info
-       lookups.
-       (mbox_summary_sync_full): Likewise.
-       (mbox_summary_sync_quick): And here.
-       (mbox_summary_sync):  ... and here.
-
-       * providers/local/camel-maildir-folder.c (maildir_get_message):
-       Free messageinfo lookups.
-
-       * providers/local/camel-mh-folder.c (mh_get_message): Free
-       messageinfo lookups.
-
-       * providers/local/camel-mbox-folder.c (mbox_get_message): Free
-       messageinfo lookups.
-
-       * providers/local/camel-local-summary.c
-       (message_info_new_from_message): Removed, since it wasn't doing
-       anything useful.
-       (message_info_new_from_parser): Same.  And some other dead code.
-
-       * providers/local/camel-local-folder.c (local_get_message_info):
-       deconstify.
-       (local_free_message_info):new func to free info.
-       (local_get_uids): 
-       (local_get_message_flags): 
-       (local_set_message_flags): 
-       (local_get_message_user_flag): 
-       (local_set_message_user_flag): 
-       (local_get_message_user_tag): 
-       (local_set_message_user_tag): Free all info lookups.
-       (local_expunge): Dont call camel_folder_* functions, to avoid a deadlock.
-
-       * providers/nntp/camel-nntp-folder.c
-       (nntp_folder_get_message_info): deconstify.
-       (nntp_folder_free_message_info): Free summary item.
-       (nntp_folder_get_message_flags): Free summary lookup.
-       (nntp_folder_set_message_flags): and here.
-       (nntp_folder_get_uids): And here.
-
-       * providers/imap/camel-imap-auth.c: Make base64_*_simple optional
-       with the HAVE_KRB4 flag.
-
-       * providers/imap/camel-imap-folder.c (imap_free_message_info):
-       Added a free of the message info.
-       (imap_refresh_info): 
-       (imap_sync): 
-       (imap_refresh_info): 
-       (imap_get_unread_message_count): 
-       (imap_get_uids): 
-       (imap_get_message_flags): 
-       (imap_set_message_flags): Free any summary lookups.
-       (imap_get_message_flags): Get the message info directly from the
-       summary, not via the folder interface.
-       (imap_move_message_to): Dont call folder functions directly
-       (delete_message), as it will deadlock since we already have the
-       lock.
-
-       * providers/vee/camel-vee-folder.c (vee_free_message_info): Free/unref
-       the messageinfo.
-       (vee_get_message_info): First ref the internal copy, then return it.
-       (folder_changed): Free all got message info's.
-       (message_changed): And here.
-       (get_real_message): And here.
-       (vee_folder_build): and here.
-       (vee_folder_build_folder): ... and here.
-
-       * camel-folder-summary.c (camel_folder_summary_info_new):
-       Initialise the messageinfo refcount to 1.
-       (camel_folder_summary_info_free): Down the refcount till we need
-       to free.
-       (camel_folder_summary_info_ref): New function to up the refcount.
-       (camel_message_info_dup_to): Sewt the refcount of the dest to 1.
-       (camel_message_info_new): Set refcount to 1.
-       (camel_message_info_new_from_header): Dont allocate the mi
-       ourselves.
-       (camel_message_info_free): Handle refcounting.
-       (camel_message_info_ref): New function.
-       (camel_folder_summary_index): Ref the messageinfo before returning
-       it.
-       (camel_folder_summary_uid): Likewise.
-       (camel_folder_summary_save): Access the messageinfo array
-       directly, rather than through accessors (saves ref/unref).
-       (camel_folder_summary_clear): Likewise.
-       (camel_folder_summary_remove_index): Likewise.
-       (main): Free lookups.
-
-       * camel-folder-summary.h (CamelMessageInfo): Added a refcount
-       value.
-
-       * camel-folder.c (camel_folder_free_message_info): New function to
-       'free' a message info.
-       (camel_folder_get_message_info): Deconstify return.
-       (camel_folder_lock): New (internal) function to thread-lock the
-       folder.
-       (camel_folder_unlock): Likewise for unlocking.
-       (freeze): 
-       (thaw): Lock around access to folder->frozen/changed_frozen.
-       (folder_changed): Likewise.
-       (message_changed): Likewise.
-       (camel_folder_init): Init private data, locks and moved frozen
-       info.
-       (camel_folder_finalize): Free new private data, locks and moved
-       frozen info.
-       (copy_message_to): Free the messageinfo after we've used it.
-       (move_message_to): And here too.
-       (camel_folder_sync): Lock around virtual method invocation.  Just
-       locking around any virtual method that is known to need it.  This
-       is the first cut at locking.
-       (camel_folder_refresh_info): "
-       (camel_folder_expunge): "
-       (camel_folder_get_message_count): "
-       (camel_folder_get_unread_message_count): "
-       (camel_folder_append_message): "
-       (camel_folder_set_message_flags): "
-       (camel_folder_get_message_flags): "
-       (camel_folder_get_message_user_flag): "
-       (camel_folder_set_message_user_flag): "
-       (camel_folder_get_message_user_tag): "
-       (camel_folder_set_message_user_tag): "
-       (camel_folder_get_message): "
-       (camel_folder_get_uids): "
-       (camel_folder_free_uids): "
-       (camel_folder_get_summary): "
-       (camel_folder_search_by_expression): "
-       (camel_folder_free_summary): "
-       (camel_folder_search_free): "
-       (camel_folder_move_message_to): "
-       (camel_folder_copy_message_to): "
-       (copy_message_to): Dont call any of our own folder functions
-       directly, otherwise we will deadlock.
-       (move_message_to): Likewise.
-
-       * camel-folder.h (CamelFolder): Added free_message_info() function
-       & deconstify get_message_info()'s return.
-       (CamelFolder): Add a private field (for locks).
-       (struct _CamelFolder): Moved changed_changed/frozen into private
-       data, since it really is private and now needs locked access.
-
-2000-12-15  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-utils.c (header_fold): When checking to see if we
-       need to fold the header, when we come accross a \n, make sure to
-       start at p + 1 the next time through the loop or else we get into
-       an infinite loop.
-
-2000-12-13  Dan Winship  <danw@helixcode.com>
-
-       * Namespace cleanup: change a bunch of IS_CAMEL_* macros to
-       CAMEL_IS_*
-
-2000-12-13  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/imap/camel-imap-auth.c: add #include <sys/types.h> for
-       freebsd.
-
-2000-12-12  Christopher James Lahey  <clahey@helixcode.com>
-
-       * camel-folder-summary.c, camel-folder-summary.h: Added #ifndef
-       NO_WARNINGS around a #warning.  Added (void) to the prototype and
-       declaration of camel_message_info_new.
-
-       * camel-mime-message.h: Added an include for
-       camel-mime-filter-bestenc.h.  Added a prototype for
-       camel_mime_message_set_best_encoding.  Reformatted prototypes to
-       line up.
-
-       * camel-mime-parser.c: Added #if d(!)0 around the states string
-       lookup table since it's only used in debugging output.
-
-       * camel-seekable-substream.c (stream_flush): Added a cast.
-
-       * providers/imap/camel-imap-auth.c: Added #include <netinet/in.h>.
-
-       * providers/imap/camel-imap-folder.c (imap_refresh_info): Made uid
-       and flags const to fix warnings here.
-
-       * providers/imap/camel-imap-store.c (get_folder_info): Made p
-       const to fix warnings here.
-
-2000-12-12  Dan Winship  <danw@helixcode.com>
-
-       * tests/lib/Makefile.am: Add missing .h file. (From campd.)
-
-2000-12-11  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Remove use of
-       linewrap filter.  Headers are now wrapped.  encode_8bit already
-       enforces a 998 octet line limit.
-       (smtp_data): Also fixed a memleak, we always have to unref our own
-       copy of the filters.  We also dont need to remove them manually,
-       so dont bother.  The type's an int too ...
-
-       * camel-internet-address.c (internet_unformat): When scanning past
-       quotes, remove them also.
-       (camel_internet_address_format_address): If the name contains "'s,
-       or ','s then strip and quotes and wrap the whole lot in one set of
-       quotes.
-       
-       * Makefile.am (noinst_HEADERS): We dont want to install
-       camel-charset-map-private.h, ever.  There are probably other
-       similar files ..?
-
-       * camel-mime-part.c (write_to_stream): Fold header lines
-       appropriately as we're writing them out.
-
-       * camel-mime-utils.c (header_fold): Add a new argument, headerlen,
-       tells it how long the associated header token is.
-       (header_fold): Also,k check to see if we need to fold first, using
-       a better algorithm, and also accept already-folded lines, and
-       re-process accordingly.
-       (rfc2047_decode_word): Add a little buffer space to iconv output
-       for shifting overheads?
-       (rfc2047_decode_word): finish the iconv with a null call, to flush
-       shift state, etc.
-       (rfc2047_encode_word): Attempt to break up long words into
-       appropriately sized, independent, chunks.  See rfc2047, section 2.
-       (header_decode_mailbox): Dont add in extra spaces into the output
-       if we are decoding adjacent encoded words.  We can only guess this
-       case, as some broken mailers put encoded words inside quoted
-       words.
-       (header_encode_phrase): Dont merge words if they are going to end
-       up too long.  Also change back ot only merge consecutive words of
-       the same type.  e.g. 'foo. blah fum.' -> "foo." blah "fum."  or
-       'iam an. idiot' -> iam "an." idiot
-
-       * camel-medium.c (camel_medium_set_header): Hrm, we actually want
-       to call set_header, not add_header here, probably explains some
-       duplicate X-Evolution headers i was trying to track down.  Also
-       changed the api to handle a NULL value == remove the header.
-
-       * providers/local/camel-maildir-summary.c
-       (maildir_summary_decode_x_evolution): Always return error, we dont
-       use x-evolution for maildir.
-       (maildir_summary_encode_x_evolution): Always return a NULL string,
-       likewise.
-       (maildir_summary_add): Hook in here, since the _new function
-       doesn't have access to any flags from the caller.  If we have
-       flags, then update the filename again.  Not ideal, but should
-       work.
-
-2000-12-08  JP Rosevear  <jpr@helixcode.com>
-
-       * tests/message/Makefile.am: Remove test3 from build until the files
-       show up
-       
-2000-12-09  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-message.c (camel_mime_message_set_date): Change the
-       sign of the default date offset when none is supplied.
-       (camel_mime_message_set_date): Also do dst if its dst (forward 1
-       hour).  Fixes #928 + some.
-
-2000-12-06  Not Zed  <NotZed@HelixCode.com>
-
-       * tests/lib/camel-test.h (check): Change line no format so that
-       emacs can detect it.
-
-2000-12-06  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_refresh_info): We want
-       to bitwise-or the server and cached flags here so that we keep the
-       flags that we have set locally and set any additional flags that a
-       parallel connection may have set.
-
-2000-12-05  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): If the data
-       wrapper fails to be written to the stream, unref it and the
-       filters before returning.
-
-2000-12-05  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): use
-       BODY.PEEK[] rather than RFC822, so the message doesn't get marked
-       as \Seen.
-       (imap_refresh_info): Fix a really really really dumb bug.
-
-2000-12-05  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_set_message_flags): Fix
-       the check for "flags aren't actually changing".
-
-       * providers/local/camel-local-folder.c (local_set_message_flags,
-       local_set_message_user_flag, local_set_message_user_tag): Don't
-       emit message_changed unless the flags actually changed.
-
-       * providers/nntp/camel-nntp-folder.c
-       (nntp_folder_set_message_flags): Don't emit message_changed unless
-       the flags actually changed. Fix the check for marked as seen.
-
-2000-12-05  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-seekable-substream.c (stream_flush): stream_flush does
-       make sense for a substream afterall (if you have a stream_write).
-       (stream_write): Implement this.
-       (stream_seek): Change the STREAM_END behaviour to be more sane.
-       if bounded go from the end of the bound, if unbounded, go from the
-       end of the parent stream.
-
-       * camel-stream-mem.c (stream_read): Dont return error if reading
-       past the end of data, just return 0.
-
-       * camel-stream-fs.c (camel_stream_fs_init): Initialise the stream
-       to be unbound.
-       (stream_seek): Fix the logic when seeking from the end of an
-       unbounded stream.
-       (camel_stream_fs_new_with_fd): If the fd is invalid (-1), then
-       return NULL immediately.
-       (stream_seek): Range check a SEEK_END so it fits within
-       bound_start.
-
-2000-12-01  Not Zed  <NotZed@HelixCode.com>
-
-       * tests/lib/folders.c (test_folder_basic): New test to perform
-       basic store operations on folders (taken from folders/test1).
-       (test_folder_message_ops): Tkane the guts out of folders/test2.
-
-2000-12-04  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): i18n-ize
-       exception strings.
-       (get_name): And here.
-       (_send_to): Here too.
-       (smtp_helo): And here and there...
-       (smtp_mail): And around the square...
-       (smtp_rcpt): Saying catch me if you can...
-       (smtp_data): And here three.
-       (smtp_rset): And here.
-       (smtp_quit): And finally here.
-
-2000-12-01  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-folder-search.h: Added system_flag to CamelFolderSearchClass
-
-       * camel-folder-summary.c (camel_system_flag_get): Convenience
-       function to return whether or not a flag is set using a string as
-       the flag name.
-       (camel_system_flag): Return the integer value of the flag string.
-
-       * camel-folder-search.c (search_system_flag): New ESExp callback
-       for allowing vfoldering on CamelMessageInfo flags.
-
-2000-12-01  Dan Winship  <danw@helixcode.com>
-
-       * camel-service.c (camel_service_disconnect): Don't
-       g_return_if_fail if the service is already disconnected. Just
-       return.
-
-       * providers/pop3/camel-pop3-store.c (pop3_try_authenticate):
-       Return FALSE (don't try again) if we get CAMEL_POP3_FAIL.
-       (pop3_connect): If we don't succeed, disconnect.
-
-2000-11-30  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c
-       (parse_list_response_as_folder_info): Fix a possible bug where
-       'name' could be uninitialized.
-
-       * camel-folder-summary.c (camel_message_info_new): New convenience
-       function, doesn't do much but it sure makes code cleaner to read.
-       (camel_message_info_new_from_header): This one makes my life heaven.
-
-2000-11-30  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-summary.c (camel_imap_summary_new):
-       Handle the case where the summary failed to load - clear the
-       summary and then set the dirty bit so that it is sure to save
-       later. Is this the right fix?
-
-2000-11-30  Dan Winship  <danw@helixcode.com>
-
-       * camel-exception.c (camel_exception_setv): Remove unused
-       variable.
-
-2000-11-30  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/local/camel-mbox-folder.c (mbox_get_message): Remove
-       assertion that content is there, when it no longer can be.
-
-       * camel-folder-summary.h: Removed pos/bodypos/endpos from
-       camelmeessagecontentinfo.
-       (CamelMessageFlags): Added an attachments flag.
-
-       * providers/local/camel-local-summary.h: Added load virtual
-       function.
-
-       * tests/lib/folders.c (test_message_info): Accessors.
-       (test_folder_message): "
-
-       * camel-folder-thread.c (get_root_subject): Fix accessors.
-       (dump_tree_rec): "
-
-       * camel-folder-search.c (camel_folder_search_execute_expression):
-       Accessors for messageinfo.
-       (search_match_all): "
-       (search_header_contains): "
-       (search_header_contains): "
-       (search_body_contains): "
-       (camel_folder_search_execute_expression): Use mepool_strdup.
-
-       * providers/local/camel-mbox-summary.c (summary_update): Accessors
-       for messageinfo.
-       (mbox_summary_sync_full): "
-
-       * providers/local/camel-mh-summary.c (remove_summary): Accessors
-       for messageinfo.
-       (mh_summary_check): "
-       (mh_summary_sync_message): "
-       (mh_summary_sync): "
-
-       * providers/local/camel-mh-folder.c (mh_append_message): Use
-       accessor for uid.
-
-       * providers/local/camel-local-summary.c
-       (local_summary_decode_x_evolution): Use accessor to uid.
-       (local_summary_encode_x_evolution): Likewise.
-       (message_info_new): And here.
-       (camel_local_summary_load): Call virtual load function.
-       (local_summary_load): Default load function, load summary.
-       (camel_local_summary_load): Check file exists before trying to
-       load.
-       (camel_local_summary_construct): Turn off building content info!
-       (CAMEL_LOCAL_SUMMARY_VERSION): Bump, since we dont build content
-       info anymore.
-       (camel_local_summary_load): After a successful load/check, do a
-       save too so we dont have to go through it again randomly.
-
-       * providers/nntp/camel-nntp-utils.c (get_XOVER_headers): Use
-       accessors for messageinfo.
-
-       * providers/nntp/camel-nntp-folder.c (nntp_folder_get_uids): Use
-       accessors for uid.
-
-       * providers/imap/camel-imap-folder.c (imap_refresh_info): Use
-       accessor for uid.
-       (imap_sync): Likewise.
-       (imap_get_uids): Likewise.
-       (imap_update_summary): And here.
-
-       * providers/vee/camel-vee-folder.c (vfolder_remove_match): Use
-       accessor for uid.
-       (vfolder_add_match): Handle estrv stuff.
-       (vfolder_change_match): Accessor for uid.
-       (get_real_message): "
-       (vee_get_uids): "
-       (vee_folder_build): " + estrv.
-       (vee_folder_build_folder): "
-
-       * providers/local/camel-maildir-folder.c (maildir_append_message):
-       Use acccessors for uid's.
-       (maildir_get_message): Here too.
-
-       * providers/local/camel-maildir-summary.c
-       (camel_maildir_summary_init): Setup the string count for us.
-       (message_info_new): Access the string array directly.
-       (message_info_free): No need to free string if using array.
-       (camel_maildir_summary_info_to_name): Use accessor to get to uid.
-       (remove_summary): And here.
-       (maildir_summary_check): Likewise.
-       (maildir_summary_sync): And here.
-       (maildir_summary_load): Load up a cache of uid->filename mappings
-       before loading the actual summary file.  This saves us having to
-       waste the diskspace storing the filenames in the summary itself,
-       and also helps us sync the summary better on load.
-       (message_info_load): If we have the load_map setup, and the uid
-       exists, then set the filename cache from it, and update the flags
-       from the name, incase our summary mismatches it.
-
-       * camel-folder-summary.c (camel_folder_summary_init): Setup string
-       count for compressed info record.  An optional compile mode which
-       stores all strings for a given messageinfo into a packed array,
-       which should save 36-50 bytes/record.
-       (camel_folder_summary_info_new): Init the string array.
-       (message_info_new): Set the string array items, as required.
-       (message_info_load): And here too.
-       (message_info_save): Use accessors to get to strings.
-       (message_info_free): Free strings as one.
-       (camel_message_info_dup_to): Handle packed array case.
-       (camel_folder_summary_add): Use accessors.  And pack the strv
-       before storing it.
-       (summary_assign_uid): New function to assign a unique uid to a
-       message, if it doesn't have one.
-       (camel_folder_summary_add): Call assign_uid instead of doing it
-       ourselves.
-       (camel_folder_summary_info_new_from_parser): "
-       (camel_folder_summary_info_new_from_message): "
-       (camel_folder_summary_encode_string): constify.
-       (camel_folder_summary_encode_token): "
-       (summary_build_content_info_message): Fix accessors to messageinfo.
-       (CAMEL_FOLDER_SUMMARY_VERSION): Bumped, for removal of
-       contentinfo->pos data.
-       (camel_folder_summary_info_new_from_parser): Calculate the size
-       based on the parser position, not the removed contentinfo stuff.
-       (camel_folder_summary_info_new_from_message): Remove size stuff.
-       (camel_folder_summary_offset_content): Removed, no longer means anything.
-       (content_info_new): 
-       (content_info_load): 
-       (content_info_save): 
-       (summary_build_content_info): Remove stuff for contentinfo->pos*.
-       (summary_build_content_info): Take a msginfo argument, set
-       attachments flag if we find any attachments.
-       (summary_build_content_info_message): set attachments flag if we
-       find any attachments.
-       (camel_folder_summary_info_new_from_parser): Always scan the
-       content info, even if we dont save it.
-       (camel_folder_summary_info_new_from_message): And here too.
-       (summary_build_content_info): Only create the contentinfo stuff if
-       we have it turned on, otherwise just parse and discard.
-       (summary_build_content_info_message): Likewise.
-
-2000-11-29  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-store.c (camel_store_get_folder): Updated the gtk-doc
-       comment.
-
-2000-11-29  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-utils.c: 
-       * camel-mime-filter-charset.c: Use iconv instead of unicode_iconv.
-
-       * providers/imap/camel-imap-command.c (imap_read_untagged): Fix
-       some off-by-one-ness.
-
-       * camel-stream-buffer.c (stream_read): Fix another bug found in
-       previously-unused code here.
-
-2000-11-29  Ettore Perazzoli  <ettore@helixcode.com>
-
-       * tests/lib/Makefile.am (INCLUDES): `$(top_srcdir)' for builddir
-       != srcdir compilation.
-
-2000-11-29  Not Zed  <NotZed@HelixCode.com>
-
-       * tests/message/test2.c (main): Add a missed unref.
-
-       * camel-stream-mem.c (camel_stream_mem_set_buffer): We must set
-       ourselves as the owner of the byte-array.
-       Weird, someone has modified this file (its been reindented), but i
-       can't see any changelogs ...
-
-       * tests/lib/messages.c (content_finalise): Fix memleak in tester,
-       free byte array when our content object is deleted.
-
-       * camel-folder-search.c (camel_folder_search_finalize): Yeah
-       great, so the sexp is a gtk object, not a camel object.  Isn't
-       that going to be fun to fix?
-
-       * camel-session.c (camel_session_finalise): Free the storage path.
-
-       * providers/local/camel-local-store.c (camel_local_store_init): If
-       store->folders is setup, free it first, then overwrite.  Hmm,
-       this seems a bit crappy to me.
-
-       * camel-store.c (camel_store_init): Dont setup store->folders if
-       its already setup.
-
-       * camel-exception.c (camel_exception_setv): Removed a memleak.  no
-       need to strdup after a strdup_printf!!!
-
-       * camel-address.c (camel_address_finalize): Free the address
-       ptrarray, once finished.
-
-       * providers/local/camel-local-folder.c (local_finalize): Make sure
-       we dont leave the folder locked on close.
-       (local_finalize): Free summary/search.
-
-       * providers/local/camel-mh-summary.c (mh_summary_next_uid_string):
-       Small memleak, always free name after using it.
-
-       * camel-mime-part.c (set_content_object): Free txt after setting
-       the header.
-
-       * providers/local/camel-maildir-summary.c (maildir_summary_check):
-       Fix a memleak, close the dir after scanning new.
-       (message_info_free): Added so we can free the filename cached in
-       the messageinfo.
-       (camel_maildir_summary_finalise): Free the hostname.
-
-       * tests/folder/test[12].c (main): Clear out camel-test before
-       starting.
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync_quick):
-       Because encode_x_evolution folds the line (sigh, because
-       encode_param does, unlike every other function in
-       camel-mime-utils), unfold the encoded result before comparing.
-       (mbox_summary_sync_quick): Another small memleak, free xevnew once
-       finished with it.
-
-       * camel-mime-utils.c (header_decode_quoted_string): Removed a
-       redundant check for c=0.
-       (header_unfold): New function to un-fold headers.
-
-       * providers/local/camel-local-summary.c
-       (local_summary_encode_x_evolution): some problems with encoding
-       tags, using the wrong output strings.
-       (local_summary_encode_x_evolution): We dont need to append a ;
-       either, param_list_format_append() will do it for us.
-
-2000-11-28  JP Rosevear  <jpr@helixcode.com>
-
-       * camel-lock.c: No longer hard code the enabled lock types
-
-2000-11-28  Dan Winship  <danw@helixcode.com>
-
-       * camel-remote-store.c (remote_recv_line): Don't set exception to
-       g_strerror (errno) when nread == 0, because it won't have been
-       set.
-
-       * providers/pop3/camel-pop3-folder.c (pop3_finalize): Don't try to
-       free things if they haven't been set yet.
-
-2000-11-28  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): Clear the
-       exception if EHLO fails before trying HELO in the cases where the
-       SMTP provider doesn't announce its ESMTPness.
-
-2000-11-28  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/local/camel-maildir-summary.c
-       (camel_maildir_summary_init): Set the info size's properly, oops!
-
-       * tests/lib/folders.[ch]: Folder testing helpers.
-
-       * tests/folder/test2.c: Test basic message ops on folders.
-
-       * tests/folder/test1.c (main): Test basic folder ops on (local)
-       stores.
-
-       * providers/local/camel-local-provider.c
-       (camel_provider_module_init): Removed some debug.
-
-       * providers/local/camel-maildir-folder.c
-       (camel_maildir_folder_class_init): fix parent class.
-
-       * providers/local/camel-mh-folder.c (camel_mh_folder_class_init):
-       Fix parent class (damn cut & paste).
-
-       * providers/local/camel-maildir-store.c (get_folder): Call parent
-       impl.
-       (camel_maildir_store_class_init): Fix parent class setup.
-       (delete_folder): Check the folder exists before trying to delete
-       it.
-       (delete_folder): Try and make the delete operation atomic/rollback
-       failures.  e.g. if one directory isn't empty, then create the
-       other empty ones back.  Also clear the tmp directory fully first.
-
-       * providers/local/camel-mbox-store.c (get_folder): Call parent
-       impl.
-       (camel_mbox_store_class_init): parent class is camel_local_store,
-       not camel_folder, oops.
-       (delete_folder): Return an error if it doesn't exist, rather than
-       covering it up.
-
-       * providers/local/camel-mh-store.c (get_folder): Call parent impl.
-       (camel_mh_store_class_init): fix parent class setup.
-       (delete_folder): Error if it doesn't exist now.
-
-       * camel-folder.c (camel_folder_move_message_to):
-       (camel_folder_copy_message_to): Added warnings as these functions
-       are going to be removed later.
-
-       * camel-store.c (camel_store_get_root_folder): Fix for an early
-       api change.  We want CAMEL_STORE_FOLDER_CREATE, not TRUE, since
-       its a flag.
-       (camel_store_get_default_folder): And here too.
-
-       * providers/local/camel-local-store.c (xrename): Handle renaming
-       folders differently to renaming files.
-       (get_default_folder_name): local stores dont have a default
-       folder, so make it so.  Or at least, it doesn't seem to make sense
-       to have one.
-       (get_root_folder_name): Same for root.
-       (get_folder): Added parent implementation, that makes sure the
-       service path exists, if we are creating a new folder (but doesn't
-       create the folder).
-
-2000-11-27  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/local/camel-local-store.c (xrename): Fixed races.  Use
-       link/unlink, rather than rename, to properly detect overwriting
-       another file.  And allow some files to be missing.
-
-2000-11-28  Radek Doulik  <rodo@helixcode.com>
-
-       * providers/local/camel-local-summary.c
-       (local_summary_decode_x_evolution): add scan = scan->next; to
-       avoid infinite loop
-
-2000-11-27  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-command.c (imap_read_untagged): Make
-       this gratuitously more complicated. No wait, I mean, fix bugs. Now
-       fully handles NULs in the data stream (which "can't happen" but
-       do) and also handles responses containing multiple literals. Also
-       does less copying than the original code.
-
-       * camel-stream-buffer.c (stream_read): Fix a bug that could make
-       it lose sync and/or overrun buffers.
-
-2000-11-27  JP Rosevear  <jpr@helixcode.com>
-
-       * providers/local/.cvsignore: shush
-
-2000-11-27  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/Makefile.am: Removed mh, mbox, added local, to the default.
-
-2000-11-24  Not Zed  <NotZed@HelixCode.com>
-
-       * tests/data/getaddr.pl: little util to scan mailboxes for any and
-       every address they contain.
-
-       * tests/message/test2.c (main): Added a bunch of stuff to test
-       decoding/reencoding/etc of internationalised addresses.
-
-       * tests/message/lib/address-data.h: Copy of some unicode/other
-       testing data.  **Beware** of editing this file in emacs, it'll
-       probably try and convert all the characters to something
-       unusable.
-
-       * tests/lib/camel-test.c (camel_test_break): Add a debugger hook
-       point.
-
-       * camel-mime-utils.c (quoted_encode): Check for space and convert
-       to _ separately.
-       (header_decode_mailbox): Fixed the 'check comments for realname'
-       code, problem was the domain getting code was skipping all
-       whitespace/comments before we could get a look-in.  This is
-       approximate but fairly robust.
-       (header_decode_text): Dont use the c-type isspace func here, we
-       want a specific whitespace only.
-       (header_decode_text): If we have decoded words next to each other,
-       do not insert whitespaces between them, which is what rfc2047 requires.
-       (header_decode_text): Make c unsigned too.
-
-       * tests/README: Added at least some explanation of all this stuff.
-
-       * tests/lib/camel-test.h (check_msg): Added a non-gcc version of
-       the fail command, we dont get the expression that failed, but no
-       matter.  Should be (more) portable now.
-       (check, check_msg): Put the file/lineno in the default message.
-
-       * Makefile.am (SUBDIRS): Add tests.
-
-       * camel-mime-filter-basic.c (filter): Well, I'll add the extra
-       bytes here too, lathough not strictly needed, might save a
-       re-malloc when we get to complete().
-
-       * camel-mime-filter-charset.c (filter): Make sure we have room if
-       we only convert very short data.
-       (complete): and here too.
-
-       * tests/Makefile.am: Initial test harness & tests.  Requires gcc
-       for this.
-
-       * camel-internet-address.c (d): Turn off debug.
-
-       * camel-charset-map.c (camel_charset_step): Oops, & masks for set
-       intersection, not | them.  Dunno how this got even close to
-       working.
-
-2000-11-23  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-filter-basic.c (filter): For base64 encoding, the
-       output size for 0, 1, or 2 bytes of input can exceed input*2, so
-       make sure we account for that as well.
-       (complete): And here.
-       (complete): Similarly for qp encoding, if we have a trailing
-       space, we need some extra bytes (not needed for 'filter()', as any
-       such bytes are stored in state/save).
-
-       * camel-mime-utils.c (quoted_decode_step): Removed fixme not required.
-       (quoted_encode_close): Dont append a trailing afterall.  Otherwise
-       a pass through the encode/decode will grow the message each time.
-
-2000-11-22  Radek Doulik  <rodo@helixcode.com>
-
-       * camel-mime-utils.c (header_msgid_generate): check for return
-       values
-
-2000-11-21  Dan Winship  <danw@helixcode.com>
-
-       * camel-lock.c: 
-       * camel-movemail.c: add #ifdef HAVE_ALLOCA_H
-
-2000-11-21  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/local/camel-mh-summary.c (mh_summary_sync_message):
-       Shite, -1 on error, >=0 on success.  So i've just been truncating
-       all the messages I touched, good one zed.
-       (mh_summary_sync_message): Sigh, and write to the right damn fd as
-       well.
-       (mh_summary_sync_message): Argh, and we need to compare the length
-       of the old xev -1 to the new xev, to check if we can optimise it.
-
-       * camel-folder.c (camel_folder_change_info_new): Init the pool.
-       (camel_folder_change_info_add_source): Allocate string in the
-       pool.
-       (camel_folder_change_info_add_source_list): 
-       (camel_folder_change_info_add_update): No longer free the key, as
-       it cannot be yet.
-       (change_info_add_uid): Add a new arg, copy, telling it whether to
-       copy the uid argument or not, and copy using mempool_strdup.
-       (change_info_cat): Tell add_uid to copy the string.
-       (camel_folder_change_info_add_update): Call add_uid directly.
-       (change_info_remove): Call add_uid directly, with no copy, and
-       dont free the key.
-       (change_info_free_update): No longer required since we dont malloc
-       the keys.
-       (camel_folder_change_info_add_uid): Fix for add_uid change.
-       (camel_folder_change_info_remove_uid): 
-       (camel_folder_change_info_change_uid): 
-       (change_info_clear): No longer needed, just set the size to 0 on
-       the array directly.
-       (camel_folder_change_info_clear): Empty the arrays directly, and
-       flush the mempool too, and also clear uid_source, incase anyone
-       was silly enough to call us in the wrong order.
-       (camel_folder_change_info_free): Dont bother clearing the array's
-       contents, just free the pool and throw away all the indexes.
-
-       * camel-folder.h: Added a mempool to CamelFolderChangeInfo to
-       store the uid's we get.
-
-       * camel-folder-search.c (search_match_all): If we are only
-       matching a single info, just use that/do the search.
-       (camel_folder_search_match_expression): New function.  Matches a
-       single message info against an expression.
-       (camel_folder_search_init): Init a hash table used to map the
-       returned gptrarrays' to mempools.
-       (camel_folder_search_execute_expression): Store all of the string
-       data in a mempool, slightly faster, less wasted space (usually),.
-       (camel_folder_search_free_result): Check for the mempool that
-       stores the data for the list, and free that if we have it,
-       otherwise assume we need to use g_free() (which should only happen
-       if the list is empty at the moment).
-       : commented out the debugging prints.  Got sick of 'executing
-       header search' crap.
-
-       * providers/vee/camel-vee-folder.c (camel_vee_folder_init): Init
-       changes.
-       (camel_vee_folder_finalise): Free changes.
-       (vfolder_add_match): Simple helper to add a new matching info
-       record.
-       (camel_vee_folder_add_folder): Only trigger a changed event if we
-       have changes.
-       (vfolder_change_match): New function, changes our local vfolder
-       info to match the source.
-       (vfolder_add_match): Add a new info to the vfolder list.
-       (vfolder_remove_match): Remove a no-longer matching info from the
-       vfolder summary.
-       (message_changed): check if the message still matches, and
-       remove/etc as required.
-       (camel_vee_folder_finalise, init): init/free search object.
-       (vee_folder_build_folder): Build the changes to the folder into
-       the changes data, as we go.
-       (folder_changed): If the folder gave us an explicit list of
-       changes, then process each one separately (unless there's a lot
-       added/changed).
-
-       * providers/vee/camel-vee-folder.h: Added a changes field to the
-       folder.
-
-       * Makefile.am (libcamel_la_SOURCES): Added
-       camel-folder-thread.[ch].
-
-       * camel-folder-thread.c: message-threading algorithm, taken from
-       evolutions' mail component, as it is generally more useful than
-       just for evolution itself.  Changed to use e-memchunks as well to
-       speed it up a little and use less mem.
-
-2000-11-20  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-remote-store.c (remote_recv_line): Fixed to return the
-       correct bytecount in all cases which is the real fix to
-       imap_parse_nstring.
-
-       * providers/imap/camel-imap-command.c (imap_read_untagged): Again,
-       don't use strlen for the post-data, use 'n'.
-
-       * providers/imap/camel-imap-utils.c (imap_parse_nstring): Undo my
-       previous temp-fix.
-
-2000-11-20  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/nntp/camel-nntp-utils.c (get_XOVER_headers): Fixes for
-       the summary messageid changes.  Hash the messageid and store it.
-       (get_XOVER_headers): Use camel_folder_summary_info_new() to create
-       the summary item before adding it.
-
-       * camel-folder-summary.h (CamelMessageInfo): Changed the
-       messgae-id to be an 8 byte md5 hash, and the references list to be
-       an array of these.
-
-       * providers/local/camel-mh-summary.c (mh_summary_sync_message):
-       New function, sync out the message info stuff.  Only updates the
-       X-Ev header if it can get away with it, otherwise writes out a
-       whole new message.
-       (mh_summary_sync): Added more functionality.  All summary info is
-       now written to the X-Ev header, etc, and new messages re-written
-       if required during the sync process.
-
-       * providers/local/camel-local-folder.c
-       (local_set_message_user_flag): Set the XEVCHANGE flag.
-       (local_set_message_user_tag): And here too.
-
-       * providers/local/camel-local-summary.h: New flag
-       CAMEL_MESSAGE_FOLDER_XEVCHANGE to indicate the XEV header has
-       probably changed size and needs to be rewritten in whole.
-
-       * camel-folder-summary.c (next_uid_string): Want this static, not
-       const.
-       (message_info_new): Store the references and message-id values as
-       64 bit, binary hashes.
-       (message_info_load): fix for message-id/references changes.
-       (message_info_save): Likewise.
-       (camel_message_info_dup_to): And here.
-       (camel_message_info_free): And here too.  No longer free
-       message_id, and simple free for references array.
-       (CAMEL_FOLDER_SUMMARY_VERSION): Bumped file revision.
-       (camel_folder_summary_init): Init memchunk allocators to empty.
-       (camel_folder_summary_finalize): Free memchunk allocators if
-       there.
-       (message_info_new): Use the chunk allocator to allocate message
-       info's. 
-       (camel_folder_summary_info_new): New helper to allocate the
-       message info, and setup the memchunk if required.
-       (content_info_alloc): Likewise for content info's.
-       (message_info_load): Use summary_info_new_empty.
-       (content_info_new): Use content_info_alloc.
-       (content_info_load): "
-       (content_info_free): Free the content info as a memchunk.
-       (message_info_free): Free everything directly and the base as a
-       memchunk, rather than calling camel_message_info_free(), which
-       assumes a malloc'd array.
-
-       * providers/local/camel-local-summary.c: Include ctype.h, kill a
-       warning.
-       (local_summary_decode_x_evolution): If we get a NULL message info,
-       then dont try and set anything, just check for validity.
-       (camel_local_summary_write_headers): New function to write a set
-       of headers to an fd.
-       (camel_local_summary_check): Added some statistic generation
-       stuff for memory profiling.
-
-       * providers/local/camel-mbox-summary.c (header_write): Changed to
-       use stdoi functions to write out the header to a buffered stream,
-       instead of using writev, which is apparently slow (and writing
-       each line separately is slow anyway).
-       (mbox_summary_sync_full): New implementation.  Does things
-       differently, doesn't use or require the content info stuff.
-       (summary_rebuild): Dont return an error if we start scanning at
-       the end of file.
-       (mbox_summary_sync_full): If we are not writing out new headers,
-       make sure we copy the From line as we go, and update frompos
-       appropriately.
-       (mbox_summary_sync_full): Always copy the From line from the
-       existing one, rather than trying to make one up ourselves.
-       (mbox_summary_sync): If we can get by with a quick-sync, then try
-       it, if that fails, then try a full sync anyway.
-       (mbox_summary_sync_quick): Quick sync.  Only update system flags,
-       etc.
-       (mbox_summary_sync_full): Use the proper local summary encode_xev
-       function.
-       (header_evolution_decode): Removed, no longer needed.
-       (header_evolution_encode): Same.
-       (copy_block): No longer needed, removed.
-       (header_write): Removed, replaced with
-       camel_local_summary_write_headers.
-       (mbox_summary_sync_full): Fixed for header_write change.
-
-       * camel-mime-parser.c (folder_scan_step): Implement the new
-       optional parser state HSCAN_PRE_FROM, that returns the (currently
-       unfiltered) input data.
-       (folder_scan_drop_step): Do the right thing for the PRE_FROM
-       state.
-       (camel_mime_parser_scan_from): Update the doco.
-       (camel_mime_parser_scan_pre_from): Ok, make this behaviour
-       optional, it simplifies a lot of loops that dont otherwise need to
-       know about it.
-       (folder_scan_step): Made the PRE_FROM state optional.
-       (struct _header_scan_state): Made the bool vars 1 bit.
-       (folder_pull_part): Free the from_line buffer if it is there.
-       (folder_scan_skip_line): Added a new arg, can save the skpped data
-       to a byte_array, as we go.
-       (folder_scan_step): Fixed calls to skip_line approrpiately.  Now
-       we save the from line as we parse it.
-       (camel_mime_parser_read): New function to read from the mime
-       parser buffer directly.  Useful if you use the parser to read the
-       first/some headers, then need to scan the rest of the data,
-       without needing to use a seek(), or allocate your own buffers.
-
-       * camel-mime-parser.h (struct _header_state): Added a new parser state,
-       pre-from which returns any data found before a from line during
-       parsing (all other data can be retrieved by the caller except
-       this).
-
-2000-11-17  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-utils.c (imap_parse_nstring): When
-       extracting a literal string, capture up until the end of the last
-       line - this we we don't lose any data if the byte count is off.
-
-       * providers/imap/camel-imap-command.c (imap_read_untagged): Use
-       the byte-read count to decrement the number of bytes left to read
-       rather than using strlen. Not only does this protect against a DoS
-       (embedded NUL chars in the literal string would make strlen
-       inaccurate) but it also improves performace a little.
-
-       * camel-remote-store.c (remote_recv_line): *Sigh* Return the
-       number of bytes read on success rather than 0. Also don't use
-       camel_stream_buffer_read_line since we can't get an accurate octet
-       count.
-
-2000-11-17  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/local/camel-local-summary.c (local_summary_add): Clear
-       the NOXEV/FLAGGED bits, since we do have an xev header.  um m,
-       maybe this is right, this assumes a write is following.  Maybe
-       this should be done in folder::append() instead ...
-
-       * camel-stream-buffer.c (camel_stream_buffer_gets): We should
-       always terminate the string.  No need to check outptr is in range,
-       its already been checked.
-
-       * providers/local/camel-mbox-summary.c (mbox_summary_sync): When
-       we update the summary, do it from mbox_summary->folder_size, not
-       the content info endpos (which isn't any good anymore anyway).
-
-       * providers/local/camel-mbox-folder.c (mbox_append_message): Set
-       the frompos from the current folder size, since summary_add wont
-       have initialised it to anything useful.
-
-2000-11-16  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/local/camel-local-summary.c
-       (local_summary_encode_x_evolution): Check the uid string is all
-       digits before trying to write a 'standard' x-ev header.
-
-       * providers/local/camel-maildir-summary.c
-       (camel_maildir_summary_info_to_name): Convert an info into a
-       maildir name:info filename.
-       (camel_maildir_summary_name_to_info): Convert a name:info filename
-       into an info, and tell us if it didn't match it.
-       (message_info_new): When creating a new filename, gets its info
-       from the flags field.  Likewise if creating from an existing file,
-       extract the flags.
-       (maildir_summary_sync): Remove a small memleak.  Also, if our
-       flags and that requires a filename change, perform that here.
-       (message_info_new): Get the received date from the filename.
-       Also, dont overwirte the uid if we have one.
-       (maildir_summary_check): Sort the summary in received order before
-       completion.
-       (maildir_summary_next_uid_string): Test the name for collusions
-       before we give it out.  Retry, and if that fails, well, I guess we
-       collide :(
-
-       * providers/local/camel-mbox-folder.c (mbox_lock): Implement mbox
-       locking.
-       (mbox_unlock): And unlocking.
-       (mbox_append_message): Lock the folder for write before doing
-       anything.
-       (mbox_get_message): Lock the folder for read before doing
-       anything.
-
-       * providers/local/camel-local-folder.c (camel_local_folder_lock):
-       Implement something here.  We handle the recursive ability but
-       pass the locking to the folder itself.
-       (camel_local_folder_unlock): Likewise for unlocking.
-       (local_lock): Default - do nothing, return success.
-       (local_unlock): Same.
-       (local_sync): Changed slightly for locking api changes, and also,
-       only lock around the sync process itself.
-
-       * camel-lock.c: New file - utility functions for locking using
-       different strategies and/or for locking folders safely.
-
-       * Makefile.am (libcamel_la_SOURCES): Adde camel-lock.[ch]
-
-2000-11-15  Radek Doulik  <rodo@helixcode.com>
-
-       * camel-mime-utils.c: mime_guess_type_from_file_name moved back to
-       composer as it introduced unwanted VFS dependency
-       removed  #include <libgnomevfs/gnome-vfs.h>
-
-2000-11-15  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/Makefile.am: Removed local again, not quite ready.
-
-2000-11-14  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-folder-summary.c (message_info_new_from_message): Use
-       message_info_new to create the summary from headers, instead of
-       getting directly from the message.
-       (format_recipients): No longer required.
-
-       * providers/Makefile.am (SUBDIRS): Added local.
-
-2000-11-11  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-parser.c (folder_push_part): Make sure 'atleast' is
-       at least 1, always.  This is possibly a temporary fix for a
-       bad failure mode on bad multipart messages.
-       (folder_scan_content): Go until inend, not inend+1.  Changed the
-       continuation and retry logic to be simpler and more robust.  If we
-       can't find a marker within
-       the atleast we need, just set it to 1, and try again, rather than
-       just going to the next smaller limit (boundary check checks the
-       length anyway).
-       (header_append): streamline the empty line case.  And strip
-       trailing \r's if there are any (\n's already stripped).
-       (folder_scan_header): Reordered and cleaned up a lot.  Check for
-       continuation only once, and compress lwsp then. Assume the header
-       buffer already has end of line's stripped, and simplify some things:
-               Only check for end of headers once and easier.
-               Dont check to remove end of line character
-       Dont bother testing inptr-start if we get a boundary match - it is
-       always zero.
-       (folder_scan_header): Removed the unused part variable, and a few
-       pointless assignments.
-       (folder_scan_header): Change the end limit to be 1 higher, to make
-       sure we get all content.
-       (folder_scan_content): And here too.
-       (folder_scan_header): Killed a warning.
-       (folder_push_part): Removed a bad comment.  Actually
-       boundarylenfinal can be zero for a new message not in a
-       multipart.  So we fix that here.
-
-2000-11-09  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-utils.c (header_decode_param_list): Renamed from
-       header_param_list_decode.
-       (header_param_list_decode): New external function to decode a
-       parameter list.
-       (header_param_list_format_append): Made public.
-       (header_param_list_format): Another new public helper function for
-       formatting just a param list.
-
-       * camel-folder-summary.c (next_uid_string): Default implementation
-       is the same as before.
-       (camel_folder_summary_class_init): And set it up.
-
-       * camel-folder-summary.h: Make next_uid_string a virtual function.
-
-       * camel-folder.c (camel_folder_change_info_changed): New function
-       to return true if the changeset contains any changes.
-
-2000-11-14  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-stream.c (camel_stream_printf): Don't cast an int to a
-       ssize_t.
-
-2000-11-10  Dan Winship  <danw@helixcode.com>
-
-       * providers/mbox/camel-mbox-summary.c
-       (camel_mbox_summary_build_from): put a space before a single-digit
-       day of the month since it seems some mailers are fantastically
-       picky about this. (bugs.gnome.org #27232)
-
-2000-11-10  Radek Doulik  <rodo@helixcode.com>
-
-       * camel-mime-utils.c (header_msgid_generate): fix ids ending with '.'
-
-2000-11-09  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-auth.c (imap_try_kerberos_v4_auth):
-       Fix error handling. (Only send a "*" to bail out of authentication
-       if the server hasn't already bailed on us.)
-
-2000-11-08  Radek Doulik  <rodo@helixcode.com>
-
-       * camel-mime-utils.c (mime_guess_type_from_file_name): new
-       function, moved from composer
-
-2000-11-08  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-message.c (find_best_encoding): Keep track of the
-       caller bestenc flags that make sense.
-       
-       * camel-mime-filter-bestenc.c (filter): Added code to detect when
-       we have "^From " lines in the sequence of text.
-       (camel_mime_filter_bestenc_get_best_encoding): Added a new flag
-       CAMEL_BESTENC_NO_FROM: if set, it will not allow any lines
-       matching "^From " to appear in the output - currently forcing
-       base64 encoding to achieve this.
-
-       * camel-mime-parser.c (folder_scan_step): Call
-       camel_mime-filter_complete() once we're done, rather than
-       filter_filter().
-       (folder_scan_content): Some fixes for state changing; so that when
-       we do find another boundary it is properly flagged.  Since we
-       strip the last \n off all data, we must take that into account
-       too.  Sigh.  Fixes a rather nasty set of bugs where multipart
-       messages could start including following messages as parts, etc.
-       (struct _header_scan_stack): Added new parameter,
-       boundarylenfinal, which holds the length of the final boundary, if
-       it is different (e.g. for From lines, whihc aren't)
-       (folder_scan_step): Setup teh boundarylenfinal value when creating
-       a new boundary.
-       (folder_scan_content): Hmm, if we hit the end-of-buffer sentinal,
-       reset the scanner back to leave 'atleast' chars in the buffer
-       still, dump that content, and retry again.  Stops us losing a
-       check for a boundary on some data we haven't really looked at yet!
-       (folder_scan_content): Use boundarylenfinal to calculate
-       'atleast'.
-       (folder_scan_header): And here too.
-       (folder_boundary_check): Use the atleast value directly, dont
-       truncate it.  Use the boundarylen/boundarylenfinal values directly
-       too.
-       (struct _header_scan_stack): Add an atleast parameter to cache the
-       atleast info.
-       (folder_push_part): Determine/set 'atleast', every time we add a
-       new part.
-       (folder_scan_header): Get the cached atleast info from the current
-       part.
-       (folder_scan_content): And here too.
-       (folder_scan_header): Fix a problem where a part starting with
-       " text" would be interpreted as a followon header wrongly.
-
-       * camel-mime-filter-charset.c (complete): Add some assertions to
-       find a bug.
-
-2000-11-07  Ettore Perazzoli  <ettore@helixcode.com>
-
-       * camel-service.c (get_name): Strdup the "???" string you return,
-       so that the expected semantics for `::get_name()' is respected.
-
-2000-11-07  Dan Winship  <danw@helixcode.com>
-
-       * camel-stream-filter.c (d): Kill debugging, as it causes lots of
-       evolution-mail spewage.
-
-2000-11-07  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-filter-bestenc.c (complete): Implement a complete()
-       function, now we need one.
-       (filter): Upgraded to match rfrc2045 properly.  Checks also for
-       length of line and valid CRLF sequences.
-       (camel_mime_filter_bestenc_get_best_encoding): Do the work of
-       working out what is the best encoding given what we found about
-       the stream.
-
-       * camel-mime-part.c (camel_mime_part_encoding_to_string): Use a
-       lookup table to get the encoding naem, and add the binary type.
-       (camel_mime_part_encoding_from_string): Likewise for the reverse.
-
-       * camel-mime-part.h: Added the binary encoding type, see rfc2045.
-
-       * camel-mime-utils.c (header_param_list_format_append): Dont put a
-       space before ;'s in parameter lists, makes them more
-       readable/consistent.
-
-       * camel-mime-message.c (multipart_has_8bit_parts): Cleaned up the
-       old stuff, well removed it.
-       (camel_mime_message_set_best_encoding): Added another argument
-       that lets you select what you want to set the best of.  i.e. for
-       smtp transport we only need 7 bit, and dont need to optimise the
-       charset (although of course, we should always).
-       (find_best_encoding): Implement this feature, if we are not
-       getting the best charset, use the one we have.
-       (best_encoding): Set the charset on the part appropriately.  Sigh,
-       the interfaces for this are nonexistant.
-       (find_best_encoding): Tell the bestenc filter that lf should be
-       treated as crlf for the purposes of determining encodings.
-
-2000-11-06  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-charset-map.c (camel_charset_init): Init function for an
-       iterative charset determinator.
-       (camel_charset_step): Iterate another buffer.
-       (camel_charset_mask): Removed, since it couldn't have worked.
-       (camel_charset_best): Use the iterative interface to do the work.
-       (camel_charset_best_name): Get the best name for a charset so far.
-
-       * camel-mime-filter-bestenc.c: New class, a stream
-       filter that can be used to memory-efficiently determine the best
-       encoding and/or charset to use for a given stream of bytes.
-
-       * Makefile.am (libcamelinclude_HEADERS): Added stream-null*.
-       (libcamel_la_SOURCES): Added bestenc*
-
-       * camel-stream-null.c: New class, a null-stream, that always
-       succeeds, and never has any contents.
-
-       * camel-stream.c: Minor pointless changes.  Was going to do
-       something else but changed my mind.  Added trivial default
-       implementations for all callbacks.
-
-       * camel-mime-message.h: Cleaned up some old cruft.
-
-       * camel-folder-summary.c (camel_folder_summary_format_address):
-       address_list_format() no longer encodes, so we dont need to decode
-       it.
-
-       * camel-address.c (camel_address_unformat): New function, attempts
-       to reverse the formatting process on display addresses.
-       (camel_address_length): New function to get the number of
-       addresses, without having to peek the structure.
-
-       * camel-mime-message.c (camel_mime_message_set_from): Fix a typo.
-       (camel_mime_message_finalize): Only unref from/reply_to if we have
-       it.
-       (camel_mime_message_set_recipients): New function - set the
-       recipients as a CamelInternetAddress.  This function effectively
-       deprecates the older recipient setting functions.
-       (camel_mime_message_add_recipient): What the hell, i'll bite the
-       bullet.  Terminate this function.  The old api was ambiguious and
-       inefficient and didn't work right anyway.
-       (camel_mime_message_remove_recipient_address): And this one.
-       (camel_mime_message_remove_recipient_name): And this one too.
-       (camel_mime_message_set_recipients): If we set an empty header,
-       then remove it from the header list.  Allow a null receipient
-       object to clear a header.
-       (camel_mime_message_set_from): Likewise, if setting an empty from
-       address.
-       (camel_mime_message_encode_8bit_parts): Eeek!!
-       camel_stream_mem_new_with_byte_array owns the byte_array we give
-       it, so make sure we dont free any of it!
-       (camel_mime_message_encode_8bit_parts):  Infact, i'll just rewrite
-       the whole lot, its a bit of a mess.  Should really rename it and
-       make it a little more useful too, lets see ...
-       (best_encoding): This has a string interface?  Oh boy.
-       (camel_mime_message_foreach_part): New experimental function to
-       iterate over all message parts.  Might not remain.
-       (camel_mime_message_has_8bit_parts): New implementation using
-       foreach_part.  Fixed a couple of problems.
-       (find_best_encoding): New function, that finds the best encoding
-       for a given part (will probably be moved to camel-mime-part), and
-       also the best charset to use if it is a text part.  Since one
-       affects the other it is a two pass process, but uses streams and
-       not memory to achieve this.
-       (camel_mime_message_set_best_encoding): Uses the function above to
-       configure an entire message for the best encoding possible given
-       transport constraints.
-       (camel_mime_message_encode_8bit_parts): Reimplemented to use the
-       function above to perform the work.
-
-       * camel-internet-address.c
-       (camel_internet_address_format_address): Dont put <> around a lone
-       address with no real name.
-       (camel_internet_address_encode_address): Similarly.
-       (internet_decode): Actually return the count of decoded addresses.
-       (internet_unformat): Implement the unformatting routine.
-
-2000-11-05  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/smtp/camel-smtp-transport.c (_send_to): Changed to get
-       the internetaddress directly, rather than having to parse it
-       itself.
-
-       * camel-address.c (camel_address_format): Added a new function
-       which will format address, suitable for display.
-       (camel_address_cat): Concatentate 1 camel address onto another.
-       It is upto the caller to ensure the addresses are of compatible
-       types.
-       (camel_address_new_clone): New function to create a new address by
-       copying an existing one of the same type.
-       (camel_address_copy): New helper function to copy an address.
-
-       * camel-mime-message.h (struct _CamelMimeMessage): Removed cached
-       copy of date string.
-       (struct _CamelMimeMessage): Added date_received info.
-
-       * camel-mime-message.c (camel_mime_message_get_date_string):
-       Removed.  Nothing uses it anyway, and it is redundant.
-       (camel_mime_message_finalize): No more date_str.
-       (camel_mime_message_init): No more date_str, initialise
-       date_received*
-       (write_to_stream): Change the check for a date header.
-       (process_header): No longer track the date_str.
-       (camel_mime_message_get_received_date): Removed.  totally invalid
-       anyway.
-       (camel_mime_message_get_sent_date): Removed.  Redundant.  The only
-       'date' is the sent date, the received date is just made up.
-       (camel_mime_message_get_date): Args changed to be more consistent
-       with utility functions.
-       (camel_mime_message_get_date): Dont set the date when we're asked
-       for it (if its not set by the time its written, it'll be set
-       then).
-       (camel_mime_message_get_date_received): Actually do 'the right
-       thing' here, if we have a received header, use that to determine
-       the received date.  And return the data in the same format as
-       get_date.
-       (camel_mime_message_set_from): Changed the api to better match
-       what we should be doing.  Pass a camelinternetaddress, etc.
-       (camel_mime_message_set_reply_to): Cahnged similarly to take an
-       internetaddress.
-       (camel_mime_message_get_reply_to): Likewise.
-       (camel_mime_message_finalize): Unref the from/reply_to objects.
-       (format_address): Removed, no longer needed.
-       (process_header): Changed to store the from/reply_to as
-       internetaddress's.
-       (write_to_stream): Set the from header directly to empty, if we
-       dont have one.  Maybe we should just abort, and/or create one
-       based on the current user.
-
-       * camel-mime-utils.c (header_address_list_format): Renamed to
-       header_address_list_encode, which is what it is actually doing.
-       (header_address_list_format_append): Similarly.
-       (encoding_map[]): Removed, no longer used.
-       (header_address_list_encode_append): Take another arg, do we
-       encode the address (for internet), or not (for display - utf8
-       only).
-       (header_address_list_format): Re-added this function, but now it
-       generates a display version only.  Surprise surprise, that is all
-       anythign needs to generate anyway.  Sigh.
-
-       * camel-internet-address.c (camel_internet_address_get): Return
-       false if we get an invalid index only.
-       (camel_internet_address_encode_address): Helper function to encode
-       a single address for mailing.
-       (internet_encode): Use the above function to format it.
-       (camel_internet_address_format_address): Format a single address
-       for display.
-       (internet_format): Implement the display version.
-       (camel_internet_address_class_init): Init the internet_format
-       virtual function.
-       (internet_cat): Implement virtual function to concatenate
-       addresses.
-
-       * camel-folder-summary.c
-       (camel_folder_summary_info_new_from_header): new function, only
-       build the summary info, dont add it.
-       (camel_folder_summary_info_new_from_parser): Likewise, for new
-       info from parser.
-       (camel_folder_summary_add_from_parser): Cahnged to call function
-       above to build info.
-       (camel_folder_summary_add_from_header): Changed to call function
-       above, to build info.
-       (camel_folder_summary_info_free): New function to free the summary
-       message info.
-       (camel_folder_summary_clear): Changed to clal above to free info.
-       (camel_folder_summary_remove): Likewise.
-       (camel_folder_summary_add): Cleaned up the clashing uid
-       re-assignment logic a little bit.
-       (camel_folder_summary_decode_uint32): Fixed a typo, 01 != -1.
-       (camel_folder_summary_decode_time_t): Return -1 on error.
-       (camel_folder_summary_encode_off_t): New function to encode an
-       off_t type.
-       (camel_folder_summary_decode_off_t): And likewise for the reverse.
-       (CAMEL_FOLDER_SUMMARY_VERSION): Bumped the summary version, since
-       we're now encoding time/off_t's right.
-       (summary_header_save): Use time_t encoder to save the timestamp.
-       (summary_header_load): Likewise for decoding the timestamp.
-       (content_info_load): Decode off_t types directly, now we can.
-       (content_info_save): And likewise for encoding.
-       (camel_folder_summary_add_from_message): New function, create a
-       summary item from an existing message and add it.
-       (camel_folder_summary_info_new_from_message): New function, create
-       a summary item from an existing message.
-       (summary_build_content_info_message): New function to do the dirty
-       work of building the conent info/indexing, from a message source.
-       (format_recipients): Format an internetaddress suitable for the
-       summary.
-       (message_info_new_from_message): Build a new summary item from a
-       mime message.
-       (content_info_new_from_message): Build a new conent info from a
-       mime part.
-       (camel_folder_summary_class_init): Init the new class functions.
-       (message_info_new_from_message): Fixed for message api change.
-
-       Added documentation to the functions.
-       
-2000-11-03  Radek Doulik  <rodo@helixcode.com>
-
-       * camel-mime-utils.c (header_msgid_generate): new function,
-       generates simple message/content id
-
-2000-11-04  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): Set the
-       preface/postface from the parser into the multipart object.
-
-       * camel-multipart.c (camel_multipart_set_postface): Function to
-       set the postface text on a multipart.
-       (camel_multipart_set_preface): Similarly for preface text.
-
-       * camel-mime-parser.c (folder_scan_content): If we scan until a
-       boundary, then we do not include the \n that starts the boundary
-       line in the content.
-       (struct _header_scan_stack): Added a ByteArray to store the
-       multipart pre/post-text as we're scanning.
-       (folder_pull_part): Free pre/posttext if they are allocated.
-       (folder_scan_step): Build into the pre/posttext arrays as we
-       encounter data.
-       (camel_mime_parser_preface): REturn the multipart preface text, if
-       there is any scanned.
-       (camel_mime_parser_postface): Likewise for postface text.
-       (byte_array_to_string): helper function for above.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_append_message): Change
-       the from line to be "\nFrom ..." always, so no need to
-       check/append a \n to messages.
-       (mbox_append_message): Open the output stream with append mode
-       [assuming this is more efficient than seeking to the end]
-       And dont prepend \n  on the From line if its the first in the
-       mbox.
-       (mbox_append_message): Pass the offset of the real start of the
-       "From " line when we perform the update (which may != 'seek')
-
-       * camel-mime-filter-charset.c (complete): Removed the terminating
-       NUL 'fix'.
-
-       * camel-stream-filter.c (do_read): Added some debug.
-       (do_flush): And here.
-       (do_write): And here too.
-       (do_write): ARGH!!! ARGH!  Ok, so the filter stream was writing a
-       different number of bytes than the requester was asking it to
-       write (because of filtering, of course!).  So instead of returning
-       the true number of written bytes, we'll return what they asked us
-       to write - unless there is an error in which case we return -1.
-
-       * camel-mime-utils.c (base64_encode_close): Sigh, forgot to make
-       it unsigned.  I think this is actually a gcc bug as (48 >> 2)
-       somehow ended up negative, when it obviously should not, even if
-       the data load was signed.
-
-2000-11-03  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-url.c: Undo my incorrect fix - I misunderstood danw -
-       sorry!
-
-2000-11-03  Dan Winship  <danw@helixcode.com>
-
-       * providers/pop3/camel-pop3-store.c (camel_pop3_store_expunge):
-       Unbreak this.
-
-2000-11-03  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-url.c (camel_url_to_string): If show_pass, then base64 the
-       password before writing it to the output string.
-       (camel_url_new): Assume password has been base64 encoded and
-       decode accordingly.
-
-2000-11-03  Dan Winship  <danw@helixcode.com>
-
-       * camel-provider.h: Add an "url_flags" field to CamelProvider.
-       Move the CAMEL_SERVICE_URL_* defines here and remove the SERVICE_
-       part of the name.
-
-       * camel-service.h: Remove CAMEL_SERVICE_URL_* flags and
-       service->url_flags field.
-
-       * camel-service.c (check_url, get_path): Get URL flags from
-       service->provider, update for changed flag names.
-
-       * providers/*/camel-*-provider.c: Add URL flags to provider
-       structures.
-
-       * providers/*/camel-*-{store,transport}.c, camel-remote-store.c:
-       Remove service->url_flags initialization.
-
-2000-11-02  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_info): Quote
-       foldernames when sending to the IMAP server because the folder
-       name might contain spaces.
-
-2000-11-02  Not Zed  <NotZed@HelixCode.com>
-
-       * Merged in camel-incremental-branch.
-
-2000-11-01  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_info): Remove old
-       subbed folders from hash table after freeing them.
-
-       * providers/imap/camel-imap-folder.c (imap_get_full_name): Deal
-       correctly with namespace == ""
-
-2000-11-01  Gediminas Paulauskas  <menesis@delfi.lt>
-
-       * camel-charset-map.c, camel-charset-map-private.h: synced all charsets
-       with ones found in libunicode. Just include more "iso/*.h" and rebuild
-       ...private.h with this.
-
-2000-10-31  Dan Winship  <danw@helixcode.com>
-
-       * camel-service.c (service_disconnect): Add a new argument, clean,
-       that says whether or not to try to disconnect cleanly.
-
-       * camel-remote-store.c (remote_send_string, remote_send_stream,
-       remote_recv_line): disconnect uncleanly on failure to prevent
-       infinite loops when providers would normally send commands from
-       disconnect(). Remove some unneeded CamelException goo.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_disconnect): 
-       * providers/pop3/camel-pop3-store.c (pop3_disconnect): 
-       * providers/nntp/camel-nntp-store.c (nntp_store_disconnect):
-       * providers/imap/camel-imap-store.c (imap_disconnect): Don't send
-       QUIT/LOGOUT if !clean.
-
-2000-10-30  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-auth.c: New file with code for IMAP
-       authentication mechanisms. (Currently just krb4, and without
-       integrity/privacy protection).
-
-       * providers/imap/Makefile.am: Add camel-imap-auth.[ch] and krb4
-       CFLAGS/LDFLAGS
-
-       * providers/imap/camel-imap-store.c (connect_to_server): Split out
-       from imap_connect. Just does the basic connect and CAPABILITY
-       check. Redo the CAPABILITY code more robustly.
-       (query_auth_types_connected): Do this right rather than punting to
-       query_auth_types_generic. Check for KERBEROS_V4 if compiled with
-       krb4 support.
-       (query_auth_types_generic): Mention KERBEROS_V4 if compiled with
-       krb4 support.
-       (imap_connect): Use connect_to_server().
-
-       * camel-mime-utils.c (base64_encode_step, base64_encode_close):
-       Take an additional argument, "break_lines", saying whether or not
-       to add '\n's to the output.
-
-       * camel-multipart.c (set_boundary): 
-       * camel-mime-filter-basic.c (filter, complete): Update for base64
-       api change.
-
-2000-10-30  Peter Williams  <peterw@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (unsubscribe_folder): Correct
-       parameters to g_hash_table_lookup_extended.
-
-2000-10-29  Dan Winship  <danw@helixcode.com>
-
-       Improved IMAP namespace handling: leave the namespace in the
-       folder names rather than constantly prepending it and stripping it
-       off. Also some subscription fixes.
-
-       * camel-store.c (camel_folder_info_build): Fix for the case where
-       @top isn't in @folders.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Add
-       a "short_name" argument rather than figuring it out ourselves.
-       (imap_get_full_name): Implementation of CamelFolder::get_full_name
-       that strips off namespace so the user doesn't have to see it.
-       (imap_append_message, imap_copy_message_to, imap_move_message_to):
-       Use folder->full_name rather than calling
-       camel_imap_store_get_folder_path.
-
-       * providers/imap/camel-imap-utils.c (imap_parse_list_response):
-       Update this: make @flags a bitmask and @sep a char rather than a
-       string. Make all of the out arguments optional. Handle literals in
-       the server response.
-
-       * providers/imap/camel-imap-store.c (imap_connect): Do a better
-       job of getting the correct dir_sep for the namespace we're using.
-       Construct a base_url here that will be used by get_folder_info.
-       (camel_imap_store_folder_path): Removed
-       (imap_folder_exists): Add an argument to return the short name of
-       the folder (parsed out of the LIST response). Update for
-       imap_parse_list_response change.
-       (get_folder): Update for the various other changes.
-       (get_folder_info): Update for the various other changes. Be more
-       consistent about the returned layout: put everything underneath
-       the "namespace" directory, including INBOX, even if it doesn't
-       belong there. Don't destroy the list of subscribed folders until
-       we've actually gotten the new list.
-       (folder_subscribed, subscribe_folder, unsubscribe_folder): Use
-       folder_name directly rather than camel_imap_store_folder_Path.
-
-       * providers/imap/camel-imap-command.c (camel_imap_command): Update
-       for folder name changes.
-
-2000-10-29  Dan Winship  <danw@helixcode.com>
-
-       * camel.h: Remove md5-utils.h include since it's not part of Camel
-       any more.
-
-       * camel-charset-map.c: Kill some warnings.
-
-       * providers/nntp/camel-nntp-grouplist.c
-       (camel_nntp_get_grouplist_from_file, camel_nntp_grouplist_save):
-       Clean up warnings about time_t casts.
-
-       * providers/smtp/camel-smtp-transport.c: Remove unused md5-utils.h
-       include.
-
-       * providers/pop3/camel-pop3-store.c: Undefine the "_" macro
-       defined by krb4's des.h when compiling with krb support.
-       Fix md5-utils.h include.
-
-2000-10-27  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-utils.c (header_param_list_format_append): Only quote
-       Content-type parameters when the quoting is mandatory, and deal
-       with embedded quotes/backslashes when quoting.
-
-2000-10-27  JPR  <jpr@helixcode.com>
-
-       * providers/pop3/Makefile.am: Tidy up build
-
-       * providers/smtp/Makefile.am: ditto     
-       
-       * Makefile.am:  Move md5-utils.[hc] to e-util because the 
-       addressbook is going to use md5 hashes for pilot syncing.
-       Maybe the calendar conduits as well because this is a good idea
-       Chris had.
-
-2000-10-26  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * camel-exceptions-list.def: Add newline to kill warnings.
-
-2000-10-25  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_info): Fix folder
-       listing code infinite loop.
-
-       * camel-store.h: Add a "parent" field to CamelFolderInfo.
-
-       * camel-store.c (camel_folder_info_build): Deal with "parent"
-       (camel_store_folder_subscribed, camel_store_subscribe_folder,
-       camel_store_unsubscribe_folder): Add g_return_if_fails checking
-       that the folder supports subscriptions.
-
-       * providers/imap/camel-imap-store.c (folder_subscribed,
-       subscribe_folder, unsubscribe_folder): Remove "+ 1"s since the
-       mail subscribe UI won't prepend / to the folder names now.
-       (get_folder_info): Clear the "parent" field of the folderinfos
-       when removing an empty top level.
-
-       * providers/nntp/camel-nntp-store.c (nntp_store_folder_subscribed,
-       nntp_store_subscribe_folder, nntp_store_unsubscribe_folder):
-       Remove "+ 1"s since the mail subscribe UI won't prepend / to the
-       folder names now.
-
-2000-10-24  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/imap/camel-imap-store.h: add subscribed_folders.
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_class_init):
-       fill in vtable entries for subscription functions.
-       (camel_imap_store_finalize): new function, so we can free up our
-       subscribed_folders hashtable.
-       (camel_imap_store_init): set CAMEL_STORE_SUBSCRIPTIONS in the
-       CamelStore flags, and create our subscribed_folders hashtable.
-       (camel_imap_store_get_type): camel_imap_store_finalize is our
-       finalize function.
-       (get_folder_info): if we're looking at subscribed_only, clear out
-       the subscribed_folders hashtable, use LSUB instead of LIST, and
-       insert folder paths (prepended by their namespace if there is one)
-       into subscribed_folders.  INBOX subscription support needs work,
-       since we always show it, regardless of it's subscribed state.
-       (folder_subscribed): new function.  just look up the folder_path
-       in the hashtable.
-       (subscribe_folder): new function.  use the imap SUBSCRIBE command,
-       and if successful add it to the hashtable.
-       (unsubscribe_folder): new function.  use the imap UNSUBSCRIBE
-       command, and if successful remove it from the hashtable.
-
-2000-10-24  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_info): Fill in the
-       message_count and unread_message_count flags (if !fast).
-
-2000-10-23  Dan Winship  <danw@helixcode.com>
-
-       * camel-object.h: #include gnome-i18n.h (and gnome-defs.h since
-       the former depends on it.)
-
-       * *: Add lots of _() and N_().
-
-2000-10-23  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/Makefile.am (libcamelnntpinclude_HEADERS): add
-       camel-nntp-types.h.
-
-2000-10-23  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-command.c (imap_read_untagged): Fix a
-       "how could this have been working before" memory overrun bug
-       found by Vlad.
-
-       * camel-op-queue.[ch], camel-thread-proxy.[ch]: These should have
-       gone away a long time ago.
-
-2000-10-20  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/Makefile.am (SUBDIRS): re-enable the nntp provider.
-
-2000-10-20  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-store.c (build_folder_info): add
-       function to build a tree from the nntp group names (using '.' as a
-       heirarchy separator.)  #ifdefed INFO_AS_TREE only.
-       (build_folder_info_from_grouplist): if INFO_AS_TREE is selected,
-       call build_folder_info instead of appending a new CamelFolderInfo
-       to our list.
-       (ensure_news_dir_exists): use e_mkdir_hier instead of failing if a
-       parent directory (~/evolution/news generally) isn't there.
-
-2000-10-19  Chris Toshok  <toshok@helixcode.com>
-
-       * camel-folder-search.c: #include <sys/types.h> before <regex.h>
-
-2000-10-19  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-utils.c (imap_parse_list_response):
-       Fix a bug with "INBOX" (or anything else with NIL hierarchy
-       separator) as the namespace.
-
-       * providers/imap/camel-imap-folder.c (imap_refresh_info): Emit
-       message_changed and folder_changed as appropriate.
-
-2000-10-19  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.c (camel_folder_refresh_info): Update comment here
-       so refresh_info isn't just for reconnects any more. Make the
-       default implementation a no-op rather than an error.
-
-       * providers/nntp/camel-nntp-folder.c: Move refresh_info impl into
-       camel_nntp_folder_new, since it would have leaked memory and not
-       done anything useful if it was called later.
-
-       * providers/mbox/camel-mbox-folder.c: Remove no-longer-necessary
-       refresh_info impl.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
-       Update imap_folder->exists, but don't actually load the new
-       messages. This is a temporary workaround to deal with the IMAP
-       provider stealing the message list focus at annoying times.
-       (imap_copy_message_to, imap_move_message_to): Emit a
-       folder_changed by hand, for now.
-
-2000-10-19  Ettore Perazzoli  <ettore@helixcode.com>
-
-       * providers/imap/Makefile.am (libcamelimapinclude_HEADERS): Add
-       `camel-imap-stream.h'.
-
-       * Makefile.am (libcamelinclude_HEADERS): Add `camel-charset-map.h'
-       and `camel-charset-map-private.h'.
-
-2000-10-18  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-part.c (camel_mime_part_set_description): The correct
-       fix this time - the description should be encoded here and not in
-       the camel-medium layer.
-
-2000-10-30  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-folder.c (camel_folder_change_info_add_update): Fixed the
-       changeset logic, which was completely wrong.
-
-2000-10-27  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-utils.c (quoted_encode_step): Removed is_blank() stuff.
-       (header_decode_init): When we set the 'space' bit, dont clear all
-       the others.
-       (quoted_encode): Put back the safemask.  Yes we totally need it,
-       see rfc 2047 section 5, parts (1) and (3).
-       (CHARS_PSPECIAL): Remove '=' and '_' from the list of allowed
-       characters (this is an allowed list, not a not-allowed list, like
-       the ESPECIAL).
-       (camel_mime_special_table): Updated for fixes to definitions.
-       (CHARS_ESPECIAL): Added '_' to list of characters that should be
-       encoded.
-
-2000-10-26  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_update):
-       Use the new camel_folder_change_info_* stuff to build the update
-       diff, rather than doing it ourselves.
-
-       * camel-folder.c (camel_folder_change_info_add_source): Add a
-       'source' list, used to create change lists.
-       (camel_folder_change_info_add_source_list): Add a list of uid's,
-       convenience function.
-       (camel_folder_change_info_add_update): Add a uid to the list of
-       uid's in the new updated list.
-       (camel_folder_change_info_add_update_list): Add a bunch of uid's
-       at once for the same purpose.
-       (camel_folder_change_info_build_diff): Take the source list, the
-       update list, and find the differences, building on the added or
-       removed list as appropriate.
-
-2000-10-20  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-summary.c (removed_uids): REnamed from
-       add_uid.
-       (camel_mbox_summary_update): Oops, fix the reversed logic for
-       determining the uid changesets.
-
-       * camel-folder.c (message_changed): Oops, we want to change the
-       uid, not add it.
-
-2000-10-19  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/mh/camel-mh-summary.c (camel_mh_summary_sync): Added a
-       change list argument, and add expunged uid's to it.
-
-       * providers/mh/camel-mh-folder.c (mh_init): Setup the change list.
-       (mh_finalize): And free it.
-       (mh_sync): Track changes, and send a folder_changed signal as
-       appropriate.
-       (mh_expunge): Likewise.
-       (mh_append_message): Add the new uid to the change list and
-       trigger a folder_changed event.
-
-       * providers/mbox/camel-mbox-folder.c (camel_mbox_folder_new):
-       Setup a mbox list of changes structure.
-       (mbox_finalize): And free it.
-       (mbox_expunge): Include the change list with the folder_changed
-       event, and clear it off.
-       (mbox_sync): And the same for when we are just syncing the folder.
-       (mbox_append_message): And do the same here, after we've updated
-       the folder.
-
-       * providers/mbox/camel-mbox-summary.c
-       (camel_mbox_summary_build_from): Use gmtime_r to get the time
-       thread-safely.
-       (camel_mbox_summary_sync): Added a changeinfo argument.  Add any
-       removed or changed messages to the changelists as appropriate.
-       (camel_mbox_summary_update): Added a changeinfo argument.
-       Genereate a list of added/removed uid's based on the difference
-       before and after rebuilding the summary.
-
-       * camel-folder.c (camel_folder_change_info_new):
-       (camel_folder_change_info_add_uid): 
-       (change_info_add_uid): 
-       (camel_folder_change_info_remove_uid): 
-       (camel_folder_change_info_change_uid): 
-       (change_info_clear): 
-       (camel_folder_change_info_clear): 
-       (camel_folder_change_info_free):
-       (change_info_cat): 
-       (camel_folder_change_info_cat):  Bunch of utility functions for
-       working with change info lists.
-       (camel_folder_init): Init the change info list.
-       (camel_folder_finalize): And free it.
-       (thaw): Changed to pass through a list of changes, or to get the
-       changed message uids from the camelfolderchangeinfo struct, and
-       reset it.
-       (folder_changed): Add the changed lists to the frozen change list
-       if we are frozen.
-       (message_changed): Add the message to the changed list if we are
-       in the frozen state.
-
-       * camel-folder.h (CamelFolderChangeInfo): New structure to hold
-       information for the folder_changed event.
-
-2000-10-18  Ettore Perazzoli  <ettore@helixcode.com>
-
-       * camel-mime-filter-charset.c (complete): Put a zero at the start
-       of the outbuf.
-
-2000-10-18  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-part.c (add_header): No, we must not encode the
-       headers here.  These interfaces ARE raw interfaces as they are
-       defined in camel_medium.  Also removed a bogus/meaningless FIXME.
-       (set_header): Likewise here, we must not.
-       (process_header): Removed another bogus comment.
-
-       * camel-object.c (shared_is_of_type): Comment out the spitting of
-       a big warning when we're trying to determine types from code.
-
-       * providers/mbox/camel-mbox-summary.c
-       (message_info_new_from_parser): Only call ibex funcitons if we
-       have an index.
-
-       * providers/mh/camel-mh-summary.c (camel_mh_summary_add): Only
-       call ibex functions if we have an index.
-       (remove_summary): Likewise.
-       (camel_mh_summary_check): Likewise.
-
-       * providers/nntp/camel-nntp-store.c (nntp_store_get_folder):
-       get_folder -> flags argument.
-
-       * providers/vee/camel-vee-store.c (vee_get_folder): create->flags.
-
-       * providers/pop3/camel-pop3-store.c (get_folder): Changed create
-       -> flags.
-
-       * providers/imap/camel-imap-store.c (get_folder): Added flags
-       argument.
-
-       * providers/mh/camel-mh-folder.c (camel_mh_folder_new): Added
-       flags argument, and fixed code appropriately.
-
-       * providers/mh/camel-mh-store.c (get_folder): Added flags argument.
-
-       * camel-folder-search.c (message_body_contains): Perform a regex
-       match on the contents of messages.  This wont quite work yet as
-       message contents are encoded when written to a stream.
-       (build_match_regex): Converts a number of strings into a regex
-       matching pattern, escaping special chars.
-       (match_message): match a single message from a folder, by uid.
-       Slow.
-       (search_body_contains): Changed to support matching where no index
-       is supplied.  Matches are performed by retrieving message
-       contents, etc.
-       () WTF?  camel should not be including any widget headers.
-       
-       * providers/mbox/camel-mbox-folder.c (camel_mbox_folder_new):
-       Added flags argument.
-       (mbox_refresh_info): Changed into a NOP, the refresh info code
-       moved into the new function.
-       (camel_mbox_folder_new): If we have an index requested, build one,
-       otherwise, remove an old one, or just dont do anything.
-
-       * providers/mbox/camel-mbox-store.c (get_folder): Changed create
-       to flags, changed code to suit.
-
-       * camel-store.c (camel_store_get_folder): Changed create to flags.
-       (get_folder_internal): And here.
-       (get_folder): And here too.
-
-       * camel-store.h (camel_store_get_folder): Change the create
-       argument to be a flags argument.
-
-2000-10-17  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_refresh_info): Remove
-       cached info at the end of the summary when the folder shrinks
-       between sessions. Also remove an untrue comment.
-       (camel_imap_folder_new): Move the summary creation to after the
-       folder selection again, since it depends on the uidvalidity
-       having been set.
-
-       * providers/imap/camel-imap-store.c (get_folder): Fix up
-       summary_file to not include the namespace twice.
-
-2000-10-17  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-part.c (set_header): Encode the header value.
-       (add_header): Same.
-
-2000-10-17  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-filter.c: Added some malloc check debugging stuff.
-
-       * camel-mime-parser.c
-       (struct _header_scan_state): Removed top_part, top_start, and
-       pending.  I can't even remember why they were there, and they're
-       not used anymore.
-
-       * camel-mime-filter-basic.c (filter): Forgot to up the space here
-       too.
-
-2000-10-14  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-filter-basic.c (complete): Ok, so we hit a fixme, 3x
-       just wasn't enough for some sequences.
-
-2000-10-16  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-command.c
-       (imap_read_response): Don't imap_next_word(respbuf + 2), instead
-       use imap_next_word(respbuf) or else we'll skip over the second
-       token.
-
-2000-10-16  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-command.c
-       (camel_imap_response_extract): Don't free 'resp' as it doesn't
-       point to the beginning of the allocated data, instead free
-       response->untagged->pdata[i]. Also, if '*resp' is equal to a space
-       character, then set resp = imap_next_word (resp) rather than
-       expecting resp++ to work (there's a list broken IMAP daemons that
-       like to put extra spaces between tokens).
-       (imap_read_response): Don't expect 'respbuf+2' to be where the
-       untagged number response to start (see above fix for an
-       explanation).
-
-2000-10-16  Chris Toshok  <toshok@helixcode.com>
-
-       * camel-service.c (get_path): when using the construct (flags &
-       CAMEL_SERVICE_URL_NEED_*) make sure to do ((flags &
-       CAMEL_SERVICE_URL_NEED_*) == CAMEL_SERVICE_URL_NEED_*)
-       (check_url): same.
-
-2000-10-16  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (imap_disconnect): Only send
-       the LOGOUT command if the store is connected.
-       (imap_connect): Set the 'connected' state to TRUE when we
-       successfully connect.
-       (get_folder_info): if (!topfi), 'topfi' was allocated but then
-       'fi' was set. I think Dan meant to set topfi since fi is an
-       uninitialized value at this point.
-
-       * providers/imap/camel-imap-command.c (imap_read_response): Check
-       for the untagged BYE response and set the 'connected' state to
-       FALSE if we receive the BYE response. Return NULL if we get a BYE
-       response.
-
-2000-10-16  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_info): Deal with
-       the possibility of not getting a LIST response back for the top
-       level.
-
-2000-10-12  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-summary.c: Simple subclass of
-       CamelFolderSummary that also keeps a UIDVALIDITY value (and
-       doesn't, for the moment, build content info).
-
-       * providers/imap/camel-imap-folder.c:
-       (various): Use a CamelImapSummary to store/fetch summary info.
-       (camel_imap_folder_new): Take a path to a file to use for the
-       summary. Set the folder's permanent_flags correctly according to
-       the server response. Read in the summary (checking the
-       UIDVALIDITY) and update it if it's out of date.
-       (imap_refresh_info): Just fetch UIDs and flags. If the UIDs all
-       match, update the flags as needed and be done with it. Otherwise,
-       delete messages that have been expunged from the server and fetch
-       full summary info for any new messages.
-       (imap_sync): Save the summary to disk.
-       (imap_update_summary): Renamed from imap_get_summary_internal. Can
-       now be told to get summary for only a subset of messages. Use
-       camel-mime-utils functions rather than rolling our own header
-       parsing.
-       (imap_get_message_info_internal): Merged into imap_update_summary.
-       (imap_set_message_flags): Don't marked the message FOLDER_FLAGGED
-       if we're not actually changing the value of any of the flags.
-       (camel_imap_folder_changed): Deal with EXISTS rather than RECENT.
-       
-       * providers/imap/camel-imap-store.c (imap_connect): Call
-       camel_session_get_storage_path and save the value.
-       (get_folder): Create a local directory to store summary
-       information and pass a summary file name to camel_imap_folder_new.
-       Don't call camel_folder_refresh_info from here any more since
-       camel_imap_folder_new does it again.
-
-       * providers/imap/camel-imap-command.c (camel_imap_command): Add a
-       special case to this to make it possible to get the repsonses from
-       a SELECT and still have store->current_folder be updated
-       correctly.
-       (imap_read_response): parse EXISTS rather than RECENT
-
-       * camel-session.c (camel_session_get_storage_path): Use
-       e_mkdir_hier.
-
-       * camel-folder-summary.c (camel_folder_summary_remove_index): New
-       function.
-
-       * camel-mime-utils.c (header_raw_append_parse): fix this.
-       (camel-mime-parser.c doesn't use this code because of the MEMPOOL
-       optimization, so nothing was ever actually calling it before.)
-
-2000-10-11  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-part.h (struct _CamelMimePart): Removed
-       temp_message_buffer, and content_input_stream fields which seem to
-       have come from nowhere, and are unused.
-
-       * camel-mime-utils.c: Added a note about touching this file.
-       Nobody is to touch it without asking me first.  That goes for you
-       too Jeff.
-       (header_decode_text): In what way is this broken?
-
-2000-10-10  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_summary_internal):
-       Fix camel_summary_* function rename
-       (imap_get_message_info_internal): Likewise.
-
-       * camel-mime-parser.c (camel_mime_parser_finalise): Fixed a spelling mistake.
-
-       * camel-folder-summary.c (camel_summary_format_address): Uh, why
-       do we encode and then decode here ... sigh.  This is not the way
-       to fix this.
-       (camel_folder_summary_format_address): Renamed to a proper name,
-       this was only supposed to be a private function.
-       (camel_folder_summary_format_string): Likewise.  Oh i see why it
-       was made public, code reuse by cut & paste.  Joy.
-
-2000-10-11  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-store.c (nntp_store_unsubscribe_folder): remove the leading '/'.
-       (nntp_store_subscribe_folder): same.
-       (nntp_store_folder_subscribed): same.
-
-2000-10-11  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_move_message_to): Quote
-       the mailbox name as it may contain spaces.
-       (imap_copy_message_to): Same.
-
-2000-10-10  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-store.c
-       (build_folder_info_from_grouplist): fill in message_count and
-       unread_message_count properly.
-
-       * providers/nntp/camel-nntp-newsrc.h: reformat.
-
-       * providers/nntp/camel-nntp-grouplist.c
-       (camel_nntp_get_grouplist_from_file): remove spew.
-
-       * providers/nntp/camel-nntp-newsrc.c
-       (camel_nntp_newsrc_group_get_num_articles_read): new function.
-       (camel_nntp_newsrc_group_get_highest_article_read): robustification.
-
-2000-10-10  Joe Shaw  <joe@helixcode.com>
-
-       * providers/imap/camel-imap-store.c 
-       (parse_list_response_as_folder_info): Check before dereferencing the
-       sep pointer.
-
-2000-10-10  Jacob "Ulysses" Berkman  <jacob@helixcode.com>
-
-       * camel-*.c: teach camel about "its" vs. "it's"
-
-2000-10-09  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-store.c (finalize): write out the
-       newsrc.
-       (nntp_store_get_name): if @brief, just return host.
-
-       * providers/nntp/camel-nntp-newsrc.c: robustification and bug
-       fixes.
-
-2000-10-06  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-folder-summary.c (camel_summary_format_address): Decode
-       the resulting string.
-
-2000-10-06  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-grouplist.c: new file.
-
-       * providers/nntp/camel-nntp-grouplist.h: new file.
-
-       * providers/nntp/camel-nntp-types.h: new file.
-
-2000-10-06  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-utils.c (quoted_encode): Fix so that we don't encode
-       every single char in the word. Also, do we need a safemask? I
-       don't see why we would.
-       (header_encode_string): Don't strip off the last char!!
-
-2000-10-06  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/Makefile.am (libcamelnntpinclude_HEADERS): add
-       camel-nntp-grouplist.h
-       (libcamelnntp_la_SOURCES): add camel-nntp-grouplist.c
-
-       * providers/nntp/camel-nntp-provider.c: add our own hash functions
-       for nntp urls.
-
-       * providers/nntp/camel-nntp-newsrc.c
-       (camel_nntp_newsrc_group_is_subscribed): new function.
-       (camel_nntp_newsrc_subscribe_group): new function.
-       (camel_nntp_newsrc_unsubscribe_group): new function.
-
-       * providers/nntp/camel-nntp-newsrc.h: add prototypes for
-       _group_is_subscribed, _subscribe_group, and _unsubscribe_group.
-
-       * providers/nntp/camel-nntp-store.c
-       (build_folder_info_from_grouplist): new function.
-       (nntp_store_get_folder_info): add subscribed_only_parameter.  if
-       it's FALSE, load the grouplist and call
-       build_folder_info_from_grouplist.
-       (nntp_store_folder_subscribed): implement.
-       (nntp_store_subscribe_folder): implement.
-       (nntp_store_unsubscribe_folder): implement.
-       (camel_nntp_store_init): add CAMEL_STORE_SUBSCRIPTIONS to the
-       store's flags.
-
-       * providers/mh/camel-mh-store.c (get_folder_info): add
-       subscribed_only parameter.
-
-       * providers/mbox/camel-mbox-store.c (get_folder_info): add
-       subscribed_only parameter.
-
-       * providers/imap/camel-imap-store.c (get_folder_info): add
-       subscribed_only parameter.
-
-       * camel-store.c (camel_store_supports_subscriptions): new function.
-       (camel_store_folder_subscribed): new function.
-       (camel_store_subscribe_folder): new function.
-       (camel_store_unsubscribe_folder): new function.
-
-       * camel-store.h: add prototypes and virtual functions for the
-       subscribe implementation.  also, add a subscribed_only argument to
-       camel_store_get_folder_info.
-
-2000-10-05  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-utils.c (header_address_list_format_append): Encode
-       the name part of the address and don't quote the name.
-       (header_decode_text): Rewrote from scratch, the old code was badly
-       broken.
-
-2000-10-05  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-message.c (camel_mime_message_set_reply_to): Use the
-       camel_address_encode function again.
-       (camel_mime_message_set_from): Same.
-
-2000-10-05  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-utils.c (quoted_encode_step): Modified to not encode
-       space chars in the middle of a line.
-       (isblank): New macro if we're not on a system with the GNU isblank
-       extension.
-
-       * camel-mime-message.c (camel_mime_message_set_from): Reversed my
-       changes, don't header_encode_phrase - it generates broken headers.
-       (camel_mime_message_set_reply_to): Same.
-
-2000-10-04  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-utils.c (camel_nntp_get_headers):
-       revert to old method (only use XOVER if OVER is supported.)
-
-       * providers/nntp/camel-nntp-store.c
-       (camel_nntp_store_get_overview_fmt): handle the case where the
-       OVER extension isn't listed but LIST OVERVIEW.FMT works (again,
-       INN 2.2).  enable the OVER extension in this case.
-
-2000-10-04  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-utils.c (get_XOVER_headers): return a
-       gboolean so we can tell if this command worked.  we can't key off
-       the OVER extension being present because at least one server (INN
-       2.2) doesn't report the OVER extension but implements the XOVER
-       command.  This could of course just be because I'm a loser for
-       thinking they were related in the first place.
-       (camel_nntp_get_headers): always try XOVER first, and if it fails
-       revert to the slow method.
-
-2000-10-04  Dan Winship  <danw@helixcode.com>
-
-       * providers/mbox/camel-mbox-store.c (get_folder): Fix a case where
-       a variable was free'd and then possibly used in an error message.
-
-2000-10-04  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-provider.c
-       (camel_provider_module_init): news: -> nntp:.
-
-2000-10-04  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-store.c (nntp_store_get_folder_info):
-       use "nntp:" instead of "news:" since "news:" urls aren't supposed
-       to have host/user/port info in them.  also, if there's a user
-       defined in the url, put it in the urls for our folders.
-
-2000-10-04  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-auth.c (camel_nntp_auth_authenticate):
-       borrow some code from the imap provider to query the user for
-       their password, and pass the user/passwd to nntp.  be extra
-       paranoid and zero out the password before freeing it.
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_store_init): add
-       ALLOW_USER/ALLOW_PASSWORD/ALLOW_AUTH to the url flags.
-       (nntp_store_query_auth_types_generic): return our list of
-       auth_types.
-       (nntp_store_query_auth_types_connected): broken, return same as in
-       query_auth_types_generic.
-
-2000-10-04  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (imap_connect): IMAP4
-       (pre-rev1) doesn't support the 'LIST "" ""' idiom, so don't use
-       it. Just assume the dir_sep is '/'. Shrug.
-
-2000-10-04  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-message.c (camel_mime_message_set_reply_to): Use
-       header_encode_phrase instead.
-       (camel_mime_message_set_from): Same.
-
-2000-10-04  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-utils.c (header_content_type_is): Handle the case
-       where ct != NULL, but type and subtype are, and also match that
-       against text/plain.
-
-       * camel-folder-summary.c: Bump summary file version.
-       (message_info_save): Save the size from the messageinfo.
-       (message_info_load): Load the size from the summary file.
-       (message_info_load): Fixed up the time_t saving/loading.  There
-       was a reason the warning was left there ... obviously nobody could
-       read the comment "/* warnings, leave them here */", why do i even
-       bother.
-       (camel_folder_summary_decode_time_t): Decode a time_t value from
-       the summary file.
-       (camel_folder_summary_encode_time_t): Encode a time_t value to the
-       summary file.
-
-2000-10-03  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-command.c (camel_imap_command): Quote
-       the mailbox name when sending a SELECT request otherwise mailboxes
-       with spaces in their names will cause problems.
-
-       * camel-mime-message.c (camel_mime_message_set_reply_to): encode
-       before setting.
-       (camel_mime_message_set_from): Same.
-
-2000-10-03  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-command.c: New file containing
-       camel_imap_command and friends. Major camel_imap_command rewrite
-       to remove duplicated code, make the parsing of literals be
-       more safe/correct, deal with RECENT/EXPUNGE responses more
-       consistently, and make it possible to implement the AUTHENTICATE
-       command.
-
-       * providers/imap/camel-imap-utils.c (imap_parse_nstring): New
-       function, to parse an IMAP "nstring".
-
-       * providers/imap/camel-imap-store.c: Move command stuff to
-       camel-imap-command.c. Update for camel_imap_command changes.
-
-       * providers/imap/camel-imap-folder.c: Update for
-       camel_imap_command changes.
-       (imap_append_message): CRLF filter the message before sending it.
-
-       * providers/imap/Makefile.am: Add camel-imap-command.[ch], remove
-       camel-imap-stream.[ch] for now.
-
-2000-10-02  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-message.c (camel_mime_message_has_8bit_parts): New
-       convenience function to determine if there are any 8bit mime parts
-       in a mime message.
-       (camel_mime_message_encode_8bit_parts): New convenience function
-       to recursively reencode all 8bit mime parts to either
-       quoted-printable or base64 depending on which would be the best
-       encoding for that part.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): If the mime
-       message contains 8bit parts and the server doesn't support 8bit
-       transfers, reencode those parts before proceding with the send.
-       (smtp_mail): If the mime message contains 8bit parts and the
-       server supports the 8BITMIME extension to SMTP, notify the server
-       that we'll be sending it 8bit mime parts.
-       (_send_to): Find out if the message contains 8bit parts.
-
-2000-10-02  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c (_send_to): Use the
-       CamelInternetAddress parser.
-       (smtp_get_email_addr_from_text): deprecated.
-
-2000-10-02  Dan Winship  <danw@helixcode.com>
-
-       * camel-provider.h: Remove default_ports.
-
-       * camel-remote-store.c (remote_connect): Get default_port from
-       CamelRemoteStore rather than CamelProvider.
-
-       * providers/{imap,nntp,pop3}/camel-*-store.c: Initialize
-       CamelRemoteStore::default_port
-
-       * providers/*/camel-*-provider.c: Remove default_ports.
-
-2000-10-02  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.[ch]: Remove
-       camel_folder_{get,free}_subfolder_info, as we want to be able to
-       scan the whole subfolder tree without having to open any folders,
-       so this needs to be in CamelStore. Remove can_hold_folders and
-       can_hold_messages flags; things that don't hold messages are no
-       longer considered CamelFolders.
-
-       * camel-folder-summary.[ch]: Remove CamelFolderInfo stuff.
-
-       * camel-store.[ch]: Add camel_store_{get,free}_folder_info, as
-       well as camel_store_free_folder_info_full and ..._nop for default
-       implementations, and camel_folder_info_free and
-       camel_folder_info_build as convenience functions. Turn
-       CamelFolderInfo into a tree structure and also add an "url"
-       member.
-
-       * providers/*/camel-*-folder.c: Remove subfolder_info and can_hold
-       stuff.
-       * providers/*/camel-*-store.c: Add folder_info stuff.
-
-       * providers/imap/camel-imap-folder.c (imap_summary_free): Free the
-       summary elements with camel_message_info_free, not
-       camel_folder_info_free. Oops.
-
-       * providers/imap/camel-imap-utils.c: const poison
-
-2000-09-28  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c: Fixed some memory leaks.
-       (camel_smtp_transport_init): Initialize supports_8bit to FALSE.
-       (smtp_helo): If server supports 8bit, set supports_8bit to TRUE.
-
-       * camel-transport.h (struct _CamelTransport): Added variable
-       gboolean supports_8bit (we'll need this eventually? - see bugzilla
-       bug #53)
-
-       * providers/smtp/camel-smtp-transport.c
-       (smtp_get_email_addr_from_text): Ugh, no wonder people were
-       getting illegal seek warnings *sigh*. I guess I can only blame
-       myself for this one though :-(
-
-2000-09-28  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c (_send_to): Don't send the
-       recipient data through smtp_get_email_addr_from_text - this is a
-       complete waste. In fact, we don't want to have to use that
-       function ever.
-
-       * camel-internet-address.c, camel-address.c: Added some gtk-doc
-       comments.
-       
-2000-09-28  Jeffrey Stedfast  <fejj@helixcode.com>
-       
-       * camel-mime-utils.c (header_encode_string): Make sure to add the
-       space char after an encoded word when the encoding is iso-8859-1.
-
-2000-09-28  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): When
-       getting a literal string response, don't include the \r\n after
-       the closing } (as in: "... {798}\r\n...")
-       
-       * providers/imap/camel-imap-stream.c (stream_read): Same.
-
-2000-09-28  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-utils.c (header_fold): New function to fold headers.
-
-2000-09-27  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-parser.c (folder_scan_header): If we had an empty
-       header, then it must be end of the headers too.
-       (folder_scan_init): No we dont need to init the outbuf with a nul
-       terminator.
-
-       * camel-folder-summary.c (camel_folder_summary_set_uid): New
-       function to reset the uid to a higher value.
-
-       * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync):
-       "something failed (yo!)" what sort of crap is this?  Fixed all the
-       indenting again, what wanker keeps running stuff through indent?
-       (message_info_new): Check the uid we loaded off the disk, if it
-       existed already, assign a new one.  If it didn't then make sure
-       the nextuid is higher.
-
-       * camel-charset-map.c: New file, used to build a large unicode
-       decoding mapping table, and use it to determine what is the
-       lowest charset a given word can be encoded with.  Uses tables from
-       libunicode's source.
-
-       * camel-internet-address.c (internet_encode): Use
-       header_phrase_encode to properly encode the fullname, as required.
-       refixed indenting.  Who keeps doing that?
-       (camel_internet_address_find_address): Changed fatal return/warnings
-       into assertions.
-
-       * camel-mime-utils.c (header_raw_append_parse): Check : explicitly
-       (removed from is_fieldname() macro).
-       (camel_mime_special_table): Changed to short, so we can represent
-       more bit types.
-       (quoted_encode): Take a mask of the safe chars for this encoding.
-       (header_address_decode): Removed a #warning that makes no sense
-       anymore.
-       (header_decode_date): Fixed the 'broken date' parser code, if it
-       ever decoded it it just threw away the result.
-       (header_encode_string): Use better charset matching for encoding
-       strings as well.
-
-2000-08-31  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/mh/camel-mh-summary.c (camel_mh_summary_sync): Save
-       the index if we do a sync.
-       (camel_mh_summary_check): Save the index here too.  Probably.
-
-2000-09-27  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (camel_imap_command_extended):
-       Return untagged data in a GPtrArray rather than a string, since it
-       saves processing time and is much easier to deal with for several
-       commands. Update for camel_imap_folder_changed change.
-       (camel_imap_fetch_command): Update for camel_imap_folder_changed
-       change.
-       (imap_connect, imap_folder_exists): Update for
-       camel_imap_command_extended change.
-
-       * providers/imap/camel-imap-folder.c
-       (imap_get_message_count_internal,
-       imap_get_subfolder_info_internal, imap_search_by_expression):
-       Update for camel_imap_command_extended change.
-
-       (imap_get_summary_internal, imap_get_message_info_internal): Use
-       camel_imap_fetch_command here now to get around the
-       camel_imap_command_extended change.
-
-       (camel_imap_folder_changed): turn expunged into a GArray of ints
-       rather than a GPtrArray of strings representing ints.
-
-2000-09-26  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c
-       (imap_get_message_count_internal): Quote the folder name as it may
-       contain spaces.
-       (imap_get_subfolder_info_internal): Same.
-
-       * providers/imap/camel-imap-utils.c (imap_parse_list_response): Do
-       proper unquoting for folder names.
-       (func_get_current_date): Implemented.
-
-       * providers/imap/camel-imap-store.c
-       (imap_folder_exists): Quote the folder name as it may have spaces.
-       (imap_create): Same.
-       (check_current_folder): Same.
-
-2000-09-22  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c
-       (imap_get_subfolder_info_internal): The root folder's name is "",
-       not the namespace.
-       (camel_imap_folder_new): constify folder_name.
-
-       * providers/imap/camel-imap-store.c (get_folder): Create the
-       folder with folder_name, not folder_path.
-       (camel_imap_command_preliminary): Don't free cmdid here.
-
-2000-09-21  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-utils.c (imap_create_flag_list): New
-       function to convert Camel flags to an IMAP flag_list.
-       (imap_parse_flag_list): Contrariwise.
-
-       * providers/imap/camel-imap-store.c (camel_imap_command_*): Make
-       the @ret arg actually optional, as (mostly) documented.
-       (various): Don't pass "&result" to camel_imap_command_* if we're
-       just going to immediately free it. Don't record status if we're
-       not going to look at it.
-
-       * providers/imap/camel-imap-folder.c: Likewise.
-       (imap_summary_free): Use camel_folder_info_free.
-       (imap_sync): Use imap_create_flag_list. Clear
-       CAMEL_MESSAGE_FOLDER_FLAGGED after syncing so we don't keep
-       re-syncing.
-       (imap_append_message): Use imap_create_flag_list. Don't leak the
-       memstream if the append fails.
-       (imap_move_message_to): Use camel_folder_delete_message rather
-       than doing it by hand.
-       (imap_get_summary_internal, imap_get_message_info_internal): Use
-       imap_parse_flag_list and header_raw_clear.
-       (camel_imap_folder_changed): Use camel_message_info_free.
-
-2000-09-21  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (get_folder_name): INBOX is
-       case-insensitive.
-       (get_root_folder_name): Make the root folder "" rather than "/".
-       (get_folder): Update for root folder name change.
-       (camel_imap_store_get_toplevel_dir): Removed. (Unused, unneeded.)
-       (camel_imap_store_folder_path): New function to turn a Camel
-       folder name into the corresponding namespaced IMAP path.
-       (imap_folder_exists): Make this take a store and a path rather
-       than a folder.
-       (imap_create): Likewise
-       (get_folder): Update for camel_imap_store_folder_path and other
-       changes.
-       (check_current_folder): Likewise.
-
-       * providers/imap/camel-imap-folder.c: Change a bunch of CamelStore
-       variables to CamelImapStore (and add a few more) to prevent excess
-       gratuitous casting. Use camel_imap_store_folder_path where
-       appropriate.
-       (camel_imap_folder_new): Update for root folder name change.
-
-2000-09-19  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Use the
-       linewrap filter to achieve full RFC0821 compliance.
-
-       * camel-mime-filter-linewrap.[c,h]: New mime-filter to word-wrap.
-
-2000-09-19  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-internet-address.c (internet_encode): When encoding the
-       internet address, quote the name as the name may have commas or
-       any other token which may later confuse our address parser.
-
-2000-09-19  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c
-       (imap_get_subfolder_info_internal): Fix the case where INBOX
-       isn't returned in the folder listing.
-
-2000-09-19  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.c: (init): Removed
-       (camel_folder_init, camel_folder_construct): New object init
-       function and public object constructor to replace the old init
-       method in a more Gtk-like fashion.
-
-       (get_parent_folder, camel_folder_get_parent_folder): Removed. No
-       CamelFolder subclass was ever setting the parent_folder member, no
-       code has ever needed to look at it, and fixing it would actually
-       be pretty hard.
-
-       (get_subfolder_info, camel_folder_get_subfolder_info): Renamed
-       from ..._names. Deals in CamelFolderInfo now.
-       (free_subfolder_info, camel_folder_free_subfolder_info): Likewise.
-
-       (get_subfolder, camel_folder_get_subfolder): Removed.
-       CamelFolderInfo contains the subfolder's full name, so this is
-       unnecessary now, and removing it lets us get rid of the
-       CamelFolder separator member, which is needed for the default
-       implementation of this function, but not otherwise needed for most
-       providers.
-
-       Also, lots of code style fixes.
-
-       * providers/*: Update CamelFolder subclasses for changes, although
-       none of them fill in the message counts in the CamelFolderInfo
-       yet.
-
-2000-09-18  Christopher James Lahey  <clahey@helixcode.com>
-
-       * camel-folder-search.c, camel-folder-search.h,
-       camel-remote-store.c, providers/imap/camel-imap-folder.c,
-       providers/imap/camel-imap-store.c: Fixed the #include lines to
-       deal properly with gal.
-
-2000-09-17  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder-summary.h: update CamelFolderInfo
-       * camel-folder-summary.c (camel_folder_info_free): New function to
-       free the contents of a CamelFolderInfo
-
-2000-09-15  Dan Winship  <danw@helixcode.com>
-
-       * camel.c (camel_init): Set camel_verbose_debug to TRUE if
-       CAMEL_VERBOSE_DEBUG is set in the environment.
-
-       * camel-remote-store.c (remote_send_line, remote_recv_line): only
-       log if camel_verbose_debug is TRUE.
-
-2000-09-14  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (get_folder): Don't use
-       dir_sep as top-level directory, use "/".
-
-       * providers/imap/camel-imap-folder.c (imap_expunge): Get rid of
-       unused variable.
-
-2000-09-13  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_expunge): Don't look at
-       the response of the command. camel_imap_command_extended()
-       processes EXPUNGE responses itself, so if we do it here too we
-       remove twice as many summary items as we should.
-
-2000-09-13  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (imap_folder_exists): Rewrote
-       to take a third argument (gboolean *selectable) so that we can
-       find out if the folder is selectable or not as we look to see if
-       it exists. Also, don't use EXAMINE because that will not work on
-       non-selectable folders, so use LIST instead.
-       (get_folder): Check to see if the folder exists even vefore
-       calling imap_create as this will save time. If the folder does
-       exist, find out if it's selectable. Moved the call to refresh_info
-       here.
-
-       * providers/imap/camel-imap-folder.c (imap_get_uids): Check for a
-       NULL summary.
-       (camel_imap_folder_new): Don't call refresh_info here - call it in
-       get_folder() because we don't know if this folder even exists on
-       the server yet! And even if it does, we don't know if it can hold
-       messages or not yet.
-
-2000-09-12  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-parser.c (folder_scan_step): Make sure *datalength is
-       > 0 before calling camel_mime_filter_filter otherwise we will get
-       a segfault if the filter calls iconv().
-
-2000-09-08  Christopher James Lahey  <clahey@helixcode.com>
-
-       * providers/nntp/camel-nntp-auth.c,
-       providers/nntp/camel-nntp-auth.h: Fixed a warning.
-
-2000-09-07  Dan Winship  <danw@helixcode.com>
-
-       * camel-session.c (camel_session_get_storage_path): Make this not
-       leak.
-       
-2000-09-07  Dan Winship  <danw@helixcode.com>
-
-       * camel-session.c (camel_session_new): Make this take a path to a
-       directory that Camel can use for its own nefarious purposes.
-       (camel_session_get_storage_path): New function to return a path
-       that a service can use for its own nefarious sub-purposes.
-
-       * camel-service.c (camel_service_get_path): New method (and
-       useful default implementation) to get a (relative) pathname
-       corresponding to the service.
-
-2000-09-06  Dan Winship  <danw@helixcode.com>
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server): Make KPOP
-       work again.
-
-2000-09-06  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-message.c (camel_mime_message_get_received_date):
-       Implemented (someone added these to camel-mime-message.h but never
-       implemented them!!) - though it may not be right.
-       (camel_mime_message_get_sent_date): Same.
-
-2000-09-05  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-part.c (camel_mime_part_get_filename): If a MIME part
-       has no Content-Disposition, but does have a "name" on the
-       Content-Type, return that as the filename.
-       (process_header): strstrip the Content-Description
-
-2000-09-05  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-utils.c (get_OVER_headers): care about
-       response code.
-       (get_HEAD_headers): same.
-       (camel_nntp_get_headers): same.
-
-       * providers/nntp/camel-nntp-store.h: get rid of
-       CAMEL_NNTP_OK/ERR/FAIL.
-
-       * providers/nntp/camel-nntp-store.c
-       (camel_nntp_store_get_extensions): take CamelException arg and
-       pass along to camel_nntp_command.
-       (camel_nntp_store_get_overview_fmt): same.
-       (nntp_store_connect): convert to using constants in
-       camel-nntp-resp-codes.h
-       (nntp_store_get_folder): make use of camel_nntp_folder_new.
-       (camel_nntp_command_send_recv): new function to deal with auth
-       challenge.
-       (camel_nntp_command): split out most of this function into
-       camel_nntp_command_send_recv.  also, return the actual response
-       code instead of CAMEL_NNTP_OK/ERR/FAIL.
-
-       * providers/nntp/camel-nntp-resp-codes.h: new file.
-
-       * providers/nntp/camel-nntp-folder.h: prototype for
-       camel_nntp_folder_new.
-
-       * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): new
-       convenience function.
-       (nntp_folder_get_message): care more about the actual response
-       code.
-
-       * providers/nntp/Makefile.am (libcamelnntp_la_SOURCES): add
-       camel-nntp-auth.c.
-       (libcamelnntpinclude_HEADERS): add camel-nntp-auth.h.
-
-       * providers/nntp/camel-nntp-auth.h: new file.
-
-       * providers/nntp/camel-nntp-auth.c: new file.
-
-2000-09-05  Peter Williams  <peterw@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (imap_folder_exists): Don't free the
-       result on error; the exception will have the relevant info.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Check for
-       exceptions here.
-
-       * providers/imap/camel-imap-store.c (imap_connect): Check the exception
-       on the refresh_folders call.
-
-       * providers/imap/camel-imap-store.h: Clean up some now-unused fields.
-
-       * camel.c (camel_init): Call unicode_init again, now that libunicode
-       will not initialize itself twice.
-
-2000-09-02  Lauris Kaplinski  <lauris@helixcode.com>
-
-       * camel-folder-search (search_header_contains): Use e_utf8_strstrcase
-
-2000-09-01  Christopher James Lahey  <clahey@helixcode.com>
-
-       * providers/imap/camel-imap-utils.c: Removed some unused
-       functions.
-
-2000-09-01  Peter Williams  <peterw@helixcode.com>
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_command): Initialize
-       the statically-allocated CamelException so that it doesn't contain
-       junk data that camel_exception_set() may try to free.
-       (camel_nntp_store_get_extensions): Same.
-       (camel_nntp_store_get_overview_fmt): Same.
-
-       * providers/pop3/camel-pop3-store.c (camel_pop3_command): Typo
-       fix (if (*ret) -> if (ret)).
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): Set the
-       port # back to what was specified ASAP, so that the hash of
-       the URL doesn't change (which causes a failure in
-       service_cache_remove that leads to a segfault).
-
-       * providers/imap/camel-imap-store.c (imap_connect): Clear the 
-       exception after a failed LOGIN so that it doesn't pass through
-       to the upper level and make mail think that the login failed.
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): As above.
-
-2000-08-31  Peter Williams  <peterw@helixcode.com>
-
-       * providers/pop3/camel-pop3-store.c (camel_pop3_store_get_type):
-       Implement POP3 with the CamelRemoteStore now.
-       (connect_to_server): Hack this a bit to get KPOP to work. Obey
-       the new connection semantics of the remote store (implicitly).
-       (query_auth_types_connected): Clear exceptions after attempts
-       to connect; the code at the bottom will catch hard errors.
-       Use camel_service_connect.
-       (camel_pop3_command): Take a CamelException; now, when an error
-       occurs, ret is set to NULL and the exception passes back the
-       appropriate information.
-       (pop3_get_response): Same as above.
-       (pop3_try_authenticate): Give camel_pop3_command its exception
-       and handle it properly.
-       (pop3_connect): Call the parent classfuncs. Don't disconnect
-       on error (done for us).
-
-       * providers/pop3/camel-pop3-folder.c: Obey the camel_pop3_command
-       semantics.
-
-       * camel-remote-store.c (remote_query_auth_types_connected): Don't
-       warn; just return NULL.
-       (remote_query_auth_types_generic): Same.
-       (remote_send_string): Filter out passwords in debugging output.
-
-       * providers/pop3/camel-pop3-store.c (camel_pop3_store_init): Also
-       set the ALLOW_AUTH flag.
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_init): Same.
-
-2000-08-31  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_store_class_init):
-       remove get_folder_name.
-       (nntp_store_get_folder_name): remove.
-
-2000-08-31  Lauris Kaplinski  <lauris@helixcode.com>
-
-       * camel-mime-part.c (write_to-stream): Use filter only if we have one
-       
-2000-08-31  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-utils.c (get_OVER_headers): use
-       camel_remote_store_recv_line.
-
-       * providers/nntp/camel-nntp-folder.c (nntp_folder_get_message):
-       use camel_remote_store_recv_line to build message.  also, free our
-       buffer so we don't leak like mad.
-
-       * providers/nntp/camel-nntp-store.c:
-       (camel_nntp_store_get_additional_data) remove.
-       (camel_nntp_store_get_extensions): use
-       camel_remote_store_recv_line.
-       (camel_nntp_store_get_overview_fmt): same.  also, don't rely on
-       _get_additional_data anymore since it's easier to parse without.
-       (camel_nntp_command): use camel_remote_store_send_string and
-       camel_remote_store_recv_line.
-
-       * providers/nntp/camel-nntp-store.h: CamelRemoteStore is the
-       parent class now.  remove istream/ostream since CamelRemoteStore
-       takes care of that for us.  also remove the prototype for
-       camel_nntp_store_get_additional_data.
-
-       * providers/nntp/camel-nntp-newsrc.c (camel_nntp_newsrc_write):
-       make sure to clear dirty bit.
-       (camel_nntp_newsrc_read_for_server): don't worry about continually
-       trying to open the file - if it fails we just return an
-       unpopulated .newsrc file.
-
-2000-08-31  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-newsrc.c
-       (camel_nntp_newsrc_read_for_server): make this a bit more robust.
-       try to create an empty .newsrc file for the server if we can't
-       open it for reading.  also, don't allocate everything until we've
-       opened the file.
-
-       * providers/nntp/camel-nntp-utils.c (get_OVER_headers): make use
-       of our overview field indices.
-       (camel_nntp_get_headers): only call get_OVER_headers if the
-       extension is present.  warn if it's not - since get_HEAD_headers
-       needs work before it works.
-
-       * providers/nntp/camel-nntp-store.c
-       (camel_nntp_store_get_extensions): new function - query the server
-       for it's extensions.
-       (camel_nntp_store_get_overview_fmt): new function - query the
-       server for the overview format and build our table of the indices
-       we care about.  support the "full" suffix on fields.
-       (nntp_store_connect): call camel_nntp_store_get_extensions and
-       camel_nntp_store_get_overview_fmt.
-
-       * providers/nntp/camel-nntp-store.h: add codes for extensions
-       found on news.mozilla.org.  only one that we care about is OVER.
-       also, add CamelNNTPOverField and an enum of the overview fields
-       that we care about.
-
-2000-08-31  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-utils.c (imap_translate_sexp):
-       Reimplemented. It should now work correctly for most possible
-       VFolder rules.
-
-2000-08-31  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (camel_imap_command_extended):
-       Don't save any exceptions caused by camel_imap_folder_changed
-       (camel_imap_fetch_command): Same.
-       
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
-       Using a new way of calculating the first recent message that seems
-       more accurate. Also added code to make sure we don't accidently
-       add a duplicate summary.
-
-2000-08-31  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-part.c (write_to_stream): Use the proper type
-       checking function to check for text types.
-       (write_to_stream): If we have a charset on a text type that
-       isn't us-ascii or utf-8, then we need to reencode it, so add a
-       filter to do that too.
-       (write_to_stream): Fix some warnings/use the right constructor,
-       oops.
-       (write_to_stream): Rearrange the logic so it always does charset
-       conversion, and not just if we have a qp/base64 block.
-
-       * camel-mime-utils.c (append_latin1): New function - even though
-       its broken, we'll assume mailers send latin1 headers instead of
-       us-ascii.  We just have to encode high chars into utf-8.
-       (header_decode_text): Call append_latin1 for appending unencoded
-       text segments.
-       (append_latin1): Do an additional mask for account for c's
-       undefined behaviour for sign extension whilst shifting right.
-
-2000-08-30  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (camel_imap_fetch_command):
-       Rewrote to ignore strings that look like server responses until it
-       is sure that it has finished reading the literal string response.
-
-2000-08-30  Jeffrey Stedfast  <fejj@helixcode.com>
-       
-       * camel-remote-store.c (remote_send_string): Don't wrap printed
-       strings in quotes, makes things messy
-       
-       * providers/imap/camel-imap-folder.c (imap_get_message): Updated
-       to use the camel_imap_fetch_command
-       
-       * providers/imap/camel-imap-stream.c (stream_read): Updated to use
-       camel_imap_fetch_command
-
-       * providers/imap/camel-imap-store.c (camel_imap_command_extended):
-       No longer handles FETCH requests so no longer needs to be
-       concerned with checking to make sure that server responses are
-       valid (they have to be).
-       (camel_imap_fetch_command): New convenience function that handles
-       all FETCH requests
-
-2000-08-30  Peter Williams  <peterw@helixcode.com>
-
-       * camel-remote-store.c (remote_connect): Unify with remote_post_connect.
-       (remote_disconnect): Unify with remote_pre_disconnect.
-       (camel_remote_store_class_init): Don't use the post_connect and
-       pre_disconnect classfuncs anymore ; they weren't especially useful.
-
-       * providers/imap/camel-imap-store.c (imap_connect): Use this again
-       instead of implementing post_connect.
-       (imap_disconnect): Analogous to above.
-
-       * camel-session.c (camel_session_get_service_connected): New function.
-       Like camel_session_get_service() but also connects to the service
-       if needed. camel_session_get_{store,transport} (defined in the header)
-       used this now, preventing annoying when-to-connect problems.
-
-       * camel-service.c (camel_service_new): Revert to the old behavior
-       of not connecting until told to do so. Otherwise doing auth
-       testing correctly is really hard.
-       (camel_service_connect): Fix behavior here (set the connected
-       flag).
-       (camel_service_disconnect): Unset the connected flag.
-
-2000-08-30  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c: General cleanup / moving
-       stuff around to make things easier to follow.
-
-2000-08-30  Jeffrey Stedfast  <fejj@helixcode.com>
-       
-       * camel-remote-store.c: Prevent exceptions from being overwritten
-
-       * providers/imap/camel-imap-folder.c (imap_expunge): Beautified
-       (imap_get_subfolder_names_internal): Removed old code as the
-       replacement code has now been tested and proven to work
-
-2000-08-29  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-utils.c: Removed old code that will
-       never be needed again
-
-       * providers/imap/camel-imap-store.c: Removed old code for
-       try_connect - will never need this code
-       (slurp_response): Update to make sure we aren't falsely detecting
-       EXPUNGE flags
-
-2000-08-29  Peter Williams  <peterw@helixcode.com>
-
-       * camel-service.c (camel_service_connect): Uncomment this.
-       (camel_service_disconnect): Same.
-
-       * camel-remote-store.[ch]: New files. Abstract remote storages
-       (IMAP, POP3, NNTP) and hides the lower-level networky stuff.
-       
-       * camel-service.c (camel_service_new): Take an extra argument, the
-       provider that created us, cause it's useful.
-       (camel_service_finalize): Unref our new provider member.
-
-       * camel-session.c (camel_session_get_service): Pass the proper number of
-       arguments to camel_service_new().
-
-       * camel-imap-store.c: Massive update: 1) use the CamelRemoteService to
-       make our life Very Easy (TM). 2) Change the semantics of all 
-       camel_imap_command* functions to take exceptions, centralize tons of
-       duplicate code, and use the handy RemoteStore utility functions
-
-       * camel-imap-folder.c: Use the new semantics of camel_imap_command*
-
-       * camel-imap-stream.c: Same.
-       
-2000-08-29  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (camel_imap_command_extended):
-       Updated to check for EXPUNGE notifications
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
-       Updated to account for messages which have been expunged (now
-       takes a new arg, a GPtrArray of message id's that have been
-       expunged)
-       (imap_expunge): Updated (we may want to just use the code in
-       folder_changed now instead of doing our own summary
-       expunging...but that can be fixed later)
-       (imap_append_message): Updated.
-       (imap_copy_message_to): Updated.
-       (imap_move_message_to): Updated.
-
-2000-08-28  Peter Williams  <peterw@helixcode.com>
-
-       * camel-folder.c (camel_folder_refresh_info): New member function,
-       refresh_info, used for rereading folder state after its state has
-       somehow become unknown. Tries to preserve last-known status of
-       messages.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_refresh_info): Implement
-       ::refresh_info (split up ::init)
-
-       * providers/mbox/camel-mbox-store.c (get_folder): Call ::refresh_info.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Call
-       ::refresh_info once initialized.
-       (imap_refresh_info): New member function; reads the summary from
-       the server (used to be in camel_imap_folder_new; split out).
-
-       * providers/imap/camel-imap-store.c (imap_connect): Set
-       CamelService::connected a little early so that 
-       camel_imap_command won't try to connect while already
-       connnecting.
-       (camel_imap_command*): Try to connect if not connected already.
-       
-       * providers/pop3/camel-pop3-folder.c (pop3_refresh_info): Same as above.
-
-       * providers/pop3/camel-pop3-folder.c (camel_pop3_folder_new): Same
-       as above.
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): Set 
-       CamelService::connected a little early so that
-       camel_pop3_command won't try to connect while already
-       connecting
-       (connect_to_server): Same.
-
-       * providers/nntp/camel-nntp-folder.c (nntp_folder_refresh_info): Same
-       as above.
-
-2000-08-28  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): Fixed the
-       hack around quoted string responses - should now handle them
-       according to the specifications in the RFC
-       
-       * providers/imap/camel-imap-stream.c (stream_read): Updated to
-       match the code currently used in camel-imap-folder.c
-
-2000-08-28  Ettore Perazzoli  <ettore@helixcode.com>
-
-       * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync):
-       Never ever free `tmpname' as it comes from `alloca()'!
-
-2000-08-26  Ettore Perazzoli  <ettore@helixcode.com>
-
-       * camel-mime-utils.c (header_decode_text): Use `g_free()', not
-       `free()', to free `decword'.
-
-2000-08-25  Peter Williams  <peterw@helixcode.com>
-
-       * camel.c (camel_init): Don't call unicode_init; code in e-util
-       will do it, and if unicode_init is called twice, you get an
-       infinite loop when looking up nonexistant encodings (patch
-       has been submitted to libunicode's maintainer).
-       
-       * camel-provider.h: Add a new field, default_ports, which
-       helps the configuration code guess about how to make CamelURL's
-       from providers.
-       
-       * providers/*/camel-*-provider.c: Specify default ports.
-
-2000-08-25  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c
-       (imap_get_subfolder_names_internal): If the url path is "/" and
-       the folder path is "/", just LIST "" "*" (this should fix some
-       cyrus imapd problems). Also, INBOX is case insensitive so use
-       g_strcasecmp
-
-2000-08-24  Lauris Kaplinski  <lauris@helixcode.com>
-
-       * camel-folder-summary.c (summary_build_content_info):
-       Use UTF-8 as default
-       * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser):
-       Use UTF-8 as default
-       * camel-mime-utils.c (rfc2047_decode_word): Use UTF-8
-       
-2000-08-17  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/mh/camel-mh-folder.c (mh_finalize): And here too.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_finalize): Close index
-       on exit.
-
-2000-08-23  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-utils.c (header_address_list_format_append): put
-       commas between addresses.
-
-2000-08-22  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c
-       (imap_protocol_get_summary_specifier): use BODY.PEEK, not BODY, so
-       we don't set the message \Seen.
-
-2000-08-22  Christopher James Lahey  <clahey@helixcode.com>
-
-       * providers/pop3/camel-pop3-store.c: Fixed a small warning.
-
-2000-08-22  Peter Williams  <peterw@helixcode.com>
-
-       * camel-service.c (camel_service_new): Connect automatically if the
-       URL is not empty.
-       (finalize): Disconnect automatically if connected.
-       (camel_service_query_auth_types): Split into two functions; one to
-       be called if we're connected to an actual server (_connected), one
-       to be called if we're just gauging the general authtypes supported
-       (_generic).
-       (is_connected): Remove.
-
-       * camel-store.c (camel_store_get_folder): Don't connect explicitly to
-       the service.
-
-       * providers/nntp/camel-nntp-store.c (query_auth_types_generic): Split
-       the query_auth_types function. Hook it up in _new.
-       (finalize): Don't try to disconnect here.
-       
-       * providers/pop3/camel-pop3-store.c (query_auth_types_generic): Same.
-       (finalize): Don't try to disconnect here.
-
-       * providers/imap/camel-imap-store.c (query_auth_types_generic): Same.
-       (finalize): Don't try to disconnect here.
-
-       * providers/smtp/camel-smtp-transport.c (query_auth_types_generic): Split
-       the query_auth_types (dummy, in this case) function. Hook it up in _new.
-       (finalize): Don't try to disconnect here.
-
-2000-08-21  JP Rosevear  <jpr@helixcode.com>
-       
-       * providers/nntp/camel-nntp-folder.c (nntp_folder_get_subfolder_names):
-       Make sure newsrc is not null
-       (nntp_folder_get_subfolder_names): ditto
-
-       * providers/nntp/camel-nntp-newsrc.c 
-       (camel_nntp_newsrc_get_subscribed_group_names): Programming check
-       for newsrc == NULL
-       (camel_nntp_newsrc_get_all_group_names): ditto
-       (camel_nntp_newsrc_write_to_file): ditto
-       (camel_nntp_newsrc_write): ditto
-
-2000-08-21  JP Rosevear  <jpr@helixcode.com>
-
-       * providers/nntp/camel-nntp-store.c (camel_nntp_command): 
-       Make sure respbuffer is not null before manipulating it.
-       If it is null, return CAMEL_NNTP_FAIL and a decent error
-       message.
-       
-2000-08-18  Peter Williams  <peterw@helixcode.com>
-
-       * camel-internet-address.c (internet_encode): If the name is "" we
-       weren't outputting anything; output the address at least.
-
-2000-08-16  Peter Williams  <peterw@helixcode.com>
-
-       * camel-internet-address.c (internet_encode): Fix a leak when
-       name = "". It's a single-byte leak, but it's the little things
-       that count.
-
-       * camel-object.c (camel_type_lock_up): Don't leave the type
-       system locked when a bad unlock happens.
-
-       * providers/mbox/camel-mbox-store.c (get_folder): Fix a leak.
-
-2000-08-15  Peter Williams  <peterw@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_copy_message_to): Typo fix.
-
-2000-08-14  Peter Williams  <peterw@helixcode.com>
-
-       * camel-folder-search.c (search_get_sent_date): New search function;
-       returns the time_t when the message was sent.
-       (search_get_receive_date): Same for when it was received.
-       (search_get_current_date): Gets the current time for use with the
-       above two. Is this in the right place?
-
-       * camel-folder-search.h: Add the new functions above to the class.
-
-2000-08-13  Dan Winship  <danw@helixcode.com>
-
-       * providers/nntp/Makefile.am (libcamelnntpinclude_HEADERS): Add
-       camel-nntp-utils.h
-
-       * providers/imap/camel-imap-folder.c
-       (imap_get_subfolder_names_internal): do a strcasecmp rather than
-       just a strcmp when checking if a folder is "INBOX", since it is
-       a case-insensitive name.
-
-2000-08-12  Dan Winship  <danw@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_summary_internal):
-       Don't assume the FETCH results will come back in the order they
-       were requested.
-       (imap_get_subfolder_names_internal): Add "INBOX" to the list as
-       g_malloc'ed memory, not a static string.
-
-2000-08-12  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c
-       (camel_imap_command_continuation): Now takes a char * parameter
-       rather than a stream
-       (camel_imap_command_continuation_with_stream): Same function as
-       above but takes a stream parameter instead
-
-       * providers/imap/camel-imap-folder.c (imap_append_message): Use
-       camel_imap_command_continuation_with_stream
-
-2000-08-12  Dan Winship  <danw@helixcode.com>
-
-       * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): New
-       function to do one round of attempted authentication.
-       (pop3_connect): Move a bunch of code out into
-       pop3_try_authenticate and fix some bugs in the edge cases.
-
-2000-08-12  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (query_auth_types): No longer
-       calls try_connect() to get authtypes
-
-2000-08-11  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c
-       (camel_imap_command_continuation): Changed param order a bit and
-       fixed some logic
-
-       * providers/imap/camel-imap-folder.c (imap_append_message): Use
-       the new multi-transactional convenience functions
-
-2000-08-11  Jeffrey Stedfast  <fejj@helixcode.com>
-       
-       * providers/imap/camel-imap-store.c
-       (camel_imap_command_preliminary): New convenience function for
-       multi-transactional commands (opening request)
-       (camel_imap_command_continuation): New convenience function for
-       multi-transactional commands (followup data)
-
-2000-08-11  Christopher James Lahey  <clahey@helixcode.com>
-
-       * providers/mh/camel-mh-folder.c: Fixed a warning.
-
-2000-08-11  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-folder.c
-       (camel_nntp_folder_class_init): remove get_name and get_full_name
-       assignments, since the camel-folder.c implementation does what we
-       need.
-
-2000-08-11  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-store.c
-       (camel_nntp_store_get_toplevel_dir): use g_get_home_dir, since
-       evolution_dir isn't available in the providers.
-
-2000-08-11  Peter Williams  <peterw@helixcode.com>
-
-       * camel-folder.c (thaw): Fix a bug where the message_changed
-       signal wasn't being emitted.
-
-2000-08-11  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/mh/camel-mh-folder.c (mh_set_message_user_tag):
-       Implement.
-       (mh_get_message_user_tag): Implement.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_get_message_user_tag):
-       (mbox_set_message_user_tag): Implement.
-
-       * camel-folder.c (move_message_to): Yay so lets fix an already
-       fixed fix, again.
-       (copy_message_to): and here too ... update for api change to append().
-       And removed another warning.
-       (camel_folder_set_message_user_tag): Routine to set message tags.
-       (camel_folder_get_message_user_tag): And accessor.
-
-2000-08-10  Christopher James Lahey  <clahey@helixcode.com>
-
-       * camel-folder-search.c, camel-folder-summary.c, camel-medium.c,
-       camel-mime-filter-charset.c, camel-mime-filter.c,
-       camel-mime-filter.h, camel-mime-message.c, camel-mime-parser.c,
-       camel-mime-part-utils.c, camel-mime-part.c, camel-mime-utils.c,
-       camel-movemail.c, camel-multipart.c, camel-object.c,
-       camel-stream-mem.c, providers/mbox/camel-mbox-folder.c,
-       providers/mbox/camel-mbox-summary.c,
-       providers/mh/camel-mh-folder.c,
-       providers/smtp/camel-smtp-transport.c: Fixed some warnings.
-
-2000-08-11  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/vee/camel-vee-folder.c (vee_folder_build_folder): Free
-       the search properly.
-       (vee_folder_build): And here too.
-
-2000-08-10  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
-       If we go over the max number of messages, don't keep requesting
-       new message summaries, just break.
-
-2000-08-11  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-parser.c (folder_scan_header): A better way to
-       compress leading whitespace.  The code is probably invalid anyway,
-       I dont think it will work across buffer boundaries.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_append_message): And
-       write out proper format From lines here too.
-
-       * providers/mbox/camel-mbox-summary.c
-       (camel_mbox_summary_build_from): New function to build a more
-       compatible mbox "From " line.
-       (camel_mbox_summary_sync): Write From lines in the proper format.
-
-2000-08-10  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/mh/camel-mh-store.c (get_folder): Remove warnin g.
-
-       * providers/mbox/camel-mbox-store.c (xrename): Kill some warnings
-       with constification.
-
-       * providers/imap/camel-imap-folder.c (imap_append_message): Fixed
-       for append api change.  Eek this routine seriously wastes memory.
-
-       * providers/mh/camel-mh-folder.c (mh_search_free): Impelemnt.
-       (mh_append_message): Fix for api change, and include user flags
-       and tags in new message.
-
-       * providers/vee/camel-vee-folder.c (vee_search_by_expression): Fix
-       for search api change.
-
-       * camel-folder.c (camel_folder_search_free): New function for
-       freeing search results.
-       (search_free): Changed my mind, implement a default that actually
-       does something.  Free as to the old interface.
-       (camel_folder_append_message): Changed to accept a
-       camelmessageinfo rather than flags, which just doesn't have enough
-       info in it.
-       (copy_message_to): Change for append_message api change.
-       (move_message_to): Likewise.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_search_free):
-       Implement.
-       (mbox_append_message): Fix for api change, and also copy user
-       flags/tags across to new summary.
-
-       * camel-folder-search.c (search_user_tag): A search expression
-       that returns the current use flag by name.
-       (camel_folder_search_free_result): New function to free the result
-       of a search.
-
-       * camel-folder-summary.c: Bump summary version.
-       (message_info_new): 
-       (message_info_load): 
-       (message_info_save): 
-       (camel_message_info_dup_to): 
-       (camel_message_info_free): Added support for arbitrary tag/value
-       pairs (CamelTag's).
-       (camel_tag_get): 
-       (camel_tag_set):
-       (camel_tag_list_size):
-       (camel_tag_list_free): Operations for working with CamelTags.
-
-2000-08-09  Peter Williams  <peterw@helixcode.com>
-
-       * camel-store.c (camel_store_get_folder): Connect beforehand, if
-       necessary.
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_init): Default
-       the dir_sep to "/" so that certain functions can safely assume that
-       dir_sep is valid (at least, nonnull).
-
-2000-08-09  Ettore Perazzoli  <ettore@helixcode.com>
-
-       * providers/nntp/camel-nntp-folder.c
-       (nntp_folder_set_message_flags): Get rid of an unused variable.
-
-       * providers/nntp/Makefile.am (INCLUDES): Fix includes so that we
-       don't use installed headers anymore.  [I copied this over from the
-       IMAP provider, that does not seem to have this problem.]
-
-2000-08-09  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-folder-search.c (camel_folder_search_execute_expression):
-       Reorder search result in summary order if we searched with a
-       summary.
-
-2000-08-08  Dan Winship  <danw@helixcode.com>
-
-       * camel-uid-cache.c: New code to keep an on-disk cache of what
-       UIDs have been seen in a folder.
-
-       * camel-provider.h: Add new flags CAMEL_PROVIDER_IS_SOURCE (mail
-       can arrive in it by non-Camel means) and CAMEL_PROVIDER_IS_STORAGE
-       (you can work with mail directly without needing to copy it local).
-
-       * providers/*/camel-*-provider.c: Add flags as needed: imap and
-       mbox are SOURCE and STORAGE. mh and nntp are just STORAGE, pop3 is
-       just SOURCE.
-
-       * camel-mime-message.c (process_header): Add another subject
-       g_strstrip that fejj's earlier commit missed.
-
-2000-08-08  Peter Williams  <peterw@helixcode.com>
-
-       * camel-provider.h: Remove some GTK stuff that I missed.
-
-       * providers/imap/camel-imap-store.c (imap_noop): Turn this
-       back on with the new timeout interface in CamelSession.
-
-       * camel-session.[ch] (camel_session_register_timeout): New
-       interface for Camel to register timeouts. Basically the
-       GTK timeout interface is copied. We do this because Camel isn't
-       allowed to use GTK anymore.
-       
-2000-08-07  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/mh/camel-mh-folder.c (mh_append_message): Only retry
-       another uid if we had a name clash, otherwise fail.
-
-2000-08-07  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c
-       (imap_get_subfolder_names_internal): If we are trying to get a
-       subfolder listing of the root folder, always make sure INBOX is
-       there...
-
-       * providers/imap/camel-imap-utils.c (imap_parse_list_response): 
-       Check for NIL as a directory separator.
-
-2000-08-07  Peter Williams  <peterw@helixcode.com>
-
-       * providers/nntp/Makefile.am: Reorder the INCLUDES to pull
-       in the camel headers from the local source tree before
-       the ones in $(includedir). This was causing compile problems
-       because the installed, Gtk-based camel-object.h was included
-       before the uninstall Camel-based one.
-
-2000-08-07  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-utils.c (imap_translate_sexp): Strip
-       all \n's from the expression
-
-       * string-utils.c (strip): New convenience function to strip
-       occurences of a single char from a string
-
-       * camel-mime-message.c (camel_mime_message_set_subject): Do a
-       g_strstrip on the subject so we can stop getting those annoying
-       leading spaces
-
-2000-08-07  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.c (camel_folder_free_deep): Fix this to not require
-       NULL-termination of the array.
-
-2000-08-04  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (imap_connect): If we fail to
-       get a dir_sep, then supply the default of "/".
-       (get_folder): Undo changes by Peter
-
-2000-08-04  Peter Williams  <peterw@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (get_folder): Prevent a coredump
-       when get_folder()ing from a store with dir_sep = NULL.
-
-2000-08-04  Peter Williams  <peterw@helixcode.com>
-
-       * camel-store.h: Include camel-object.h. Ettore said this wasn't
-       compiling.
-
-2000-08-04  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-url.c (camel_url_set_protocol): 
-       (camel_url_set_host): 
-       (camel_url_set_path): 
-       (camel_url_set_port): Url editing functions.
-
-2000-08-04  Dan Winship  <danw@helixcode.com>
-
-       * providers/pop3/camel-pop3-folder.c (pop3_set_message_flags): 
-       (pop3_sync): Indexes into the flags array are message_number minus
-       1, not just message_number.
-
-       * providers/pop3/camel-pop3-store.c: add a debugging macro for
-       doing protocol tracing.
-
-2000-08-03  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Only
-       call imap_get_summary_internal if the folder can hold messages
-
-       * providers/nntp/camel-nntp-provider.c (camel_provider_module_init): 
-       Initialize the service_cache for the news/nntp providers
-
-2000-08-03  Peter Williams  <peterw@helixcode.com>
-
-       * providers/nntp/Makefile.am (INCLUDES): Add -I$(top_srcdir) to
-       pull in libibex/ibex.h
-
-2000-08-02  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/mh/camel-mh-summary.c (camel_mh_summary_sync): Expunge
-       from the end, so the index isn't messed up when you remove a
-       message.
-
-       * providers/mh/camel-mh-folder.c (mh_append_message): Fix a bug
-       where it would never open an output file/uid.
-
-       * providers/mbox/camel-mbox-store.c (rename_folder):
-       Implementation for mbox as well.
-
-       * camel-store.c (camel_store_rename_folder): New method to rename folders.
-       (rename_folder): Default implementation.
-
-       * providers/mh/camel-mh-store.c (delete_folder): Implement this.
-       (rename_folder): Implement a rename operation.
-
-2000-08-02  Dan Winship  <danw@helixcode.com>
-
-       * providers/MH: Kill this. It doesn't have any code to do anything
-       the new mh provider doesn't do better.
-
-       * providers/Makefile.am: Remove reference to MH subdir, and
-       promote nntp to fully-supported status, since it does compile and
-       all.
-
-       * camel-mime-message.c (camel_mime_message_set_subject): Trim
-       trailing space from the subject. I've now seen replies from two
-       different people that tricked the threading code by (a) not having
-       References/In-Reply-To, and (b) adding an extra space to the end
-       of the subject line so the subject-based threading fails too. Who
-       writes these broken mailers anyway?
-
-2000-08-01  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_helo): When forced
-       to use the IP, place it in square brackets.
-
-       * providers/imap/camel-imap-utils.c (imap_translate_sexp): New and
-       improved sexp parser. An honest try at using e-sexp is wrapped in
-       a #ifdef at the bottom of the file but is currently not used
-
-       * providers/imap/camel-imap-folder.c (imap_search_by_expression):
-       We want to do a UID SEARCH so we get UIDs back instead of sequence
-       numbers
-
-2000-08-01  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/mh: New mh provider implementation.
-
-       * providers/Makefile.am (SUBDIRS): Added mh provider.
-
-2000-07-31  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message_info_internal): 
-       Some IMAP servers don't wrap the UID in ()'s so don't depend on that
-       (imap_get_summary_internal): Same
-
-       * providers/imap/camel-imap-utils.c (free_sexp_node): Oops, forgot to
-       free node->function - not good.
-
-2000-07-31  Peter Williams  <peterw@helixcode.com>
-
-       * providers/vee/camel-vee-folder.c (vee_search_by_expression): Add
-       a NULL to the matches pointer array so that g_strfreev knows where
-       the end is.
-
-2000-07-31  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-utils.c (imap_translate_sexp): New
-       convenience function to translate a Camel sexp into the equivalent
-       IMAP sexp.
-
-       * providers/imap/camel-imap-store.c: More places now use
-       imap_next_word
-
-       * providers/imap/camel-imap-folder.c (imap_search_by_expression):
-       Implemented initial version (this may or may not work quite right)
-
-2000-07-28  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_expunge): Make sure
-       the third word/token (whatever) is "EXPUNGE" and not something
-       else like "EXISTS" or "RECENT". When removing the message from
-       the summary also make sure to free that data to avoid leakage.
-       Also make sure to subtract 1 from the 'id' since IMAP starts
-       at 1 and our summary starts at 0 :-)
-
-2000-07-28  Jeffrey Stedfast  <fejj@helixcode.com>
-       
-       * providers/imap/camel-imap-store.c (camel_imap_status): Cleaned
-       up a bit, now uses imap_next_word()
-       (camel_imap_command_extended): Now uses imap_next_word(). When
-       checking for RECENT, allow the first digit of the recent-count
-       be between 0 and 9 inclusive instead of exclusive.
-
-       * providers/imap/camel-imap-folder.c (imap_expunge): Optimized.
-       No longer will it need to reload the summary as it now instead
-       removes the appropriate message summaries from the cache.
-       (camel_imap_folder_changed): If recent == 0 then return. If 
-       recent < 0 then just emit the folder_changed signal, don't reload
-       summaries.
-
-2000-07-28  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c
-       (imap_get_message_count_internal): Get message count when STATUS
-       is not available.
-       (imap_init): folder->has_search_capability is required for IMAP so
-       should always be set to TRUE (is currently being set to FALSE as
-       I've not yet implemented SEARCH support).
-       (camel_imap_folder_changed): Seem to have fixed my optimization
-       hack
-
-2000-07-28  Jon K Hellan  <hellan@acm.org>
-
-       * providers/imap/camel-imap-store.h (CamelImapServerLevel): New
-       enum.
-       (CamelImapStore): Added server_level and has_status_capability
-       members.
-
-       * providers/imap/camel-imap-store.c (imap_connect): Detect
-       IMAP4REV1, IMAP4 and STATUS in capability response.
-
-       * providers/imap/camel-imap-folder.c
-       (imap_get_message_count_internal): Use STATUS only if server
-       supports it. TODO: Get message count when STATUS not supported.
-       (imap_get_message, imap_get_summary_internal,
-       imap_get_message_info_internal): Handle IMAP4 as well.
-       (imap_protocol_get_summary_specifier): New function: Make a data
-       item specifier for the header lines we need, appropriate to the
-       server level.
-
-2000-07-27  Peter Williams <peterw@helixcode.com>
-
-       * camel-mime-utils.c (header_decode_lwsp): More
-       checks for end of string.
-
-       * providers/imap/camel-imap-store.c:
-       (imap_command_extended): Free the elements of our
-       array (huge mem leak)
-
-       * providers/imap/camel-imap-folder.c:
-       (summary_get_internal): Same as above.
-
-2000-07-27  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
-       Fixed my routine to only fetch new headers, my IDs were off by 1
-       on the high end, so when it would fetch the last newly arrived
-       message it would fail and end up fetching all of the summaries
-       because of the corruption.
-
-2000-07-27  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-url.c (camel_url_to_string): If the path doesn't begin
-       with a / and there is a host, prepend a / to the path.
-
-2000-07-27  Jeffrey Stedfast  <fejj@helixcode.com>
-       
-       * providers/imap/Makefile.am: Added camel-imap-utils.[c,h]
-       
-       * providers/imap/camel-imap-utils.[c,h]: Utilities for parsing
-       server responses for use in both camel-imap-store.c and
-       camel-imap-folder.c
-       
-       * providers/imap/camel-imap-folder.c (imap_get_summary_internal):
-       Free all the pointers in the headers array.
-       (imap_get_subfolder_names_internal): Updated to use
-       imap_parse_list_response
-       (imap_parse_subfolder_list): Removed in favor of
-       imap_parse_list_response
-
-       * providers/imap/camel-imap-store.c (camel_imap_command_extended):
-       Free all the pointers in the data array.
-       (imap_connect): Updated to use imap_parse_list_response and fixed
-       a leak
-       (folder_is_selectable): Updated.
-
-2000-07-27  Jeffrey Stedfast  <fejj@helixcode.com>
-       
-       * providers/imap/camel-imap-folder.c (imap_get_message_info): Now
-       uses a hash table for looking up message info rather than a linear
-       search :)
-
-2000-07-27  Peter Williams  <peterw@helixcode.com>
-
-       * providers/*/Makefile.am: Don't specify SUBDIRS =
-       [nothing]. Messes up distcheck.
-       
-2000-07-26  Peter Williams  <peterw@helixcode.com>
-       
-       * camel-mime-parser.c (folder_scan_init): Initialize
-       outbuf to be "" -- it's not guaranteed to be zeroed.
-       
-       * camel-mime-utils.c (header_references_decode): Return
-       if the header is NULL -> or "" <-. Don't do our stupid
-       mailer trick if we point to \0.
-       (header_decode_quoted_string): Don't rip past end of 
-       string!
-       
-2000-07-26  Dan Winship  <danw@helixcode.com>
-
-       * camel-movemail.c (movemail_external): routine to call an
-       external movemail program.
-       (camel_movemail): Nuke return value, use movemail_external when
-       available and useful, and don't delete "dest" on errors, since
-       it might have started non-empty.
-
-2000-07-26  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-url.c (camel_url_to_string): Should now always prepend a '/'
-       before the path if it doesn't already exist.
-
-       * providers/imap/camel-imap-folder.c: Fixed a few compiler warnings
-
-2000-07-25  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_summary_free): Fixed the
-       real problem that Peter was running into.
-
-2000-07-25  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-message.c (write_to_stream): Don't add a Mime-Version
-       header to a message that already has one.
-
-       * camel-internet-address.c (internet_encode): Don't put <>s around
-       addresses with no name part.
-
-2000-07-25  Peter Williams  <peterw@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_expunge): Set 
-       imap_folder->summary to NULL after calling imap_summary_free,
-       so we don't get stuck with a junk summary pointer. Should
-       we free it at all?
-
-2000-07-25  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
-       Optimized to try and get the new message headers without reloading
-       the entire summary from scratch.
-       (imap_get_summary_internal): Will now sync() before attempting to
-       reload the summary so that flags are set in the reloaded summary
-       as well.
-
-2000-07-24  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (get_folder): Updated to give
-       special attention to the root folder.
-
-       * providers/imap/camel-imap-folder.c
-       (imap_get_subfolder_names_internal): Updated to handle the root
-       folder
-       (imap_get_message_count_internal): return 0 if folder can't hold
-       messages
-       (camel_imap_folder_new): Change so that root folder gets special
-       attention and always gets can_hold_messages set to FALSE
-
-2000-07-24  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.c: Remove exceptions from a number of methods that
-       work on what ought to be static data: get_parent_folder,
-       get_parent_store, get_message_count, get_unread_message_count,
-       get_permanent_flags, get_message_flags, set_message_flags,
-       get_message_user_flag, set_message_user_flag, get_uids,
-       get_summary, get_subfolder_names. Turn camel_folder_delete_message
-       into a macro. (Mostly a pull-up from the camel-async branch.)
-
-       * providers/{imap,mbox,nntp,pop3,vee}: Update for CamelFolder
-       changes
-
-2000-07-24  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message_info): Updated
-       to port easily to the new Camel API
-       (imap_init): Don't SELECT INBOX, we don't need to do that
-
-2000-07-24  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): 
-       Initialize the summary and subfolder listing.
-       (imap_summary_free): Now takes a GPtrArray arg rather than a 
-       CamelImapFolder as it increases it's usefullness for free()'ing
-       temporary summaries.
-       (imap_get_message_count_internal): A new convenience function for
-       getting the actual message count on a server to be used by 
-       imap_get_summary_internal)
-       (imap_get_message_count): Since the Camel API is on the move again, 
-       the future version of this function will not be able to make a
-       call to the store, it must only access previously fetched data (thus 
-       the creation of the _internal function)
-       (imap_get_subfolder_names_internal): Again, because the future version
-       of imap_get_subfolder_names will not take an exception, we must rename
-       this function which will be called by camel_imap_folder_new()
-       (imap_get_subfolder_names): We now return the previously collected
-       subfolder listing that the _internal function fetched previously
-       (imap_get_summary_internal): Again, same idea as the previous _internal
-       functions...
-       (imap_get_summary): Again... now returns a previously aquired summary
-
-       * providers/imap/camel-imap-store.c (imap_noop): This will hopefully
-       prevent the imap store from disconnecting.
-       (imap_connect): Modified to add a gtk timeout event that will call
-       imap_noop() every 10 minutes (we may want to change this time value)
-       (imap_disconnect): Modified to remove the NOOP timeout event from the
-       store.
-       (camel_imap_command_extended): Commented out the code that would try
-       and detect if the store was disconnected and then reconnect if it was
-       needed.
-
-2000-07-24  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.[ch]: Remove camel_folder_get_message_uid, which
-       was not used, and not implemented by any provider.
-
-       * providers/nntp/camel-nntp-folder.c: Remove get_message_uid
-       non-implementation.
-
-       * camel-folder-pt-proxy.[ch], camel-arg-collector.c,
-       camel-marshal-utils.[ch]: Bye bye bye.
-
-       * Makefile.am: remove reference to camel-arg-collector.c
-
-2000-07-23  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (imap_disconnect): Made it a
-       little more forgiving. Also set current_folder to NULL as there is
-       no selected folder after a disconnect.
-       (stream_is_alive): Detects whether or not a socket is "alive"
-       (camel_imap_command_extended): Use stream_is_alive() to aid in the
-       detection of a disconnected state.
-
-2000-07-22  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (get_folder): Clear
-       CamelExceptions when appropriate (eg when folder is marked as
-       \NoSelect). Still needs some cleanup and perhaps Dan will have a
-       better way of doing this as this seems like a messy way of
-       handling this.
-
-       * providers/imap/camel-imap-folder.c (imap_get_uids): Took out
-       some debug statements as they are no longer needed.
-
-2000-07-21  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_subfolder_names):
-       Updated to not strip out subfolders that are marked as \NoSelect
-       because this will be correctly handled in store->get_folder from
-       now on.
-
-       * providers/imap/camel-imap-store.c (folder_is_selectable): New
-       convenience function for use in get_folder().
-       (parse_list_response): Now takes a char **flags argument which is
-       needed by folder_is_selectable().
-       (imap_connect): Updated to reflect changes to
-       parse_list_response().
-
-2000-07-21  Jeffrey Stedfast  <fejj@helixcode.com>
-       
-       * providers/imap/camel-imap-stream.c (stream_read): Updated with
-       some of the same fixes I've made to camel-imap-folder.c like
-       recalculating message part lengths.
-
-       * providers/imap/camel-imap-store.c (camel_imap_command_extended):
-       Rewrote the code to check for "* %d RECENT". Still needs to be
-       modified, but should no longer cause an infinite loop by detecting
-       mis-detecting RECENT messages.
-
-2000-07-20  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_summary):
-       (imap_get_message_info): Oops. Fix UID parser to allow 0 and 9 to
-       be in the range of valid UID chars.
-
-2000-07-20  Peter Williams  <peterw@helixcode.com>
-
-       * camel-object.c (camel_object_unref): Add a new global mutex
-       'refcount' held when refcounting operations occur.
-
-2000-07-19  Peter Williams  <peterw@helixcode.com>
-
-       * camel-object.c (camel_type_lock_up): Correct the recursiveness;
-       the locklevel is stored as a private, so each thread has its own
-       idea of the locklevel. Thus one thread can relock, but a different
-       one will think that it's a level 0 and try to lock the type_system
-       mutex.
-
-2000-07-19  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c: General cleanup working
-       towards getting Actions->Expunge working correctly.
-
-       * providers/imap/camel-imap-store.c
-       (cammel_imap_command_extended): Added code to look for "* %d
-       RECENT" and to emit the folder_changed signal if there are any
-       recent messages. Note: this is a hack and needs to be rewritten
-       badly.
-
-2000-07-19  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_summary): If the
-       folder's message count is not the same as the number of summaries,
-       free the old summary and create a new summary.
-
-2000-07-18  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c
-       (camel_imap_folder_class_init): Added in
-       imap_[g,s]et_message_user_flag() methods
-       (imap_get_message_info): Rewrote to use the more efficient way of
-       downloading summary information and also added a UID comparison so
-       that if the UID requested doesn't match the UID received, it
-       returns NULL.  FIXME: When the mailer gets NULL when it requested
-       message info, it seems that it displays a row for that message and
-       when you try and select the blank row, it segfaults.
-
-       * providers/imap/camel-imap-store.c (get_folder): Oops, this
-       should not be checking against "/", it should be checking against
-       dir_sep.
-
-       * providers/imap/camel-imap-folder.c (imap_parse_subfolder_line):
-       Updated to trim out the leading namespace.
-       (imap_get_subfolder_names): Let the subfolder parser trim the
-       namespace off the folder name.
-
-2000-07-17  Peter Williams  <peterw@helixcode.com>
-
-       * camel-object.c (camel_type_lock_up): New function; the
-       Camel type_system lock is now fakey-recursive, being controlled
-       by a semaphore that goes up and down and is protected by another
-       lock. Theoretically all we need is the lock on the semaphore,
-       but this we catch exceptions "better" (by deadlocking).
-       (camel_type_lock_down): Corresponding to above.
-       (all functions): s,G_LOCK,camel_type_lock_up, etc.
-
-2000-07-17  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (imap_disconnect): Send a
-       "LOGOUT" command.
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): Hacks to
-       get IMAP code to work with CommunigatePro and MS Exchange (and any
-       other servers that send back a UID at the end of each FETCH inside
-       of the main body of the message part).
-       (imap_sync): Un-#if 0 the code that sets the flags on the IMAP
-       server for messages that have changed. Oops, don't mask with
-       DELETED to find out if the message has been answered ;-)
-       (imap_expunge): sync before expunging.
-
-2000-07-16  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c: All SELECT calls now pass
-       a NULL folder argument to camel_imap_command_extended() since it's
-       not needed.
-       (imap_connect): Moved service_class->connect() to the point right
-       after a connection is established with the server rather than
-       waiting until the end of the function.
-       (camel_imap_command): Updated the documentation comment
-       (camel_imap_command_extended): Before sending a command, first
-       check to make sure we are connected; if we aren't, then reconnect.
-       Don't strncmp() command with "SELECT" as it's redundant.
-
-       * providers/imap/camel-imap-folder.c: All SELECT calls now pass
-       a NULL folder argument to camel_imap_command_extended() since it's
-       not needed. Also s/camel_imap_command/camel_imap_command_extended as
-       I will probably be doing away with camel_imap_command() or at least
-       only using it for LOGIN and similar commands where the server won't
-       notify us of any recent messages.
-
-2000-07-15  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): 
-       One last fix to get rid of hard-coded "/" directory separators
-
-2000-07-14  Peter Williams  <peterw@helixcode.com>
-
-       * camel-object.c : Implement 'events', which are suspiciously
-       like signals except without all the marshalling baggage, and
-       with quasi-thread-safety.
-       (camel_object_class_declare_event): New func.
-       (camel_object_hook_event): Ditto.
-       (camel_object_trigger_event): Ditto.
-       (obj_class_init): Declare the "finalize" event.
-       (obj_class_finalize): Free the hashtable of events->preps
-       (obj_finalize): Free the hashtable of events->hooklists
-       (camel_object_unref): Trigger the finalize event (ourselves,
-       to prevent massively unpleasant looping things.)
-       
-2000-07-14  Peter Williams  <peterw@helixcode.com>
-       
-       * camel-object.c (make_global_classfuncs): Change to return
-       a CamelObjectClass. Change parents to a GSList and free it
-       when done.
-       (camel_object_new): Don't allocate a classfuncs for every object;
-       merely give it a reference to the global_classfuncs. Convert
-       parents to a GSList and free it when done.
-       (camel_object_unref): Don't free the classfuncs. Free the parents
-       list, which is changed to a GSList.
-
-2000-07-14  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * string-utils.c (string_unquote): New convenience function
-       to unquote a string if it's encapsulated by "'s
-       
-       * providers/imap/camel-imap-folder.c:
-       * providers/imap/camel-imap-store.c: Made the necessary changes
-       to stop using hard coded directory separators.
-
-2000-07-13  Dan Winship  <danw@helixcode.com>
-
-       * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_load):
-       If the summary is for a smaller mbox, and rebuilding from the
-       last-known end position fails, try rebuilding from the beginning.
-       Deals with the case where the user edits the mbox and makes it
-       bigger, without adding new messages.
-
-2000-07-13  Peter Williams  <peterw@helixcode.com>
-
-       * camel-object.c: Rewritten to not be based on GtkObject,
-       but a tiny threadsafe ripoff thereof. Objects still cannot
-       be shared across threads, but ref/unref/destroy/new/etc
-       will work. Signals are not implemented because doing it
-       robustly would be a major pain in the butt, but class
-       functions are. There's a small demonstration that it doesn't
-       crash in ./temp-test.c: build it with ./make-test.sh.
-       * camel-stream.c, camel-seekable-stream.c, camel-stream-mem.c:
-       moved over to CamelObject. Proof of concept: two levels of
-       subclass and class functions, all working without coredumps.
-       To port to CamelObject:
-       - s,GTK_,CAMEL_,g in the cast checks
-       - s,gtk_type_new,camel_object_new,g
-       - s,GtkType,CamelType,g
-       - Change get_type function over to camel_type_declare
-       - instead of hooking to finalize function, it goes into the
-         type declaration.
-       - remove signals.
-       - instead of GTK_OBJECT(so)->klass, CAMEL_OBJECT_GET_CLASS(so)
-       - s,gtk_type_class,camel_type_get_global_classfuncs,g
-       - don't chain finalize handlers; it will be done for you
-       
-2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c: 
-       * providers/imap/camel-imap-store.c: If a SELECT fails, set
-       imap_store->current_folder to NULL so a SELECT is forced before
-       any message/folder operations are requested. Also, because some
-       users don't use a namespace, make sure that if the url->path is 
-       "/" we don't use it when creating the folder_path.
-       (camel_imap_command[_extended]): Since we allow the passing of
-       a NULL folder which we can use to bypass a forced SELECT, no need
-       to check for the individual commands that don't require a folder
-       to be selected.
-
-2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c: 
-       * providers/imap/camel-imap-store.c: Updated to use CAMEL_IMAP_OK, 
-       CAMEL_IMAP_NO, CAMEL_IMAP_BAD, and CAMEL_IMAP_FAIL rather than the 
-       ones copied from the POP3 provider. 
-
-2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_summary): Oops.
-       If the number of messages in the folder is 0, don't fetch
-       summaries 1 thru 0, just return an empty summary.
-       (imap_copy_message_to): Fixed to use message UID and also send
-       the source folder as an arg to camel_imap_command rather than NULL.
-       (imap_move_message_to): Same.
-       (imap_init): If SELECT is successful, we need to set the current
-       folder to the one selected, this was causing problems with move/copy
-
-2000-07-13  Dan Winship  <danw@helixcode.com>
-
-       * camel-service.h: define a set of CAMEL_SERVICE_URL_ALLOW_* flags
-       parallel to the _NEED_* flags, and make the _NEED_* flags imply
-       the _ALLOW_* ones.
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_init): imap
-       urls ALLOW_PATH
-
-2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_summary): New
-       and improved approach to fetching an entire folder summary
-       that should be much much faster than the old way as it gets
-       the entire folder summary in 1 shot rather than requesting
-       message by message. As with the last update, this version
-       also only fetches the minimum number of header fields.
-       (imap_get_summary): Oops, forgot to free the temp 
-       GPtrArray *headers
-
-2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_summary): Don't
-       fetch the entire RFC822 header, just fetch the fields we want.
-       (imap_get_message_info): Same.
-
-2000-07-13  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-filter-basic.c (camel_mime_filter_basic_new_type):
-       Reset filter on setup.
-       (reset): When resetting qp encoding, set the state to -1, instead
-       of 0.
-
-       * camel-mime-utils.c (quoted_encode_step): Actually count the
-       characters output sofar (it never counted any).  Bunch of other
-       fixes.
-       (quoted_encode_close): Also flush out final character, if there's
-       one.
-
-2000-07-12  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       Chris forgot to add #include <e-util/e-util.h> to the source files
-       
-       * providers/imap/camel-imap-store.c (imap_connect): Fixed Peter's 
-       fix, we don't want to send a string to a %d.
-
-2000-07-12  Christopher James Lahey  <clahey@helixcode.com>
-
-       * camel-folder-search.c, providers/imap/camel-imap-store.c:
-       Changed from strstrcase to e_strstrcase.
-
-       * string-utils.c, string-utils.h: Removed strstrcase (in favor of
-       e_strstrcase in e-util/e-util.c.)
-
-2000-07-12  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-folder.c
-       (nntp_folder_set_message_flags): get the article num out of our
-       uid and mark it read in the newsrc.
-       (nntp_folder_get_message): get the message id out of the uid to
-       fetch the article.
-
-       * providers/nntp/camel-nntp-utils.c (get_XOVER_headers): the uid
-       is now <article-num>,<messageid>
-       (get_HEAD_headers): same.
-
-       * camel-mime-parser.c (folder_scan_step): go to HSCAN_MESSAGE
-       state when ct->subtype is "news" as well as "rfc822".  this makes
-       attachments of type "message/news" display properly.
-
-2000-07-12  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.c (camel_folder_free_deep,
-       camel_folder_free_shallow, camel_folder_free_nop): Useful default
-       implementations for free_{uids,subfolder_names,summary}.
-       (free_subfolder_names, free_uids): Make these g_warning-ing
-       default implementations.
-
-       * providers/*/camel-*-folder.c: Use the new functions where
-       appropriate, remove duplicated code.
-
-2000-07-12  Peter Williams  <peterw@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (query_auth_types): Check for
-       NULL parameters when setting the exception so as to not crash on
-       Solaris (can't handle a %s passed NULL).
-       (imap_connect): Same.
-       
-2000-07-12  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/mbox/camel-mbox-folder.c (mbox_delete_message): Use
-       mbox_set_message_flags () instead of setting the flags by hand. This
-       fixes the problem of the "message_changed" signal not being emitted
-       at the correct time.
-
-       * providers/imap/camel-imap-folder.c: "folder_changed" signals should
-       pass a third argument (which is ignored).
-
-       * camel-folder.c: Undo gtk signal emits done in set_flags and 
-       expunge.
-       (move_message_to): 
-       (copy_message_to): Create info as a const CamelMessageInfo
-
-2000-07-12  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/Makefile.am: don't add test-newsrc to the build
-       since it needs libcamel (which isn't built at the time test-newsrc
-       needs linking.)
-
-       * providers/nntp/camel-nntp-utils.c (get_HEAD_headers): fill in
-       MessageInfo->message_id.
-       (get_XOVER_headers): same.
-
-       * providers/nntp/camel-nntp-folder.c (nntp_folder_init): move
-       summary loading here.
-       (nntp_folder_sync): summary/newsrc changes should be stored here.
-       put a comment to that effect.
-       (nntp_folder_set_message_flags): don't save the newsrc here.
-       (nntp_folder_get_uids): use g_ptr_array_index instead of the
-       cast/addition.
-       (nntp_folder_get_summary): no need to check if we should generate
-       the summary here.  already done.
-       (nntp_folder_get_message_info): implement.
-
-       * providers/nntp/camel-nntp-store.c
-       (camel_nntp_store_get_toplevel_dir): use evolution_dir instead of
-       computing it ourselves.
-       (nntp_store_disconnect): call camel_nntp_newsrc_write.
-       (ensure_news_dir_exists): new function to create the news/<news
-       server> subdir.
-       (camel_nntp_store_class_init): hook up connect/disconnect and
-       finalize.
-       (nntp_store_connect): if ensure_news_dir_exists fails throw an
-       exception.
-
-2000-07-12  Peter Williams  <peterw@helixcode.com>
-
-       * camel-folder.c (camel_folder_set_message_flags): Emit a message_changed
-       signal once the flags are set on the message.
-       (camel_folder_set_user_flag): Ditto.
-       (camel_folder_expunge): Emit a folder_changed if no exception.
-
-2000-07-12  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-stream.c: Use size_t and ssize_t for read/write methods
-       
-       * providers/imap/camel-imap-folder.c (imap_set_message_flags): 
-       Updated to emit the message_changed signal.
-       (imap_delete_message): Updated to use imap_set_message_flags ().
-       (imap_move_message_to): Updated to use imap_set_message_flags ()
-       and to emit the folder_changed signal on the destination folder.
-       (imap_copy_message_to): Updated to emit the folder_changed signal 
-       on the destination folder.
-       (imap_append_message): Updated to emit the folder_changed signal 
-       on the destination folder.
-
-2000-07-11  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-folder.c (camel_folder_append_message): Now takes a
-       flags argument to specify the flags to be set on the message
-       since we might not necessarily want the flags to be wiped clean.
-       (move_message_to):
-       (copy_message_to): Updated to send a flags argument to 
-       append_message (); currently sends the original message's flags.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_append_message): 
-       * providers/imap/camel-imap-folder.c (imap_append_message): 
-       Updated.
-
-2000-07-11  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.c: Remove exceptions from a number of methods
-       that work on what ought to be static data: get_parent_folder,
-       get_parent_store, get_message_count, get_unread_message_count,
-       get_permanent_flags, get_message_flags, set_message_flags,
-       get_message_user_flag, set_message_user_flag, get_message_uid,
-       get_uids, get_summary, get_subfolder_names. Turn
-       camel_folder_delete_message into a macro.
-
-       * providers/{mbox,pop3,vee}: Update for CamelFolder changes
-
-       * providers/Makefile.am: Disable imap and nntp for now
-
-2000-07-11  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_search_by_expression): 
-       This shouldn't return NULL, it should return g_ptr_array_new ()
-       so the mailer gets what it expects.
-
-2000-07-10  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-folder-summary.c (camel_folder_summary_decode_string): 
-       Oops, an unsigned integer can never be < 0
-
-2000-07-10  Dan Winship  <danw@helixcode.com>
-
-       * providers/vee/camel-vee-folder.c (vee_search_by_expression):
-       Initialize a variable to make this not crash again. And fix a bug
-       so it actually does something.
-
-2000-07-10  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-folder-summary.c: Cleaned up a bunch of compile warnings
-
-2000-07-10  Dan Winship  <danw@helixcode.com>
-
-       * providers/vee: kill more debugging messages
-
-2000-07-10  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/mbox/camel-mbox-folder.c (mbox_get_unread_message_count): 
-       * providers/vee/camel-vee-folder.c (vee_get_unread_message_count): 
-       * providers/imap/camel-imap-folder.c (imap_get_unread_message_count):
-       Implemented.
-
-       * camel-folder.c (camel_folder_get_unread_message_count): New
-       convenience function to allow the mailer to query the number
-       of unread messages in a folder (for displaying message stats
-       in a folder tree?).
-
-2000-07-09  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-utils.c (header_references_dup): New function to copy
-       a header_references structure.
-
-       * camel-folder-summary.c (camel_message_info_dup_to): New function
-       to (deep) copy the data from one CamelMessageInfo into another.
-       (camel_message_info_free): And free the data.
-
-       * providers/vee/camel-vee-folder.c (vee_sync): Implement. (empty).
-       (vee_search_by_expression): belatedly update for
-       camel_folder_search change.
-       (vee_folder_build): belatedly update for camel_folder_search
-       change. Use camel_message_info_dup_to and camel_message_info_free
-       (in particular, so that we get message_id and references info so
-       vfolders can be threaded).
-       (vee_folder_build_folder): Ditto.
-
-2000-07-08  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/nntp/camel-nntp-folder.c: 
-       * providers/nntp/camel-nntp-utils.c: 
-       * providers/nntp/camel-nntp-store.c: Update to reflect past changes
-       in the Camel API. Use gtk macro casts wherever possible and use glib's
-       memory functions instead of standard c's (since they are not 
-       compatable)
-
-       * providers/smtp/camel-smtp-transport.c: 
-       * providers/imap/camel-imap-store.c: Wrap debug print statements
-       in a macro
-
-       * providers/imap/camel-imap-stream.c (stream_read): Make sure
-       that we get up to and including the last \n of the mime part.
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): Make sure
-       that we get up to and including the last \n of the mime part.
-       Wrap debug print statements in a macro.
-
-       * providers/imap/camel-imap-stream.c (stream_read): Only cache
-       the important data (aka the mime part requested and no extra
-       server response stuff)
-
-2000-07-07  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-utils.c (header_references_decode): Work around
-       In-Reply-To's with unquoted punctuation. So many broken mailers.
-
-       * camel-folder.c (camel_folder_search_by_expression): Make this
-       return a GPtrArray rather than a GList.
-
-       * camel-folder-search.c (camel_folder_search_execute_expression):
-       * providers/imap/camel-imap-folder.c (imap_search_by_expression):
-       * providers/mbox/camel-mbox-folder.c (mbox_search_by_expression):
-       * providers/nntp/camel-nntp-folder.c (nntp_search_by_expression):
-       Update to return a GPtrArray rather than a GList.
-
-2000-07-07  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c (esmtp_get_authtypes): 
-       Fixed the parser to actually work
-
-2000-07-06  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-utils.c (header_references_decode): Make this deal
-       with the full RFC822 References/In-Reply-To format rather than
-       just the more-nicely-behaved RFC1036 version. (Needed to parse
-       In-Reply-To headers with extra junk in them.)
-
-2000-07-06  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_summary): Parse for
-       more header information to allow message threading in IMAP.
-       (imap_get_message_info): Same.
-
-       * camel-folder-summary.c: Renamed summary_format_* to
-       camel_summary_format_* and moved them into public scope.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): Oops. Don't
-       pass port # as a string in the error code (if it fails to connect).
-
-       * providers/imap/camel-imap-folder.c (imap_append_message): Changed
-       over to camel_imap_command_extended as that was the source of the
-       problems - apparently appending replies with more than just 1 line.
-
-2000-07-05  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder-search.c (search_header_contains): make header
-       matching case-insensitive
-
-       * camel-folder-summary.c:
-       * camel-session.c:
-       * providers/mbox/camel-mbox-folder.c:
-       * providers/mbox/camel-mbox-summary.c: Remove some non-error case
-       debugging-type messages.
-
-2000-07-05  Ettore Perazzoli  <ettore@helixcode.com>
-
-       * providers/mbox/camel-mbox-summary.c (d): Define to empty so that
-       we get rid of a ton of debugging messages.
-
-2000-07-05  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-utils.h: Added prototype for uudecode_step
-
-       * camel-mime-utils.c (uudecode_step): Cleaned up some junk that
-       should have been cleaned up when debugging printf's were taken out.
-
-2000-07-05  Ettore Perazzoli  <ettore@helixcode.com>
-
-       * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync):
-       Update the X-Evolution: header even if the in-memory UID and the
-       saved UID are not the same.  Otherwise mboxes with clashing UIDs
-       can never be fixed.
-
-       * camel-folder-summary.c
-       (camel_folder_summary_add_from_parser): Add the message to the
-       summary before doing any ibex stuff.  In fact, this might also
-       have the side effect of reassigning the UID so it needs to be done
-       before we start using the UID.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_append_message): Add
-       debugging message to keep track of the UIDs we add.
-
-2000-07-05  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder-summary.c: Add "Cc" to summary and bump summary
-       version number.
-
-       * camel-folder-search.c (search_header_contains): make "Cc" a
-       searchable header.
-
-2000-07-03  Ettore Perazzoli  <ettore@helixcode.com>
-
-       * camel-folder-summary.c (camel_folder_summary_next_uid_string):
-       New.
-       (camel_folder_summary_add): Use
-       `camel_folder_summary_next_uid_string()' instead of recomputing
-       the UID manually here.
-       (camel_folder_summary_add_from_parser): Likewise.
-
-2000-07-03  Ettore Perazzoli  <ettore@helixcode.com>
-
-       * camel-folder-summary.c (camel_folder_summary_set_uid): Removed.
-
-2000-07-03  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder-summary.c (message_info_new): Parse In-Reply-To
-       with header_references_decode, not header_msgid_decode.
-
-       * camel-mime-message.c (camel_mime_message_class_init): message
-       headers are case-insensitive.
-
-       * providers/pop3/camel-pop3-store.c (camel_pop3_command): Fix a
-       bug in error-setting code.
-       (pop3_connect): Don't re-prompt for password in the KPOP case.
-       (pop3_get_response): New function, split out from
-       camel_pop3_command.
-       (connect_to_server): Use pop3_get_response to parse the greeting
-       message, and error out appropriately if it's -ERR.
-
-2000-07-02  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.c (camel_folder_freeze, camel_folder_thaw): New
-       functions to freeze and thaw a folder (to prevent message/folder
-       changed signals in the middle of a long series of operations).
-       (camel_folder_class_init): Change signals to GTK_RUN_FIRST.
-       (message_changed, folder_changed): Add default implementations
-       that stop the emission and record info for later if the folder is
-       frozen.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_sync): leftover fixes
-       from the close->sync change: don't destroy the ibex, summary, and
-       search when syncing.
-       (append_message): emit "folder_changed" on a successful append.
-
-2000-07-02  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-utils.c (uudecode_step): A rather complex uudecoder
-       written in the spirit of Zucchi-ness, is it up to par? Only the 
-       Z-man can tell us :-)
-
-2000-07-01  Dan Winship  <danw@helixcode.com>
-
-       * camel-service.c (camel_service_get_name): New method, to return
-       an end-user-friendly name corresponding to a service. (eg, "POP
-       service for danw on trna.helixcode.com").
-
-       * providers/imap/camel-imap-store.c,
-       providers/mbox/camel-mbox-store.c,
-       providers/nntp/camel-nntp-store.c,
-       providers/pop3/camel-pop3-store.c,
-       providers/sendmail/camel-sendmail-transport.c,
-       providers/smtp/camel-smtp-transport.c: Implement.
-
-       * providers/imap/Makefile.am: remove unneeded
-       libcamelimap_la_LDADD.
-
-       * providers/pop3/camel-pop3-store.c (connect_to_server): fix the
-       CAPA-parsing code to not get into an infinite loop.
-
-2000-07-01  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message): Fixed
-       the bug that would sometimes leave part of the server response
-       tacked on to the end of the message.
-
-       * camel-folder.c: Renamed _by_uid methods. Since we no longer
-       have get-by-number methods, no need to have the _by_uid 
-       extensions. 
-       (get_message_by_uid): Renamed to get_message
-       (delete_message_by_uid): Renamed to delete_message
-       (summary_get_by_uid): Renamed to get_message_info
-
-       * providers/mbox/camel-mbox-folder.c: 
-       * providers/pop3/camel-pop3-folder.c:
-       * providers/imap/camel-imap-folder.c:
-       * providers/vee/camel-vee-folder.c: Updated to reflect
-       camel-folder changes.
-
-2000-06-30  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-folder.c (camel_folder_copy_message_to): New function, to
-       copy a message from one folder to another. The default
-       implementation just uses append_message, but providers can 
-       implement more efficient versions for use when both folders are on 
-       the same store.
-
-       * broken-date-parser.[c,h]: Utilities for parsing broken
-       date strings.
-       
-       * providers/imap/camel-imap-folder.c (imap_move_message_to): 
-       (imap_copy_message_to): Implemented.
-
-       * camel-mime-utils.c (header_decode_date): Wrote some code to try
-       and un-mangle broken date formats and then parse that new string 
-       instead.
-
-2000-06-30  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.c (camel_folder_move_message_to): New function, to
-       move a message from one folder to another. The default
-       implementation just uses append_message and delete_message, but
-       providers can implement more efficient versions for use when both
-       folders are on the same store.
-
-2000-06-29  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_expunge): Should now
-       print a meaningful error message when it doesn't succeed
-
-2000-06-28  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (imap_connect): Changed to
-       keep prompting user for a valid password until it either
-       authenticates or until Canceled by the user.
-       (camel_imap_command_extended): Improved speed (replaced the
-       g_strjoinv call with a faster implementation)
-
-       * providers/pop3/camel-pop3-store.c 
-       (camel_pop3_command_get_additional_data): Fixed.
-       (pop3_connect): Changed to keep prompting the user for a
-       password until it either works or until Canceled by the user.
-
-       * providers/mbox/camel-mbox-summary.c: General cleanup
-       (camel_mbox_summary_sync): Fixed a memory leak and added
-       CamelException handling.
-
-       * providers/mbox/camel-mbox-store.c (delete_folder): Fixed a 
-       memory leak
-
-       * providers/mbox/camel-mbox-folder.c (mbox_append_message): 
-       Default 'off_t seek' to -1 so as to make sure it's initialized
-       before it's used in the case of a bad stat() call.
-       (mbox_sync): Updated
-       (mbox_expunge): Updated
-
-2000-06-27  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (imap_connect): Move the 
-       CAPABILITY command here so we don't have to keep checking
-       each time we open a folder.
-       (camel_imap_command_extended): If we are doing an EXAMINE,
-       don't bother doing a SELECT first.
-
-       * providers/imap/camel-imap-folder.c (imap_init): Update so
-       folder->has_search_capability depends on the parent IMAP store
-       (since this is really dependant on the IMAP implementation and
-       not the folder)
-
-2000-06-27  Christopher James Lahey  <clahey@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c: Don't close the filter
-       stream when done with it (this causes the source stream to close);
-       Instead, just flush it when done.
-
-2000-06-27  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
-
-       * camel-folder-search.c (search_header_contains): Make header
-       search 'to' match 'to', and not 'from', small typo, fixes #317.
-
-2000-06-26  Christopher James Lahey  <clahey@helixcode.com>
-
-       * providers/mbox/camel-mbox-summary.c: Added debugging
-       information.
-
-2000-06-23  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c: 
-       * providers/imap/camel-imap-folder.c: Improved folder parsing.
-       Not specifying a namespace should no longer list the entire
-       filesystem.
-
-2000-06-22  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/.cvsignore: ignore test-newsrc
-
-       * providers/nntp/camel-nntp-store.c,
-       providers/nntp/camel-nntp-store.h,
-       providers/nntp/camel-nntp-folder.c,
-       providers/nntp/camel-nntp-folder.h,
-       providers/nntp/camel-nntp-utils.c: Bring the nntp provider up to a
-       state where it builds and is usable with the current camel.  there
-       are still warts (semi-broken .newsrc file handling, and a lack of
-       a subscribe ui -- in fact no way to add a new server, really), but
-       it'll display news messages.
-
-       * providers/nntp/Makefile.am (libcamelnntp_la_SOURCES): add
-       camel-nntp-newsrc.c
-       (libcamelnntpinclude_HEADERS): add camel-nntp-newsrc.h
-       also, add test-newsrc stuff.
-       
-       * providers/nntp/test-newsrc.c: new file that tests the newsrc
-       stuff by parsing and regurgitating a .newsrc file for a particular
-       server.
-
-       * providers/nntp/camel-nntp-newsrc.c,
-       providers/nntp/camel-nntp-newsrc.h: new files, initial support for .newsrc files.
-
-2000-06-22  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message_count): 
-       Oops. Now appends the namespace to the folder before querying
-       for the number of messages.
-
-       * providers/imap/camel-imap-store.c (imap_folder_exists): New
-       convenience function for use by imap_create().
-       (get_folder): If folder is specified as "/", we really want
-       "INBOX".
-
-       * providers/sendmail/camel-sendmail-provider.c:
-       * providers/vee/camel-vee-provider.c:
-       * providers/smtp/camel-smtp-provider.c:
-       * providers/mbox/camel-mbox-provider.c:
-       * providers/pop3/camel-pop3-provider.c:
-       * providers/imap/camel-imap-provider.c: Updated
-       
-       * camel-session.c: Moved service_cache hash table into the
-       providers.
-       (service_cache_remove): Updated.
-       (camel_session_get_service): Updated.
-
-       * camel-url.c (camel_url_hash): Took out the hashing of
-       url->passwd. We don't want this anymore.
-
-       * providers/imap/camel-imap-folder.c (imap_init): Took out
-       references to 'namespace'
-       (camel_imap_folder_init): Same
-
-       * providers/imap/camel-imap-folder.h: No more namespace. We are
-       instead going to use url->path as the namespace.
-
-2000-06-21  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (imap_create): Modified to
-       use the "namespace" (url->path) if it exists.
-
-       * providers/imap/camel-imap-folder.c (imap_delete_message_by_uid):
-       Now just sets the deleted flag on the summary rather than speaking 
-       directly to the IMAP server. This is both faster and cleaner.
-
-2000-06-21  Dan Winship  <danw@helixcode.com>
-
-       * providers/pop3/camel-pop3-store.c (query_auth_types): Fix dumb
-       bug.
-
-2000-06-21  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message_by_uid): 
-       We are getting mail in IMAP now!! whoo-hoo!. Stripped out the 
-       filtering so messages may have some dot-stuffing, but the 
-       filtering can always be added back in later when we know it 
-       works and isn't the problem.
-
-2000-06-21  Peter Williams  <peterw@curious-george.helixcode.com>
-
-       * providers/mbox/camel-mbox-folder.c (mbox_init): Use the basename
-       of the mailbox so we don't get pathnames like ~/evolution/inbox///movemail.ibex
-
-2000-06-21  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder-summary.c (message_info_new): Set date_received
-       based on the first (most recent) "Received" header.
-
-2000-06-20  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-part.c (write_to_stream): flush the filter stream
-       before unreffing it, so it will camel_mime_filter_complete.
-
-       * camel-stream-filter.c (camel_stream_filter_class_init): Fix a
-       braino so camel_stream_flush works here.
-
-       * camel-stream-mem.c (stream_seek): Fix a bug that resulted in
-       large attachments being silently dropped.
-
-       * providers/pop3/camel-pop3-store.c
-       (camel_pop3_command_get_additional_data): Don't use g_strjoinv
-       here, since it is O(n^2) on the length of the output string, and
-       we can do O(n).
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): add a CRLF decoder
-       after the QP/B64 decoder if it's text.
-
-2000-06-20  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_summary): Only
-       fetch the summary if the folder summary doesn't already exist.
-       When the summary *does* exist, start fetching from 1, not 0.
-       (imap_free_summary): Don't do anything here.
-       (imap_finalize): Free the summary here instead of in
-       imap_free_summary().
-       (imap_set_message_flags): Implemented
-       (imap_sync): Added code to set flags on messages that have had
-       their flags changed (however I #if'd it out until we are more
-       confidant in the IMAP code :)
-       (imap_summary_get_by_uid): Now parese flags correctly.
-       (imap_get_summary): Now parese flags correctly. Also correctly
-       parses the UID correctly.
-
-       * camel-url.c (check_equal): No need to check s1 if s2 is NULL
-       (camel_url_equal): Don't check the passwd component of the url.
-
-2000-06-20  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder-summary.c (camel_folder_summary_add): mark the
-       message info with CAMEL_MESSAGE_FOLDER_FLAGGED if we change the
-       uid, so the folder will know that it's dirty.
-
-2000-06-20  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (camel_imap_command_extended): 
-       Now returns the last line of data that the server sends back as
-       well. This is needed for commands like SELECT (like Peter pointed
-       out).
-       (camel_imap_command): No longer checks for SELECT (no need)
-
-       * providers/imap/camel-imap-folder.c: Added namespace stuff
-       which we will need later on...
-       (imap_parse_subfolder_line): Convenience function for use in
-       get_subfolder_names()
-       (imap_get_subfolder_names): Updated. Also changed it to use LIST
-       instead of LSUB (temporary change).
-
-2000-06-19  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_init): Set
-       summary equal to NULL.
-       (imap_get_summary): Store the summary in the ImapFolder
-       (imap_summary_get_by_uid): If we have a summary cache in the
-       ImapFolder, first check to see if that message info is in the
-       cached summary first, if not fetch it directly from the IMAP
-       server and append it to the summary cache.
-       (imap_get_message_flags): Don't free the message info that we get
-       back from summary_get_by_uid as we don't want to be corrupting our
-       cached summary.
-
-2000-06-19  Peter Williams  <peterw@curious-george.helixcode.com>
-
-       * providers/imap/camel-imap-store.c (camel_imap_command{,_extended}): When
-       SELECT'ing a folder for an IMAP command, use _extended to grab the entire
-       response (before we just used camel_imap_command and missed the OK codes)
-
-2000-06-18  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_summary_get_by_uid): 
-       Now gets the message flags as it should.
-       (imap_get_summary): Same as imap_summary_get_by_uid
-       (imap_get_permanent_flags): Return the permanent flags stored
-       on the folder.
-       (imap_get_message_flags): Return message flags associated with
-       given uid. Note: we may want to somehow cache summary info so
-       that we don't have to keep querying the IMAP provider in
-       imap_summary_get_by_uid().
-
-2000-06-17  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_free_summary): We were
-       leaking memory - but not anymore!
-       (imap_get_summary): We now get the UIDs and the beginnings of the
-       code to get the message flags as well.
-
-2000-06-17  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-parser.c (folder_scan_header): Don't copy newlines
-       into the parsed header text, and turn any number of tabs and
-       spaces after a newline into a single space.
-
-2000-06-17  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_init): Should now
-       correctly do CAPABILITY.
-
-2000-06-17  Dan Winship  <danw@helixcode.com>
-
-       * providers/mbox/camel-mbox-summary.c: Add some debugging printfs
-       when rebulding summary to help figure out why people's summaries
-       are always being rebuilt.
-
-2000-06-17  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_search_by_expression):
-       Began to implement, need to get information on how to
-       deconstruct @expression into an IMAP search expression and
-       parse the results.
-       (imap_init): Now queries the IMAP provider for CAPABILITY to
-       determine if SEARCH is implemented or not.
-
-       * providers/imap/imap.c: Removed - no longer a need to have
-       this as an example for anyone interesting to help mecode IMAP
-       support.
-       
-2000-06-16  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_sync): Added code
-       to expunge if called for (still need to finish coding this).
-       (imap_get_uids): Implemented.
-       (imap_get_summary): Found a way to get the date
-       (imap_summary_get_by_uid): Same.
-       (imap_free_summary): Implemented.
-
-       * string-utils.c (strstrcase): Fixed a compile warning
-
-       * providers/imap/camel-imap-summary.c: Removed - we don't
-       need a CamelImapSummary structure.
-
-2000-06-16  Dan Winship  <danw@helixcode.com>
-
-       Move flag handling from CamelMimeMessage to CamelFolder. This
-       simplifies several flag-handling pieces of code in the mailer, and
-       lets you change a message's flags without having to fetch the
-       message body. It also means that fully-constructed
-       CamelMimeMessages are now essentially constant, which will help
-       simplify locking issues later since it means two threads
-       interested in the same message can just work with separate copies
-       of it.
-
-       * camel-mime-message.h (struct _CamelMimeMessage): Removed flags
-       and user_flags (moved to summary). Removed expunged and
-       message_number which were unused. Removed message_uid and folder
-       which are no longer needed in the new scheme.
-       (struct CamelMimeMessageClass): Removed message_changed signal and
-       get/set_message_number methods.
-
-       * camel-mime-message.c: Updates for CamelMimeMessage changes.
-       (camel_mime_message_get/set_flags,
-       camel_mime_message_get/set_user_flag): Replaced with methods in
-       CamelFolder.
-       (camel_flag_get, camel_flag_set, camel_flag_list_size,
-       camel_flag_list_free): Moved verbatim to camel-folder-summary.c
-       
-       * camel-folder.c (camel_folder_get/set_message_flags,
-       camel_folder_get/set_message_user_flag): New methods (and
-       corresponding useless default implementations)
-       (camel_folder_class_init): add a message_changed signal
-
-       * camel-folder-summary.c (camel_flag_get, camel_flag_set,
-       camel_flag_list_size, camel_flag_list_free): Moved here from
-       camel-mime-message.c
-
-       * providers/mbox/camel-mbox-folder.c (message_changed): Removed.
-       (mbox_get_message_flags, mbox_set_message_flags,
-       mbox_get_message_user_flag, mbox_set_message_user_flag): Tweak
-       summary bits as appropriate. (Functionality moved here from
-       message_changed.)
-       (mbox_get_message_by_uid): Update for CamelMimeMessage changes
-       (less stuff to initialize).
-
-       * providers/imap/camel-imap-folder.c (message_changed): Remove
-       this. It was just copied from the mbox provider and doesn't deal
-       with the real IMAP flag stuff anyway. (So there's currently no
-       flag support in the IMAP provider.)
-       (imap_get_message_by_uid): Update for CamelMimeMessage changes.
-
-       * providers/vee/camel-vee-folder.c: (message_changed): Remove old
-       one. Add a new one to listen for message_changed on each folder
-       and re-emit message_changed signals that correspond to messages in
-       the vfolder.
-       (vee_get/set_message_flags, vee_get/set_message_user_flag): Proxy
-       flag setting to the underlying real messages.
-       (vee_append_message): Removed for now; there's no way to translate
-       this into the new CamelMimeMessage/CamelFolder scheme, but (a)
-       there's also no code which would ever call it and (b) we're
-       probably going want a better interface than append_message for
-       message drag and drop to work anyway. To be revisited.
-
-2000-06-16  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-utils.c (rfc2047_decode_word): 
-       * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): 
-       * camel-folder-summary.c (summary_build_content_info): 
-       KLUDGE! Since neither ETable nor GtkHTML supports UTF-8 yet,
-       output ISO-8859-1 instead, so Ettore can read his Italian mail. :)
-       This will be reverted later.
-
-2000-06-15  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_summary): Started to 
-       implement - may want to use ENVELOPE instead of BODY.PEEK[HEADER]
-       (imap_summary_get_by_uid): Started to code, I've got to find a way to 
-       get the date in time_t format and also get the flags
-
-       * string-utils.c (strstrcase): Added this convenience function - I
-       know about strcasestr() but it's not portable.
-
-2000-06-15  Dan Winship  <danw@helixcode.com>
-
-       * camel-service.c: Remove camel_service_connect_with_url. (URLs
-       must be specified when the service is requested from the session,
-       so that there can only ever be one service for any URL.)
-
-       * camel-folder.c: (camel_folder_open, camel_folder_is_open,
-       camel_folder_get_mode): Kill. Folders are now always open, and
-       handle "closing" sorts of operations at sync or finalize time.
-       (camel_folder_sync): renamed from camel_folder_close. Syncs state
-       to the store but doesn't necessarily close/disconnect.
-
-       * providers/*/camel-*-folder.c: Merge "open" methods into "init"
-       methods. Rename close to sync and update appropriately.
-
-       * providers/imap/camel-imap-store.c: Remove camel_imap_store_open
-       and camel_imap_store_close, which should not have been copied from
-       the POP provider (where the exist to work around limitations of
-       the POP protocol).
-
-       * providers/mbox/camel-mbox-summary.c: fix a bug. (don't expunge
-       deleted messages if called with expunge == FALSE)
-       
-       * providers/pop3/camel-pop3-store.c (connect_to_server): Check
-       server for various interesting extensions.
-
-       * providers/pop3/camel-pop3-folder.c (get_uids): If the server
-       supports UIDL, use real UIDs rather than fake ones.
-       (etc): Map uids back to numbers appropriately
-
-       * providers/mbox/camel-mbox-folder.c (mbox_append_message): Fix to
-       previous change: make sure the "seek" variable ends up with the
-       value it should.
-
-       * providers/mbox/camel-mbox-summary.c (summary_rebuild): Update
-       summary mtime as well as size.
-
-2000-06-14  Dan Winship  <danw@helixcode.com>
-
-       * providers/mbox/camel-mbox-folder.c (mbox_append_message): if the
-       mbox doesn't end with a '\n', write one before appending the new
-       message.
-
-2000-06-14  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-filter-crlf.c (filter): Updated the encoder to allocate 
-       more memory (since we are also now adding dots). Also updated the
-       decoder as we have found that it sometimes passes the end of the 
-       buffer.
-
-       * providers/pop3/camel-pop3-folder.c (get_message_by_uid): Took out the
-       filter code (we already filter in 
-       camel_pop3_command_get_additional_data)
-
-       * camel-folder.c (init): Updated: a separator is now a char* rather 
-       than a single char because IMAP can have a string for a directory 
-       separator. Also, since IMAP does not begin with a directory separator,
-       there is a new argument (path_begins_with_sep) which decides if a 
-       directory should begin with a directory separator.
-
-       * providers/imap/camel-imap-store.c (imap_create): Since, on connect,
-       Camel tries to create INBOX (which already exists on every IMAP 
-       provider) we can return TRUE when the folder name is "INBOX".
-
-       * providers/vee/camel-vee-folder.c (vee_init): Updated.
-
-       * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Updated.
-
-       * providers/mbox/camel-mbox-store.c (get_folder): Updated.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_init): Updated.
-
-       * providers/pop3/camel-pop3-folder.c (camel_pop3_folder_new): Updated.
-
-2000-06-14  Dan Winship  <danw@helixcode.com>
-
-       * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync):
-       Renamed from camel_mbox_summary_expunge. Takes a gboolean saying
-       whether to expunge or just sync the mbox file. Change some
-       g_errors to g_warning so we don't abort. Make the quick
-       X-Evolution updating code lseek around correctly. Update the
-       mbox mtime in the summary file even in the quick case.
-
-       * providers/mbox/camel-mbox-summary.h: make
-       CAMEL_MESSAGE_FOLDER_NOXEV not conflict with
-       CAMEL_MESSAGE_FOLDER_FLAGGED defined in camel-mime-message.h
-
-       * providers/mbox/camel-mbox-folder.c (mbox_close): call
-       camel_mbox_summary_sync to save flag state if not expunging.
-       (mbox_expunge): Update for camel_mbox_summary_expunge rename.
-
-2000-06-13  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (camel_imap_store_open): 
-       (camel_imap_store_close): Added.
-       (camel_imap_command_extended): Fixed a segfault and updated
-       to use camel_imap_status()
-       (camel_imap_command): Updated to use camel_imap_status()
-       (camel_imap_status): New convenience function for parsing
-       the return status of an IMAP command
-
-2000-06-12  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c (imap_get_message_by_uid): 
-       Works like the POP fetch code, should work temporarily until
-       we get around to coding it the way it "Should Be".
-
-       * providers/pop3/camel-pop3-folder.c (get_message_by_uid): Now uses
-       the camel-mime-filter-crlf decoder when retrieving messages.
-
-       * camel-mime-filter-smtp.c: Deprecated.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Updated to use
-       camel-mime-filter-crlf with my 'dot' extension in place of
-       camel-mime-filter-smtp
-
-       * camel-mime-part.c (write_to_stream): Updated to reflect changes
-       made to camel-mime-filter-crlf.c
-
-       * camel-mime-filter-crlf.c (filter): Modified to be able to
-       encode/decode dots ("\n.\n"<->"\n..\n"). Also fixed the decoder
-       so that it should no longer get caught in an infinite loop.
-
-2000-06-12  Dan Winship  <danw@helixcode.com>
-
-       * providers/*/Makefile.am: don't pass a second (incorrect) -rpath
-       in addition to the (correct) one automatically provided by
-       automake.
-
-       * camel-mime-filter-crlf.c: New filter to do CRLF<->LF conversion.
-       (Currently only tested in the LF->CRLF direction.)
-
-       * camel-mime-part.c (write_to_stream): if content-type is text,
-       and it's QP or B64 encoded, pass through the CRLF filter before
-       the other filter to satisfy the "canonical encoding" rules in the
-       MIME spec.
-
-2000-06-09  Dan Winship  <danw@helixcode.com>
-
-       * camel-session.c (camel_session_query_authenticator): Add another
-       argument, "mode", which can be CAMEL_AUTHENTICATOR_ASK or
-       CAMEL_AUTHENTICATOR_TELL, so callers can get the app to un-cache
-       bad info.
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): uncache the
-       password if it doesn't work.
-
-2000-06-09  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-stream.c (stream_read): Updated to reflect
-       changes made in camel-imap-store.c
-
-       * providers/imap/camel-imap-store.c (imap_create): No longer checks to
-       make sure a folder doesn't already exists (as this is no longer needed)
-       (camel_imap_command): Now takes a CamelFolder argument so it can detect
-       whether or not it needs to SELECT a folder or not
-       (camel_imap_command_extended): Same.
-
-       * providers/smtp/camel-smtp-transport.c (smtp_connect): Will now always
-       send EHLO first, if that fails it will fall back on HELO.
-       (esmtp_get_authtypes): Should now correctly parse authtypes.
-
-2000-06-07  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-summary.c: Now builds (not that it's worth
-       much yet).
-       
-       * providers/imap/camel-imap-folder.c (imap_get_uids): Now uses the 
-       correct cast to a CamelImapMessageInfo structure (should get rid of 
-       compile warnings).
-
-       * providers/imap/Makefile.am: Added rules to build 
-       camel-imap-stream
-       
-       * providers/imap/camel-imap-store.c (get_folder): Update.
-       Moved imap_create here.
-
-       * providers/imap/camel-imap-folder.c (delete_messages): Remove.
-       (imap_create): Removed.
-       (imap_delete): Removed.
-       (imap_exists): Removed.
-
-       * providers/imap/camel-imap-stream.h: Added typedef's for the stream
-
-       * providers/imap/camel-imap-stream.c: Modified to build cleanly
-
-2000-06-07  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-utils.c (header_msgid_decode_internal): Properly
-       dereference warning/debug messages.
-       (header_references_decode): Check we actually have msgid stuff
-       before trying to decode it ...
-
-2000-06-06  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-imap-stream.[c,h]: Removed
-
-       * providers/imap/camel-imap-stream.[c,h]: Relocated to this
-       location
-
-       * providers/imap/camel-imap-summary.c: Added
-
-2000-06-06  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.c: Remove exists, create, delete. A CamelFolder
-       now always references an existing folder. Remove delete_messages
-       too since it wasn't being used. Add a "create" flag to
-       get_subfolder saying whether or not to create the subfolder if it
-       doesn't yet exist.
-
-       * camel-store.c (camel_store_get_folder): Add a "create" flag to
-       say whether or not to create the folder if it doesn't yet exist.
-       (camel_store_delete_folder): New method, moved from CamelFolder.
-       (cache_folder, uncache_folder): Fix up a bit.
-       (get_folder_name): Explain what this is for.
-
-       * providers/mbox/camel-mbox-folder.c: 
-       * providers/mbox/camel-mbox-store.c: Update. Remove support for
-       hierarchical folders to simplify this for now, since we're not
-       using it, and it's not completely clear how they should work in an
-       ELocalStorage world. Needs to be revisited.
-
-       * providers/pop3/camel-pop3-folder.c (delete_messages): Remove.
-       * providers/pop3/camel-pop3-store.c (get_folder): Update.
-
-       * providers/vee/camel-vee-folder.c (exists): Remove.
-       * providers/vee/camel-vee-store.c (vee_get_folder): Update.
-
-2000-06-06  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-*.[c,h]: Started on getting 
-       imap to build cleanly (tho some work has not been completed
-       so it still won't build until camel-imap-summary is finished
-       along with a few methods in camel-imap-folder)
-
-       * camel-stream.[c,h]: Changed the read and write method prototypes
-       to return an ssize_t type rather than an int and also changed
-       the 'number of bytes' to read or write to a size_t type
-
-       * camel-stream-fs.c: same as above
-
-       * camel-stream-mem.c: again, same as above
-
-       * camel-stream-buffer.c: same
-
-       * camel-imap-stream.[c,h]: Added this new stream, cache's previously 
-       read data so each successive call will instead read from the cache
-       
-2000-06-05  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-part.c (camel_mime_part_set_disposition): fix
-       typo/braino (set "Content-Disposition", not "Content-Description")
-       (camel_mime_part_set_filename): const poison
-
-2000-06-02  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-utils.c (base64_encode_step): Ick, damn signs!  Fix a
-       bug with sign extended bytes.
-
-       * camel-mime-filter-smtp.c (filter): Changed layout/logic slightly
-       (to match From filter)
-
-2000-06-02  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * camel-mime-filter-smtp.c (filter): Fixed the filter so that it 
-       wouldn't insert garbage under certain conditions.
-
-2000-06-02  Christopher James Lahey  <clahey@helixcode.com>
-
-       * camel-session.c: Don't ref the services in the cache.
-
-2000-06-02  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c: Rearanged where debug
-       fprintf statements we placed so that any data the server sends 
-       back is printed out before an exception is set and the function
-       returns.
-
-2000-06-02  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-utils.c (header_decode_date): If we get a funny
-       result, just throw it out.  Basically a fix for the one true
-       broken TradeClient.
-
-2000-06-01  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-folder-summary.c (message_info_free): Free
-       references/messsage id.
-       (message_info_save): Save them.
-       (message_info_load): Load them.
-       (message_info_new): And get them from the new message.
-       (CAMEL_FOLDER_SUMMARY_VERSION): Bumped for new changes.
-
-       * camel-folder-summary.h: Added references and messageid to
-       summary.
-
-2000-06-02  Christopher James Lahey  <clahey@helixcode.com>
-
-       * camel-session.c: Ref and unref objects in the service cache
-       properly.
-
-       * camel-store.c: Ref the folder when returning it using
-       lookup_folder.  Used the folder's full name for the key for the
-       folder cache since that's used to uncache it.
-
-2000-06-02  Dan Winship  <danw@helixcode.com>
-
-       Fun with purify.
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): free msg on
-       success as well as failure.
-       (camel_pop3_command_get_additional_data): free buf after reading
-       the last line (".").
-
-       * providers/pop3/camel-pop3-folder.c (get_message_by_uid): free
-       body data after creating the memstream from it (which will copy
-       the data).
-
-       * providers/mbox/camel-mbox-folder.c (mbox_finalize): free summary
-       and index paths.
-
-       * camel-data-wrapper.c (finalize): unref the stream, if it exists.
-
-2000-06-01  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-part.c (construct_from_parser): For a message part,
-       set the default content-type to message/rfc822.  Maybe needs to be
-       done for multiparts too?
-
-2000-05-31  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-mime-message.c (construct_from_parser): Typo in assersion.
-
-       * camel-mime-parser.c (folder_scan_step): Use a default type of
-       message/rfc822 for multipart/digest.  Bug Z192.
-       (folder_scan_drop_step): Remove warning.
-
-2000-05-30  Not Zed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-folder.c (mbox_append_message): Init
-       filter_from to NULL, for exception case.
-       (mbox_get_message_by_uid): Cast off_t to long int for diagnostics.
-
-       * camel-url.c (camel_url_hash): Hash funciton for using camel
-       url's as hash keys.
-       (camel_url_equal): equal function for same.
-
-       * camel-session.c (camel_session_finalise): Free cached services.
-       (camel_session_init): Init service cache.
-       (service_cache_remove): destroy callback to remove a service from
-       the cache.
-
-       * camel-store.c (get_folder_internal): Remove the extra ref of the
-       folder.  That seems the right behaviour ...?
-       (camel_store_get_type): Doh, actually call store init, so the
-       cache works.
-       (cache_folder): strdup the folder name!  no wonder it never found
-       it again.
-
-2000-05-30  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-folder.c: Implemented a few more
-       methods like imap_append and 1 or 2 others
-
-2000-05-29  Not Zed  <NotZed@HelixCode.com>
-
-       * camel-store.c (camel_store_init): Move it to here.  If this
-       level is going to maintain it, it should set it up.  Lets see what
-       caching folders breaks :(
-
-       * providers/pop3/camel-pop3-store.c (camel_pop3_store_init): Dont
-       init folder cache here.
-
-       * providers/mbox/camel-mbox-summary.c
-       (camel_mbox_summary_expunge): Make sure we copy messages which are
-       still intact to the new folder.
-       (camel_mbox_summary_expunge): Update the frompos as well when
-       moving the content.
-       (camel_mbox_summary_expunge): Remove some debug, and dont offset
-       frompos?
-
-       * providers/vee/camel-vee-folder.c (vee_folder_build): Check the
-       searched folder is open before trying to search it.
-       (message_changed): Track changes to the source message in the
-       summary.
-       (folder_changed): Track folder changes, re-query the folder that
-       changed, and cascade the changed event as well.
-       (camel_vee_folder_finalise): Free subfolder and subfolder summary.
-
-2000-05-29  Dan Winship  <danw@helixcode.com>
-
-       * camel-service.c (camel_service_new): Fix up some glib
-       precondition stuff. Try to set the URL in camel_service_new before
-       checking whether or not it's "empty" so that you can successfully
-       set "sendmail:" as a URL.
-
-2000-05-28  Dan Winship  <danw@helixcode.com>
-
-       * camel-provider.h: Add a domain field to CamelProvider, to say
-       what kind of data it provides.
-
-       * providers/imap/camel-imap-provider.c: 
-       * providers/mbox/camel-mbox-provider.c: 
-       * providers/pop3/camel-pop3-provider.c: 
-       * providers/sendmail/camel-sendmail-provider.c: 
-       * providers/smtp/camel-smtp-provider.c: Set domain to "mail".
-
-       * providers/nntp/camel-nntp-provider.c: Set domain to "news".
-
-       * providers/vee/camel-vee-provider.c: Set domain to "vfolder". (So
-       it doesn't end up being listed as a potential mail source in the
-       mail config wizard.)
-
-       * providers/pop3/camel-pop3-store.c: Split apart password and APOP
-       auth, since some servers seem to do both, but don't really.
-       (connect_to_server): Renamed from try_connect. Now actually does
-       the connection up to the point of checking the greeting for APOP
-       support.
-       (query_auth_types): Return APOP, if appropriate. Call
-       pop3_disconnect after connect_to_server since we don't really want
-       to be connected.
-       (pop3_connect): Use connect_to_server rather than duplicating
-       code. Fix a one-byte buffer overrun in the APOP code.
-       (pop3_disconnect): Make this able to clean up after a partial
-       connect.
-       (connect_to_server): Remove port number from error message since
-       it's not terribly useful and we were getting it from the wrong
-       place anyway.
-
-       * camel-mime-utils.c (header_address_list_format_append): Use
-       `foo@bar' rather than `"" <foo@bar>' for email addresses with no
-       name component.
-
-2000-05-27  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c: Removed 
-       camel_imap_command_get_additional_data() as it was
-       completely useless, replaced with 
-       camel_imap_command_extended() which may eventually replace
-       camel_imap_command() as well.
-
-       * providers/imap/camel-imap-store.h: Modified to reflect
-       changes made to camel-imap-store.c
-
-       * providers/imap/camel-imap-folder.c: Wrote the first of many
-       methods: camel_imap_init(), imap_open(), imap_expunge(), 
-       imap_get_message_count(), and imap_get_subfolder_names()
-
-2000-05-26  Dan Winship  <danw@helixcode.com>
-
-       * camel-multipart.c (camel_multipart_init): Don't set a default
-       boundary. Require the caller to do that.
-       (set_boundary): if boundary is NULL, generate a "random" boundary.
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): Add a call to
-       camel_multipart_set_boundary after creating a new multipart.
-
-2000-05-25  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap/camel-imap-store.c (try_connect): Removed
-       Exception code - Pop doesn't seem to set exceptions
-
-       * providers/imap/camel-imap-folder.c: Initial code, mostly
-       just a template for future code
-
-       * providers/imap/imap.[c,h]: Source code from my personal
-       mailer - for reference only!
-
-2000-05-25  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): Replace simple
-       data wrapper here too, oops.
-
-       * Makefile.am (libcamel_la_SOURCES): Removed
-       camel-simple-data-wrapper again.  Less code to maintain == better
-       code.
-       
-       * camel-data-wrapper.c (construct_from_stream): Fixes for bug
-       where text attachments dont work.  Made data-wrapper concrete for
-       the second time.
-
-2000-05-23  NotZed  <NotZed@HelixCode.com>
-
-       * providers/vee/camel-vee-folder.c (vee_folder_build_folder):
-       Update the vfolder details for a single folder.
-
-2000-05-25  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c (_send_to): Took out code
-       that had been there to reconnect to the server if it was not
-       already connected - Mailer code was fixed so that this should not
-       be needed.
-
-       * providers/imap/camel-imap-store.[c,h]: Initial code.
-
-2000-05-24  Dan Winship  <danw@helixcode.com>
-
-       * camel.h: Re-add camel-simple-data-wrapper.h, which was removed
-       for some reason.
-
-2000-05-24  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.[c,h]: Moved global
-       variables into struct CamelSmtpTransport to make SMTP
-       thread-safe
-
-       * providers/imap/camel-imap-*.h: Stolen from Mbox. Rough structure
-       for Imap.
-       
-2000-05-23  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/imap: Added some initial code to the camel tree
-       for IMAPv4
-
-       * providers/imap/.cvsignore: Added to repository
-
-       * providers/smtp/camel-smtp-transport.c: Added debug fprintf's
-       so that testers can provide more information. Tested with simple
-       messages and a reply to the hello@helixcode.com default message
-       but should really be tested more.
-       (smtp_data): Fixed to use data_wrapper_write_to_stream.
-
-       * camel-mime-filter-smtp.c (filter): Modified to escape all lines
-       beginning with a '.' and to place a \r before each \n if one did
-       not previously exist. Removed code to escape "From " as it was
-       found to not be needed for SMTP.
-
-2000-05-22  Jeffrey Stedfast  <fejj@helixcode.com>
-
-       * providers/smtp/camel-smtp-transport.c (smtp_data): Fixed the 
-       filtered stream. Fixes for stream changes, updated to use 
-       camel-mime-filter-smtp.
-
-       * Makefile.am: Added camel-mime-filter-smtp.c
-       
-       * camel-mime-filter-smtp.[c,h]: Added to camel tree
-       Smtp filter used to change \n into \r\n, escape lone dots,
-       and escape "From "'s.
-
-2000-05-19  NotZed  <NotZed@HelixCode.com>
-
-       * camel-simple-data-wrapper.c (construct_from_stream): If we
-       already have been constructed, unref our content.
-       (write_to_stream): Check we've been constructued, and change for
-       stream api changes.
-
-       * camel-mime-parser.c: Removed exception stuff.
-
-       * md5-utils.c (md5_get_digest_from_stream): repaired.
-
-       * camel-mime-message.c: Remove exception from write_to_stream, and
-       fix, and fix formatting.
-
-       * providers/sendmail/camel-sendmail-transport.c (_send_internal):
-       Fix for stream changes.
-
-       * providers/pop3/camel-pop3-store.c (camel_pop3_command): Fixes
-       for stream changes.
-
-       * providers/mbox/camel-mbox-folder.c, and elsewhere, fix all
-       stream api changes.
-       (mbox_append_message): Use stream_close() now its back.
-       (mbox_append_message): unref the from filter.
-
-       * camel-stream-mem.c: And here.
-
-       * camel-stream-fs.[ch]: Here too.
-
-       * camel-stream-filter.c: Likewise.  This is getting tedious.
-
-       * camel-stream-buffer.c (stream_write): Fix a few little problems.
-       (stream_close): Reimplement.
-       (camel_stream_buffer_read_line): Slightly more efficient version,
-       that also only allocates the right amount of memory for strings.
-
-       * camel-seekable-substream.c: Likewise.
-
-       * camel-seekable-stream.[ch]: Remove exceptions, fix formatting,
-       changes for stream (re)fixes.  set_bounds returns an error.
-
-       * camel-stream.[ch]: Remove exceptions.  Make flush and reset return
-       an error code, repair all the screwed up formatting, and put back
-       close.
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): And here.
-
-       * camel-mime-part.c (camel_mime_part_set_content): And this too.
-       (write_to_stream): Fixed for stream changes.
-
-       * camel.h: Fixed.
-
-       * providers/vee/camel-vee-folder.c (vee_search_by_expression):
-       Implement.  Performs an intersection of the two searches.
-       (camel_vee_folder_finalise): Unref search folders.
-       (vee_append_message): Implement append.
-
-2000-05-18  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.c: remove message_number_capability and require uid
-       capatibility.
-       (camel_folder_list_subfolders, camel_folder_get_uid_list,
-       camel_folder_get_subfolder_info, camel_folder_get_message_info):
-       removed
-       (camel_folder_get_subfolder_names,
-       camel_folder_free_subfolder_names): new subfolder interfaces.
-       (camel_folder_get_uids, camel_folder_free_uids): new uid
-       interfaces
-       (camel_folder_get_summary, camel_folder_free_summary): new summary
-       interfaces
-
-       * providers/mbox/camel-mbox-folder.c,
-       * providers/nntp/camel-nntp-folder.c:
-       * providers/vee/camel-vee-folder.c: Update for changes
-
-       * providers/pop3/camel-pop3-folder.c: Implement get_uids, update
-       for other changes.
-
-2000-05-18  NotZed  <NotZed@HelixCode.com>
-
-       * providers/vee/camel-vee-folder.c: Guess!
-
-       * camel-folder-search.c (search_user_flag): Implement user_flag
-       search term.
-
-       * camel-folder-search.h: Added user_flag search capability
-       (user-flag "blah")
-
-       * providers/mbox/camel-mbox-folder.c (mbox_init): Set USER flag in
-       permanent flags for the folder.
-
-2000-05-17  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.c: Remove unused async open/close and
-       copy_message_to functions.
-       Rename functions without initial _. Fix glib preconditions and
-       gtk-doc comments.
-
-2000-05-17  Dan Winship  <danw@helixcode.com>
-
-       * camel-data-wrapper.c: remove get/set_output_stream operations.
-       They're redundant with write_to_stream, and CamelMimePart and
-       CamelMimeMessage only implement the latter, meaning that trying to
-       get_output_stream on a CamelMimeMessage that was built from pieces
-       rather than being parsed from a stream doesn't work. Anything that
-       uses get_output_stream can be rewritten to use write_to_stream, so
-       we'll standardize on that.
-       (camel_data_wrapper_new): remove this: CamelDataWrapper is
-       supposed to be an abstract class.
-       (write_to_stream): remove default implementation. (Moved to
-       CamelSimpleDataWrapper)
-       
-       * camel-simple-data-wrapper.c: resurrect, although it's not really
-       the same thing it was before. A simple data wrapper, which is
-       backed by a CamelStream.
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): Use
-       construct_from_stream rather than set_output_stream.
-       (camel_mime_part_construct_content_from_parser): Change
-       camel_data_wrapper_new to camel_simple_data_wrapper_new.
-
-       * camel-mime-part.c (camel_mime_part_set_content): Change
-       camel_data_wrapper_new to camel_simple_data_wrapper_new.
-
-2000-05-17  Darin Adler  <darin@eazel.com>
-
-       * camel-folder-summary.c: (message_info_load):
-       Quick fix to get it to compile. I hope I don't get into trouble.
-
-2000-05-17  Dan Winship  <danw@helixcode.com>
-
-       * camel.h: Don't include the no-longer-distributed
-       possibly-to-be-removed headers.
-
-       * providers/smtp/camel-smtp-transport.c
-       (smtp_get_email_addr_from_text): fix an off-by-one error in
-       address parsing
-       (smtp_data): use camel_data_wrapper_get_output_stream rather than
-       data_wrapper->output_stream
-
-2000-05-17  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-folder.c (message_changed): Snoop
-       changes to user flags on the message into the summary as well.
-
-       * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_init):
-       Changed version init to include the parent class version info
-       (i.e. add it not overwrite it).
-
-       * camel-folder-summary.c (message_info_new): Initialise user_flags
-       to empty.
-       (message_info_load): And load user flags.
-       (message_info_save): And save user flags.
-       (message_info_free): And free them.
-       (CAMEL_FOLDER_SUMMARY_VERSION): Bumped file revision.
-
-       * camel-folder-summary.h: Added user-flags to summary.
-
-       * camel-mime-message.c (camel_mime_message_set_user_flag): Dont
-       use a hashtable for user flags.
-       (camel_mime_message_get_user_flag): And changed here too.
-       (camel_flag_get): New interface to get a flag from a flag
-       list.  Flag lists are easier to work with than hash tables, and
-       save memory too.
-       (camel_flag_set): And set.
-       (camel_flag_list_free): And free.
-       (free_key_only): Discard.
-       (finalize): Remove the flag list.
-
-2000-05-17  Jeffrey Stedfast  <fejj@stampede.org>
-
-       * providers/smtp/camel-smtp-transport.c: (smtp_helo): Error
-       checking on gethostbyaddr() eliminating a possible segfault.
-
-2000-05-16  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-folder.c (mbox_delete_message_by_uid):
-       Implement.
-
-2000-05-12  NotZed  <NotZed@HelixCode.com>
-
-       * camel-movemail.c (camel_movemail): Open the destination with
-       O_APPEND, so we dont blow away a partially transferred mbox.
-       (camel_movemail): Loop if we get errno=INTR, and not fail.
-
-2000-05-11  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-summary.c (summary_rebuild): Update
-       the summarised file size, if everything went ok.
-       (camel_mbox_summary_expunge): Clear header flags after updating.
-
-2000-05-16  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-folder.c:
-       * providers/nntp/camel-nntp-folder.h:
-       * providers/nntp/camel-nntp-provider.c: 
-       * providers/nntp/camel-nntp-store.c: 
-       * providers/nntp/camel-nntp-utils.c: 
-       * providers/nntp/camel-nntp-utils.h: 
-       get things working with new camel summary stuff.
-
-       * providers/nntp/camel-nntp-summary.c: 
-       * providers/nntp/camel-nntp-summary.h: 
-       removed files since camel-folder-summary does all we need.
-
-2000-05-15  Jeffrey Stedfast  <fejj@stampede.org>
-
-       * providers/smtp/camel-smtp-transport.c: Added some preliminary
-       AUTH support.
-
-2000-05-15  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.h: Remove camel_folder_get_summary, which no longer
-       exists.
-
-2000-05-11  Dan Winship  <danw@helixcode.com>
-
-       * Makefile.am: remove some cruft that we're not currently using.
-
-       * camel-stream-mem.c (camel_stream_mem_new_with_buffer): Change
-       to match prototype (size_t vs unsigned int) so it works on 64-bit
-       machines. Noted by msw.
-
-2000-05-11  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-folder.c (message_changed): Indicate
-       the summary changed also.
-
-2000-05-11  Jeffrey Stedfast  <fejj@stampede.org>
-
-       * providers/smtp/camel-smtp-transport.c: (smtp_helo): 
-       Updated to more closely comply with RFC 821 standards
-
-2000-05-11  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-part.c (write_to_stream): Unref the filter after
-       adding it to the filtering stream.
-
-       * providers/mbox/camel-mbox-summary.c
-       (camel_mbox_summary_finalise): Free the folder path.
-       (camel_mbox_summary_update): Also save summary when done.
-       (camel_mbox_summary_expunge): Unindex items when deleting them.
-       (camel_mbox_summary_expunge): Save the index as well as the
-       summary.
-
-       * camel-folder-summary.c (camel_folder_summary_finalise): Free the
-       summary path.
-       (camel_folder_summary_touch): New function, indicate the summary
-       info changed.
-       (camel_folder_summary_remove): Dirty here.
-
-       * camel-internet-address.c (internet_decode): Free multiple entry
-       addresses properly.
-
-       * camel-mime-utils.c (header_decode_mailbox): Plugged another
-       memleak, free text after converting it.
-       (header_decode_addrspec): More leaks plugged.
-
-       * camel-mime-message.c (finalize): Free message_uid.
-       (finalize): Free the recipients hashtable.
-
-2000-05-11  NotZed  <notzed@helixcode.com>
-
-       * camel-folder-summary.c (camel_folder_summary_finalise): Free
-       summary items and charset filters.
-
-2000-05-10  NotZed  <notzed@helixcode.com>
-
-       * camel-folder-summary.c (camel_folder_summary_finalise): Don't
-       free stuff in p, after we've free'd p.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_append_message): Unref
-       the stream we created for appending.
-
-2000-05-10  Jeffrey Stedfast  <fejj@stampede.org>
-
-       * providers/smtp/camel-smtp-transport.c: (camel_smtp_transport_class_init):
-       Added initialization for service_class
-
-2000-05-10  Dan Winship  <danw@helixcode.com>
-
-       * camel-multipart.c (write_to_stream): fix a stupid typo. Thank
-       you, C.
-
-       * camel-mime-part.c (write_to_stream): don't ref the stream before
-       wrapper a filter around it, since nothing will ever unref it.
-
-2000-05-10  Christopher James Lahey  <clahey@helixcode.com>
-
-       * Makefile.am: Added camel-types.h, camel-folder-pt-proxy.h, and
-       camel-thread-proxy.h.
-
-2000-05-09  Dan Winship  <danw@helixcode.com>
-
-       * providers/sendmail/camel-sendmail-transport.c (_send_internal):
-       Bleah. Can't fsync a pipe. As a quick kludge, just don't
-       stream_flush it. The right fix will require bringing back
-       stream_close though.
-
-2000-05-09  Jeffrey Stedfast  <fejj@stampede.org>
-       * camel-internet-address.[c,h]: Undid my changes (moved
-       struct _address back into came-internet-address.c)
-       * providers/smtp/camel-smtp-transport.c: (_send): changed
-       from using it's own address manipulation (using struct _address)
-       to using camel_internet_address_get(). Also some format changes
-       to keep consistant with the rest of Camel
-
-2000-05-09  Jeffrey Stedfast  <fejj@stampede.org>
-
-       * camel-internet-address.[c,h]: Moved struct _address from
-       camel-internet-address.c to camel-internet-address.h
-       (hopefully this doesn't break anything...)
-       * providers/smtp/camel-smtp-transport.c: (_send): now
-       populates the recipient list with To, Cc, and Bcc addresses.
-       Should now be able to use this module.
-
-2000-05-09  Dan Winship  <danw@helixcode.com>
-
-       * providers/mbox/camel-mbox-folder.c (mbox_get_message_by_uid):
-       one more refcounting fix I missed before.
-
-2000-05-08  Jeffrey Stedfast  <fejj@stampede.org>
-
-       * providers/smtp/camel-smtp-transport.c: no longer frees memory it
-       shouldn't, updated to reflect camel-stream changes involving
-       CamelException (perhaps it should use a different CamelException
-       variable than is passed to the camel smtp module?)
-
-2000-05-08  Dan Winship  <danw@helixcode.com>
-
-       * camel-stream.c (camel_stream_read, camel_stream_write,
-       camel_stream_flush, camel_stream_reset, camel_stream_printf,
-       camel_stream_write_to_stream): Use CamelException to signal
-       failure.
-       (camel_stream_write_strings): Remove. camel_stream_printf is more
-       useful in most of the places that used this.
-       (camel_stream_write_string): Change from macro to function to
-       prevent problems with double-evaluation.
-
-       * camel-seekable-stream.c (camel_seekable_stream_seek,
-       camel_seekable_stream_set_bounds): Use CamelException.
-       (reset): Update.
-
-       * camel-seekable-substream.c, camel-stream-buffer.c,
-       camel-stream-filter.c, camel-stream-fs.c, camel-stream-mem.c:
-       Update.
-
-       * camel-stream-fs.c: Remove the virtual init functions and move
-       the code into the creator functions. Add CamelExceptions to
-       creation functions that could fail.
-
-       * camel-data-wrapper.c (camel_data_wrapper_write_to_stream): Use
-       CamelException.
-       * camel-mime-message.c, camel-mime-part.c, camel-multipart.c
-       (write_to_stream): Update.
-
-       * camel-mime-parser.c: add an exception to the mime parser private
-       data and pass that to stream functions as needed.
-       
-       * gmime-content-field.c, md5-utils.c: Update (badly) for stream
-       changes.
-       
-       * camel-exception.h (camel_exception_is_set): convenience macro.
-
-       * providers/Makefile.am: disable SMTP for now
-
-       * providers/mbox/camel-mbox-folder.c (mbox_append_message): Pass
-       CamelException to the functions that now need it. Check the
-       exception after calling camel_stream_flush, and fail if it fails.
-       (mbox_get_message_by_uid): More updates.
-
-       * providers/pop/camel-pop3-folder.c,
-       providers/pop/camel-pop3-store.c,
-       providers/sendmail/camel-sendmail/transport.c: Update.
-
-
-2000-05-08  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-message.c (process_header): Format From and Reply-To
-       to at least a decoded string.  Should probably store them as an
-       camelinternetaddress.
-
-       * Merged NEW_SUMMARY branch back to trunk, and resolved conflicts.
-       
-       * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_update):
-       Return status.
-       (camel_mbox_summary_expunge): Force an update of the summary
-       before we do anything.
-       (camel_mbox_summary_expunge): Build new xev line in xevnew, and
-       free that, and consify xev.
-       (camel_mbox_summary_load): If we are rebuilding from scratch, make
-       sure we clear the summary content.
-
-       * camel-stream-filter.c (do_close): We NEED a stream close.
-
-2000-05-07  Dan Winship  <danw@helixcode.com>
-
-       Make camel not leak like a sieve.
-
-       * camel-object.c: New subclass of GtkObject which is now the base
-       of the Camel object hierarchy. Currently the only difference
-       between CamelObject and GtkObject is that CamelObjects don't start
-       out floating.
-
-       * *.h: Move a bunch of typedefs to camel-types.h. Standardize on
-       using <camel/foo.h> in header files rather than <foo.h>, "foo.h",
-       or "camel/foo.h". Remove some unneeded includes.
-
-       * camel-address.c, camel-data-wrapper.c, camel-folder-search.c,
-       camel-folder-summary.c, camel-folder.c, camel-mime-filter.c,
-       camel-mime-parser.c, camel-service.c, camel-session.c,
-       camel-stream.c: These are now subclasses of CamelObject.
-
-       * camel-data-wrapper.c (set_output_stream):
-       * camel-medium.c (set_content_object):
-       * camel-seekable-substream.c
-       (init_with_seekable_stream_and_bounds):
-       * providers/mbox/camel-mbox-folder.c (mbox_get_message_by_uid): 
-       remove gtk_object_sink calls.
-
-       * camel-stream-buffer.c (init_vbuf): 
-       * camel-stream-filter.c (camel_stream_filter_new_with_stream):
-       ref the original stream.
-
-       * camel-folder-summary.c (camel_folder_summary_finalise): unref
-       the filters when finalizing.
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser,
-       camel_mime_part_construct_content_from_parser):
-       * camel-mime-part.c (camel_mime_part_set_content): Unref objects
-       that are created only to be handed off to other objects. If
-       they're going to be needed later, they will have been additionally
-       ref'ed by the object that needs them.
-
-       * providers/pop3/camel-pop3-folder.c (get_message_by_number):
-       unref the message stream after creating the data from it.
-
-       * camel-stream.c, camel-stream-buffer.c, camel-stream-filter.c,
-       camel-stream-fs.c, camel-stream-mem.c: Remove camel_stream_close,
-       since its semantics are dubious (what happens when you close a
-       stream other people still have references on?).
-
-       * providers/nntp/camel-nntp-store.c:
-       * providers/smtp/camel-smtp-transport.c:
-       * providers/pop3/camel-pop3-store.c:
-       replace camel_stream_close calls with gtk_object_unref.
-
-       * providers/mbox/camel-mbox-folder.c:
-       * providers/nntp/camel-nntp-folder.c:
-       * providers/sendmail/camel-sendmail-transport.c:
-       replace camel_stream_close with camel_stream_flush +
-       gtk_object_unref
-
-2000-05-06  Dan Winship  <danw@helixcode.com>
-
-       * providers/pop3/camel-pop3-store.c (query_auth_types): A machine
-       which serves neither POP nor KPOP is not a POP server.
-
-       * providers/smtp/camel-smtp-provider.c: Note in the description
-       that this provider is not yet tested.
-
-2000-05-08  NotZed  <notzed@helixcode.com>
-
-       * camel-mime-part.c (write_to_stream): Free the filter stream when
-       done.
-
-       * camel-mime-parser.c (folder_seek): Make sure we add the \n
-       terminal when we seek as well (frob!).
-
-       * camel-mime-utils.c (header_decode_addrspec): Plug minor memleak.
-
-       * camel-mime-part.c (finalize): Free header tables once finished.
-
-       * camel-folder-summary.c (camel_folder_summary_remove): Dont try
-       to access info after its free'd.
-
-2000-05-07  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-part.c (write_to_stream): Apply encoding to content
-       part, when writing to a stream *sigh*.
-
-       * camel-stream-filter.c (do_write): implement write for the
-       filtering stream.  Writes shouldn't be mixed with reads.
-       (do_flush): Implemented flush.  Again write/flush shouldn't be
-       mixed with reads.  Only flushes if the last op was write.
-       (do_close): Force flush on close.
-
-       * camel-mime-filter.c (filter_run): Oops, make sure we include the
-       backlen in the total length before passing onto the filter.
-
-       * camel-mime-filter-from.c: New filter, munges 'From ' lines into
-       '>From ', for mbox.
-
-       * camel-mime-parser.c (camel_mime_parser_header_remove): New
-       function to remove the parser's raw header, rather than
-       manipulating the header directly (wich doesn't work with
-       mempools).
-
-       * camel-mime-utils.c (header_address_list_clear): Fixed some
-       broken(tm) logic, which would leak entries on multivalued lists.
-
-       * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_load):
-       Use ibex_save() to save the ibex.  Makes a big difference to
-       startup times for very large mailboxes.
-       (camel_mbox_summary_expunge): Dum de dum, reimplemented.  Designed
-       to be much more robust, and to stop immediately if anything awry
-       happens.
-       (copy_block): Utility function to copy n bytes from one fd to
-       another.
-       (header_write): Utility function to write out raw headers to an
-       fd.
-       (camel_mbox_summary_update): Incremental summary updater.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_get_message_by_uid):
-       Dont unref the stream, because of the broken(tm) ref model of gtk
-       widget that for some odd reason is being perpetuated in camel.  
-       (mbox_expunge): Reenable expunge again.
-       (mbox_append_message): Removed the optimised mbox append.  If its
-       an issue, it can go back later.  Cleaned up a lot, checks error
-       returns, and automagically translates 'From ' into '>From' as
-       necessary.
-
-2000-05-07  NotZed  <notzed@helixcode.com>
-
-       * camel-mime-filter.c (filter_run): Oops, forgot to add the
-       backlen to the pre-buffer (*poof*).
-
-2000-05-07  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-message.c (construct_from_parser): Allow
-       HSCAN_FROM_END to terminate the processing of a message.
-
-       * camel-folder-summary.c (perform_content_info_load): Ick, dont
-       try and append a node onto its own list.
-       (camel_folder_summary_clear): Actually clear the indexes after
-       we've removed the messages.
-       (camel_folder_summary_clear): Set dirty if it changes.
-       (camel_folder_summary_load): Clear dirty.
-       (camel_folder_summary_save): Only save if dirty.
-
-       * providers/mbox/camel-mbox-summary.c (summary_header_load): Oops,
-       remember to call that parent class first ...
-       (summary_header_save): Here too.
-       (camel_mbox_summary_load): Do more checking to verify the index
-       contents as well as teh summary contents, against the mbox
-       contents.
-       (camel_mbox_summary_load): Removed some fo that checking, it needs
-       more code to work reliably.
-
-2000-05-07  NotZed  <notzed@helixcode.com>
-
-       * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_load):
-       Set the size and mtime of the mbox we indexed once done.
-
-       * camel-folder-summary.c (camel_folder_summary_set_index): Dont
-       write the index if it changes - let the claler fix it (uh, kind of
-       impacts performance).
-       (camel_folder_summary_load): close in.
-
-       * camel-folder-summary.c (summary_format_string): Check header
-       exists before trying to strip its leading spaces.
-
-2000-05-06  NotZed  <NotZed@HelixCode.com>
-
-       * camel-folder.h: Removed summary info from here, and include
-       camel-folder-summary.h as well.
-       
-       * camel-mime-parser.c (camel_mime_parser_step): Allow it to accept
-       a NULL databuffer.
-
-       * providers/mbox/camel-mbox-summary.c: Totally new file, now
-       subclasses camel-folder-summary.
-
-       * camel-folder-summary.c (message_info_load): Load the uid as a
-       string.
-       (message_info_save): And save too.
-       (camel_folder_summary_clear): New function, clears the contents of
-       the summary.
-
-       * providers/mbox/camel-mbox-folder.c: Fixes for summary changes.
-       (mbox_get_message_by_uid): Completely redone.  Now cross-checks
-       the summary information to make sure we get a real message.
-       (mbox_append_message): Disabled the copy version of append for
-       now.
-       (mbox_expunge): Temporarily disabled the expunge function, until
-       it is put back in camel-mbox-summary.c
-
-2000-05-05  NotZed  <NotZed@HelixCode.com>
-
-       * camel-folder-summary.c: And same here ...
-       (camel_folder_summary_encode_fixed_int32): Ugh, fwrite doesn't
-       return -1 on error ..
-       (camel_folder_summary_decode_fixed_int32): Neither deos fread.
-       (camel_folder_summary_encode_token): Fix here too.
-       (summary_build_content_info): Use start-headers to get the pos of
-       the message, not parser_tell(), which might not be what we
-       expected because of parser_unstep().
-       (camel_folder_summary_encode_token): Use bserch() to tokenise the
-       values, rather than a linear search.
-
-       * camel-mime-utils.c: Defined out some memory profiling stuff I
-       left there by mistake.
-       (header_decode_mailbox): Dont try to append the word part of a
-       local address if we ran out of words.
-
-       * camel-mime-parser.c (folder_scan_content): Apply the fix from
-       the header scanner to here too.
-       (folder_scan_header): Only check for end of header if we have
-       space for it (didn't end the read with a newline)
-       (folder_scan_header): inptr is the only real thing we need
-       registerised for performance.  Try to help the compiler be smart
-       about it ..
-       (folder_scan_header): Simplified the save header case a tad.
-
-       Commented out some memory profiling stuff.
-
-2000-05-05  NotZed  <notzed@helixcode.com>
-
-       * camel-mime-utils.c (header_decode_mailbox): Plug a memory leak.
-       (header_decode_text): Fixed memory leaks with g_string_append().
-       (header_encode_string): And here too, and a few other places.  The
-       glib api is so awful ...
-       (header_content_type_decode): More memory leaks.
-
-2000-05-05  NotZed  <notzed@helixcode.com>
-
-       * camel-mime-parser.c (folder_scan_init_with_fd): Make sure we
-       init the end of buffer sentinal!
-       (folder_scan_init_with_stream): And here too ...
-
-2000-05-04  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-folder.c (summary_get_message_info):
-       Maxcount is minimum of the max and the requested count, not the
-       maximum :)
-
-       * camel-mime-parser.c (folder_scan_content): Properly set midline,
-       so we dont falsely catch offset boundary markers (i.e. From inside
-       content).
-       (folder_read): Set a sentinal on the end of the read data (\n) so
-       we dont have to check the buffer boundary in the inner loop.
-       (mempool_*): New experimental memory management routines, speed
-       up simple structure parsing by about 25% ... not compiled in by
-       default.  Something similar may be needed for camel-mime-utils to
-       address performance issues with g_malloc and friends.
-
-       * camel-mime-utils.c: Added a macro w(x) used to wrap all warnings
-       about mime/rfc violations, so they can be turned off.
-
-       * camel-folder-summary.c (summary_build_content_info): Step after
-       the end of a message ...
-       Turn into a stand-alone program for testing and profiling.
-
-2000-05-04  Dan Winship  <danw@helixcode.com>
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): Don't fall
-       back to plaintext passwords if APOP fails, since it should also
-       fail.
-
-2000-05-04  Dan Winship  <danw@helixcode.com>
-
-       * camel-session.c (camel_session_list_providers): New function to
-       replace camel_provider_scan. Returns a list of either (a) all
-       currently-loaded providers, or (b) all available providers.
-
-       * camel-url.[ch]: Add an "empty" flag to CamelURL (indicating that
-       it contains only a protocol).
-
-       * camel-service.c (camel_service_query_auth_types): Make this take
-       a CamelException (since it may have to try to connect to the
-       server, and it might not able to.)
-
-       * providers/pop3/camel-pop3-store.c: add KPOP (Kerberized POP)
-       support. This is mostly so I have two kinds of authmech to play
-       with instead of just one. (But it does actually work.)
-
-       * providers/smtp/camel-smtp-transport.c (query_auth_types): update
-       for prototype change, but disable the functionality, since it
-       doesn't really support any auth types yet.
-       (camel_smtp_transport_get_type): add an object init function to
-       set the service url_flags.
-
-2000-05-04  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-summary.c: Yes, and anotherone.
-
-       * camel-mime-utils.c: And another one.
-
-       * camel-mime-part.c: And another one.
-
-       * camel-mime-part-utils.c: And another one.
-
-       * camel-folder-search.c: And another one.
-
-       * camel-mime-parser.c: Reverted a change wihtout a ChangeLog entry.
-
-2000-05-04  NotZed  <NotZed@HelixCode.com>
-
-       * camel-folder-summary.[hc]: Yes, CamelFolderSummary is back ...
-       ... re-usable class to summarise and index any stream or message
-       and to manage/load/save the created summaries.
-       
-       * camel-folder.c: Include string.h to kill a warning.
-
-2000-05-03  Jason Leach  <leach@wam.umd.edu>
-
-       * Makefile.am (INCLUDES): add $(UNICODE_CFLAGS) to the INCLUDES,
-       people who installed libunicde in non-standard include paths need
-       this.
-
-2000-05-03  NotZed  <NotZed@HelixCode.com>
-
-       * camel-folder.h: Added pos/bodypos/endpos to the basic message
-       content info object.  Size to be removed?  Moved the
-       messageconentinfo and messageinfo back to camel-folder-summary.h.
-
-       * camel-mime-filter-index.c (camel_mime_filter_index_set_ibex):
-       New function to (re)set the index to use on a filter.
-
-       * camel-mime-parser.c (camel_mime_parser_scan_from): Whole bunch
-       of inline docs.
-       (camel_mime_parser_drop_step): New function to drop a state from
-       the parser.  Needs more testing.
-
-       * camel-mime-utils.c (rfc2047_decode_word): If the iconv handle is
-       -1, then dont try and convert (crashes unicode_iconv?).
-       (rfc2047_decode_word): Use alloca for variables instead of
-       g_malloc - by the rfc they should always be short.
-       (rfc2047_decode_word): If we can't do the charset conversion, undo
-       the quoted-printable/base64 at least?  Should probably convert
-       unknown characters to the utf-8 unknown character.
-
-2000-05-02  Larry Ewing  <lewing@helixcode.com>
-
-       * camel-mime-utils.c (header_decode_date): fix typo when
-       dereferencing saveoffset.
-
-2000-05-02  NotZed  <NotZed@HelixCode.com>
-
-       * camel-folder-search.c: Added some header doco.
-
-       * camel.h: REmove gmime-utils.h from here.
-
-       * providers/mbox/camel-mbox-search.[ch]: Removed.  Functionally
-       redundant.
-
-       * providers/mbox/camel-mbox-folder.c (mbox_search_by_expression):
-       Use the new CamelFolderSearch class to do the actual searching,
-       just setup the search here.
-
-       * camel-folder-search.[ch]: A helper class that providers may
-       subclass to provide their own search functionality, or they can
-       simply use as is, it supports body searches if an ibex is
-       supplied, and header searches if a summary is supplied.
-
-2000-05-02  Matt Loper  <matt@helixcode.com>
-
-       * Makefile.am: set G_LOG_DOMAIN.
-       * providers/MH/Makefile.am: same.
-       * providers/maildir/Makefile.am: same.
-       * providers/mbox/Makefile.am: same.
-       * providers/nntp/Makefile.am: same.
-       * providers/pop3/Makefile.am: same.
-       * providers/sendmail/Makefile.am: same. 
-       * providers/smtp/Makefile.am: same.             
-
-2000-05-02  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-search.c
-       (camel_mbox_folder_search_by_expression): Dont store/remove
-       current search from the search list.
-       
-       * providers/mbox/camel-mbox-folder.h: Removed searches list,
-       searches are all sync now.
-
-       * gmime-utils.[ch]: What the hell, remove it.  This will break the
-       nntp provider.  The mime parser can be used instead though.
-       Removed from all code including it (but none were using it).
-
-       * gmime-utils.c (_store_header_pair_from_string): Removed bizarre
-       string_dichotomy version of this.  This code is somewhat redundant
-       now, and is headed for death anyway.
-
-       * gstring-util.c (g_string_dichotomy): Same with this one.
-       (g_string_clone): Removed a memory leak, g_string_new() allocates
-       its own memory.
-       (g_string_append_g_string): Allow to append an empty gstring onto
-       another gstring, dont abort()!
-
-       * string-utils.c (string_dichotomy): Removed this incredibly weird
-       function.
-
-       * camel-folder.c (_create): Replaced the rather obtuse use of
-       "string_dichotomy" function with a simple strrchr().  Still not
-       sure it'll work.
-
-       * camel-folder-summary.c: cvs removed a long-removed file.
-
-       * camel-mime-parser.c (folder_scan_header): Fix the previous
-       overflow problem properly (can happen in 2 places).
-       (header_append): A new macro to include the code changed above, so
-       it only appears in one place.
-       (folder_scan_step): Change the content type to text/plain if the
-       multipart is broken.  Doesn't actually change the header though.
-       (header_append): Also move the header-start tracking stuff here.
-       Could be a static function to save code.
-
-2000-05-02  NotZed  <notzed@helixcode.com>
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): Dont use autofill on
-       these fucking long function anmes!!!!!!
-
-2000-05-02  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-summary.c
-       (camel_mbox_summary_expunge): Fix the offset for the summary when
-       an item is expunged to take account of the From line.
-
-2000-05-01  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-folder.h (CamelMboxFolder): Removed
-       search_id.
-
-       * providers/mbox/camel-mbox-search.c
-       (camel_mbox_folder_search_cancel): Remove.d
-       (camel_mbox_folder_search_complete): Removed.
-       (camel_mbox_folder_search_by_expression): Changed back to sync
-       api.
-       (struct _searchcontext): Removed cancelled flag.
-       (find_context): Removed.
-       (func_header_contains): Debug out some search stuff.
-
-       * providers/mbox/camel-mbox-search.h
-       (camel_mbox_folder_search_by_expression): Moved back to sync api.
-
-       * providers/mbox/camel-mbox-summary.c
-       (camel_mbox_summary_set_flags_by_uid): New function to update the
-       flags in the summary.
-       (camel_mbox_summary_expunge): Expunge messages from a folder.
-       (offset_content): Re-align offsets of summary when messages
-       added/removed to an existing summary.
-       (camel_mbox_summary_remove_uid): Remove a message summary entry by
-       uid.
-       (index_folder): Restore flags from X-Evolution header, if they are set.
-       (index_folder): Make sure we index using a decimal uid, since
-       thats what everything else indexes off (oops).
-       Upped SUMMARY_VERSION as a result.
-       (camel_mbox_summary_expunge): Oops, my wrong, use the string uid
-       to unindex on.
-
-       * providers/mbox/camel-mbox-folder.c (_get_message_by_uid):
-       Connect to the message_changed signal.
-       (_init): Set permanent flags to something reasonable.  No user
-       flags yet ...
-       (message_changed): If the flags of the message change, update the
-       flags in the summary.
-       (mbox_expunge): Implement the expunge.
-       (camel_mbox_folder_class_init): Renamed all leading _'s to mbox_'s
-       (mbox_expunge): Emit a folder_changed signal on expunge (uh, even
-       if it didn't ...)
-
-       * camel-folder.c (_finalize): Uh, dont free permanent_flags
-       anymore (this wouldn't failed anyway, it was a GList !!!)
-       (camel_folder_search_complete): Removed.
-       (camel_folder_search_cancel): Removed.
-       (camel_folder_expunge): Changed to only allow expunge on an open
-       folder.  It doesn't make sense for mbox, otherwise (?)
-       (camel_folder_class_init): Added a folder_changed signal.
-
-       * camel-folder.h (struct _CamelFolder): Change permanent_flags to
-       a bitfield.
-       (list_permanent_flags): Renamed to get_permanent_flags, and
-       returns a bitfield.
-       (camel_folder_expunge): Changed expunge to a void type.  The
-       messages would no longer be useful after they have been removed
-       ...
-       (CamelFolderClass): New function summary_get_by_uid() to get a single
-       summary.
-       (*search*): Moved back to synchronous search api ... *sigh*
-       
-       * camel-folder.h: Removed CamelSearchFunc.
-
-       * camel-mime-message.c (set_flag): Removed.
-       (camel_mime_message_set_flag): Removed.
-       (get_flag): Removed.
-       (camel_mime_message_get_flag): Removed.
-       (add_flag_to_list): Removed.
-       (get_flag_list): Removed.
-       (camel_mime_message_get_flag_list): Removed.
-       (camel_mime_message_get_flags): New interface to get system flags.
-       (camel_mime_message_set_flags):  " to set ".
-       (camel_mime_message_get_user_flag): To get a user flag.
-       (camel_mime_message_set_user_flag): To set a user flag.
-       (finalize): Hmm, the old one free'd the key and data, not good
-       when the data is a boolean ...
-
-2000-04-30  Dan Winship  <danw@helixcode.com>
-
-       * camel-provider.h: Tweak the definition of CamelProvider. Among
-       other things, a provider may now be both a store and a transport.
-
-       * camel-provider.c: Remove a lot of code we had no intention of
-       using. This now only contains two functions: camel_provider_init
-       to read the installed .urls files, and camel_provider_load to
-       load and register a new provider.
-
-       * camel-session.c: Remove more unused code and simplify some of
-       the remaining code. The list of available provider modules is now
-       stored in the session, and it handles calling camel_provider_load
-       to load them as needed. Provider registration is now done by
-       calling back from the module init routine, which allows a single
-       module to register providers for multiple URL types.
-
-       * providers/*: Update provider structures and init routines for
-       the new stuff. Add a .urls file to each provider specifying what
-       urls it handles, and install that with the library.
-
-       * providers/nntp/camel-nntp-provider.c: Add hints towards
-       supporting both news: and nntp: URLs, and using nntp as both a
-       store and a transport.
-
-2000-04-29  Dan Winship  <danw@helixcode.com>
-
-       * camel-internet-address.c (camel_internet_address_get): const
-       poison
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser):
-       camel_mime_parser_tell() returns an offset from where it started
-       parsing, not necessarily from the start of data. Since we're
-       parsing a bounded seekable_stream, we need to add the stream's
-       starting bound to camel_mime_parser_tell's return value to
-       create the substream in the right place.
-
-       * camel-seekable-substream.c
-       (camel_seekable_substream_new_with_seekable_stream_and_bounds):
-       say CAMEL_STREAM_UNBOUND rather than -1 in doc.
-
-       * camel-seekable-stream.c (camel_seekable_stream_seek): Add more
-       info to docs.
-
-2000-04-28  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-parser.c (folder_scan_header): fix a bug that would
-       cause corruption with very long headers.
-
-2000-04-27  Ettore Perazzoli  <ettore@helixcode.com>
-
-       * providers/pop3/Makefile.am (INCLUDES): Add `-I$(srcdir)/../../..'
-       to pick the Camel includes.
-       * providers/sendmail/Makefile.am (INCLUDES): Likewise.
-
-       * camel.h: Don't #include <camel/data-wrapper-repository.h> anymore.
-
-2000-04-27  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-utils.c (check_header): Dont try and check a NULL
-       header.
-
-       * camel-recipient.[ch]: Dead.  Its not pining.
-
-       * camel-mime-message.h: Dont include recipients.h anymore.
-
-       * camel-mime-message.c (camel_mime_message_add_recipient): Accept
-       name/address separately, and store in an CamelInternetAddress.
-       (add_recipient): Removed.
-       (remove_recipient): Removed.
-       (remove_recipient_address): Renamed from remove_receipient, works
-       via address.
-       (camel_mime_message_remove_recipient_name): New function to remove
-       by name.
-       (get_recipients): Removed.
-       (camel_mime_message_get_recipients): Return a camel-internet-address.
-       (write_to_stream): No longer write receipients directly.
-       (write_recipients_to_stream): Removed.
-       (write_one_recipient_to_stream): Removed.
-       (camel_mime_message_init): Setup recipients hashtable, rather than
-       usign the recipients stuff.
-       (set_recipient_list_from_string): Killed, a violent and lengthy
-       death.
-       (process_header): Simplified recipient handling code a lot.
-       (received_date_str, sent_date_str, reply_to_str, subject_str,
-       from_str): Removed some oddly-defined global statics.
-       (camel_mime_message_class_init): Dont initialise above variables
-       anymore.
-       (init_header_name_table): Removed, use a table to init this, and
-       do it in class init (2 lines of code ...).
-
-       * camel-news-address.c: Class to represent news addresses -
-       currently empty, and not built.
-
-       * camel-internet-address.h: Class to represent internet (email)
-       addresses.
-
-       * camel-address.h: Abstract class to represent (lists of)
-       addresses.
-
-2000-04-27  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-part.c (write_to_stream): Revert previous change. I
-       was confused.
-
-       * camel-url.[ch] (camel_url_encode, camel_url_decode): expose
-       these routines.
-
-2000-04-26  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-part.c (write_to_stream): Only write a newline
-       between the headers and the content object if the content object
-       is not a CamelMedium. (If the content is a medium, it may have its
-       own headers, which then need to go before the blank line.)
-
-       * camel-mime-body-part.[ch]: Remove. We weren't using the fields
-       that made this different from camel-mime-part, so it basically
-       just forced us to do lots of gratuitous typecasting.
-
-       * camel-multipart.[ch]: Use CamelMimePart. Remove the multipart
-       parent stuff, since we weren't using that either.
-
-       * etc: update for CamelMimeBodyPart -> CamelMimePart
-
-2000-04-26  Dan Winship  <danw@helixcode.com>
-
-       * camel-medium.c (set_content_object): sink the content object
-       after referencing it.
-
-       * camel-mime-part.c: fix various little things in the handling
-       of CamelMedium methods. Change camel_mime_part_set_text to the
-       more generic camel_mime_part_set_content.
-
-       * camel.h: sync to current reality
-
-       * camel-folder-utils.[ch]: removed
-
-       * camel-mime-utils.c (header_format_date): fix format specifier
-       for time zone. Fix typo in month names array.
-
-2000-04-26  NotZed  <NotZed@HelixCode.com>
-
-       * camel-seekable-substream.c (stream_seek): Changed to have
-       absolute seek semantics, not relative to the bounds.
-
-       * camel-seekable-stream.c (reset): When we reset, seek to the
-       start of the bound, if there is one.
-       (stream_tell): Make tell virtual.
-
-       * camel-stream-filter.c (do_available): Removed.
-
-       * camel-stream-buffer.c: Remove leading _'s from static functions.
-       (stream_read): Renamed from read().  Fancy that conflicting!  (my
-       boo!)  Others too.
-
-       * providers/pop3/camel-pop3-folder.c (get_message_by_number):
-       Changed to stream_mem interface.
-
-       * providers/mbox/camel-mbox-folder.c (_get_message_by_uid): Fixed
-       for streamfs interface changes, and implement a failure case.
-       (_append_message): Changed for fs stream interface change.
-
-       * camel-multipart.c (print_part): Iterate rahter than callback.  I
-       hate glists's interface (hence, move this to write_to_stream).
-       (write_to_stream): Return an error (yuck, this is a royal PITA to
-       do with the stream write interface).
-
-       * camel-mime-message.c: Removed leading _ from static names.
-
-       * camel-mime-part.h: construct_from_parser() now returns an error
-       code.
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): Changed to use a
-       camel-data-wrapper instead of a camel-simple-data-wrapper (no
-       change needed elsewhere?).
-       (simple_data_wrapper_construct_from_parser): Fixes for stream-mem
-       interface changes.
-
-       * camel-simple-data-wrapper.[ch],
-       camel-simple-data-wrapper-stream.[ch],
-       camel-stream-data-wrapper.[ch], removed.  Fixed including of these
-       files.
-       
-       * camel-mime-part.c (camel_mime_part_set_text): Remove the use of
-       the camel-simple-data-wrapper-stream, just use a mem stream.
-       (write_to_stream): Renamed from my_*
-       (construct_from_stream): Return an error on error.
-
-       * camel-stream-mem.c (camel_stream_mem_new*): Remove mode
-       parameter.
-
-       * camel-stream-mem.h (enum CamelStreamMemMode): Removed.  It
-       wasn't used at all.
-
-       * camel-data-wrapper.h: Add camel_data_wrapper_new() to create
-       these.
-       (write_to_stream, construct_from_stream): Return an error
-       indicator for success.  Fixed all methods to match (ICK).
-
-       * Makefile.am (libcamel_la_SOURCES): Remove
-       camel-simple-data-wrapper.c, camel-simple-data-wrapper-stream.c,
-       camel-stream-data-wrapper.c.  Obsoleted by code re-use!
-
-       * camel-data-wrapper.c (construct_from_stream): Change the default
-       implementation to just set the output stream == construction
-       stream.  Well, this lets me get rid of both simple-data-wrapper
-       and stream-data-wrapper (unused anyway), and
-       simple-data-wrapper-stream in one hit.  CamelDataWrapper is now
-       also a concrete class.
-       (write_to_stream): Use camel_stream_write_to_stream() to
-       calculate/return values (and save code).
-       Include <errno.h> for obvious reasons.
-
-       * camel-stream.c (eos): Provide a default implementation of .eos().
-       (camel_stream_write_to_stream): Make it return an error code on
-       error.
-       (camel_stream_printf): Changed to return the number of bytes
-       written/error.
-       (camel_stream_available): Removed.
-
-       * camel-stream-fs.h (enum CamelStreamFsMode): Removed.  Changed to
-       use unix modes and so forth (wasn't used for anything but new file
-       creation and didn't work well either).
-
-       * camel-stream-fs.c: Removed leading _'s for names.  And removed
-       some virtual method 'documentation'.
-       (destroy): Dont try and close a closed/error fd.  Only report
-       error if close returns -1.  Moved all the code to finalise(), and
-       killed this function.
-       (init_with_fd): Properly setup the seek offset, if it is a
-       valid and seekable file descriptor.
-       (init_with_fd_and_bounds): Use off_t for bounds, set bounds on the
-       seekable stream.
-       (init_with_name): Return error codes.
-       (init_with_name_and_bounds): Ditto.
-       (camel_stream_fs_new_with_name): REturn NULL object if it failed.
-       (camel_stream_fs_new_with_name_and_bounds): Return NULL object on
-       failure.  Changed with_name* api's to take unix open style args
-       and flags.
-       (read): The bounded stream bounds checking seemed off, simplified
-       code a bit.
-       (write): Implement bounds checking for writing, the comment was
-       wrong, it could make sense to bound writing.  Cleaned up a little.
-       (available): Gone.
-       (eos): Removed.  Use CamelStream's implementation now.
-       (close): Reset the fd to -1, provide a warning for bad usage.
-       (seek): Cleaned up.  Changed the behaviour a little, the returned
-       offset is the absolute position in the file, even in bounded
-       streams.        
-       (seek): Seek from end mirrors lseek() behaviour (reverse seeking).
-
-2000-04-25  NotZed  <NotZed@HelixCode.com>
-
-       * camel-stream-fs.h (struct _CamelStreamFs): Moved bounds and eof
-       indicator to other parent classes.
-
-       * camel-stream.c (camel_stream_printf): New utility
-       function.  Obvious use.
-
-       * camel-stream-mem.c: Removed leading _'s from static func's.
-       (camel_stream_mem_new_with_byte_array): Fixed for api changes, set
-       the owner for the byte array to us.
-       : Removed A bunch of gtk doc stuff for static (implementation) functions.
-       (available): Removed.
-       (write): Fixed the write implementation so that seek() works on a
-       seekable memory stream, as expected.  Seeking past the end of the
-       buffer has unix semantics (filling with 0).
-       (available): Removed.
-       (write): Implement seekable stream bounded stream.
-       (read): Implement seekable stream bounded stream.
-       (close): Dont free the stream_mem if we're not the owner.
-       (seek): Allow to seek beyond the end of memory area,
-       implement bounds checking.
-       (seek): Set errno on bad policy.
-
-       * camel-stream-mem.h (struct _CamelStreamMem): Changed position to off_t.
-       (new_with_buffer): Changed len to be a size_t.
-       (set_buffer, set_byte_array): New interface functions.
-       (struct _CamelStreamMem): Removed position, it is stored in the
-       superclass.
-
-       * camel-stream.h: Removed some of the seemingly random
-       whitespace.  Removed the available method (its not
-       impelemented/useful enough).
-
-       * camel-seekable-substream.c
-       (init_with_seekable_stream_and_bounds): Remove the data_available
-       stuff, it hasn't been properly implemented/finished, and may never
-       work (unfortunately *sigh).
-       (reemit_parent_signal): Removed part of the above change.
-       (set_bounds): Removed (moved to seekable-stream).
-       : Fixed up some of the generally unreadable indenting (sorry,
-       wrapping at 80 characters with
-       camels_really_long_function_names()
-       just_doesnt_work_very_well_does_it().
-       (available): Removed.
-       (stream_seek): Fixup for object changes.  Make sure we return -1
-       if the parent stream can't seek.
-
-       * camel-seekable-stream.c (ccamel_seekable_stream_set_bounds): New
-       function to bound any seekable stream.
-       : Removed _'s.
-       (camel_seekable_stream_class_init): Implement an init function, to
-       setup the stream bounds to unbound.
-
-       * camel-seekable-stream.h (CamelSeekableStreamClass): New virtual
-       method set_bounds for seekable streams.
-       (CAMEL_STREAM_UNBOUND): New define for no bound.
-
-       * camel-seekable-substream.h (struct _CamelSeekableSubstream):
-       Removed sup_bound and inf_bound, moved to CamelSeekableStream (and
-       renamed, and changed to off_t's).
-       (new_with_seekable_stream_and_bounds): Use off_t as the bounds.
-       (CamelSeekableSubstreamClass): Uh, why was the intialiser virtual?
-       Removed.
-
-       * camel-seekable-stream.[ch] (CamelSeekableStreamClass): Changed seek
-       to accept an off_t as the offset.
-       (struct _CamelSeekableStream): Renamed cur_pos to position and
-       changed it to an off_t type.
-       (enum CamelStreamSeekPolicy): Set to match the SEEK_* constants
-       from lseek().
-       (get_current_position): Renamed to tell().
-
-       * camel-stream-buffer.h: Commented out set_vbuf - never implemented.
-
-2000-04-25  Dan Winship  <danw@helixcode.com>
-
-       * camel-stream-buffer.c (_eos): only return TRUE if the parent is
-       at eos AND the buffer has been exhausted
-
-       * camel-mime-message.c: fix some incorrect macro usage that
-       resulted in bogus casts
-
-2000-04-24  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-part-utils.c
-       (simple_data_wrapper_construct_from_parser): fix a cut-and-pasto.
-
-       * providers/mbox/camel-mbox-folder.c (_get_message_by_uid): ref
-       (and sink) the message stream if we're going to unref it later.
-       Otherwise it could get destroyed while there are still substreams
-       attached to it. This needs a cleaner solution.
-
-       * camel.h: remove data-wrapper-repository.h include(s)
-
-2000-04-24  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-message.c (construct_from_parser): Allow MESSAGE_END
-       _or_ EOF as valid termination conditions.
-
-       * providers/mbox/camel-mbox-summary.c (message_struct_new): Decode
-       and then re-encode the addresses, so they are consistently
-       formatted.
-
-       * camel-mime-utils.c (header_decode_mailbox): Store the address in
-       a _header_address.  And try to get a comment-stored name if there
-       is one.
-       (header_decode_address): Actually return an address.
-       (header_to_decode): Renamed to header_address_decode()
-       (header_mailbox_decode): New function to get a single mailbox.
-       (header_mime_decode): Return the major/minor value, as
-       appropriate.
-       (header_address_new, and friends): Whole bunch of utility
-       functions for working with the address thingies.
-       (header_decode_domain): Free the string header, and dont expand
-       '.' into ' . '.
-
-       * camel.c (camel_init): No longer call
-       data_wrapper_repository_init.
-
-       * camel-medium.c (write_to_stream): Moved (back) to
-       camel-mime-part.
-       (add_header):
-       (set_header):
-       (remove_header): 
-       (get_header): Make all these abstract, and spit warnings if
-       called.  I guess it could manage the list, but well, it doesn't.
-
-       * camel-medium.h (struct _CamelMedium): Dont store headers here,
-       the implementor is the only one who knows their format.
-       (CamelMediumClass): Changed header values to be void *'s.  They
-       need not be strings?
-
-       * camel-simple-data-wrapper.c (construct_from_stream): And we're
-       back.  Set the output stream.
-       (construct_from_parser): Moved to camel-mime-part-utils.
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_parser): Create the
-       contents of multipart and simple messages.
-       (camel_mime_part_construct_content_from_parser): Oops, this was
-       totally screwed up, try creating the right cotnent on the right
-       object.
-
-       * camel-multipart.c (construct_from_parser): Moved to
-       camel-mime-part-utils.
-       (separate_part): Removed.
-
-       * camel-mime-part.c (construct_from_stream): Back again!  This now
-       switches over to using a mime parser for any mime parts, only.
-       (my_write_to_stream): Write our headers and so forth here.
-       (add_header): Add header directly, parent class is abstract.
-       (remove_header): Ditto.
-       (set_header): Ditto.
-
-       * camel-data-wrapper.c (camel_data_wrapper_construct_from_stream):
-       Remade abstract.
-       (camel_data_wrapper_construct_from_parser): Moved to
-       camel_mime_part.
-
-       * camel-data-wrapper.h: Put back construct_from_stream.
-
-       * camel-mime-part.h: Put construct_from_parser in here, the
-       data-wrapper shouldn't know about mime.  Ok, so now to undo half
-       of the last hours changes ... duh.
-       
-2000-04-23  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-utils.c (header_to_decode, header_mime_decode): fix
-       some obvious minor bugs noted by -Wall.
-
-2000-04-23  NotZed  <NotZed@HelixCode.com>
-
-       * providers/pop3/camel-pop3-folder.c (get_message_by_number): Use
-       construct_from_stream instead of set_input_stream().
-
-       * camel-simple-data-wrapper-stream.c
-       (camel_simple_data_wrapper_stream_construct): REmoved the destroy
-       callback code.
-       (wrapper_destroy_cb): Removed.
-
-       * camel-simple-data-wrapper.h: Add prototype for _construct()
-       method.
-
-       * camel.c: Include unicode.h to kill a warning.
-
-       * camel-data-wrapper.h (CameldataWrapperClass): Removed
-       construct_from_stream virtual method.
-       Removed get/set input stream.
-
-       * data-wrapper-repository.[ch]: Removed&from build.  Obsoleted?
-       The justification as is follows: It is mixing storage
-       protocol/format with message architecture.  It really just doesn't
-       serve any purpose, as each medium implementor will have to have its
-       own type->handler mapping, and the only current implementor,
-       mimepart has a very simple structure and no need for this.
-
-       * camel-medium.c (write_to_stream): Moved here from most of the
-       stuff in camel-mime-part.  Well, the MEDIUM is the one that knows
-       what the headers are, and the content is, let it write it out.
-
-       * camel-mime-part-utils.c (camel_mime_part_construct_content):
-       Copied from camel-mime-part.c, removed handling of message
-       followon state (moved to camel-mime-message).
-       (camel_mime_part_construct_content_from_parser): Renamed from
-       construct_content.
-       (camel_mime_part_construct_headers_from_stream):
-       (camel_mime_part_construct_content_from_stream):
-       (camel_mime_part_store_stream_in_buffer): Removed.  Replaced by
-       the new construct from parser stuff.
-
-       * camel-mime-message.c (construct_from_parser): Do
-       construct_from_parser for mime-message.
-       (_write_to_stream): Set the mime-version header for medium to
-       write out, rather than writing it out ourselves.
-
-       * camel-data-wrapper.c (set_mime_type_field): Ref the
-       content_field when we get it?
-       (construct_from_stream): Removed.
-       (camel_data_wrapper_construct_from_stream): Changed to a helper
-       function, creates a mime_parser, and constructs from that.
-       (set_input_stream): Removed.
-       (camel_data_wrapper_set_input_stream): Removed.
-       (get_input_stream): Removed.
-       (camel_data_wrapper_get_input_stream): Removed.
-
-       * camel-mime-parser.c (camel_mime_parser_unstep): New function.
-       Cause a subsequent call to mime_parser_step() to return the same
-       state over again.
-
-       * providers/mbox/camel-mbox-folder.c (_get_message_by_uid):
-       Initial test code using the mime parser to construct the message.
-       (_get_message_by_uid): Use construct_from_stream() instead of
-       creating our own parser.
-
-       * camel-mime-part.c (construct_from_parser): part constructor.
-       (camel_mime_part_construct_content): Basically a simpler
-       replacement for the datawrapper repository.
-       (camel_mime_part_init): Set the default type to text/plain.
-       (camel_mime_part_construct_content): Removed to
-       camel-mime-part-utils.c
-       (my_get_output_stream): Removed.  The streeam is in the
-       data-wrapper.
-       (my_get_content_object): Removed.  The content object is stored in
-       the medium.  If none is there, the object wasn't created properly.
-       (my_write_content_to_stream): Removed.  The content object is the
-       one that knows how to write itself out!!!!!!!!
-       (my_write_to_stream): Remove the base header writing stuff - has
-       been moved to camel-medium, where it belongs.  This can just be
-       used to check for mandatory headers.
-       (my_construct_from_stream): Removed.
-       (my_set_input_stream): What the hell, i'll remove this too.
-       Nobody seems to understand how it differs from create from stream,
-       and they both seem to serve the same purpose ...
-
-       * camel-simple-data-wrapper.c (construct_from_parser): Initial
-       implementation of a content constructor.
-       (construct_from_stream): Removed!  Job taken over by
-       construct_from_parser.
-
-       * camel-multipart.c (construct_from_parser): Multipart
-       construction routine.
-       (camel_multipart_init): Set the default multipart type to
-       multipart/mixed.  Duh, no subtype is not allowed anyway.
-       (set_input_stream): REmoved.  Replaced by construct_from_parser.
-
-2000-04-22  Dan Winship  <danw@helixcode.com>
-
-       * camel-multipart.[ch]: clean, document, etc.
-       (camel_multipart_init): pick a prettier default boundary. Still
-       need to deal with the larger problem
-
-2000-04-22  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-message.h (struct _CamelMimeMessage): Removed
-       send_date, and received_date, and replaced it with a time_t
-       'date' (this is what the header is called), and date_offset to
-       store the GMT offset of the date.
-
-       * camel-mime-message.c (camel_mime_message_set_from): Update raw
-       header as we go.
-       (_set_from): Removed.
-       (_get_from): Removed.
-       (camel_mime_message_get_from): Moved implementation here.
-       (camel_mime_message_get_subject): Move implementation here.
-       (_get_subject): Nuked.
-       (camel_mime_message_set_subject): Handle utf-8 input, and also
-       update raw header when changed.
-       (_set_subject): Removed.
-       (_set_received_date): Removed.
-       (camel_mime_message_set_received_date): Removed.
-       (_get_received_date): Removed.
-       (camel_mime_message_get_received_date): Removed.
-       (_get_sent_date): Removed.
-       (camel_mime_message_get_sent_date): Removed.
-       (camel_mime_message_get_date): New function to get the date as a
-       time_t/offset.
-       (camel_mime_message_set_date): Set the date as a time_t/offset.
-       (camel_mime_message_get_date_string): Get the date as a string.
-       (camel_mime_message_init): Initialise the current date as
-       'CMAEL_MESSAGE_DATE_CURRENT'.
-       (_set_reply_to): Removed.
-       (camel_mime_message_set_reply_to): Moved implementation here.
-       This is still broken, reply-to can have multiple addresses.
-       (_get_reply_to): Removed.
-       (_set_field): Removed, no longer used anywhere.
-       (_get_field): Also removed.
-       (_init_header_name_table): Add the Date header.
-       (process_header): Also handle snooping of Date header here.
-
-       * camel-stream-filter.c (finalise): Unref the source stream on
-       finalise, and also call the parent class (oops).
-
-       * camel-mime-parser.c (camel_mime_parser_state): New function to
-       get the current parser state.
-       (camel_mime_parser_stream): Allow you to get the stream back from
-       the mime_parser.
-       (camel_mime_parser_fd): Alternative to allow you to get the fd
-       back from the mime_parser.
-       (folder_scan_init_with_stream): Properly ref/unref the stream.
-       (folder_scan_close): Properly unref the stream/close the fd on
-       exit.
-       (folder_scan_init_with_fd): Close the old fd if there is one.
-
-       * camel-data-wrapper.c (camel_data_wrapper_construct_from_parser):
-       New method, construct a data wrapper from an initialised parser.
-       (construct_from_parser): Empty implementation.
-       
-       * providers/mbox/camel-mbox-summary.c (message_struct_new):
-       Convert subject line to unicode, before storing in the summary.
-       (strdup_trim): Removed, no longer needed.
-
-       * providers/mbox/camel-mbox-folder.c (_get_message_by_uid): Ref
-       the folder after setting it in the new message.
-
-       * camel-mime-part.c (my_set_content_object): Have the headers
-       follow the content-type change here too.
-       (my_write_to_stream): Dont write content-type here, automatically
-       stored in the headers ...
-       (my_write_to_stream): Use header_disposition_format() to format
-       the content-disposition header.
-       (my_write_to_stream): Removed old code, all headers are now stored
-       in the camel-medium level, always.  Need to do the same with
-       camel-mime-message i suppose ...
-       (my_write_to_stream): Write the content using the parent class,
-       not some weird function.
-       (camel_mime_part_class_init): Dont override get_output_stream.
-       (camel_mime_part_encoding_from_string): Bleh, make it
-       case-insensitive.
-
-       * camel-mime-utils.c (header_content_type_is): Handle empty types.
-       (header_encode_string): Start of an implementation of the rfc2047
-       encoder.  It does iso-8859-1, and us-ascii, and utf-8 (others get
-       tricky *sigh*)
-       (rfc2047_encode_word): Convert a single word/string into rfc2047
-       encoding.
-       (quoted_encode): Different quoted-printable encoding for rfc2047
-       encoding of headers.
-
-       * gmime-content-field.c (gmime_content_field_write_to_stream): Use
-       header_content_type_format() to format it.
-
-2000-04-21  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-utils.h: Add prototype for header_param_list_free.
-
-       * camel-recipient.c: New function to remove all the types of a
-       recipient list.  I think this whole object needs a major review.
-
-       * camel-mime-message.c (camel_mime_message_class_init): Removed
-       parse_header_pair override, override add_header instead.
-       (_parse_header_pair): Renamed to add_header.
-       (remove_header): Add this method, to make sure we keep upto date
-       with removed headers too.
-       (_set_field): If given a NULL value, clear it out.
-       (_set_recipient_list_from_string): Constify.
-       (set_header): Override set_header from camel_medium.
-       (process_header): Local function to handle set/add/remove of each
-       header we know about.
-
-       * camel-mime-part.c (camel_mime_part_class_init): Removed
-       parse_header_pair setup.
-       (my_parse_header_pair): Moved into add_header(), removed.
-       (my_set_disposition): Allow a NULL disposition to clear it.
-       (my_set_content_id): Allow NULL content id to clear it.
-       (remove_header): Track removed headers.
-       (my_set_description): Allow NULL description to clear it.
-       (my_set_content_MD5): Make sure we copy the md5 value, and allow a
-       NULL value to reset it.
-       (my_set_filename): Copy the filename.
-       (my_set_header_lines): Removed.  Nothing uses it, it doesn't
-       actually serve any purpose.
-       (camel_mime_part_set_header_lines): Ditto.
-       (my_get_header_lines): Ditto.
-       (camel_mime_part_get_header_lines): Ditto.
-       (camel_mime_part_class_init): Remove *_header_lines setup.
-       (camel_mime_part_init): Remove header_lines init.
-       (my_finalize): Remove header_lines finalise.
-       (my_write_to_stream): Write the headers here.  This is just WRONG,
-       camel_medium should be doing this.
-       (my_get_output_stream): Kill a warning.
-       (camel_mime_part_encoding_to_string): Ditto.
-       (camel_mime_part_set_description): Unvirtualiase, use add_header()
-       to do the processing.
-       (my_set_description): Removed.
-       (set_disposition): Renamed from my_set_disposition.
-       (camel_mime_part_get_description): Get the descriptionf rom the
-       get_header method.
-       (my_get_description): Removed.
-       (my_set_filename): Removed.
-       (camel_mime_part_get_filename): Get the parameter from the
-       disposition.
-       (camel_mime_part_encoding_from_string): Handle NULL string.
-       (camel_mime_part_init): Remove reference to filename.
-       (my_finalize): Dont free filename.
-
-       * camel-mime-part.h (CamelMimePartClass): Removed
-       parse_header_pair() method, it doesn't add anything that
-       add_header() can't be used for.
-       (CamelMimePartClass): Remove *_header_lines methods.
-       (struct _CamelMimePart): Remove header_lines list.
-       (struct _CamelMimePart): Removed filename attribute.
-
-       * camel-medium.c (camel_medium_init): Init headers to null, not a
-       hashtable.
-       (add_header): Append the headers as a list.
-       (remove_header): Remove headers as a list.
-       (get_header): Likewise for lookup.
-       (free_header): Removed, no longer needed.
-       (finalize): Free headers using header_raw_clear().
-       (camel_medium_set_header): New function, to reset and override all
-       values of a header with a new value.
-
-       * camel-medium.h (struct _CamelMedium): Changed to use a
-       header_raw struct rather than a hash table, to store headers
-       (many headers can occur multiple times).
-
-       * camel-mime-utils.c (header_raw_find_next): New function, allows
-       you to find multi-valued header fields.
-       (header_disposition_format): New function to format/create
-       content-disposition header string.
-       (header_param_list_format_append): Function to format parameter
-       lists into a GString.
-       (header_content_type_format): Function to format content-type into
-       a usable format.
-       (header_set_param): allow NULL value to remove the parameter.
-       (decode_token): Renamed from header_decode_token.
-       (header_decode_token): New interface for external use.
-       (quoted_decode): Made static to kill annoying warnings.
-       (g_strdup_len): Killed, replaced with calls to g_strndup().
-       (rfc2047_decode_word): Made static to kill warnings.
-       (decode_coded_string): Terminated.
-       (g_string_append_len): Made static to kill warnings.
-       (header_decode_text): Made static to kill warnings.
-       (header_decode_text): Constify.
-       (rfc2047_decode_word): Constify.
-       (header_param): Constify.
-       (header_content_type_new): Copy the type/subtype strings.
-       (header_param_list_decode): Made static.
-       (header_param_list_format_append): Made static.
-       (quoted_decode): Constify.
-       (g_string_append_len): Constify.
-       (header_token_decode): New function to decode a single token.
-
-       * providers/mbox/camel-mbox-summary.c (header_write): Append a
-       trailing \n when writing headers.
-       (strdup_trim): Killed a warning.
-       (camel_mbox_summary_set_uid): Make sure the next uid is at least 1
-       higher than any existing one.
-       (header_evolution_decode): Use header_token_decode to get the
-       token.
-
-       * camel-mime-parser.c (folder_scan_header): Strip the trailing \n
-       of the end of all header lines.
-
-2000-04-20  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-utils.[ch]: Removed.
-
-       * providers/mbox/camel-mbox-parser.[ch]: Removed.  Removed
-       references to it.
-
-2000-04-20  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-utils.c (rfc2047_decode_word): use libunicode iconv
-       functions rather than libc ones (since libc might not have them).
-       (header_decode_date): add autoconfiscation on timezone code
-
-       * camel.c (camel_init): call unicode_init ()
-
-2000-04-20  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-summary.c (message_struct_new): Trim
-       leading/trailing spaces off the raw headers.
-
-       * MERGE NEW_PARSER branch into HEAD, fixed conflicts.
-       
-       * gmime-content-field.c (_print_parameter): Duh, removed again
-       (@@#$@ cvs merge).
-
-       * camel-mime-utils.c (header_content_type_is): Constify.
-       (header_content_type_unref): Killed a couple warnings.
-
-       * camel-folder.c (_init): Removed more log crap.
-
-       * providers/Makefile.am (SUBDIRS): Removed nntp, pending fixes for
-       summary changes.
-
-       * providers/mbox/camel-mbox-folder.c (_get_message_by_number):
-       Fixed for new summary interface.  Added a warning for using this
-       broken api.
-       (_get_message_by_uid): Fixed for message new with session
-       vanishing.
-
-2000-04-19  Dan Winship  <danw@helixcode.com>
-
-       * camel-simple-data-wrapper-stream.c
-       (camel_simple_data_wrapper_stream_get_type): This is a subtype of
-       CamelSeekableStream, not CamelStream.
-
-       * camel-seekable-substream.c: clean up a lot.
-       (eos): When testing for end-of-stream, reset the parent position
-       before testing if it is at end-of-stream, since either (a) it may
-       have been seek'ed to eos by someone else, or (b) we may have been
-       seek'ed away from eos and it hasn't been synced yet.
-
-       * camel-medium.[ch] (camel_medium_add_header): const poison.
-       (Belatedly goes with my change of 2000-02-23.)
-       (camel_medium_init): Use g_strcase_{hash,equal} on the header
-       array.
-       
-2000-04-18  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-part.c (my_set_input_stream): 
-       * camel-data-wrapper.c (set_input_stream, set_output_stream): do
-       better reference counting of streams so they actually go away
-       when they should.
-
-       * camel-log.[ch], *: Nuke camel log stuff. Replace calls to
-       CAMEL_LOG_WARNING with calls to g_warning.
-
-       * camel-data-wrapper.[ch]:
-       * camel-simple-data-wrapper.[ch]:
-       * camel-medium.[ch]: Clean, polish, document. Most of the gtk-doc
-       comments added to camel-data-wrapper.c note serious problems that
-       need to be fixed.
-
-2000-04-17  Dan Winship  <danw@helixcode.com>
-
-       * camel-mime-message.[ch]: Remove the "session" field from
-       CamelMimeMessage. Nothing uses it, about half of the existing
-       calls to camel_mime_message_new_with_session pass NULL, and
-       there's no obvious reason for it to be there.
-
-       * providers/MH/camel-mh-folder.c:
-       * providers/maildir/camel-maildir-folder.c:
-       * providers/mbox/camel-mbox-folder.c:
-       * providers/mbox/camel-mbox-utils.c:
-       * providers/nntp/camel-nntp-folder.c:
-       * providers/pop3/camel-pop3-folder.c: Use camel_mime_message_new
-       instead of camel_mime_message_new_with_session.
-
-       * camel-session.c (get_store_for_protocol_with_url): Set the
-       exception if no provider is found.
-
-       * camel-url.c: Add code to encode and decode %-escapes in URLs,
-       and do some additional correctness-checking on URL syntax. From
-       Tiago Antào with modifications by me.
-
-2000-04-14  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/Makefile.am (SUBDIRS): add nntp
-
-2000-04-14  Christopher James Lahey  <clahey@helixcode.com>
-
-       * providers/mbox/camel-mbox-folder.c: Fix switch statement.
-
-2000-04-14  Chris Toshok  <toshok@helixcode.com>
-
-       * providers/nntp/camel-nntp-folder.c (_exists): always return TRUE
-       for now.  we need to check the server response to make sure the
-       group exists.
-       (_get_message_by_uid): make sure to account for the \n we add to
-       the string after every line.
-
-       * providers/nntp/camel-nntp-utils.c (get_XOVER_headers): function
-       to get the headers using the XOVER command.
-       (get_HEAD_headers): function to get the headers using the HEAD
-       command on each message. slooooooow.
-       (camel_nntp_get_headers): make this function use either XOVER or HEAD
-       versions depending on whether or not the server extension is present.
-
-2000-04-14  Dan Winship  <danw@helixcode.com>
-
-       * camel-formatter.[ch]: This didn't belong in Camel. Move to mail/
-
-       * Makefile.am, camel-types.h: remove references to
-       camel-formatter.
-
-2000-04-12  Matt Loper  <matt@helixcode.com>
-
-       * camel-folder-pt-proxy.c (_folder_open_cb): Print warning message
-       for broken function.
-       (_folder_close_cb): Same.
-
-2000-04-12  Miguel de Icaza  <miguel@gnu.org>
-
-       * Makefile.am (pthread_SRC): Use correct names for the pthread
-       source variables.
-
-2000-04-10  Dan Winship  <danw@helixcode.com>
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): fix various
-       bugs in APOP code (still untested) and some of the error cases.
-
-       * camel-provider.h: Clarify what provider.protocol, provider.name,
-       and provider.description should be.
-
-       * providers/mbox/camel-mbox-provider.c: 
-       * providers/pop3/camel-pop3-provider.c: 
-       * providers/sendmail/camel-sendmail-provider.c: 
-       * providers/smtp/camel-smtp-provider.c: update protocols, names,
-       and descriptions
-
-       * providers/mbox/camel-mbox-folder.c (_get_message_by_number):
-       implement get_message_by_number for the mail fetch code.
-
-2000-04-09  Jeffrey Stedfast  <fejj@stampede.org>
-
-       * providers/smtp/camel-smtp-transport.c: reformatted to fit
-       the standard indent format used by helix code
-
-2000-04-09  Dan Winship  <danw@helixcode.com>
-
-       * camel-movemail.c: New file with new function to dot-lock an mbox
-       file and copy it to a safe private directory.
-
-2000-04-08  Christopher James Lahey  <clahey@helixcode.com>
-
-       * providers/smtp/.cvsignore: Added a .cvsignore file.
-
-2000-04-08  Dan Winship  <danw@helixcode.com>
-
-       * providers/sendmail/camel-sendmail-transport.c (_send_internal):
-       actually record the pid returned by fork(). Noticed by clahey.
-
-       * providers/smtp/camel-smtp-transport.c: #include <sys/param.h>
-       for MAXHOSTNAMELEN. (This is a stopgap: some of the uses of
-       MAXHOSTNAMELEN are wrong anyway...)
-
-2000-04-07  Jeffrey Stedfast  <fejj@stampede.org>
-
-       * providers/smtp/camel-smtp-transport.c: fixes to numerous bugs;
-       should now build fine.
-       * providers/Makefile.am: Readded smtp now that smtp builds without
-       error.
-
-2000-04-20  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-summary.c
-       (camel_mbox_summary_next_uid): Public function to get the next
-       uid, makes sure its saved to disk too.
-
-       * camel-mime-part.c (my_finalize): Fix disposition crap with a
-       real disposition.
-       (my_set_disposition): Likewise.
-       (my_get_disposition): And here.
-       (my_write_to_stream): And here, needs more cleanup.
-
-       * providers/mbox/camel-mbox-folder.c (_append_message): Assign a
-       new uid at this point.
-
-       * gmime-content-field.c (gmime_content_field_write_to_stream):
-       Make something up if we have an invalid/missing content type
-       (i.e. text/plain).
-
-2000-04-19  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-folder.c (_delete): Fixed completely
-       broken switch() syntax, only compiled because errno is a macro on
-       some systems.
-       (_list_subfolders): Likewise.
-
-2000-04-18  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-parser.c (folder_scan_init): init stream to null.
-
-       * providers/mbox/camel-mbox-summary.c
-       (CAMEL_MBOX_SUMMARY_VERSION): Moved to .c file, incremented.
-       (index_folder): Changed to have index passed via the summary.
-       (decode_string): Do a sanity check on the string size, so we dont
-       visit g_malloc()'s friendly abort().
-
-       * camel-folder-pt-proxy.c (camel_folder_pt_proxy_class_init):
-       Removed reference to set_name.
-       (_set_name): Removed.
-
-       * providers/mbox/camel-mbox-utils.c
-       (parsed_information_to_mbox_summary): Removed.  Most of this file
-       is about to be binned.
-
-       * providers/mbox/camel-mbox-search.c (func_header_contains): Fixes
-       for changes to summary interface.
-       (struct _searchcontext): Remove pointer to message info, get it
-       straight from the mboxsummary.
-       (camel_mbox_folder_search_by_expression): New summary interface.
-       (camel_mbox_folder_search_by_expression): Uh, the summary is not
-       an object anymore (well not yet).
-
-       * providers/mbox/camel-mbox-folder.c
-       (camel_mbox_folder_class_init): Removed set_name init.
-       (_set_name): Removed.
-       (_open): Call new summary interface.
-       (_close): Use new summary interface.
-       (_create): Removed a summary object leak.
-       (_get_message_count): New summary interface.
-       (_get_uid_list): Use new summary interface. FIXME: this is leaky.
-       (_get_message_by_uid): Use the new summary interface, some
-       cleanup.
-       (_append_message): Totally changed, basically just appends the
-       message directly, ignores the summary (for now), the summary will
-       fix itself up if it needs to.
-       (_check_get_or_maybe_generate_summary_file): Bye bye old code.
-       (summary_get_message_info): Implement get_message_info again, for
-       folder.
-
-       * camel-folder.c (camel_folder_class_init): Removed set_name
-       setup.
-       (_set_name): Moved contents into _init.
-       (_init): Perform the old functions of set_name here.
-
-       * camel-folder.h: Removed the set_name internal interface.
-
-2000-04-14  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-summary.[ch]: Completely replaced with
-       new code.
-
-       * Makefile.am (libcamel_la_SOURCES): Removed
-       camel-folder-summary.[ch].
-
-       * camel-folder.h (struct _CamelFolder): Removed summary.
-       (struct _CamelFolder): Changed flags to be 1 bit bitfields.
-
-       * camel-folder-summary.[ch]: Class removed entirely.
-
-       * camel-folder.c (camel_folder_get_summary): Removed.
-       (camel_folder_summary_get_message_info): Moved from
-       camel-folder-summary.c
-       (camel_folder_summary_get_subfolder_info): Moved from
-       camel-folder-summary.c
-
-       * camel-mime-parser.c (folder_scan_step): Store the start of
-       headers and start of from in the scan state.
-       (camel_mime_parser_tell_start_headers): Query the start of the
-       headers.
-       (camel_mime_parser_tell_start_from): Query the cached start of
-       from marker.
-
-2000-04-13  NotZed  <NotZed@HelixCode.com>
-
-       * gmime-content-field.c (gmime_content_field_free): Removed this
-       function.  If its too dangerous to use, it shouldn't be here.
-       (gmime_content_field_ref): Also ref the embedded content-type.
-       (gmime_content_field_unref): Ditto to unref it.
-
-       * camel-mime-utils.h: Add a refcount for content-type header.
-
-       * camel-mime-utils.c (header_content_type_unref): Implement unref
-       for content-type.
-       (header_content_type_ref): Implement ref for header content type.
-
-2000-04-12  NotZed  <NotZed@HelixCode.com>
-
-       * gmime-content-field.h: Changed to use a _header_content_type.
-       Added type/subtype back for compatability with clients.
-       
-       * gmime-content-field.c: Basically a total rewrite, and now just a
-       thin wrapper ontop of header_content_type.
-       (_free_parameter): Got rid of it.
-       (gmime_content_field_new): Use header_content_type_* functions.
-       (gmime_content_field_set_parameter): Likewise.
-       (_print_parameter): Blow away.
-       (gmime_content_field_write_to_stream): Get details from the
-       content_type field.  Should check if it needs to escape chars in
-       the paramter value.
-       (gmime_content_field_get_mime_type): Likewise.
-       (___debug_print_parameter): Get rid of this rather annoyingly
-       named function.
-       (gmime_content_field_get_parameter): Simplified function.
-       (gmime_content_field_construct_from_string): Fixed this to use a
-       real parser.
-       (gmime_content_field_is_type): New function to test if a type matches.
-       (gmime_content_field_construct_from_string): Track type/subtype
-       from subordinate content_type header struct.
-
-       * gmime-rfc2047.[ch]: Removed.  Unused.
-
-       * camel-stream-b64.[ch]: Blown away more duplicated code.
-
-       * Makefile.am: Removed camel-stream-b64.[ch], and
-       gmime-base64.[ch].
-
-       * camel-mime-part.c (my_get_content_object): Replaced
-       camel-stream-b64 with camel-stream-filter/camel-mime-filter-basic.
-       (my_write_content_to_stream): Replaced camel-stream-b64 with the
-       camel-stream-filter with an encoder.
-       (my_get_content_object): Also implement quoted-printable decoding.
-       (my_write_content_to_stream): Also implement quoted-printable
-       encoding.
-       (my_get_output_stream): Took out stream-b64 code (nothing's being
-       executed yet anyway).
-
-       * gmime-base64.[ch]: Blown away.  Not used, dont need it.
-
-       * camel-mime-utils.h: Added offset for this header.  Records where
-       it is in the source.
-
-       * camel-mime-utils.c (header_raw_append_parse): Add offset
-       parameter, to store where the header is stored in the stream.
-       (header_raw_append): Added offset param.
-       (header_raw_find): Return offset, if a pointer supplied for it.
-       (header_raw_replace): Add offset param.
-       (header_content_type_new): New function, to create an empty
-       content type.
-       (header_content_type_set_param): Set a parameter in the
-       content-type.
-       (header_set_param): Generic header parameter setting function.
-       (header_decode_string): Handle NULL input.
-
-       * camel-mime-parser.c (camel_mime_parser_headers_raw): New
-       function to get access to all the raw headers.
-       (folder_scan_header): Keep track of the header start position, and
-       store it when saving the header.
-
-2000-04-11  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-utils.c: Moved a bunch of printf's to debug.
-
-       * camel-mime-parser.c: Moved a bunch of printf's to debug.
-       (folder_scan_header): Detect end of each header line using the
-       last scanned char, and not the last scanned position.
-
-       * camel-mime-filter-index.[ch]: Indexing filter.  Indexes unicode
-       sequences into ibex files.
-
-2000-04-09  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-part.c: Dont include gmime-base64.h
-
-       * camel-mime-filter-charset.c (complete): Implement the completion
-       function.
-
-       * camel-mime-parser.c (folder_scan_step): If we get to the end of
-       the body data, check any filters for outstanding completion data.
-       (camel_mime_parser_scan_from): Set whether we scan for "From "
-       headers or not.
-
-       * camel-stream-filter.c (do_read): If we get to end of stream on
-       the source, then call the filtering completion function to see if
-       we have any more data to return.
-
-       * camel-mime-filter-basic.c (filter): Implement quoted printable
-       encoding and decoding filters.
-       (complete): And the complete function as well.
-
-       * camel-mime-utils.c (base64_encode_close): Also take an input
-       buffer, allow closing of filters.
-       (quoted_encode_step): First cut, simple quoted-printable encoder.
-       Doesn't handle trailing spaces/tabs on end of line properly yet.
-       (quoted_encode_close): Complete a quoted-encoding.
-       (is_qpsafe): New type check, for quoted-printable safe characters
-       (that do not need encoding).  Thats all bits used in the type
-       table!  Rebuilt the types table.
-       (header_content_type_is): Checks a content type against at
-       type/subtype match.
-       (header_content_type_param): Handle NULL content type pointer.
-
-2000-04-08  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-filter-basic.c (filter): Implement the base64
-       encoder.  Problem is, there is no way to know when to close it.
-       Close/Reset will have to provide the same args as filter, so it can
-       flush remaining data *sigh*
-
-       * camel-mime-utils.c (base64_encode_step): A rather complex base64
-       encoder, fast?
-       (base64_step_close): Companion function to finish off the base64
-       sequence.
-
-       * camel-mime-part.c (my_write_content_to_stream): Changed to use
-       camel_stream_write_to_stream().
-
-       * camel-stream.[ch] (camel_stream_write_to_stream): From
-       camel_stream_b64_write_to_stream().  Fixed some infinite loop
-       bugs with error conditions.
-
-       * camel-stream-b64.[ch] (camel_stream_b64_write_to_stream): Removed.
-       This has nothing to do with stream-b64, so i've moved it to
-       CamelStream.
-
-       * camel-mime-utils.h: Add a comment about refcounting
-       header_content_type struct.
-
-       * Makefile.am: Added camel-stream-filter*.[ch].
-
-       * camel-stream-filter.[ch]: Class to implement a generic
-       (multipass) filter ontop of a stream.  Only implements a read-only
-       stream.
-
-       * camel-mime-parser.c (camel_mime_parser_filter_add): Ref the
-       filter we just added.
-
-       * Makefile.am: Added camel-mime-filter*.[ch].
-
-       * camel-mime-filter-charset.[ch]: A filter to preform character set
-       conversion (uses unicode_iconv).
-
-       * camel-mime-filter-save.[ch]: A simple filter which will save all
-       data directly to a file or file descriptor.
-
-       * camel-mime-filter-basic.[ch]: Implements the basic mime filters,
-       base64 and quoted-printable decoding (encoding not implemented yet).
-
-       * camel-mime-filter.[ch]: A filtering class, which can filter streams
-       of data without having to copy them.  Simpler than stream classes,
-       and can be plugged into a single stream class (when i write it).
-
-2000-04-07  Dan Winship  <danw@helixcode.com>
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): Clarify error
-       messages.
-       (finalize): fix a bug in camel_exception usage
-       (pop3_connect): Remember the password after asking for it the
-       first time.
-
-2000-04-07  NotZed  <NotZed@HelixCode.com>
-
-       * Makefile.am: Added camel-mime-parser/camel-mime-utils.
-
-       * camel-mime-parser.c: Fast mime parser.
-
-       * camel-mime-utils.c: Mime utility functions, and email header
-       parsers.
-
-2000-04-07  NotZed  <NotZed@HelixCode.com>
-
-       * providers/Makefile.am: Removed smtp for now, its a long way from
-       building.
-       * providers/smtp/Makefile.in: Removed file that shouldn't have been
-       checked in.
-
-2000-04-06  Matt Loper  <matt@helixcode.com>
-
-       * camel-folder-pt-proxy.c (_get_full_name): Remove exception param
-       from get_full_name() called, since get_full_name() was changed to
-       not have an exception in the last param (see dan's notes below).
-       (_get_name): same.
-
-2000-04-06  Dan Winship  <danw@helixcode.com>
-
-       * camel-store.[ch]: Reorganize the folder-fetching methods and
-       implement a folder cache so that multiple requests for the same
-       folder will yield the same CamelFolder object (as long as it
-       remains active). Includes some code to remove no-longer-active
-       folders from the cache, but it doesn't get used since nothing is
-       ever unref'ed in Camel right now...
-       
-       * providers/mbox/camel-mbox-store.c:
-       * providers/pop3/camel-pop3-store.c: update for CamelStore
-       changes.
-
-       * camel-folder.[ch]: Remove the (unused) CamelException argument
-       from camel_folder_get_name and camel_folder_get_full_name.
-       (camel_folder_set_name): make this go away since changing a
-       folder's name after it has been created could result in it
-       conflicting with a separately-issued folder.
-       
-2000-04-05  Dan Winship  <danw@helixcode.com>
-
-       * g_url_new really wanted to take a CamelException. So, rename
-       Gurl to CamelURL, g_url_* to camel_url_* (with camel_url_new
-       taking an exception), and url-util.[ch] to camel-url.[ch]. Also
-       force url->port to be numeric and remove camel_service_getport. (I
-       was confused before: the URL RFC says the port must be numeric, so
-       we don't want to do getportbyname.)
-
-2000-04-01  Dan Winship  <danw@helixcode.com>
-
-       * providers/mbox/camel-mbox-folder.c
-       (_check_get_or_maybe_generate_summary_file): Compare
-       mbox_file_size and mbox_modtime to the results of stat()ing the
-       mbox file, not the summary file. Duh.
-       (_close): Update the summary's mbox_file_size and mbox_modtime
-       before writing it to disk.
-
-       * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_save,
-       camel_mbox_summary_load): Wow. I must have been tired when I wrote
-       this code. First, the comparison bug above. Second, it was using
-       ntohs and htons instead of ntohl and htonl. Third, I was reading
-       the status flag byte in two different places and thus getting out
-       of sync. Fourth, it was writing out field_length bytes of each
-       header field after having converted field_length to network byte
-       order, resulting in lots of random crap being appended, and the
-       summary files being huge. (Fortunately, since the size/modtime
-       comparison was biffed, the garbage summary read from disk was
-       always immediately discarded.)
-
-       * providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file): fix
-       an off-by-one error that caused the last-used UID to be reused if
-       the summary file was regenerated. (That one wasn't my fault. :-)
-
-2000-03-31  Dan Winship  <danw@helixcode.com>
-
-       * camel-stream-mem.c: implement unimplemented methods
-
-       * gmime-content-field.c
-       (gmime_content_field_construct_from_string):
-       * data-wrapper-repository.c
-       (data_wrapper_repository_get_data_wrapper_type):
-       * camel-simple-data-wrapper.c (my_write_to_stream):
-       * camel-mime-part.c (my_set_input_stream):
-       remove debugging printf()s that no longer seem useful.
-
-2000-03-31  Matt Loper  <matt@helixcode.com>
-
-       * camel-formatter.c (text_to_html): Added "convert_newlines_to_br"
-       boolean param, to give the option of not converting '\n's to <br>
-       tags. This way, when we stick stuff in a <pre> tag, newlines stay
-       newlines.
-
-2000-03-30  Matt Loper  <matt@helixcode.com>
-
-       * camel-formatter.c (handle_text_plain): Use <pre> tag to force
-       the use of monospaced fonts.
-
-2000-03-30  Dan Winship  <danw@helixcode.com>
-
-       * camel-service.c (camel_service_getport): Add a htons in the
-       default_number case, and document the fact that the function
-       returns the port in network byte order.
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): Revert
-       Miguel's change. The port number bug was actually somewhere
-       else, and the IP address copying code was fine already.
-       
-2000-03-29  Miguel de Icaza  <miguel@gnu.org>
-
-       * providers/pop3/camel-pop3-store.c (pop3_connect): Add htons
-       (port), and only copy 4 bytes for the IP address to prevent a DNS
-       attack. 
-
-2000-03-28  Dan Winship  <danw@helixcode.com>
-
-       * camel-seekable-substream.c
-       (camel_seekable_substream_new_with_seekable_stream_and_bounds):
-       make this return a CamelStream rather than a
-       CamelSeekableSubstream, because that's the way Gtk objects tend to
-       work.
-
-       * camel-service.c (camel_service_gethost,
-       camel_service_getport): convenience functions to canonicalize
-       the host and port values of a service's URL.
-       * providers/pop3/camel-pop3-store.c: use them
-
-       * providers/mbox/camel-mbox-folder.c
-       (_check_get_or_maybe_generate_summary_file): Make this work when
-       the inbox file doesn't yet exist.
-
-2000-03-27  Dan Winship  <danw@helixcode.com>
-
-       * providers/mbox/camel-mbox-folder.c (_append_message): uncomment
-       the call to unlink the temp file: there's no way to tell
-       camel_stream_fs to truncate a file, so reusing the same file was
-       resulting in junk at the ends of messages.
-
-       * camel-folder.[ch]: add delete_message_by_{number,uid}.
-
-       * providers/pop3/camel-pop3-folder.[ch]: implement
-       delete_message_by_uid. Add a close method to do expunging
-       of deleted messages if requested.
-
-       * providers/pop3/camel-pop3-store.[ch]: support for
-       CamelPop3Folder::close. (You have to close the connection
-       in order to expunge the folder, thus the store may be
-       connected in the CamelService::is_connected sense when it
-       is not actually connected to the server.) Also some bugfixes.
-
-2000-03-27  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-folder.c (_append_message): Unref the
-       output_stream when done, close doesn't do it.
-       (_append_message): Clear all uid's from the appending messages, so
-       they are reassigned proper unique id's.
-
-       * gmime-utils.c (get_header_array_from_stream): Actually free the
-       header, it is copied elsewhere.
-
-2000-03-26  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): Added
-       folder parameter to function.  Fixed callers.
-       (index_message): Index a message as it is assigned a unique id.
-
-       * camel-mime-part.c (my_set_content_id): Make sure we malloc and
-       copy the content_id, otherwise *poof*
-
-2000-03-25  NotZed  <NotZed@HelixCode.com>
-
-       * camel-medium.c (_finalize): Another leak, unref the content if
-       finished with it.
-
-       * camel-recipient.c (camel_recipient_table_free): Plug another
-       memory leak - actually free the recipient table.
-
-       * camel-mime-message.c (_finalize): Plugged a memory leak with the
-       flags table.
-
-       * gmime-utils.c (_store_header_pair_from_string): A simpler, more
-       debuggable and functionally identical header extraction function.
-
-2000-03-24  NotZed  <NotZed@HelixCode.com>
-
-       * gmime-content-field.c (gmime_content_field_set_parameter):
-       Remove the hash table entry before freeing its key and data.
-
-2000-03-27  Dan Winship  <danw@helixcode.com>
-
-       * providers/Makefile.am (SUBDIRS): Add pop3.
-
-       * providers/pop3/camel-pop3-store.c: keep separate input and
-       output streams so the output doesn't end up being buffered.
-
-       * providers/pop3/camel-pop3-folder.c (get_message_by_number):
-       finish implementing this.
-
-2000-03-27  Michael Meeks  <michael@helixcode.com>
-
-       * camel-mime-part.c (my_set_disposition): fix so less broken.
-       (my_finalize): remove dodgy disposition free.
-
-       * camel-data-wrapper.c (my_set_mime_type_field): unref instead of
-       free on mime_type.
-
-2000-03-27  Dan Winship  <danw@helixcode.com>
-
-       * camel-service.c (camel_service_free_auth_types): new routine to
-       free the data allocated by camel_service_query_auth_types.
-
-       * providers/pop3/camel-pop3-store.c (free_auth_types): implement
-
-       * camel-stream-mem.c (camel_stream_mem_new_with_buffer): rename
-       camel_stream_mem_new_with_buffer to ..._with_byte_array and add a
-       new ..._with_buffer that takes a char * rather than a GByteArray.
-
-       * Remove CamelStreamBufferedFs, since CamelStreamBuffer makes it
-       redundant.
-
-2000-03-25  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder-summary.[ch]: change the CamelFolderSummary
-       interfaces to allow partial summary queries (for dealing
-       with very large folders). Remove the "extended_fields" from
-       CamelFolderInfo and CamelMessageInfo: this is better dealt
-       with by subtyping.
-
-       * providers/mbox/camel-mbox-summary.[ch]: Make CamelMboxSummary a
-       subclass of CamelFolderSummary. Update interfaces for that. Remove
-       the internal/external summary distinction. Remove the (unused) md5
-       checksum in the folder summary. Change the summary file format
-       (primarily to make it no longer byte-order dependent) and add a
-       version number to it so it will be easier to change in the future.
-       
-       * providers/mbox/camel-mbox-folder.[ch]
-       * providers/mbox/camel-mbox-search.c
-       * providers/mbox/camel-mbox-utils.c: update for summary changes
-
-       * camel-exception-list.def: add
-       CAMEL_EXCEPTION_FOLDER_SUMMARY_INVALID
-       
-2000-03-23  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-provider.c: Added flag to provider
-       initialisation, to match changed structure.
-
-2000-03-22  NotZed  <NotZed@HelixCode.com>
-
-       * camel-folder.[ch]: Added async search api.
-
-       * providers/mbox/camel-mbox-search.c
-       (camel_mbox_folder_search_by_expression): Changed to use an
-       asynchronous interface.
-       (camel_mbox_folder_search_cancel): Cancel function for async
-       interface.
-
-2000-03-23  Dan Winship  <danw@helixcode.com>
-
-       * camel-stream-buffer.c (camel_stream_buffer_read_line): Function
-       to read one line of any size from a stream and return it in
-       allocated memory.
-
-2000-03-22  Dan Winship  <danw@helixcode.com>
-
-       * camel-service.c (camel_service_query_auth_types): New function
-       to query a service for the authentication protocols it supports.
-       * providers/pop3/camel-pop3-store.c (query_auth_types): implement
-
-       * camel-provider.c (camel_provider_scan): New function to
-       scan the provider dir and return a list of all providers.
-
-       * providers/pop3/camel-pop3-folder.c: fill this in partially
-       * providers/pop3/camel-pop3-store.c: make camel_pop3_command
-       return the text after "+OK"/"-ERR" and add a separate
-       camel_pop3_get_additional_data to get the message body or
-       whatever. Also make them take a CamelPop3Store rather than
-       a CamelStreamBuffer.
-
-2000-03-22  Matt Loper  <matt@helixcode.com>
-
-       * camel-formatter.c (debug): Disabled some useless debug
-       messaging.
-
-2000-03-21  Dan Winship  <danw@helixcode.com>
-
-       * providers/pop3: some initial bits of the POP3 provider, to
-       make Matt happy. Incomplete, untested, etc.
-
-2000-03-21  bertrand  <bertrand@helixcode.com>
-
-       * providers/mbox/camel-mbox-summary.c 
-       (camel_mbox_summary_append_internal_to_external): copy the size field
-
-       * providers/mbox/camel-mbox-folder.c (_get_message_by_uid): initialize 
-       message_info to NULL
-
-       * camel-folder-summary.h: added the size field.
-
-       * providers/mbox/camel-mbox-summary.h: 
-       added the received_date field.
-
-       * providers/mbox/camel-mbox-summary.c:
-       documented all functions.
-
-       * camel-folder-summary.h: name change and 
-       new fields.
-
-       * providers/mbox/camel-mbox-search.c: update to 
-       conform to name change in the summary fields.
-
-2000-03-10  bertrand  <bertrand@helixcode.com>
-
-       * camel-service.h: cosmetic changes.
-
-2000-03-09  Dan Winship  <danw@helixcode.com>
-
-       * s/HelixCode/Helix Code, Inc./ in the copyrights
-
-2000-03-07  bertrand  <bertrand@helixcode.com>
-
-       * camel-formatter.c (handle_mime_part): 
-       plug mem leaks due to bad documentation
-       of camel_content_field_get_mime_type
-       (print_camel_body_part): idem
-       (handle_multipart_alternative): idem
-
-       * gmime-content-field.c (gmime_content_field_get_mime_type): 
-       documentation fix.
-
-
-       * camel-mime-part.c (my_finalize): unref the 
-       content_input_stream if any. 
-
-2000-03-06  bertrand  <bertrand@helixcode.com>
-
-       * camel-stream-fs.c (_seek): fix a bogus calculation
-       in the return position.
-
-2000-03-05  bertrand  <bertrand@helixcode.com>
-
-       * camel-session.h: cosmetic fixes.
-
-       * camel-stream-fs.c (_read): 
-       (_seek): fixed the current position so that it refers
-       to the current position in the stream, not in its parent.
-
-2000-03-04  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-search.c
-       (camel_mbox_folder_search_by_expression): Ref the summary
-       after we have got it.
-
-2000-03-04  bertrand  <bertrand@helixcode.com>
-
-       * camel-mime-part.c (my_write_content_to_stream): 
-       stream the raw content instead of nothing if the encoding
-       is not supported.
-
-       * camel-stream-fs.c (_seek): handle eos more
-       properly.
-
-       * camel-formatter.c (get_bonobo_tag_for_object): 
-       bonobo-goad-id is the good key to look for. 
-       (get_bonobo_tag_for_object): close the <object> tag.
-       (get_bonobo_tag_for_object): the correct syntax for the
-       to set a parameter inside an <object> tag is :
-       <object classid="..."> <param name="uid" value="..."> <param ...>
-       </object>
-
-2000-03-03  bertrand  <bertrand@helixcode.com>
-
-       * providers/mbox/camel-mbox-folder.c (_get_message_by_uid): 
-       use set_input_stream instead of construct_from_stream
-       to feed the message object. 
-
-       * camel-data-wrapper.c (my_write_to_stream): reset output stream.
-       (my_set_input_stream): unref the previous input stream.
-       use the set_output_stream for default behaviour.
-       (my_set_output_stream): unref previous output stream.
-
-       * camel-mime-part.c (my_write_content_to_stream): reset content
-       object output stream.
-
-2000-03-03  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): Make
-       sure we open with create with a creation mask.
-
-2000-03-01  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_content_from_stream): DO NOT assert on
-       content type, we have fallback code 4 lines below it ... *sigh*
-
-2000-02-29  NotZed  <NotZed@HelixCode.com>
-
-       * Makefile.am (libcamelinclude_HEADERS): Added camel-stream-buffer
-       to build.
-
-       * camel-stream-buffer.[ch]: Generic buffer which can be applied to
-       any stream.
-
-2000-03-03  bertrand  <bertrand@helixcode.com>
-
-       * camel-formatter.c (handle_image): in the case
-       of images, put the content object output stream
-       in the url. This allows the message browser
-       to show inline images.
-
-       * camel-stream-b64.c (my_read_encode): fixed state
-       0 keep value. 
-
-2000-03-02  bertrand  <bertrand@helixcode.com>
-
-       * camel-stream-b64.c (my_read_encode): don't forget to 
-       set the state to 0 after 3.
-       (my_read_encode): don't forget to encode, even in state 3.
-
-       * camel-simple-data-wrapper.c: static functions are prefixed 
-       with my_ instead of _
-       * camel-multipart.c: static functions are prefixed 
-       with my_ instead of _
-       (my_write_to_stream): commented.
-       (my_write_to_stream): warning in case the boudary is set
-       but is a zero length string.
-
-       * camel-mime-part.c (camel_mime_part_encoding_from_string): 
-       remove debug trace. 
-       
-       * camel-mime-part.c: Replaced all static functions
-       with name begining with _ by the same name begining
-       with "my_" to prevent the possible conflicts 
-       with system symbols Dan warned us about. 
-       
-       * camel-stream-b64.c (camel_stream_b64_write_to_stream): 
-       use CamelStreamB64 type for the input stream.
-
-       * camel-mime-part.c (_get_content_object): remove 
-       debugging trace
-       (_write_content_to_stream): implement the b64 
-       encoding the new way (that is using camel_stream_b64)
-
-       * camel-data-wrapper.c (my_write_to_stream): 
-       fix implementation so that it writes properly
-       to the output stream even.
-
-       * camel-stream-b64.c (camel_stream_b64_write_to_stream): 
-       fix implementation. 
-
-2000-02-29  bertrand  <bertrand@helixcode.com>
-
-       * camel-stream-b64.c (camel_stream_b64_write_to_stream): new
-       utility function. 
-
-       * camel-data-wrapper.c (_write_to_stream): default
-       implementation. 
-
-       * gmime-utils.c (_store_header_pair_from_string): 
-       revert strange changes. 
-
-       * camel-stream-b64.c (my_read_decode): set eos to true when we
-       have read the whole input stream. 
-       (my_reset): set eos to FALSE.
-
-2000-02-28  NotZed  <NotZed@HelixCode.com>
-
-       * camel-mime-part.c (_parse_header_pair): Dont free this either.
-
-       * camel-medium.c (_remove_header): Ugh, dont free the header
-       before we actually remove it.
-       (_add_header): Ugh, dont free hashtable entries which may be
-       duplicated (hash_insert _will_ reference that memory).
-
-       * string-utils.c (string_trim): Trimming a 0-length string is not
-       an error.
-
-       * camel-mime-message.c (_parse_header_pair): Fixed very broken
-       memory handling of header_name/value.
-
-       * providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev):
-       Initialise end_of_last_message always.
-       (camel_mbox_copy_file_chunk): Stop trying to read if we run out of
-       data, rather than looping forever.
-       (camel_mbox_write_xev): Use an open flag when opening with create.
-
-       * camel-folder.c (camel_folder_search_by_expression): No, its not
-       a fatal error to search on a non-searchable folder, you just dont
-       get any matches.
-       (_open): Dont open an opened folder (i dont see why this is really
-       a bug, but what the hell ...)
-
-       * providers/mbox/camel-mbox-folder.c (_init): Set search cap on.
-       (_open): Call parent class to perform open.  Remove folder-open
-       check to parent instead.
-       (_create): open takes a creation mask, dont use umask to try and
-       set the open mode.
-       (_delete): Dont bother checking folder==NULL, its already been
-       checked on the external interface (changed to an assertion, this
-       would have to be a camel bug).
-       (_delete_messages): Likewise.
-       (_create): Ditto.
-       (_init): Dont go and clear all the paths and shit that the parent
-       open just setup for us.
-       (_delete_messages): Get rid of more umask stuff.
-       (_append_message): Make sure we pass file mode to open with create.
-       (_append_message): Cleaned up some indenting to make it readable.
-
-       * camel-stream-b64.c (my_read_encode): Fixed a typo.
-
-       * providers/mbox/camel-mbox-search.c: Changed to use e-sexp,
-       rather than filter-sexp.
-
-2000-02-28  bertrand  <bertrand@helixcode.com>
-
-       * camel-stream-b64.c (my_read_encode): encoding
-       filter.
-
-2000-02-23  bertrand  <Bertrand.Guiheneuf@aful.org>
-
-       * camel-stream-b64.c: changed the __static 
-       suffix into a my_ prefix. 
-       (camel_stream_b64_set_mode): reset the persistent
-       status. 
-       (my_read_decode): remove superfluous %
-       
-       * providers/mbox/camel-mbox-utils.c (camel_mbox_copy_file_chunk): 
-       fix exception description message.
-
-2000-02-24  Dan Winship  <danw@helixcode.com>
-
-       * camel-session.c: Add camel_session_get_transport_for_protocol.
-
-       * camel-transport.h:
-       * camel-transport.c: Add an abstract CamelTransport class.
-
-       * providers/sendmail/*: A CamelTransport that uses sendmail
-       to deliver mail.
-
-2000-02-24  Dan Winship  <danw@helixcode.com>
-
-       * camel-folder.c: use CamelExceptions for run-time errors, not
-       incorrect code. Don't bother validating that an object exists from
-       inside one of its methods, since you couldn't have gotten there if
-       it didn't. Fix some code style bugs.
-
-       (_init): Rename init_with_store to init and add parent_folder,
-       separator, and name arguments.
-       (_set_name): Get separator from self, not parent_store now.
-
-       * camel-store.h:
-       * camel-store.c: Remove get/set_separator.
-
-       * providers/mbox/: Update for above.
-
-2000-02-23  Dan Winship  <danw@helixcode.com>
-
-       * camel-medium.c (_finalize): Free the data in the headers hash
-       table.
-       (_add_header): g_strdup the header name and value when adding it.
-
-       * camel-mime-part-utils.c
-       (camel_mime_part_construct_headers_from_stream): Free the header
-       data after calling camel_medium_add_header, since it will have
-       g_strdup()ed it itself.
-
-2000-02-22  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-search.c: Dont compile by default.
-
-       * providers/mbox/Makefile.am: Fuck off the filter code.
-
-2000-02-22  bertrand  <Bertrand.Guiheneuf@aful.org>
-
-       * camel-stream-b64.c (read_decode__static): 
-       don't read the char if we reached the length
-       of the output buffer. Hours lost on this
-       %$!@# bug : 3.5
-
-       * camel-folder.c (camel_folder_get_subfolder): 
-       (camel_folder_create): 
-       (camel_folder_delete): 
-       (camel_folder_delete_messages): 
-       (camel_folder_list_subfolders): 
-       (camel_folder_expunge): 
-       (camel_folder_get_message_by_number): 
-       (camel_folder_get_message_count): 
-       (camel_folder_append_message): 
-       (camel_folder_copy_message_to): 
-       (camel_folder_get_summary): 
-       (camel_folder_get_message_uid): 
-       (camel_folder_get_message_by_uid): 
-       (camel_folder_get_uid_list): 
-       Check folder state (open/close) and raise an
-       exception if it is not ok. 
-       
-       * providers/mbox/camel-mbox-folder.c (_create): 
-       create the file and the path with two different
-       names.
-
-       * camel-folder.c (_create): handle the case 
-       when the folder name starts with '/'
-
-       * camel-exception.c (camel_exception_new): use 
-       (void) instead of () in decl.
-
-       * camel-exception.h: cosmetic fixes.
-
-       * camel-exception.c (camel_exception_init): new routine.
-       Fix a bug in mail/message-list.c
-       
-
-       * camel-folder.h: cosmetic changes.
-
-       * camel-stream-b64.c (reset__static): added a
-       reset method. Thanks message-browser to find
-       so much bugs :)
-
-       * providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): readd
-       Unicode libs.
-
-2000-02-21  bertrand  <Bertrand.Guiheneuf@aful.org>
-
-       * camel-formatter.c (lookup_unique_id): 
-       awful hack to test get_output_stream.
-       * camel-stream-b64.[ch] :
-       b64 encoding/decoding is now implemented as
-       a stream. 
-
-2000-02-21  bertrand  <Bertrand.Guiheneuf@aful.org>
-
-       * camel-seekable-substream.c (_reemit_parent_signal): 
-       emit "data_available" when parent stream emits it. 
-
-2000-02-21  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/Makefile.am: Uh, fixed LIBADD again.  What was
-       there was never ever going to work, wasn't it tested?
-
-2000-02-21  Dan Winship  <danw@helixcode.com>
-
-       * camel-session.h: (struct _CamelSession): Add authenticator.
-
-       * camel-session.c (camel_session_new): Add authenticator.
-       (camel_session_query_authenticator): New function to query the
-       session authenticator for password, etc, information.
-
-2000-02-21  Dan Winship  <danw@helixcode.com>
-
-       * camel-session.c: add CamelExceptions to several functions. Use
-       camel_session_new to initialize the session and URL fields of
-       created CamelStores as appropriate.
-
-       * camel-store.h:
-       * camel-store.c
-       * camel-service.h:
-       * camel-service.c: Move the session and url (and associated
-       functions) from CamelStore to CamelService. Add url_flags to
-       CamelService so subclasses can specify which URL components
-       are mandatory for them. Add camel_session_new for
-       camel_session_get_store* to use.
-
-       * providers/mbox/camel-mbox-folder.c:
-       * providers/mbox/camel-mbox-store.c:
-       * providers/mbox/camel-mbox-store.h: Update for above changes.
-
-       * camel-exception-list.def: Once camel is being used for real,
-       exceptions won't be renumberable. So renumber them now to make
-       more room to add exceptions to the various categories later, and
-       add a big warning message.
-
-2000-02-20  Dan Winship  <danw@helixcode.com>
-
-       * providers/mbox/Makefile.am: add libibex back to
-       libcamelmbox_la_LIBADD
-
-2000-02-18  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/camel-mbox-search.h
-       (camel_mbox_folder_search_by_expression): Added exception to call,
-       and fixed caller.
-
-       * providers/mbox/camel-mbox-search.c
-       (camel_mbox_folder_search_by_expression): Major changes, to use
-       the sexp evaluator from filter/filter-sexp.c to implement the
-       searching.
-       (func_body_contains): Changed to support multiple strings in 1
-       command (results or'd together)
-
-       * url-util.c (g_url_new): Fixed a typo (colon == 0 isn't right),
-       and made it so full url's are absolute pathed (Dan, this is how it
-       has to work!).  Also, always include a path part, even if it is an
-       empty string.
-
-2000-02-18  Dan Winship  <danw@helixcode.com>
-
-       * camel/camel-types.h: New header with the typedefs for all camel
-       classes. Now the class headers can just include this and the
-       header for the parent type. This makes it possible for
-       CamelService to include a CamelSession without creating an
-       #include loop.
-
-       * camel/*:      
-       * composer/e-msg-composer-attachment-bar.h:
-       * mail/folder-browser.c:
-       * mail/message-list.c: frob #includes to match the new reality
-
-2000-02-17  Dan Winship  <danw@helixcode.com>
-
-       * camel/camel-service.h:
-       * camel/camel-service.c: Make camel-service us a Gurl internally.
-       Remove the login/password interfaces and instead provide
-       camel_service_connect_with_url. Add CamelExceptions
-
-2000-02-17  bertrand  <Bertrand.Guiheneuf@aful.org>
-
-       * camel/camel-formatter.c (handle_text_plain): 
-       (handle_text_html): use camel_stream_reset instead
-       of seek. The formatter should be able to work 
-       with all streams, not only seekable streams. 
-       In the case where some provider implementation
-       would not be able to provide a reset method 
-       to their stream, implementors would have
-       to find a workaround.
-
-       * camel/camel-session.c (camel_session_new): use
-       (void) instean of () in function decl.
-
-       * camel/camel-folder.c: ifdef async operation 
-       related code. 
-
-       * camel/camel-seekable-stream.c (_seek): added a warning.
-       (_reset): default implementation of reset for seekable
-       stream.
-
-       * camel/camel-mime-message.h: set_received_date declaration fix.
-       cosmetic changes.
-
-       * camel/providers/mbox/camel-mbox-provider.c (camel_provider_module_init): 
-       use (void) instead of ().
-
-       * camel/camel-stream.c (camel_stream_reset): 
-       new method for CamelStream.
-
-2000-02-17  Dan Winship  <danw@helixcode.com>
-
-       * camel/url-util.c (g_url_to_string): New function to convert
-       a Gurl back into a char *.
-
-2000-02-17  bertrand  <Bertrand.Guiheneuf@aful.org>
-
-       * camel/camel-formatter.c (handle_text_plain): 
-       revamped so that it uses the output stream
-       of the data wrapper
-       (handle_text_html): ditto.
-       
-       
-       * camel/camel-simple-data-wrapper.h: 
-       * camel/camel-simple-data-wrapper.c (camel_simple_data_wrapper_new): 
-       use (void) instead of ().
-       (_get_output_stream): simple implementation. 
-
-2000-02-16  bertrand  <Bertrand.Guiheneuf@aful.org>
-
-       * camel/camel-data-wrapper.c (_set_input_stream): ref input stream
-       (_set_output_stream): ref output stream
-       (_finalize): unref input and output streams
-
-       * camel/camel-seekable-substream.c (_set_bounds): don't
-       seek the begining of the substream.
-       (_eos): fix eos condition testing. 
-       (_finalize): unref parent stream
-       (_init_with_seekable_stream_and_bounds): ref parent stream
-
-       * camel/gstring-util.c (g_string_equal_for_hash): 
-       (g_string_equal_for_glist): return type is int.
-
-       * camel/camel.h: 
-       * camel/camel.c (camel_init): use (void) 
-       instead of ().
-       
-2000-02-16  NotZed  <NotZed@HelixCode.com>
-
-       * providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): Added
-       libfilter to link line (temporarily?).  Required for
-       filter-sexp.
-
-2000-02-15  bertrand  <bertrand@helixcode.com>
-
-       * camel/camel-multipart.c (_localize_part): 
-       this routine replaces the _read_part routine
-       and does not store the part in a buffer. 
-       (_set_input_stream): use the set_input_stream
-       instead of the construct_from_stream.
-       each bodypart is given an input stream. 
-
-       * camel/camel-mime-part-utils.c: 
-       include the data-wrapper-repository header. 
-       (camel_mime_part_construct_content_from_stream): 
-       use the set_input_stream instead of the 
-       construct_from_stream method. 
-
-       * camel/camel-seekable-substream.c (_set_bounds): 
-       cur position is set to 0 not to inf_bound.
-
-2000-02-15  bertrand  <Bertrand.Guiheneuf@aful.org>
-
-       * camel/camel-mime-part.c: include gmime-base64.h
-       various compilation and runtime fixes.
-       (_set_input_stream): store the input substream 
-       for the content object.
-
-       * camel/camel-data-wrapper.h: declare the 
-       set/get function on input/output stream.
-
-       * camel/camel-mime-part.c (_get_content_object): 
-       don't use a temporary mem stream.
-
-       * camel/camel-seekable-substream.c (_seek): 
-       (_eos): 
-       (_read): the substream can be unlimited in length
-
-       * camel/camel-data-wrapper.c (camel_data_wrapper_class_init): 
-       set the get/set_input/output_stream methods.    
-
-       * camel/camel-multipart.c (_construct_from_stream): 
-       camel_stream_seek -> camel_seekable_stream_seek
-
-2000-02-14  Miguel de Icaza  <miguel@gnu.org>
-
-       * camel/providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): Add
-       the unicode libraries as well.
-
-       * camel/camel-provider.c (camel_provider_register_as_module): Add
-       error reporting here.  Desire to use Solaris increases.  Hair loss
-       in the last two hours: 5,400.
-
-       * camel/providers/mbox/camel-mbox-provider.c
-       (camel_mbox_get_provider): Renamed function.
-
-       * camel/camel.h: All include files use camel/ now here.
-
-       * camel/providers/mbox/Makefile.am: Drop all the dynamism from
-       Camel, and make this a standard library.
-
-2000-02-14  bertrand  <Bertrand.Guiheneuf@aful.org>
-
-       * camel/gmime-utils.c (get_header_array_from_stream): use the 
-       eos stream method. 
-       (gmime_read_line_from_stream): ditto.
-
-       * camel/camel-stream-fs.h (struct ): add the eof field
-       cosmetics changes. 
-
-       * camel/camel-stream-fs.c (camel_stream_fs_init): set eof.
-       (_read): set eof on end of file.
-       (_eos): implemented.
-
-       * camel/gmime-utils.c (get_header_array_from_stream): 
-       make a blocking version of the header parser. 
-       When the fs stream uses gnome-vfs, this should
-       be changed. 
-       (gmime_read_line_from_stream): ditto. 
-
-2000-02-11  bertrand  <Bertrand.Guiheneuf@aful.org>
-
-       * camel/camel-stream-fs.c: 
-       everywhere, when using the cur_pos field, do it
-       on the CamelSeekableStream object.
-       (_seek): small fix. 
-
-       * camel/camel-seekable-stream.c (camel_seekable_stream_seek): 
-       s/camel_stream_seek/camel_seekable_stream_seek/g
-
-       * camel/camel-seekable-stream.h: 
-       (struct ): added a field to store the
-       current position.
-
-       * camel/camel-seekable-stream.c (camel_seekable_stream_get_current_position): 
-       New function. Allows to get the current position 
-       of a seekable stream.
-       
-
-2000-02-13  NotZed  <notzed@zedzone.helixcode.com>
-
-       * providers/mbox/camel-mbox-search.c: New file, implements the
-       search api for mbox folders.
-
-       * providers/mbox/Makefile.am: Link with ibex.
-
-       * camel-folder.c (camel_folder_has_search_capability): Api
-       additions.
-       (camel_folder_search_by_expression): Ditto.
-
-2000-02-12  NotZed  <notzed@zedzone.helixcode.com>
-
-       * providers/mbox/camel-mbox-folder.c (_set_name): Setup index
-       filename as well.
-       (_init_with_store): Init index filename.  Hmm, none of these
-       names ever seem to get free'd (FIXME?)
-
-       * providers/mbox/camel-mbox-folder.h: Add index file name.
-
-2000-02-12  NotZed  <notzed@helixcode.com>
-
-       * camel-folder.h: Add folder search functions.
-
-       ** Created ChangeLog just for camel **
-        - refer to ../ChangeLog for changes prior to this date.
index ac860ea..07580f6 100644 (file)
@@ -400,7 +400,6 @@ BUILT_SOURCES = camel-mime-tables.c
 EXTRA_DIST =                                   \
        $(pkgconfig_in_files)                   \
        gentables.pl                            \
-       ChangeLog.pre-1-4                       \
        README
 
 CLEANFILES = $(BUILT_SOURCES)
diff --git a/camel/providers/groupwise/ChangeLog b/camel/providers/groupwise/ChangeLog
deleted file mode 100644 (file)
index 9ade1be..0000000
+++ /dev/null
@@ -1,1972 +0,0 @@
-2009-04-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #563954
-
-       * camel-groupwise-folder.c: (groupwise_cmp_uids),
-       (camel_groupwise_folder_class_init):
-       Define its own compare function for UIDs.
-
-2009-04-13  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       
-       * camel/providers/groupwise/camel-groupwise-store.c: Removed
-       the string marked for translation.
-
-2009-04-13  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #471083 (bnc)
-       * camel/providers/groupwise/camel-groupwise-store.c: Sets the
-       System folder flag for system folders.
-
-2009-03-19  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #477697
-       * camel/providers/groupwise/camel-groupwise-folder.c: Set the
-       display name. cleaned up the code which set it to null string 
-       if display name appears in the form of email id.
-
-2009-03-14  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #480091
-       * camel/providers/groupwise/camel-groupwise-folder.c:
-       * camel/providers/groupwise/camel-groupwise-store.c:
-       * camel/providers/groupwise/camel-groupwise-store.h: Use a utility
-       function to set the current_folder to maintain reference counts.
-
-2009-03-05  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #465364
-       * camel-groupwise-folder.c (groupwise_populate_details_from_item),
-       (gw_update_cache), (gw_update_summary): Fixes the received time
-       set for meetings.                                               
-
-2009-02-16  Sankar P  <psankar@novell.com>
-
-       * camel/providers/groupwise/camel-groupwise-folder.c:
-       Some help comments for the future maintainers
-       Not an API doc
-
-2009-01-28  Sankar P  <psankar@novell.com>
-
-       ** Fix for bnc bug #467638
-
-       * camel/providers/groupwise/camel-groupwise-store.c:
-       Fix the broken current_folder handling code. Lots of 
-       issues are fixed. some may remain yet.
-
-2009-01-27  Sankar P  <psankar@novell.com>
-
-       ** Fix for bnc bug #464758
-
-       * camel-groupwise-folder.c (update_junk_list):
-       g_strsplit_set will add a dummy string if one of the
-       delimiters is the first character in the source string. 
-       Fix a crash.
-
-2009-01-16  Sankar P  <psankar@novell.com>
-
-       ** Patch committed on behalf of Simon Brys <sbrys@novell.com>
-
-       ** Fix for bnc bug #463095
-
-       * camel-groupwise-summary.c (content_info_from_db):
-       Fix cinfo parsing logic
-
-2009-01-15  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c (groupwise_sync),
-       (groupwise_refresh_folder), (groupwise_transfer_messages_to):
-       * camel-groupwise-journal.h:
-       * camel-groupwise-summary.c (gw_info_set_flags):
-       * camel-groupwise-summary.h:
-       Manage GroupWise counts better. fix bugs in read-cursor elimination.
-       A brand new flags handling code for GroupWise provider.
-
-2009-01-08  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #554182
-
-       * camel-groupwise-provider.c: (groupwise_url_hash),
-       (groupwise_url_equal): Don't use 'authmech' for URL comparision.
-
-2009-01-05  Ashish Shrivastava  <shashish@novell.com>
-
-       ** Fix for bnc bug #458127
-
-       * camel-groupwise-provider.c: Keyboard shortcut for
-       SOAP port in Evolution setup assistant.
-
-2009-01-02  Sankar P  <psankar@novell.com>
-
-       ** Fix for bnc bug #446290
-
-       * camel/providers/groupwise/camel-groupwise-folder.c:
-       * servers/groupwise/e-gw-connection.c:
-       Parallel clients support and (un)read count handling
-
-2008-12-29  Sankar P  <psankar@novell.com>
-
-       ** Patch committed on behalf of Simon Brys <sbrys@novell.com>
-
-       ** Fix for bnc bug #462575
-
-       * camel/providers/groupwise/camel-groupwise-store.c:
-       Extend function to honor "Check in all folders" setting.
-
-2008-12-29  Sankar P  <psankar@novell.com>
-
-       ** Patch committed on behalf of Simon Brys <sbrys@novell.com>
-
-       ** Fix for bnc bug #448079
-
-       * camel/providers/groupwise/camel-groupwise-folder.c:
-       Use correct parameters.
-
-2008-12-26  Sankar P  <psankar@novell.com>
-
-       * camel/providers/groupwise/camel-groupwise-folder.c:
-       Sssshhhh the compiler warnings
-
-2008-12-26  Sankar P  <psankar@novell.com>
-
-       ** Fix for bnc bug #209514
-
-       * camel/providers/groupwise/camel-groupwise-folder.c:
-       Addresses some missing mails issues. Optimization fixed.
-
-2008-12-23  Sankar P  <psankar@novell.com>
-
-       ** Part of fix for bnc bug #448079
-
-       * camel/providers/groupwise/camel-groupwise-folder.c:
-       Avoid invalid reads by validating optional fields. 
-       Part 2 of the fixes
-
-2008-12-23  Bharath Acharya  <abharath@novell.com>
-
-       ** Fix for bnc bug #449916
-
-       * camel-groupwise-folder.c: (convert_to_task), (convert_to_note): 
-       Display multiple lines of an assigned task or shared memo.
-
-2008-12-08  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c (gw_update_cache):
-       Avoid invalid reads by validating optional fields 
-
-2008-10-31  Sankar P  <psankar@novell.com>
-
-       ** Fix for bnc bugs #440502, #209514, #434958, #434946, 
-       #435725, #434950, #372382, #435727
-
-       * camel-groupwise-folder.c (groupwise_folder_get_message),
-       (groupwise_sync), (groupwise_refresh_folder), (gw_update_cache),
-       (groupwise_transfer_messages_to):
-       * camel-groupwise-store.c (groupwise_forget_folder),
-       (groupwise_get_folder), (gw_store_reload_folder),
-       (convert_to_folder_info):
-       * camel-groupwise-summary.c (camel_groupwise_summary_new),
-       (gw_info_set_flags), (groupwise_summary_clear):
-       GroupWise Improvements
-
-2008-10-03  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #547243
-
-       * camel-groupwise-folder.c: (groupwise_folder_item_to_msg):
-       Check for correct values to prevent invalid reads.
-
-2008-09-25  Philip Withnall  <philip@tecnocode.co.uk>
-
-       ** Fix for bug #553148
-
-       * camel-groupwise-store.c (groupwise_rename_folder): Standardise
-       "GroupWise" usage in translatable strings.
-
-2008-10-14  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #552261
-
-       * camel-groupwise-summary.c: Include camel-db.h
-
-2008-09-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #337479
-
-       * camel-groupwise-store.c: (groupwise_auth_loop):
-       Do not use uninitialized variables.
-
-2008-09-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #313225
-
-       * camel-groupwise-folder.c: (gw_update_cache), (gw_update_summary):
-       Set the user flag '$has_cal' in the message info when the message
-       is type of the appointment, task or note.
-
-2008-08-08  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-store.c (groupwise_folders_sync):
-       Fix a leak. Part of bgo #523103
-
-2008-08-06  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #545877
-
-       * camel-groupwise-journal.c:
-       * camel-groupwise-journal.h:
-       Use CamelDList instead of EDList.
-
-2008-08-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/groupwise/camel-groupwise-folder.c: Mark summary
-       dirty when it is.
-
-2008-08-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-groupwise-store-summary.c:
-       Remove unnecessary <libedataserver/e-memory.h> include.
-
-2008-07-31  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-summary.c (gw_info_set_flags):
-       Fix (un)read, deleted count issues.
-
-2008-07-28  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/groupwise/camel-groupwise-journal.c: Fix uid/pstring
-       issues.
-
-2008-07-22  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c (gw_update_summary):
-       Remove some buggy code, which are unnecessary after 
-       one of the previous commits to avoid duplicate email 
-       addresses as part of FROM field.
-
-2008-07-21  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-groupwise-journal.c:
-       * camel-groupwise-summary.c:
-       #include "camel-string-utils.h"
-
-2008-07-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Use pstrings for info uids.
-
-       * camel/providers/groupwise/camel-groupwise-folder.c:
-       * camel/providers/groupwise/camel-groupwise-journal.c:
-       * camel/providers/groupwise/camel-groupwise-summary.c:
-
-2008-07-16  Sankar P  <psankar@novell.com>
-
-       Pushing disk summary changes from the madagascar branch
-
-       * camel-groupwise-folder.c (groupwise_sync_summary),
-       (groupwise_sync), (groupwise_refresh_info),
-       (groupwise_refresh_folder), (gw_update_all_items):
-       * camel-groupwise-store.c (groupwise_get_folder),
-       (gw_store_reload_folder):
-       * camel-groupwise-summary.c (camel_groupwise_summary_class_init),
-       (camel_groupwise_summary_new), (summary_header_from_db),
-       (gw_summary_header_load), (summary_header_to_db),
-       (gw_summary_header_save), (message_info_from_db),
-       (message_info_to_db), (content_info_from_db), (content_info_to_db),
-       (groupwise_summary_clear):
-
-2008-05-21  Johnny Jacob  <jjohnny@novell.com>
-
-       * camel-groupwise-store.c (convert_to_folder_info): Marking this
-       function as static.
-
-2008-05-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #531591
-
-       * camel-groupwise-utils.c:
-       * camel-groupwise-folder.c
-       * camel-groupwise-store.c:
-       Don't use TeX-style quotes in user-visible messages.
-
-2008-05-19  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_transfer_messages_to):
-       Use the right iterator to prevent a crash in offline mail movement.
-
-       ** Fix for bug #531009
-
-2008-05-19  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (gw_update_summary):
-       Added a necessary condition to handle a specific server response 
-       and to prevent a crash.
-
-       ** Fix for bug #530514
-
-2008-05-19  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_folder_get_message),
-       (gw_update_cache):
-       Large memory leak while syncing mails for offline usage.
-
-       ** Fix for bug #530543
-
-2008-04-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes #338330 (bnc)
-       Internet Based Calendar Events Are Declined By Evolution/GroupWise
-
-       * camel-groupwise-folder.c: (groupwise_folder_item_to_msg):
-
-2008-04-30  Sankar P  <psankar@novell.com>
-
-       ** Fixes #182380 (bnc)
-       Message classification and security cannot be viewed
-
-       * camel-groupwise-folder.c: (groupwise_folder_item_to_msg):
-
-2008-04-16  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (update_update):
-       Free memory even on error conditions. Fix the
-       memory leak.
-
-2008-04-01  Sankar P  <psankar@novell.com>
-
-       ** Fix for bug #525485
-
-       * camel-groupwise-folder.c: (groupwise_folder_item_to_msg):
-       Removed some infinite loops and corrected the conditional statement.
-
-2008-03-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #518710
-
-       * camel-groupwise-store-summary.c:
-       Remove unneeded inclusion of <libedataserver/md5-utils.h>.
-
-2008-03-25  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-store.c: (groupwise_get_folder),
-       (store_refresh_refresh), (groupwise_get_folder_info),
-       (groupwise_delete_folder), (groupwise_rename_folder),
-       (groupwise_get_trash):
-       Avoid erroneous casting and use already cast variables.
-       Code cleanup.
-
-2008-03-20  Sankar P  <psankar@novell.com>
-
-       ** Fix for bug #523528 and bnc #372383
-
-       * camel-groupwise-folder.c: (groupwise_folder_get_message):
-       Some mails with attachments does not have an attachment icon in the mail list. 
-       Related problems: Mail size is not shown for some mails.
-       And not all related recurring appointments are deleted as well.
-
-2008-02-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for BNC bug #359950 
-
-       * camel-groupwise-folder.c: (groupwise_folder_item_to_msg): If nothing
-       to decode, handle it well. Reviewed by Sankar.
-
-2008-02-26  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * Makefile.am: Add E_DATA_SERVER_CFLAGS/LIBS to make it build.
-
-2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel-groupwise-folder.c (groupwise_transfer_messages_to): Fixes
-       some warnings. Fix from downstream opensuse.                                                                 
-
-2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #183819 (bnc)
-       * camel-groupwise-folder.c (update_update): Fixes a crash
-       while closing evolution in offline mode. Patch from downstream
-       opensuse.                                                                     
-
-2008-02-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bnc #167638
-
-       * camel-groupwise-folder.c: (update_update): Upstreamed OpenSUSE patch
-       by Sankar. Quit GW download after Quit requested.
-
-2008-01-30  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #395939
-
-       * camel-groupwise-store.c: (groupwise_forget_folder): Memory leak fix.
-
-2008-01-22  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #498977
-
-       * camel-groupwise-utils.c: (send_as_attachment):
-       Prevent encoding to base64 of no data in the content buffer.
-
-2008-01-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-groupwise-store.c (groupwise_auth_loop):
-       Use a consistently worded password prompt message by calling
-       camel_session_build_password_prompt().
-
-2008-01-15  Dan Winship  <danw@gnome.org>
-
-       * camel-groupwise-folder.c:
-       * camel-groupwise-transport.c:
-       * camel-groupwise-utils.c: Remove unused libsoup includes
-
-2007-12-06  Sankar P  <psankar@novell.com>
-
-       ** Fixes bug #501969
-
-       * camel-groupwise-store.c: (groupwise_store_construct),
-       (groupwise_auth_loop), (groupwise_get_folder),
-       (gw_store_reload_folder), (groupwise_create_folder):
-       Passwords should not be forgotten on all errors.
-
-2007-11-16  Sankar P  <psankar@novell.com>
-
-       ** Fixes bug #481093
-
-       * camel-groupwise-folder.c: (groupwise_sync_summary),
-       (groupwise_transfer_messages_to):
-       Move mail to/from sent-items case missed while porting.
-       Solves (un)read count issues as well
-
-2007-11-15  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #474000
-
-       * camel-groupwise-folder.c (groupwise_folder_item_to_msg):
-       Always initialize 'len_iter' before calling g_base64_decode().
-
-2007-11-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Merge a bunch of compiler warning fixes and cosmetic
-          cleanups from camel-lite.
-
-2007-09-29  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * camel-groupwise-folder.c: (gw_update_cache), (gw_update_summary),
-       (groupwise_folder_item_to_msg): Use the right enum type.
-       * camel-groupwise-journal.c: (camel_groupwise_journal_get_type),
-       (groupwise_entry_play_append):
-       * camel-groupwise-store.c: (groupwise_connect),
-       (groupwise_get_folder), (gw_store_reload_folder),
-       (groupwise_folders_sync):
-       * camel-groupwise-utils.c:
-       (camel_groupwise_util_item_from_message): NULL vs 0 fixes.
-
-2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #474000
-
-       * camel-groupwise-utils.c (send_as_attachment):
-       * camel-groupwise-folder.c (groupwise_folder_item_to_msg):
-       Use GLib's Base64 API instead of libsoup's.
-
-2007-09-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #473880
-
-       * providers/groupwise/camel-groupwise-folder.c:
-       (groupwise_msg_set_recipient_list): Fixes serious compiler warning.
-
-2007-09-03  Sankar P  <psankar@novell.com>
-
-       ** Fix for bnc bug #302038
-
-       * camel-groupwise-folder.c: (groupwise_refresh_folder),
-       (gw_update_cache), (gw_update_summary):
-       Debug statements should not be g_warnings.
-
-2007-08-23  Sankar P  <psankar@novell.com>
-       
-       ** Fix for bug #464636
-
-       * Committed on behalf of Ashish <shashish@novell.com>
-
-       * camel-groupwise-folder.c: (gw_update_cache), (gw_update_summary):
-       Sender field does not display anything.
-
-2007-08-16  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #350539
-
-       * camel-groupwise-utils.c: (do_multipart):
-       Ensures non-NULL part.
-
-2007-07-30  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_sync),
-       (groupwise_refresh_folder), (gw_update_all_items),
-       (groupwise_transfer_messages_to), (groupwise_expunge):
-       * camel-groupwise-store.c: (gw_store_reload_folder):
-       More code cleanup. Fixes annoying "Is a Directory" error.
-       All (un)read count fixes should have been ported.
-       Moved items from sent-items are lost is fixed.
-
-2007-06-11  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_refresh_folder),
-       (groupwise_transfer_messages_to):
-       Fetches "Sent Items" in all folders. Also, fixes some bugs
-       in moving mails across folders. Removes phantom removeRequests
-
-2007-05-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-groupwise-provider.c: Fix fo bug #347326 from Ebby Wiselyn
-
-2007-05-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-groupwise-folder.c:
-       * camel-groupwise-store.c:
-       Fix warnings reported by 'sparse'.  Patch from Kjartan Maraas.
-
-2007-04-03  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_folder_get_message),
-       (groupwise_msg_set_recipient_list), (gw_update_cache):
-       * camel-groupwise-store.c: (convert_to_folder_info):
-       Removed some ugly hacks and work-arounds made for the 
-       old implementation of the status-tracking. 
-
-       Sent Items will have cache hereafter and GroupWise mailer
-       should be more stable here-after.
-
-2007-04-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-groupwise-store.c:
-       Disable unused functions.  Patch from Kjartan Maraas.
-
-2007-03-29  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-groupwise-utils.c:
-       Fix "incompatible pointer type" warnings (#360619).
-
-2007-03-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-groupwise-folder.c:
-       * camel-groupwise-utils.c:
-       Don't mix declarations and code (#405495).
-       Patch from Jens Granseuer.
-
-2007-03-16  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #360240
-
-       * camel-groupwise-folder.c (gw_update_cache), (gw_update_summary):
-       Remove unused variables.
-
-2007-02-23  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #356177
-
-       * camel-groupwise-folder.c:
-       * camel-groupwise-private.h:
-       * camel-groupwise-store.c:
-       Migrate from EMutex to GStaticMutex or GStaticRecMutex.
-
-2007-02-09  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (gw_update_cache), (gw_update_summary):
-       Deletes all instances of a recurrence appointment as soon as the 
-       invitation is accepted/declined adn applied-to-all.
-       Fixes #312301
-
-2006-12-07  Harish Krishnaswamy  <kharish@novell.com>
-
-       * camel-groupwise-store.c: (camel_groupwise_store_class_init):
-       Assign free_folder_info to the parent class implementation.
-       Fixes a huge leak on GW Mailer especially with proxy accounts,
-       one of the issues targeted in Bug #222605 on bugzilla.novell.com
-
-2006-11-16  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_sync), (gw_update_cache),
-       (gw_update_summary), (groupwise_transfer_messages_to):
-       Update read and unread counts across folders on folder-switch,
-       mail-deletion, moving mails and other operations.
-
-2006-11-08  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (gw_update_cache), (gw_update_summary):
-       Set CAMEL_MESSAGE_USER_NOT_DELETABLE flag if proxy has no delete permission
-
-2006-11-08  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_folder_item_to_msg):
-       Fixes the problem of attachments getting corrupt in SOAP mailer
-       Fixes some problems with Mime.822
-       Fixes the problem of signatures getting corrupt in SOAP
-       Fixes #350880 and a few duplicates in bnc
-
-2006-08-28  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-sumamry.c:
-         camel-groupwise-folder.c:
-         Marking a message as (un)junk may lead to infinite loop
-         and hence crashing.
-       * Fixes #190345 on Novell Bugzilla
-         
-2006-07-22  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel-groupwise-folder.c:
-       (groupwise_populate_msg_body_from_item), (convert_to_task),
-       (convert_to_note): Added support for Gw notes.
-
-2006-07-17  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-utils.[ch]:
-       Added support for security-classification in GW send-options.
-
-2006-07-06  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-transport.c: (groupwise_send_to):
-       check if you have a valid transport. For those wierd times
-       when you have everything screwed up
-
-2006-07-05  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-utils.c: (camel_groupwise_util_item_from_message):
-       fix compiler warnings
-
-2006-07-05  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** Fixes bug #165728 on novell bugzilla
-       * camel-groupwise-store.[ch]:
-       (groupwise_store_construct): initialize list loaded to 3
-       (groupwise_get_folder_info): update only once from the server
-       and from then on - just use the cache.
-
-2006-07-05  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** Fixes bug #165922 on novell bugzilla.
-       * camel-groupwise-folder.[ch]: 
-       (groupwise_folder_item_to_msg): use Mime.822 whenever it is available
-
-
-2006-06-15  Andre Klapper  <a9016009@gmx.de>
-
-       * camel-groupwise-folder.c: 
-       changing "cancelled" to "canceled" in user-visible strings.
-       Fixes bug #342163.
-
-2006-06-13  Andre Klapper <a9016009@gmx.de>
-
-       * camel-groupwise-store.c:
-       changing "couldn't", "can't" and "didn't" to proper
-       English. Fixes bug #342160.
-
-2006-06-13  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       Fixes bug #167517 on bnc
-
-       * camel-groupwise-utils.c: (send_as_attachment):
-       revert a part of fejjs patch. We need the message id
-       with the container in it. We cant use the camel_header_msgid_decode
-       method since it would normalise anything after ':'. 
-       Henceforth the forwardrequest would get the complete id of the message
-       and the link info is sent correctly.
-
-       * camel-groupwise-store.c:
-       * camel-groupwise-folder.c: 
-       (gw_update_cache):
-       (gw_update_summary): use the hasAttachments element to
-       check if a mail has attachments or not.
-       
-2006-06-12  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       Fixes bug #166265 on bnc
-       
-       * camel-groupwise-folder.c: call purgeRequest when
-       deleting on Trash folder
-
-2006-06-09  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c:
-       Fixes the problem of email id appearing twice
-       
-2006-06-09  Chris Heath  <chris@heathens.co.nz>
-
-       * camel-groupwise-journal.c (update_cache): Fix memory leak.
-       Fixes bug #335423.
-
-2006-06-06  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fixes for Novell bug #173454
-
-       * camel-groupwise-utils.c (add_recipients): Changed to be an
-       internal function.
-       (send_as_attachment): No longer takes 'buffer' nor 'encoding'
-       arguments. Changed the code to use the camel content-id/message-id
-       parsers rather than home-brew blocks of code to do it. Instead of
-       strcmp'ing mime types, use the camel_content_type_is() function
-       which simplifies things a bit.
-       (camel_groupwise_util_item_from_message): No longer takes a
-       recipients list argument as this function extracted that info from
-       the CamelMimeMessage object anyway. Do charset conversion for
-       text/plain parts.
-
-       * camel-groupwise-folder.c (groupwise_append_message): Don't pass
-       to/cc/bcc recpients to camel_groupwise_util_item_from_message() as
-       it no longer takes those arguments.
-
-       * camel-groupwise-transport.c (groupwise_send_to): Same.
-
-2006-05-23  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_refresh_folder)
-       Uses readCursor on trash so that we get all items
-
-2006-05-17  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c:
-       Notify the user if the Trash is overflowing
-
-2006-04-28  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c:
-        Initialize a pointer to NULL so that we wont
-       have any dangling reference to be freed
-
-2006-04-24  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: 
-       Removes multiple items by a single call instead
-       of deleting one-by-one.
-
-2006-04-22  Sankar P  <psankar@novell.com>
-       * camel-groupwise-store.c: (convert_to_folder_info):
-       No need to get the unread count for Sent Items folder. 
-       All will be read by default.
-       
-2006-04-20  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug 167640 on bnc
-       * camel-groupwise-store.c: Add space at the end of a string.
-
-2006-04-20  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-summary.c : (groupwise_summary_clear):
-       Removes from summary based on uid instead of info.
-       This will avoid double-free crash of info.
-       
-2006-04-18  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_sync):
-       Corrected an erroneous commit.
-       
-2006-04-17  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_refresh_folder)
-       Sync up the flags before updating the changes.
-
-2006-04-06 Parthasarathi Susarla  <sparthasarathi@novell.com>
-
-       * camel-groupwise-folder.c : (gw_update_cache)
-       Store the flags to the summary so that the markRead doesnot 
-       get called every time
-       
-2006-04-06  Parthasarathi  Susarla <sparthasarathi@novell.com>
-
-       * camel-groupwise-store.c :
-       Sync up changes before gettting the folder-list
-
-2006-04-03  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (update_junk_list)
-       (gw_update_summary)(gw_update_cache):
-       Stores the name as well as the email address so
-       that the (un)junk operations will work.
-       
-2006-04-03  Sankar P  <psankar@novell.com>
-       
-       * camel-groupwise-folder.c: (groupwise_refresh_folder):
-       Added code for getting deltas for Proxy accounts, 
-       instead of downloading everything everytime.
-               
-2006-03-24  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: (groupwise_item_folder_to_msg):
-       Set content type, so that it does not crash
-       
-2006-03-23  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c:
-       (groupwise_refresh_folder):
-       Sync up externally deleted items only on arrival of New items 
-
-2006-03-23  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: 
-       (groupwise_sync): removed a double free and a crash
-       (gw_update_cache): Do not clone messageinfo. jus work on
-       the original message info
-       * camel-groupwise-store.c: (groupwise_folders_sync):
-       sync up the current folder whenever the folder list is 
-       being refreshed.
-       
-2006-03-21  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-utils.c: (do_multipart):
-       Remove unrefs which are actually not needed for a Datawrapper got
-       from camel_medium_get_content_object()
-
-2006-03-20  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:(gw_udpate_cache):
-       Sync up changes made in the server with the local data, mainly
-       the read and unread data.
-
-2006-03-17  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-       (groupwise_folder_item_to_msg): If the message-body/attachment 
-       is larger than 1MB, have to get it in chunks(streaming).
-
-2006-03-15  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c:
-       (gw_update_cache) (update_update)
-       (groupwise_refresh_folder) (gw_update_all_items):
-       - Use read_cursor ALL for identifying new messages and 
-       avoids getQM for getting new items. 
-       - Altered the code which keeps Evolution stay in sync,
-       with the rest of the clients by deleting 
-       externally deleted items 
-       
-2006-03-13  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * Fixes bug 137357 & 156823
-       
-       * camel-groupwise-store.c:
-       (groupwise_auth_loop): 
-       (groupwise_connect): 
-       Ignore Offline status when service status is
-       Disconnected.
-
-2006-03-13  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * Fixes bug 152355
-
-       * camel-groupwise-folder.c: 
-       (groupwise_refresh_info): If the summary is corrupt, or is not
-       present, rebuild the summary again.
-       * camel-groupwise-store.[ch]:
-       (gw_store_reload_folder): This method rebuilds the folder summary
-       it the summary is somehow corrupted.
-
-2006-03-11  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c:
-       Changed the way in which UIDs are handled. Reduces a lot of 
-       coslty String and List operations. Should make GroupWise provider 
-       run fast and shutdown faster. Reduces CPU and memory usage too.
-       
-2006-03-11  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: (groupwise_refresh_info):
-       reload folder if there is no content in it.
-
-       * camel-groupwise-store.c: 
-       (groupwise_connect): Dont check for disconnected state while 
-       connecting.
-       (groupwise_get_folder): set the correct total count so that 
-       we get the actual progress on each folder when downloading 
-       mail headers the first time.    
-
-2006-03-09  parthasarathi susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c: 
-       (camel_groupwise_store_connected):
-       (check_for_connection):
-       check if the status is online before trying to connect
-       to server. 
-
-       * camel-groupwise-folder.c: (gw_update_cache):
-       assert lock, before continuing further.
-
-2006-01-31  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug 329214
-       
-       * camel-groupwise-utils.c:
-       (send_as_attachment): use text.htm for text files only
-       if there is no file name.
-
-2006-01-24  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: 
-       (groupwise_sync):
-       (groupwise_transfer_messages_to):
-       (groupwise_append_message):
-       lookup for CNC only if we are connected.
-       
-       * camel-groupwise-store.c:
-       (groupwise_auth_loop):
-       (groupwise_connect):
-       lookup for CNC only if we are connected
-       (groupwise_disconnect_cleanup): cleanup the priv
-       structure whenever we disconnect
-
-2006-01-23  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-       (update_junk_list): do not contact the server each time we 
-       add junk, just once, while marking not junk.
-       (groupwise_transfer_messages_to): fix a crash, have to use
-       destination->summary instead of destination. 
-       
-       ** See bug 327376
-       * camel-groupwise-transport.c: (groupwise_send_to):
-       set the link info to NULL. Fixes a crash.
-       * camel-groupwise-utils.c: (send_as_attachment):
-       Based on encoding, check if we are sending non base64 data
-       to the server, if we are, do a base64 encode first.
-
-2006-01-19  Andre Klapper <a9016009@gmx.de>
-
-       * camel-groupwise-transport.c: fixed a typo and improved an
-       error message. Fixes bug 325657.
-
-2006-01-12  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-       (groupwise_populate_details_from_item):
-       (gw_update_cache):
-       (gw_update_summary):
-       put the created date, in case of missing delivered date
-
-       ** See bug 314841
-       (gw_update_summary): dont bold trash folder with number of
-       messsages
-
-       * camel-groupwise-storec.:(groupwise_get_folder):
-       request for created date too
-
-       ** See bug 323570
-       
-       * camel-groupwise-utils.c: 
-       (do_multipart): a part can further be a multipart so have a
-       recurssive function
-
-2006-01-04  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-       (groupwise_sync_summary): saves the summary to the disk
-       (groupwise_sync): remove a lot of junk code
-       (groupwise_folder_item_to_msg): fixes the html with embedded
-       images issue. See bug 320898
-       * camel-groupwise-store.c: remove printfs everywhere
-       * camel-groupwise-utils.c: 
-       (strip_lt_gt): strips the < and > characters based on the
-       given offsets
-
-
-2005-12-14  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug 317794
-       * camel-groupwise-store-summary.c:
-       (camel_groupwise_store_summary_full_to_path):
-       (camel_groupwise_store_summary_path_to_full):
-       Do not convert folder names here, there are already converted
-
-2005-12-13  Tor Lillqvist  <tml@novell.com>
-
-       * camel-groupwise-store.c
-       * camel-groupwise-utils.c: Use gstdio wrappers. Use GDir instead
-       of dirent API.
-
-2005-12-09  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug 321830
-       
-       * camel-groupwise-folder.c: (gw_update_cache): Do not skip 
-       caching sent items, they dont get displayed otherwise.
-       
-2005-11-09  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-       (groupwise_sync): initialise mi and free some stuff
-       (groupwise_expunge): clear summary and cache and emptying trash
-       Fixes bug **320095
-       
-       * camel-groupwise-store.c:
-       (groupwise_connect): do not attempt to connect when the service is 
-       disconnected and the network is unavailable.
-       (groupwise_disconnect): check if priv is indeed available. Prevents
-       a violation
-       (groupwise_get_trash): fix up the state of the folder. Fixes the bug
-       **320095
-
-       * camel-groupwise-summary.[ch]:
-       (groupwise_summary_clear): clears the summary and cache of a groupwise
-       folder.
-
-2005-11-09  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-transport.c (groupwise_send_to):
-       Changed the string so as to be consistent with Win32 client error messages.
-       
-2005-11-09  Shreyas Srinivasan <sshreyas@novell.com>
-
-       * camel-groupwise-store.c (groupwise_connect): Uncomment
-       code which previously fixed offlining code.
-       
-2005-11-09  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-transport.c (groupwise_send_to):
-       Added code to handle the Quota errors.
-       Fixes #314476
-       
-2005-11-07  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug #320736
-       * camel-groupwise-folder.c: (groupwise_folder_item_to_msg):
-       Check if the attachment buffer is indeed valid. Prevents a possible
-       segment violation.
-
-2005-10-21  Shreyas Srinivasan <sshreyas@novell.com>
-
-       * camel-groupwise-store.c:(groupwise_connect): Connect if store->state
-       is CAMEL_OFFLINE_STORE_NETWORK_UNAVAIL and not if 
-       CAMEL_OFFLINE_STORE_NETWORK_AVAIL
-
-2005-10-19 Vivek Jain <jvivek@novell.com>
-       
-       **See bug #319045
-       * camel-groupwise-store.c: 
-       (convert_to_folder_info)
-       (get_one_folder_offline): Don't set folder type as 
-       CAMEL_FOLDER_JUNK, it assumes it as a search folder, which
-       it is not in groupwise
-       
-       * camel-groupwise-folder.c: (transfer_messages_to):
-       set the flags correctly for GW_JUNK
-       
-2005-10-03  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug 314751
-
-       * camel-groupwise-utils.c: 
-       (send_as_attachment): set file name as text.htm
-       (camel_groupwise_util_item_from_message): if its multipart/alternative
-       get the html and text parts independently
-       
-2005-09-30 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-store.c: (get_folder_info)
-       remove env check GROUPWISE_SHARED_FOLDER
-       to enable shared folder functionality
-
-2005-09-28  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c (groupwise_refresh_folder):
-       Added peek to the view so that the unread status of mails doesnt get 
-       changed during a proxy access.
-       Fixes #309993
-       
-2005-09-26  Veerapuram Varadhan <vvaradhan@novell.com>
-       * camel-groupwise-folder.c: (camel_gw_folder_new)
-       Memory leak fixes.
-       
-       * camel-groupwise-store.c: (groupwise_store_construct)
-         (camel_groupwise_store_finalize): Memory leak fixes, use
-         g_hash_table_new_full instead of g_hash_table_new.
-       
-2005-09-26 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-folder.c :(update_junk_list)
-       initialize variables email and from.
-       **Fixes #314942
-
-2005-09-18  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: (groupwise_refresh_info):
-       Save changes made to the folder counts to the store summary.
-
-       * camel-groupwise-store.c: (check_for_connection): Method 
-       checks if we are really connected when online or not.
-       (groupwise_base_url_lookup): returns the base url of the store
-
-2005-09-16  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug 310742
-       * camel-groupwise-folder.c: (groupwise_append_message):
-       Makes sure that messages can be copied only to Mailbox
-       or SentItems as per GW server specs
-       
-2005-09-16  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c: (match_path): method
-       matches the patch given a pattern and a path.
-       * camel-groupwise-utils.c: (gw_concat): concats the path
-       to the base_url
-
-2005-09-15  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c: (groupwise_create_folder):
-       Does not allow creating subfolders under system folder
-
-2005-09-15  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-       (groupwise_folder_get_message): free message info
-       Dont cache messages in Sent Items folder.
-       (groupwise_populate_details_from_item):
-       (gw_update_cache):
-       (gw_update_summary):
-       Use the delivered time instead of the created time
-       in the summary and cache.
-       (groupwise_sync): Use folder Locks. This should fix 
-       the summary corruption bug, logically.
-
-       * camel-groupwise-store.c:
-       (groupwise_connect): sync folders here when the user 
-       creats the account the first time.
-       (groupwise_get_folder): destroy cursor when something 
-       fails
-       (convert_to_folder_info): parse date in EGwcontainer 
-       and create a corresponding CamelFolderInfo
-       (get_folders_sync): sync folder list with the server
-       (groupwise_get_folder_info): basically work from the
-       cache, and refresh only asynchronously.
-       (groupwise_get_folder_info_offline): Changed radically.
-       gets stuff from the StoreInfo and populates the folder
-       info.
-       (camel_groupwise_store_connected): checks if we are 
-       really connected and online. Based on an equivalent
-       IMAP function.
-
-       * camel-groupwise-transport.c: (groupwise_send_to):
-       Free url.
-       Report a proper error message when the mail cannot be 
-       sent.
-
-2005-09-02 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-folder.c: (groupwise_folder_item_to_msg)
-       check contentType to be NULL before we set it.
-       **Fixes #310953
-
-2005-08-25  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       ** See bug # 312857
-
-       * camel-groupwise-folder.c: 
-       (groupwise_sync):
-       (updata_update):
-       (gw_update_all_items):
-       (groupwise_expunge): Use folder locks while deleting mail. 
-
-2005-08-25 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-folder.c: put back the commit i did on 
-       22-08-2005 not sure how it got reverted
-
-2005-08-24  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug #310996
-
-       * camel-groupwise-store.c:
-       (groupwise_get_folder_info): unlock when returning
-       (groupwise_rename_folder): unlock on the groupwise_store
-       
-2005-08-24  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-       (groupwise_folder_item_to_msg): show multipart/signed and
-       multipart/encrytepd messages
-
-2005-08-24  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (update_update)
-       Moved from getQuickMessages to readCursor, while geting
-       list of all ids for syncing deleted items.
-       Fixes #306803
-
-2005-08-24  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug #310996
-
-       * camel-groupwise-store.c:
-       (groupwise_get_folder_info): unlock when returning
-       (groupwise_rename_folder): unlock on the groupwise_store
-       
-2005-08-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-groupwise-summary.c (gw_info_set_flags): return FALSE if
-       no flags were set.
-
-       * camel-groupwise-store.c (groupwise_get_folder): remove unused session.
-       (groupwise_get_folder_info): comment out unused msg.
-
-       * camel-groupwise-folder.c (move_to_mailbox): ugh, take an
-       exception argument, don't just make one up, and then not
-       initialise it!
-       (move_to_junk): same.
-       (gw_update_cache): initialise type.
-       (gw_update_summary): same.
-       (groupwise_folder_item_to_msg): use the right type for
-       container_id.
-       (groupwise_folder_item_to_msg): dont unref the as-yet-unset part.
-
-2005-08-23  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: (gw_update_all_items):
-       use cache lock before deleting items from cache.
-       Prevents a possibility of crash.
-       
-2005-08-22 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-store.c: (get_folder_info)
-       change SHARED_FOLDER to GROUPWISE_SHARED_FOLDER
-       to be specific
-
-2005-08-22 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-folder.c:(update_junk_list)
-       check if 'from' or email is NULL
-       return otherwise
-
-2005-08-22 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-store.c: (get_folder_info)
-       disabled support for shared folder temporarily
-       you have to export SHARED_FOLDER to see a shared folder
-       with diff icon.
-
-2005-08-22  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c:
-       (groupwise_get_folder_info): Set Junk icon for Junk Mail
-       folder
-
-2005-08-19  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** see bug #313806
-
-       * camel-groupwise-utils.c:
-       (send_as_attachment): Encode the signature in base64. Thats
-       how the groupwise soap interface expects it.
-
-2005-08-18  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** see bug #312184
-
-       * camel-groupwise-folder.c:
-       (gw_update_cache): show signatures inline.
-
-2005-08-18 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-store.c: (groupwise_create_folder):
-       disallow special folder names only when created at the top level
-       **Fixes #313058
-
-2005-08-17  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** see bug #310956
-
-       * camel-groupwise-store.c:
-       (groupwise_get_folder_info): if the selected folder is
-       a system folder, return data from the cache, since system
-       folders are not allowed to have sub folders.
-
-2005-08-16  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** see bug #3028355
-       
-       * camel-groupwise-store.c:
-       (get_one_folder_offline): check if it is mailbox and set
-       the folder type.
-
-2005-08-16 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-folder.c : (groupwise_folder_item_to_msg),
-       initialize container_id and assign this a valid value
-       **Fixes #313381
-
-2005-08-12  Tor Lillqvist  <tml@novell.com>
-
-       * Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-       libcamel and CAMEL_LIBS.
-
-2005-08-11  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: (gw_update_cache):
-       fix the message on the status bar when downloading
-       summary for new messages
-       * camel-groupwise-store.c: remove commented code.
-
-2005-08-10  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** see bug 300797
-       
-       * camel-groupwise-folder.c: (groupwise_refresh_folder):
-       handle an error. 
-
-2005-08-09  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** see bug #312857
-
-       * camel-groupwise-folder.c: (groupwise_refresh_folder):
-       update summary only if there are new/modified items
-
-2005-08-09 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-utils.c : (camel_groupwise_util_item_from_message)
-       enable status tracking options by default, unless user modified them.
-       **Fixes #302963
-
-2005-08-09 Vivek Jain <jvivek@novell.com>
-
-       * camel-groupwise-utils.c : (camel_groupwise_util_item_from_message)
-       check for the content type, Message can be none other than text/plain,
-       .(server doesn't support it). if its not, send as attachment,
-       Moved the code of handling attachment part into a new function 
-       :(send_as_attachment).
-       **Fixes: #310325
-
-2005-08-09: NotZed <notzed@ximian.com>
-       
-       patch by:
-       (2005-04-17  Changwoo Ryu  <cwryu@debian.org>)
-       ** See bug #300891
-       
-       * Makefile.am (INCLUDES): define
-       CAMEL_EXPLICIT_TRANSLATION_DOMAIN.
-
-       * camel-groupwise-provider.c (camel_provider_module_init):
-       set translation_domain in CamelProvider struct.
-
-2005-08-04  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c
-       (groupwise_folder_item_to_msg): set the CamelMimeMsg into
-       a CamelMimePart and then into a CamelMultipart.
-       Fixes Bug ** #312535
-
-2005-08-04 Dinesh Layek < LDinesh@novell.com >
-
-       Fixes #305304
-       * camel-groupwise-folder.c
-       (convert_to_calendar): encoded the new-line('\n') characters 
-       of description-field as \n (two different characters'\','n').
-
-2005-08-04  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * camel-groupwise-store.c:
-       (groupwise_connect): set the service status flag to
-       connected.
-       * camel-groupwise-folder.c:
-       (groupwise_expunge): purge items if it is a Trash 
-       Folder.
-       Fixes Bug ** 311887
-       
-2005-08-03  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: 
-       (gw_update_all_items): compare item id only until the 
-       first '@'. Fixes bug 311585
-
-2005-08-03  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-       * camel-groupwise-store.c:
-       * camel-groupwise-utils.c:
-       * camel-groupwise-transport.c:
-       Formatting code. Removed space between statement and ';'.
-
-2005-08-03 Vivek Jain <jvivek@novell.com>
-
-       * camel-groupwise-folder.c:
-       * camel-groupwise-store.c: Don't use g_ascii_strncasecmp in all
-       the cases when lenght is going to be constant, replace it with
-       g_ascii_strcasecmp where we need case insensitive comparison, 
-       and strcmp in others.
-
-2005-08-02 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-transport.c: (groupwise_send_to)
-       if account is not even enabled we don't have that store.
-       g_error crashes evolution for that, use g_warning
-
-2005-08-02 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-folder.c: (transfer_messages_to)
-       check for the flags to be reset while transferring to/from junk
-       folder.
-       **Fixes #312190
-       (groupwise_sync): make sure we never call mark_read when list is NULL
-
-2005-08-02  Sankar P  <psankar@novell.com>
-       
-       * camel-groupwise-provider.c: (groupwise_url_equal) 
-       Added code to check the protocol while comparing two URLs.
-       Fixes bug #312185
-
-2005-08-01  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c:
-       (groupwise_is_system_folder):Check if a folder is a system 
-       folder or not before deleting or renaming
-       (groupwise_store_construct):remove flag CAMEL_STORE_VTRASH
-       
-2005-07-30  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c:
-       formatted code, issues in coding style.
-
-2005-07-29  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-utils.c : 
-       (camel_groupwise_util_item_from_message): in case of
-       forwarded mails, do not populate data and size
-       Fixes bug 303065
-
-2005-07-29 Vivek Jain <jvivek@novell.com>
-
-       * camel-groupwise-folder.c :(move_to_junk)
-       pass valid exception value in get_folder here NULL, so that clear 
-       doesn't cause crash.    
-
-2005-07-28  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c: (groupwise_get_folder)
-       remove unwanted code. 
-       * camel-groupwise-folder.c: 
-       (groupwise_update_summary):
-       This function updates only the summary
-       (groupwise_update_cache):
-       This method updates the cache with the message body
-       and attachment
-
-2005-07-27  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-transport.c: (groupwise_send_to)
-       Setting an exception if delivery fails, so as to 
-       retain unsent items in Outbox.
-       Fixes #302968
-       
-2005-07-27  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c 
-       (groupwise_folder_get_message): remove some unnecessary locks
-       (gw_update_summary): remove unused code
-
-       * camel-groupwise-store.c
-       (groupwise_get_folder): remove locks
-
-2005-07-25  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: (groupwise_folder_item_to_msg)
-       fix a crash freeing attachment buffer
-
-2005-07-24  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-provider.c:
-         string changes made. ** Fixes bug 272505
-
-2005-07-20  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-         ** Fix for bug ** 310953
-
-2005-07-19  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel-groupwise-folder.c: (convert_to_calendar): Use the
-       recurrence key as the UID if it is non-zero.
-
-2005-07-19  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c: 
-       (does_folder_exist): checks if a folder exists or not
-       ** Fixes bug 310716
-
-2005-07-19  Shreyas Srinivasan <sshreyas@novell.com>
-
-       * camel-groupwise-store.c: Remove some redundant code in 
-       groupwise_get_folder which was crashing evolution on Mac. 
-       
-2005-07-10  Shreyas Srinivasan <sshreyas@novell.com>
-
-       * camel-groupwise-store.c: Add check that uses parents password
-       for a proxy.
-       * camel-groupwise-folder.c: Use GetItems as GetQM is not valid on
-       proxy login.
-
-2005-07-07  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: (gw_update_summary):
-         do not insert ',' if there are no mail ids in 'TO'
-         field.
-         ** Fixes bug 302965 **
-
-2005-07-07 Vivek Jain <jvivek@novell.com>
-       
-       * camel-groupwise-folder.c:(groupwise_sync)
-       check for the junk flags
-       (move_to_junk), (move_to_mailbox), (update_junk_list)
-       (free_node): are new utility functions
-       (gw_update_summary): ensure messages in "Junk Mail" folder 
-       have JUNK flag set
-       * camel-groupwise-summary.c: implemented virtual function
-       (gw_info_set_flag): extends default (info_set_flag) to have
-       checks for junk flags
-       * came-groupwise-summary.h : added extra summary flags for junk
-       * camel-groupwise-store.[ch]: (create_junk_folder):creates a juk
-       folder by modifying the junk settings
-       
-2005-07-06  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-         (groupwise_folder_item_to_msg): function to convert
-          an item to a CamelMimeMessage
-         (groupwise_refresh_folder): This calls get Item for
-          each id that is being update in the summary. This
-          operates in a new thread.
-         (gw_update_all_items): Free summary after working on
-          it
-       * camel-groupwise-store.c:
-         (store_refresh_refresh): This method works in a
-          thread. And refreshes the summary of all the 'open'
-          folders.
-         (folder_refresh_refresh): This method refreshes a
-          folder the first time it is opened. This works in a
-          new thread.
-       
-       * camel-groupwise-transport.c:
-         (groupwise_send_to): set LinkInfo when a mail is 
-          replied to.
-       
-       * camel-groupwise-utils.c:
-         (camel_groupwise_util_item_from_message): set LinkInfo
-         when a mail is forwarded.
-         
-2005-06-16  Parthasarathi Susarla <sparthasarathi@novell.com>
-       * came-groupwise-folder.c:
-         (gw_update_summary): make appointments appear the 
-         groupwise client way, which appear based on the
-         date of the appointment and not the received time.
-
-2005-06-16  Parthasarathi Susarla <sparthasarathi@novell.com>
-       * camel-groupwise-folder.c:
-         (groupwise_sync): reverting back the removeItemsRequest
-         patch since the server interface is not working as yet.
-
-2005-06-07  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-         (groupwise_transfer_messages_to): set the current_folder.
-         ** Fixes bug #300599
-
-2005-06-07  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-        (groupwise_sync): use removeItemsRequest instead of
-        removeItemRequest. This syncs up mailbox faster.
-
-2005-06-07  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-       (groupwise_refresh_info): now updates all items on a 
-       camel session thread
-       (update_update): the thread update operation function
-       (update_free): the thread free operation function
-
-2005-05-24  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Commiting for Daniel van Eeden <daniel_e@dds.nl>
-       * camel-groupwise-transport.c: 
-       (groupwise_transport_get_name): naming consistency for
-       GroupWise.
-       Fixes bug #271901
-
-2005-05-20  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-transport.c (groupwise_send_to):
-         Call the replyRequest api before replying to a message
-
-2005-04-07  Sankar P  <psankar@novell.com>
-
-       * camel-groupwise-provider.c 
-       Added code so as to disable sent items button and prevent
-       copying of sent items to any folder, for a GroupWise account.
-
-2005-05-06  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #272504
-       * camel-groupwise-store.c: (groupwise_auth_loop): GroupWise is
-       the right way to spell.
-
-2005-05-06  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * camel-groupwise-store.c : A typo. Fixes 272503. Patch submitted
-       by Thierry Moisan
-
-2005-04-27  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: 
-         (camel_gw_folder_new): set the 'CAMEL_FOLDER_FILTER_RECENT' 
-         folder flag for the Mailbox folder
-         (gw_update_summary): add the new messages in the ChangeInfo
-         structure under 'recent' type. Only those uids which fall
-         under recent are filtered.
-       
-       * camel-groupwise-store.c:
-         (groupwise_store_construct): set 'CAMEL_STORE_FILTER_INBOX' 
-         to store flags, to enable filtering
-
-         ** Fixes bug #274194
-         
-2005-04-27  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: code formatting done.
-         removed space between the statement and ';' as per
-         the coding style
-
-2005-04-27  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: (groupwise_folder_get_message):
-         ** Fixes bug - 273246: the Mime.822 file would not be shown
-         anymore
-         ** Fixes bug - 273243: HTML mail would be displayed inline
-         and not as an attachment
-
-2005-04-15  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-groupwise-provider.c: s/offline_sync/sync_offline/. Fixes
-       bug #274257
-
-2005-04-18  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c (groupwise_get_folder): Remove redundant
-         getQuickMessageRequest
-
-2005-04-08  Sankar P <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_folder_get_message)
-       Added code to handle the item type NOTIFICATION so as to 
-        enable viewing notification mails such as Shared Folder Notification.
-       Fixes #74369
-       
-2005-04-07  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: 
-         (groupwise_refresh_info): get the ids of all items
-         in a folder from the server. 
-         (gw_update_all_items): update summary with items
-         that have been deleted from the server.
-         Fixes bug **72302 **74381 **72303
-       
-2005-04-05  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_refresh_info):
-         The Trash folder in the groupwise server works well
-         only with getItems request. So we compare the folder
-         full name (?) and if it is a trash folder, we use 
-         getItems instead of getQuickMessages.
-       
-         Fixes bugs **72310 and **73318
-
-2005-03-31  Sankar P <psankar@novell.com>
-
-       * camel-groupwise-folder.c: 
-         (groupwise_expunge) (groupwise_sync)
-         Pushed the index up one count on deletion of a summary item.
-         Fixes #74183
-
-2005-03-31  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:(groupwise_transfer_messages_to):
-         deleting the messages only if the copy is successful
-         ***   fixes bug 73897
-       
-2005-03-15  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #73421
-       * camel-groupwise-folder.c: (groupwise_folder_get_message),
-       (convert_to_task): Converts the groupwise item to task ical
-       string checking for the type.
-
-2005-03-18  Gary Ekker  <gekker@novell.com>
-
-       * camel-groupwise-folder.c: Added #include "camel-string-utils.h"
-       to prevent warnings that break 64-bit build in SuSE build system
-
-2005-03-18  Vivek Jain <jvivek@novell.com>
-       
-       **Fixes bug #73458
-       * camel-groupwise-utils.h: changed the  X_RETURN_NOTIFY_DECLINE to 
-        X_RETURN_NOTIFY_DELETE 
-       * camel-groupwise-utils.c: check the property and then call
-        (e_gw_item_set_notify_deleted) instead of
-        (e_gw_item_set_notify_declined )
-
-2005-03-17  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:(convert_to_calendar):
-         using GString for all string operations.
-
-2005-03-11  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c:
-         (gw_update_summary): using GString. An efficient way
-         for fixing bug #72145
-
-2005-03-10  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c:
-         (groupwise_get_folder): add peek and status views to 
-         the creatCursorRequest
-       * camel-groupwise-folder.c:
-         (gw_update_summary): initialise the status flag
-         variable.
-         *** Fixes bug #73308
-
-2005-03-09  Sankar P <psankar@novell.com>
-
-       * camel-groupwise-utils.c:(camel_groupwise_util_item_from_message)
-       Added code to fix the problem of Priority not set in outgoing mails
-
-2005-03-07  JP Rosevear  <jpr@novell.com>
-
-       From Dave Malcolm <dmalcolm@redhat.com>
-       
-       * camel-groupwise-store-summary.c
-       (camel_groupwise_store_summary_namespace_set): move forward
-       declaration out of block
-       
-2005-03-03  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c:
-         (groupwise_get_folder): added recipient view
-         for get quick messages
-       * camel-groupwise-folder.c:
-         (groupwise_refresh_info): added recipient view
-         for get quick messages
-         (gw_update_summary): parse the recipient list
-         for mail ids to be set in the "To" field of the 
-         summary.
-         ** Fixes # 72145
-
-2005-03-03  Vivek Jain <jvivek@novell.com>
-
-       ***Fixes # 72455
-                #73231
-                #73239         
-       * camel-groupwise-folder.c :(gw_update_summary)
-       initialize status_flags to 0
-
-2005-03-02  Vivek Jain <jvivek@novell.com>
-
-       ***Fixes # 72373
-       * camel-groupwise-store.c :(groupwise_get_folder)
-       * camel-groupwise_folder.c :(groupwise_refresh_info)
-       pass types as NULL in the call of e_gw_connection_get_quick_messages
-       to retrieve all the items
-
-2005-02-28  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: (groupwise_refresh_info):
-       * camel-groupwise-store.c: (groupwise_get_folder):
-         Removed unused variables which were causing compiler 
-         warnings caused by the previous commit
-
-2005-02-28  Harish Krishnaswamy <kharish@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_refresh_info):
-       * camel-groupwise-store.c: (groupwise_get_folder):
-       Use the timestamp from the summary as argument to the
-       getQuickMessagesRequest.
-       * camel-groupwise-summary.[ch] (gw_summary_header_load),
-       (gw_summary_header_save): read/write the timestamp returned
-       by the getQuickMessages 'New' request into/from the gw summary.
-
-2005-02-28  Sankar P <psankar@novell.com>
-
-       * camel-groupwise-utils.c: (camel_groupwise_util_item_from_message):
-         Changed the way in which the recipients list is generated so as to 
-         facilitate handling of CC and BCC addresses.
-       * camel-groupwise-utils.[ch]: (add_recipients)
-         Implemented the function add_recipients to prepare recipients list of 
-         specified type.
-         Fixes bug #73008
-
-2005-02-25  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c: 
-         (groupwise_rename_folder),
-         (groupwise_get_folder_info) : 
-         Fixes bug #72965
-         
-2005-02-25  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_refresh_info):
-       * camel-groupwise-store.c: (groupwise_get_folder),
-       (groupwise_get_folder_info): Made changes since the
-       getQm function has been changed to take the fourth 
-       argument (startdate) as double pointer.
-
-2005-02-25  Harish Krishnaswamy  <kharish@novell.com>
-
-       * camel-groupwise-store.c: (groupwise_get_folder):
-       update calls to read_cursor request to use the 
-       position argument. do not use the position cursor 
-       calls anymore.
-
-2005-02-23  Sankar P <psankar@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_folder_get_message):
-         Changed handling of addresses by using _camel_header_address
-         to enable display of gwpoa generated messages.
-       Fix for #72285 
-
-2005-02-23  Sivaiah Nallagatla <snallagatla@novell.com.
-
-       * camel-groupwise-folder.c (groupwise_folder_get_message) :
-       cache message always irrespective of whehter receipent status
-       element is there or not.
-       Fix #72907
-
-2005-02-22  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel-groupwise-folder.c: (convert_to_calendar): Append
-       the UID to the ICAL string.
-
-2005-02-17  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c: (groupwise_get_folder):
-       * camel-groupwise-folder.c: (groupwise_refresh_info):
-         the variable which holds the UTC time is not static
-         anymore. 
-         
-2005-02-10  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c:
-         (groupwise_get_folder): fixed the percentage display problem
-         while fetching summary
-       * camel-groupwise-folder.c:
-         (groupwise_expunge): fixed the problem with deleting mails
-         using removeItemRequest instead of removeItemsrequest
-
-2005-02-10  Vivek Jain  <jvivek@novell.com>
-       
-       * camel-groupwise-store.c: 
-       (groupwise_get_folder):
-       * camel-groupwise-folder.c
-       (groupwise_refresh_info):       
-       get the "Modified" items in the second_list and
-       append it to the "list"
-
-2005-02-09  Vivek Jain  <jvivek@novell.com>
-
-       * camel-groupwise-store.c:
-        (groupwise_auth_loop): make sure auth_domain is "Groupwise"
-         Fixes bug ** #71752   
-
-2005-02-08  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-utils.c:
-         (camel_groupwise_util_item_from_message):
-         set the message type even if it is not a multipart
-         Fixes bug ** #72339
-
-2005-02-08  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c:
-         (groupwise_get_folder)
-       * camel-groupwise-folder.c:
-         (groupwise_refresh_info):
-         Fixes bug ** #72106
-         
-2005-02-08  Vivek Jain  <jvivek@novell.com>
-
-       * camel-groupwise-store.c :
-        (groupwise_connect): fix the display of garbage in the 
-        alert for server version       
-
-2005-02-08  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c: 
-         (groupwise_folder_get_message): converting time to local 
-         time-zone.
-         (groupwise_refresh_info): service unlock when getquick messages
-         fails
-
-2005-02-07  JP Rosevear  <jpr@novell.com>
-
-       * camel-gw-listener.[hc]: remove dead files
-
-2005-02-06  Sivaiah Nallagatla    <snallagatla@novell.com>
-
-       * camel-groupwise-provider.c : Change the "Address and Calendar"
-       section to "SOAP Settings"
-
-2005-02-04  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel-groupwise-folder.c: (groupwise_folder_get_message): Added
-       a string for Reply requested. Appended with the subject.
-       * camel-groupwise-utils.c:
-       (camel_groupwise_util_item_from_message): set reply requested to
-       true.
-
-2005-02-04  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c: 
-         (groupwise_get_folder_info): call refresh info 
-         when Send/Recieve is clicked
-       * camel-groupwise-folder.c:
-         initialisation of variables and a little code 
-         cleanup
-
-2005-02-03  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c
-         (groupwise_get_folder): uncommented the position cursor
-         request
-
-2005-02-03  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-folder.c
-         (groupwise_folder_get_message): fix for Bug #72142
-         resolved a deadlock
-       
-       * camel-groupwise-store.c
-         (groupwise_get_folder_info): fix for Bug #71990
-         add a '/' whenever we find it missing
-
-2005-02-02  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-groupwise-store.c
-         (groupwise_get_folder): camel flag for folder type
-         trash
-         (groupwise_rename_folder): fixed issue with renaming
-         subfolders. The summary was not being renamed.
-
-2005-02-02  Vivek Jain  <jvivek@novell.com>
-       
-       * /providers/groupwise/camel-groupwise-store.c 
-       (groupwise_connect): add an alert message if the server doesn't return
-       the version  
-
-2005-02-01  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel-groupwise-folder.c: (convert_to_calendar): Remove
-       the container id, from the item id and set it to X-GWRECORD
-       id. Add temp to strconcat so that all attendees get appended
-       to the string.
-
-2005-02-01 Vivek Jain <jvivek@novell.com>
-        
-        ** see bug #71758 
-        * camel-groupwise-store.c 
-        (groupwise_get_folder_info) : set the folder type of Inbox to Inbox using
-        flag   
-Refer to main changelog for earlier changes.
-
diff --git a/camel/providers/hula/ChangeLog b/camel/providers/hula/ChangeLog
deleted file mode 100644 (file)
index 8c31ebd..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-2009-01-08  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #554182
-
-       * camel-hula-provider.c: (hula_url_hash), (hula_url_equal):
-       Don't use 'authmech' for URL comparision.
-
-2005-11-14  Harish Krishnaswamy  <kharish@novell.com>
-
-       * Makefile.am, camel-hula-provider.c, libcamelhula.urls :
-       Camel Hula provider - initial commits.
diff --git a/camel/providers/imap/ChangeLog b/camel/providers/imap/ChangeLog
deleted file mode 100644 (file)
index 266ef69..0000000
+++ /dev/null
@@ -1,1373 +0,0 @@
-2009-04-27  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #478239
-
-       * camel-imap-folder.c: (imap_get_message):
-       Check whether message has really attachment part when claiming so.
-
-2009-03-09  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-imap-summary.c (camel_imap_summary_new):
-       Change log level of "Unable to load summary: no such table" from
-       warning to message, so that G_DEBUG=fatal_warnings becomes useful
-       again.  These are just nuisance messages that get emitted during
-       normal operation.  Whatever is triggering them still needs fixed.
-
-2009-03-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Revert changes for bug #534938 because it breaks message
-          loading in IMAP and can cause summary database corruption.
-
-2009-02-12  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #534938
-
-       * camel-imap-private.h: (struct _CamelImapFolderPrivate): New property.
-       * camel-imap-folder.c: (camel_imap_folder_init), (imap_finalize),
-       (imap_folder_add_ignore_recent), (imap_folder_uid_in_ignore_recent),
-       (do_append), (handle_copyuid), (imap_update_summary):
-       Remember which IDs we added to the folder and ignore these in report
-       of recent messages, because we know about them already.
-
-2009-01-13  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-imap-folder.c: (imap_update_summary): Remove a stupid debug
-       summary
-
-2009-01-12  Robert Collins  <robertc@robertcollins.net>
-
-       ** Fix for bug #564339
-
-       * camel-imap-folder.c (camel_imap_folder_class_init),
-       (imap_folder_summary_uid_or_error), (imap_get_message),
-       (imap_sync_message), (imap_get_uncached_uids):
-       * camel-imap-message-cache.c (camel_imap_message_cache_copy),
-       (_match_part), (camel_imap_message_cache_filter_cached):
-       * camel-imap-message-cache.h:
-       Reduce the IO done during sync by not reading into memory 
-       locally cached files.
-
-2009-01-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-imap-folder.c: (imap_rescan), (imap_update_summary): Hack and
-       debug log to get one hard to get imap crash.
-
-2009-01-08  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #554182
-
-       * camel-imap-provider.c: (imap_url_hash), (imap_url_equal):
-       Don't use 'authmech' for URL comparision.
-
-2008-12-15  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #558744
-
-       * camel-imap-journal.c: (copy_uids_array), (camel_imap_journal_log):
-       Make own copy of the parameters, caller will free it for sure.
-
-2008-12-05  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #545834
-
-       * camel-imap-folder.c: (imap_get_message): Update mailing list
-       information after full message retrieval if necessary.
-
-2008-12-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #561081
-
-       * camel/providers/imap/camel-imap-folder.c: Delete mails for XGWMOVE
-       when mails are moved.
-
-2008-12-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #558883
-
-       * camel/providers/imap/camel-imap-summary.c: Don't do DB sort from
-       IMAP.
-
-2008-11-20  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #558883
-
-       * camel-imap-store.c: (parse_list_response_as_folder_info):
-       Do not strip CAMEL_STORE_INFO_FOLDER_CHECK_FOR_NEW if set.
-       * camel-imap-store.c: (imap_can_refresh_folder):
-       Check if can refresh folder based on the data in store's folder
-       summary, to not download whole folder content because of this.
-       * camel-imap-folder.c: (imap_setv):
-       Set the 'check_folder' flag to store's folder summary too.
-
-2008-11-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #561069
-
-       * camel-imap-folder.c (imap_expunge): If nothing to expunge, don't
-       crash.
-
-2008-11-07  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #558883
-
-       * camel-imap-folder.c: (imap_expunge): Do in bulk
-
-2008-11-06  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #558737
-
-       * camel-imap-folder.c: (handle_copyuid_copy_user_tags),
-       (imap_transfer_online): Do not use 'camel_folder_refresh_folder', use
-       'imap_refresh_folder' instead, because the former locks the folder
-       lock too, which could make a deadlock when we are refreshing that
-       folder in other thread, which is waiting for the connect lock we hold.
-
-2008-10-17  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #556688
-
-       * camel/providers/imap/camel-imap-folder.c: Sync before emit the
-       signal.
-
-2008-10-16  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-imap-message-cache.c (camel_imap_message_cache_new):
-       Optimize/speed up loading.
-
-2008-10-15  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-imap-folder.c: (imap_get_message): Mark info as dirty when so.
-       * camel-imap-summary.c: (content_info_from_db),
-       (content_info_to_db): Save/load cinfo to db well.
-
-2008-09-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #313225
-
-       * camel-imap-folder.c: (CAMEL_MESSAGE_INFO_HEADERS):
-       Transfer always 'CONTENT-CLASS' and 'X-CALENDAR-ATTACHMENT' headers.
-
-2008-10-14  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #552261
-
-       * camel-imap-folder.c: Include camel-db.h
-       * camel-imap-store.c:
-       * camel-imap-summary.c:
-
-2008-10-14  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #550998 
-
-       * camel/providers/imap/camel-imap-folder.c: Refresh, when everything
-       local is deleted on the server.
-
-2008-09-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #553298
-
-       * camel-imap-folder.c: (get_matching), (imap_sync): Unset all known
-       server flags on the message when the resulting flag list is empty.
-
-2008-09-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #552631
-
-       * camel-imap-store.c: (imap_auth_loop): Do not forget password
-       on 'resource temporarily unavailable' exception.
-
-2008-09-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-imap-folder.c (imap_update_summary):
-       Don't mix declarations and code.
-
-2008-09-13  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel-imap-journal.h: added rp_in_progress.
-       * camel-imap-folder.c (imap_sync): used to not replay
-       journal if its already in progress.                                        
-
-2008-09-04  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #547884
-
-       * camel-imap-folder.c: (imap_get_quota_info):
-       Do not crash on unexpected response, rather skip it.
-
-2008-09-03  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #548343
-
-       * camel-imap-store.c: (fill_fi): Do not read summary information for
-       the folder from DB when we have it fresh in memory already.
-
-2008-08-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-summary.c: Implement in-db uid sort
-       while loading.
-
-2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-folder.c: Delete from DB for expunge
-       in a optimized way.
-
-2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-folder.c: Refresh message list when
-       expunged.
-
-2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-journal.c: Revert unwanted change.
-
-2008-08-08  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel-imap-journal.c: (imap_entry_load), (imap_entry_write),
-       (journal_decode_folder), (imap_entry_play):
-       * camel-imap-search.c: (imap_body_contains): Fixed a couple of 
-       warnings and removed the disabled debug printf's.                                                    
-
-2008-08-06  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-imap-journal.c:
-       * camel-imap-journal.h:
-       * camel-imap-store.h:
-       * camel-imap-search.c:
-       * camel-imap-search.h:
-       Use CamelDList instead of EDList.
-
-2008-08-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-folder.c: Mark summary as dirty when
-       it is.
-
-2008-08-05  Srinivasa Ragavan  <sragavan@novell.com>
-       
-       ** Fix for bug #546415
-
-       * camel/providers/imap/camel-imap-search.c: The summary is now uids.
-       So deal it that way.
-
-2008-08-05  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes part of #533823
-       * Makefile.am: Added camel-imap-journal.[ch]
-       * camel-imap-command.c: (imap_read_response):
-       * camel-imap-folder.c: (camel_imap_folder_class_init),
-       (camel_imap_folder_init), (camel_imap_folder_get_type),
-       (camel_imap_folder_new), (camel_imap_folder_selected),
-       (imap_finalize), (imap_rename), (imap_refresh_info), (imap_sync),
-       (imap_expunge_uids_offline), (imap_expunge), (imap_append_offline),
-       (imap_append_online), (imap_transfer_offline),
-       (imap_transfer_online), (imap_transfer_resyncing), (imap_thaw),
-       (imap_get_quota_info):
-       * camel-imap-folder.h:
-       * camel-imap-journal.c: (camel_imap_journal_get_type),
-       (camel_imap_journal_class_init), (camel_imap_journal_init),
-       (free_uid), (camel_imap_journal_finalize), (unref_folder),
-       (imap_entry_free), (free_uids), (decode_uids), (imap_entry_load),
-       (encode_uids), (imap_entry_write), (journal_decode_folder),
-       (imap_entry_play), (camel_imap_journal_new),
-       (camel_imap_journal_log), (close_folder),
-       (camel_imap_journal_close_folders),
-       (camel_imap_journal_uidmap_add),
-       (camel_imap_journal_uidmap_lookup):
-       * camel-imap-journal.h:
-       * camel-imap-store.c: (camel_imap_store_class_init),
-       (camel_imap_store_finalize), (camel_imap_store_get_type),
-       (construct), (parse_capability), (query_auth_types),
-       (imap_connect), (imap_disconnect), (get_folder), (create_folder),
-       (get_folder_info), (camel_imap_store_connected):
-       * camel-imap-store.h: Disco to Offline migration.
-
-2008-08-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #538620
-
-       * camel-imap-folder.c (imap_get_message):
-       Improve wording of "cannot get message" error message.
-
-2008-08-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-imap-store-summary.c:
-       Remove unnecessary <libedataserver/e-memory.h> include.
-
-2008-07-31  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #545103
-
-       * camel-imap-folder.c: (imap_sync_online): Sort changed UIDs first.
-       * camel-imap-folder.c: (get_matching): Adapt function to new behaviour,
-       before we tested against all messages in the folder, now only against
-       changes, thus detect ranges properly to not touch other messages than
-       we are actually changed.
-
-2008-07-31  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-folder.c: Fix a case, where the info
-       isn't synced to the db, but only to the server.
-
-2008-07-31  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #545081
-
-       * camel/providers/imap/camel-imap-message-cache.c: Add a new simple
-       delete cache function.
-       * camel/providers/imap/camel-imap-message-cache.h:
-       * camel/providers/imap/camel-imap-store.c: Now forget the folder from
-       DB.
-
-2008-07-31  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-message-cache.c: Fix delete cache
-       code, when the summary is deleted.
-
-2008-07-30  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-folder.c: Revamp imap_rescan. It
-       seemed to be broken to me, if a older message in the uid is broken, we
-       seem to delete the summaries of the later messages. This could be
-       experimental code. 
-
-2008-07-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-folder.c: Fix imap sync/download
-       updates. Atm, when you delete/undelete on the server the total is
-       broken. But things should sync better otherwise.
-
-2008-07-28  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-folder.c: Fix uid/pstring issues.
-
-2008-07-28  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-folder.c: Fix compiler warnings.
-       * camel/providers/imap/camel-imap-message-cache.c:
-       * camel/providers/imap/camel-imap-utils.c:
-
-2008-07-28  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #349870
-
-       * camel-imap-folder.c: (do_append), (imap_append_online):
-       * camel-imap-command.c: (imap_command_start),
-       (camel_imap_command_continuation): Do not hide errors, rather
-       report them to the caller as expected.
-
-2008-07-28  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #336074
-
-       * camel-imap-provider.c: (imap_conf_entries):
-       * camel-imap-store.h:
-       * camel-imap-store.c: (construct), (imap_setv), (imap_getv),
-       (imap_can_refresh_folder): New option "check_lsub", when set,
-       then checking for new messages in subscribed folders.
-
-2008-07-27  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-folder.c: Fix unread count issue
-       with imap providers.
-
-2008-07-26  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/imap/camel-imap-folder.c: Fix compiler warnings.
-
-2008-07-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #544049
-
-       * camel-imap-summary.c: (EXTRACT_DIGIT): Do not read beyond the buffer.
-       * camel-imap-folder.c: (merge_custom_flags): Pass proper pointer to
-       the 'camel_flag_set' function, otherwise it messes things.
-
-2008-07-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #543943
-
-       * camel-imap-store.c: (camel_imap_store_finalize):
-       * camel-imap-summary.c: (message_info_from_db): Leak fix.
-
-2008-07-18  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-imap-summary.c: #include "camel-string-utils.h"
-
-2008-07-16  Sankar P  <psankar@novell.com>
-
-       Pushing disk summary changes from the madagascar branch
-
-       * camel-imap-folder.c (camel_imap_folder_selected),
-       (imap_refresh_info), (fillup_custom_flags), (merge_custom_flags),
-       (imap_rescan), (get_matching), (imap_sync_offline),
-       (imap_sync_online), (imap_expunge_uids_offline),
-       (imap_update_summary), (camel_imap_folder_changed):
-       * camel-imap-message-cache.c (camel_imap_message_cache_new):
-       * camel-imap-store.c (fill_fi):
-       * camel-imap-summary.c (camel_imap_summary_class_init),
-       (camel_imap_summary_new), (summary_header_from_db),
-       (summary_header_to_db), (message_info_from_db),
-       (message_info_to_db), (content_info_from_db), (content_info_to_db),
-       (camel_imap_summary_add_offline),
-       (camel_imap_summary_add_offline_uncached), (uid_compare):
-       * camel-imap-utils.c (get_summary_uid_numeric):
-
-2008-06-30  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #330838
-
-       * camel-imap-store.c: (get_folders_sync): Notify application about
-       server folder changes as soon as we know about them.
-
-2008-06-30  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #536486
-
-       * camel-imap-folder.c: (imap_expunge_uids_online):
-       Do full EXPUNGE in case the UID EXPUNGE fails. Just a fallback
-       for broken servers telling they know the UID EXPUNGE, but they
-       don't. The error is printed on the console too.
-
-2008-06-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #531712
-
-       * camel-imap-folder.c: (imap_sync_online):
-       Do not reset flags on no-flag situation, rather add and remove there
-       the \Seen flag, which will ensure to keep there flags set on the server
-       by other users in shared folders, for example.
-
-2008-06-05  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #530241
-
-       * camel-imap-folder.c: (imap_sync_online): Recognize no-flag situation
-       properly and in that case use two commands, one set and one unset,
-       because we do not track previously set user flags.
-
-2008-06-04  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #509721
-
-       * camel-imap-folder.c: (imap_transfer_offline),
-       (imap_transfer_resyncing):
-       Do not delete original message if exception occurred.
-
-2008-05-30  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #374616
-
-       * camel-imap-command.c: (camel_imap_command_response):
-       Show server's error message on "BYE" if available.
-
-2008-05-29  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #326149
-
-       * camel-imap-store-summary.c: (camel_imap_store_summary_add_from_full):
-       Set inbox flag only on real inboxes.
-
-2008-05-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #531591
-
-       * camel-imap-store.c:
-       * camel-imap-folder.c:
-       Don't use TeX-style quotes in user-visible messages.
-
-2008-04-30  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #274316
-
-       * camel-imap-folder.c: (any_has_user_tag), (do_copy):
-       Use XGWMOVE only when none of the messages has set any user tag.
-       * camel-imap-folder.c: (handle_copyuid_copy_user_tags):
-       Do NOOP on the destination folder before refreshing info so
-       server has enough time to propagate our last copy command there.
-
-2008-04-14  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #270406
-
-       * camel-imap-store.h:
-       * camel-imap-store.c: (struct capabilities[]):
-       Add new check for IMAP_CAPABILITY_QUOTA.
-       * camel-imap-folder.c: (camel_imap_folder_class_init),
-       (imap_get_quota_info): Implement get_quota_info on a folder.
-
-2008-04-14  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #274316
-
-       * camel-imap-folder.c: (handle_copyuid_copy_user_tags), (do_copy):
-       Also copy user tags when copying messages between folders.
-
-2008-04-02  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #369512
-
-       * camel-imap-folder.c: (imap_sync_offline):
-       Store to folder's and store's summary actual numbers
-       of unread/total/deleted/junked mails, not the old one.
-
-2008-04-02  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #257361
-
-       * camel-imap-folder.c: (get_folder_status), (imap_refresh_info):
-       Ask for folder status on the server and rescan it in case different
-       number of total or unseen messages than in the summary.
-
-2008-03-31  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #521015
-
-       * camel-imap-folder.c: (merge_custom_flags), (imap_rescan):
-       Also check for changes in custom flags and store them, if any.
-
-2008-03-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #518710
-
-       * camel-imap-search.c:
-       * camel-imap-store-summary.c:
-       Use GLib's new MD5 Checksum API.  The MD5 utilities in
-       libedataserver are now deprecated.
-
-2008-03-27  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #520526
-
-       * camel-imap-folder.c: (imap_refresh_info), (imap_rescan),
-       (imap_update_summary):
-       Stop work as soon as we know application is going to exit.
-
-2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel-imap-store.c (connect_to_server): Fix for some
-       warnings. Fix from opensuse downstream.                                           
-
-2008-02-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bnc #167638
-
-       * camel-imap-folder.c: (imap_rescan), (camel_imap_folder_changed): Upstreamed 
-       OpenSUSE patch. Patch by Fejj to quit evolution faster. 
-       (Dont try downloading while exitting).
-
-2008-02-11  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #515054
-
-       * camel-imap-utils.c: (imap_parse_flag_list), (imap_create_flag_list):
-       Read/write CAMEL_MESSAGE_NOTJUNK flags from/to server if supported.
-
-2008-02-08  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #505806
-
-       * camel-imap-folder.c: (imap_sync_online), (do_append):
-       * camel-imap-utils.h: (imap_create_flag_list): Change of the prototype.
-       * camel-imap-utils.c: (imap_create_flag_list):
-       Store user flags on the server only when supported by the server.
-
-2008-02-08  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #324804
-
-       * camel-imap-folder.c: (imap_update_summary):
-       Report all new messages as recent, even without that flag, thus new
-       messages will be filtered even after saw by other software earlier.
-
-2008-01-24  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-imap-folder.c: (construct_junk_headers),
-       (imap_update_summary): Extract the junk specific headers onto the
-       headers portion of the message info for fast filtering.
-
-2008-01-22  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #481699
-
-       * camel-imap-folder.c (handle_copyuid): Don't crash if the server
-       returns you bad COPYUID.
-
-2008-01-23  Milan Crha  <mcrha@redhat.com>
-
-       * camel-imap-store.c (imap_auth_loop): Fix another typo.
-
-2008-01-22  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-imap-store.c (imap_auth_loop): Fix a typo.
-
-2008-01-21  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #510303
-
-       * camel-imap-store.c (imap_auth_loop):
-       Escape the authentication error message so the markup parser
-       will parse it verbatim.
-
-2008-01-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #506250
-
-       * camel-imap-store.c (imap_auth_loop):
-       Use a consistently worded password prompt message by calling
-       camel_session_build_password_prompt().
-
-2008-01-14  Philip Van Hoof  <pvanhoof@gnome.org>
-
-       * camel-imap-folder.c: Small memory leak
-
-2007-12-14  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #211353
-
-       * camel-imap-summary.h:
-       * camel-imap-summary.c:
-       * camel-imap-utils.h:
-       * camel-imap-utils.c:
-       * camel-imap-folder.c:
-       Dropped previous storing of labels into message flags and user_tags
-       and storing them only to user_flags.
-
-2007-12-11  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #336074
-
-       * camel-imap-folder.h: (struct _CamelImapFolder):
-       * camel-imap-folder.c: (imap_property_list), 
-       (camel_imap_folder_get_type), (camel_imap_folder_class_init),
-       (imap_getv), (imap_setv): New property of IMAP folder, check_folder,
-       to let user setup for each folder to check for new mail here or not,
-       but only if not enabled 'check_all' for the store.
-       * camel-imap-store.c: (imap_can_refresh_folder),
-       (camel_imap_store_class_init): Implements its own CamelStore's
-       can_refresh_folder function - IMAP folder has a property if it
-       should be refreshed always or not, so depends on this property
-       in case parent class doesn't permit refresh of the folder or
-       the store doesn't have enabled 'check_all' property.
-
-2007-11-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Merge a bunch of compiler warning fixes and cosmetic
-          cleanups from camel-lite.
-
-2007-11-12  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #495086
-
-       * camel-imap-utils.c: (imap_body_decode):
-       Check for NULL too, so do not crash when something goes wrong.
-
-2007-11-05  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #430420
-
-       * camel-imap-utils.c: (imap_body_decode):
-       Returned size <= 0 is an error, as mentioned Robert Burrelldonkin.
-
-2007-09-07  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * camel-imap-store.c: (imap_connect_online), (get_folder_status),
-       (get_folder_online), (create_folder), (get_folders_sync),
-       (get_folder_info_online): NULL vs 0.
-
-2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #474000
-
-       * camel-imap-search.c (hash_match):
-       Use GLib's Base64 API instead of Camel's.
-
-2007-09-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #473880
-
-       * camel-imap-search.c: Added header libedataserver/e-sexp.h
-       to fix compiler warning.
-
-2007-08-24  Wang Xin  <jedy.wang@sun.com>
-
-       ** Fix for bug #365213
-
-       * camel-imap-folder.c: If a part's parent is message/* but its
-       grandparent is not, skip that part.
-
-2007-08-13  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #420462
-
-       * camel-imap-store.c: (get_folder_info_offline): Create all folders
-       with NO_CHILDREN flag and when filling FolderInfos depending on child
-       status uncheck it.
-
-2007-08-09  Sankar P  <psankar@novell.com>
-
-       * camel-imap-folder.c: (parse_fetch_response):
-       To handle IMAP Server brokenness, Returning empty body, etc. 
-       Fixes #355640 and a lot of duplicates as well.
-
-2007-07-09  Gilles Dartiguelongue  <gdartigu@svn.gnome.org>
-
-       * camel-imap-folder.c: (do_append), (decode_internaldate),
-       (add_message_from_data):
-       Fix compilation warnings (#363384)
-
-2007-06-15  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-imap-command.c (imap_command_strdup_vprintf):
-       Fix a memory leak (#447753).
-
-2007-05-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-imap-provider.c: Fix for bug #347326 from Ebby Wiselyn.
-
-2007-04-05  Ross Burton  <ross@openedhand.com>
-
-       * camel-imap-folder.c:
-       Use g_mkdir_with_parents (#383686).
-
-2007-03-29  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-imap-store.c:
-       E-D-S requires GLib 2.10 now; remove dead backward-compatibility
-       code for GLib < 2.8 (#418971).
-
-2007-03-29  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-imap-store-summary.c:
-       Fix "incompatible pointer type" warnings (#360619).
-
-2007-03-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-imap-utils.c:
-       Don't mix declarations and code (#405495).
-       Patch from Jens Granseuer.
-
-2007-03-14  Sankar P  <psankar@novell.com>
-
-       * camel-imap-folder.c: (imap_update_summary):
-       Debug statements should be conditional
-
-2007-02-23  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #356177
-
-       * camel-imap-command.c:
-       * camel-imap-folder.c:
-       * camel-imap-private.h:
-       * camel-imap-store.c:
-       Migrate from EMutex to GStaticMutex or GStaticRecMutex.
-
-2007-01-30  Sankar P  <psankar@novell.com>
-
-       * camel-imap-folder.c: (imap_update_summary):
-       Some IMAP Servers doesnt return headers if there
-       is more than one consecutive space in the HEADER string. 
-
-2007-01-22  Sankar P  <psankar@novell.com>
-
-       * camel-imap-folder.c: (imap_update_summary):
-       * camel-imap-store.c: (camel_imap_store_finalize), (construct):
-       * camel-imap-store.h:
-       Make IMAP Headers fetching configurable.
-
-2006-09-20  Harish Krishnaswamy <kharish@novell.com>
-
-       Modified Sankar's patch to avoid breaking the string
-       freeze.
-
-       * camel-imap-store.c: (connect_to_server):
-       * camel-imap-store.h:
-       Do not send the password in plain-text, 
-       if LOGINDISABLED Capability is set in the server
-       Fixes #350617
-
-2006-09-04  Harish Krishnaswamy  <kharish@novell.com>
-
-       * Makefile.am: Add camel-imap-private.h to
-       noinst_HEADERS. Fix to allow the tarball to
-       build.
-
-2006-09-01  Sankar P  <psankar@novell.com>
-
-       * camel-imap-folder.[ch]:
-       * camel-imap-private.h:
-       Show messages from cache, before checking for new mails.
-       Fixes #350250
-       
-2006-08-28  Sankar P  <psankar@novell.com>
-
-       * camel-imap-folder.c (imap_update_summary):
-       Provide a way to fetch all Headers while initial
-       downloading of mails.
-       Use EVO_IMAP_FETCH_ALL_HEADERS.
-
-2006-08-23  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #349847 by Matthew Barnes  
-       
-       * camel-imap-message-cache.c: (camel_imap_message_cache_new):
-       Initialize gerror to NULL.
-
-2006-07-12  Andre Klapper  <a9016009@gmx.de>
-
-       * camel-imap-provider.c:
-       adding trailing colon to string. Fixes bug #331858.
-
-2006-06-13  Andre Klapper <a9016009@gmx.de>
-
-       * camel-imap-store.c:
-       changing "couldn't", "can't" and "didn't" to proper
-       English. Fixes bug #342160.
-
-2006-05-22  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap-command.c (imap_read_untagged): Make sure the literal
-       length is non-negative (yes, some servers are sending negative
-       values here). Fixes Novell bug #177394.
-
-2006-05-19  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap-folder.c (imap_search_by_expression)
-       (imap_search_by_uids, imap_search_free): Get rid of the
-       search_lock and simply reuse the connect_lock.
-
-2006-05-18  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap-folder.c (camel_imap_folder_selected, imap_rename)
-       (imap_append_offline, imap_append_online, imap_append_resyncing)
-       (imap_transfer_offline, imap_transfer_online)
-       (imap_transfer_resyncing, camel_imap_folder_changed): Get rid of
-       the cache_lock and use the service connect_lock instead. Fixes
-       some possible deadlock conditions.
-
-2006-05-10  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * camel-imap-folder.c: Add space at the end of
-       CAMEL_MESSAGE_INFO_HEADERS. The content-type header wont be
-       fetched otherwise(it mergers with the MESSAGE_LIST_HEADER).  This
-       fix shows the attachment icon in the message list
-
-2006-05-01  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fix for bug #315976.
-
-       * camel-imap-store.c (construct): Only override the namespace if
-       the URL param override_namespace is also set.
-       (get_folder_info_offline): Always include INBOX if we are being
-       asked for the toplevel folder-info tree.
-       (refresh_refresh): Make sure to always query the server for INBOX.
-       (get_folder_info_online): Same.
-
-2006-04-21  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap-store.c (connect_to_server_wrapper): Don't do
-       fallback for SSL/TLS. Fixes bug #321797.
-
-2006-04-19  Sankar P  <psankar@novell.com>
-
-       * camel-imap-folder.c (imap_update_summary): Instead of
-       downloading HEADERS try to download the specific HEADER FIELDS so
-       that the initial loading time is considerably reduced.
-               
-2006-01-17  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See Bug #323106, #326385
-       * camel-imap-store.c:
-       (imap_connect_online):
-       (get_folder_online):
-       (rename_folder_info):
-       (create_folder):
-       (get_folders_sync):
-       Use %G instead of %S
-       
-       * camel-imap-command.c:
-       (camel_imap_command):
-       (imap_command_strdup_vprintf):
-       use %G instead of %F
-
-       Committed on behalf of Ed Catmur - partha
-
-2006-01-12  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-imap-command.c: 
-       (imap_command_start):
-       (imap_command_continuation):
-       User g_return_val_if_fail instead of g_assert. Do not crash. 
-       Return gracefully.
-
-2006-01-10  Shreyas Srinivasan  <sshreyas@novell.com>
-
-       * camel-imap-store.c (camel_store_finalize): Fix #321812
-       unref diary only when the store finalize is called.
-       
-2005-12-14  Tor Lillqvist  <tml@novell.com>
-
-       Fix #323106:
-       
-       * camel-imap-store.c (camel_imap_store_summary_full_to_path,
-       camel_imap_store_summary_path_to_full): Remove extraneous
-       conversions from IMAP-UTF-7 to UTF-8 and back.
-
-       * camel-imap-command.c (imap_command_strdup_vprintf): Do the
-       conversion from UTF-8 to IMAP-UTF-7 only just before sending a
-       request. Do it also for %S formats, as that is what the CREATE
-       command uses. But %S is used also for other commands (like LOGIN
-       and LIST), so maybe we really would need a new format that would
-       be used *only* for mailbox (folder) names, assuming it's only
-       mailbox names that use the IMAP-UTF-7 encoding. Or is that what %F
-       is intended for? But why then does CREATE use %S?
-
-2005-12-08  Tor Lillqvist  <tml@novell.com>
-
-       * camel-imap-folder.c: Drop unused <dirent.h>.
-
-       * camel-imap-message-cache.c: Use gstdio wrappers. Open files in
-       binary mode.
-       (camel_imap_message_cache_new): Use GDir instead of dirent API.
-       (insert_setup, camel_imap_message_cache_get): Trailing periods in
-       file names are silently dropped on Win32, so on Win32, so if we
-       would want to create a file with a name ending with a perioud,
-       append a tilde (just a random choice).
-
-       * camel-imap-provider.c: No external command possibility on Win32,
-       drop that part of the UI.
-
-       * camel-imap-store.c: Use gstdio wrappers.
-
-       * camel-imap-utils.c (find_folders_recursive): Use GDir instead of
-       dirent API.
-       
-2005-12-05  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-imap-store.c: (construct):
-       Setup disco journal during store construct. Previously,
-       it was dont in connect_offline and connect_online methods.
-       This makes sure that the diary is initialised even when evo
-       starts in offline mode.
-
-2005-12-01 Jeff Cai <jeff.cai@sun.com>
-
-       * camel-imap-command.c:(imap_command_strdup_vprintf):
-       Evolution should not send command with zero additional parameters.
-       Fix #322408
-
-2005-10-21 Shreyas Srinivasan <sshreyas@novell.com>
-
-       * camel-imap-utils.c:(imap_parse_list_response): Handle
-       Courier imap's LSUB response for INBOX when its not subscribed.
-       Fix #228929.
-       
-2005-10-21 Vivek Jain <jvivek@novell.com>
-       
-       Committed NotZed's patch on #314833
-       
-       ** See #314833.
-       * camel-imap-store.c (subscribe_folder, unsubscribe_folder):
-       add missing locking.
-       (imap_noop): re-arrange locking slightly.
-
-2005-10-10  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-imap-folder.c:(imap_update_summary): specify the
-       folder name of the folde being refreshed in the status mesage
-
-2005-10-10  Björn Torkelsson <torkel@acc.umu.se>
-
-       ** See bug #317956.
-       
-       * camel-imap-store.c:(try_auth): Null check sasl_resp
-        and bail out, otherwise evolution will crash when running strlen on
-        sasl_resp. 
-       
-       ** Committed on behalf of Björn Torkelsson since he does not 
-       have commit rights - partha <sparthasarathi@novell.com>
-       
-2005-09-27  Vivek Jain <jvivek@novell.com>
-
-       ** See bug #315173.
-       
-       * camel-imap-folder.c:(do_append): Null check the 
-       info before using it
-       initialize flags as we '&' with old value.
-
-2005-09-15  Tor Lillqvist  <tml@novell.com>
-
-       * camel-imap-command.c
-       * camel-imap-folder.c: Use g_ascii_str(n)casecmp() instead of
-       str(n)casecmp(). The strings we are comparing in these cases
-       should be just ASCII anyway, so spell it out that we really do
-       need ASCII casefolding only.
-
-       * camel-imap-folder.c
-       * camel-imap-search.c
-       * camel-imap-store.c: No strtok_r() in Microsoft's C library, but
-       strtok() is MT-safe, which is enough for the way it's used in this
-       file, to tokenize only one string at a time.
-
-       * camel-imap-store.c (connect_to_server_process,
-       connect_to_server_wrapper): Using custom commands to connect to
-       IMAP servers is not supported on Win32 (at least for now), so
-       bypass that code.
-
-       * camel-imap-wrapper.c: If no ENETUNREACH (Win32), use EINVAL.
-
-2005-08-23  Shreyas Srinivasan  <sshreyas@novell.com>
-
-       ** See #314199
-
-       * camel-imap-store-summary.c (camel_imap_store_summary_add_from_full): Check if 
-       Inbox only if the Store info is not Null.
-       
-2005-08-19  Not Zed  <NotZed@Ximian.com>
-
-       ** See #312668.
-
-       * camel-imap-store.c (imap_disconnect_offline): check/close
-       streams always, even if disconnecting in offline mode.
-
-       * camel-imap-folder.c (camel_imap_folder_fetch_data): clear
-       exception before trying more ops.
-
-2005-08-18  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #313593.
-
-       * camel-imap-store.c (get_folder_info_offline): get the search
-       name and the top value from the namespace definition.
-
-2005-08-17  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #313574.
-
-       * camel-imap-folder.c (imap_get_message): added required lock
-       around imap connect/command & clear exception for fail-over.
-
-2005-08-16  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #242032.
-
-       * camel-imap-folder.c (do_append): if append fails with no/bad,
-       then retry without custom flags, if we were trying to send them.
-
-       * camel-imap-command.c (imap_read_response): return
-       SERVICE_INVALID rather than SERVICE_UNAVAILABLE for a BAD/NO
-       response.
-
-2005-08-15  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #242032.
-
-       * camel-imap-command.c (imap_read_response): tread BAD the same as
-       NO.
-
-       * camel-imap-folder.c (do_append): snarf incoming label if it has
-       one.  also only try to set flags the server says we can.
-
-       * camel-imap-utils.c (imap_label_to_flags): helper to map label
-       tag to imap flags.
-
-       * camel-imap-folder.c (flags_to_label, imap_rescan)
-       (imap_update_summary): if we get a server $Label flag, map it to
-       the label tag as well.
-
-       * camel-imap-summary.c (label_to_flags, message_info_load)
-       (info_set_user_tag, camel_imap_summary_add_offline)
-       (camel_imap_summary_add_offline_uncached): map the "label"
-       user-tag into an imap server flag.
-
-       * camel-imap-utils.c (imap_create_flag_list)
-       (imap_parse_flag_list): store the junk flag as a custom flag Junk,
-       and support our own $Labelx flags.  if the server supports custom
-       flags.
-
-2005-08-12  Tor Lillqvist  <tml@novell.com>
-
-       * Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-       libcamel and CAMEL_LIBS.
-
-2005-08-09  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #312715 & other little fixes
-
-       * camel-imap-store.c (get_folder_offline): use the store summary
-       as the indicator to whether the folder exists or not, not the
-       files on disk.
-
-       * camel-imap-utils.c (imap_path_to_physical): greatly simplify
-       this awful mess.
-
-       * camel-imap-store.c (get_folder_info_online): re-arrange locking
-       so we only run if we need to.
-       (imap_connect_online, imap_connect_offline): dont refresh-folders
-       on startup, that is handled if we need to/can in get_folder_info.
-       (get_folder_online): fix order of create folder checks.
-       (delete_folder): fix locking/online check.
-       (rename_folder): same here.
-       (imap_forget_folder): remove the subfolders subdir too.
-
-2005-04-17  Changwoo Ryu  <cwryu@debian.org>
-
-       ** See bug #300891
-       
-       * Makefile.am (INCLUDES): define
-       CAMEL_EXPLICIT_TRANSLATION_DOMAIN.
-
-       * camel-imap-provider.c (camel_provider_module_init):
-       set translation_domain in CamelProvider struct.
-
-2005-08-09  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #309906.
-
-       * camel-imap-utils.c (imap_atom_specials[]): Fixed the
-       resp_specials entry, fixed the rfc reference.
-
-2005-08-02  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #309237.
-
-       * camel-imap-store.c (connect_to_server): add the BRAINDAMAGED
-       hack from 2.0.3, since some people seem to be relying on it.
-
-2005-08-01  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap-store.c (get_folder_info_offline): if we're getting
-       from "", then use the right namespace, with stripped trailing dir
-       separator.
-       (get_folders_online): we always do both a list and a lsub for each
-       call.  We dont actually return any folders anymore either.
-       (refresh_refresh): we just refresh all folders, subscribed or not.
-       (get_folder_info_online): if we're getting the folder list, update
-       the folder-summary from the server results, and then just get the
-       folderinfo from that using get_folder_info_offline.
-       (get_folders_sync): renamed from get_folders_online.
-       (imap_connect_online): get the root list of folders differently,
-       it will explictly check the namespace first.  and just make sure
-       inbox is subscribed.
-       (imap_is_subfolder, get_subscribed_folders) 
-       (get_folders_add_folders, get_folders): removed old stuff.
-
-2005-07-28  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #311731.
-
-       * camel-imap-store.c (get_folder_info_offline): build the
-       folderinfo from the search base so we dont over-expand it.
-
-2005-07-27  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap-store.c (get_folder_info_online): make sure we get
-       subscribed folders using lsub too, if we're getting a list of all
-       folders.  See bug #311658.
-
-       * camel-imap-folder.c (imap_sync_online): make sure we're
-       connected before issuing a command.
-
-2005-07-26  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap-store.c (connect_to_server_wrapper): only use command
-       if use_command is set.
-
-       * camel-imap-store-summary.c
-       (camel_imap_store_summary_add_from_full): set the inbox folder
-       type properly.
-
-2005-07-25  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * camel-imap-store.c (connect_to_server): initialization of a
-       variable. fixes Bug 301871.
-
-2005-07-25  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap-store.c (imap_noop): make sure we're connected before
-       trying to noop.
-       (get_folder_online): remove duplicate lock.
-
-2005-07-21  Shreyas Srinivasan  <sshreyas@novell.com>
-
-       * camel-imap-wrapper.h: Fix camel-docs breakage by changing
-       style
-       
-2005-07-20  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap-store.h: re-arrange some bitfields (this is not
-       public api), and add a refresh stamp so we know when to next
-       refresh the list of folders from the server.
-
-       * camel-imap-store.c (imap_build_folder_info): set unknown counts
-       -1, not 0.
-       (get_folder_online): if the folder is on disk, just get it
-       offline, only go to the server if we need to.
-       (fill_fi): dont refresh the folder here, let the client code do
-       it.
-
-       * camel-imap-command.c (imap_command_start): add some asserts,
-       time to fix those 'stream == NULL' warnings properly.
-       (camel_imap_command_continuation): same.
-
-       * camel-imap-store.c (get_folder_counts): remove this, we rely on
-       the client calling folder.refresh_info instead.
-       (get_one_folder_offline): removed, handled more directly from the
-       storesummary now.
-       (refresh_refresh): new async function to update the list of
-       folders (not the folder counts) from the server.  We now just use
-       "*" to get all the folders rather than frobbing around with
-       partial fetches.
-       (get_folder_info_online): changed radically, if we are getting
-       subscribed folders, always go to the local list, but update it
-       asynchronously if we need to.  if we're not, then always go to the
-       server, but use a simplified listing mechanism.
-       (camel_imap_store_connected): changed to hide some hidden logic,
-       we want not only connected, but online as well; so make it
-       actually do that.
-       (fill_fi): dont do anything slow here, dont honour the 'not fast'
-       flag anymore.
-
-2005-07-19  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap-folder.c (imap_get_message): dont force a connect
-       until we need it.
-       (camel_imap_folder_fetch_data): force a connect if we need it.
-       (imap_refresh_info): force connect if we need to.
-       (imap_get_message): touch the summary if we changed the body
-       content info record.
-
-       * camel-imap-store.c (camel_imap_store_init): we always support
-       subscriptions, this is a backend property not a store instance
-       property.
-       (imap_connect_online, rename_folder, get_one_folder_offline) 
-       (get_folder_info_offline): fix for above.
-       (get_folder_offline): wtf is it connecting for???
-
-2005-07-13  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap-folder.c (imap_refresh_info): copy over counts to the
-       store summary & save all summaries.
-
-2005-07-12  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap-store.c (imap_connect_online): only get the folder
-       list if we dont have any yet.
-
-2005-07-11  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap-store.c (get_folder_info_online): if we are fast,
-       then dont go to the server at all, if we have any folders
-       recorded.
-       (get_folder_counts): never request STATUS on unselected folders.
-       (get_folder_info_offline): build the list directly from the
-       summary, dont scan the filesystem.
-       (parse_list_response_as_folder_info): always initialise counts to
-       unknown (-1).
-
-2005-03-18  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap-command.c (imap_read_untagged): Continue reading data
-       until we've read all the data (camel_stream_read() makes no
-       guarantee that it will read n bytes in a single call).
-
-2005-03-10  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap-folder.c (imap_sync_online): READ-ONLY doesn't mean
-       we can't sync flags, allow flag syncing even in READ-ONLY mode
-       since the RFC states that flags listed in PERMANENTFLAGS are
-       always settable.
-
-2005-03-07  JP Rosevear  <jpr@novell.com>
-
-       From Dave Malcolm <dmalcolm@redhat.com>
-       
-       * camel-imap-store-summary.c
-       (camel_imap_store_summary_namespace_set): move forward declaration
-       out of block to fix gcc4 compilation
-       
-2005-03-01  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #73112
-
-       * camel-imap-store.c (query_auth_types): don't re-connect if we're
-       already connected.
-
-2005-02-22  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #61468
-
-       * camel-imap-folder.c (imap_update_summary): get rid of the stupid
-       HEADER.FIELDS NOT() blah, it just caused more problems than it
-       ever solved.
-
-2005-02-15  Björn Torkelsson  <torkel@acc.umu.se>
-
-       * camel-imap-store.c (imap_build_folder_info): Rename inbox/INBOX to 
-       Inbox, so it is translatable.
-       (parse_list_response_as_folder_info): here too.
-
-2005-02-08  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap-folder.c (do_copy): Don't always delete the original
-       messages.
-
-2005-02-04  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap-store.c: Revert jeff's patch.
-       (parse_list_response_as_folder_info): copy the subscribed flag
-       from the storeinfo.
-       (get_folders_online): here too.
-
-2005-02-03  Not Zed  <NotZed@Ximian.com>
-       
-       ** See bug #70590.
-
-       * camel-imap-command.c (camel_imap_response_free): handle XGWMOVE
-       response the same as EXPUNGE.
-
-       * camel-imap-folder.c (do_copy): added 'delete' flag, and use
-       xgwmove if its available and we're moving a message.
-
-       * camel-imap-store.c (imap_get_capability): add some groupwise
-       extension flags.
-
-2005-02-02  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap-store.c (get_folders_online): Set the
-       CAMEL_FOLDER_SUBSCRIBED flag appropriately.
-       (get_subscribed_folders): Set here too.
-       (get_subscription_info): Set the subscribed bit.
-       (get_folder_info_online): If subscribed info is requested, fill
-       it.
-
-2005-02-01  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap-summary.c (summary_header_load): Bumped version to 3
-       and added code to handle evrsion 2 (for compat with imap4 ver 2
-       summary files).
-
-2005-02-01  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap-store.c (parse_list_response_as_folder_info): set the
-       folder-type of inbox to inbox & use the right flags field for
-       noinferiors hack.
-
-2005-01-31  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #69757.
-       
-       * providers/imap/camel-imap-store.c (create_folder)
-       (parse_list_response_as_folder_info): free the
-       folder from parse_list_response.
-
-2005-01-28  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #22496.
-
-       * camel-imap-command.c (camel_imap_command_response): check for no
-       and bad [alert] as well as ok [alert].
-       
-
-       ** This provider is dead.
-
-Refer to main changelog for earlier changes.
-
diff --git a/camel/providers/imap4/ChangeLog b/camel/providers/imap4/ChangeLog
deleted file mode 100644 (file)
index 3792283..0000000
+++ /dev/null
@@ -1,400 +0,0 @@
-2009-01-08  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #554182
-
-       * camel-imap4-provider.c: (imap4_url_hash), (imap4_url_equal):
-       Don't use 'authmech' for URL comparision.
-
-2008-08-31  Leonardo Ferreira Fontenelle  <leonardof@gnome.org>
-
-       * camel-imap4-store.c: (imap4_get_folder_info): Added translator
-       comments. Fixes bug #549241.
-
-2008-08-06  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #545877
-
-       * camel-imap4-command.c:
-       * camel-imap4-command.h:
-       * camel-imap4-engine.c:
-       * camel-imap4-engine.h:
-       * camel-imap4-search.h:
-       * camel-imap4-journal.c:
-       * camel-imap4-journal.h:
-       Use CamelDList instead of EDList.
-
-2008-07-19  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-store.c: s/Unknown/Unknown error/g
-
-       * camel-imap4-engine.c: Same.
-
-       * camel-imap4-folder.c: Same.
-
-2008-05-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #531591
-
-       * camel-imap4-engine.c:
-       * camel-imap4-folder.c:
-       * camel-imap4-store.c:
-       * camel-imap4-summary.c:
-       Don't use TeX-style quotes in user-visible messages.
-
-2008-05-14  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-folder.c (imap4_getv): Implement support for getting
-       the cache's expire settings.
-       (imap4_setv): Added support for setting the cache's expire
-       settings.
-       (camel_imap4_folder_new): Default enable_mlist to FALSE now that
-       we always fetch at least List-Id.
-
-       * camel-imap4-summary.c: Include "List-Id" in the base
-       headers. This means that enable_mlist now only means that the
-       extended list of Mailing-List headers should be fetched. We assume
-       that List-Id should be enough for most users.
-
-2008-05-12  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-summary.c (camel_imap4_summary_flush_updates):
-       Properly handle empty folders.
-
-       * camel-imap4-store.c (connect_to_server): Disconnect the engine
-       if SSL negotiations fail (there's no other way for the engine to
-       know that failed).
-
-       * camel-imap4-engine.c (camel_imap4_engine_disconnect): New
-       convenience function.
-
-2008-05-11  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-utils.c (camel_imap4_build_folder_info_tree): New
-       utility function.
-
-       * camel-imap4-store-summary.c (camel_imap4_store_summary_get_folder_info):
-       Use a custom imap4 routine to create a folderinfo tree.
-
-       * camel-imap4-summary.c (imap4_fetch_all_add): Need to ref the
-       CamelMessageInfo after adding to the summary because
-       camel_folder_summary_add() does not ref.
-
-       * camel-imap4-store.c: Define some symbols that might not exist in
-       the version of camel we are linking against.
-       (imap4_build_folder_info_tree): New function to build a tree
-       structure of CamelFolderInfo's from an array.
-
-2008-05-10  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-store.c (imap4_folder_subscribed): Implemented.
-
-       * camel-imap4-command.c (imap4_command_append_string): Fixed a
-       FIXME by properly escaping QSTRING specials.
-
-       * camel-imap4-summary.c: Reverted Mattew Barnes' MD5 Checksum
-       change - I want to be able to build this provider w/o glib-2.16.
-
-2008-05-07  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-engine.c (camel_imap4_engine_iterate): Implemented
-       multiple reconnect retries logic.
-       (camel_imap4_engine_iterate): If a command fails due to a dropped
-       connection, reset the command and attempt to reconnect and
-       continue where we left off.
-
-2008-05-06  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-stream.c (camel_imap4_stream_next_token): Keep track
-       of start of literal token.
-
-       * camel-imap4-store.c (imap4_try_authenticate): Fixed a mis-use of
-       full_prompt.
-
-       * camel-imap4-command.c (camel_imap4_command_reset): Reset the
-       user_data using the user-specified reset function.
-
-       * camel-imap4-summary.c: Ported incremental summary flushing over
-       from libspruce.
-
-2008-03-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #518710
-
-       * camel-imap4-summary.c:
-       Use GLib's new MD5 Checksum API.  The MD5 utilities in
-       libedataserver are now deprecated.
-
-2008-01-21  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #510303
-
-       * camel-imap4-store.c (imap4_reconnect):
-       Escape the authentication error message so the markup parser
-       will parse it verbatim.
-
-2008-01-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-imap4-store.c (imap4_try_authenticate):
-       Use a consistently worded password prompt message by calling
-       camel_session_build_password_prompt().
-
-2007-11-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Merge a bunch of compiler warning fixes and cosmetic
-          cleanups from camel-lite.
-
-2007-06-04  Jeffrey Stedfast  <fejj@gnome.org>
-
-       * camel-imap4-summary.c (imap4_fetch_all_update): Don't iterate
-       over just fetch->total messages. We need to iterate over the
-       entire summary in order to remove *all* messages which no longer
-       exist.
-
-2007-05-31  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-store.c (imap4_build_folder_info): Add "ghost"
-       folder info's if needed in order to make sure the folder-info tree
-       is complete.
-
-       * camel-imap4-utils.c (camel_imap4_parse_flags_list): Handle
-       Junk/NonJunk flags.
-
-2007-04-09  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-summary.c (imap4_summary_fetch_all): Need to use
-       ther IMAP4_ALL macro here because ALL cannot be merged with other
-       items in a FETCH query.
-
-2007-04-08  Jeffrey Stedfast  <fejj@gnome.org>
-
-       * camel-imap4-summary.c: Synced up with my libspruce
-       implementation a bit.
-
-       * camel-imap4-stream.c (camel_imap4_stream_line): Set *inend to
-       '\0' before comparing *inptr to '\n' when deciding whether or not
-       to refill the buffer so that if inptr == inend, it works properly.
-
-       * camel-imap4-store.c (connect_to_server): Need to actually toggle
-       into TLS after a successful STARTTLS command. Doh.
-
-2007-04-05  Ross Burton  <ross@openedhand.com>
-
-       * camel-imap4-folder.c:
-       Use g_mkdir_with_parents (#383686).
-
-2007-02-23  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #356177
-
-       * camel-imap4-folder.c:
-       * camel-imap4-store.c:
-       Migrate from EMutex to GStaticMutex or GStaticRecMutex.
-
-2006-07-12  Andre Klapper  <a9016009@gmx.de>
-
-       * camel-imap4-provider.c:
-       adding trailing colon to string. Fixes bug #331858.
-
-2006-06-15  Andre Klapper  <a9016009@gmx.de>
-
-       * camel-imap4-folder.c: 
-       * camel-imap4-store.c: 
-       changing "cancelled" to "canceled" in user-visible strings.
-       Fixes bug #342163.
-
-2006-06-09  Chris Heath  <chris@heathens.co.nz>
-
-       * camel-imap4-journal.c (camel_imap4_journal_append): Fix memory leak.
-       Fixes bug #335423.
-
-2006-04-21  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-store.c (connect_to_server): Set some socket options
-       like keepalive and nodelay.
-       (connect_to_server_wrapper): Don't do fallback with SSL/TLS. Fixes
-       bug #321797.
-
-2006-04-12  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-folder.c (imap4_append_message): strcpy the
-       folder->full_name into the freshly alloca'd parent_name buffer
-       before using strrchr on it.
-
-2006-03-31  Jeffrey Stedfast  <fejj@novell.com>
-
-       Fix for bug #272058
-
-       * camel-imap4-summary.c (untagged_fetch_all): Get the In-Reply-To
-       header too.
-       (decode_envelope): Only decode the ENVELOPE's In-Reply-To field if
-       we don't already have a list of references decoded (e.g. from a
-       header query). Decode the Message-Id value before getting the md5
-       digest so that the format matches the References/In-Reply-To
-       values.
-       (decode_references): Modified to take 2 string args - References
-       and In-Reply-To - so that we can merge the 2 references lists like
-       the default CamelFolderSummary implementation.
-
-2006-03-28  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-store.c (imap4_reconnect): Only try to authenticate
-       if the engine is not already in the authenticated state.
-
-2005-12-08  Tor Lillqvist  <tml@novell.com>
-
-       * camel-imap4-store.c: Bypass the external command stuff on Win32.
-
-       * camel-imap4-summary.c: Use g_ascii_strncasecmp() instead of
-       strncasecmp().
-
-2005-09-28  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-store.c (imap4_create_folder): Finally fixed to
-       handle recreating parent folders to allow subfolders.
-       (imap4_try_authenticate): Only request a password if no
-       authentication mechanism is to be used or if the mechanism
-       requires a password. Fixes bug #317301.
-
-2005-08-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap4-utils.c (camel_imap4_utils_set_unexpected_token_error): 
-
-       * camel-imap4-stream.c (camel_imap4_stream_next_token): 
-
-       * camel-imap4-command.c (imap4_command_append_string): fix type to
-       printfs.
-       (camel_imap4_command_newv, unexpected_token): 
-
-2005-08-12  Tor Lillqvist  <tml@novell.com>
-
-       * Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-       libcamel and CAMEL_LIBS.
-
-2005-04-17  Changwoo Ryu  <cwryu@debian.org>
-
-       ** See bug #300891
-       
-       * Makefile.am (INCLUDES): define
-       CAMEL_EXPLICIT_TRANSLATION_DOMAIN.
-
-       * camel-imap4-provider.c (camel_provider_module_init):
-       set translation_domain in CamelProvider struct.
-
-2005-08-02  Shreyas Srinivasan  <sshreyas@novell.com>
-
-       * camel-imap-store.c (connect_to_server_wrapper): only use command
-       if use_command is set.
-
-2005-05-23  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-folder.c (imap4_append_message): The UIDPLUS
-       extension doesn't give a "UID APPEND" command, instead it just
-       provides the APPENDUID RESP-CODE, so no need to conditionalise the
-       command-creation code here. Simply always send "APPEND ..."
-       (imap4_transfer_messages_to): Sync the flags before performing a
-       COPY. Fixes bug #274407.
-
-2005-03-11  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-folder.c (imap4_sync): Don't try to EXPUNGE in
-       READ-ONLY mode.
-       (imap4_sync_changes): Don't check permanent_flags here.
-       (imap4_sync): Check permanent_flags here instead and don't bother
-       wasting cycles if permanent_flags is empty.
-       (imap4_sync): Don't attempt to EXPUNGE if the folder is READ-ONLY.
-       (imap4_append_message): Set an exception if the folder is
-       read-only and don't bother trying to append.
-
-       * camel-imap4-engine.c (camel_imap4_engine_select_folder): Set the
-       READ-ONLY bit on the folder if the server says we've opened it in
-       READ-ONLY mode.
-
-2005-02-03  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-engine.c (camel_imap4_engine_handle_untagged_1):
-       Handle XGWMOVE untagged events as EXPUNGE events.
-
-       * camel-imap4-folder.c (imap4_transfer_messages_to): Optionally
-       use XGWMOVE if the extension is available.
-
-       * camel-imap4-engine.c (camel_imap4_engine_capability): Query for
-       the XGWEXTENSIONS as well if the server supports it.
-
-2005-02-14  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-store-summary.c (store_info_to_folder_info):
-       Translate name of Inbox and also set flags as torkel's previous
-       fix.
-
-       * camel-imap4-store.c (imap4_build_folder_info): Translate the
-       name of Inbox.
-
-2005-02-13  Björn Torkelsson  <torkel@acc.umu.se>
-
-       * camel-imap4-store.c (imap4_build_folder_info): Add flags if it
-       is inbox.
-
-2005-02-10  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-search.c (imap4_body_contains): If we're in offline
-       mode, let the parent implementation perform the search.
-
-2005-02-04  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imap4-store.c (imap4_build_folder_info): always get the
-       subscription info.
-       (camel_imap4_store_class_init): added a fixme about
-       folder_subscribed not being implemented.
-
-2005-02-02  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-store.c (imap4_build_folder_info): Set the
-       CAMEL_FOLDER_SUBSCRIBED bit on the fi->flags if the info was
-       gotten via an LSUB response.
-       (imap4_build_folder_info): If our caller has requested
-       subscription info, make sure to get it.
-       (imap4_subscription_info): Get whether or not a folder is
-       subscribed.
-
-2005-02-01  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-summary.c (imap4_header_load): Changed to have the
-       'have_mlist' bit be a summary flag rather than a new value stored
-       in the summary header.
-       (imap4_header_save): No longer need to save the have_mlist value
-       ourselves.
-       (camel_imap4_summary_flush_updates): Updated to use summary flags
-       for have_mlist instead.
-
-2005-02-01  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-provider.c: Added command option.
-       Reset back to imap4:// uris.
-
-       * camel-imap4-store.c (connect_to_server_process): Implemented.
-       (connect_to_server_wrapper): Call above when appropriate.
-
-       * camel-imap4-engine.c (camel_imap4_engine_parse_resp_code):
-       handle CAMEL_IMAP4_RESP_CODE_ALERT explicitly in the switch
-       statement and have it break out. This prevents the code from
-       getting to the "unknown resp-code" code path that prints a warning
-       unnecessarily.
-
-2005-01-31  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-engine.c (camel_imap4_engine_iterate): On connect
-       failures, disconnect our streams and set our engine state to
-       DISCONNECTED.
-
-2005-01-28  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-imap4-summary.c (untagged_fetch_all): Get rid of the
-       warnings about the mlist string not being strdup'd by the string
-       pool.
-
-       * camel-imap4-store.c (imap4_get_folder_info): In the ic1 error
-       case, xfer the ic1 exception, not the ic0 exception (which might
-       not even exist). Fixes bug #71919.
-
-Refer to main changelog for earlier changes.
-
diff --git a/camel/providers/imapx/ChangeLog b/camel/providers/imapx/ChangeLog
deleted file mode 100644 (file)
index 53b5c6e..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-2005-09-08    <NotZed@Ximian.com>
-
-       * camel-imapx-utils.c: use the messageinfo recent flag, not the
-       imapx specific one.
-
-2005-09-07    <NotZed@Ximian.com>
-
-       * camel-imapx-server.c (camel_imapx_server_sync_changes): init
-       on/off_user.
-
-       * camel-imapx-utils.c (imap_dump_fetch): remove bad stream reset
-       call.
-       (imap_parse_flags): use the right flag set func/fix warning.
-
-2005-09-06    <NotZed@Ximian.com>
-
-       * camel-imapx-utils.c (imap_free_fetch): fix flag_list_clear call.
-
-2005-08-22    <NotZed@Ximian.com>
-
-       * camel-imapx-utils.h: 
-       * camel-imapx-server.c: fix some compilation issues.
-       
-2005-08-22    <NotZed@Ximian.com>
-
-       * camel-imapx-server.c (imapx_command_addv): implement proper
-       string escaping.
-       (imapx_job_sync_changes_start): implement proper user-flag storage.
-
-       * camel-imapx-utils.c: move type functions here.
-
-       * camel-imapx-view-summary.c: implement new view-summary stuff.
-
-2005-06-27    <NotZed@Ximian.com>
-
-       * camel-imapx-server.c: Fixed some problems with multi-folder
-       support.
-
-       * camel-imapx-store.c: Simple first-cut of listing code.
-
-2005-06-23  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imapx-server.c (imapx_command_addv): added support for raw
-       filename literals, sends content directly.
-       (imapx_command_start_next): support no-select commands, like append.
-
-       * camel-imapx-summary.c (imapx_uid_cmp): modified for temporary uids.
-
-       * camel-imapx-server.c (camel_imapx_server_expunge): added.
-
-       * camel-imapx-folder.c (imap_sync): implement.
-
-       * camel-imapx-server.c (imapx_expunged): add code to support
-       expunge response.
-
-2004-11-11  Not Zed  <NotZed@Ximian.com>
-
-       * updates for camel folder summary api changes.
-
-2004-09-30  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imapp-engine.c: make the build again, warnings, doesn't
-       work.
-
-2004-09-28  Not Zed  <NotZed@Ximian.com>
-
-       * camel-imapp-engine.c (camel_imapp_engine_command_free): assume
-       the command isn't in a list now.
-       (cie_worker): worker thread code.
-
-       * camel-imapp-engine.h: make the imappcommand a
-       message.
-
-2004-09-28  Not Zed  <NotZed@Ximian.com>
-
-       * added new changelog.
-
diff --git a/camel/providers/local/ChangeLog b/camel/providers/local/ChangeLog
deleted file mode 100644 (file)
index 7629efc..0000000
+++ /dev/null
@@ -1,649 +0,0 @@
-2009-04-27  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #478239
-
-       * camel-mbox-folder.c: (mbox_append_message):
-       * camel-maildir-folder.c: (maildir_append_message):
-       * camel-mh-folder.c: (mh_append_message):
-       Check whether message has really attachment part when claiming so.
-
-2009-04-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #563954
-
-       * camel-mh-summary.c: (sort_uid_cmp), (camel_mh_summary_new):
-       Little cleanup.
-       * camel-mbox-folder.c: (mbox_cmp_uids), (mbox_sort_uids),
-       (camel_mbox_folder_class_init):
-       * camel-maildir-folder.c: (maildir_cmp_uids),
-       (maildir_sort_uids), (camel_maildir_folder_class_init):
-       Subslass sort and compare uids functions to compare based on the
-       position in the mbox file or a received date for maildir, instead
-       of uid values.
-
-2009-04-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #571206
-
-       * camel-maildir-summary.c: (message_info_new_from_header):
-       Peek info from summary.
-       * camel-maildir-summary.c: (maildir_summary_check),
-       Reload summary from db if necessary.
-       * camel-maildir-store.c: (fill_fi):
-       * camel-mh-store.c: (fill_fi):
-       Use 'camel_folder_summary_header_load_from_db'.
-
-       * camel-local-summary.h: (struct _CamelLocalSummaryClass):
-       * camel-local-summary.c: (local_summary_need_index):
-       * camel-spool-summary.c: (spool_summary_need_index):
-       Declare function prototype properly.
-
-2009-04-24  Sergio Villar Senin  <svillar@igalia.com>
-
-       ** Fixes bug #573183
-       
-       * camel-maildir-summary.c (maildir_summary_check): only do
-       closedir() if directory is not NULL
-
-2009-03-01  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-local-folder.c: Fix for a deadlock,
-       while recovering from folder-summary mismatch.
-
-2009-02-27  Tobias Mueller <tobiasmue@svn.gnome.org>
-
-       ** Fixes bug 573183
-
-       * camel-mbox-folder.c: (mbox_get_filename):
-       Use a gint64 for a format string with the macro PRId64.
-       Also, keep indentation in empty lines, e.g. add spaces. 
-
-2009-02-25  Jeff Cai <jeff.cai@sun.com>
-
-       ** Fix for bug #567008
-
-       * camel-local-summary.c: (camel_local_summary_class_init),
-       (camel_local_summary_load), (local_summary_need_index):
-       * camel-local-summary.h:
-       * camel-spool-summary.c: (camel_spool_summary_class_init),
-       (spool_summary_need_index):
-
-       Avoiding the clearing of the uids in the spool summary 
-       if forceindex is true.
-
-
-2009-01-30  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #557348
-
-       * camel-local-summary.c: (local_summary_add): Set flags and update
-       cache
-
-2009-01-28  Suman Manjunath  <msuman@novell.com>
-
-       * camel-local-private.c:
-       * camel-local-private.h:
-       Include appropriate headers which otherwise cause build failures
-       with strict compiler settings.
-
-2009-01-28  Hiroyuki Ikezoe  <poincare@ikezoe.net>
-
-       * camel-local-provider.[ch]: Move frompos_sort from
-       camel-mbox-summary.c, and rename to camel_local_frompos_sort.
-       And just return substraction a2 from a1.
-
-       * camel-mbox-summary.c, camel-spool-summary.c: Use
-       camel_local_frompos_sort for camel_db_set_collate.
-
-2009-01-15  Suman Manjunath  <msuman@novell.com>
-
-       * camel-mbox-folder.c (mbox_get_message): Fixed some compiler warnings.
-
-2009-01-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-mbox-folder.c: (mbox_get_message): Revert previous fix
-
-2009-01-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel-mbox-folder.c: (mbox_get_message): Fix for better flag sync.
-       Always send XEV headers with messages.
-
-2008-10-14  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #552261
-
-       * camel-local-summary.c: Include camel-db.h
-       * camel-maildir-summary.c:
-       * camel-mbox-summary.c:
-       * camel-mh-summary.c:
-       * camel-spool-summary.c:
-
-2008-09-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-local-store.c (camel_local_store_finalize):
-       Don't mix declarations and code.
-
-2008-08-30  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-spool-summary.c: Fixed folder summary
-       mismatch for spool
-
-2008-08-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-maildir-summary.c: Make it use sort by
-       dreceived from db.
-
-2008-08-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-mh-summary.c: Implement in-db sort of
-       m-h account types.
-
-2008-08-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-mbox-summary.c: Fix some missing
-       portions of folder summary mismatch
-
-2008-08-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #213072
-
-       * camel/providers/local/camel-mbox-summary.c: Sort mbox/spool summary
-       uids by from_pos. 
-
-2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>
-       
-       ** Fix for bug #548331 
-
-       * camel/providers/local/camel-mbox-summary.c: Put back the summary
-       mismatch. It is more serious now.
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-mbox-summary.c: When required just save
-       the header and not all.
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-mbox-summary.c: Continue, if the summary
-       isn't loaded.
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-mbox-summary.c: Fixes folder summary
-       mismatch on expunge.
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-mbox-summary.c: Revert old patch for
-       folder summary mismatch. It corrupts even more.
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-mbox-summary.c: Fix counts on expunge
-       and on an expunge, save the contents to db.
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-mbox-folder.c: Don't save to db on
-       every append. Its quite expensive.
-
-2008-08-18  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-mbox-summary.c: Fix counts while
-       expunging.
-
-2008-08-06  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #545877
-
-       * camel-maildir-store.c:
-       Use CamelDList instead of EDList.
-
-2008-08-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-spool-summary.c: Load spool's summary
-       before we need it to avoid any duplication.
-
-2008-08-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-maildir-summary.c: Fix pstring crashes.
-
-2008-07-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #540295
-
-       * camel-local-store.c (xrename):
-       Use g_rename() for all platforms.  Previous POSIX logic didn't
-       work for VFAT filesystems.  (Patch by Sergio)
-
-2008-07-31  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-local-store.c: Support delete folder wrt
-       disk summary.
-
-2008-07-30  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-local-folder.c: Move the folder lock to
-       provider. This is a very very ugly hack.
-
-2008-07-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #545099
-
-       * camel/providers/local/camel-local-summary.c: Improve flag sync. Make
-       it work for append mails
-
-2008-07-28  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/local/camel-mbox-summary.c: Fix compiler warnings.
-
-2008-07-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #544031
-
-       * camel-mbox-summary.c: (summary_header_to_db):
-       Compiler warning cleanup.
-
-2008-07-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #543943
-
-       * camel-local-summary.c: (summary_header_from_db):
-       Reassign structure member correctly, otherwise can cause a crash.
-       * camel-maildir-store.c: (scan_dirs): Leak fix.
-
-2008-07-18  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-local-summary.c: #include "camel-string-utils.h"
-
-2008-07-16  Sankar P  <psankar@novell.com>
-
-       Pushing disk summary changes from the madagascar branch
-
-       * camel-local-folder.c (camel_local_folder_construct):
-       * camel-local-store.c (camel_local_store_finalize):
-       * camel-local-summary.c (camel_local_summary_class_init),
-       (local_summary_load), (camel_local_summary_load),
-       (local_summary_sync), (local_summary_add),
-       (local_summary_decode_x_evolution), (summary_header_from_db),
-       (summary_header_to_db), (message_info_new_from_header):
-       * camel-maildir-summary.c (maildir_summary_check):
-       * camel-mbox-store.c (fill_fi):
-       * camel-mbox-summary.c (camel_mbox_summary_class_init),
-       (summary_header_from_db), (summary_header_to_db),
-       (message_info_new_from_header), (message_info_from_db),
-       (message_info_to_db), (mbox_summary_sync_quick),
-       (mbox_summary_sync):
-       * camel-mh-summary.c (mh_summary_check):
-
-2008-05-30  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #318803 (Patch by Ilkka Tuohela)
-
-       * camel-maildir-store.c: (scan_dirs):
-       Do not show ".#evolution" directory in the UI.
-
-2008-05-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #531591
-
-       * camel-spool-summary.c:
-       * camel-local-provider.c:
-       * camel-local-store.c:
-       * camel-spool-store.c:
-       * camel-mh-store.c:
-       * camel-mbox-store.c:
-       * camel-maildir-store.c:
-       Don't use TeX-style quotes in user-visible messages.
-
-2008-04-04  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #522433
-
-       * camel-spool-summary.c: (spool_summary_sync_full):
-       * camel-mh-summary.c: (mh_summary_next_uid_string),
-       (camel_mh_summary_add):
-       * camel-maildir-summary.c: (camel_maildir_summary_add):
-       * camel-mbox-folder.c: (mbox_lock):
-       * camel-spool-folder.c: (spool_lock): Open files with O_LARGEFILE flag.
-
-2008-01-22  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #450840
-
-       * camel-mbox-folder.c: (mbox_get_message): A corrupted summary that
-       would get fine in next sync. So lets not crash if a message is not
-       there.
-
-2008-01-22  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #482940
-
-       * camel-maildir-summary.c: (camel_maildir_summary_init),
-       (camel_maildir_summary_finalise), (maildir_summary_check): Make the
-       maildir summary check thread safe. May be needed for other functions
-       too.
-
-2008-01-16  Sankar P  <psankar@novell.com>
-
-       * camel-mbox-summary.c: (mbox_summary_sync_quick),
-       (camel_mbox_summary_sync_mbox):
-       Changed error message to a better string as suggested by
-
-       Wouter Bolsterlee <uws+gnome@xs4all.nl>
-
-2008-01-16  Sankar P  <psankar@novell.com>
-
-       * camel-mbox-summary.c: (mbox_summary_sync_quick),
-       (fix_summary_mismatch), (camel_mbox_summary_sync_mbox):
-       Avoids the infinite loop that might be caused in case
-       of broken mbox files or null From addresses.
-
-       ** Part of fix for #213072
-
-2008-01-16  Sankar P  <psankar@novell.com>
-
-       * camel-mbox-summary.c: (mbox_summary_sync_quick),
-       (fix_summary_mismatch), (camel_mbox_summary_sync_mbox):
-       Remove the error condition that inits and persists 
-       the infamous "folder summary mismatch" bug.
-
-       ** Fix for bug #213072
-
-       ** Let there be light at the end of the tunnel :)
-
-2008-01-14  Philip Van Hoof  <pvanhoof@gnome.org>
-
-       * camel-maildir-folder.c: Memory leak fix
-
-2007-12-11  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #336074
-
-       * camel-local-store.c: (local_can_refresh_folder),
-       (camel_local_store_class_init): Implements its own CamelStore's
-       can_refresh_folder function - any folder can be refreshed here.
-
-2007-12-04  David Turner  <cillian64@googlemail.com>
-
-       ** Fix for bug #466499
-
-       * camel-local-provider.c: Added mnemonics to configuration options
-
-2007-12-03  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #500018
-
-       * camel-local-provider.c: (CamelProvider mbox_provider):
-       Allow choose files, instead of directories, for mbox.
-
-2007-11-16  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-spool-store.c (free_folder_info):
-       Missed that CamelSpoolStore has its own free_folder_info()
-       implementation (why?).  Change it to use g_slice_free().
-
-2007-11-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Merge a bunch of compiler warning fixes and cosmetic
-          cleanups from camel-lite.
-
-2007-09-07  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * camel-maildir-summary.c: (maildir_summary_next_uid_string),
-       (message_info_load), (maildir_summary_load),
-       (maildir_summary_check):
-       * camel-mbox-summary.c: (mbox_summary_sync_quick),
-       (mbox_summary_sync):
-       * camel-mh-store.c: (folders_update), (get_folder),
-       (recursive_scan): More NULL vs 0 fixes.
-
-2007-08-13  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #352346
-
-       * camel-local-provider.c: (camel_provider_module_init):
-       New provider spool_file_provider with virtual protocol 'spooldir'
-       and set CAMEL_URL_NEED_PATH_DIR; registering this provider
-       as copy for spool files.
-
-2007-07-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #342164 from Lucky and Jared Moore
-
-       * camel-mbox-summary.c: (mbox_summary_sync_full),
-       (camel_mbox_summary_sync_mbox): Harmonize the strings.
-
-2007-06-06  Jeffrey Stedfast  <fejj@novell.com>
-
-       Robustness fix while making sure the code would properly handle
-       disk-full problems.
-
-       * camel-mbox-folder.c (mbox_append_message): Open the mbox w/
-       O_LARGEFILE so that we support large files. After writing the
-       message to the mbox, check camel_stream_flush() for error instead
-       of camel_stream_close() so that we can continue re-using the same
-       fd for ftruncate (we want to avoid having to re-open the file as
-       it may not succeed). Also, ftruncate() can get EINTR, so loop.
-
-2007-05-16  Jules Colding  <colding@omesc.com>
-
-       * camel-spool-summary.c (spool_summary_sync_full): Use g_mkstemp()
-
-2007-05-14  Jules Colding  <colding@omesc.com>
-
-       * camel-mh-summary.c (mh_summary_next_uid_string): Do not close()
-       if (fd == -1).
-
-       * camel-spool-summary.c (spool_summary_sync_full): alloca()
-       changed into malloc().  alloca() has undefined behaviour for stack
-       overflow so it shouldn't really be used unless there is a *very*
-       good reason. Cleanups related to this fix as well. Do not close()
-       if (fd == -1).
-
-2007-04-05  Ross Burton  <ross@openedhand.com>
-
-       * camel-local-store.c: (get_folder):
-       * camel-mbox-store.c: (get_folder), (create_folder),
-       (rename_folder):
-       * camel-spool-store.c: (spool_get_meta_path):
-       Use g_mkdir_with_parents (#383686).
-
-2007-03-05  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       ** Fixes BGO #413268
-       
-       * camel-mbox-store.c:
-
-       * camel-local-store.c (rename_folder, delete_folder):
-       Rename/delete meta summary file.
-       
-2006-08-23  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #347905 by Matt Davey
-       
-       * camel-local-store.c: (create_folder): patch to fix mail folder 
-       creation with MH back end.
-
-2006-06-15  Andre Klapper  <a9016009@gmx.de>
-
-       * camel-maildir-folder.c: 
-       * camel-mbox-folder.c: 
-       * camel-mh-folder.c:
-       changing "cancelled" to "canceled" in user-visible strings.
-       Fixes bug #342163.
-
-2006-06-15  Tor Lillqvist  <tml@novell.com>
-
-       * camel-mbox-summary.c (summary_update, mbox_summary_check)
-       (mbox_summary_sync): Use g_stat() instead of plain stat() for full
-       Unicode pathname support on Win32. These instances had gone
-       unnoticed earlier.
-
-2006-06-09  Chris Heath  <chris@heathens.co.nz>
-
-       * camel-local-summary.c (message_info_new_from_header): Fix memory leak
-       * camel-mbox-summary.c (message_info_new_from_header): Ditto.
-       Fixes bug #335423.
-
-2006-03-28  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-mbox-summary.c (summary_update, mbox_summary_sync_full),
-       (mbox_summary_sync_full, mbox_summary_sync_quick): Use O_LARGEFILE
-       when opening the mbox file.
-
-       * camel-mbox-store.c (get_folder): Use O_LARGEFILE when opening
-       the mbox file.
-
-       * camel-mbox-folder.c (mbox_append_message, mbox_get_message): Use
-       O_LARGEFILE when opening the mbox file.
-
-2006-03-28  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** See bug 160889 on bugzilla.novell.com
-
-       * camel-mbox-store.c: ignore *.ev-summary-meta extensions 
-       when displaying folder lists
-
-2005-12-09  Tor Lillqvist  <tml@novell.com>
-
-       * camel-mbox-folder.c: Just #define O_BINARY as 0 on Unix, less
-       ifdefs that way. Should really do this in some suitable header, of
-       course, and not duplicate here and there.
-
-2005-12-09  David Malcolm  <dmalcolm@redhat.com>
-
-       * camel-local-folder.c: restore missing declarations for non-Win32 
-       systems.
-
-       * camel-mbox-folder.c: avoid use of O_BINARY on non-Win32 systems.
-
-2005-12-08  Tor Lillqvist  <tml@novell.com>
-
-       * *.c: Use gstdio wrappers. Use GLib portable path manipulation
-       API. No symlinks on Win32. Use GDir instead of dirent.
-
-       * camel-local-provider.c: Compile in only the mbox provider on Win32.
-
-       * camel-mbox-folder.c: Bypass locking so far on Win32. Should
-       implement, though, several threads in Evo might be accessing the
-       same mbox folder.
-
-       * camel-mbox-store.c: No inode numbers on Win32, but no symlinks
-       either, so bypass the code to avoid visiting the same folder
-       twice.
-
-2005-09-15  Tor Lillqvist  <tml@novell.com>
-
-       * camel-local-summary.c: Use g_ascii_strcasecmp() instead of
-       strcasecmp(). The strings we are comparing are just ASCII anyway,
-       so spell it out that we really do need ASCII casefolding only.
-
-2005-08-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mbox-summary.c (mbox_summary_sync_quick): removed some
-       unecessary debug.
-
-2005-08-12  Not Zed  <NotZed@Ximian.com>
-
-       * camel-local-folder.c (camel_local_folder_construct): dont sync
-       folder on open, wait for a refresh_info to do it.
-
-2005-08-12  Tor Lillqvist  <tml@novell.com>
-
-       * Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-       libcamel and CAMEL_LIBS. Include the mh, maildir and spool stores
-       only on Unix.
-
-       * camel-local-provider.c: Include the mh, maildir and spool stores
-       only on Unix.
-
-2005-04-17  Changwoo Ryu  <cwryu@debian.org>
-
-       ** See bug #300891
-       
-       * Makefile.am (INCLUDES): define
-       CAMEL_EXPLICIT_TRANSLATION_DOMAIN.
-
-       * camel-local-provider.c (camel_provider_module_init):
-       set translation_domain in CamelProvider structs.
-
-2005-08-08  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #311639.
-
-       * camel-mh-store.c (folders_update): add a rename mode, fix
-       callers.
-       (folders_scan): pass top to folder_info_build, otherwise
-       get_folder_info doesn't work right.  Fix the check for subfolder
-       test.
-
-2005-06-08  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #303225
-
-       * camel-local-provider.c (local_url_equal): remove the checks for
-       fields not used/appropriate for local resources.
-
-2005-04-12  Not Zed  <NotZed@Ximian.com>
-
-       * camel-local-provider.c (check_equal): make "" equal NULL for
-       comparative purposes.
-
-2005-03-18  Not Zed  <NotZed@Ximian.com>
-
-       * camel-mbox-summary.c (mbox_summary_sync_quick): use a different
-       fd for the mime parser, so the fd doesn't get closed twice.
-
-2005-03-16  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #73401?
-
-       * camel-mbox-summary.c (mbox_info_set_user_tag)
-       (mbox_info_set_user_flag): do not flag xevchange here, these
-       values are not stored in x-evolution-header anymore.
-
-2005-02-24  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #57185
-
-       * camel-mh-summary.c (mh_summary_sync_message): removed.  dont
-       re-write people's mh mail just to add an xev header.  we should be
-       looking at .mh_sequences or something.  Partial fix for #57185.
-
-2005-02-24  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #59507
-
-       * camel-spool-store.c (spool_get_full_path): handle mbox/elm cases
-       explictly, not based on stat of path.
-       (spool_get_meta_path): store all meta files in ~/.evolution
-       somewhere.
-
-       * camel-local-folder.c (camel_local_folder_construct): remove the
-       special case test for a direct folder, leave it to subclasses to
-       decide.
-
-       * camel-local-store.c (local_get_trash, local_get_junk): calculate
-       the state file based on the new store get_meta_path calls.  Also
-       use the CAMEL_VJUNK_NAME, etc.
-
-       * camel-local-folder.c, camel-local-store.c: Moved the
-       get_meta_path and get_full_path routines to the store instead of
-       the folder.  fix all subclasses.
-
-2005-02-23  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #71812
-
-       * camel-mbox-summary.c (camel_mbox_summary_sync_mbox): clear the
-       working flags after we've successfully performed a full sync, they
-       are no longer needed.
-
-2005-02-01  Not Zed  <NotZed@Ximian.com>
-
-       * camel-maildir-store.c (get_folder_info): set the
-       folder type of inbox properly.
-
-       * started new chnagelog.
-
diff --git a/camel/providers/nntp/ChangeLog b/camel/providers/nntp/ChangeLog
deleted file mode 100644 (file)
index cc8f552..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-2009-04-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #577002
-
-       * camel-nntp-store.c: (connect_to_server), (nntp_connect_offline),
-       (nntp_store_finalize): Do not leak ".ev-journal" file handles.
-
-2009-02-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #572268
-
-       * camel-nntp-store.c: (nntp_store_get_cached_folder_info):
-       Do not create duplicate folder infos.
-
-2008-10-21  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #556119
-
-       * camel/providers/nntp/camel-nntp-summary.c: Do things in bulk
-       * camel/providers/nntp/camel-nntp-utils.c:
-
-2008-10-14  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #552261
-
-       * camel-nntp-summary.c: Include camel-db.h
-
-2008-09-26  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #553301
-
-       * camel-nntp-store.c: (camel_nntp_try_authenticate): Do not forget
-       password when server not available at the moment or user cancelled.
-       * camel-nntp-auth.c: (camel_nntp_auth_authenticate):
-       Use correct parameters.
-
-2008-08-06  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #546397
-
-       * camel-nntp-folder.c: (nntp_folder_search_free):
-       Guard access to 'search' member with its lock.
-
-2008-08-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-nntp-store-summary.c:
-       Remove unnecessary <libedataserver/e-memory.h> include.
-
-2008-07-28  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * camel/providers/nntp/camel-nntp-summary.c: Fix uid/pstring issues.
-
-2008-07-16  Sankar P  <psankar@novell.com>
-
-       Pushing disk summary changes from the madagascar branch
-
-       * camel-nntp-folder.c (nntp_folder_sync_online),
-       (nntp_folder_sync_offline), (nntp_folder_finalise),
-       (camel_nntp_folder_new):
-       * camel-nntp-summary.c (camel_nntp_summary_class_init),
-       (summary_header_from_db), (summary_header_to_db),
-       (camel_nntp_summary_check):
-       * camel-nntp-utils.c (uid_num):
-
-2008-03-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #518710
-
-       * camel-nntp-store-summary.c:
-       * camel-nntp-utils.c:
-       Use GLib's new MD5 Checksum API.  The MD5 utilities in
-       libedataserver are now deprecated.
-
-2008-02-11  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #455248
-
-       * camel-nntp-store.c: (nntp_delete_folder):
-       Call unsubscribe instead of subscribe function.
-
-2008-01-21  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #510303
-
-       * camel-nntp-store.c (camel_nntp_try_authenticate):
-       Escape the authentication error message so the markup parser
-       will parse it verbatim.
-
-2008-01-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #506250
-
-       * camel-nntp-auth.c (camel_nntp_auth_authenticate):
-       * camel-nntp-store.c (camel_nntp_try_authenticate):
-       Use a consistently worded password prompt message by calling
-       camel_session_build_password_prompt().
-
-2007-12-11  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #336074
-
-       * camel-nntp-store.c: (nntp_can_refresh_folder),
-       (nntp_store_class_init): Implements its own CamelStore's
-       can_refresh_folder function - any folder can be refreshed here.
-
-2007-12-04 David Turner <cillian64@googlemail.com>
-
-       ** Fix for bug #466499
-
-       * camel-nntp-provider.c: Added mnemonics to configuration options
-
-2007-11-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Merge a bunch of compiler warning fixes and cosmetic
-          cleanups from camel-lite.
-
-2007-05-14  Jules Colding  <colding@omesc.com>
-
-       * camel-nntp-newsrc.c (camel_nntp_newsrc_read_for_server): Fix file descriptor leak
-
-2007-04-05  Ross Burton  <ross@openedhand.com>
-
-       * camel-nntp-folder.c: (camel_nntp_folder_new):
-       Use g_mkdir_with_parents (#383686).
-
-2007-03-29  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-nntp-store-summary.c:
-       Fix "incompatible pointer type" warnings (#360619).
-
-2007-02-23  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-nntp-folder.c:
-       * camel-nntp-store.c:
-       Migrate from EMutex to GStaticMutex or GStaticRecMutex.
-
-2006-06-15  Andre Klapper  <a9016009@gmx.de>
-
-       * camel-nntp-store.c: 
-       * camel-nntp-folder.c: 
-       changing "cancelled" to "canceled" in user-visible strings.
-       Fixes bug #342163.
-
-2006-06-15  Andre Klapper <a9016009@gmx.de>
-
-       * addressbook/libebook/e-book.c:
-       * camel/camel-folder.c:
-       * camel/providers/nntp/camel-nntp-folder.c:
-       * camel/providers/pop3/camel-pop3-folder.c:
-       changing "uri" to "URI" in user-visible strings.
-       Fixes bug #342161.
-
-2006-06-09  Chris Heath  <chris@heathens.co.nz>
-
-       * camel-nntp-summary.c (message_info_new_from_header): Fix memory leak.
-       Fixes bug #335423.
-
-2005-12-13  Tor Lillqvist  <tml@novell.com>
-
-       * camel-nntp-grouplist.c
-       * camel-nntp-newsrc.c: Use gstdio wrappers.
-
-2005-11-30  Tor Lillqvist  <tml@novell.com>
-
-       * camel-nntp-folder.c
-       * camel-nntp-store.c: Remove some unneeded headers.
-
-2005-09-16  Tor Lillqvist  <tml@novell.com>
-
-       * camel-nntp-stream.c: If no ECONNRESET (Win32), use EIO instead.
-
-       * camel-nntp-utils.c: Use g_ascii_strcasecmp() instead of the
-       deprecated g_strcasecmp(). The strings we are comparing are just
-       ASCII anyway, so spell it out that we really do need ASCII
-       casefolding only.
-
-2005-08-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-nntp-stream.c (stream_read): cast print args to int.
-
-2005-08-12  Tor Lillqvist  <tml@novell.com>
-
-       * Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-       libcamel and CAMEL_LIBS.
-
-2005-04-17  Changwoo Ryu  <cwryu@debian.org>
-
-       ** See bug #300891
-       
-       * Makefile.am (INCLUDES): define
-       CAMEL_EXPLICIT_TRANSLATION_DOMAIN.
-
-       * camel-nntp-provider.c (camel_provider_module_init):
-       set translation_domain in CamelProvider struct.
-
-2005-08-02  Not Zed  <NotZed@Ximian.com>
-
-       * camel-nntp-store.c (nntp_construct): setup the cache here.
-       (nntp_connect_offline, nntp_connect_online): not here or here.
-       (nntp_store_finalize): free the cache.
-
-2005-04-30  Alessandro Decina  <alessandro@nnnva.org>
-
-       * camel-nntp-store.c (nntp_folder_info_from_store_info): Copy the
-       flags field when converting from CamelStoreInfo to CamelFolderInfo.
-
-2005-04-22  rganesan <rganesan@novell.com>
-
-        *camel-nntp-provide.c:  Patch for bug #301460 give space at the end of line.
-
-2005-04-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-nntp-store.c (nntp_store_get_folder_info_all): don't set
-       exceptions for failed date commands from last patch.
-
-2005-04-22  Alessandro Decina <alessandro@nnva.org>
-
-       * camel-nntp-store.c (nntp_store_get_folder_info_all): If we fail
-       to get the date, just abort.
-
-2005-03-16  Not Zed  <NotZed@Ximian.com>
-
-       * modified patch below to make it a bit simpler.
-
-2005-01-22  Jeff Bailey <jbailey@ubuntu.com>
-
-       * camel-nntp-store.c (connect_to_server): Allow the username to an
-       empty string as well as a NULL for anonymous connections.
-
-2005-03-16  Not Zed  <NotZed@Ximian.com>
-
-       * added nntp changelog
-
diff --git a/camel/providers/pop3/ChangeLog b/camel/providers/pop3/ChangeLog
deleted file mode 100644 (file)
index d3b7baa..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-2009-04-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #552583
-
-       * camel-pop3-provider.c: (pop3_url_hash), (pop3_url_equal),
-       (camel_provider_module_init), (add_hash), (check_equal):
-       Compare URLs only on protocol, user, host and port.
-
-2008-12-09  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #552986
-
-       * camel-pop3-store.c: (pop3_connect):
-       Ensure error description is valid UTF-8 text before using it.
-
-2008-10-02  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-pop3-store.c (pop3_try_authenticate): Return -1 if we fail
-       to get a password, not 0.
-
-2008-09-26  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #553301
-
-       * camel-pop3-store.c: (pop3_try_authenticate):
-       Return 'int', not gboolean.
-       * camel-pop3-store.c: (pop3_connect):
-       Also forget password in a session before reprompting it.
-
-2008-09-08  Patrick Ohly  <patrick.ohly@gmx.de>
-
-       ** Fixes memory leak created by patch for #514827
-
-       * camel-pop3-folder.c: incrementing/decrementing the ref count of
-       the stream created with camel_data_cache_get() is a no-op; instead
-       it must be decremented once after using it
-
-2008-08-06  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #545877
-
-       * camel-pop3-engine.c:
-       * camel-pop3-engine.h:
-       Use CamelDList instead of EDList.
-
-2008-05-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #531591
-
-       * camel-pop3-store.c:
-       Don't use TeX-style quotes in user-visible messages.
-
-2008-05-11  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-pop3-stream.c (stream_fill): Use memmove() instead of
-       memcpy() since src and dest may overlap.
-
-2008-03-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #518710
-
-       * camel-pop3-folder.c:
-       * camel-pop3-store.c:
-       Use GLib's new MD5 Checksum API.  The MD5 utilities in
-       libedataserver are now deprecated.
-
-2008-03-27  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #514827
-
-       * camel-pop3-folder.c: (pop3_get_message_time_from_cache),
-       (camel_pop3_delete_old): POP3 folder doesn't have a summary,
-       it has its own cache, so read message time from it.
-
-2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * camel-pop3-store.c (connect_to_server): Fix for some
-       warnings. Fix from opensuse downstream.                                           
-
-2008-01-21  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #510303
-
-       * camel-pop3-store.c (pop3_connect):
-       Escape the authentication error message so the markup parser
-       will parse it verbatim.
-
-2008-01-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #506250
-
-       * camel-pop3-store.c (pop3_try_authenticate):
-       Use a consistently worded password prompt message by calling
-       camel_session_build_password_prompt().
-
-2008-01-16  Suman Manjunath  <msuman@novell.com>
-
-       ** Fix for bug #456019
-       ** Patch from  <hggdh2@gmail.com>
-
-       * camel-pop3-store.c: (try_sasl): Use 'pop' as service name, instead 
-       of 'pop3', in the digest-uri.
-
-2007-12-11  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #336074
-
-       * camel-pop3-store.c: (pop3_can_refresh_folder),
-       (camel_pop3_store_class_init): Implements its own CamelStore's
-       can_refresh_folder function - any folder can be refreshed here.
-
-2007-12-04 David Turner <cillian64@googlemail.com>
-
-       ** Fix for bug #466499
-
-       * camel-pop3-provider.c: Added mnemonics to configuration options
-
-2007-11-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Merge a bunch of compiler warning fixes and cosmetic
-          cleanups from camel-lite.
-
-2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #474000
-
-       * camel-pop3-folder.c (cmd_builduid):
-       Use GLib's Base64 API instead of Camel's.
-
-2007-08-28  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-pop3-folder.c: Silence debug messages.
-
-2007-07-09  Gilles Dartiguelongue  <gdartigu@svn.gnome.org>
-
-       * camel-pop3-engine.c: (read_greeting), (cmd_capa):
-       * camel-pop3-folder.c: (cmd_builduid), (cmd_list), (cmd_uidl):
-       * camel-pop3-store.c: (connect_to_server), (try_sasl):
-       Fix compilation warnings (#363384)
-
-2007-07-09  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #352284 from Nathan Owens
-
-       * camel-pop3-folder.c: (camel_pop3_delete_old):
-
-2007-07-08  Jens Granseuer  <jensgr@gmx.net>
-
-       * camel-pop3-folder.c: (camel_pop3_delete_old):
-       put declarations before code and don't use "%s" for int. Fixes #454570
-
-2007-06-18  Srinivasa Ragavan <sragavan@novell.com>
-       
-       ** Fix for bug #352284 from Varadhan
-
-       * camel-pop3-folder.c: (pop3_sync), (camel_pop3_delete_old): Do not fetch 
-       the message from server - instead use the header information to calculate 
-       the expiry period.
-
-2007-04-30  Sankar P  <psankar@novell.com>
-
-       * camel-pop3-store.c: (pop3_try_authenticate):
-       Check if the APOP id generated is a valid one.
-       Fixes #424373
-
-2007-04-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-pop3-store.c (connect_to_server):
-       Fix a compiler warning.  Patch from Kjartan Maraas.
-
-2007-03-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-pop3-folder.c:
-       Don't mix declarations and code (#405495).
-       Patch from Jens Granseuer.
-
-2007-02-10  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * camel-pop3-folder.c: (pop3_sync), (camel_pop3_delete_old):
-       Fix a nasty leak when using the "Delete after N days" option.
-       Patch from Nathan Owens. Closes bug #363328.
-
-2007-01-11  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>
-
-       * Makefile.am:
-       
-       Add explicit translation domain to make things
-       translatable. Fixes bug #353060.
-
-2006-07-09  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       ** Fixes bug #201824
-       * camel-pop3-folder.[ch]
-       * camel-pop3-store.[ch]:
-       Deletes messages after N days.
-
-       Committing to head on behalf of shreyas srinivasan
-       <sshreyas@gmail.com>
-       
-2006-06-15  Andre Klapper  <a9016009@gmx.de>
-
-       * camel-pop3-store.c: 
-       * camel-pop3-folder.c: 
-       changing "cancelled" to "canceled" in user-visible strings.
-       Fixes bug #342163.
-
-2006-06-15  Andre Klapper <a9016009@gmx.de>
-
-       * addressbook/libebook/e-book.c:
-       * camel/camel-folder.c:
-       * camel/providers/nntp/camel-nntp-folder.c:
-       * camel/providers/pop3/camel-pop3-folder.c:
-       changing "uri" to "URI" in user-visible strings.
-       Fixes bug #342161.
-
-2006-06-09  Chris Heath  <chris@heathens.co.nz>
-
-       * camel-pop3-engine.c (camel_pop3_engine_finalise): Fix memory leak.
-       Fixes bug #335423.
-
-2006-05-31  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-pop3-store.c (connect_to_server): Fix a few of the TLS
-       error strings to be more informative. Fixes the confusion in bug
-       #342001.
-
-2006-04-21  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-pop3-store.c (connect_to_server_wrapper): Don't do
-       fallback for SSL/TLS. Fixes bug #321797.
-
-2005-09-16  Tor Lillqvist  <tml@novell.com>
-
-       * camel-pop3-folder.c: Use g_ascii_strcasecmp() instead of
-       strcasecmp(). The strings we are comparing are just ASCII anyway,
-       so spell it out that we really do need ASCII casefolding only.
-
-2005-08-22  Not Zed  <NotZed@Ximian.com>
-
-       * camel-pop3-stream.c: fix some debug printfs to use
-       the right sized length.
-
-2005-08-12  Tor Lillqvist  <tml@novell.com>
-
-       * Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-       libcamel and CAMEL_LIBS.
-
-2005-04-17  Changwoo Ryu  <cwryu@debian.org>
-
-       ** See bug #300891
-       
-       * Makefile.am (INCLUDES): define
-       CAMEL_EXPLICIT_TRANSLATION_DOMAIN.
-
-       * camel-pop3-provider.c (camel_provider_module_init):
-       set translation_domain in CamelProvider struct.
-
-2005-07-25  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * camel-pop3-store.c: (connect_to_server):
-       some initialisation. ** Fixes Bug 301871
-
-Refer to main changelog for earlier changes.
-
diff --git a/camel/providers/sendmail/ChangeLog b/camel/providers/sendmail/ChangeLog
deleted file mode 100644 (file)
index 7d91579..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-2007-05-11  Jules Colding  <colding@omesc.com>
-
-       * camel-sendmail-transport.c (sendmail_send_to): Fix file descriptor leak
-
-2005-09-16  Tor Lillqvist  <tml@novell.com>
-
-       * camel-sendmail-transport.c: Use g_ascii_strcasecmp() instead of
-       strcasecmp(). The strings we are comparing are just ASCII anyway,
-       so spell it out that we really do need ASCII casefolding only.
-
-2005-04-17  Changwoo Ryu  <cwryu@debian.org>
-
-       ** See bug #300891
-       
-       * Makefile.am (INCLUDES): define
-       CAMEL_EXPLICIT_TRANSLATION_DOMAIN.
-
-       * camel-sendmail-provider.c (camel_provider_module_init):
-       set translation_domain in CamelProvider struct.
-
-** refer to main changelog for earlier changes
diff --git a/camel/providers/smtp/ChangeLog b/camel/providers/smtp/ChangeLog
deleted file mode 100644 (file)
index ee503b9..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-2009-04-24  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #552583
-
-       * camel-smtp-provider.c: (smtp_url_hash), (smtp_url_equal),
-       (camel_provider_module_init), (add_hash), (check_equal):
-       Compare URLs only on protocol, user, host and port.
-
-2008-09-26  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #553301
-
-       * camel-smtp-transport.c: (smtp_connect): Do not forget password
-       when server not available at the moment or user cancelled.
-       * camel-smtp-transport.c: (smtp_data): Compiler warning cleanup.
-
-2008-06-20  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-smtp-transport.c (smtp_data): Setup progress reporting for
-       message sending.
-
-2008-06-18  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #532472
-
-       * camel-smtp-transport.c (smtp_connect), (smtp_auth):
-       Force a password reprompt if the SMTP server rejects our password
-       with a 535 response.  Previously we just kept sending the same bad
-       password until the server got fed up and disconnected.
-
-2008-01-21  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #510303
-
-       * camel-smtp-transport.c (smtp_connect):
-       Escape the authentication error message so the markup parser
-       will parse it verbatim.
-
-2008-01-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #506250
-
-       * camel-smtp-transport.c (smtp_connect):
-       Use a consistently worded password prompt message by calling
-       camel_session_build_password_prompt().
-
-2008-01-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #504837
-
-       * camel-smtp-transport.c: (connect_to_server):
-       Do not ignore HELO failed message.
-
-2007-12-23  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-smtp-transport.c (smtp_helo): Get rid of some unneccessary
-       debug printfs.
-
-2007-12-19  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #341579
-
-       * camel-smtp-transport.c (convert_to_local): Helper function to
-       convert error text to user's locale.
-
-       * camel-smtp-transport.c (smtp_set_exception): Try to parse error
-       message returned by server always, even without
-       CAMEL_SMTP_TRANSPORT_ENHANCEDSTATUSCODES, and show this text to
-       user, if have any.
-
-2007-11-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Merge a bunch of compiler warning fixes and cosmetic
-          cleanups from camel-lite.
-
-2007-03-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * camel-smtp-transport.c (smtp_auth):
-       Fix a couple memory leaks (#360807).  Patch from Chris Heath.
-
-2006-06-15  Andre Klapper  <a9016009@gmx.de>
-
-       * camel-smtp-transport.c: 
-       changing "cancelled" to "canceled" in user-visible strings.
-       Fixes bug #342163.
-
-2006-05-10  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-smtp-transport.c (smtp_helo): Implement the correct fix.
-
-2006-05-09  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-smtp-transport.c (smtp_helo): Reverted. David Woodhouse
-       can fix his own damn server since he configured it to be broken.
-
-2006-04-21  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-smtp-transport.c (connect_to_server_wrapper): Don't do
-       fallback for SSL/TLS. Fixes bug #321797.
-
-2006-04-18  Jeffrey Stedfast  <fejj@novell.com>
-
-       * camel-smtp-transport.c (smtp_helo): If the hostname isn't valid
-       (contains invalid chars, etc), then fallback to numeric host
-       address. Fixes bug #336035. Based on a patch by David Woodhouse.
-
-2005-08-12  Tor Lillqvist  <tml@novell.com>
-
-       * Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-       libcamel and CAMEL_LIBS.
-
-2005-04-17  Changwoo Ryu  <cwryu@debian.org>
-
-       ** See bug #300891
-       
-       * Makefile.am (INCLUDES): define
-       CAMEL_EXPLICIT_TRANSLATION_DOMAIN.
-
-       * camel-smtp-provider.c (camel_provider_module_init):
-       set translation_domain in CamelProvider struct.
-
-** refer to main changelog for earlier entries
diff --git a/camel/tests/ChangeLog b/camel/tests/ChangeLog
deleted file mode 100644 (file)
index 7887702..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-2007-10-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * folder/Makefile.am:
-       * message/Makefile.am:
-       * mime-filter/Makefile.am:
-       * misc/Makefile.am:
-       * smime/Makefile.am:
-       * stream/Makefile.am:
-       Disable the tests until someone can scrape off the bit rot.
-       The failing tests are preventing distcheck from passing.
-
-2007-05-14  Jules Colding  <colding@omesc.com>
-
-       * mime-filter/test-charset.c (main): Check return value
-
-       * message/test2.c (convert): Check return value
-
-2006-06-22  Harish Krishnaswamy  <kharish@novell.com>
-
-       * Makefile.am: Remove CVS/*, .cvsignore files from
-       the dist output.
-
-2005-09-16  Tor Lillqvist  <tml@novell.com>
-
-       * lib/camel-test-provider.c (camel_test_provider_init): Use
-       G_MODULE_SUFFIX instead of hardcoded .so.
-
-2005-08-13  Tor Lillqvist  <tml@novell.com>
-
-       * message/Makefile.am (LDADD): Reorder: put libcamel after
-       libcameltest.
-
-2005-08-08  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #310496.
-
-       * smime/pgp.c (main): disable ourselves if CAMEL_TEST_GPG isn't
-       set.  In reality i've never gotten it to work and it depends on a
-       lot of things which change from distro to distro (e.g, gpg-agent
-       completely breaks it).
-
-2005-06-10  Not Zed  <NotZed@Ximian.com>
-
-       * misc/rfc2047.c: fixed compilation of test, and removed the
-       broken cases - oddly enough, they break make check.
-
-       * Added new changelog for test, sick of them going into main one.
diff --git a/libedataserverui/ChangeLog b/libedataserverui/ChangeLog
deleted file mode 100644 (file)
index 2db01cf..0000000
+++ /dev/null
@@ -1,1670 +0,0 @@
-2009-02-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #571761
-
-       * e-name-selector-list.h:
-       Stop using deprecated GtkType macros.
-
-2009-01-19  Suman Manjunath  <msuman@novell.com>
-
-       ** Fix for bug #448349 (bugzilla.novell.com)
-
-       * e-source-combo-box.c (source_list_changed_cb): Avoid erroneous signal
-       emissions by not clearing the list-store in order to re-fill it. 
-       Instead, replace the original entries with new ones. 
-
-2009-01-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #564543
-
-       * e-categories-dialog.c:
-       * e-cell-renderer-color.c:
-       * e-contact-store.h:
-       * e-destination-store.h:
-       * e-name-selector-dialog.c:
-       * e-name-selector-dialog.h:
-       * e-name-selector-entry.h:
-       * e-name-selector-list.c:
-       * e-passwords.c:
-       * e-source-option-menu.c:
-       * e-source-selector-dialog.c:
-       * e-tree-model-generator.c:
-       * e-tree-model-generator.h:
-       Fix what we can with GSEAL_ENABLE defined.
-
-2009-01-09  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #562200
-
-       * e-source-selector.c: (e_cell_renderer_safe_toggle_get_type),
-       (safe_toggle_activate), (e_cell_renderer_safe_toggle_class_init),
-       (e_cell_renderer_safe_toggle_init), (e_cell_renderer_safe_toggle_new):
-       Define subclass of a GtkCellRendererToggle, which toggles itself only
-       when user clicks over the toggle cell and not in any other case.
-       * e-source-selector.c: (e_source_selector_init): Use new subclass
-       of a GtkCellRendererToggle to prevent unnecessary toggling in a source
-       selector when source itself doesn't have defined its color.
-
-2008-12-15  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #555230
-
-       * e-contact-store.c: (find_contact_by_view_and_uid):
-       Do not crash when passed invalid arguments in.
-
-2008-12-03  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #357948
-
-       * e-categories-dialog.c: (update_preview), (load_properties_dialog):
-       Show preview of the selected image file when choosing new icon.
-
-2008-12-02  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #348299
-
-       * Makefile.am:
-       Add new files and test program.
-
-       * e-category-completion.c:
-       * e-category-completion.h:
-       New files implement category completion for GtkEntry widgets.
-
-       * e-categories-dialog.c:
-       Fix inline searches in the category list.
-       Use ECategoryCompletion in the entry box.
-       Put spaces after commas in the entry box.
-       Listen for category changes and rebuild the list store.
-
-       * test-category-completion.c:
-       Test program for ECategoryCompletion.
-
-2008-11-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #557818
-
-       * e-source-selector.c:
-       Allow the ESourceSelector widget to determine whether a drag and
-       drop event is valid, and emit a new signal ("data-dropped") if it
-       _is_ valid.  This eliminates a lot of duplicate code in Evolution.
-
-       Note, while this is technically an ABI break, we explicitly
-       decided NOT to bump the libedataserverui soname because the
-       changes only affect Evolution.  And while we're at it, add
-       extra padding to the end of ESourceSelectorClass to allow for
-       future expansion.
-
-2008-11-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Related to bug #558322
-
-       * e-source-selector.c (e_source_selector_edit_primary_selection):
-       New function allows the user to rename the primary selected source
-       by opening an entry box directly in the source selector.
-
-2008-11-03  Sankar P  <psankar@novell.com>
-
-License Changes
-
-       * e-name-selector-list.c:
-       * e-name-selector-list.h:
-
-2008-10-06  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #546406
-
-       * libedataserverui/e-passwords.c: Don't lookup password from old
-       keyring.
-
-2008-10-01  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #514670
-
-       * e-passwords.c: (check_key_file), (ep_key_file_load),
-       (ep_key_file_save), (ep_clear_passwords_keyfile),
-       (ep_forget_passwords_keyfile), (ep_remember_password_keyfile),
-       (ep_forget_password_keyfile), (ep_get_password_keyfile):
-       Check for errors properly. Also do not use uninitialized variables.
-
-2008-09-24  Ross Burton  <ross@linux.intel.com>
-
-       * libedataserverui.pc.in:
-       Remove libgnome-2.0 as it isn't used.
-
-2008-09-23  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #315919
-
-       * e-name-selector-entry.c: (entry_height), (contact_layout_pixbuffer),
-       (e_name_selector_entry_init):
-       Show contact's photo in the completion list if available locally.
-
-2008-09-03  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-source-selector.c:
-       Make ESourceSelector subclassable by adding a "source-list"
-       constructor property.
-
-2008-09-01  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #332354
-
-       * e-name-selector-entry.h: (USER_QUERY_FIELDS),
-       (ens_util_populate_user_query_fields):
-       * e-name-selector-entry.c: (struct _ENameSelectorEntryPrivate),
-       (e_name_selector_entry_dispose), (ens_util_populate_user_query_fields),
-       (set_completion_query), (e_name_selector_entry_init):
-       * e-name-selector-dialog.c: (struct _ENameSelectorDialogPrivate),
-       (e_name_selector_dialog_init), (e_name_selector_dialog_finalize),
-       (search_changed): User can define his own query fields
-       in "/apps/evolution/addressbook/completion/user_query_fields" which
-       should be a string list of EContact field names to search in.
-
-2008-09-01  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #326692
-
-       * e-name-selector-entry.c: (sanitize_entry), (user_focus_out):
-       Sync model data with entry text and remove all empty
-       destinations from the model on user's exit from the entry.
-
-2008-09-01  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #272391
-
-       * e-name-selector-entry.h: (FORCE_SHOW_ADDRESS):
-       * e-name-selector-entry.c: (COMPLETION_FORCE_SHOW_ADDRESS),
-       (get_destination_textrep), (sync_destination_at_position),
-       (destination_row_changed), (destination_row_inserted),
-       (e_name_selector_entry_init):
-       Show address of the contact if it contains more than one mail
-       address and is not a list. Be able to force showing of the mail
-       for every autocompleted entry by the option in the gconf.
-
-2008-09-01  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #549444
-
-       * e-name-selector-entry.c: (re_set_timeout), (user_insert_text),
-       (type_ahead_complete_on_timeout_cb), (user_delete_text),
-       (update_completions_on_timeout_cb), (setup_contact_store),
-       (ensure_type_ahead_complete_on_timeout):
-       Do not do autocomplete lookup on idle, do that on some timeout instead,
-       because the idle signal is emitted after every key press.
-
-2008-08-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #466754 (patch by Vingnesh Prabhu)
-
-       * e-categories-dialog.c (e_categories_dialog_init):
-       Sort the model itself by category name, so that new categories
-       appear in the appropriate place in the list.
-
-2008-08-28  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-source-selector.c (e_source_selector_get_source_list):
-       New function provides access to the internal source list.
-
-2008-08-17  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #547952
-
-       * e-source-selector.c (rebuild_model):
-       Don't display empty source groups.
-
-2008-08-06  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #207728
-
-       * e-name-selector-entry.c: (copy_or_cut_clipboard), (copy_clipboard),
-       (cut_clipboard), (e_name_selector_entry_init): Always cut/copy whole
-       address from the selector entry, when selected whole, thus paste will
-       be with correct address, not the text only.
-
-2008-07-08  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #537415
-
-       * e-book-auth-util.c (load_source_auth_cb):
-       Break a busy loop between Evolution and Gnome-Keyring by only
-       reauthenticating when the EBookStatus is AUTHENTICATION_FAILED
-       or AUTHENTICATION_REQUIRED.  Fixes a case where we kept trying
-       to authenticate to an unspecified Global Catalog server, where
-       the EBookStatus was REPOSITORY_OFFLINE.
-
-2008-06-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #534946
-
-       * e-passwords.c: (ep_get_password_keyring), (ep_ask_password),
-       (e_passwords_shutdown):
-
-2008-06-03  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-source-option-menu.c:
-       Use g_object_get_data() instead of gtk_object_get_data().
-       Use g_object_set_data_full() instead of gtk_object_set_data_full().
-       Use gtk_menu_shell_append() instead of gtk_menu_append().
-
-2008-05-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #531439
-
-       * e-passwords.c (ep_keyring_uri_new):
-       Prevent GPG passphrases from destroying other passwords.  GPG
-       passphrases are only cached for the current session, not stored
-       permanently in the keyring (mainly because those types of keys
-       are not URIs with server and usernames).  We defer to third-party
-       GPG agents like Seahorse for persistent storage of passphrases.
-
-2008-05-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #354923
-
-       * e-passwords.c:
-       Store passwords in the keyring by server, username and protocol.
-       Storing the protocol allows us to handle situations where, for
-       example, you use the same server and username for IMAP and
-       authenticated SMTP but the passwords are different.
-
-       Also add sufficient backward-compatibility cruft that we can still
-       find existing passwords that are stored in the keyring by server
-       and username only.
-
-2008-05-16  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #532286
-
-       * e-passwords.c (update_capslock_state), (ep_ask_password):
-       Fix some whitespace issues, and make the Caps Lock label smaller.
-
-2008-05-05  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #325882
-
-       * e-passwords.c (ep_ask_password):
-       If a parent window was given, make the password dialog transient for
-       the parent and center it over the parent.
-
-2008-04-30  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #520532
-
-       * e-passwords.c (ep_keyring_migrate_from_keyfile):
-       Implement a migration path from the ~/.gnome2_private/Evolution
-       password file to gnome-keyring.  If the keyring is available and
-       a get_password() operation fails to find a password in the keyring,
-       it will look for the password in the password file.  If found, it
-       will copy the password to the keyring and (if the copy is successful)
-       remove the password from the password file.
-
-       * e-passwords.c (EPassMsg):
-       Add a GError to the message structure.  Instead of logging a warning
-       to stderr themselves, operations will propagate errors to the message
-       structure.  This is enough for the migration code to detect errors.
-       As far as how we handle the error, for now we simply dump it to stderr
-       as a warning when the message structure is destroyed.  But ultimately
-       I want to propagate the error back to the caller of the password
-       operation, which will require an API break.  The current API provides
-       no feedback about whether a password operation was successful, so
-       callers can only assume it was.
-
-2008-04-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-passwords.c (ep_ask_password):
-       Use "dialog-password" icon instead of "dialog-question" in the
-       password dialog (HIG compliance).
-
-2008-04-25  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #301980
-
-       * e-passwords.c: (update_capslock_state), (ep_ask_password):
-       Warn user when Caps Lock is on.
-
-2008-04-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-passwords.c (pass_response):
-       Use g_queue_peek_head_link() to obtain a GQueue list node (#453109).
-
-2008-04-02  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-passwords.c (ep_keyring_lookup_paswords):
-       Remove NULL argument checks.  Passing NULL is valid.
-
-2008-03-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #518886
-
-       * e-passwords.c:
-       More cleanup work:
-       - Use EFlag instead of EMsgPort.
-       - Use GQueue instead of EDList.
-       - Use GStatusMutex instead of pthread_mutex_t.
-       - Use GThread instead of pthread_t.
-
-2008-02-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #513870
-
-       * e-passwords.c (ep_clear_passwords_keyfile),
-       (ep_forget_passwords_keyfile), (ep_forget_password_keyfile),
-       (ep_get_password_keyfile):
-       Issue an informational message instead of a warning if the requested
-       group or key is not found in the key file.  These are non-critical
-       events and should not halt the program when running with fatal
-       warnings, but it's still useful to leave a breadcrumb on the
-       terminal since our current password API leaves no way to report
-       status back to the caller.
-
-2008-02-22  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #489810
-
-       * e-passwords.c: (ep_keyring_uri_new): Google calendar's usernames
-       don't have user name in url.
-
-2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-name-selector-dialog.c: Include the required
-       header files. Fix from downstream opensuse.
-
-2008-01-21  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #509985
-
-       * e-passwords.c:
-       Refactor the keyring logic and emit more informative warning
-       messages when a keyring operation fails.
-
-2008-01-16  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #509644
-
-       * e-passwords.c (ep_ask_password):
-       Use the correct response codes for the dialog buttons.
-       Fixes some severe password breakage that slipped into 2.21.5.
-
-2008-01-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fix for bug #503400
-
-       * e-passwords.c: (ep_ask_password): Remove excessive whitespace on 
-       password dialogs.
-
-2008-01-11  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #508438
-
-       * e-passwords.c: (ep_get_password_keyfile): (ep_get_password_keyfile):
-       Extract error only if it is there.
-
-2007-12-23  Ted Percival  <ted@midg3t.net>
-
-       ** Partial fix for bug #503400
-
-       * e-passwords.c: (ep_ask_password): Remove excessive whitespace on 
-       password dialogs.
-
-2007-12-06  Sankar P  <psankar@novell.com>
-
-       ** Fixes bug #501969
-
-       * e-book-auth-util.c: (load_source_auth_cb):
-       Passwords should not be forgotten on all errors.
-
-2007-12-04  Alex Kloss  <alexkloss@att.net>
-
-       ** Fix for bug #322917
-
-       * e-name-selector-dialog.glade:
-       Change mnemonics for Contacts, Address Book labels
-       Add mnemonic for Category label
-
-2007-11-26  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #308815
-
-       * e-categories-dialog.glade:
-       * e-categories-dialog.c: Dropped colors for categories. (deprecated)
-
-       * e-categories-dialog.c: (edit_button_clicked_cb): Fixed runtime
-       critical warning for file chooser and category without icon.
-
-2007-11-15  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #474000
-
-       * e-passwords.c (ep_password_decode):
-       Initialize 'length' before calling g_base64_decode().
-
-2007-11-05  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #318842
-
-       * Sort sources within group alphabetically
-       in ESourceSelector and ESourceComboBox.
-       * e-source-selector.c: (compare_source_names), (get_sorted_sources):
-       * e-source-combo-box.c: (compare_source_names), (get_sorted_sources):
-       New helper functions to sort sources in a group.
-       * e-source-selector.c: (rebuild_model): Always sort sources and place
-       them on their right position, if not in a tree yet.
-       * e-source-combo-box.c: (source_list_changed_cb):
-       Add sources in sorted order within group.
-
-2007-11-02  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #460649
-
-       * Makefile.am:
-       Add e-cell-renderer-color.[ch].
-
-       * e-cell-renderer-color.c:
-       * e-cell-renderer-color.h:
-       New GtkCellRenderer subclass by Milan Crha renders a solid color.
-
-       * e-source-combo-box.c:
-       Display the ESource's color next to its name.
-       Patch by Milan Crha and myself.
-
-2007-11-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #488156
-
-       * e-passwords.c:
-       Minimize use of the WITH_GNOME_KEYRING macro.
-
-2007-11-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #487229
-
-       * e-passwords.c:
-       Use GKeyFile instead of gnome-config to access stored passwords.
-
-2007-11-01  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #492130
-
-       * e-source-selector.c: (find_source): New helper function to find our
-       own instance of ESource, rather than use one with unknown origin.
-       * e-source-selector.c: (e_source_selector_select_source),
-       (e_source_selector_unselect_source),
-       (e_source_selector_source_is_selected),
-       (e_source_selector_set_primary_selection): Use new helper function.
-
-2007-10-26  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #271777
-
-       * e-name-selector-entry.c: (type_ahead_complete):
-       Keep character's case as user types.
-
-2007-10-22  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #417999
-
-       * Makefile.am:
-       Add e-source-combo-box.[ch].
-       Rename test-source-option-menu to test-source-combo-box.
-
-       * e-source-combo-box.c:
-       * e-source-combo-box.h:
-       New widget replaces ESourceOptionMenu.  Same functionality, but
-       ESourceComboBox is a subclass of GtkComboBox, which itself replaces
-       GtkOptionMenu (deprecated).
-
-       * e-source-option-menu.h:
-       Deprecate ESourceOptionMenu.
-
-       * e-name-selector-dialog.glade:
-       List categories in a GtkComboBox instead of a GtkOptionMenu.
-
-       * e-name-selector-dialog.h:
-       Replace the ESourceList member pointer with a placeholder,
-       to maintain ABI compatibility.
-
-       * e-name-selector-dialog.c:
-       Use ESourceComboBox instead of ESourceOptionMenu.
-       Refactor some messy bits.
-
-       * e-name-selector-entry.c (populate_popup):
-       * e-name-selector-list.c (enl_tree_button_press_event):
-       Use gtk_radio_menu_item_get_group() instead of
-       gtk_radio_menu_item_group() (deprecated).
-
-       * test-source-option-menu.c:
-       Test ESourceComboBox instead of ESourceOptionMenu.
-       Rename the file appropriately.
-
-2007-10-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #478404
-
-       * e-name-selector-entry.c: (user_focus_out): Reset the id to zero.
-
-2007-10-03  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #469657
-
-       * e-passwords.c:
-       Use destroy functions in GHashTables to simplify memory management.
-
-2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #474000
-
-       * e-passwords.c:
-       Remove redundant Base64 codec implementation.  Use GLib's.
-
-2007-08-31  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #378759
-
-       * e-passwords.c: (e_passwords_ask_password): Added tests for non-NULL
-       component_name and key parameters.
-
-2007-08-19  Kevin Piche  <kpiche@gmail.com>
-
-       ** Fix for bug #464569
-
-       * libedataserverui/e-passwords.c: Bug #464569, add missing
-       gnome_keyring_attribute_list_free to ep_remember_password_keyring,
-       multiple calls to gnome_keyring_attribute_list_new trash keyring search
-       criteria.
-
-2007-08-13  Ross Burton  <ross@openedhand.com>
-
-       * e-name-selector-entry.c:
-       Fix compile warnings.
-
-2007-08-10  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #327977
-
-       * e-passwords.c: (ep_ask_password):
-       Show dialog modal when we know parent window, otherwise non-modal.
-
-2007-08-04  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #460999
-
-       * e-passwords.c: (ep_get_password_keyring): If the keying has null
-       data, consider that as invalid.
-
-2007-08-04  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #458670
-
-       * e-name-selector-entry.c: (entry_activate): If there is no selectable
-       text, there is no point auto-completing it.
-
-2007-08-03  Hiroyuki Ikezoe  <poincare@ikezoe.net>
-
-       ** Fix for bug #461989
-
-       * e-categories-dialog.c: Show category icons. 
-       Plugged memory leaks. The return value of
-       gtk_filechooser_get_filename() should be freed.
-
-2007-07-31  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-book-auth-util.c:
-       * e-categories-dialog.c:
-       * e-name-selector-dialog.c:
-       * e-name-selector-entry.c:
-       * e-name-selector-list.c:
-       * e-name-selector.h:
-       * e-source-option-menu.h:
-       * e-source-selector-dialog.h:
-       * e-source-selector.h: Changed the way header files are included so
-       that they are picked up from the source rather than install area.
-
-2007-07-30  Milan Crha  <mcrha@redhat.com>
-
-       ** Partial fix for bug #460649
-
-       * e-source-option-menu.c: (populate): Used image menu item and using
-       sources colors when possible. Didn't work for collapsed state.
-
-2007-07-02  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #410823
-
-       * e-name-selector-entry.c: (get_range_at_position),
-       (user_focus_out):
-
-2007-06-15  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-passwords.c (ep_forget_password_keyring),
-       (ep_get_password_keyring): Free the EUri (#447749).
-
-2007-05-28  Pascal Terjan  <pterjan@linuxfr.org>
-
-       * e-passwords.c (e_passwords_ask_password):
-       Remove the parameter "secret" from the doc, it was dropped 3 years ago
-       and "remember_type" was renamed to "type" at the same time.
-
-2007-05-24  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-passwords.c (ep_ask_password):
-       Remove check for obsolete GTK+ version (#424562).
-
-2007-05-12  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for bug #420496 from Ebby Wiselyn.
-
-       * e-name-selector-entry.c: (user_focus_out), (popup_activate_cut),
-       (popup_activate_copy), (populate_popup): Add support to cut/copy
-       contacts.
-
-2007-05-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-contact-store.c:
-       * e-destination-store.c:
-       * e-name-selector-dialog.c:
-       * e-name-selector-entry.c:
-       * e-name-selector-list.c:
-       * e-name-selector-model.c:
-       * e-source-option-menu.c:
-       * e-tree-model-generator.c:
-       Fix warnings reported by 'sparse'.  Patch from Kjartan Maraas.
-
-2007-04-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * e-name-selector-dialog.c: (destination_column_formatter): Fix for
-       bug #359806 from Matthew Barnes and Makuchaku.
-
-2007-04-04  Ross Burton  <ross@openedhand.com>
-
-       * e-source-selector.c:
-       * e-name-selector-entry.c:
-       * e-data-server-ui-marshal.list:
-       * e-name-selector-model.c:
-       * e-source-option-menu.c:
-       Remove marshallers that are in GLib (#400970).
-
-2007-04-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-source-selector.c (pixbuf_cell_data_func):
-       Use the new ESource color API. (#373117)
-
-2007-04-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-source-selector.c (group_search_function):
-       Fix a compiler warning.  Patch from Kjartan Maraas.
-
-       * e-passwords.c: Use #ifdef WITH_GNOME_KEYRING, not #if.
-       Patch from Kjartan Maraas.
-
-2007-03-29  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-source-selector.c:
-       * e-name-selector-dialog.c:
-       Fix "incompatible pointer type" warnings (#360619).
-
-2007-03-29  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-contact-store.h:
-       * e-destination-store.h:
-       * e-name-selector-dialog.h:
-       * e-name-selector-entry.h:
-       * e-name-selector-list.h:
-       * e-name-selector-model.h:
-       * e-name-selector.h:
-       * e-tree-model-generator.h:
-       Fix some Gtk-Doc warnings. (#413173)
-
-2007-03-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-name-selector-entry.c:
-       Don't mix declarations and code (#405495).
-       Patch from Jens Granseuer.
-
-2007-02-09  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #405531
-
-       * e-name-selector-dialog.c (search_changed): Translate "Any Category".
-
-2007-02-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #359979, #384183
-
-       * e-passwords.c (ep_msg_send): e_msgport_wait()'s behavior is now
-       block-and-pop instead of block-and-peek.
-
-2007-01-23  Tor Lillqvist  <tml@novell.com>
-
-       * e-passwords.c (e_passwords_shutdown): !WITH_GNOME_KEYRING
-       alternative was missing here.
-
-2007-01-22  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Add fallback supoprt for GNOME Keyring to GNOME Private.
-
-       * e-passwords.c: (ep_clear_passwords_keyring),
-       (ep_clear_passwords_file), (ep_forget_passwords_keyring),
-       (ep_forget_passwords_file), (ep_remember_password_keyring),
-       (ep_remember_password_file), (ep_forget_password_keyring),
-       (ep_forget_password_file), (ep_get_password_keyring),
-       (ep_get_password_file), (pass_response):
-
-2007-01-17  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Downstream from openSUSE
-
-       * e-passwords.c: (ep_get_password): Warnings fix.
-
-2007-01-08  Matthew Barnes  <mbarnes@redhat.com>
-
-       Fixes #387638
-       * e-source-selector.c: Include the header
-       file string.h.
-
-2006-12-05  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * e-source-selector.c: (group_search_function),
-       (e_source_selector_init): Add searchable esource in
-       calendar/addressbook and other esource list.
-
-2006-11-28  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fixes lot of minor bugs around ENameSelector Entry
-
-       * e-name-selector-entry.c: (build_textrep_for_contact),
-       (modify_destination_at_position), (user_delete_text),
-       (entry_activate), (destination_row_changed), (editor_closed_cb):
-
-2006-11-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       Fixes bug #353924
-
-       * e-name-selector-dialog.c
-       (e_name_selector_dialog_populate_categories): Translate
-       "Any Category" and make sure it's always listed first.
-
-2006-09-15  Li Yuan  <li.yuan@sun.com>
-
-       * e-name-selector-dialog.glade:
-       Fix for #356051. Remove unused spaces.
-
-2006-08-23  Srinivasa Ragavan  <sragavan@novell.com>
-
-       Fix for bug #348939 and bug #351317
-       
-       * Makefile.am: Fix a type. Patch from Matthew Barnes and
-       gpp666_999@yahoo.de.
-
-2006-08-17  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * e-destination-store.c: (find_destination_by_email):
-       e_destination_get_email() returns const char*
-       * e-name-selector-dialog.c:
-       (e_name_selector_dialog_populate_categories),
-       (e_name_selector_dialog_init): Fix warning about unused result
-       and mixing declarations and code.
-       * e-name-selector-entry.c: (user_delete_text),
-       (e_name_selector_entry_init): Remove some unused code and fix
-       compiler warnings
-       * e-name-selector-list.c: (enl_tree_button_press_event),
-       (e_name_selector_list_new): Fix more compiler warnings
-       * e-passwords.c: (ep_remember_password), (ep_ask_password),
-       (decode_base64): Fix compiler warnings.
-
-2006-08-07  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-contact-store.c (e_contact_store_finalize): Fix memory leaks.
-       * e-destination-store.c (e_destinationstore_finalize): Fix memory leaks.
-       * e-name-selector-dialog.c (e_name_selector_dialog_dispose)
-       (e_name_selector_dialog_finalize)
-       (remove_books)
-       (setup_name_selector_model)
-       (shutdown_name_selector_model)
-       (e_name_selector_dialog_set_model): Consolidate cleanup code and fix memory
-       leaks.
-       * e-name-selector-model.c (e_name_selector_model_finalize): Fix memory leaks.
-       * test-name-selector.c: Modify test to reveal more memory leaks.
-
-2006-08-07  Devashish Sharma   <sdevashish@novell.com>
-
-       * e-name-selector-entry.c : Read the numbers of characters at
-       which the autocompletion should kick in from gconf key 
-       "/apps/evolution/addressbook/completion/minimum_query_length".
-       Fix for Bug 251289
-
-2006-08-01  Srinivasa Ragavan  <sragavan@novell.com>
-       
-       ** Fix for bug 346730
-       
-       * e-passwords.c (ep_remember_password), (ep_forget_password),
-       (ep_get_password): Use the key as the user for LDAP and dont try to
-       access keyring for passphrases, since they are stored just for the
-       session.
-
-2006-08-02  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * e-name-selector-entry.c: (user_delete_text): Removed the unwanted
-       code which was commented.
-
-2006-08-01  Tor Lillqvist  <tml@novell.com>
-
-       Why is there no mention in its CVS log or here in ChangeLog why
-       Makefile.am was changed in a way which broke building on Win32?
-       
-       * Makefile.am (libedataserverui_1_2_la_LDFLAGS): Re-add
-       $(NO_UNDEFINED) so that we build a shared library on Windows.
-       (libedataserverui_1_2_la_LIBADD): Re-add libedataserver and
-       E_DATA_SERVER_LIBS, but OK, conditionally only on Win32 then, if
-       it indeed causes problems on Linux? (But we do link to them on all
-       platforms in the stable branch...)
-
-2006-07-27  Devashish Sharma  <sdevashish@novell.com>
-
-       * e-name-selector-entry.c :Crash on closing the contact editor 
-       after closing the composer.
-       Fix for Bug #347779, 347706
-
-2006-07-25  suka  <suka@gentoo.org>
-
-       * e-categories-dialog.glade: change default height of categories 
-       window. Fixes bug #348285. (committed by Andre Klapper)
-
-2006-07-20  Devashish Sharma  <sdevashish@novell.com>
-
-       ** Fixes bug 273921
-       * e-name-selector-dialog.h:
-       e_name_selector_dialog_set_destination_index: New function.
-       * e-name-selector-dialog.c: Add private structure.
-       (contact_activated): Get section using destination_index instead of 0.
-       (e_name_selector_dialog_set_destination_index): New function to set
-       the index number of destination sections.
-       Patch by Hiroyuki Ikezoe.
-       
-2006-07-19  Devashish Sharma  <sdevashish@novell.com>
-
-       * e-name-selector-entry.c : Removing the comma doesnt select
-       the entire name, it just deletes the comma.
-       Patch by srini.
-       Fixes Bug 322142
-
-2006-07-06  Boby Wang <boby.wang@sun.com>
-
-       ** Fixes bug #345397
-       * e-name-selector-dialog.glade:
-       Change the target of label Category, and make ALT + A work.
-
-2006-06-29  simon.zheng  <simon.zheng@sun.com>
-
-       ** Fixes 345373 
-
-       * e-name-selector-entry.c: (user_insert_text): Allow to
-       insert more than 1 characters every time.
-
-2006-06-13  Hiroyuki Ikezoe  <poincare@ikezoe.net>
-
-       ** Fixes 342384
-       * e-name-selector-entry.c: (popup_activate_inline_expand):
-       Sanitizing mail list text and memory leak fix.
-
-2006-05-21  Hiroyuki Ikezoe  <poincare@ikezoe.net>
-
-       ** Fixes bug #342479
-       * e-name-selector-dialog.c: Plugged memory leak.
-
-2006-06-09  Hiroyuki Ikezoe  <poincare@ikezoe.net>
-
-       ** Fixes bug #342382
-       * e-name-selector-entry.c: Plugged memory leaks.
-
-2006-06-09  Chris Heath  <chris@heathens.co.nz>
-
-       * e-name-selector-dialog.c (search_changed): Fix memory leak.
-       Fixes bug #335423.
-
-2006-06-02  Hiroyuki Ikezoe  <poincare@ikezoe.net>
-
-       ** Fixes bug 322239
-       * e-name-selector-entry.c: ENameSelectorEntryPrivate: New structure
-       for private values. There is still only one value, is_completing.
-       (user_focus_in): New function.
-       Stop the event propagation.
-       (type_ahead_complete): Set is_completing to TRUE if address completion
-       has done.
-       (clear_completion_model): Set is_completing to FALSE.
-       (entry_activate): Set is_completing to FALSE.
-       (user_focus_init): Call entry_activate if only focus_in and
-       is_compliting.
-       (e_name_selector_entry_init): Connect to focus-in-event with
-       g_signal_connect_after.
-       Set is_completing to TRUE. It's initial state.
-
-2006-04-26  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * e-passwords.c: (ep_clear_passwords), (ep_forget_passwords),
-       (ep_forget_password), (ep_get_password): Updated keyring code to
-       handle the negative cases.
-       * e-source-selector.c: (e_source_selector_init): Submitting Vincent's
-       patch for bug #323402.
-
-2006-04-24  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * e-name-selector-list.c: (enl_entry_key_press_event): Changed the key
-       to launch the e-name-selector-list.
-
-2006-03-29  Boby Wang <boby.wang@sun.com>
-
-       ** Fix #336460 accelerate key can not function
-
-       * e-name-selector-dialog.c: (add_section):
-       add a mnemonic relationship to fix it
-
-2006-03-20  Srinivasa Ragavan  <sragavan@novell.com>
-       
-       * e-passwords.c: (ep_clear_passwords), (ep_forget_passwords),
-       (ep_remember_password), (ep_forget_password), (ep_get_password),
-       (ep_ask_password), (e_passwords_shutdown): Added support
-       gnome-key-ring and pass phrase.
-       * e-passwords.h: Added support for keyring.
-
-2006-03-05  Devashish Sharma  <sdevashish@novell.com>
-
-       * e-name-selector-entry.c (editor_closed_cb) : Fif for Bug 216073: Editing contacts
-       from To menu doesnt make inline changes.
-
-2006-03-05  Devashish Sharma  <sdevashish@novell.com>
-
-       * e-name-selector-entry.c (user_delete_text) : Fix for Bug 322432- To field
-       can crash evolution.
-
-2006-03-01  Devashish Sharma  <sdevashish@novell.com>
-
-       * e-name-selector-dialog.c (transfer_button_clicked) : Fixed a crasher.
-
-2006-02-25  Veerapuram Varadhan <vvaradhan@novell.com>
-
-       ** Fixes #301116
-       
-       * e-passwords.c: include <glib/gi18n-lib.h> instead of
-       <libgnome/gnome-i18n.h>, to specify the translation domain
-       explicitly. Harish's earlier commit of Changwoo's patch 
-       missed this part.
-       
-2006-01-01  Devashish Sharma  <sdevashish@novell.com>
-
-       * e-name-selector-dialog.c : (contact_activated), (destination_activated)
-       Fixed a crash. The bug had come due to a wrong change done for enabling multiple
-       select mode for name-selector-dialog.
-       Fixes Bug #326652.
-
-2006-01-23  Sushma Rai  <rsushma@novell.com>
-
-       * libedataserverui/e-book-auth-util.c (addressbook_authenticate):
-       Checking for the property user and username. Fixes #327819.
-
-2005-01-16  Devashish Sharma <sdevashish@novell.com>
-
-       * e-name-selector-dialog.c : Show the status message (searching, loading etc).
-       * e-source-selector.[ch] : Added a function to return book view from contact 
-       source.
-       Fixes #305678
-
-2005-01-16  Devashish Sharma <sdevashish@novell.com>
-
-       * e-name-selector-list.[ch] : New files added.
-       Adds a drop down popup to name-selector-entry widget which allows easy 
-       navigation of contacts added to the entry.
-       * e-name-selector.c : Added a new function which returns name-selector-list.
-       * e-destination-store.c : Added a couple of utility functions.
-
-2005-01-06  Sushma Rai  <rsushma@novell.com>
-
-       * e-book-auth-util.c (remove_parameters_from_uri): Properly parsing the
-       uri, taking care of all auth mechanisms. Fixes #325959.
-
-2005-12-16  Johnny Jacob  <johnnyjacob@gmail.com>
-
-       ** Fix for bug #242966
-       
-       * e-name-selector-dialog c (e_name_selector_dialog_init):
-       Search entry has the default focus.
-       
-2006-01-05  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * e-name-selector.c: Remove unused static function free_section().
-
-2006-01-02  Srinivasa Ragavan  <sragavan@novell.com>
-
-       * e-name-selector-entry.c (popup_activate_list),
-       (destination_set_list), (destination_set_email), (populate_popup):
-       Added code to show contact/list email addresses in radio/check button
-       respectively for selecting/deselecting preferred email addresses.
-
-2005-12-20  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fixes bug #238979
-
-       * e-name-selector-entry.c: (prepare_popup_destination),
-       (popup_activate_inline_expand), (populate_popup): Added code to 
-       expand for Contact Lists inline for composer.
-
-2005-12-15  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-destination-store.c: (find_destination_by_email),
-       (e_destination_store_append_destination): Check if the 
-       destination is already added by comparing the email id.
-
-2005-12-09  Tor Lillqvist  <tml@novell.com>
-
-       * e-passwords.c (ep_msg_new): Use pthread_equal() to compare
-       pthread_t values.
-
-       * e-source-option-menu.c: Use guint instead of uint.
-
-       * e-categories-dialog.c (load_properties_dialog,
-       e_categories_dialog_init)
-       * e-name-selector-dialog.c (e_name_selector_dialog_init):
-       Construct glade file names at run-time.
-
-2005-11-09  Sushma Rai  <rsushma@novell.com>
-
-       * e-name-selector-dialog.c (e_name_selector_dialog_init)(add_section): 
-       Setting the multiple selection mode.
-       (selection_changed)(contact_selection_changed): Using 
-       gtk_tree_selection_count_selected_rows() to find if contacts are 
-       slected or not.
-       (contact_activated)(transfer_button_clicked): Finding the selected set 
-       of contacts and adding to destination.
-       (destination_activated)(remove_selection): Finding the selected set of 
-       destinations and removing them from destination store. Fixes #319848. 
-       (setup_name_selector_model): Sorting the contacts on full name instead 
-       of file as name as we display full name.
-
-2005-10-21  Devashish Sharma  <sdevashish@novell.com>
-
-       * e-name-selector-dialog.c: Added the missing category filter in
-       name_selector_dialog.
-       * e-name-selector-dialog.glade: Added the UI component for category
-       filter. Fixes #273799.
-
-2005-10-14  Ross Burton  <ross@openedhand.com>
-
-       * test-contact-store.c:
-       * test-name-selector.c:
-       Don't use Bonobo and GnomeProgram, GTK+ suffices.
-
-2005-09-30  Devashish Sharma  <sdevashish@novell.com>
-
-       * e-name-selector-entry.c (user_delete_text): In name selector entry
-       while deleting character-by-character when you hit a comma, entire 
-       address is selected and in the next keystroke whole address is deleted,
-       leaving behind a comma. Fixed this so that comma is also removed 
-       along with the address.
-       Fixes #314997.
-
-2005-08-26  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-name-selector-dialog.c: (e_name_selector_dialog_init):
-       Fix for #301116. Changwoo's earlier commit missed this part.
-
-2005-08-23  Not Zed  <NotZed@Ximian.com>
-
-       * e-name-selector-entry.h: fix prototype of temporary api's.
-
-2005-08-22  Not Zed  <NotZed@Ximian.com>
-
-       * e-name-selector-entry.c (find_existing_completion): assign
-       best_field to remove spurious warning.
-
-2005-08-17  Devashish Sharma <sdevashish@novell.com>
-
-       * e-name-selector-entry.c (completion_match_selected): automatically
-       adds a comma after autocompleting the address. Fixes #247706.
-
-2005-08-13  Tor Lillqvist  <tml@novell.com>
-
-       * Makefile.am: Link with libedataserver. Link with
-       E_DATA_SERVER_UI_LIBS, not E_DATA_SERVER_LIBS. Use NO_UNDEFINED.
-
-2005-08-04  Not Zed  <NotZed@Ximian.com>
-
-       ** See bug #308512.
-
-       * e-passwords.c (ep_ask_password): implement new flag to disable
-       the remember password box.
-
-2005-07-24  Vivek Jain  <jvivek@novell.com>
-       
-       * e-name-selector-dialog.c: "Section" structure has two new members
-       label and remove button
-       (add_section): set these new members properly
-       add a callback on the changed signal of gtktreeview in section
-       Have new structure SelData to give us the selection data in callback
-       (destination_key_press) : moved actual code to new local function
-       (remove_selection).
-       (selection_changed):
-       (remove_button clicked): new functions to get the entry back from the
-       destination store and making sure UI is consistent
-
-2005-07-20  Sushma Rai  <rsushma@novell.com>
-
-       * e-name-selector-entry.c (populate_popup): In the popup menu, changed
-       label to edit a contact. Fixes #260851
-
-2005-07-07  S.Antony Vincent Pandian <santony@gmail.com>
-
-       * e-destination-store.c (e_destination_store_list_destinations):
-       adding g_list_reverse(..) after the loop shows the
-       addresses in the same order as sent thus solving the bug.
-
-       Fixes #301922
-
-       ** committed on behalf of antony, since he does not have commit rights
-
-2005-07-15  Jedy Wang  <jedy.wang@sun.com>
-
-       * e-passwords.c: (e_passwords_cancel): To kill a e-password-dialog,
-       we shall send a cancel reply, but not just simply destroy the widget.
-
-2005-07-11  Sushma Rai  <rsushma@novell.com>
-
-       * e-name-selector-dialog.c (e_name_selector_dialog_init): Making the
-       name selector dialog modal, useful when gets invoked from modal
-       dialogs.
-
-2005-07-09  Philip Van Hoof  <pvanhoof@gnome.org>
-
-       * e-name-selector-entry.c: Making it more easy to remove destinations.
-
-2005-07-06  Sushma Rai  <rsushma@novell.com>
-
-       * e-contact-store.c (view_sequence_complete): If the
-       current view is finished, stop the view and return. Fixes #309684.
-       Patch submitted by "ross@burtonini.com (Ross Burton)"
-
-2005-07-06  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * e-source-option-menu.c: (populate): Fix a small leak.
-
-2005-07-06  Sushma Rai  <rsushma@novell.com>
-
-       * e-book-auth-util.c:
-       * e-name-selector-entry.c:
-       * e-name-selector-dialog.c:
-       * e-categories-dialog.c:
-       * e-destination-store.c:
-       * e-contact-store.c:
-       * e-name-selector.c:
-       * e-name-selector-model.c:
-       * e-tree-model-generator.c: Fixed compiler warnings.
-
-2005-07-04  Sushma Rai  <rsushma@novell.com>
-
-       * e-name-selector-entry.c: Setting COMPLETION_CUE_MIN_LEN to 3, to
-       start autocompletion from the 3rd character onwards.
-
-2005-06-28  Sushma Rai  <rsushma@novell.com>
-
-       * e-name-selector-entry.c (setup_contact_store): Added 
-       ensure_type_ahead_complete_on_idle() call back.
-       Patch by "Hans Petter Jansson" to fix #302006.
-
-2005-06-09  Ross Burton  <ross@burtonini.com>
-
-       * e-categories-dialog.c:
-       * e-categories-dialog.glade:
-       Use GtkFileChooserButton instead of a GnomeFileEntry.
-
-2005-05-24  Sushma Rai  <rsushma@novell.com>
-
-       * e-name-selector-dialog.c (contact_column_formatter): Using 
-       "full name" field instead of "file as", while displaying contacts in
-       the name selector dialog. 
-       Fixes #300290
-
-2005-05-13  Changwoo Ryu  <cwryu@debian.org>
-
-       Fixes #301116
-       
-       * e-categories-dialog.c (e_categories_dialog_init): specify the
-       translation domain on glade_xml_new().
-
-2005-05-09  Mengjie Yu  <meng-jie.yu@sun.com>
-
-       * e-source-selector.c: (selector_popup_menu),
-       (e_source_selector_class_init):
-       We need to implement the popup_menu function to make
-       'F10 + Shift Key' pressing work.
-
-       Fixes #303540
-
-2005-05-04  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-book-auth-util.c:
-       * e-categories-dialog.c:
-       * e-contact-store.c:
-       * e-destination-store.c:
-       * e-name-selector-dialog.c:
-       * e-name-selector-entry.c:
-       * e-name-selector-model.c:
-       * e-name-selector.c:
-       * e-source-option-menu.c:
-       * e-source-selector.c:
-       * e-tree-model-generator.c: Wrote API docs.
-
-2005-04-11  Harish Krishnaswamy  <kharish@novell.com>
-
-       * Makefile.am: use API_VERSION 
-
-2005-04-04  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-book-auth-util.c (load_source_auth_cb)
-        (addressbook_authenticate) : get the uri from Ebook
-       instead of Esource. e_source_get_uri returns NULL when
-       it does not have a reference to source group with it
-       which happens when the source list from which this source
-       was taken is destroyed but Ebook has reference to that source.
-       e_book_get_uri returns the same uri and it will be always present
-       Fixes #73330
-
-2005-03-31  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-name-selector.c (source_books_destroy): Implement.
-       (e_name_selector_init): Create a list of completion books, and open
-       them with interactive authentication.
-       (e_name_selector_peek_section_entry): Re-use the list of opened books
-       for each entry.
-
-       * e-name-selector-entry.c (e_name_selector_entry_realize): If the user
-       didn't set a contact store, create the default one here.
-       (e_name_selector_entry_class_init): Set up our realize method.
-       (e_name_selector_entry_init): Don't set up the default contact store
-       here.
-       (setup_default_contact_store): Also create the contact store itself.
-       (set_completion_query)
-       (find_existing_completion)
-       (completion_match_selected)
-       (contact_layout_formatter)
-       (popup_activate_contact)
-       (setup_contact_store)
-       (e_name_selector_entry_set_contact_store): Tolerate NULL contact store.
-
-2005-03-23  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #73472
-
-       * e-categories-dialog.c (load_properties_dialog): make the
-       GnomeFileEntry use the file chooser widget.
-
-2005-03-22  Chenthill Palanisamy  <pchenthill@novell.com>
-     
-        * e-source-selector.c (selector_button_press_event): Do
-       not emit popup signals when clicked on the source group.
-
-2005-03-04  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #38408
-
-       * e-categories-dialog.c (check_category_name): new function to check
-       categories entered by the user for invalid characters.
-       (new_button_clicked_cb): added category name checking. Also, run the
-       dialog continously while there are validation errors.
-
-2005-03-01  Harry Lu <harry.lu@sun.com>
-
-       Fix for 73010.
-
-       * e-categories-dialog.c: (load_properties_dialog): set modal for
-       the gnome_file_entry.
-
-2005-02-25  Rodrigo Moya  <rodrigo@novell.com>
-
-       * e-categories-dialog.c (new_button_clicked_cb) :
-       Pass iter to gtk_list_store_set , so that
-       new cateogy gets added properly.
-       Fixes #73011
-       
-2005-02-23  Hans Petter Jansson  <hpj@novell.com>
-
-       * Makefile.am (libedataserverui_1_2_la_SOURCES)
-       (libedataserveruiinclude_HEADERS): Add e-book-auth-util and
-       e-passwords.
-
-       * e-name-selector-dialog.c (source_selected): Use the authenticating
-       book loader utility.
-       (search_changed): Upgrade query to something that works with all
-       backends.
-
-       * e-name-selector-entry.c (setup_default_contact_store): Use the
-       authenticating book loader utility.
-
-       * e-book-auth-util.c:
-       * e-book-auth-util.h: Add the authenticating book loader utility.
-
-       * e-passwords.c: Remove e-error.h include, it's unnecessary.
-
-2005-02-21  Harry Lu <harry.lu@sun.com>
-
-       Fix for 9605.
-       * e-name-selector-dialog.c: (add_section),(destination_key_press):
-       add key-press-event handler to delete contact from the list if user
-       press Delete key.
-
-2005-02-07  Ross Burton  <ross@openedhand.com>
-
-       * test-source-option-menu.c:
-       * test-source-selector.c:
-       Remove useless libgnome use.
-
-2005-02-03  Ross Burton  <ross@burtonini.com>
-
-       * libedataserverui/e-categories-dialog.c:
-       * libedataserverui/e-contact-store.c:
-       * libedataserverui/e-destination-store.c:
-       * libedataserverui/e-name-selector-dialog.c:
-       * libedataserverui/e-name-selector-entry.c:
-       * libedataserverui/e-name-selector-model.c:
-       * libedataserverui/e-name-selector.c:
-       * libedataserverui/e-source-selector-dialog.c:
-       * libedataserverui/e-tree-model-generator.c:
-       Use glib/gi18n.h.
-
-2005-01-27  Hao Sheng <hao.sheng@sun.com>
-
-       * e-name-selector-dialog.c:
-       (e_name_selector_dialog_init): set label mnemonic widget.
-       (add_section): set a11y name for button and section.
-
-       * e-name-selector.c:    
-       (e_name_selector_peek_section_entry): set a11y name to the mail entry
-
-       * e-name-selector-dialog.glade: add access name and access key.
-
-2005-01-26  Rodrigo Moya <rodrigo@novell.com>
-
-       * e-categories-dialog.c (e_categories_dialog_init): only show categories
-       that are searchable (ie, user visible).
-
-2005-01-25  Rodrigo Moya <rodrigo@novell.com>
-
-       * e-categories-dialog.c (new_button_clicked): set all new categories to
-       be searchable.
-
-2005-01-24  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-name-selector-entry.c (editor_closed_cb): Implement.
-       (popup_activate_contact): Set up unref callback for when an editor
-       closes.
-
-2005-01-24  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-contact-store.c (get_book_at_row): Implement.
-       (e_contact_store_get_book): Implement.
-
-       * e-name-selector-entry.c (prepare_popup_destination): Implement.
-       (find_book_by_contact): Implement.
-       (popup_activate_contact): Implement.
-       (popup_activate_email): Implement.
-       (populate_popup): Implement.
-       (e_name_selector_entry_init): Hook us up to the popup menu.
-       (e_name_selector_entry_set_contact_editor_func)
-       (e_name_selector_entry_set_contact_list_editor_func): Implement lame,
-       temporary hack to get at the contact editors in Evolution.
-
-2005-01-24  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-name-selector-dialog.c (add_section): Set up a custom formatter for
-       destination column.
-       (contact_column_formatter): Format contact lists differently.
-       (destination_column_formatter): Implement, and make special cases for
-       contact lists.
-
-       * e-name-selector-entry.c (contact_layout_formatter): Format contact
-       lists differently.
-       (generate_contact_rows): Contact lists are always one row only.
-
-       * e-name-selector-model.c (generate_contact_rows): Contact lists are
-       always one row only.
-
-2005-01-24  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-name-selector-entry.c (user_delete_text): If all destinations are
-       removed in one fell swoop, remember to rebuild the attribute list.
-       (user_focus_out): Implement. Completes the current entry (if possible)
-       and clears the completion model so the popup won't show.
-       (e_name_selector_entry_init): Connect to the focus-out-event.
-
-2005-01-22  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-name-selector-entry.c (name_style_query): Query for the full string
-       with spaces, and the same string elements with comma-space separation.
-       Fixes broken completion for names with spaces in them.
-       (contact_match_cue): Sanitize the value to match before matching. This
-       allows us to match strings that cannot be represented as-is in the
-       entry.
-
-2005-01-22  Hans Petter Jansson  <hpj@novell.com>
-
-       * Makefile.am (libedataserverui_1_2_la_SOURCES)
-       (libedataserveruiinclude_HEADERS): Add newly implemented
-       ETreeModelGenerator to build.
-
-       * e-tree-model-generator.[ch]: Implement ETreeModelGenerator, a model
-       wrapper similar to GtkTreeModelFilter, but with the capability to map
-       each child row to an arbitrary number of rows, including zero, and pass
-       a permutation identifier to the user's modify callback.
-
-       * e-name-selector-dialog.c (contact_column_formatter): Implement a
-       data formatter for the contact list. This makes it show both names
-       and e-mail addresses.
-       (e_name_selector_dialog_init): Set up data formatter.
-       (sort_iter_to_contact_store_iter): Replace GtkTreeModelFilter with
-       ETreeModelGenerator, and return the email permutation along with the
-       contact iter.
-       (add_destination): Take the email permutation as an argument, and set
-       it in the contact instead of defaulting to the first one.
-       (contact_activated): Pass on email_n.
-       (transfer_button_clicked): Ditto.
-       (setup_name_selector_model): Use ETreeModelGenerator.
-       (deep_free_list): Implement.
-
-       * e-name-selector-entry.c (completion_match_selected): Add the
-       conversion for the e-mail generator, and set the selected e-mail
-       permutation in the destination.
-       (deep_free_list): Implement.
-       (contact_layout_formatter): Implement a data formatter for the
-       completion list, so we can show both names and e-mail addresses.
-       (generate_contact_rows): Implement an e-mail permutation generator.
-       (setup_contact_store): Set up the e-mail generator.
-       (e_name_selector_entry_init): Init the generator pointer. Set up the
-       data formatter.
-
-       * e-name-selector-model.c (e_name_selector_model_init): Replace
-       the GtkTreeModelFilter with an ETreeModelGenerator.
-       (deep_free_list): Implement.
-       (generate_contact_rows): Replace filter_show_not_in_destinations ()
-       with this function, which both filters and generates per-email
-       permutations.
-       (override_email_address): Override the contents of the
-       E_CONTACT_EMAIL_1 string field with the relevant address.
-       (e_name_selector_model_peek_contact_filter): Now returns a generator.
-
-2005-01-19  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-name-selector-entry.c (sanitize_string): Implement.
-       (get_range_at_position): Keep track of whether we're within quotes or
-       not, and act accordingly.
-       (get_index_at_position): Ditto.
-       (get_range_by_index): Ditto.
-       (is_quoted_at): Implement.
-       (build_textrep_for_contact): Remove ugly hack, no longer needed.
-       (contact_match_cue): Remove comment that no longer has any meaning.
-       (generate_attribute_list): Ditto.
-       (type_ahead_complete): Sanitize inserted string.
-       (sync_destination_at_position): Ditto.
-       (insert_unichar): Treat comma normally if we're within quotes. Update
-       attribute list if we're editing within the string and not appending.
-       (user_delete_text): Ditto, update attribute list if necessary.
-       (destination_row_changed): Sanitize inserted string.
-       (destination_row_inserted): Ditto.
-
-2005-01-18  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-name-selector-entry.c (find_destination_by_index): Tolerate
-       the case where you're trying to get the first contact and we
-       have zero, without warning.
-       (sync_destination_at_position): Accept the fact that we may not get a
-       destination to sync (happens if there are no destinations and the user
-       activated the entry), and return instead of failing an assertion.
-
-2005-01-12  Rodrigo Moya <rodrigo@novell.com>
-
-       Fixes #28532
-       
-       * e-categories-dialog.c (new_button_clicked): don't allow creation of
-       categories with names already being used.
-
-2005-01-10  Rodrigo Moya <rodrigo@novell.com>
-
-       * e-categories-dialog.c (delete_button_clicked_cb): added missing
-       implementation.
-
-2005-01-10  Rodrigo Moya <rodrigo@novell.com>
-
-       * e-categories-dialog.glade: replaced the 'Edit master ...' button
-       with buttons for adding, editing and removing categories.
-       Added the category properties dialog.
-
-       * e-categories-dialog.c (e_categories_dialog_init): load the buttons
-       from the Glade file.
-       (new_button_clicked_cb, edit_button_clicked_cb,
-       delete_button_clicked_cb): added callbacks for the new buttons in the
-       dialog.
-
-2005-01-10  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-contact-store.c (e_contact_store_find_contact): Implement.
-
-       * e-name-selector-model.c (e_name_selector_model_init): Set up UID hash
-       field.
-       (emit_destination_uid_changes_cb): Implement.
-       (destinations_changed): Instead of re-filtering everything, calculate
-       the differences between former and current destination UIDs, and
-       emit the change signal for the affected contacts, so they can be
-       re-filtered.
-       (e_name_selector_model_add_section): Call destinations_changed ()
-       instead of re-filtering.
-       (e_name_selector_model_remove_section): Ditto.
-
-2005-01-07  Rodrigo Moya <rodrigo@novell.com>
-
-       * e-categories-config.c (e_categories_dialog_init): set default response
-       and disable on startup the OK button.
-       (category_toggled_cb, entry_changed_cb): enable OK button on changes.
-
-2005-01-07  Rodrigo Moya <rodrigo@novell.com>
-
-       * e-categories-config.c (e_categories_dialog_init): set the "active"
-       property on the GtkTreeViewColumn.
-       (e_categories_dialog_set_categories): process correctly the strings
-       array we get from g_strsplit.
-
-2005-01-07  Rodrigo Moya <rodrigo@novell.com>
-
-       * e-categories-dialog.c (e_categories_dialog_set_categories): added
-       missing code to set the widgets to the specificied categories list.
-       (e_categories_dialog_init): set dialog's title and connect to "toggled"
-       signal on the GtkCellRendererToggle.
-       (category_toggled_cb): callback for the "toggled" signal.
-
-2005-01-05  Rodrigo Moya <rodrigo@novell.com>
-
-       * e-categories-dialog.h: fixed class structure.
-
-       * e-categories-dialog.c (e_categories_dialog_set_categories): init
-       correctly the private pointer before using it.
-       (e_categories_dialog_dispose): unref the GladeXML object.
-       (e_categories_dialog_init): add the main widget and some buttons to
-       the dialog. Set the correct properties to the category column in the
-       treeview widget.
-
-2005-01-05  Rodrigo Moya <rodrigo@novell.com>
-
-       * e-categories-dialog.[ch]:
-       * e-categories-dialog.glade:
-       * Makefile.am: added categories dialog implementation, to replace
-       the dialog in GAL.
-
-2005-01-04  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-contact-store.c (e_contact_store_add_book): Add precondition.
-       (e_contact_store_remove_book): Add precondition.
-
-       * e-name-selector-dialog.c (escape_sexp_string): Implement.
-       (source_selected): If the book cannot be created, don't try to
-       load it.
-       (search_changed): Escape the query string.
-
-       * e-name-selector-entry.c (setup_default_contact_store): Only load
-       true completion sources. Don't try to load books that can't be
-       created.
-
-2004-12-30  JP Rosevear  <jpr@novell.com>
-
-       * Makefile.am (INCLUDES): include the addressbook builddir as well
-       for generated files
-
-2004-12-24  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-name-selector-entry.c (find_destination_by_index): Return NULL on
-       failure.
-       (generate_attribute_list): Temporarily disable an assertion.
-       (setup_destination_store): Add previously existing destinations to
-       the store.
-
-2004-12-23  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-name-selector-entry.c (escape_sexp_string): Implement as a wrapper
-       for e_sexp_encode_string ().
-       (set_completion_query): Encode strings. Free all strings after use.
-       (entry_activate): Implement.
-       (e_name_selector_entry_init): Connect to our own activation signal.
-
-2004-12-22  Hans Petter Jansson  <hpj@novell.com>
-
-       * e-destination-store.c (e_destination_store_insert_destination): Don't
-       push entries past end of array, ever.
-
-       * e-name-selector-dialog.c (e_name_selector_dialog_dispose): Disconnect
-       from model and clear out the books we're holding.
-       (remove_books): Convenience function that removes all boks from our
-       watch list.
-       (source_selected): Use remove_books ().
-
-       * e-name-selector.c (add_section): Don't take a destination store, we
-       don't need it here.
-       (e_name_selector_dialog): Connect to the window's delete-event, so we
-       can hide it instead of destroying.
-       (e_name_selector_peek_section_entry): Simplify this code a bit. Set the
-       common destination store for the relevant section, on the entry.
-
-       * e-name-selector-entry.c (build_textrep_for_contact): Use just the name
-       for completion, not name + email.
-       (contact_match_cue): Implement.
-       (find_existing_completion): Use contact_match_cue ().
-       (generate_attribute_list): Implement.
-       (expose_event): Implement, applies attribute list.
-       (type_ahead_complete): Rebuild the attribute list if we complete a
-       contact.
-       (modify_destination_at_position): Rebuild attributes as necessary.
-       (sync_destination_at_position): Update cursor position for caller.
-       Rebuild attribute list after sync.
-       (insert_unichar): Clean up handling of comma insertion.
-       (completion_match_selected): Implement.
-       (destination_row_changed): Don't insert the email address. Clear the
-       completion model so we don't get odd completion suggestions. Rebuild
-       the attribute list.
-       (destination_row_inserted): Don't insert the email address.
-       (destination_row_deleted): Clear the completion model. Rebuild the
-       attribute list.
-       (e_name_selector_entry_init): Connect to the expose signal so we can
-       apply attributes.
diff --git a/po/ChangeLog b/po/ChangeLog
deleted file mode 100644 (file)
index bf38dbe..0000000
+++ /dev/null
@@ -1,4459 +0,0 @@
-2009-04-12  Priit Laes  <plaes at svn dot gnome dot org>
-
-       * et.po: Translation updated by Ivar Smolin
-
-2009-04-10  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-       
-2009-03-31  Baris Cicek <baris@teamforce.name.tr>
-
-       * tr.po: Updated Turkish translation.
-
-2009-03-23  Manoj Kumar Giri  <mgiri@redhat.com>
-
-       * or.po: Updated Oriya Translation.
-
-2009-03-22  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2009-03-20  Manoj Kumar Giri  <mgiri@redhat.com>
-
-       * or.po: Updated Oriya Translation.
-
-2009-03-18  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic translation by Anas Afif Emad.
-
-2009-03-17  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2009-03-16  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Alexander Shopov <ash@contact.bg>
-
-2009-03-16  Amitakhya Phukan <amitakhya@svn.gnome.org>
-
-       * as.po: Updated Assamese translations.
-
-2009-03-16  Rajesh Ranjan  <rajeshkajha@yahoo.com>
-
-       * mai.po: added Maithili translation.
-       * LINGUAS: Added Maithili (mai) to the list of Languages.
-       
-2009-03-16  Manoj Kumar Giri  <mgiri@redhat.com>
-
-       * or.po: Updated Oriya Translation.
-
-2009-03-15  Hendrik Richter  <hendrikr@gnome.org>
-
-       * de.po: Updated German translation, by
-                Mario Blättermann
-
-2009-03-15  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>
-
-       * ru.po: Updated Russian translation by Yuriy Penkin.
-
-2009-03-14  Kostas Papadimas <pkst@gnome.org>
-
-       * el.po: Updated Greek Translation by Jennie Petoumenou.
-
-2009-03-14  Žygimantas Beručka  <zygis@gnome.org>
-
-       * lt.po: Updated Lithuanian translation.
-
-2009-03-14  Milo Casagrande  <milo@ubuntu.com>
-
-       * it.po: Updated Italian translation for bug 574850.
-
-2009-03-14  Sandeep Shedmake  <sshedmak@redhat.com>
-
-       * mr.po: Updated Marathi Translations.
-
-2009-03-14  Andre Klapper  <a9016009@gmx.de>
-
-       * cs.po: Updated Czech translation by Jiri Eischmann.
-
-2009-03-13  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-        * gl.po: Updated Galician translation
-
-2009-03-12  Wadim Dziedzic  <wdziedzic@aviary.pl>
-
-       * pl.po: Updated Polish translation and fixed bug #574859
-
-2009-03-12  Ani Peter <apeter@redhat.com>
-
-       * ml.po: Updated Malayalam Translations
-
-2009-03-12  Rajesh Ranjan <rranjan@redhat.com>
-
-       * hi.po: Updated Hindi Translation.
-
-2009-03-12  I. Felix <ifelix@redhat.com>
-
-       * ta.po:  Tamil Translation updated
-
-2009-03-12  Manoj Kumar Giri  <mgiri@redhat.com>
-
-       * or.po: Updated Oriya Translation.
-
-2009-03-11  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated. Fixes bug #574856.
-
-2009-03-11  Goran Rakic  <grakic@devbase.net>
-
-       * sr.po, sr@latin.po: Updated Serbian translation.
-
-2009-03-11  Andre Klapper  <a9016009@gmx.de>
-
-       * cs.po: Updated Czech translation.
-
-2009-03-10  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2009-03-10  Žygimantas Beručka  <zygis@gnome.org>
-
-       * lt.po: Updated Lithuanian translation.
-
-2009-03-09  Ankitkumar Patel  <ankit@redhat.com>
-
-       * gu.po: Updated Gujarati Translations.
-
-2009-03-09  Runa Bhattacharjee  <runab@redhat.com>
-
-       * bn_IN.po: Updated Bengali India Translation
-
-2009-03-06  Žygimantas Beručka  <zygis@gnome.org>
-
-       * lt.po: Updated Lithuanian translation.
-
-2009-03-05  Milo Casagrande  <milo@ubuntu.com>
-
-       * it.po: Updated Italian translation by Luca Ferretti
-
-2009-03-05  Krishnababu K <kkrothap@redhat.com>
-
-       * te.po: Updated Telugu Translation.
-
-2009-03-05  Shankar Prasad  <svenkate@redhat.com>
-
-        * kn.po: Updated Kannada translations.
-
-2009-03-04  Kenneth Nielsen  <k.nielsen81@gmail.com>
-
-       * da.po: Updated Danish translation by Kenneth Nielsen
-
-2009-03-04  Manoj Kumar Giri  <mgiri@redhat.com>
-
-       * or.po: Updated Oriya Translation.
-
-2009-03-04  Shankar Prasad  <svenkate@redhat.com>
-
-        * kn.po: Updated Kannada translations.
-
-2009-02-28  Claude Paroz  <claude@2xlibre.net>
-
-       * fr.po: Updated French translation.
-
-2009-02-28  Ilkka Tuohela <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2009-02-27  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2009-02-26  Sweta Kothari <swkothar@redhat.com>
-
-        * gu.po: Updated Gujarati translation.
-
-2009-02-25  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2009-02-24  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2009-02-23  Philip Withnall  <philip@tecnocode.co.uk>
-
-       * en_GB.po: Updated British English translation.
-
-2009-02-23  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2009-02-23 Og Maciel <ogmaciel@gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation by
-       Vladimir Melo.
-
-2009-02-23  Gil Forcada  <gforcada@gnome.org>
-
-       * ca.po: Updated Catalan translation by David Planella.
-
-2009-02-22 Og Maciel <ogmaciel@gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation by
-       Andre Gondim.
-
-2009-02-22  Jani Monoses  <jani@ubuntu.com>
-
-       * ro.po: Updated Romanian translation
-       by Adi Roiban <adi@roiban.ro>
-
-2009-02-19  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2009-02-18  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>
-
-       * eu.po: Updated Basque translation.
-
-2009-02-18  Ilkka Tuohela <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2009-02-18  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2009-02-18  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2009-02-17  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2009-02-17  Wouter Bolsterlee  <wbolster@svn.gnome.org>
-
-       * nl.po: Updated Dutch translation by Wouter Bolsterlee.
-
-2009-02-17  Takeshi AIHANA <takeshi.aihana@gmail.com>
-
-       * ja.po: Updated Japanese translation.
-
-2009-02-16  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Alexander Shopov <ash@contact.bg>
-
-2009-02-14  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2009-02-14  Petr Kovar  <pknbe@volny.cz>
-
-       * cs.po: Updated Czech translation by Jiri Eischmann.
-
-2009-02-14 Kenneth Nielsen <k.nielsen81@gmail.com>
-
-       * da.po: Updated Danish translation by Kenneth Nielsen
-
-2009-02-14  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2009-02-11  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>
-
-       * eu.po: Updated Basque translation.
-
-2009-02-11  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2009-02-11  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Alexander Shopov <ash@contact.bg>
-
-2009-02-09  Takeshi AIHANA <takeshi.aihana@gmail.com>
-
-       * ja.po: Updated Japanese translation.
-
-2009-02-07  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2009-02-06  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2009-02-03  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>
-
-       * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
-       * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
-
-2009-02-02  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2009-02-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       * POTFILES.in: Add libedataserverui/e-category-completion.c
-
-2009-01-31  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2009-01-24  Gil Forcada  <gforcada@gnome.org>
-
-       * ca.po: Updated Catalan translation by David Planella.
-
-2009-01-24  Andre Klapper  <a9016009@gmx.de>
-
-       * de.po: Updated German translation.
-
-2009-01-24  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2009-01-22  Claude Paroz  <claude@2xlibre.net>
-
-       * fr.po: Updated French translation by Laurent Coudeur and Claude Paroz.
-
-2009-01-21  Yair Hershkovitz  <yairhr@gmail.com>
-
-       * he.po: Updated Hebrew translation.
-
-2009-01-21  Suman Manjunath  <msuman@novell.com>
-
-       ** Fix for bug #541209
-
-       ** Drop the libical fork in evolution-data-server
-       ** Related changes in Makefiles
-
-       * POTFILES.skip:
-
-2009-01-19  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2009-01-18  Yair Hershkovitz  <yairhr@gmail.com>
-
-       * he.po: Updated Hebrew translation.
-
-2009-01-17  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Removed a spurious %s from a non c-format message.
-
-2009-01-13  Wadim Dziedzic  <wdziedzic@aviary.pl>
-
-       * pl.po: Updated Polish translation
-
-2009-01-12  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2009-01-11  Andre Klapper  <a9016009@gmx.de>
-
-       * de.po: Updated German translation.
-
-2009-01-05  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2009-01-05  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-12-16  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2008-12-09  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-12-09  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2008-12-04  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2008-11-03 Maxim Dziumanenko <dziumanenko@gmail.com>
-
-       * uk.po: Update Ukrainian translation.
-
-2008-10-12  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-10-11  Leonardo Ferreira Fontenelle  <leonardof@gnome.org>
-
-       * pt_BR.po: Fixed terminology in Brazilian Portuguese translation by
-       Vladimir Melo. Yes, more fixes!
-
-2008-10-11  Leonardo Ferreira Fontenelle  <leonardof@gnome.org>
-
-       * pt_BR.po: Fixed terminology in Brazilian Portuguese translation
-       by Vladimir Melo.
-
-2008-10-07  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician translation
-
-2008-10-07  Priit Laes  <plaes at svn dot gnome dot org>
-
-       * et.po: Translation updated by Ivar Smolin
-
-2008-10-06 Og Maciel <ogmaciel@gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation by Vladimir Melo.
-
-2008-10-06  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-09-26  Yair Hershkovitz  <yairhr@gmail.com>
-
-       * he.po: Updated Hebrew translation.
-
-2008-09-25 Og Maciel <ogmaciel@gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation by Vladimir Melo.
-
-2008-09-21  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>
-
-       * ru.po: Updated Russian translation.
-
-2008-09-21  Wadim Dziedzic  <wdziedzic@aviary.pl>
-
-       * pl.po: Updated Polish translation
-
-2008-09-21  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2008-09-21 Kenneth Nielsen <k.nielsen81@gmail.com>
-
-       * da.po: Updated Danish translation by Kenneth Nielsen
-
-2008-09-20  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2008-09-20  Takeshi AIHANA <takeshi.aihana@gmail.com>
-
-       * ja.po: Fixed wrong translations.
-
-2008-09-20  Goran Rakić  <grakic@devbase.net>
-
-       * sr.po, sr@latin.po: Updated Serbian translation (by Igor Nestorović).
-
-2008-09-19  Žygimantas Beručka  <zygis@gnome.org>
-
-       * lt.po: Updated Lithuanian translation.
-
-2008-09-18  Goran Rakić <grakic@devbase.net>
-
-       * sr.po, sr@latin.po: Updated Serbian Translation.
-
-2008-09-18  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-09-17  I. Felix <ifelix@redhat.com>
-
-       * ta.po:  Tamil Translation updated by Tirumurthi Vasudevan
-
-2008-09-16  Wouter Bolsterlee  <wbolster@svn.gnome.org>
-
-       * nl.po: Updated Dutch translation by Tino Meinen.
-
-2008-09-16  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2008-09-15  Gil Forcada  <gforcada@gnome.org>
-
-       * ca.po: Updated Catalan translation by David Planella.
-
-2008-09-15  Petr Kovar  <pknbe@volny.cz>
-
-       * cs.po: Updated Czech translation by Jiri Eischmann.
-
-2008-09-15  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-09-14  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Fixed Portuguese terminology.
-
-2008-09-14  Sandeep Shedmake  <sshedmak@redhat.com>
-
-       * mr.po: Updated Marathi Translations.
-
-2008-09-14  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2008-09-13  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2008-09-13  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2008-09-10  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2008-09-10  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2008-09-10  Pema Geyleg  <pema.geyleg@gmail.com>
-
-       * dz.po: Updated Dzongkha Translation
-
-2008-09-09  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Yavor Doganov <yavor@gnu.org>
-
-2008-09-09 Baris Cicek <baris@teamforce.name.tr>
-
-       * tr.po: Updated Turkish translation
-
-2008-09-07  Robert Sedak  <robert.sedak@sk.t-com.hr>
-
-       * hr.po: Updated Croatian translation.
-
-2008-09-07  Philip Withnall  <philip@tecnocode.co.uk>
-
-       * en_GB.po: Updated British English translation.
-
-2008-09-06  Funda Wang  <fundawang@gmail.com>
-
-       * zh_CN.po: Updated zh_CN translation.
-
-2008-09-05  Andre Klapper  <a9016009@gmx.de>
-
-       * de.po: Updated German translation.
-
-2008-09-05  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2008-08-29  Shankar Prasad <svenkate@redhat.com>
-
-       * kn.po: Updated Kannada translation.
-
-2008-08-28  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2008-08-27  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-08-27  Ilkka Tuohela <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-
-2008-08-25  Goran Rakic  <grakic@devbase.net>
-
-       * LINGUAS, sr@latin.po, sr@Latn.po: Conversion from sr@Latn to sr@latin.
-
-2008-08-25  Runa Bhattacharjee <runab@redhat.com>
-
-       * bn_IN.po: Updated Bengali India Translation
-
-2008-08-24  Leonardo Ferreira Fontenelle  <leonardof@gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation.
-
-2008-08-24  Takeshi AIHANA <takeshi.aihana@gmail.com>
-
-       * ja.po: Updated Japanese translation.
-
-2008-08-22  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>
-
-       * eu.po: Updated Basque translation.
-
-2008-08-22  Robert-André Mauchin  <zebob.m@pengzone.org>
-
-       * fr.po: Updated French translation.
-
-2008-08-19  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician translation
-
-2008-08-19  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2008-08-19  Shankar Prasad  <svenkate@redhat.com>
-
-       * kn.po: Updated Kannada translation
-
-2008-08-18  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-08-15  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * POTFILES.in: Add missing files.
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-08-14  Shankar Prasad  <svenkate@redhat.com>
-
-       * kn.po: Updated Kannada Translation.
-
-2008-08-12  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>
-
-       * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
-       * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
-
-2008-08-11  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2008-08-11  Ilkka Tuohela <<hile@iki.fi>>
-
-       * fi.po: Updated Finnish translation.
-
-2008-08-08  Priit Laes  <plaes at svn dot gnome dot org>
-
-       * et.po: Translation updated by Ivar Smolin
-
-2008-08-06  Takeshi AIHANA <takeshi.aihana@gmail.com>
-
-       * ja.po: Updated Japanese translation.
-
-2008-08-6  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-08-03  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-08-02  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician translation
-
-2008-07-29  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-07-29  Priit Laes  <plaes at svn dot gnome dot org>
-
-       * et.po: Translation updated by Ivar Smolin
-
-2008-07-29  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-07-28  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2008-07-26  Jonh Wendell  <jwendell@gnome.org>
-
-       * pt_BR.po: Fixed translation of "lock" and "unlock".
-
-2008-07-24  Leonardo Ferreira Fontenelle  <leonardof@gnome.org>
-
-       * pt_BR.po: Terminology fixes by Fabrício Godoy.
-
-2008-07-24  Claude Paroz  <claude@2xlibre.net>
-
-       * fr.po: Updated French translation by Bruno Brouard.
-
-2008-07-21  Andre Klapper  <a9016009@gmx.de>
-
-       * POTFILES.in: Add missing files.
-
-2008-07-20  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-07-20  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2008-07-20  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-07-19  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2008-07-18  Andre Klapper  <a9016009@gmx.de>
-
-       * de.po: Updated German translation.
-
-2008-07-18  Andre Klapper  <a9016009@gmx.de>
-
-       * POTFILES.in: Add missing files.
-
-2008-07-18  Yair Hershkovitz  <yairhr@gmail.com>
-
-       * he.po: Updated Hebrew translation.
-
-2008-07-13  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2008-07-03  Yannig Marchegay <yannig@marchegay.org>
-
-       * oc.po: Updated Occitan translation.
-
-2008-06-25  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * POTFILES.in: Remove missing file.
-       * nb.po: Updated.
-
-2008-06-21  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-06-21  Yair Hershkovitz  <yairhr@gmail.com>
-
-       * he.po: Updated Hebrew translation.
-
-2008-06-11  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-06-05  Roozbeh Pournader  <roozbeh@gmail.com>
-
-       * fa.po: Fixed rest of Bug 509996 in Persian translation (report and
-       patch by Hedayat Vatankhah), fixed two related issues.
-
-2008-05-25  Philip Withnall  <pwithnall@svn.gnome.org>
-
-       * en_GB.po: Updated British English translation.
-
-2008-05-25  Philip Withnall  <pwithnall@svn.gnome.org>
-
-       * en_GB.po: Updated British English translation.
-
-2008-05-25  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2008-05-25  Priit Laes  <plaes at svn dot gnome dot org>
-
-       * et.po: Translation updated by Ivar Smolin
-
-2008-05-24  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Tino Meinen.
-
-2008-05-24  Gil Forcada  <gforcada@gnome.org>
-
-       * ca.po: Updated Catalan translation.
-
-2008-05-24  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-05-23  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-05-22  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-05-22  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-05-22  Yair Hershkovitz  <yairhr@gmail.com>
-
-       * he.po:  Updated Hebrew translation.
-
-2008-05-19  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-05-18  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2008-05-14  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-05-13  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Tino Meinen.
-
-2008-05-10  Yair Hershkovitz  <yairhr@gmail.com>
-
-       * he.po:  Updated Hebrew translation.
-
-2008-05-09  Jorge Gonzalez <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-05-02  Yair Hershkovitz  <yairhr@gmail.com>
-
-       * he.po:  Updated Hebrew translation.
-
-2008-04-30  Yair Hershkovitz  <yairhr@gmail.com>
-
-       * he.po:  Updated Hebrew translation.
-
-2008-04-30  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-04-29  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2008-04-26  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-04-20  Priit Laes  <plaes at svn dot gnome dot org>
-
-       * et.po: Translation updated by Ivar Smolin
-
-2008-04-19  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-04-19  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-04-07  Yuriy Penkin <yura.penkin@gmail.com>
-
-       * ru.po: Updated Russian translation.
-
-2008-03-25  Philip Withnall  <pwithnall@svn.gnome.org>
-
-       * en_GB.po: Updated British English translation.
-
-2008-03-16  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-03-12  Sunil Mohan Adapa  <sunilmohan@fsf.org.in>
-
-       * te.po: Updated Telugu translation done by
-       Krishna Babu K <kkrothap@redhat.com>.
-
-2008-03-11  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Yavor Doganov <yavor@gnu.org>
-
-2008-03-08  Kenneth Nielsen  <k.nielsen81@gmail.com>
-
-       * da.po: Updated Danish translation
-
-2008-03-08  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian Translation.
-
-2008-03-07 Maxim Dziumanenko <dziumanenko@gmail.com>
-
-       * uk.po: Update Ukrainian translation.
-
-2008-03-06  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2008-03-05  Rahul Bhalerao <b.rahul.pm@gmail.com>
-
-       * mr.po: Updated Marathi Translations by Sandeep Shedmake.
-
-2008-03-04  Gil Forcada  <gforcada@gnome.org>
-
-       * ca.po: Updated Catalan translation by David Planella.
-
-2008-03-04  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated
-
-2008-03-02  Philip Withnall  <pwithnall@svn.gnome.org>
-
-       * en_GB.po: Updated British English translation.
-
-2008-03-02  Gintautas Miliauskas  <gintas@akl.lt>
-
-       * lt.po: Updated Lithuanian translation.
-
-2008-03-01  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-02-27  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-02-27  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Tino Meinen.
-
-2008-02-26  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-02-23  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2008-02-22  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2008-02-22  Petr Kovar  <pknbe@volny.cz>
-
-       * cs.po: Updated Czech translation by Jiri Eischmann.
-
-2008-02-22  Jonh Wendell  <jwendell@gnome.org>
-
-       * pt_BR.po: Brazilian Portuguese translation updated by Washington Lins.
-
-2008-02-21  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2008-02-18  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-02-18  Ilkka Tuohela <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2008-02-17 Baris Cicek <baris@teamforce.name.tr>
-
-       * tr.po: Updated Turkish translation
-
-2008-02-16  Wadim Dziedzic  <wadimd@svn.gnome.org>
-
-       * pl.po: Updated polish translation
-
-2008-02-16  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2008-02-15  Runa Bhattacharjee <runabh@gmail.com>
-
-       * kn.po: Added Kannada Translations by Shankar Prasad
-       * LINGUAS: Added Kannads (kn) to the List of Languages.
-
-2008-02-15  Stéphane Raimbault  <stephane.raimbault@gmail.com>
-
-       * fr.po: Updated French translation by Robert-André Mauchin and
-       Stéphane Raimbault.
-
-2008-02-14  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2008-02-14  Pawan Chitrakar <chautari@gmail.com>
-
-       * ne.po: Updated Nepali Translation.
-
-2008-02-13  Ilkka Tuohela <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2008-02-09 Arangel Angov <arangel@linux.net.mk>
-
-       * mk.po: Updated Macedonian translation.
-
-2008-02-08  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>
-
-       * eu.po: Updated Basque translation.
-
-2008-02-06  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2008-02-06  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>
-
-       * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
-       * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
-
-2008-02-05  Bastien Nocera  <hadess@hadess.net>
-
-       * en_GB.po: Fix Wastebasket/Trash (Closes: #514555)
-
-2008-02-05  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2008-02-03  Takeshi AIHANA <takeshi.aihana@gmail.com>
-
-       * ja.po: Updated Japanese translation.
-
-2008-02-03  Andre Klapper  <a9016009@gmx.de>
-
-       * de.po: Updated German translation.
-
-2008-02-02  Yannig Marchegay <yannig@marchegay.org>
-
-       * oc.po: Updated Occitan translation.
-
-2008-01-31  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Anas Husseini.
-
-2008-01-27  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-01-27  Priit Laes  <plaes at svn dot gnome dot org>
-
-       * et.po: Translation updated by Ivar Smolin
-
-2008-01-26  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-01-24  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2008-01-23  Priit Laes  <plaes at svn dot gnome dot org>
-
-       * et.po: Translation updated by Ivar Smolin
-
-2008-01-21  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2008-01-18  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>
-
-       * eu.po: Updated Basque translation.
-
-2008-01-18  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-01-17  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2008-01-16  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2008-01-05  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>
-
-       * eu.po: Updated Basque translation.
-
-2008-01-05  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>
-
-       * pt_BR.po: Brazilian Portuguese translation updated by Washington
-       Lins.
-
-2008-01-05  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2007-12-31  Yannig Marchegay <yannig@marchegay.org>
-
-       * oc.po: Updated Occitan translation.
-
-2007-12-31  Wadim Dziedzic  <wadimd@svn.gnome.org>
-
-       * pl.po: Updated polish translation
-
-2007-12-29  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2007-12-28  Priit Laes  <plaes at svn dot gnome dot org>
-
-       * et.po: Translation updated by Ivar Smolin echo
-
-2007-12-24  Wadim Dziedzic  <wadimd@svn.gnome.org>
-
-       * pl.po: Unification of Polish date format strings
-
-2007-12-20  Seán de Búrca  <sdeburca@svn.gnome.org>
-
-       * ga.po: Updated Irish translation.
-
-2007-12-19  Andre Klapper  <a9016009@gmx.de>
-
-       * de.po: Updated German translation.
-
-2007-12-18  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2007-12-17  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2007-12-15  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2007-12-11  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-12-10  Matej Urbančič  <mateju@svn.gnome.org>
-
-       * sl.po: Updated Slovenian Translation.
-
-2007-12-09  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-12-07  Andre Klapper  <a9016009@gmx.de>
-
-       * de.po: Updated German translation.
-
-2007-12-06  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * POTFILES.in: Add missing file.
-       * nb.po: Updated Norwegian bokmål translation.
-
-2007-12-06  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-12-03  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2007-11-27  Matej Urbančič  <mateju@svn.gnome.org>
-
-       * sl.po: Updated Slovenian translation.
-
-2007-11-25  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2007-11-21  Yannig Marchegay <yannig@marchegay.org>
-
-       * oc.po: Updated Occitan translation
-
-2007-11-14  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-11-13  Matej Urbančič <mateju@svn.gnome.org>
-
-       * sl.po: Updated Slovenian Translation.
-
-2007-11-05  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #344516
-
-       * he.po: Updated translation of date format for formatting.
-
-2007-11-03  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2007-11-01  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2007-10-29  Jordi Mas <jmas@softcatala.org>
-
-       * ca.po: Fixes spelling mistakes
-
-2007-10-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       * POTFILES.in:
-       Remove servers/exchange/lib/e2k-user-dialog.c.
-
-2007-10-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * POTFILES.in:
-       Add files for the new Google calendar backend.
-
-       * POTFILES.skip:
-       Skip libical files marked for translation.  Most if not all of
-       the strings are just warnings that get printed to the terminal.
-
-2007-10-23  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Anas Husseini.
-
-2007-10-21  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Anas Husseini.
-
-2007-10-15  Matej Urbančič  <mateju@svn.gnome.org>
-
-       * sl.po: Updated Slovenian translation.
-
-2007-10-15  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Yavor Doganov <yavor@gnu.org>
-
-2007-10-10  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2007-09-30  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2007-09-23  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation (fix for bug #479330).
-
-2007-09-16  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>
-
-       * ru.po: Updated Russian translation.
-
-2007-09-16  Gil Forcada  <gforcada@svn.gnome.org>
-
-       * ca.po: Updated Catalan translation by David Planella.
-
-2007-09016  Amitakhya Phukan <amitakhya@svn.gnome.org>
-
-       * LINGUAS: Added as to LINGUAS
-       * as.po: Added and updated assamese translations.
-
-2007-09-15  Mugurel Tudor  <mugurelu@gnome.ro>
-
-       * ro.po: Updated Romanian translation
-
-2007-09-13  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by .
-
-2007-09-13  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2007-09-13 Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2007-09-13  Jamil Ahmed  <itsjamil@gmail.com>
-
-       * bn.po: Updated Bengali Translation.
-
-2007-09-11  Goran Rakić  <grakic@devbase.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation (by Igor Nestorović).
-
-2007-09-10 Maxim Dziumanenko <dziumanenko@gmail.com>
-
-       * uk.po: Update Ukrainian translation.
-
-2007-09-09  Kenneth Nielsen  <k.nielsen81@gmail.com>
-
-       * da.po: Updated Danish translation
-
-2007-09-07  Raphael Higino  <raphaelh@svn.gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation
-       by Washington Lins <washington-lins@uol.com.br>.
-
-2007-09-07  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2007-09-06  Jovan Naumovski  <jovan@lugola.net>
-
-       * mk.po: Updated Macedonian translation.
-
-2007-09-06  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2007-09-04  Runa Bhattacharjee <runabh@gmail.com>
-
-       * bn_IN.po: Updated Bengali India Translation.
-
-2007-09-03  Andre Klapper  <a9016009@gmx.de>
-
-       * de.po: Updated German translation.
-
-2007-09-03  Stéphane Raimbault  <stephane.raimbault@gmail.com>
-
-       * fr.po: Updated French translation.
-
-2007-09-02  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-       * ChangeLog: Fix newlines in Clytie's recent entry.
-
-2007-09-02  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2007-09-02  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2007-08-31  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2007-08-30  Takeshi AIHANA <takeshi.aihana@gmail.com>
-
-       * ja.po: Updated Japanese translation.
-
-2007-08-30  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Estonian translation updates by Ivar Smolin <okul@linux.ee>
-
-2007-08-29  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2007-08-29  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2007-08-29  I. Felix <ifelix@svn.gnome.org>
-
-       * ta.po:  Tamil Translation updated by Tirumurthi Vasudevan
-
-2007-08-29  Wadim Dziedzic  <wadimd@svn.gnome.org>
-
-       * pl.po: Updated Polish translation
-
-2007-08-28  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-08-28  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2007-08-28  Ross Burton  <ross@openedhand.com>
-
-       * POTFILES.in:
-       Add servers/exchange/lib/e2k-user-dialog.c (#469732)
-
-2007-08-28  Jorge Gonzalez  <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-08-28  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2007-08-26 Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2007-08-23  Adam Weinberger  <adamw@gnome.org>
-
-       * POTFILES.skip: Add missing file.
-       * en_CA.po: Updated Canadian English translation.
-
-2007-08-19  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2007-08-19  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>
-
-       * pt_BR.po: Brazilian Portuguese translation updated by Washington
-       Lins <washington-lins@uol.com.br> and myself, and reviewd by Raul
-       Pereira <contato@raulpereira.com> and myself.
-
-2007-08-19  Matthew Barnes  <mbarnes@redhat.com>
-
-       * POTFILES.in: Remove servers/exchange/lib/e2k-user-dialog.c;
-       it's no longer distributed.
-
-2007-08-18  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2007-08-17  Hendrik Richter  <hendrikr@gnome.org>
-
-       * de.po: Updated German translation.
-
-2007-08-17  Hendrik Richter  <hendrikr@gnome.org>
-
-       * de.po: Updated German translation, by
-       Andre Klapper <ak-47@gmx.net>
-
-2007-08-16  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Estonian translation update by Ivar Smolin.
-
-2007-08-16  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2007-08-16  Takeshi AIHANA <takeshi.aihana@gmail.com>
-
-       * ja.po: Updated Japanese translation.
-
-2007-08-15  Stéphane Raimbault  <stephane.raimbault@gmail.com>
-
-       * fr.po: Update French translation by Claude Paroz and Stéphane
-       Raimbault.
-
-2007-08-14  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2007-08-14  I. Felix <ifelix@svn.gnome.org>
-
-       * ta.po:  Tamil Translation updated by Tirumurthi Vasudevan
-
-2007-08-14  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2007-08-14  Jorge Gonzalez <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-08-13  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2007-08-12  Jorge Gonzalez <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-08-11  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2007-08-10  Jorge Gonzalez <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-08-10  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2007-08-09  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2007-08-06  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2007-08-06  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2007-08-05  Takeshi AIHANA <takeshi.aihana@gmail.com>
-
-       * ja.po: Updated Japanese translation.
-
-2007-08-05  Jorge Gonzalez <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-08-03  Runa Bhattacharjee <runabh@gmail.com>
-
-       * bn_IN.po: Updated Bengali India Translation.
-
-2007-08-03  Danishka Navin  <snavin@svn.gnome.org>
-
-       * si.po: Added Sinhala translation by Danishka Navin
-       * LINGUAS: Added "si".
-
-2007-08-01  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2007-08-01  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2007-08-01  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2007-08-01  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Estonian translation update by Ivar Smolin.
-
-2007-07-30  Jorge Gonzalez <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-07-30  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2007-07-28  Inaki Larranaga Murgoitio  <dooteo@zundan.com>
-
-       * eu.po: Updated Basque translation
-
-2007-07-24  Andre Klapper  <a9016009@gmx.de>
-
-       * de.po: German translation update.
-
-2007-07-24  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Estonian translation update by Ivar Smolin.
-
-2007-07-23  Sunil Mohan Adapa  <sunil@atc.tcs.com>
-
-       * te.po: Added Telugu translation done by
-       Pramod <pramod@swecha.net>.
-
-2007-07-18  Wouter Bolsterlee  <wbolster@svn.gnome.org>
-
-       * nl.po: Translation updated by Wouter Bolsterlee.
-
-2007-07-17  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2007-07-16  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2007-07-13  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Estonian translation update by Ivar Smolin.
-
-2007-07-09  I. Felix <ifelix@svn.gnome.org>
-
-       * ta.po:  Tamil Translation updated by Tirumurthi Vasudevan
-
-2007-07-06  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2007-07-04  Jorge Gonzalez <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-07-02  Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
-
-       * vi.po: Updated Vietnamese translation.
-
-2007-07-01  Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
-
-       * vi.po: Updated Vietnamese translation.
-
-2007-06-26  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2007-06-21  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2007-06-21  Funda Wang  <fundawang@gmail.com>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2007-06-20  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2007-06-18  I Felix  <ifelix25@gmail.com>
-
-       * ta.po: Updated Tamil Translation.
-
-2007-06-17  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Estonian translation update by Ivar Smolin.
-
-2007-06-13  Pema Geyleg <pema.geyleg@gmail.com>
-
-       * dz.po: Updated dzongkha translation.
-
-2007-06-04  Jorge Gonzalez <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated spanish translation.
-
-2007-06-04  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2007-05-29  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2007-05-23  Hendrik Richter  <hendrikr@gnome.org>
-
-       * de.po: Updated German translation, fix #438765.
-
-2007-05-15  David Lodge <dave@cirt.net>
-
-       * en_GB.po: Updated British English translation
-
-2007-05-14  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2007-05-12 Jorge Gonzalez <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2007-05-08  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2007-05-03  Jorge Gonzalez <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2007-04-23  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2007-04-23  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2007-04-22  Jorge Gonzalez <jorgegonz@svn.gnome.org>
-
-       * es.po: Updated Spanish translation
-
-2007-04-22  David Lodge <dave@cirt.net>
-
-       * en_GB.po: Updated British English translation
-
-2007-04-17  Funda Wang  <fundawang@gmail.com>
-
-       * zh_CN.po: Updated Simplified Chinese translation from Yang Zhang.
-
-2007-04-14  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by .
-
-2007-03-28  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Fixed error in Portuguese translation.
-
-2007-03-14  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2007-03-12  Goran Rakić  <grakic@devbase.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation, by
-       Igor Nestorović <jung@one.ekof.bg.ac.yu>
-
-2007-03-10  Mugurel Tudor  <mugurelu@gnome.ro>
-
-       * ro.po: Updated Romanian translation, again
-
-2007-03-10  Mugurel Tudor  <mugurelu@gnome.ro>
-
-       * ro.po: Updated Romanian translation
-
-2007-03-09  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Tino Meinen.
-
-2007-03-08  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Alexander Shopov <ash@contact.bg>
-
-2007-03-06  Jovan Naumovski  <jovan@lugola.net>
-
-       * mk.po: Updated Macedonian translation.
-
-2007-03-05  Takeshi AIHANA <takeshi.aihana@gmail.com>
-
-       * ja.po: Updated Japanese translation.
-
-2007-03-05 Maxim Dziumanenko <dziumanenko@gmail.com>
-
-       * uk.po: Update Ukrainian translation.
-
-2007-03-04  Gintautas Miliauskas  <gintas@akl.lt>
-
-       * lt.po: Updated Lithuanian translation.
-
-2007-03-04  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>
-
-       * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
-       * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
-
-2007-03-01  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2007-02-27  Leonid Kanter <leon@asplinux.ru>
-
-       * ru.po: Updated Russian translation
-
-2007-02-27  Gintautas Miliauskas  <gintas@akl.lt>
-
-       * lt.po: Updated Lithuanian translation.
-
-2007-02-25  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2007-02-24  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2007-02-19  Artur Flinta  <aflinta@cvs.gnome.org>
-
-       * pl.po: Updated Polish translation by GNOME PL Team.
-
-2007-02-18  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Updated Estonian translation by Ivar Smolin <okul@linux.ee>.
-
-2007-02-10  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2007-02-9  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Ahmad Farghal.
-
-2007-02-9  Pema Geyleg  <pema.geyleg@gmail.com>
-
-       * dz.po: Updated dzongkha translation.
-
-2007-02-8  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation by Khaled Hosny.
-
-2007-02-08  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2007-02-06  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2007-02-02  Raphael Higino  <raphaelh@svn.gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation.
-
-2007-01-26  Hendrik Richter  <hendrikr@gnome.org>
-
-       * de.po: Updated German translation.
-
-2007-01-24  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Committed right file.
-
-2007-01-24  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Updated Estonian translation by Ivar Smolin <okul@linux.ee>.
-
-2007-01-18  Stéphane Raimbault  <stephane.raimbault@gmail.com>
-
-       * fr.po: Updated French translation. Some minor fixes.
-
-2007-01-13  Priit Laes  <plaes@svn.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin <okul@linux.ee>.
-
-2007-01-09  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2007-01-05  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2007-01-01  Christophe Fergeau  <teuf@gnome.org>
-
-       * fr.po: Updated French translation, commit on behalf of Stephane
-       Raimbault <stephane.raimbault@gmail.com>
-
-2006-12-29  David Lodge <dave@cirt.net>
-
-       * en_GB.po: Updated English (British) translation
-
-2006-12-29  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2006-12-28  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2006-12-24  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation.
-
-2006-12-23  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation.
-
-2006-12-22  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation.
-
-2006-12-19  Francisco Javier F. Serrador  <serrador@openshine.com>
-
-       * es.po: Updated Spanish translation.
-
-2006-12-18  Djihed Afifi <djihed@gmail.com>
-
-       * ar.po: Updated Arabic Translation.
-
-2006-12-09  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2006-11-28  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Alexander Shopov <ash@contact.bg>
-
-2006-11-24  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
-
-       * ca.po: Updated Catalan translation.
-
-2006-11-22  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-11-19  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-11-11  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-11-11  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-10-27  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-10-24  Francisco Javier F. Serrador  <serrador@openshine.com>
-
-       * es.po: Updated Spanish translation.
-
-2006-10-19  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-10-15  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2006-10-15  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-10-12  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2006-10-09  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-10-07  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-10-05  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-09-27  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-09-25  Marco Ciampa  <ciampix@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2006-09-19  Luca Ferretti  <elle.uca@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2006-09-17  Åsmund Skjæveland  <aasmunds@fys.uio.no>
-
-       * nn.po: Updated Norwegian Nynorsk translation.
-
-2006-09-13  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-09-10  David Lodge <dave@cirt.net>
-
-       * en_GB.po: Updated English (British) translation.
-
-2006-09-08  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-09-05  Åsmund Skjæveland  <aasmunds@fys.uio.no>
-
-       * nn.po: Updated Norwegian Nynorsk translation.
-
-2006-09-04  Abel Cheung  <abel@oaka.org>
-
-       * zh_HK.po: Updated Chinese (Hong Kong) translation from
-       Woodman Tuen <wmtuen@gmail.com>.
-       * zh_TW.po: Updated Chinese (Taiwan) translation from
-       Woodman Tuen <wmtuen@gmail.com>.
-
-2006-09-03 Ani Peter  <peter.ani@gmail.com>
-
-       * ml.po: Updated Malayalam translation
-
-2006-09-02 Kostas Papadimas <pkst@gnome.org>
-
-       * el.po: Updated Greek Translation
-
-2006-09-01  Runa Bhattacharjee <runabh@gmail.com>
-
-       * bn_IN.po: Fixed Some typos.
-
-2006-09-01  Ani Peter <peter.ani@gmail.com>
-
-       * ml.po: Updated Malayalam translation
-
-2006-09-01  F.Priyadharsini  <priyafelix@gmail.com>
-
-       * ta.po: Updated Tamil translation
-
-2006-08-31  Ani Peter  <peter.ani@gmail.com>
-
-       * ml.po: Updated Malayalam translation
-
-2006-08-31  Jovan Naumovski  <jovan@lugola.net>
-
-       * mk.po: Updated Macedonian translation.
-
-2006-08-30  Jovan Naumovski  <jovan@lugola.net>
-
-       * mk.po: Updated Macedonian translation.
-
-2006-08-30  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2006-08-30  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2006-08-29  Rajesh Ranjan <rajeshkajha@yahoo.com>
-
-       * hi.po: Updated Hindi Translation.
-
-2006-08-29  Subhransu Behera  <arya_subhransu@yahoo.co.in>
-
-       * or.po: Updated Oriya Translation.
-
-2006-08-28  Christophe Merlet  <redfox@redfoxcenter.org>
-
-       * fr.po: Updated French translation from
-       Robert-André Mauchin <zebob.m@gmail.com>.
-
-2006-08-27  Jamil Ahmed  <jamil@bengalinux.org>
-
-       * bn.po: Updated Bengali Translation.
-
-2006-08-25  Hendrik Richter  <hendrikr@gnome.org>
-
-       * de.po: Updated German translation, fix #343501.
-
-2006-08-25  Raivis Dejus  <orvils@gmail.com>
-
-       * lv.po: Updated Latvian translation.
-
-2006-08-24  Subhransu Behera  <arya_subhransu@yahoo.co.in>
-
-       * or.po: Updated Oriya Translation.
-
-2006-08-24  Subhransu Behera  <arya_subhransu@yahoo.co.in>
-
-       * or.po: Added and Updated Oriya Translation.
-       * LINGUAS: Added Oriya (or) to The List of Languages.
-
-2006-08-23  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-08-20  Hendrik Richter  <hendrikr@gnome.org>
-
-       * de.po: Updated German translation, by
-       Christian Kintner <mail@christian-kintner.de>
-
-2006-08-20  Hendrik Richter  <hendrikr@gnome.org>
-
-       * de.po: Updated German translation, by
-       Christian Kintner <mail@christian-kintner.de>
-
-2006-08-20  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Alexander Shopov <ash@contact.bg>
-
-2006-08-20  Rahul Bhalerao  <b.rahul.pm@gmail.com>
-
-       * mr.po: Updated Marathi translation
-
-2006-08-18  Satoru SATOH <ss@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2006-08-17  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation
-
-2006-08-16  Artur Flinta  <aflinta@cvs.gnome.org>
-
-       * pl.po: Updated Polish translation by GNOME PL Team.
-
-2006-08-16  Žygimantas Beručka  <zygis@gnome.org>
-
-       * lt.po: Updated Lithuanian translation.
-
-2006-08-16  Žygimantas Beručka  <zygis@gnome.org>
-
-       * lt.po: Updated Lithuanian translation.
-
-2006-08-16  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2006-08-16  Runa Bhattacharjee <runabh@gmail.com>
-
-       * bn_IN.po: Updated Bengali India Translation.
-
-2006-08-16  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2006-08-15  Leonid Kanter <leon@asplinux.ru>
-
-       * ru.po: Updated Russian translation
-
-2006-08-14  Matic Žgur  <mr.zgur@gmail.com>
-
-       * sl.po: Updated Slovenian translation.
-
-2006-08-13  Rahul Bhalerao  <b.rahul.pm@gmail.com>
-
-       * LINGUAS: Added entry for Marathi(mr)
-       * mr.po: Updated Marathi translations
-
-2006-08-13  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2006-08-12  Funda Wang  <fundawang@linux.net.cn>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2006-08-12  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2006-08-11  Vladimer Sichinava  <vlsichinava@gmail.com>
-
-       * ka.po: Added Georgian translation.
-
-2006-08-11  Runa Bhattacharjee <runabh@gmail.com>
-
-       * bn_IN.po: Partial updation of Bengali India Translation.
-
-2006-08-10  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
-
-       * ca.po: Update Catalan translation by
-       Xavier Conde Rueda <xavi.conde@gmail.com>
-
-2006-08-10  Maxim Dziumanenko <dziumanenko@gmail.com>
-
-       * uk.po: Update Ukrainian translation.
-
-2006-08-10  Guntupalli Karunakar  <karunakar@freedomink.org>
-
-       * dz.po: Updated Dzongkha translation by
-       Dzongkhalinux team, DIT
-
-2006-08-09  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2006-08-08  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-08-07  Inaki Larranaga  <dooteo@euskalgnu.org>
-
-       * eu.po: Updated Basque translation.
-
-2006-08-05  Ahmad Riza H Nst  <rizahnst@eriagempita.co.id>
-
-       * id.po: Updated.
-
-2006-08-03  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2006-08-02  Jovan Naumovski  <jovan@lugola.net>
-
-       * mk.po: Updated Macedonian translation.
-
-2006-07-30  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2006-07-30  Christophe Merlet  <redfox@redfoxcenter.org>
-
-       * fr.po: Updated French translation.
-
-2006-07-27  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2006-07-26  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Tino Meinen.
-
-2006-07-26  Francisco Javier F. Serrador  <serrador@openshine.com>
-
-       * es.po: Updated Spanish translation.
-
-2006-07-25  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2006-07-23  Funda Wang  <fundawang@linux.net.cn>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2006-07-22  Christophe Merlet  <redfox@redfoxcenter.org>
-
-       * fr.po: Updated French translation.
-
-2006-07-21  Christophe Merlet  <redfox@redfoxcenter.org>
-
-       * fr.po: Updated French translation from
-       Jonathan Ernst <jonathan@ernstfamily.ch>.
-
-2006-07-19  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2006-07-19  Kostas Papadimas <pkst@gnome.org>
-
-       * el.po: Updated Greek translation.
-
-2006-07-18  Guntupalli Karunakar  <karunakar@freedomink.org>
-
-       * dz.po: Updated Dzongkha translation by
-       Dzongkhalinux team, DIT
-
-2006-07-17  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2006-07-17  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2006-07-16  Daniel Nylander  <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2006-07-14  Priit Laes  <amd@store20.com>
-
-       * et.po: Translation updated.
-
-2006-07-14  Francisco Javier F. Serrador  <serrador@openshine.com>
-
-       * es.po: Updated Spanish translation.
-
-
-2006-07-11  Raivis Dejus  <orvils@gmail.com>
-
-       * lv.po: Updated Latvian translation.
-
-2006-07-07  Inaki Larranaga  <dooteo@euskalgnu.org>
-
-       * eu.po: Updated Basque translation.
-
-2006-07-07  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2006-07-04  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated.
-
-2006-07-03  Runa Bhattacharjee <runabh@gmail.com>
-
-       * bn_IN.po: Added Bengali India Translation
-       * LINGUAS: Added Bengali India (bn_IN) to the list of languages.
-
-2006-07-03  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2006-07-01  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2006-06-30  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2006-06-30  I.Felix  <ifelix25@gmail.com>
-
-       * ta.po: Updated Tamil Translation.
-
-2006-06-29  Rajesh Ranjan <rajeshkajha@yahoo.com>
-
-       * hi.po: Updated Hindi Translation.
-
-2006-06-28  Guntupalli Karunakar  <karunakar@indlinux.org>
-
-       * dz.po: Updated Dzongkha translation
-       by Dzongkhalinux, DIT
-
-2006-06-27  Yair Hershkovitz  <yairhr@gmail.com>
-
-       * he.po:  Updated Hebrew translation.
-
-2006-06-26  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2006-06-25  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>
-
-       * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
-       * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
-
-2006-06-18  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2006-06-17  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2006-06-16  Francisco Javier F. Serrador  <serrador@openshine.com>
-
-       * es.po: Updated Spanish translation.
-
-2006-06-16  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2006-06-15  Hendrik Richter  <hendrikr@gnome.org>
-
-       * de.po: Updated German translation.
-
-2006-06-15  Francisco Javier F. Serrador  <serrador@openshine.com>
-
-       * es.po: Updated Spanish translation.
-
-2006-06-14  Francisco Javier F. Serrador  <serrador@openshine.com>
-
-       * es.po: Updated Spanish translation.
-
-2006-06-14  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2006-06-13  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2006-06-12  Francisco Javier F. Serrador  <serrador@openshine.com>
-
-       * es.po: Updated Spanish translation.
-
-2006-06-07  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2006-06-05  Francisco Javier F. Serrador  <serrador@openshine.com>
-
-       * es.po: Updated Spanish translation.
-
-2006-06-05  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Translation updated.
-
-2006-06-03  Francisco Javier F. Serrador  <serrador@openshine.com>
-
-       * es.po: Updated Spanish translation.
-
-2006-06-03  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2006-06-01  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2006-05-31  Francisco Javier F. Serrador  <serrador@openshine.com>
-
-       * es.po: Updated Spanish translation.
-
-2006-05-30  Pema Geyleg  <pema.geyleg@gmail.com>
-
-       * dz.po: Updated Dzongkha translation.
-
-2006-05-27  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-
-2006-05-27  Pema Geyleg  <pema.geyleg@gmail.com>
-
-       * dz.po: Updated Dzongkha translation.
-
-2006-05-26  Inaki Larranaga  <dooteo@euskalgnu.org>
-
-       * eu.po: Updated Basque translation.
-
-2006-05-25  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2006-05-22  Harish Krishnaswamy  <kharish@novell.com>
-
-       * fa.po: Fix for #342399. Patch submitted by
-       Emil Hessman <ceh@otaku.se>
-
-2006-05-18  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2006-05-12  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>
-
-       * ru.po: Updated Russian translation.
-
-2006-05-06  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2006-05-02  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2006-04-21  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2006-04-20  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2006-04-18  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2006-04-17  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * no.po: Remove obsolete translation.
-
-2006-04-17  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2006-04-06  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation (merged from gnome-2-14 branch).
-
-2006-03-29  Priit Laes  <amd@store20.com>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-03-28  Priit Laes  <amd@store20.com>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-03-23  Marco Ciampa <ciampix@libero.it>
-
-       * it.po: updated italian translation.
-
-2006-03-22  Tommi Vainikainen  <thv@iki.fi>
-
-       * dz.po: Added Dzongkha translation from Pema Geyleg.
-
-2006-03-13  Dan Damian  <dand@gnome.ro>
-
-       * ro.po: Updated Romanian translation.
-
-2006-03-12  Raphael Higino  <raphaelh@cvs.gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation.
-
-2006-03-12  Lucas Rocha  <lucasr@gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation.
-
-2006-03-11  Priit Laes  <amd@store20.com>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-03-08  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Hungarian translation updated.
-
-2006-03-08  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Hungarian translation updated.
-
-2006-03-07  Daniel Nylander <po@danielnylander.se>
-
-       * sv.po: Updated Swedish translation.
-
-2006-03-06  Maxim Dziumanenko <mvd@mylinux.ua>
-
-       * uk.po: Updated Ukrainian translation.
-
-2006-03-06  Frank Arnold  <farnold@cvs.gnome.org>
-
-       * de.po: Updated German translation.
-
-2006-03-05  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Alexander Shopov <ash@contact.bg>
-
-2006-03-05  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2006-02-26  Artur Flinta  <aflinta@cvs.gnome.org>
-
-       * pl.po: Updated Polish translation by GNOME PL Team.
-
-2006-02-25  Žygimantas Beručka  <zygis@gnome.org>
-
-       * lt.po: Updated Lithuanian translation.
-
-2006-02-25  Priit Laes  <amd@store20.com>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-02-24  Inaki Larranaga  <dooteo@euskalgnu.org>
-
-       * eu.po: Updated Basque translation.
-
-2006-02-24  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2006-02-20  Kostas Papadimas  <pkst@gnome.org>
-
-       * el.po: Updated Greek translation.
-
-2006-02-18  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
-
-       * ca.po: Updated Catalan translation.
-
-2006-02-13  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2006-02-13  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2006-02-11  Lukas Novotny  <lukasnov@cvs.gnome.org>
-
-       * cs.po: Updated Czech translation.
-
-2006-02-11  Rhys Jones  <rhys@sucs.org>
-
-       * cy.po: Updated Welsh translation.
-
-2006-02-10  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2006-02-07  Rhys Jones  <rhys@sucs.org>
-
-       * cy.po: Updated Welsh translation.
-
-2006-02-07  Takeshi AIHANA <takeshi.aihana@gmail.com>
-
-       * ja.po: Updated Japanese translation.
-
-2006-02-07  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2006-02-07  Priit Laes  <amd@store20.com>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-02-05  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Updated Thai translation.
-
-2006-02-04  Theppitak Karoonboonyanan  <thep@linux.thai.net>
-
-       * th.po: Added Thai translation by
-       Supranee Thirawatthanasuk <supranee@opentle.org>.
-
-2006-02-04  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2006-02-02  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2006-01-31  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-01-31  Slobodan D. Sredojevic  <slobo@akrep.be>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation
-
-2006-01-30  Leonid Kanter <leon@asplinux.ru>
-
-       * ru.po: Updated Russian translation
-
-2006-01-29  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2006-01-26  Funda Wang  <fundawang@linux.net.cn>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2006-01-23  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-       * no.po: Same.
-
-2006-01-23  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Tino Meinen.
-
-2006-01-23  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2006-01-22  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2006-01-21  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2006-01-21  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>
-
-       * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
-       * zh_HK.po: Added Traditional Chinese translation(Hong Kong).
-
-2006-01-20  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2006-01-20  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2006-01-20  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2006-01-19  Adam Weinberger  <adamw@gnome.org>
-
-       * POTFILES.in: Added missing file.
-       * en_CA.po: Updated Canadian English translation.
-
-2006-01-19  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-01-18  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2006-01-15  Takeshi AIHANA <takeshi.aihana@gmail.com>
-
-       * ja.po: Fixed translations of date formats.
-
-2006-01-10  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2006-01-09  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Alexander Shopov <ash@contact.bg>
-
-2006-01-09  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
-
-       * ca.po: Updated Catalan translation.
-
-2006-01-07  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Tino Meinen.
-
-2006-01-06  Žygimantas Beručka  <zygis@gnome.org>
-
-       * lt.po: Updated Lithuanian translation.
-
-2006-01-03  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2006-01-02  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-       * no.po: Same.
-
-2006-01-01  Åsmund Skjæveland  <aasmunds@fys.uio.no>
-
-       * nn.po: Updated Norwegian Nynorsk translation.
-
-2005-12-31  Åsmund Skjæveland  <aasmunds@fys.uio.no>
-
-       * nn.po: Updated Norwegian Nynorsk translation.
-
-2005-12-31  Åsmund Skjæveland  <aasmunds@fys.uio.no>
-
-       * nn.po: Updated Norwegian Nynorsk translation.
-
-2005-12-30  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-12-28  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2005-12-26  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2005-12-26  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation
-
-2005-12-26  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-12-21  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2005-12-20  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2005-12-18  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2005-12-12  Christophe Merlet  <redfox@redfoxcenter.org>
-
-       * fr.po: Updated French translation.
-
-2005-12-11  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-12-11  Ankit Patel  <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2005-12-06  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-12-06  Ales Nyakhaychyk  <nab@mail.by>
-
-       * be.po: Updated Belarusian translation by Vital Khilko.
-
-2005-12-05  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Alexander Shopov <ash@contact.bg>
-
-2005-12-04  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-       * no.po: Same
-
-2005-12-04  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2005-12-04  Funda Wang  <fundawang@linux.net.cn>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2005-12-03  Adam Weinberger  <adamw@gnome.org>
-
-       * POTFILES.in: Added missing file.
-       * en_CA.po: Updated Canadian English translation.
-
-2005-12-02  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2005-11-22  Roozbeh Pournader  <roozbeh@farsiweb.info>
-
-       * fa.po: Updated Persian translation. Translator: Meelad Zakaria;
-       Reviewer: Elnaz Sarbar.
-
-2005-11-22  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Alexander Shopov <ash@contact.bg>
-
-2005-11-22  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2005-11-20  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2005-11-15  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-       * no.po: Same.
-
-2005-11-13  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-11-09  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-11-06  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-11-03  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation
-
-2005-11-02  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-10-29  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2005-10-28  Erdal Ronahi  <erdal.ronahi@gmail.com>
-
-       * ku.po: Added Kurdish translation
-
-2005-10-23  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-10-20  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
-
-       * gl.po: Updated Galician Translation.
-
-2005-10-15  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated.
-
-2005-10-14  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-09-19  Christian Rose  <menthos@menthos.com>
-
-       * sv.po: Updated Swedish translation.
-
-2005-09-07  Christophe Merlet  <redfox@redfoxcenter.org>
-
-       * fr.po: Updated French translation.
-
-2005-09-06  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-09-03  Christophe Merlet  <redfox@redfoxcenter.org>
-
-       * fr.po: Updated French translation.
-
-2005-09-03  Dan Damian  <dand@gnome.ro>
-
-       * ro.po: Updated Romanian translation.
-
-2005-09-02  Christophe Merlet  <redfox@redfoxcenter.org>
-
-       * fr.po: Updated French translation from
-       Stéphane Raimbault <stephane.raimbault@free.fr>.
-
-2005-09-01  Baris Cicek <baris@teamforce.name.tr>
-
-       * tr.po: Updated Turkish Translation
-
-2005-09-01  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-08-30  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2005-08-24  Mohammad DAMT  <mdamt@gnome.org>
-
-       * id.po: Updated Indonesian translation.
-
-2005-08-24  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2005-08-23  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Hungarian translation updated.
-
-2005-02-22  Nickolay V. Shmyrev <nshmyrev@yandex.ru>
-
-       * ru.po: Updated Russian translation.
-
-2005-02-22  Maxim Dziumanenko <mvd@mylinux.ua>
-
-       * uk.po: Updated Ukrainian translation.
-
-2005-08-22  Danilo Šegan  <danilo@gnome.org>
-
-       * sr.po, sr@Latn.po: Updated by Igor Nestorović.
-
-2005-08-21  Žygimantas Beručka  <zygis@gnome.org>
-
-       * lt.po: Updated Lithuanian translation by
-       Justina Klingaitė <justina.klingaite@gmail.com>
-
-2005-08-16  Josep Puigdemont  <josep.puigdemont@gmail.com>
-
-       * ca.po: Updated Catalan translation by
-       Xavier Conde <xavi.conde@gmail.com>
-
-2005-08-16  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2005-08-14  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Hungarian translation updated.
-
-2005-08-15  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-08-14  Frank Arnold  <farnold@cvs.gnome.org>
-
-       * de.po: Message sync with evolution.
-
-2005-08-13 Kostas Papadimas <pkst@gnome.org>
-
-       *el.po Updated Greek Translation
-
-2005-08-11  Frank Arnold  <farnold@cvs.gnome.org>
-
-       * de.po: Updated German translation.
-
-2005-08-10  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Rostislav Raykov <zbrox@i-space.org>
-
-2005-08-06  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-08-05  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>
-
-       * zh_TW.po: Updated Traditional Chinese translation.
-
-2005-08-05  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2002-10-04  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Reinout van Schouwen.
-
-2005-07-30  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2005-07-30  Marco Ciampa  <ciampix@libero.it>
-
-       * it.po: Updated Italian translation.
-
-2005-07-28  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2005-07-28  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Bulk change to some Finnish translations.
-
-2005-07-28  Artur Flinta  <aflinta@cvs.gnome.org>
-
-       * pl.po: Updated Polish translation by GNOME PL Team.
-
-2005-07-28  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2005-07-28 Ankit Patel <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2005-07-28  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-07-28  Terance Sola  <terance@lyse.net>
-
-       * nb.po: Updated Norwegian Bokmål translation.
-       * no.po: Same.
-
-2005-07-27  Raphael Higino  <raphaelh@cvs.gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation.
-
-2005-07-27  Funda Wang  <fundawang@linux.net.cn>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2005-07-27  Ankit Patel <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2005-07-27  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-07-27  Ahmad Riza H Nst  <rizahnst@eriagempita.co.id>
-
-       * id.po: Updated and fixed Indonesian translation
-       done by Imam Musthaqim  <imam@infoflow.co.id>
-
-2005-07-26  Adam Weinberger  <adamw@gnome.org>
-
-       * POTFILES.in: Added missing files.
-       * en_CA.po: Updated Canadian English translation.
-
-2005-07-26  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2005-07-26  Frank Arnold  <farnold@cvs.gnome.org>
-
-       * de.po: Updated German translation.
-
-2005-07-26  Ahmad Riza H Nst  <rizahnst@eriagempita.co.id>
-
-       * id.po: Updated Indonesian translation
-       done by Imam Musthaqim  <imam@infoflow.co.id>
-
-2005-07-25  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2005-07-25  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2005-07-24  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-       * no.po: Same
-
-2005-07-24  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation.
-
-2005-07-23  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-07-23  Funda Wang  <fundawang@linux.net.cn>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2005-07-22  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2005-07-22  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2005-07-21  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-07-20 Ankit Patel <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2005-07-19  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Reinout van Schouwen.
-
-2005-07-18  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-07-18  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-07-18  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-07-17  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-07-17  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2005-07-16  Danilo Šegan  <danilo@gnome.org>
-
-       * sr.po, sr@Latn.po: Updated by Igor Nestorović.
-
-2005-07-16  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation.
-       * no.po: Same
-
-2005-07-16  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * POTFILES.in : Added a missing exchange file. And removed the files
-       which didnt have any translations needed
-
-2005-07-15  Raphael Higino  <raphaelh@cvs.gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation.
-
-2005-07-15  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Hungarian translation updated.
-
-2005-07-14  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated.
-
-2005-07-14  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-07-14  Danilo Šegan  <danilo@gnome.org>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation by Igor
-       Nestorović.
-
-2005-07-13  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2005-07-10  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-07-10  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-07-09  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>
-
-       * zh_TW.po: Updated Traditional Chinese translation.
-
-2005-07-07  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2005-07-07  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-07-06  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-07-06  Terance Sola  <terance@lyse.net>
-
-       * nb.po: Updated Norwegian bokmal translation.
-       * no.po: Same.
-
-2005-07-06  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Rostislav Raykov <zbrox@i-space.org>
-
-2005-07-04  Hendrik Richter  <hendi@gnome-de.org>
-
-       * de.po: Fixed German translation by
-       Jens Seidel <jensseidel@users.sf.net>.
-
-2005-07-03  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-07-01  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>
-
-       * zh_TW.po: Updated Traditional Chinese translat
-
-2005-07-01  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-07-01  Funda Wang  <fundawang@linux.net.cn>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2005-06-28  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-06-27  Sarfraaz Ahmed <asarfraaz@novell.com>
-
-       * POTFILES.in : Added missing exchange files.
-
-2005-06-22  Abel Cheung  <maddog@linuxhall.org>
-
-       * zh_TW.po: Fix language team reference.
-
-2005-06-21  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-06-20  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Updated Norwegian bokmål translation
-       * no.po: Updated Norwegian bokmål translation
-
-2005-06-17  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-06-12  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-06-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
-
-       * da.po: Updated Danish translation.
-
-2005-06-10  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Vladimir Petkov <vpetkov@i-space.org>
-
-2005-06-08  Martin Willemoes Hansen  <mwh@sysrq.dk>
-
-       * da.po: Updated Danish translation.
-
-2005-06-06  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-06-01  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-06-01  Terance Sola  <terance@lyse.net>
-
-       * nb.po: Updated
-       * no.po: Updated
-
-2005-05-30  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2005-05-29  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-05-29  Funda Wang  <fundawang@linux.net.cn>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2005-05-28  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-05-26  Clytie Siddall <clytie@riverland.net.au>
-
-       * vi.po: Updated Vietnamese translation.
-
-2005-05-23  Dafydd Harries  <daf@muse.19inch.net>
-
-       * cy.po: Kick into shape a bit.
-
-2005-05-22  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2005-05-14  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Rostislav Raykov <zbrox@i-space.org>
-
-2005-05-11 Kostas Papadimas <pkst@gnome.org>
-
-       *el.po Updated Greek Translation
-
-2005-04-29  Martin Willemoes Hansen  <mwh@sysrq.dk>
-
-       * da.po: Updated Danish translation.
-
-2005-04-24  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-04-23  Roozbeh Pournader  <roozbeh@farsiweb.info>
-
-       * fa.po: Updated Persian translation by
-       Meelad Zakaria <meelad@farsiweb.info>.
-
-2005-04-10  Marco Ciampa  <ciampix@libero.it>
-
-       * it.po: updated italian translation & some utf-8 garbage corrected.
-
-2005-04-09  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-04-08  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-04-06  Roozbeh Pournader  <roozbeh@farsiweb.info>
-
-       * fa.po: Updated Persian translation by
-       Hessam M. Armandehi <hessam@cs.sharif.edu>.
-
-2005-04-06  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translations.
-
-2005-04-05  Frank Arnold  <farnold@cvs.gnome.org>
-
-       * de.po: Updated German translation.
-
-2005-04-05  Pawan Chitrakar  <pawan@nplinux.org>
-
-       * ne.po: Updated Nepali Translation
-
-2005-04-04  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Tino Meinen.
-
-2005-04-02  Raphael Higino  <raphaelh@cvs.gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation.
-
-2005-04-01  Adi Attar  <aattar@cvs.gnome.org>
-
-       * xh.po: Updated Xhosa translation.
-
-2005-03-31  Steve Murphy  <murf@e-tools.com>
-
-       * rw.po: Added Kinyarwanda translation.
-
-2005-03-31  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-03-30  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-03-30  Adi Attar  <aattar@cvs.gnome.org>
-
-       * xh.po: Added Xhosa translation.
-
-2005-03-29  Gabor Kelemen  <kelemeng@gnome.hu>
-
-       * hu.po: Hungarian translation updated.
-
-2005-03-29  Josep Puigdemont  <josep@imatge-sintetica.com>
-
-       * ca.po: Updated Catalan translation.
-
-2005-03-27  Pawan Chitrakar  <pawan@nplinux.org>
-
-       * ne.po: Added nepali translation
-
-2005-03-23  Frank Arnold  <farnold@cvs.gnome.org>
-
-       * de.po: Updated German translation.
-
-2005-03-22  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-03-22  Christian Rose  <menthos@menthos.com>
-
-       * POTFILES.in: Added missing file entry.
-
-2005-03-15  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-03-15  Hans Petter Jansson  <hpj@novell.com>
-
-       * POTFILES.in: Add e-passwords.c.
-
-       * da.po:
-       * de.po:
-       * es.po:
-       * fi.po:
-       * ja.po:
-       * ko.po:
-       * nb.po:
-       * no.po:
-       * pl.po: Carry over two strings from the Evolution module;
-       they should've been moved along with e-passwords.c.
-
-2005-03-12  Baris Cicek <baris@teamforce.name.tr>
-
-       * tr.po: Updated Turkish Translation
-
-2005-03-05  Raphael Higino  <raphaelh@cvs.gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation.
-
-2005-03-04  Laszlo Dvornik  <dvornik@gnome.hu>
-
-       * hu.po: Hungarian translation updated by Gabor Kelemen.
-
-2005-03-03  Raphael Higino  <raphaelh@cvs.gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation.
-
-2005-03-01  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Vladimir Petkov <vpetkov@i-space.org>
-
-2005-03-01  Jordi Mallach  <jordi@sindominio.net>
-
-       * ca.po: Updated Catalan translation by
-       Xavier Conde Rueda <xaviconde@eresmas.com>.
-
-2005-02-28  Kostas Papadimas <pkst@gnome.org>
-
-       * el.po: Updated Greek translation.
-
-2005-02-27  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Tino Meinen.
-
-2005-02-27  Nikos Charonitakis  <charosn@her.forthnet.gr>
-
-       * el.po: Updated Greek translation.
-
-2005-02-26  Laszlo Dvornik  <dvornik@gnome.hu>
-
-       * hu.po: Hungarian translation updated by Gabor Kelemen.
-
-2005-02-24  Martin Willemoes Hansen  <mwh@sysrq.dk>
-
-       * da.po: Updated Danish translation.
-
-2005-02-21 Ankit Patel <ankit644@yahoo.com>
-
-       * gu.po: Updated Gujarati Translation.
-
-2005-02-19  Artur Flinta  <aflinta@cvs.gnome.org>
-
-       * pl.po: Updated Polish translation by GNOME PL Team.
-
-2005-02-19  Kostas Papadimas <pkst@gnome.org>
-
-       * el.po: Updated Greek translation.
-
-2005-02-19  Maxim Dziumanenko <mvd@mylinux.com.ua>
-
-       * uk.po: Updated Ukrainian translation.
-
-2005-02-19  Christophe Merlet  <redfox@redfoxcenter.org>
-
-       * fr.po: Updated French translation from
-       Thierry Moisan <thierryn@videotron.ca>.
-
-2005-02-18  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2005-02-16  Marco Ciampa <ciampix@libero.it>
-
-       * it.po: Updated italian translation
-
-2005-02-16  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Update
-       * no.po: Update
-
-2005-02-16  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Vladimir Petkov <vpetkov@i-space.org>
-
-2005-02-15  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated Finnish translation
-
-2005-02-14  Leonid Kanter  <leon@asplinux.ru>
-
-       * ru.po: Updated Russian translation
-
-2005-02-14  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2005-02-14  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Vladimir Petkov <vpetkov@i-space.org>
-
-2005-02-14  Žygimantas Beručka  <uid0@akl.lt>
-
-       * lt.po: Updated Lithuanian translation.
-
-2005-02-13  David Lodge <dave@cirt.net>
-
-       * en_GB.po: Updated British translation.
-
-2005-02-13  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2005-02-13  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2005-02-11  Christian Rose  <menthos@menthos.com>
-
-       * POTFILES.in: Added missing file entry.
-       * sv.po: Updated Swedish translation.
-
-2005-02-10  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Update
-       * no.po: Update
-
-2005-02-08  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-02-08  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-02-08  Frank Arnold  <farnold@cvs.gnome.org>
-
-       * de.po: Updated German translation.
-
-2005-02-08  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-02-07  JP Rosevear  <jpr@novell.com>
-
-       * POTFILES.skip: skip files that aren't built but might be needed
-       for reference
-
-       * POTFILES.in: remove dead files
-
-2005-02-07  JP Rosevear  <jpr@novell.com>
-
-       * POTFILES.in: remove dead file
-
-2005-02-07  Jordi Mallach  <jordi@sindominio.net>
-
-       * ca.po: Updated Catalan translation by
-       Xavier A. Conde Rueda <xaviconde@eresmas.com>.
-
-2005-02-07  David Lodge <dave@cirt.net>
-
-       * en_GB.po: Updated British translation.
-
-2005-02-07  Frank Arnold  <farnold@cvs.gnome.org>
-
-       * de.po: Updated German translation.
-
-2005-02-06  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-02-06  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-02-06  Frank Arnold  <farnold@cvs.gnome.org>
-
-       * de.po: Updated German translation.
-
-2005-02-06  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-02-06  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-02-05  Frank Arnold  <farnold@cvs.gnome.org>
-
-       * de.po: Updated German translation.
-
-2005-02-05  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-02-05  Žygimantas Beručka  <uid0@akl.lt>
-
-       * lt.po: Updated Lithuanian translation.
-
-2005-02-04  Kostas Papadimas <pkst@gnome.org>
-
-       * el.po: Updated  Greek translation
-
-2005-02-02  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2005-02-01  Raphael Higino  <raphaelh@cvs.gnome.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation.
-
-2005-02-01  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-02-01  Žygimantas Beručka  <uid0@akl.lt>
-
-       * lt.po: Updated Lithuanian translation.
-
-2005-01-31  Žygimantas Beručka  <uid0@akl.lt>
-
-       * lt.po: Updated Lithuanian translation.
-
-2005-01-31  Christian Rose  <menthos@menthos.com>
-
-       * sv.po: Updated Swedish translation.
-
-2005-01-31  Christian Rose  <menthos@menthos.com>
-
-       * POTFILES.in: Added lots of missing file entries.
-
-2005-01-31  Žygimantas Beručka  <uid0@akl.lt>
-
-       * lt.po: Updated Lithuanian translation.
-
-2005-01-31  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2005-01-30  David Lodge <dave@cirt.net>
-
-       * en_GB.po: Updated British translation.
-
-2005-01-28  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Daniel van Eeden.
-
-2005-01-28  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po: Update
-       * no.po: Update
-
-2005-01-26  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2005-01-25  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2005-01-23 Marco Ciampa <ciampix@libero.it>
-
-       * it.po: Updated italian translation.
-
-2005-01-23  Frank Arnold  <farnold@cvs.gnome.org>
-
-       * de.po: Updated German translation.
-
-2005-01-21  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated by Ivar Smolin.
-
-2005-01-20  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2005-01-19  Frank Arnold  <farnold@cvs.gnome.org>
-
-       * de.po: Updated German translation.
-
-2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * nb.po:
-
-2005-01-18  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated.
-
-2005-01-18  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated.
-
-2005-01-17  Žygimantas Beručka  <uid0@akl.lt>
-
-       * lt.po: Updated Lithuanian translation.
-
-2005-01-15  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated.
-
-2005-01-15  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2005-01-15  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2005-01-14  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2005-01-14  Adam Weinberger  <adamw@gnome.org>
-
-       * POTFILES.in: Removed nonexistant file from list.
-
-2005-01-14  Not Zed  <NotZed@Ximian.com>
-
-       * POTFILES.in: Added camel/*
-
-       * *.po: Merged in last version of evolution/camel po files.
-
-       * ar.po cy.po he.po hi.po is.po mk.po ml.po wa.po: Added new
-       translations from evolution.
-
-2005-01-14  Priit Laes <plaes@cvs.gnome.org>
-
-       * POTFILES.in: Added files from libedataserverui directory.
-
-2005-01-10  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Vladimir Petkov <vpetkov@i-space.org>
-
-2005-01-10  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2004-12-24  Leonid Kanter <leon@asplinux.ru>
-
-       * ru.po: Updated Russian translation
-
-2004-12-04  Žygimantas Beručka  <uid0@akl.lt>
-
-       * lt.po: Updated Lithuanian translation.
-
-2004-12-03  Marco Ciampa <ciampix@libero.it>
-
-       * it.po: Updated italian translation.
-
-2004-10-15  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation.
-
-2004-10-14  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-10-14  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2004-10-13  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2004-10-13  David Lodge <dave@cirt.net>
-
-       * en_GB.po: Updated British English translation.
-
-2004-10-13  Christian Rose  <menthos@menthos.com>
-
-       * POTFILES.in: Removed missing file entries and added missing
-       one.
-       * sv.po: Updated Swedish translation.
-
-2004-09-24  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2004-09-24  Christophe Merlet  <redfox@redfoxcenter.org>
-
-       * fr.po: Updated French translation from
-       Craig Jeffares <cjeffares@novell.com>.
-
-2004-09-22  Craig Jeffares <cjeffares@novell.com>
-
-       * zh_TW.po: Updated Chinese Traditional from Novell.
-
-2004-09-21  Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
-
-       * sk.po: Updated Slovak translation by Ivan Noris.
-
-2004-09-14  Roozbeh Pournader  <roozbeh@farsiweb.info>
-
-       * fa.po: Added Persian Translation by Meelad Zakaria
-       <meelad@bamdad.org>.
-
-2004-09-14  Mohammad DAMT  <mdamt@bisnisweb.com>
-
-       * id.po: Updated Indonesian translation
-
-2004-09-10  Mohammad DAMT  <mdamt@bisnisweb.com>
-
-       * id.po: Added Indonesian translation
-
-2004-09-09  Martin Willemoes Hansen  <mwh@sysrq.dk>
-
-       * da.po: Updated Danish translation.
-
-2004-09-06  David Lodge <dave@cirt.net>
-
-       * en_GB.po: Updated British translation.
-
-2004-09-03  Baris Cicek <baris@teamforce.name.tr>
-
-       * tr.po: Updated Turkish Translation
-
-2004-08-26  Akagic Amila <bono@linux.org.ba>
-
-       * bs.po: Added Bosnian translation.
-
-2004-08-25  Gustavo Maciel Dias Vieira  <gustavo@sagui.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation done by
-       Gustavo Maciel Dias Vieira <gustavo@sagui.org>.
-
-2004-08-24  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2004-08-24  Martin Willemoes Hansen  <mwh@sysrq.dk>
-
-       * da.po: Updated Danish translation.
-
-2004-08-22  Christian Neumair  <chris@gnome-de.org>
-
-       * de.po: Updated German translation.
-
-2004-08-22  Laszlo Dvornik  <dvornik@gnome.hu>
-
-       * hu.po: Updated Hungarian translation.
-
-2004-08-21  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * POTFILES.skip: Remove non-existent file.
-       * nb.po: Add this.
-       * no.po: Update this.
-
-2004-08-20  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2004-08-19  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2004-08-19  Maxim Dziumanenko <mvd@mylinux.com.ua>
-
-       * uk.po: Updated Ukrainian translation.
-
-2004-08-18  Metin Amiroff  <metin@karegen.com>
-
-       * az.po: Translation updated by Mətin ?mirov.
-
-2004-08-18  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2004-08-18  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2004-08-15  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2004-08-14  Ilkka Tuohela  <hile@iki.fi>
-
-       * Updated finnish translation
-
-2004-08-13  Tommi Vainikainen  <thv@iki.fi>
-
-       * fi.po: Unified some fields in po headers for Finnish team.
-
-2004-08-13  Dmitry G. Mastrukov  <dmitry@taurussoft.org>
-
-       * be.po: Updated Belarusian translation
-       from Belarusian team <i18n@mova.org>.
-
-2004-08-11  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Daniel van Eeden.
-
-2004-08-11  Artur Flinta  <aflinta@cvs.gnome.org>
-
-       * pl.po: Updated Polish translation by GNOME PL Team.
-
-2004-08-10  Marco Ciampa  <ciampix@libero.it>
-
-       * it.po: Updated italian translation.
-
-2004-08-09  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-08-09  Ankit Patel <ankit@redhat.com>
-
-       * gu.po: Updated Gujarati translation.
-
-2004-08-09  Amanpreet Singh Alam  <aalam@redhat.com>
-
-       * pa.po: Updated Panjabi translation.
-
-2004-08-09  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2004-08-08  Funda Wang  <fundawang@linux.net.cn>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2004-08-07  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2004-08-07  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation.
-
-       * POTFILES.in: Added missing files.
-
-2004-08-06  Sayamindu Dasgupta <sayamindu@gnome.org>
-
-       * bn.po: Added Bengali translation by
-       Runa Bhattacharjee <runab@redhat.com>
-
-2004-08-05  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2004-08-03  Alexander Shopov  <ash@contact.bg>
-
-       * bg.po: Updated Bulgarian translation by
-       Vladimir "Kaladan" Petkov <vpetkov@i-space.org>
-
-2004-07-28  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2004-07-23  Åsmund Skjæveland  <aasmunds@fys.uio.no>
-
-       * nn.po: Updated Norwegian Nynorsk translation.
-
-2004-07-10  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Daniel van Eeden.
-
-2004-07-10  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2004-07-05  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2004-06-28  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Translation updated.
-
-2004-06-28  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * no.po: Updated Norwegian translation.
-
-2004-06-25  Gustavo Maciel Dias Vieira <gustavo@sagui.org>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation done by
-       Gustavo Maciel Dias Vieira <gustavo@sagui.org>.
-
-2004-06-13  Metin Amiroff  <metin@karegen.com>
-
-       * az.po: Translation updated by Mətin ?mirov.
-
-2004-06-13  Funda Wang  <fundawang@linux.net.cn>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2004-06-10  Metin Amiroff  <metin@karegen.com>
-
-       * az.po: Translation updated by Mətin ?mirov.
-
-2004-06-10  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated finnish translation.
-
-2004-06-07  Artur Flinta  <aflinta@cvs.gnome.org>
-
-       * pl.po: Updated Polish translation by GNOME PL Team.
-
-2004-06-05  Jordi Mallach  <jordi@sindominio.net>
-
-       * ca.po: Updated Catalan translation by
-       Xavier Conde Rueda <xaviconde@eresmas.com>.
-
-2004-06-05  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2004-06-04  Andras Timar  <timar@gnome.hu>
-
-       * hu.po: Updated Hungarian translation.
-
-2004-05-31  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2004-05-30  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2004-05-29  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-05-27  Alexander Winston  <alexander.winston@comcast.net>
-
-       * en_CA.po: Updated Canadian English translation.
-
-2004-05-25  Gareth Owen  <gowen72@yahoo.com>
-
-       * en_GB.po: Updated British English translation
-
-2004-05-22  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated.
-
-2004-05-22  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2004-05-21  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-05-16  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2004-05-16  Funda Wang  <fundawang@linux.net.cn>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2004-05-07  Maxim Dziumanenko <mvd@mylinux.com.ua>
-
-       * uk.po: Updated Ukrainian translation.
-
-2004-04-27  Marco Ciampa  <ciampix@libero.it>
-
-       * it.po: Updated italian translation.
-
-2004-04-26  Adam Weinberger  <adamw@gnome.org>
-
-       * en_CA.po: Added Canadian English translation.
-
-2004-04-16  Jordi Mallach  <jordi@sindominio.net>
-
-       * ca.po: Updated Catalan translation by
-       Xavier Conde Rueda <xaviconde@eresmas.com>.
-
-2004-04-15  Andras Timar  <timar@gnome.hu>
-
-       * hu.po: Updated Hungarian translation.
-
-2004-04-14  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Daniel van Eeden.
-
-2004-04-14  Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation done by
-       Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>.
-
-2004-04-12  Gareth Owen  <gowen72@yahoo.com>
-
-       * en_GB.po: Updated British English translation
-
-2004-07-10  Evandro Fernandes Giovanini <evandrofg@ig.com.br>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation
-       from Afonso Celso Medina <medina@maua.br>.
-
-2004-04-07  Priit Laes  <plaes@cvs.gnome.org>
-
-       * et.po: Translation updated.
-
-2004-04-06  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2004-04-02  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spansih translation.
-
-2004-03-29  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-03-28  Christian Neumair  <chris@gnome-de.org>
-
-       * de.po: Updated German translation.
-
-2004-03-26  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * no.po: Updated Norwegian translation.
-
-2004-03-26  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation.
-
-       * POTFILES.in: Added servers/groupwise/e-gw-connection.c.
-
-2004-03-25  Gareth Owen  <gowen72@yahoo.com>
-
-       * en_GB.po: Updated British English translation
-
-2004-03-25  Christian Rose  <menthos@menthos.com>
-
-       * sv.po: Tiny, tiny typo fix.
-
-2004-03-25  Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation done by
-       Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>.
-
-2004-03-25  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2004-03-23  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2004-03-22  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-03-21  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Daniel van Eeden.
-
-2004-03-20  Robert Sedak  <robert.sedak@sk.htnet.hr>
-
-       * hr.po: Updated Croatian translation.
-
-2004-03-11  Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation done by
-       Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>.
-
-2004-03-09  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * no.po: Updated Norwegian translation.
-
-2004-03-07  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Daniel van Eeden.
-
-2004-03-06  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2004-03-06  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2004-03-03  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-03-01  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation.
-
-2004-03-01  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-02-29  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Daniel van Eeden.
-
-2004-02-28  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2004-02-26  Rodney Dawes  <dobey@ximian.com>
-
-       * POTFILES.in: Removed python file since ical python stuff is gone
-       * POTFILES.skip: Added file with the generated server.in.in inside it
-
-2004-02-26  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation.
-
-2004-02-27  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2004-02-26  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Kees van den Broek.
-
-2004-02-26  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-02-23  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2004-02-22  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated finnish translation.
-
-2004-02-20  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation.
-
-2004-02-17  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-02-16  JP Rosevear <jpr@ximian.com>
-
-       * POTFILES.in: add e-cal-backend-groupwise.c
-
-2004-02-11  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Tino Meinen.
-
-2004-02-11  Marco Ciampa  <ciampix@libero.it>
-
-       * it.po: Updated italian translation.
-
-2004-02-11  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2004-02-10  Funda Wang  <fundawang@linux.net.cn>
-
-       * zh_CN.po: Updated Simplified Chinese translation.
-
-2004-02-08  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2004-02-08  Robert Sedak  <robert.sedak@sk.htnet.hr>
-
-       * hr.po: Updated Croatian translation.
-
-2004-02-07  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * no.po: Updated Norwegian translation.
-
-2004-02-06  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-02-05  Artur Flinta  <aflinta@cvs.gnome.org>
-
-       * pl.po: Updated Polish translation by GNOME PL Team.
-
-2004-02-05  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2004-02-04  Ilkka Tuohela  <hile@iki.fi>
-
-       * fi.po: Updated finnish translation.
-
-2004-02-04  Artur Flinta  <aflinta@cvs.gnome.org>
-
-       * pl.po: Updated Polish translation by GNOME PL Team.
-
-2004-02-02 Alastair McKinstry <mckinstry@computer.org>
-
-       * ga.po: Updated Irish translations.
-
-2004-02-01  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation.
-
-       * POTFILES.in: Removed src/GNOME_Evolution_DataServer.server.in.in.
-
-2004-02-01  Christian Neumair  <chris@gnome-de.org>
-
-       * POTFILES.in: Added missing file.
-       * de.po: Updated German translation.
-
-2004-02-01  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Updated Albanian translation.
-
-2004-02-01  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2004-01-31  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated and revised Portuguese translation.
-
-2004-01-30  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * no.po: Updated Norwegian translation.
-
-2004-01-30  Metin Amiroff  <metin@karegen.com>
-
-       * az.po: Translation updated by Mətin ?mirov.
-
-2004-01-30  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-01-29  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2004-01-29  Artur Flinta  <aflinta@cvs.gnome.org>
-
-       * pl.po: Updated Polish translation by GNOME PL Team.
-
-2004-01-28  Åsmund Skjæveland  <aasmunds@fys.uio.no>
-
-       * nn.po: Updated Norwegian Nynorsk translation.
-
-2004-01-28  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation.
-
-2004-01-28  Christophe Merlet  <redfox@redfoxcenter.org>
-
-       * fr.po: Updated French translation.
-
-2004-01-28  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Fixed Czech translation.
-
-2004-01-28  Artur Flinta  <aflinta@cvs.gnome.org>
-
-       * pl.po: Updated Polish translation by GNOME PL Team.
-
-2004-01-28  Christophe Merlet  <redfox@redfoxcenter.org>
-
-       * fr.po: Updated French translation from
-       Sebastien Bacher <seb128@debian.org>.
-
-2004-01-25  Sanlig Badral  <badral@openmn.org>
-
-       * mn.po: Added Mongolian translation.
-
-2004-01-25  Kostas Papadimas <pkst@gnome.org>
-
-       * el.po: Updated  Greek translation.
-
-2004-01-25  Vincent van Adrighem  <adrighem@gnome.org>
-
-       * nl.po: Translation updated by Tino Meinen.
-
-2004-01-23  Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation done by
-       Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>.
-
-2004-01-22  Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
-
-       * pt_BR.po: Updated Brazilian Portuguese translation done by
-       Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>.
-
-2004-01-21  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2004-01-19  Takeshi AIHANA <aihana@gnome.gr.jp>
-
-       * ja.po: Updated Japanese translation.
-
-2004-01-16  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * no.po: Updated Norwegian translation.
-
-2004-01-15  Žygimantas Beručka  <uid0@tuxfamily.org>
-
-       * lt.po: Updated Lithuanian translation by Tomas Kuliavas.
-
-2004-01-14  Christian Neumair  <chris@gnome-de.org>
-
-       * de.po: Updated German translation.
-
-2004-01-14  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spansih translation.
-
-2004-01-14  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation.
-
-2004-01-13  Laurent Dhima  <laurenti@alblinux.net>
-
-       * sq.po: Added Albanian translation.
-
-2004-01-13  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-01-12  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-01-11  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * no.po: Updated Norwegian translation.
-
-2004-01-10  Changwoo Ryu  <cwryu@debian.org>
-
-       * ko.po: Updated Korean translation.
-
-2004-01-10  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation.
-
-       * POTFILES.in: Added calendar/libical/src/python/Property.py.
-
-2004-01-09  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-01-07  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-01-07  Marco Ciampa  <ciampix@libero.it>
-
-       * it.po: Updated italian translation.
-
-2004-01-06  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2004-01-06  Christian Neumair  <chris@gnome-de.org>
-
-       * de.po: Updated German translation.
-
-2003-01-06  Kostas Papadimas <pkst@gnome.org>
-
-       * el.po: Updated Greek translation.
-
-2003-12-27  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2003-12-23  Duarte Loreto <happyguy_pt@hotmail.com>
-
-       * pt.po: Updated Portuguese translation.
-
-2003-12-21  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po Updated Spanish translation.
-
-2003-12-21  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2003-12-20  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation.
-
-2003-12-18  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
-
-       * es.po: Updated Spanish translation.
-
-2003-12-18  Miloslav Trmac  <mitr@volny.cz>
-
-       * cs.po: Updated Czech translation.
-
-2003-12-14  Danilo Šegan  <dsegan@gmx.net>
-
-       * sr.po, sr@Latn.po: Updated Serbian translation.
-
-2003-12-13  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * no.po: Updated Norwegian translation.
-
-2003-12-10  Marco Ciampa <ciampix@libero.it>
-
-       *  it.po: updated italian translation
-
-2003-12-08  ERDI Gergo  <cactus@cactus.rulez.org>
-
-       * POTFILES.in: Added ContactDates backend source
-
-2003-11-19  Marco Ciampa <ciampix@libero.it>
-
-       *  it.po: updated italian translation
-
-2003-11-06  JP Rosevear <jpr@ximian.com>
-
-       * POTFILES.in: update for shuffling
-
-2003-11-06  JP Rosvear <jpr@ximian.com>
-
-       * POTFILES.in: update for renaming
-
-2003-11-04  JP Rosevear <jpr@ximian.com>
-
-       * POTFILES.in: reflect new data server .server file names
-
-2003-11-03  JP Rosevear <jpr@ximian.com>
-
-       * POTFILES.in: Fix list of files
-
diff --git a/servers/google/libgdata-google/ChangeLog b/servers/google/libgdata-google/ChangeLog
deleted file mode 100644 (file)
index c8a126c..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-2009-02-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #570696
-
-       * Makefile.am:
-       Replace SOUP_CFLAGS and SOUP_LIBS with GDATA_CFLAGS and GDATA_LIBS.
-
-2009-02-26  Tobias Mueller  <tobiasmue@svn.gnome.org>
-
-       ** Fixes bug #573175
-
-       * gdata-google-service.c:
-       Use a proper format string to call g_set_error with.
-
-2009-01-14  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #564543
-
-       * gdata-google-service.c (gdata_google_service_authenticate):
-       Call soup_form_encode_hash() instead of soup_form_encode_urlencoded().
-
-2008-08-16  Jörgen Scheibengruber  <mfcn@gmx.de>
-
-       * gdata-google-service.c (gdata_google_service_insert_entry):
-       Let soup COPY the xml, since it's owned by the entry
-
-2008-08-15  Matthew Barnes  <mbarnes@redhat.com>
-
-       * gdata-google-service.c (gdata_google_service_authenticate):
-       Apparently this is public API now, since it's called from
-       google_book_connect_to_google().  Declare it as such.
-
-2008-08-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #535745
-
-       * Makefile.am: Put public include files to google/libgdata-google.
-       * libgdata-google.pc.in: Do include also path to libgdata in CFLAGS.
-
-2008-06-13  Milan Crha  <mcrha@redhat.com>
-
-       ** Fix for bug #521921 (Patch by Sebastian Keller)
-
-       * gdata-google-service.c: (send_and_handle_google_redirection),
-       (gdata_google_service_insert_entry),
-       (gdata_google_service_delete_entry),
-       (gdata_google_service_update_entry_with_link):
-       Handle redirects in a way that works with Google API. Fixes some cases
-       of entries not being created or deleted.
-       * gdata-google-service.c: (gdata_google_service_authenticate),
-       (gdata_google_service_get_feed): Code cleanup.
-
-2008-06-13  Wang Xin  <jedy.wang@sun.com>
-
-       ** Fix for bug #527544.
-
-       * gdata-google-service.c: Added gdata_google_service_set_proxy to
-       support proxy.
-
-2008-04-16  Ebby Wiselyn <ebbyw@gnome.org>
-       ** Fix for bug #523630, #518656
-
-       * gdata-google-service.c: Added Error Handling Support
-
-       (gdata_google_error_quark), 
-       (gdata_google_service_update_entry),
-       (gdata_google_service_delete_entry),
-       (gdata_google_service_insert_entry),
-       (gdata_google_service_get_feed),
-       (gdata_google_service_set_credentials),
-       (gdata_google_service_insert_entry): 
-
-       * gdata-google-service.h: Added Error Handling Support
-
-       Committing on behalf of Jörgen Scheibengruber
-                 
-2008-01-15  Dan Winship  <danw@gnome.org>
-
-       * gdata-google-service.c: Update for libsoup 2.4
-       (service_authenticate): Use soup-forms methods.
-
-2008-01-05  Nyall Dawson  <nyall@zombiepigs.net>
-
-       ** Fix for bug #504783
-
-       * gdata-google-service.c: add accountType=HOSTED_OR_GOOGLE to 
-       GOOGLE_CLIENT_LOGIN_MSG string to allow google apps support. 
-
-2008-01-05  Suman Manjunath  <msuman@novell.com>
-
-       ** Created a ChangeLog
-
-
diff --git a/servers/google/libgdata/ChangeLog b/servers/google/libgdata/ChangeLog
deleted file mode 100644 (file)
index a406fce..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-2009-02-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes bug #570696
-
-       * Makefile.am:
-       Replace SOUP_CFLAGS and SOUP_LIBS with GDATA_CFLAGS and GDATA_LIBS.
-
-2008-08-07  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #535745
-
-       * Makefile.am:
-       * libgdata.pc.in: Put public include files to google/libgdata.
-       * gdata-entry.c: (gdata_entry_new_from_xmlptr): When reading custom
-       values from the node, and the node doesn't contain text value, then
-       try to read its value from 'value' attribute.
-
-2008-07-28  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #468671
-
-       * gdata-entry.h: (gdata_entry_get_custom), (gdata_entry_set_custom):
-       * gdata-entry.c: (gdata_entry_get_custom), (gdata_entry_set_custom):
-       Read/write custom values withing entry.
-       * gdata-feed.h: (gdata_feed_get_timezone):
-       * gdata-feed.c: (gdata_feed_get_timezone), (struct _GDataFeedPrivate),
-       (gdata_feed_init), (gdata_feed_finalize), (gdata_feed_new_from_xml):
-       Read timezone name of the calendar and let it be available for others.
-
-2008-06-13  Wang Xin  <jedy.wang@sun.com>
-
-       ** Fix for bug #527544.
-
-       * gdata-service-iface.c:
-       * gdata-service-iface.h: Added new interface set_proxy.
-
-2008-04-16  Ebby Wiselyn    <ebbyw@gnome.org>
-       ** Fix for bug #523630
-
-       * gdata-entry.c: Added API's for GDataContact
-       (gdata_entry_get_email_addresses),
-       (gdata_entry_get_primary_email_address),
-       (gdata_entry_get_im_addresses),
-       (gdata_entry_get_primary_im_address),
-       (gdata_entry_get_organizations),
-       (gdata_entry_primary_organization),
-       (gdata_entry_get_phone_numbers),
-       (gdata_entry_get_primary_phone_number),
-       (gdata_entry_get_postal_address),
-       (gdata_entry_get_primary_postal_address),
-       (gdata_entry_is_deleted),
-       (gdata_entry_set_email_addresses),      
-       (gdata_entry_set_im_addresses),
-       (gdata_entry_set_organizations),
-       (gdata_entry_set_phone_numbers),
-       (gdata_entry_set_postal_addresses),
-       (gdata_entry_set_im_addresses),
-       (email_address_to_xmlnode),
-       (xmlnode_to_email_address),
-       (xmlnode_to_im_address),
-       (xmlnode_to_organization),
-       (xmlnode_to_phone_number),
-       (xmlnode_to_postal_address),
-       (email_address_to_xmlnode),
-       (im_address_to_xmlnode),
-       (organization_to_xmlnode),
-       (phone_number_to_xmlnode),
-       (postal_address_to_xmlnode),
-       (gdata_entry_new_from_xmlptr),
-       (gdata_entry_generate_xml),
-       (gdata_entry_finalize):
-
-       * gdata-entry.h: Created GData Types for Contacts 
-        GDataEntryEmailAddress, GDataEntryImAddress, GDataEntryOrganization, 
-        GDataEntryPhoneNumber, GDataEntryPostalAddress.
-
-       * gdata-service-iface.h: Updated google service API's for error handling        
-       
-       * gdata-feed.c: Added function to retrieve updated time of feed.
-       (gdata_feed_new_from_xml):      
-       
-       * gdata-feed.h: Added function prototype
-
-       * gdata-service-iface.c: Updated google service API's for error handling
-       (gdata_service_get_feed),
-       (gdata_service_insert_entry),
-       (gdata_service_update_entry),
-       (gdata_service_get_entry),
-       (gdata_service_delete_entry):
-
-       
-       Committing on behalf of Jörgen Scheibengruber
-               
-2008-01-17  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * libgdata.pc.in: Adapt to newer libsoup
-
-2008-01-05  Suman Manjunath  <msuman@novell.com>
-
-       ** Created a ChangeLog
-
-
diff --git a/servers/groupwise/ChangeLog b/servers/groupwise/ChangeLog
deleted file mode 100644 (file)
index b72c78d..0000000
+++ /dev/null
@@ -1,1826 +0,0 @@
-2009-04-13  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #241604 (bnc)
-       * calendar/backends/groupwise/e-cal-backend-groupwise-utils.c:
-       * servers/groupwise/e-gw-item.c:
-       * servers/groupwise/e-gw-recur-utils.h: Fixes monthly recurring
-       appointments to be created on proper dates.
-
-2009-03-05  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #465364
-       * e-gw-connection.c (e_gw_connection_get_date_from_string): Removed
-       the timet_from_string function and used glib GTime api to convert
-       iso date string to timet value.                                                             
-
-2009-02-09  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #555888
-
-       * e-gw-connection.c: (update_soup_session_proxy_settings):
-       EProxy API changed, use e_proxy_peek_uri_for now.
-
-2009-02-04  Sankar P  <psankar@novell.com>
-
-       * servers/groupwise/e-gw-connection.c:
-       Use correct server parameter for getting folder information
-
-2009-02-02  Sankar P  <psankar@novell.com>
-
-       ** Part of fix for bnc bug #470143
-
-       * servers/groupwise/e-gw-container.c:
-       Handle a broken server response with 
-       GroupWise 7.x server
-
-2009-01-28  Sankar P  <psankar@novell.com>
-
-       ** Fix for bnc bug #470143
-
-       * servers/groupwise/e-gw-connection.c:
-       The server does not like when the name and id view 
-       elements are not passed to the getFolderRequest call. 
-       Also fixes a bug with the empty container element crash.
-
-2009-01-02  Sankar P  <psankar@novell.com>
-
-       ** Fix for bnc bug #446290
-
-       * camel/providers/groupwise/camel-groupwise-folder.c:
-       * servers/groupwise/e-gw-connection.c:
-       Parallel clients support and (un)read count handling
-
-2008-12-26  Sankar P  <psankar@novell.com>
-
-       ** Part of fix for bnc bug #448079
-
-       * servers/groupwise/e-gw-connection.c:
-       Invalid memory access prevention and avoid a 
-       potential time_t issue.
-
-       Reformat the function.
-
-2008-12-08  Sankar P  <psankar@novell.com>
-
-       * e-gw-item.c (e_gw_item_dispose):
-       Fix the memory leak of security field in the GwItem.
-
-2008-10-31  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #558727 (crash by Frederic van Starbmann)
-
-       * create-account.c (add_account):
-       Fix a potential string format crash.
-
-2008-10-31  Sankar P  <psankar@novell.com>
-
-       ** Fix for bnc bugs #440502, #209514, #434958, #434946, 
-       #435725, #434950, #372382, #435727
-
-       * e-gw-connection.c (e_gw_connection_get_container_list),
-       (e_gw_connection_get_container_id),
-       (e_gw_connection_get_container):
-       * e-gw-connection.h:
-       * e-gw-item.c (e_gw_item_new_from_soap_parameter):
-       GroupWise improvements
-
-2008-10-03  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #547243
-
-       * e-gw-item.c: (e_gw_item_new_from_soap_parameter):
-       * e-gw-connection.c: (e_gw_connection_get_attachment),
-       (e_gw_connection_get_attachment_base64):
-       Check for correct values to prevent invalid reads.
-
-2008-10-01  Milan Crha  <mcrha@redhat.com>
-
-       ** Part of fix for bug #511947
-
-       * e-gw-connection.c: (e_gw_connection_send_message):
-       Do not parse response when status indicates failure.
-
-2008-08-14  Milan Crha  <mcrha@redhat.com>
-
-       ** Partial fix for bug #510949
-
-       * e-gw-item.c: (e_gw_item_dispose), (e_gw_item_set_organizer):
-       Memory leak fix.
-
-2008-07-24  Chenthill Palanisamy  <pchenthill@novell.com>
-       
-       Fixes #388966 (bnc)
-       * e-gw-item.c: (e_gw_item_new_from_soap_parameter): Use
-       right data type.                                                            
-
-2008-07-24  Sankar P  <psankar@novell.com>
-
-       * e-gw-connection.c (e_gw_connection_dispose),
-       (e_gw_connection_init), (e_gw_connection_send_message):
-       Mutex-ify the connection bus.
-
-2008-06-16  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes #394654 (bnc)
-
-       * e-gw-item.c: (e_gw_item_init),
-       (set_contact_fields_from_soap_parameter),
-       (set_organization_fields_from_soap_parameter): Fixes a EDS crasher.
-
-2008-06-12  Tor Lillqvist  <tml@novell.com>
-
-       * Makefile.am (libegroupwise_1_2_la_LIBADD): Link with
-       libedataserver because of the e-proxy functions.
-
-2008-06-02  Sankar P  <psankar@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_send_message):
-       Appropriately check the response before dumping it.
-       Fixes a crash.
-
-2008-05-14  Sankar P  <psankar@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_init),
-       (e_gw_connection_send_message):
-       * soup-soap-response.c: (soup_soap_response_dump_response):
-       * soup-soap-response.h:
-       Enable GROUPWISE_DEBUG logs.
-
-       ** Fix for bug #533058
-
-2008-05-09  Sankar P  <psankar@novell.com>
-
-       * e-gw-container.c: (free_node):
-       Fixes a double free. 
-
-       ** Fix for bug #532284
-
-2008-04-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes #338330 (bnc)
-       Internet Based Calendar Events Are Declined By Evolution/GroupWise
-
-       * e-gw-item.c: (e_gw_item_init),
-       (e_gw_item_new_from_soap_parameter), (e_gw_item_is_from_internet):
-       * e-gw-item.h:
-
-2008-04-30  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       ** Fixes part of #350143 (bnc)
-       Severe memory leak in evolution-data-server
-
-       * e-gw-container.c: (free_node):
-       * e-gw-item.c: (e_gw_item_dispose), (e_gw_item_init),
-       (set_organization_fields_from_soap_parameter),
-       (e_gw_item_new_from_soap_parameter):
-
-2008-04-30  Sankar P  <psankar@novell.com>
-
-       ** Fixes #182380 (bnc)
-       Message classification and security cannot be viewed
-
-       * e-gw-item.c: (e_gw_item_get_security):
-       * e-gw-item.h:
-
-2008-03-26  Stanislav Brabec  <sbrabec@suse.cz>
-
-       ** Fix for bug #522389
-
-       * e-gw-connection.c: Use correct type for g_base64_decode to fix
-       stack corruption on x86_64.
-
-2008-03-25  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       ** Added configurable Proxy settings for Evolution.
-
-       * Makefile.am:
-       * e-gw-connection.c: (update_soup_session_proxy_settings),
-       (proxy_settings_changed), (e_gw_connection_dispose),
-       (e_gw_connection_init), (e_gw_connection_new_with_error_handler):
-
-2008-02-29  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Fix for BNC bug #359944
-
-       * e-gw-connection.c: (e_gw_connection_get_attachment_base64): Incase
-       the input string is null, handle it safe. Reviewed by Sankar.
-
-2008-02-22  Milan Crha  <mcrha@redhat.com>
-
-       ** Partial fix for bug #459468
-
-       * e-gw-connection.c: (e_gw_connection_get_item),
-       (e_gw_connection_reply_item), (e_gw_connection_forward_item):
-       Do not report STATUS_OK when creation of new item failed.
-       * e-gw-connection.c: (e_gw_connection_get_date_from_string): Check
-       for NULL parameter and return with warning on console it that case.
-
-2008-02-20  Milan Crha  <mcrha@redhat.com>
-
-       ** Fixes part of bug #510949
-
-       * e-gw-sendoptions.c:
-       * e-gw-proxy.c:
-       * e-gw-item.c:
-       * e-gw-connection.c: Memory leak fixes.
-
-2008-02-20  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes part of bug#510949
-       * e-gw-item.c: (set_recipient_list_from_soap_parameter): leak fix.
-
-2008-01-15  Dan Winship  <danw@gnome.org>
-
-       * e-gw-message.c: Update for libsoup 2.4
-
-       * soup-soap-message.c: 
-       * soup-soap-response.c: Moved here from libsoup. (FIXME: integrate
-       with the rest of libegroupwise better.)
-
-       * *.h: tweak soup-soap includes
-
-2007-12-06  Sankar P  <psankar@novell.com>
-
-       ** Fixes bug #501969
-
-       * e-gw-connection.c:
-       (e_gw_connection_response_parse_status_and_description),
-       (e_gw_connection_new_with_error_handler), (e_gw_connection_new):
-       * e-gw-connection.h:
-       Password should not be forgotten on all errors
-
-2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Fixes part of bug #474000
-
-       * e-gw-item.c (e_gw_item_new_from_soap_parameter),
-       (e_gw_item_set_calendar_item_elements),
-       (e_gw_item_append_to_soap_message),
-       (append_event_changes_to_soap_messages):
-       * e-gw-connection.c (e_gw_connection_get_attachment):
-       Use GLib's Base64 API instead of libsoup's.
-
-2007-08-30  Chenthill Palanisamy  <pchenthill@novell.com>
-       
-       Fixes #298095 (bnc)
-       * e-gw-container.[ch]: (e_gw_container_set_from_soap_parameter),
-       (e_gw_container_get_is_system_folder),
-       (e_gw_container_set_is_system_folder): Added a function to fetch
-       the system folder flag.                                        
-
-2007-08-17  Johnny Jacob  <jjohnny@novell.com>
-       ** Fix for bug #458715.
-       
-       * e-gw-proxy.c: Fix for a wild pointer in proxy list.
-2007-08-13  Ross Burton  <ross@openedhand.com>
-
-       * e-gw-item.c:
-       Fix compile warnings.
-
-2007-08-10  Suman Manjunath  <msuman@novell.com>
-
-       ** Fixes bug #465419
-
-       * e-gw-item.c: (e_gw_item_append_to_soap_message):
-       If message body is NULL, use 0 as string length.
-
-2007-08-10  Milan Crha  <mcrha@redhat.com>
-
-       * e-gw-connection.c: (e_gw_connection_get_container_list):
-       Fixed critical warning when cnc is NULL (i.e. user cancels
-       password dialog.) Done together with bug #327977.
-
-2007-06-03  Srinivasa Ragavan  <sragavan@novell.com>
-
-       ** Memory leak fixes from bug #440524
-
-       * e-gw-connection.c: (e_gw_connection_get_items_delta_info):
-       * e-gw-item.c: (set_contact_fields_from_soap_parameter):
-
-2007-05-07  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-gw-item.c:
-       Fix warnings reported by 'sparse'.  Patch from Kjartan Maraas.
-
-2007-04-01  Matthew Barnes  <mbarnes@redhat.com>
-
-       ** Various code-cleanups from Kjartan Maraas.
-
-       * e-gw-recur-utils.c: Declare private array as static.
-
-       * e-gw-message.c (debug_handler), (setup_debug):
-       Use NULL instead of zero (0).
-
-2007-03-26  Matthew Barnes  <mbarnes@redhat.com>
-
-       * e-gw-connection.c:
-       Don't mix declarations and code (#405495).
-       Patch from Jens Granseuer.
-
-2007-01-09  Harish Krishnaswamy <kharish@novell.com>
-
-       * e-gw-item.c : Fixes #242270 <bugzilla.novell.com>.
-       Limit the array subscripts within bounds.
-
-2006-12-06  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-container.c: (free_node) : Fix leaking of 
-       the EShUsers structure.
-       (e_gw_container_set_from_soap_parameter): Remove a redundant
-       g_strdup and g_free pair.
-
-2006-12-04  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_dispose):Remove
-       unused variable permissions_key.
-
-2006-12-04  Harish Krishnaswamy  <kharish@novell.com>
-
-       * Makefile.am, e-gw-connection.c: (form_login_request):
-       Embed build timestamps into GroupWise login requests.
-       Fixes bugzilla.novell.com #174655.
-
-2006-12-03  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_dispose):
-       Clean up the code to remove redundant lookups and 
-       fix leaking of temporary strings.
-       (form_login_request), (e_gw_connection_new),
-       (e_gw_connection_get_proxy_connection): Fix leaks of
-       hash_key, name.
-
-2006-12-03  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-item.c: (e_gw_item_dispose): Fix leak of end_date.
-
-2006-12-03  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-sendoptions.c: (parse_status_tracking_options):
-       Do not pass null params to libsoup calls.
-
-2006-12-03  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-container.c:
-       (e_gw_container_set_from_soap_parameter): Fix leak of
-       the string value of 'total'.
-
-2006-11-20  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_dispose):
-       Free user_uuid on dispose. This fixes a leak, one of
-       the several issues targeted by Bug #222605 on
-       bugzilla.novell.com
-
-2006-08-07  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-filter.c (append_complex_component):
-       Filter elements are named 'group' not 'element'.
-
-2006-07-26  Matthew Barnes <mbarnes@redhat.com>
-
-       * e-gw-item.h: Add missing function declaration.
-
-2006-07-24  Veerapuram Varadhan  <vvaradhan@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_init): Create SoupSessionSync
-       with a default timeout of 30 seconds.
-       
-2006-07-22  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_read_cal_ids):
-       * e-gw-item.c: (e_gw_item_append_to_soap_message),
-       (e_gw_item_append_changes_to_soap_message): Added support
-       for gw notes.
-
-2006-07-17  Sankar P  <psankar@novell.com>
-
-       * e-gw-item.c, e-gw-sendoptions.h:
-       Added security-classification support for GW send-options.
-
-2006-06-13  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       Fixes bug #167517 on bnc
-
-       * e-gw-item.[ch]: Use the hasAttachment soap element
-       to check if a mail contains an attachment or not.
-
-2006-06-13  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       Fixes bug #179075 on bnc
-       * e-gw-item.c (e_gw_item_new_from_soap_parameter):
-       set the is_group_item to FALSE only if its a CALENDAR
-       or TASKS item
-
-2006-06-12  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       Fixes bug #166265 on bnc
-       * e-gw-connection.[ch]: Add a new method
-       e_gw_connection_purge_selected_items to selectively delete messages
-       from trash.
-
-2006-04-24  Julio M. Merino Vidal  <jmmv@NetBSD.org>
-
-       Reviewed by Harish Krishnaswamy <kharish@novell.com>
-
-       * servers/groupwise/e-gw-item.c: Remove C99ism so that this builds
-       with gcc 2.95, shipped with e.g. NetBSD 1.6.  Fixes bug #337197.
-
-2006-04-10  Devashish Sharma  <sdevashish@novell.com>
-
-       * e-gw-connection.c : (e_gw_connection_get_items_delta):
-       Fix for an infinite looping issue.
-       
-2006-04-07  Sushma Rai  <rsushma@novell.com>
-
-       * doc/GW_SABdeltas.txt: Added addressbook deltas schema file.
-2006-03-17  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-connection.[ch]:
-       (e_gw_connection_get_attachment_base64): gets an attachment
-       purely in base64, this should be used in situations where the
-       attachment/message-body is larger than 1MB.
-
-2006-03-15  Sankar P  <psankar@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_get_quick_messages)
-       Timestamp should be updated for the Modified call too.
-       
-2006-01-23  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #305656
-       * e-gw-connection.c: (e_gw_connection_read_cal_ids):
-       Get the start date of the appointment if its recurring.
-
-2006-01-05  Kjartan Maraas  <kmaraas@gnome.org>
-
-       * e-gw-connection.c: (e_gw_connection_add_members),
-       (e_gw_connection_remove_members): Remove some extra unneeded
-       assignments that caused warnings.
-       * e-gw-filter.c: (e_gw_filter_finalize): One instance here too.
-
-2005-12-20  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-connection.c: (reauthenticate): return if priv is NULL
-
-2005-12-13  Tor Lillqvist  <tml@novell.com>
-
-       * e-gw-connection.c (e_gw_connection_dispose): Guard agsinst
-       priv->uri being NULL, too.
-
-2005-12-06  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-item.[ch]: Add a new item contentid in the EGwAttachment
-       structure to faciliate content id for images/attachments.
-
-2005-11-25  Tor Lillqvist  <tml@novell.com>
-
-       * e-gw-sendoptions.c: Use g_ascii_strcasecmp() instead of
-       strcasecmp() for portability.
-
-2005-11-09  Sankar P  <psankar@novell.com>
-
-       * e-gw-connection.c (e_gw_connection_parse_response_status):
-       Added code to handle the Quota errors.
-       Fixes #314476
-
-2005-09-30  P. S. Chakravarthi <pchakravarthi@novell.com>
-
-       Fixes #314243
-       * e-gw-item.c: (e_gw_item_set_calendar_item_elements):
-       added a line to set the interval information also to 
-       the soup message to be sent to gw-server.
-
-2005-09-16  Parthasarathi Susarla <sparthasarathi@novell.com>
-       * e-gw-connection.c: (e_gw_connection_format_date_string):
-       Return if the length of the dtstring is 0
-
-2005-09-15  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-container.c: (e_gw_container_set_from_soap_parameter):
-       Add the Type for "Sent Items" and "Junk Mail" folder.
-
-       * e-gw-item.[ch]: add delivered date for mails.
-
-       Approved by Chenthill Palanisamy <pchenthill@novell.com>
-
-2005-09-15  Sankar P  <psankar@novell.com>
-
-       * e-gw-proxy.c (e_gw_proxy_form_modify_proxy_msg):
-       Changed the implementation of modify proxy access rights,
-       as per the latest schema.
-       Fixes #311447
-
-2005-08-26  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_read_cal_ids): Get 
-       the ids of tasks and appointment only.
-
-2005-08-24  Sankar P  <psankar@novell.com>
-       
-       * e-gw-connection.[ch] :
-       Added function e_gw_connection_get_all_mail_uids to get all
-       the ids in a folder. This is used for syncing deleted items in mailer.
-       Fixes #306803
-       
-2005-08-22  Not Zed  <NotZed@Ximian.com>
-
-       * e-gw-item.c (e_gw_item_append_to_soap_message): cast strlen to
-       int for printf.
-
-2005-08-13  Tor Lillqvist  <tml@novell.com>
-
-       * Makefile.am: Use NO_UNDEFINED.
-
-2005-08-10  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-connection.c: (e_gw_connection_parse_response_status):
-       return E_GW_CONNECTION_OTHER for error 53530
-
-2005-08-06  Vivek Jain <jvivek@novell.com>
-
-       * e-gw_item.c: (add_attachment_to_soap_message):
-       'size' will be set conditionally, better initialized as NULL,
-       as we free it anyway.
-
-2005-08-02  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-item.c: (e_gw_item_new_from_soap_parameter): Check
-       for the element startDay or endDay and do the same as startDate
-       and endDate.
-
-2005-07-29  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-item.c: 
-       (add_attachment_to_soap_message): do not send data
-       and size if the values are not present. Not even
-       NULL data.
-       Fixes bug 303065
-
-2005-07-25  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #303548
-       * e-gw-connection.[ch]: 
-       (e_gw_connection_get_attachment): Get buffer and buffer_length
-       if soap response gets the param for "part".
-       (e_gw_connection_read_cal_ids): Renamed the old function
-       read_ical_ids.
-       * e-gw-item.c: 
-       (e_gw_item_free_cal_id): New function to free the structure
-       EGwItemCalId.
-       (e_gw_item_set_calendar_item_elements): Fixed a warning.
-       * e-gw-item.h: New structure to store the ids w.r.t calendar
-       items.
-
-2005-07-25  Sushma Rai  <rsushma@novell.com>
-
-       * e-gw-message.c (e_gw_message_new_with_header)
-       (e_gw_message_write_footer): Checking for the GROUPWISE_DEBUG 
-       environment variable value set to 1.
-
-2005-07-22  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       Fixes #310752
-       * e-gw-item.c: (e_gw_item_set_calendar_item_elements): Send
-       the icalid.
-
-2005-07-19  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_accept_request),
-       (e_gw_connection_decline_request): Added additional parameters
-       for passing the recurrence key.
-       * e-gw-connection.h: Removed two functions for accepting/declining
-       for recurrences.
-
-2005-07-10  Sankar P  <psankar@novell.com>
-
-       * e-gw-connection.c : 
-       Changed loaded_connections hashtable to loaded_connections_permissions, 
-       since the hash-table is used to hold not only connections but also permissions 
-       associated with a proxy login.
-       (form_proxy_login_request) : Added function to form a proxy login SOAP request.
-
-       * e-gw-connection.[ch] :
-       (e_gw_connection_get_proxy_connection) 
-       (e_gw_connection_get_proxy_access_list)
-       (e_gw_connection_get_proxy_list) : Added functions to implement the proxy feature.
-
-       * e-gw-proxy.[ch]:
-       Added new files for implementing the proxy feature.
-       * Makefile.am :
-       Updated to accomodate the new source and header files
-
-2005-07-10  Shreyas Srinivasan  <sshreyas@novell.com>
-
-       * e-gw-connection.[ch] :
-       (e_gw_connection_add_proxy)
-       (e_gw_connection_remove_proxy)
-       (e_gw_connection_modify_proxy) : Added functions to implement the proxy feature.
-
-2005-07-09  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-item.c: (e_gw_item_set_calendar_item_elements):
-       Fix compiler warnings.
-
-2005-07-08  Harish Krishnaswamy  <kharish@novell.com>
-
-       * Makefile.am: Added the new files e-gw-recur-utils.[ch] for 
-       recurrence handling.
-       * e-gw-connection.[ch]:
-       (e_gw_connection_accept_request_by_recurrence_key),
-       (e_gw_connection_decline_request_by_recurrence_key):Accept/Decline 
-       all recurrence items at one go by using the recurrence key.
-       * e-gw-item.c (e_gw_item_dispose),
-       (e_gw_item_new_from_soap_parameter)
-       (e_gw_item_set_calendar_item_elements), (e_gw_item_get_exdate_list),
-       (e_gw_item_set_exdate_list), (e_gw_item_get_rrule),
-       (e_gw_item_set_rrule), (e_gw_item_get_recurrence_key),
-       (e_gw_item_set_recurrence_key): Create recurrence events
-       by sending the Recurrence formula to the server rather than 
-       computing the instances.
-
-2005-07-08  Sankar P  <psankar@novell.com>
-
-       * e-gw-connection.[ch] :
-       (e_gw_connection_read_ical_ids): Added function which is necessary for 
-       identifying deleted appointments, meetings and tasks. This is created as part of 
-       the movement to getItems from getQuickMessages.
-       
-2005-07-06  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-connection.[ch] :
-         (e_gw_connection_forward_item):
-       * e-gw-item.[ch]: 
-            added padding to  'struct _EGwItemPrivate'
-         (free_link_info): 
-         (e_gw_item_new_from_soap_parameter):
-           Support for Groupwise Notes.
-           Adds size of the mail, for display in summary.
-           Support for message body > 64 K
-           Added linkInfo element for thread information to the server
-         (add_attachment_to_soap_message): 
-           set itemReference in case of forwarded mails.
-
-2005-07-05  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-item.c: (e_gw_item_new_from_soap_parameter),
-       (e_gw_item_append_to_soap_message),
-       (append_event_changes_to_soap_message): Look for 1/0
-       in the soap messages rather than true/false.
-
-2005-07-05  Vivek Jain <jvivek@novell.com>
-       
-       * e-gw-connection.h:
-       Added EGwJunkEntry structure
-       * e-gw-connection.[ch]: added functions
-       (e_gw_connection_modify_junk_mail_settings):to set/modify junk mail
-       settings, which uses new utility function (msg_add_settings)
-       (e_gw_connection_create_junk_entry): to create a junk entry 
-       (e_gw_connection_get_junk_entries) : to get junk entries stored at
-       server
-       uses two new helper functions
-       (get_junklist_from_soap_response)
-       (e_gw_junkentry_new_from_soap_parameter).
-       (e_gw_connection_remove_junk_entry): to remove a junk entry
-       (e_gw_connection_get_junk_settings): to get the junk settings
-       (parse_junk_settings): actually parses response and assigns values
-
-2005-07-04  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-connection.c (e_gw_connection_get_items_delta):
-       Changed param to subparam, to get the paramater sync.
-
-2005-07-02  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-container.c: (e_gw_container_dispose):
-       fix compiler warnings.
-
-2005-07-02  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_get_items_delta):
-       Parse the soap parameter of the item her itself to identify if the 
-       object is added/updated/removed one.
-       * e-gw-item.c (set_contact_fields_from_soap_parameter): Removed 
-       the variable EGwItemChangeType sync.
-       * e-gw-item.h: Removed the unnecessary function 
-       e_gw_item_get_sync_type.
-
-2005-06-08  Srinivasa Ragavan <sragavan@novell.com>
-
-       * e-gw-connection.[ch] :Added function to retrive deltainfo and delta
-       * e-gw-item.[ch] : Added a variable sync to EGwItem to know the type 
-       of change to the item while reading the deltas
-
-2005-06-06  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-connection.[ch] (e_gw_connection_delegate_request): Added        
-       a function for sending a delegate request.
-       * e-gw-item.h (add_distribution_to_soap_message): Changed the na
-       me and made it public.
-       * e-gw-item.c (e_gw_item_set_calendar_item_elements),
-       (e_gw_item_append_to_soap_message): Changed the name of the
-               above mentioned function.
-
-2005-05-12  Harish Krishnaswamy  <kharish@novell.com>
-
-       * libegroupwise.pc.in: Remove hardcoded value.
-       Use LIBSOUP from configure instead.
-
-2005-05-12  Ulrich Neumann <uli@myuli.com>
-
-       * e-gw-item.c (get_notification_value): Fix a memory leak.
-
-2005-05-09  Sushma Rai  <rsushma@novell.com>
-
-       * e-gw-item.c (set_common_addressbook_item_fields_from_soap_parameter):
-       Reading and saving modified time parameter value from the server 
-       response.
-
-2005-05-09  Sushma Rai  <rsushma@novell.com>
-
-       * e-gw-item.c (set_contact_fields_from_soap_parameter): Freeing value,
-       postal_address.
-       (e_gw_item_new_from_soap_parameter): Freeing "to", priority.
-
-       * servers/groupwise/e-gw-connection.c 
-       (e_gw_connection_get_quick_messages): Checking for NULL start date.
-
-2005-05-06  Ulrich Neumann <uli@myuli.com>
-
-       * e-gw-sendoptions.c (set_status_tracking_changes):
-       Fixed two memory leaks.
-
-2005-04-26  Parthasarathi Susarla <sparthasarathi@novell.com>
-       * e-gw-item.[ch]: Reverting patch adding itemReference 
-         in the EGwItemAttachment structure.
-
-2005-04-22 Vivek Jain <jvivek@novell.com>
-
-       * e-gw-cotainer.c:      
-       EGwContainerPrivate:
-       changed the type of "modified" to char *        
-       (e_gw_container_finalize) :freeing the members of priv
-       added a function free_node to free each of the node of user_list
-
-2005-04-07  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-connection.c: (e_gw_connection_get_quick_messages):
-        Responds with a list of all item ids if "id" is the view
-        for the filter "All". 
-        This fixes **72302.
-
-2005-04-07  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-item.h: add a new element in the EGwItemAttachment
-         structure for storing the itemRefernce value for an
-         attachment
-       * e-gw-item.c: (e_gw_item_new_from_soap_parameter):
-         check for the itemReference property for an attachment
-
-2005-03-16  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-container.c: (e_gw_container_set_from_soap_parameter):
-       The type of the folder comes in the tag "folderType" and not
-       just "type" anymore.
-
-2005-02-28  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_get_quick_messages):
-       Look for the timestring only in the New getQM responses.
-       The server does not send it during the modified call and
-       hence do not flag an error.
-
-2005-02-28  Sankar P <psankar@novell.com>
-
-       * e-gw-item.c: (add_distribution_to_soap_message):
-       Added code for handling BCC addresses in the recipient list.
-       Fixes #73008
-
-2005-02-25  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_get_quick_messages):
-       * e-gw-connection.h: Changed the function to get the argument
-       startdate as double pointer to give the utc time sent by server
-       back to the callers.
-
-2005-02-25  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-connection.[ch]: (e_gw_connection_read_cursor):
-       Added 'position' field to the readCursor request reflecting
-       the related server fix and the schema change.
-
-2005-02-22  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-item.c (e_gw_item_append_to_soap_message): 
-       Adds a new elememt 'part' in a mail message in compliance
-       with the schema. 
-
-2005-02-17  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-connection.c: 
-       (e_gw_connection_dispose),(e_gw_connection_init): Create
-       and destroy the new hash tables for storing categories.
-       (e_gw_connection_get_settings), (e_gw_connection_get_categories),
-       (e_gw_connection_get_address_book_list): Added mutex locks and stored the
-       category/container list information in cnc private to reduce 
-       the network calls.
-       (e_gw_connection_get_address_book_id): Use the new syntax for the 
-       get_addressbook_list and don free the list.
-       * e-gw-connection.h: Changed the declaration
-
-2005-02-16 Vivek Jain <jvivek@novell.com>
-       
-       * e_gw_item.c : (set_recipient_list_from_soap_parameter)
-                     : (e_gw_item_new_from_soap_parameter)
-       set appropriate status for "deleted" items
-
-2005-02-09  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_new):
-       * e-gw-item.c: (set_sendoptions_from_soap_parameter),
-       (e_gw_item_new_from_soap_parameter): Fixed some memory
-       leaks.
-
-2005-02-08  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-connection.[ch]:
-         Parse loginResponse for serverUTCTime and set it
-         in the priv structure of the connection
-         *** Patch Reviewed by Chenthill Palanisamy <pchenthill@novell.com>
-       
-       * e-gw-item.[ch]:
-         Set the content type for the message
-         
-2005-02-08  Harish Krishnaswamy  <kharish@novell.com>
-
-       * soap-test.c: (main): The previous commit removing 
-       the use of libgnome failed to do a g_thread_init.
-       Added the same.
-
-2005-02-07  Sivaiah Nallagatla    <snallagatla@novell.com>
-                                                                                                                             
-        * e-gw-item.c (set_contact_fields_from_soap_parameter)
-        (e_gw_item_new_from_soap_parameter) : free the value
-        returned by soup_soap_parameter_get_property. Fixes
-        a memory leak
-
-2005-02-07  Ross Burton  <ross@openedhand.com>
-
-       * create-account.c:
-       * soap-test.c:
-       Remove useless libgnome use.
-
-2005-02-07  Harish Krishnaswamy  <kharish@novell.com>
-
-       * doc/gw-soap-methods.xsd:
-       * doc/gw-soap-types.xsd: Updated schema files.
-       
-
-2005-02-04  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-item.c: (set_sendoptions_from_soap_parameter),
-       (append_gw_item_options): Set the whenconvenient flag
-       correctly.
-
-2005-02-04  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-connection.c: 
-        (e_gw_connection_get_container_list): Fix for bug # 72172
-        (e_gw_connection_reply_item): implements reply request
-
-2005-02-03  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-connection.c: (e_gw_connection_get_date_from_string):
-       allocating for the proper length for the datestring
-       * e-gw-item.c: (free_recipient): free the recipient last
-
-2005-02-03  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_position_cursor),
-       (e_gw_connection_read_cursor): Added the container ids.
-
-2005-02-03  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-container.c: Included  the file e-gw-message.h
-       to remove the warning.
-       * e-gw-item.c: (get_notification_value),
-       (set_sendoptions_from_soap_parameter),
-       (e_gw_item_new_from_soap_parameter):Added code to read 
-       the send options from the server for the items recevied.
-       (add_distribution_to_soap_message): Changed the WithinNdays
-       in reply requested to byDate and added a WhenConvenient element.
-       * e-gw-sendoptions.c: (parse_general_options),
-       (set_general_options_changes): Changed the name of the 
-       elements due to change in schemas.
-
-2005-02-03  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       Fix Reviewed by Chenthill Palanisamy <pchenthill@novell.com>
-
-       * e-gw-container.c (e_gw_container_set_from_soap_parameter):
-         Changed the Mailbox's container type from Inbox to Mailbox
-         to coincide with servers changes
-
-2005-02-02  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-connection.c (e_gw_connection_position_cursor),
-       (e_gw_connection_read_cursor): Do not send container id to
-       the request as this is redundant now.
-
-2005-01-31 Vivek Jain <jvivek@novell.com>
-       * e-gw-connection.[ch] : added a function 
-       (e_gw_connection_get_version)
-       * e-gw-connection.c : added version in _EGwConnectionPrivate
-       (e_gw_connection_new): parse response to get server version
-
-2005-01-31  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       * e-gw-item.c: (e_gw_item_set_calendar_item_elements):
-       Add the source to the soap message, if it is set.
-
-2005-01-27  Chenthill Palanisamy  <pchenthill@novell.com>
-
-       partially Fixes#68541
-       * e-gw-connection.c: (reauthenticate),
-       (e_gw_connection_get_error_message), (logout),
-       (e_gw_connection_get_container_list), (e_gw_connection_get_items),
-       (e_gw_connection_get_items_from_ids), (e_gw_connection_get_deltas),
-       (e_gw_connection_send_item), (e_gw_connection_create_item),
-       (e_gw_connection_modify_item), (e_gw_connection_get_item),
-       (e_gw_connection_remove_item), (e_gw_connection_remove_items),
-       (e_gw_connection_accept_request),
-       (e_gw_connection_decline_request),
-       (e_gw_connection_retract_request), (e_gw_connection_create_book),
-       (e_gw_connection_get_address_book_list),
-       (e_gw_connection_modify_settings), (e_gw_connection_get_settings),
-       (e_gw_connection_get_categories), (e_gw_connection_add_members),
-       (e_gw_connection_remove_members), (e_gw_connection_create_cursor),
-       (e_gw_connection_destroy_cursor),
-       (e_gw_connection_position_cursor), (e_gw_connection_read_cursor),
-       (e_gw_connection_get_quick_messages),
-       (e_gw_connection_create_folder), (e_gw_connection_get_attachment),
-       (e_gw_connection_add_item), (e_gw_connection_add_items),
-       (e_gw_connection_rename_folder), (e_gw_connection_move_item),
-       (e_gw_connection_accept_shared_folder),
-       (e_gw_connection_purge_deleted_items), (e_gw_connection_mark_read),
-       (e_gw_connection_mark_unread):
-       * e-gw-connection.h: Added a new STATUS message NO_RESPONSE, and used
-       it in case if the server does not respond.
-
-2005-01-25 Sivaiah Nallagtla  <snallagatla@novell.com>
-
-       * e-gw-connection.c (e_gw_connection_new) : append NULL 
-       to g_strconact args. Doh 
-
-2005-01-20  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * e-gw-container.[ch] (e_gw_container_set_from_soap_parameter):
-         sets the type of the container the in the container private
-         structure.
-       
-2005-01-19  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-gw-message.c (e_gw_message_write_footer):
-       mask the password with 'X' characters while dumping 
-       liginRequest to screen 
-       fixes #70067
-
-2005-01-12  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-item.[ch]
-       (set_recipient_list_from_soap_parameter): support for status
-       tracking of a sent mail
-
-2005-01-12  Chenthill Palanisamy <pchenthill@novell.com>
-
-       * e-gw-connection.c: 
-       (e_gw_connection_modify_settings), (e_gw_connection_get_settings):
-       * e-gw-connection.h: Added a new function for modifyin the settings.
-       * e-gw-sendoptions.c: (parse_status_tracking_options),
-       (parse_general_options), (parse_advanced_settings),
-       (e_gw_sendoptions_store_settings),
-       (e_gw_sendoptions_write_settings), (set_status_tracking_changes),
-       (set_general_options_changes),
-       (e_gw_sendoptions_form_message_to_modify), (e_gw_sendoptions_new):
-       * e-gw-sendoptions.h: Added new functions to form the soap message for
-       modifying the Send options settings.
-
-2005-01-08  Not Zed  <NotZed@Ximian.com>
-
-       * e-gw-item.c (e_gw_item_set_calendar_item_elements): cast strlen to int.
-       (append_event_changes_to_soap_message): same.
-
-2005-01-11  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       * e-gw-item.c
-       (e_gw_item_set_calendar_item_elements):
-       (e_gw_item_append_to_soap_message): Add the attachments
-       element, only when the attachments are present.
-
-2005-01-11  Parthasarathi Susarla <sparthasarathi@novell.com>
-       * e-gw-item.[ch]
-         (e_gw_item_set_source): sets the source element for
-         mails.
-
-2005-01-11  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * e-gw-connection.[ch]
-         (e_gw_connection_mark_read): mark messages read
-         (e_gw_connection_mark_unread): mark messages unread
-
-2005-01-11  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * e-gw-connection.c
-         (e_gw_connection_move_item): changed moveItemsRequest
-         to moveItemRequest.
-
-2005-01-11  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-item.c
-         (e_gw_item_append_to_soap_message): included the
-         "source" and the "container" parameter when creating
-         a mail message
-
-2005-01-10  Harish Krishnaswamy  <kharish@novell.com>
-       * e-gw-item.c
-         (add_attachment_to_soap_message): remove the 
-         duplicate free on size.
-
-2005-01-10  Sivaiah Nallagatla <snallagatla@novell.com>
-                                                                                                                             
-        * e-gw-connection.[ch](e_gw_connection_purge_deleted_items)
-        new api which deletes items from trash
-
-2005-01-10  Parthasarathi Susarla <sparthasarathi@novell.com>
-       
-       * e-gw-item.c
-       (e_gw_item_new_from_soap_parameter): setting item type
-       for Sharefolder Notification.
-
-2005-01-10  Vivek Jain <jvivek@novell.com>
-       
-       * e-gw-connection.[ch]: included a function 
-       (e_gw_connection_accept_shared_folder) :for accepting the
-       shared-folder notification and installing it.
-
-2005-01-10  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-item.c (add_attachment_to_soap_message),
-       (e_gw_item_set_calendar_item_elements):
-       Map the attachment related information between
-       e-gw-item and the soap representation.
-
-2005-01-10  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * e-gw-item.c
-         (add_attachment_to_soap_message): setting the proper 
-         attachment size
-
-2005-01-10  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-gw-connection.h : Add new status code
-       E_GW_CONNECTION_STATUS_REDIRECT
-       * e-gw-connection.c 
-       (form_login_request) :  moved the loginrequest 
-       forming code to here so it can be called whenever 
-       it is needed
-       (e_gw_connection_new) : call form_login_request here.
-       if the status code is E_GW_CONNECTION_STATUS_REDIRECT
-       send the login request to new server
-       (e_gw_connection_move_item) : new api to move/copy mails
-       between folders 
-
-2005-01-09  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * doc/gw-soap-methods.xsd 
-       * doc/gw-soap-types.xsd : latest soap schema files 
-       
-2005-01-06  Parthasarathi Susarla <sparthasarathi@novell.com>
-       * e-gw-item.[ch]: 
-         (e_gw_item_new_from_soap_parameter): new item type for notifcation
-         of shared folder
-       * e-gw-connection.[ch]:
-         (e_gw_connection_add_items),
-         (e_gw_connection_rename_folder): support for renaming of folders
-
-         
-2005-01-06  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       * Makefile.am:
-       * e-gw-sendoptions.[ch]: Adding two new files for send options.
-       * e-gw-connection.c: (e_gw_connection_dispose),
-       (e_gw_connection_init), (e_gw_connection_get_settings):
-       * e-gw-connection.h: Added the send options variable to the
-       structure and added a function to get the send options settings
-       from the server.
-       * e-gw-item.c: (e_gw_item_init), (e_gw_item_set_sendoptions),
-       (add_distribution_to_soap_message),
-       (e_gw_item_set_calendar_item_elements),
-       (e_gw_item_append_to_soap_message):
-       * e-gw-item.h: Added a boolean variable set_sendoptions. Now the 
-       send options will be sent to the server only when this variable is
-       set.
-
-2005-01-06  Parthasarathi Susarla <sparthasarathi@novell.com>
-
-       * e-gw-item.[ch]: support for attachments for soap mailer
-         (free_attach),
-         (e_gw_item_set_attach_id_list),
-         (add_attachment_to_soap_message),
-         (e_gw_item_set_calendar_item_elemets)
-       * e-gw-container.[ch]: retrive the unread and total count from
-         the soap response.
-         (e_gw_container_set_from_soap_parameter),
-         (e_gw_container_get_total_count),
-         (e_gw_container_get_unread_count)
-
-
-2005-01-03  Vivek Jain <jvivek@novell.com>
-
-       * e-gw-connection.[ch] : added a function to share a folder
-       (e_gw_connection_share_folder)
-       
-       *e-gw-container.[ch] : Added One structure for reperenting a user
-       corresponding to a folder (EShUsers),
-       Added functions 
-       (e_gw_container_get_user_list) : gets list of users for a folder
-       (e_gw_container_get_owner): gets owner of the folder
-       (e_gw_container_get_modified) : gets when modified last
-       (e_gw_container_get_sequence) : gets the sequence of the folder
-       (e_gw_container_get_is_shared_by_me)
-       (e_gw_container_get_is_shared_to_me)
-       (e_gw_container_get_rights)
-       (e_gw_container_form_message) : to form the request message
-       and for setting these the following static methods in 
-       * e-gw-container.c 
-       (e_gw_container_set_owner)
-       (e_gw_container_set_modified)
-       (e_gw_container_set_sequence) 
-       (e_gw_container_set_is_shared_by_me)
-       (e_gw_container_set_is_shared_to_me):
-       
-2004-12-15  Chenthill Palanisamy <pchenthill@novell.com>
-
-       * e-gw-item.c:
-               (e_gw_item_dispose), (e_gw_item_init),
-       (e_gw_item_new_from_soap_parameter), (e_gw_item_get_task_priority),
-       (e_gw_item_set_task_priority), (e_gw_item_set_reply_request),
-       (e_gw_item_get_reply_request), (e_gw_item_set_reply_within),
-       (e_gw_item_get_reply_within), (e_gw_item_set_track_info),
-       (e_gw_item_get_track_info), (e_gw_item_set_autodelete),
-       (e_gw_item_get_autodelete), (e_gw_item_set_notify_completed),
-       (e_gw_item_get_notify_completed), (e_gw_item_set_notify_accepted),
-       (e_gw_item_get_notify_accepted), (e_gw_item_set_notify_declined),
-       (e_gw_item_get_notify_declined), (e_gw_item_set_notify_opened),
-       (e_gw_item_get_notify_opened), (e_gw_item_set_notify_deleted),
-       (e_gw_item_get_notify_deleted), (e_gw_item_set_expires),
-       (e_gw_item_get_expires), (e_gw_item_set_delay_until),
-       (e_gw_item_get_delay_until), (add_return_notification),
-       (append_gw_item_options), (add_distribution_to_soap_message),
-       (e_gw_item_set_calendar_item_elements),
-       (e_gw_item_append_to_soap_message),
-       (append_event_changes_to_soap_message):
-       * e-gw-item.h: Added the necessary functions needed for send options.
-
-2004-12-05  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-gw-connection.[ch] : (e_gw_connection_get_item) :
-       Added view argument to the prototype and use it in function
-
-       (e_gw_connection_get_container_list) : added parent
-       argument to the protoype and used that in function
-       (e_gw_connection_get_container_id) : call get_container_list
-       with new prototype 
-
-       (e_gw_connection_get_attachmenent) :
-       (e_gw_connection_create_folder) :
-       (e_gw_connection_add_item) : new methods 
-
-       * e-gw-item.[ch] : (e_gw_item_set_to)
-       (e_gw_item_get_to) 
-       (e_gw_item_get_msg_content_type)
-       (e_gw_item_get_item_status) 
-       (e_gw_item_get_attach_id_list) :  
-       (free_attach) : new methods 
-       (e_gw_item_new_from_soap_parameter) : added reading 
-       mail related fields 
-       (e_gw_item_append_to_soap_message) : added appending mail related fields
-
-       Added new item status types and new item type Mail
-
-       * e-gw-container.[ch] : (e_gw_container_get_parent_id)
-       (e_gw_container_set_parent_id)
-       (e_gw_container_is_root) : new methods 
-       (e_gw_container_set_from_soap_parameter) : read parent id 
-
-2004-11-21  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * doc/gw-soap-methods.xsd 
-       * doc/gw-soap-types.xsd : checked in new schema files
-       which has shared folder notifacaton changes and updateFrequentContacts
-       send option 
-        
-2004-11-18  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-gw-connection.c (e_gw_connection_new) : change 
-       the "UserInfo" element to "userinfo"
-       part of the fix for #69624
-
-       
-2004-10-26  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-gw-message.c (e_gw_message_new_with_header) :
-       add keep-alive http header so that we don't make 
-       a new  connection for each http request
-       
-       
-2004-10-15  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #67031
-       * e-gw-item.[ch] (e_gw_item_set_completed_date), 
-       (e_gw_item_get_completed_date):
-       Added apis to get and set the completion date for tasks.
-       * e-gw-item.c (set_recipient_list_from_soap_parameter):
-       Set the completion date for group tasks.
-       (_EGwItemPrivate): Added a string variable completed_date.
-       (e_gw_item_init): Initialized the variable.
-
-2004-10-13 Sivaiah Nallagatla    <snallagatla@novell.com>
-                                                                                                    
-        * e-gw-connection.c (reauthenitcate) : new function to reautheicate
-        to server when the sessionid we have becomes invalid because of timeouts
-        server restarts etc.
-        (e_gw_connection_parse_response_status) : add the new soap error code
-        and corresponding E_GW_CONNECTION_*  status code.
-        (e_gw_connection_new) : no need to dup th session id got form soap
-        response.
-        (e_gw_connection_init) (e_gw_connection_dispose) : init and free the new
-          mutex added to take care of muliple calls to reauthenicate
-        (e_gw_connection_get_items) (e_gw_connection_get_items_from_ids)
-        (e_gw_connection_send_item) (e_gw_connection_create_item)
-        (e_gw_connection_modify_item) (e_gw_connection_get_item)
-        (e_gw_connection_remove_item) (e_gw_connection_remove_items)
-        (e_gw_connection_accept_request) (e_gw_connection_decline_request)
-        (e_gw_connection_retract_request) (e_gw_connection_complete_request)
-        (e_gw_connection_create_book) (e_gw_connection_get_address_book_list)
-        (e_gw_connection_add_members) (e_gw_connection_remove_members)
-        (e_gw_connection_destroy_cursor) (e_gw_connection_create_cursor)
-        (e_gw_connection_read_cursor) (e_gw_connection_get_categories)
-        (e_gw_connection_get_quick_messages) : if the status is invalid session
-        call reauthenticate
-        part of the fix for #64298
-
-2004-10-12  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-connection.[ch]: (e_gw_connection_get_container_list) : The
-       argument should be "recurse" not "recursive".
-       (e_gw_connection_position_cursor): Add a function to position the cursor
-       at the desired offset.
-       (e_gw_connection_read_cursor): Set the cursor at end and direction set
-       to reverse - so items can be fetched Latest First.
-
-2004-10-10  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-connection.c: (e_gw_connection_new): Add a static
-       mutex in this function to prevent the addressbook, calendar,
-       the alarm-daemon etc. from issuing simulataneous independant 
-       login requests to the server for the same account.
-
-2004-10-07  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #65200
-       * e-gw-connection.c (e_gw_connection_dispose), 
-       (e_gw_connection_finalize):
-       Remove the connection from the hash table in dispose
-       method.
-
-2004-10-07  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Partially Fixes #67031
-       * e-gw-item.c (e_gw_item_new_from_soap_parameter):
-       Get the value of the completed element comparing with 
-       the string "1" instead of "TRUE".
-
-2004-10-04  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #66484
-       * e-gw-connection.[ch] (EGwConnectionStatus):
-       Added a enum variable for the code error User not
-       found error message from the server.
-       * e-gw-connection.c (e_gw_connection_parse_response_status),
-       (e_gw_connection_get_error_message):            
-       Added the code 53505 and used the new enum variable.
-
-2004-10-01  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #62868
-       * e-gw-connection.[ch] (e_gw_connection_parse_response_status):
-       Added the error code and an enum variable for Item already accepted.
-       
-2004-09-23  JP Rosevear  <jpr@novell.com>
-
-       * Makefile.am: build versioned library and don't hard code pkg
-       config name
-
-2004-09-22  Harish Krishnaswamy  <kharish@novell.com>
-
-       Fixes #61865    
-       * e-gw-connection.[ch]: 
-       (e_gw_connection_get_quick_messages): implements
-       sending a getQuickMessagesRequest to the server and
-       parsing the response.
-
-2004-09-08  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       Fixes #64062
-       * e-gw-item[ch]
-       (e_gw_item_set_is_allday_event), (e_gw_item_get_is_allday_event):
-       Added functions to handle the allday events for Appointments.
-       * e-gw-item.c 
-       (e_gw_item_append_to_soap_message),(append_event_changes_to_soap_message)
-       (e_gw_item_new_from_soap_parameter): Added the support for allDay events
-       in appointments.
-
-2004-08-27  Chenthill Palanisamy <pchenthill@novell.com>
-
-       * e-gw-item.h:
-       Defined a string for handling acceptLevel "Free" in appointments
-
-2004-08-24 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-gw-connection.[ch]
-       (e_gw_connection_create_cursor)
-       (e_gw_connection_destroy_cursor)
-       (e_gw_connection_read_cursor) : new functions to read items
-       in chunks using curosrs insted of all at once
-       * e-gw-message.[ch]  (e_gw_message_write_int_parameter) :
-       new function to set int parameter 
-
-2004-08-19  Chenthill Palanisamy <pchenthill@novell.com>
-       
-       Fixes #62065
-       * e-gw-tem.c
-       (e_gw_item_new_from_soap_parameter): Check whether message
-       element has content in it before trying to decode it.
-
-2004-08-19 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * doc/gw-soap-types.xsd 
-       * doc/gw-soap-mehtods.xsd : check in latest 
-       soap schemas 
-
-2004-08-13  Chenthill Palanisamy <pchenthill@novell.com>
-
-       * e-gw-item.h
-       (EGwItemRecipient): added an enum variable to handle BC.
-       * e-gwitem.c
-       (set_recipient_list_from_soap_parameter): used the enum variable
-       for handling BC.
-       
-2004-08-09  Harish Krishnaswamy  <kharish@novell.com>
-
-       Fixes #62415.
-       * e-gw-connection.c: 
-       (e_gw_connection_new): remove unused variable. 
-       (e_gw_connection_get_items), (e_gw_connection_get_items_from_ids),
-       (e_gw_connection_get_deltas), (e_gw_connection_get_item):
-       update  e_gw_item_new_from_soap_parameter calls with new parameter.
-       (e_gw_connection_accept_request): accept_level should be outside the
-       items element. (funny, the server did not catch us doing this).
-       * e-gw-item.[ch]: (set_recipient_list_from_soap_parameter): send item 
-       pointer instead of the list pointer since we need to access the 
-       self-status as well.
-       (e_gw_item_new_from_soap_parameter): add parmater email. set the 
-       self_status of the e_gw_item from the mail properties.
-
-2004-08-02  Chenthill Palanisamy <pchenthill@novell.com>
-
-       Fixes #57127
-       * e-gw-item.c
-       (e_gw_item_new_from_soap_parameter),(e_gw_item_append_to_soap_message), 
-       (append_event_changes_to_soap_message): Made the required changes to 
-        send/receive the category information to/from the soap message.
-
-2004-07-26  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-item.c: (e_gw_item_set_calendar_item_elements):
-       Do not set the icalid on the request while saving recurring calender 
-       events. The icalids for the created objects are obtained subsequently
-       from the server through a getItemsRequest call. 
-
-2004-07-12  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-connection.c: 
-       (e_gw_connection_new) : Fix for #59471 by getting around the server 
-       defect. Substitute the first . by @.
-       (e_gw_connection_get_deltas): Fix for #56853. The server may indicate
-       that there are changes but not provide deltas if they are outside our 
-       interest. This is now considered a valid response.
-       (e_gw_connection_send_item): Handle the change in the SOAP interface.
-       The sendItemResponse now returns a list of ids.
-       (e_gw_connection_accept_request), (e_gw_connection_decline_request),
-       (e_gw_connection_retract_request), (e_gw_connection_complete_request):
-       Implemented.
-
-       * e-gw-connection.h: Declaration for the added functions.
-
-       * e-gw-item.c: 
-       (e_gw_item_new_from_soap_parameter): Add organizer only if the item
-       source is not 'personal'. Use 'priority' instead of Taskpriority for
-       Todos as recommended by the server team.
-       (e_gw_item_set_calendar_item_elements): Organize common properties
-       to Appointments and todo-s into a separate function.
-       (e_gw_item_append_to_soap_message),
-       (append_event_changes_to_soap_message),
-       (e_gw_item_append_changes_to_soap_message): reorder soap elements
-       in the sequence specified by the schema. The server does not enforce this 
-       but doing it right anyway..
-
-
-2004-06-15  Harish Krishnaswamy  <kharish@novell.com>
-
-       Fixes #59352
-       * e-gw-item.c: 
-       (e_gw_item_init), (e_gw_item_dispose),
-       (e_gw_item_new_from_soap_parameter), (e_gw_item_get_organizer),
-       (e_gw_item_set_organizer), (add_distribution_to_soap_message):
-       Convert EGwItemOrganizer to/from the <from> soap element.               
-
-       (e_gw_item_append_to_soap_message): Add the <from> element explicitly 
-       to <distribution> element, in addition to the <recipients> element.
-
-       * e-gw-item.h: Add EGwItemOrganizer structure and get/set functions
-       for the same.
-       
-2004-06-15 Sivaiah Nallagatla   <snallagatla@novell.com>
-
-       * e-gw-item.h : added "name" member ot EGroupMember structure
-       * e-gw-item.c (free_memeber) : free the newly added member also
-        (set_group_fields_from_soap_parameter) : read name also
-       from soap response
-
-2004-06-14  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-item.c: (e_gw_item_dispose), (e_gw_item_init),
-       (set_recipient_list_from_soap_parameter),
-       (e_gw_item_get_recurrence_dates), (e_gw_item_set_recurrence_dates),
-       (e_gw_item_append_to_soap_message):
-       Add support for recurrence in events.
-       (add_distribution_to_soap_message): Make recipient list handling code
-       common to both calendar and task items to support assignment in tasks.
-       * e-gw-item.h: add get/set methods for recurrences, status field to 
-       EGwRecipient.
-
-2004-06-11  Rodrigo Moya <rodrigo@novell.com>
-
-       * doc/gw-soap-methods.xsd:
-       * doc/gw-soap-types.xsd: added new schemas from Tim.
-
-2004-06-01  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-gw-connection.[ch]  (e_gw_connection_remove_items):
-       new function to delete many items on server at onece instead 
-       sending one request for each item, removal pretty fast :)
-
-       
-2004-05-31  Sivaiah Nallagatla <snallagatla@novel.com>
-
-       * e-gw-connection.c (set_group_fields_from_soap_parameter) :
-       separate out group handling from contact code and make a 
-       separate function 
-
-2004-05-28  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-gw-connection.[ch] (e_gw_connection_get_items_from_ids) :
-       new function to retrive items when ids are given instead of filter
-       
-2004-05-25  Sivaiah Nallagatla <snallagatla@novell.com>
-       
-       * e-gw-item.c (free_im_address) : check for NULL
-       before freeing as service can be null in case of 
-       other type of im 
-
-2004-05-25  Harish Krishnaswamy  <kharish@novell.com>
-
-
-       * e-gw-item.c: (append_event_changes_to_soap_message):
-       use accept_level instead of AcceptLevel as the hash key
-       as the SET_DELTA macro is being used to set the changes.
-
-2004-05-25 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-gw-item.c (e_gw_item_append_changes_to_soap_message) : add a case of 
-       organization type also, its handling is same as contact  
-
-2004-05-18  Harish Krishnaswamy  <kharish@novell.com>
-       
-       Fixes #56320 and related timezone issues.
-       All datetime related fields are stored as strings and
-       not as time_t structures.
-       
-       * e-gw-connection.c: (e_gw_connection_format_date_string):
-       Convert the Groupwise datetime string into the format preferred
-       by the ical library.
-       * e-gw-connection.h:
-       * e-gw-item.c: (e_gw_item_init),
-       (e_gw_item_new_from_soap_parameter), (e_gw_item_get_creation_date),
-       (e_gw_item_set_creation_date), (e_gw_item_get_start_date),
-       (e_gw_item_set_start_date), (e_gw_item_get_end_date),
-       (e_gw_item_set_end_date), (e_gw_item_get_due_date),
-       (e_gw_item_set_due_date), (e_gw_item_append_to_soap_message),
-       (append_event_changes_to_soap_message):
-       Replace all time_t related conversions with string<->icaltimetype.
-       * e-gw-item.h: Update arguments and return values on the get/set
-       functions.
-
-2004-05-18  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-gw-item.c (set_contact_fields_from_soap_parameter) : read organization_id
-       also from soap response
-       * e-gw-item.c (append_office_info_to_soap_message) : just append org_name of organization-id
-        is not present
-
-2004-05-17  Rodney Dawes  <dobey@ximian.com>
-
-       * Makefile.am (libegroupwise_la_LIBADD): Add $(E_DATA_SERVER_LIBS)
-       to link all the right dependencies for the mono bindings to work
-       correctly
-
-       Fixes #58615
-
-2004-05-14  Sivaiah Nallagatla  <snallagatla@novell.com>
-       
-       * e-gw-item.c (e_gw_item_new_from_soap_parameter) : set item type to 
-       E_GW_ITEM_TYPE_ORGANISATION when item type attribute is Organization
-       * e-gw-item.c (e_gw_item_append_to_soap_message) : add E_GW_ITEM_TYPE_ORGANISATION
-       case to create organization type items
-
-2004-05-12  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-item.c: (append_event_changes_to_soap_message) :
-       check for added, modified and deleted fields and update
-       the soap message.
-       (e_gw_item_append_changes_to_soap_message):
-       Add handlers for Appointment and Task items
-
-2004-05-10  Sivaiah Nallagatla  <snallagatla@novell.com>
-       
-       * e-gw-container.[ch] (e_gw_container_get_is_frequent_contacts)
-       (e_gw_container_set_is_frequent_contacts) : new apis to get and set
-       whther the container is Frequent Contacts folder 
-       
-       * e-gw-connection.c (e_gw_connection_get_addressbook_list) : read 
-       isFrequentContacts parameter from soap response and set it in container 
-
-2004-05-04  Sivaiah Nallagatla  <snallagatla@novell.com>
-       * e-gw-item.c  (free_full_name) : make it as function as we 
-       have to at more than one place
-       (set_contact_fields_from_soap_parameter) : do not duplicate
-       the string returned form soup_soap_parameter_get_string_value.
-       * e-gw-connection.c (e_gw_connection_get_categories) : ditto    
-
-2004-05-04  Harish Krishnaswamy  <kharish@novell.com>
-
-       * e-gw-item.c: (e_gw_item_init),
-       (set_recipient_list_from_soap_parameter),
-       (e_gw_item_new_from_soap_parameter),
-       (e_gw_item_get_recipient_list), (e_gw_item_set_recipient_list),
-       (e_gw_item_get_trigger), (add_distribution_to_soap_message),
-       (e_gw_item_append_to_soap_message): Patch the FIXMEs in the code 
-       handling recipient_list and message bodies in events.
-       * e-gw-item.h: Added get/set functions for recipient_list.
-
-2004-04-28  Sivaiah Nallagatla   <snallagatla@novell.com>
-
-       * e-gw-connection.[ch]  (e_gw_connection_add_members)
-       (e_gw_connection_remove_members) : new apis to modify a group item 
-       * e-gw-item.[ch] : defined a new struct EGRoupMember to have both id 
-       email of a member. Used the new Struct instead of just id 
-       (free_group_member) : function to free EGroupMember
-
-2004-04-27  Harish Krishnaswamy  <kharish@novell.com>
-
-       Fixes #56535.
-
-       * e-gw-item.c: (e_gw_item_init),
-       (e_gw_item_new_from_soap_parameter), (e_gw_item_get_trigger),
-       (e_gw_item_set_trigger), (e_gw_item_append_to_soap_message):
-       Added support for saving Alarms in the GW server as well as 
-       read the alarm information during retrieval.
-       * e-gw-item.h: Added get/set functions for alarm trigger.
-
-2004-04-23 Sivaiah Nallagatla   <snallagatla@novell.com>
-       
-       * e_gw_item.c ( append_group_fields_to_soap_message) : add id, distType
-       itemType in the request 
-        
-2004-04-15 Sivaiah nallagatla   <snallagatla@novell.com>
-       
-       * e-gw-connection.c (e_gw_connection_get_categories)
-       * e_gw_item.c (set_common_addresbook_item_fields_from_soap_parameter) : strip off
-       the part present after "@" symbol in categories ids 
-
-       
-2004-04-07  Sivaiah Nallagatla  <snallagatla@novell.com>
-
-       * e-gw-connection.c  (e_gw_connection_create_book) :
-       Add type "AddresBook" to item element and remove book element
-       (e_gw_connection_remove_item) : remove the extra end element call
-               
-2004-04-03  Sivaiah Nallagatla  <snallagatla@novell.com>
-
-       * e-gw-filter.[ch] : changed implementation to take care of nested filter 
-       condtions. added new e_gw_filter_group_condtions api 
-
-2004-04-02  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-gw-message.c (e_gw_message_write_string-parameter_with_attribute) :
-       append the passed in attribute name and value to message 
-
-2004-04-01  Sivaiah nallagatla <snallagatla@novell.com>
-                                                                                                                              
-        * e-gw-connection.c (e_gw_connection_remove_item) : remove items and item from
-        the request and add  container id to request
-
-
-2004-04-01  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-item.c (e_gw_item_append_to_soap_message): s/iCalID/iCalId.
-       Use the correct "length" attribute value.
-       
-2004-03-27  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e_gw_connection.[ch]:  added new api e_gw_connection_get_categories
-       to read categories of an item 
-       * e_gw_item.[ch] : added the folloiwng apis
-       e_gw_item_get_categories, e_gw_item_set_categories
-       e_gw_item_set_category_name, e_gw_item_get_category_name
-       Also added the logic to get/set categories from/to soap message 
-       respectively
-
-2004-03-27  Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * e-gw-container.c  (e_gw_container_is-writable) : return
-        correct types in g_return_val_if_fail macros.
-
-2004-03-26  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-item.c (e_gw_item_append_to_soap_message): set the <container>
-       property if it's set.
-
-2004-03-22  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-connection.[ch] (e_gw_connection_send_item): added 'char **id'
-       parameter to pass the server-generated ID to the caller. Get the ID from
-       the sendItemResponse message.
-
-2004-03-19  JP Rosevear <jpr@ximian.com>
-
-       * e-gw-connection.c: include gnome-i18n.h
-
-2004-03-19  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-connection.[ch] (e_gw_connection_get_error_message): new function.
-
-2004-03-19  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-connection.c (e_gw_connection_remove_item): fixed SOAP message
-       format for not confusing the server.
-
-2004-03-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-item.c (e_gw_item_append_to_soap_message): add "length" attribute
-       for "message" property.
-
-2004-03-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-message.[ch] (e_gw_message_write_base64_parameter): new function.
-
-       * e-gw-item.[ch] (e_gw_item_append_to_soap_message): send "message"
-       property as base64.
-       (e_gw_item_new_from_soap_parameter): retrieve the "iCalId" property.
-       (e_gw_item_dispose): free the icalid property.
-       (e_gw_item_get_icalid, e_gw_item_set_icalid): new functions.
-       (e_gw_item_append_to_soap_message): add "iCalId" property for events and
-       tasks. Add only the ID property if it's not empty.
-
-2004-03-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-message.[ch]
-       (e_gw_message_write_string_parameter_with_attribute): use const
-       for attribute-related arguments.
-
-2004-03-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-connection.c (e_gw_connection_send_message): parse the
-       response on all error codes.
-
-       * e-gw-message.c (e_gw_message_new_with_header): fixed typo.
-
-       * create-account.c: updated to create the sources properly.
-
-2004-03-17  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-message.c: use an environment variable for debugging.
-       (e_gw_message_new_with_header): setup debugging for message if
-       GROUPWISE_DEBUG environment variable is defined.
-       (e_gw_message_write_footer): ditto.
-
-       * Makefile.am: remove DEBUG_CFLAGS.
-
-2004-03-14  Harish K <kharish@novell.com>
-
-       * e-gw-connection.[ch] : Make view element an argument to the 
-       get_items call so the addressbook component can use it as well.
-       
-2004-03-11  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-connection.c (e_gw_connection_get_address_book_id): return
-       correct types in g_return_val_if_fail macros.
-
-2004-03-05 Harish K <kharish@novell.com>
-
-       * e-gw-connection.c : (timet_from_string):
-       1900 should be subtracted from the year value and 1 from the 
-       month value in struct tm. Added include for ctype.h to remove
-       compiler warning.       
-
-2004-03-02 Sivaiah Nallagatla <snallagatla@novell.com>
-
-       * doc/gw-soap-types.xml :
-       * doc/gw-soap-methods.xml : checked in latest  version of these files 
-
-2004-02-13  JP Rosevear <jpr@ximian.com>
-
-       * Makefile.am: additional includes for builddir != srcdir
-
-2004-02-18  Rodrigo Moya <rodrigo@ximian.com>
-
-       * soap-test.c: added code to get the containers list and display all
-       info for each container.
-
-       * e-gw-item.c (e_gw_item_new_from_soap_parameter): free the value
-       returned by soup_soap_parameter_get_property.
-
-2004-02-06  Rodrigo Moya <rodrigo@ximian.com>
-
-       * Makefile.am:
-       * e-gw-connection.c: removed calendar specific code.
-       (e_gw_connection_get_date_from_string): use time_t's instead of
-       icaltimetype's.
-       (start_freebusy_session, close_freebusy_session,
-       e_gw_connection_get_freebusy_info): moved to the calendar backend.
-       (e_gw_connection_get_uri, e_gw_connection_get_session_id): new
-       functions.
-       (e_gw_parse_response_status): made public.
-
-       * e-gw-item.[ch]
-       (e_gw_item_get_creation_date, e_gw_set_creation_date,
-       e_gw_item_get_start_date, e_gw_item_set_start_date,
-       e_gw_item_get_end_date, e_gw_item_set_end_date,
-       e_gw_item_get_due_date, e_gw_item_set_due_date):
-       use time_t's not icaltimetype's.
-       (e_gw_item_append_to_soap_message): use the time_t's.
-       (e_gw_item_get_classification, e_gw_item_set_classification):
-       don't use ECalComponentClassification, but a string, which is what
-       the server returns.
-       (e_gw_item_dispose): free the classification, which is now a string.
-       (set_recipìent_list_from_soap_parameter): renamed from set_attendee_...
-       to not be calendar-specific.
-       (e_gw_item_new_from_soap_parameter): s/attendee/recipient.
-
-2004-02-06  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-item.[ch] (e_gw_item_new_from_cal_component,
-       e_gw_item_to_cal_component): removed all calendar-specific code.
-       (e_gw_item_get_item_type, e_gw_item_set_item_type,
-       e_gw_item_get_container_id, e_gw_item_set_container_id): new functions.
-       (e_gw_item_new_empty): new function to create empty EGwItem's.
-
-       * e-gw-connection.[ch] (e_gw_connection_send_appointment): removed
-       calendar-specific code.
-
-2004-02-06  Rodrigo Moya <rodrigo@ximian.com>
-
-       * Makefile.am: re-enabled create-account test program, it does not need
-       the calendar libraries.
-
-2004-02-06  Rodrigo Moya <rodrigo@ximian.com>
-
-       * e-gw-container.h: fixed typo in function name.
-
-       * e-gw-item.c (e_gw_item_to_cal_component): return NULL if the item
-       type is not supported.
-
-       * Makefile.am: disable test programs until we remove all calendar
-       dependencies.
-
-2004-02-06  Rodrigo Moya <rodrigo@ximian.com>
-
-       Moved Groupwise API library to its own directory, for easy reuse in
-       both calendar and addressbook backends.